pyric-tools 0.1.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +125 -0
- package/dist/auth/domains/handler.d.ts +6 -0
- package/dist/auth/domains/handler.d.ts.map +1 -0
- package/dist/auth/domains/handler.js +75 -0
- package/dist/auth/domains/handler.js.map +1 -0
- package/dist/auth/domains/spec.d.ts +25 -0
- package/dist/auth/domains/spec.d.ts.map +1 -0
- package/dist/auth/domains/spec.js +6 -0
- package/dist/auth/domains/spec.js.map +1 -0
- package/dist/auth/index.d.ts +34 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +30 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/mapper.d.ts +5 -0
- package/dist/auth/mapper.d.ts.map +1 -0
- package/dist/auth/mapper.js +49 -0
- package/dist/auth/mapper.js.map +1 -0
- package/dist/auth/provider/handler.d.ts +9 -0
- package/dist/auth/provider/handler.d.ts.map +1 -0
- package/dist/auth/provider/handler.js +128 -0
- package/dist/auth/provider/handler.js.map +1 -0
- package/dist/auth/provider/spec.d.ts +29 -0
- package/dist/auth/provider/spec.d.ts.map +1 -0
- package/dist/auth/provider/spec.js +12 -0
- package/dist/auth/provider/spec.js.map +1 -0
- package/dist/auth/resolver.d.ts +16 -0
- package/dist/auth/resolver.d.ts.map +1 -0
- package/dist/auth/resolver.js +32 -0
- package/dist/auth/resolver.js.map +1 -0
- package/dist/auth/tools.d.ts +23 -0
- package/dist/auth/tools.d.ts.map +1 -0
- package/dist/auth/tools.js +71 -0
- package/dist/auth/tools.js.map +1 -0
- package/dist/auth/types.d.ts +37 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +17 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/bridge/client/bridge.d.ts +133 -0
- package/dist/bridge/client/bridge.d.ts.map +1 -0
- package/dist/bridge/client/bridge.js +430 -0
- package/dist/bridge/client/bridge.js.map +1 -0
- package/dist/bridge/client/dispatch.d.ts +49 -0
- package/dist/bridge/client/dispatch.d.ts.map +1 -0
- package/dist/bridge/client/dispatch.js +103 -0
- package/dist/bridge/client/dispatch.js.map +1 -0
- package/dist/bridge/client.d.ts +24 -0
- package/dist/bridge/client.d.ts.map +1 -0
- package/dist/bridge/client.js +26 -0
- package/dist/bridge/client.js.map +1 -0
- package/dist/bridge/protocol.d.ts +228 -0
- package/dist/bridge/protocol.d.ts.map +1 -0
- package/dist/bridge/protocol.js +131 -0
- package/dist/bridge/protocol.js.map +1 -0
- package/dist/bridge/server/audit.d.ts +19 -0
- package/dist/bridge/server/audit.d.ts.map +1 -0
- package/dist/bridge/server/audit.js +46 -0
- package/dist/bridge/server/audit.js.map +1 -0
- package/dist/bridge/server/bridge.d.ts +165 -0
- package/dist/bridge/server/bridge.d.ts.map +1 -0
- package/dist/bridge/server/bridge.js +410 -0
- package/dist/bridge/server/bridge.js.map +1 -0
- package/dist/bridge/server/confirm-policy.d.ts +56 -0
- package/dist/bridge/server/confirm-policy.d.ts.map +1 -0
- package/dist/bridge/server/confirm-policy.js +107 -0
- package/dist/bridge/server/confirm-policy.js.map +1 -0
- package/dist/bridge/server/confirm-prompt.d.ts +73 -0
- package/dist/bridge/server/confirm-prompt.d.ts.map +1 -0
- package/dist/bridge/server/confirm-prompt.js +199 -0
- package/dist/bridge/server/confirm-prompt.js.map +1 -0
- package/dist/bridge/server/confirm.d.ts +92 -0
- package/dist/bridge/server/confirm.d.ts.map +1 -0
- package/dist/bridge/server/confirm.js +210 -0
- package/dist/bridge/server/confirm.js.map +1 -0
- package/dist/bridge/server/headless.d.ts +36 -0
- package/dist/bridge/server/headless.d.ts.map +1 -0
- package/dist/bridge/server/headless.js +132 -0
- package/dist/bridge/server/headless.js.map +1 -0
- package/dist/bridge/server/json-schema-to-zod.d.ts +37 -0
- package/dist/bridge/server/json-schema-to-zod.d.ts.map +1 -0
- package/dist/bridge/server/json-schema-to-zod.js +93 -0
- package/dist/bridge/server/json-schema-to-zod.js.map +1 -0
- package/dist/bridge/server/local-bridge.d.ts +33 -0
- package/dist/bridge/server/local-bridge.d.ts.map +1 -0
- package/dist/bridge/server/local-bridge.js +42 -0
- package/dist/bridge/server/local-bridge.js.map +1 -0
- package/dist/bridge/server/logger.d.ts +28 -0
- package/dist/bridge/server/logger.d.ts.map +1 -0
- package/dist/bridge/server/logger.js +42 -0
- package/dist/bridge/server/logger.js.map +1 -0
- package/dist/bridge/server/mcp.d.ts +33 -0
- package/dist/bridge/server/mcp.d.ts.map +1 -0
- package/dist/bridge/server/mcp.js +159 -0
- package/dist/bridge/server/mcp.js.map +1 -0
- package/dist/bridge/server/peer.d.ts +39 -0
- package/dist/bridge/server/peer.d.ts.map +1 -0
- package/dist/bridge/server/peer.js +189 -0
- package/dist/bridge/server/peer.js.map +1 -0
- package/dist/bridge/server/standalone.d.ts +102 -0
- package/dist/bridge/server/standalone.d.ts.map +1 -0
- package/dist/bridge/server/standalone.js +352 -0
- package/dist/bridge/server/standalone.js.map +1 -0
- package/dist/bridge/server/tool-metadata.d.ts +38 -0
- package/dist/bridge/server/tool-metadata.d.ts.map +1 -0
- package/dist/bridge/server/tool-metadata.js +79 -0
- package/dist/bridge/server/tool-metadata.js.map +1 -0
- package/dist/bridge/server.d.ts +25 -0
- package/dist/bridge/server.d.ts.map +1 -0
- package/dist/bridge/server.js +23 -0
- package/dist/bridge/server.js.map +1 -0
- package/dist/cli/auth.d.ts +37 -0
- package/dist/cli/auth.d.ts.map +1 -0
- package/dist/cli/auth.js +119 -0
- package/dist/cli/auth.js.map +1 -0
- package/dist/cli/database-rules.d.ts +25 -0
- package/dist/cli/database-rules.d.ts.map +1 -0
- package/dist/cli/database-rules.js +215 -0
- package/dist/cli/database-rules.js.map +1 -0
- package/dist/cli/deploy-progress.d.ts +35 -0
- package/dist/cli/deploy-progress.d.ts.map +1 -0
- package/dist/cli/deploy-progress.js +69 -0
- package/dist/cli/deploy-progress.js.map +1 -0
- package/dist/cli/deploy.d.ts +81 -0
- package/dist/cli/deploy.d.ts.map +1 -0
- package/dist/cli/deploy.js +413 -0
- package/dist/cli/deploy.js.map +1 -0
- package/dist/cli/dev-runner.d.ts +112 -0
- package/dist/cli/dev-runner.d.ts.map +1 -0
- package/dist/cli/dev-runner.js +227 -0
- package/dist/cli/dev-runner.js.map +1 -0
- package/dist/cli/discover.d.ts +47 -0
- package/dist/cli/discover.d.ts.map +1 -0
- package/dist/cli/discover.js +77 -0
- package/dist/cli/discover.js.map +1 -0
- package/dist/cli/firebase-json.d.ts +66 -0
- package/dist/cli/firebase-json.d.ts.map +1 -0
- package/dist/cli/firebase-json.js +60 -0
- package/dist/cli/firebase-json.js.map +1 -0
- package/dist/cli/index.d.ts +55 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +500 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init-templates.d.ts +37 -0
- package/dist/cli/init-templates.d.ts.map +1 -0
- package/dist/cli/init-templates.js +638 -0
- package/dist/cli/init-templates.js.map +1 -0
- package/dist/cli/init.d.ts +124 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +423 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/login.d.ts +18 -0
- package/dist/cli/login.d.ts.map +1 -0
- package/dist/cli/login.js +59 -0
- package/dist/cli/login.js.map +1 -0
- package/dist/cli/mcp-proxy.d.ts +10 -0
- package/dist/cli/mcp-proxy.d.ts.map +1 -0
- package/dist/cli/mcp-proxy.js +126 -0
- package/dist/cli/mcp-proxy.js.map +1 -0
- package/dist/cli/parse-args.d.ts +20 -0
- package/dist/cli/parse-args.d.ts.map +1 -0
- package/dist/cli/parse-args.js +69 -0
- package/dist/cli/parse-args.js.map +1 -0
- package/dist/cli/rules.d.ts +40 -0
- package/dist/cli/rules.d.ts.map +1 -0
- package/dist/cli/rules.js +162 -0
- package/dist/cli/rules.js.map +1 -0
- package/dist/cli/scope.d.ts +38 -0
- package/dist/cli/scope.d.ts.map +1 -0
- package/dist/cli/scope.js +63 -0
- package/dist/cli/scope.js.map +1 -0
- package/dist/cli/serve.d.ts +122 -0
- package/dist/cli/serve.d.ts.map +1 -0
- package/dist/cli/serve.js +685 -0
- package/dist/cli/serve.js.map +1 -0
- package/dist/cli/snapshot.d.ts +22 -0
- package/dist/cli/snapshot.d.ts.map +1 -0
- package/dist/cli/snapshot.js +139 -0
- package/dist/cli/snapshot.js.map +1 -0
- package/dist/cli/verify.d.ts +23 -0
- package/dist/cli/verify.d.ts.map +1 -0
- package/dist/cli/verify.js +349 -0
- package/dist/cli/verify.js.map +1 -0
- package/dist/credentials/core/authorize.d.ts +22 -0
- package/dist/credentials/core/authorize.d.ts.map +1 -0
- package/dist/credentials/core/authorize.js +39 -0
- package/dist/credentials/core/authorize.js.map +1 -0
- package/dist/credentials/core/client.d.ts +14 -0
- package/dist/credentials/core/client.d.ts.map +1 -0
- package/dist/credentials/core/client.js +13 -0
- package/dist/credentials/core/client.js.map +1 -0
- package/dist/credentials/core/exchange.d.ts +24 -0
- package/dist/credentials/core/exchange.d.ts.map +1 -0
- package/dist/credentials/core/exchange.js +46 -0
- package/dist/credentials/core/exchange.js.map +1 -0
- package/dist/credentials/core/flow.d.ts +15 -0
- package/dist/credentials/core/flow.d.ts.map +1 -0
- package/dist/credentials/core/flow.js +40 -0
- package/dist/credentials/core/flow.js.map +1 -0
- package/dist/credentials/core/from-user-credential.d.ts +3 -0
- package/dist/credentials/core/from-user-credential.d.ts.map +1 -0
- package/dist/credentials/core/from-user-credential.js +19 -0
- package/dist/credentials/core/from-user-credential.js.map +1 -0
- package/dist/credentials/core/scopes.d.ts +26 -0
- package/dist/credentials/core/scopes.d.ts.map +1 -0
- package/dist/credentials/core/scopes.js +32 -0
- package/dist/credentials/core/scopes.js.map +1 -0
- package/dist/credentials/core/types.d.ts +72 -0
- package/dist/credentials/core/types.d.ts.map +1 -0
- package/dist/credentials/core/types.js +2 -0
- package/dist/credentials/core/types.js.map +1 -0
- package/dist/credentials/index.d.ts +14 -0
- package/dist/credentials/index.d.ts.map +1 -0
- package/dist/credentials/index.js +13 -0
- package/dist/credentials/index.js.map +1 -0
- package/dist/credentials/node/ensure-scope.d.ts +29 -0
- package/dist/credentials/node/ensure-scope.d.ts.map +1 -0
- package/dist/credentials/node/ensure-scope.js +42 -0
- package/dist/credentials/node/ensure-scope.js.map +1 -0
- package/dist/credentials/node/file-store.d.ts +4 -0
- package/dist/credentials/node/file-store.d.ts.map +1 -0
- package/dist/credentials/node/file-store.js +52 -0
- package/dist/credentials/node/file-store.js.map +1 -0
- package/dist/credentials/node/from-adc.d.ts +10 -0
- package/dist/credentials/node/from-adc.d.ts.map +1 -0
- package/dist/credentials/node/from-adc.js +60 -0
- package/dist/credentials/node/from-adc.js.map +1 -0
- package/dist/credentials/node/index.d.ts +10 -0
- package/dist/credentials/node/index.d.ts.map +1 -0
- package/dist/credentials/node/index.js +10 -0
- package/dist/credentials/node/index.js.map +1 -0
- package/dist/credentials/node/loopback-authorizer.d.ts +12 -0
- package/dist/credentials/node/loopback-authorizer.d.ts.map +1 -0
- package/dist/credentials/node/loopback-authorizer.js +61 -0
- package/dist/credentials/node/loopback-authorizer.js.map +1 -0
- package/dist/credentials/node/resolve-local-token.d.ts +20 -0
- package/dist/credentials/node/resolve-local-token.d.ts.map +1 -0
- package/dist/credentials/node/resolve-local-token.js +97 -0
- package/dist/credentials/node/resolve-local-token.js.map +1 -0
- package/dist/credentials/server/bff.d.ts +44 -0
- package/dist/credentials/server/bff.d.ts.map +1 -0
- package/dist/credentials/server/bff.js +43 -0
- package/dist/credentials/server/bff.js.map +1 -0
- package/dist/deploy/api-enablement.d.ts +45 -0
- package/dist/deploy/api-enablement.d.ts.map +1 -0
- package/dist/deploy/api-enablement.js +125 -0
- package/dist/deploy/api-enablement.js.map +1 -0
- package/dist/deploy/firestore/databases.d.ts +41 -0
- package/dist/deploy/firestore/databases.d.ts.map +1 -0
- package/dist/deploy/firestore/databases.js +63 -0
- package/dist/deploy/firestore/databases.js.map +1 -0
- package/dist/deploy/firestore/indexes.d.ts +120 -0
- package/dist/deploy/firestore/indexes.d.ts.map +1 -0
- package/dist/deploy/firestore/indexes.js +243 -0
- package/dist/deploy/firestore/indexes.js.map +1 -0
- package/dist/deploy/firestore/recipes.d.ts +21 -0
- package/dist/deploy/firestore/recipes.d.ts.map +1 -0
- package/dist/deploy/firestore/recipes.js +34 -0
- package/dist/deploy/firestore/recipes.js.map +1 -0
- package/dist/deploy/firestore/rules.d.ts +76 -0
- package/dist/deploy/firestore/rules.d.ts.map +1 -0
- package/dist/deploy/firestore/rules.js +180 -0
- package/dist/deploy/firestore/rules.js.map +1 -0
- package/dist/deploy/from-admin-app.d.ts +20 -0
- package/dist/deploy/from-admin-app.d.ts.map +1 -0
- package/dist/deploy/from-admin-app.js +18 -0
- package/dist/deploy/from-admin-app.js.map +1 -0
- package/dist/deploy/from-service-account.d.ts +29 -0
- package/dist/deploy/from-service-account.d.ts.map +1 -0
- package/dist/deploy/from-service-account.js +115 -0
- package/dist/deploy/from-service-account.js.map +1 -0
- package/dist/deploy/functions/bundle.d.ts +37 -0
- package/dist/deploy/functions/bundle.d.ts.map +1 -0
- package/dist/deploy/functions/bundle.js +181 -0
- package/dist/deploy/functions/bundle.js.map +1 -0
- package/dist/deploy/functions/core.d.ts +18 -0
- package/dist/deploy/functions/core.d.ts.map +1 -0
- package/dist/deploy/functions/core.js +211 -0
- package/dist/deploy/functions/core.js.map +1 -0
- package/dist/deploy/functions/iam.d.ts +17 -0
- package/dist/deploy/functions/iam.d.ts.map +1 -0
- package/dist/deploy/functions/iam.js +40 -0
- package/dist/deploy/functions/iam.js.map +1 -0
- package/dist/deploy/functions/operation.d.ts +39 -0
- package/dist/deploy/functions/operation.d.ts.map +1 -0
- package/dist/deploy/functions/operation.js +37 -0
- package/dist/deploy/functions/operation.js.map +1 -0
- package/dist/deploy/functions/spec.d.ts +69 -0
- package/dist/deploy/functions/spec.d.ts.map +1 -0
- package/dist/deploy/functions/spec.js +7 -0
- package/dist/deploy/functions/spec.js.map +1 -0
- package/dist/deploy/functions/types.d.ts +50 -0
- package/dist/deploy/functions/types.d.ts.map +1 -0
- package/dist/deploy/functions/types.js +3 -0
- package/dist/deploy/functions/types.js.map +1 -0
- package/dist/deploy/hosting/channels.d.ts +93 -0
- package/dist/deploy/hosting/channels.d.ts.map +1 -0
- package/dist/deploy/hosting/channels.js +134 -0
- package/dist/deploy/hosting/channels.js.map +1 -0
- package/dist/deploy/hosting/config.d.ts +28 -0
- package/dist/deploy/hosting/config.d.ts.map +1 -0
- package/dist/deploy/hosting/config.js +261 -0
- package/dist/deploy/hosting/config.js.map +1 -0
- package/dist/deploy/hosting/core.d.ts +38 -0
- package/dist/deploy/hosting/core.d.ts.map +1 -0
- package/dist/deploy/hosting/core.js +311 -0
- package/dist/deploy/hosting/core.js.map +1 -0
- package/dist/deploy/hosting/gzip.d.ts +11 -0
- package/dist/deploy/hosting/gzip.d.ts.map +1 -0
- package/dist/deploy/hosting/gzip.js +20 -0
- package/dist/deploy/hosting/gzip.js.map +1 -0
- package/dist/deploy/hosting/hash.d.ts +6 -0
- package/dist/deploy/hosting/hash.d.ts.map +1 -0
- package/dist/deploy/hosting/hash.js +17 -0
- package/dist/deploy/hosting/hash.js.map +1 -0
- package/dist/deploy/hosting/sites.d.ts +77 -0
- package/dist/deploy/hosting/sites.d.ts.map +1 -0
- package/dist/deploy/hosting/sites.js +73 -0
- package/dist/deploy/hosting/sites.js.map +1 -0
- package/dist/deploy/hosting/spec.d.ts +140 -0
- package/dist/deploy/hosting/spec.d.ts.map +1 -0
- package/dist/deploy/hosting/spec.js +8 -0
- package/dist/deploy/hosting/spec.js.map +1 -0
- package/dist/deploy/hosting/types.d.ts +71 -0
- package/dist/deploy/hosting/types.d.ts.map +1 -0
- package/dist/deploy/hosting/types.js +3 -0
- package/dist/deploy/hosting/types.js.map +1 -0
- package/dist/deploy/hosting/walk.d.ts +31 -0
- package/dist/deploy/hosting/walk.d.ts.map +1 -0
- package/dist/deploy/hosting/walk.js +167 -0
- package/dist/deploy/hosting/walk.js.map +1 -0
- package/dist/deploy/index.d.ts +51 -0
- package/dist/deploy/index.d.ts.map +1 -0
- package/dist/deploy/index.js +50 -0
- package/dist/deploy/index.js.map +1 -0
- package/dist/deploy/memoize-ttl.d.ts +58 -0
- package/dist/deploy/memoize-ttl.d.ts.map +1 -0
- package/dist/deploy/memoize-ttl.js +88 -0
- package/dist/deploy/memoize-ttl.js.map +1 -0
- package/dist/deploy/namespaces.d.ts +119 -0
- package/dist/deploy/namespaces.d.ts.map +1 -0
- package/dist/deploy/namespaces.js +192 -0
- package/dist/deploy/namespaces.js.map +1 -0
- package/dist/deploy/preflight.d.ts +119 -0
- package/dist/deploy/preflight.d.ts.map +1 -0
- package/dist/deploy/preflight.js +440 -0
- package/dist/deploy/preflight.js.map +1 -0
- package/dist/deploy/provider.d.ts +130 -0
- package/dist/deploy/provider.d.ts.map +1 -0
- package/dist/deploy/provider.js +21 -0
- package/dist/deploy/provider.js.map +1 -0
- package/dist/deploy/providers/database.d.ts +8 -0
- package/dist/deploy/providers/database.d.ts.map +1 -0
- package/dist/deploy/providers/database.js +37 -0
- package/dist/deploy/providers/database.js.map +1 -0
- package/dist/deploy/providers/firestore.d.ts +11 -0
- package/dist/deploy/providers/firestore.d.ts.map +1 -0
- package/dist/deploy/providers/firestore.js +43 -0
- package/dist/deploy/providers/firestore.js.map +1 -0
- package/dist/deploy/providers/functions.d.ts +9 -0
- package/dist/deploy/providers/functions.d.ts.map +1 -0
- package/dist/deploy/providers/functions.js +49 -0
- package/dist/deploy/providers/functions.js.map +1 -0
- package/dist/deploy/providers/hosting.d.ts +13 -0
- package/dist/deploy/providers/hosting.d.ts.map +1 -0
- package/dist/deploy/providers/hosting.js +149 -0
- package/dist/deploy/providers/hosting.js.map +1 -0
- package/dist/deploy/providers/storage.d.ts +9 -0
- package/dist/deploy/providers/storage.d.ts.map +1 -0
- package/dist/deploy/providers/storage.js +46 -0
- package/dist/deploy/providers/storage.js.map +1 -0
- package/dist/deploy/registry.d.ts +17 -0
- package/dist/deploy/registry.d.ts.map +1 -0
- package/dist/deploy/registry.js +15 -0
- package/dist/deploy/registry.js.map +1 -0
- package/dist/deploy/rtdb/rules.d.ts +21 -0
- package/dist/deploy/rtdb/rules.d.ts.map +1 -0
- package/dist/deploy/rtdb/rules.js +104 -0
- package/dist/deploy/rtdb/rules.js.map +1 -0
- package/dist/deploy/scope.d.ts +81 -0
- package/dist/deploy/scope.d.ts.map +1 -0
- package/dist/deploy/scope.js +44 -0
- package/dist/deploy/scope.js.map +1 -0
- package/dist/deploy/tools.d.ts +55 -0
- package/dist/deploy/tools.d.ts.map +1 -0
- package/dist/deploy/tools.js +329 -0
- package/dist/deploy/tools.js.map +1 -0
- package/dist/deploy/with-resolved-scope.d.ts +31 -0
- package/dist/deploy/with-resolved-scope.d.ts.map +1 -0
- package/dist/deploy/with-resolved-scope.js +73 -0
- package/dist/deploy/with-resolved-scope.js.map +1 -0
- package/dist/discover/concurrency.d.ts +42 -0
- package/dist/discover/concurrency.d.ts.map +1 -0
- package/dist/discover/concurrency.js +113 -0
- package/dist/discover/concurrency.js.map +1 -0
- package/dist/discover/crawler-adapter.d.ts +49 -0
- package/dist/discover/crawler-adapter.d.ts.map +1 -0
- package/dist/discover/crawler-adapter.js +92 -0
- package/dist/discover/crawler-adapter.js.map +1 -0
- package/dist/discover/crawler.d.ts +333 -0
- package/dist/discover/crawler.d.ts.map +1 -0
- package/dist/discover/crawler.js +764 -0
- package/dist/discover/crawler.js.map +1 -0
- package/dist/discover/findCollectionGroup.d.ts +80 -0
- package/dist/discover/findCollectionGroup.d.ts.map +1 -0
- package/dist/discover/findCollectionGroup.js +81 -0
- package/dist/discover/findCollectionGroup.js.map +1 -0
- package/dist/discover/index.d.ts +15 -0
- package/dist/discover/index.d.ts.map +1 -0
- package/dist/discover/index.js +24 -0
- package/dist/discover/index.js.map +1 -0
- package/dist/discover/merge.d.ts +108 -0
- package/dist/discover/merge.d.ts.map +1 -0
- package/dist/discover/merge.js +394 -0
- package/dist/discover/merge.js.map +1 -0
- package/dist/discover/rest-crawler-firestore.d.ts +51 -0
- package/dist/discover/rest-crawler-firestore.d.ts.map +1 -0
- package/dist/discover/rest-crawler-firestore.js +154 -0
- package/dist/discover/rest-crawler-firestore.js.map +1 -0
- package/dist/discover/session.d.ts +116 -0
- package/dist/discover/session.d.ts.map +1 -0
- package/dist/discover/session.js +331 -0
- package/dist/discover/session.js.map +1 -0
- package/dist/discover/tools.d.ts +59 -0
- package/dist/discover/tools.d.ts.map +1 -0
- package/dist/discover/tools.js +115 -0
- package/dist/discover/tools.js.map +1 -0
- package/dist/discover/types.d.ts +191 -0
- package/dist/discover/types.d.ts.map +1 -0
- package/dist/discover/types.js +12 -0
- package/dist/discover/types.js.map +1 -0
- package/dist/discover/wire.d.ts +81 -0
- package/dist/discover/wire.d.ts.map +1 -0
- package/dist/discover/wire.js +308 -0
- package/dist/discover/wire.js.map +1 -0
- package/dist/pkg-version.d.ts +2 -0
- package/dist/pkg-version.d.ts.map +1 -0
- package/dist/pkg-version.js +47 -0
- package/dist/pkg-version.js.map +1 -0
- package/dist/register/esm-exports.d.ts +26 -0
- package/dist/register/esm-exports.d.ts.map +1 -0
- package/dist/register/esm-exports.js +61 -0
- package/dist/register/esm-exports.js.map +1 -0
- package/dist/register/exempt.d.ts +11 -0
- package/dist/register/exempt.d.ts.map +1 -0
- package/dist/register/exempt.js +74 -0
- package/dist/register/exempt.js.map +1 -0
- package/dist/register/hooks.d.ts +13 -0
- package/dist/register/hooks.d.ts.map +1 -0
- package/dist/register/hooks.js +15 -0
- package/dist/register/hooks.js.map +1 -0
- package/dist/register/index.d.ts +5 -0
- package/dist/register/index.d.ts.map +1 -0
- package/dist/register/index.js +126 -0
- package/dist/register/index.js.map +1 -0
- package/dist/register/mapping.d.ts +17 -0
- package/dist/register/mapping.d.ts.map +1 -0
- package/dist/register/mapping.js +31 -0
- package/dist/register/mapping.js.map +1 -0
- package/dist/registry/admin-deps.d.ts +17 -0
- package/dist/registry/admin-deps.d.ts.map +1 -0
- package/dist/registry/admin-deps.js +68 -0
- package/dist/registry/admin-deps.js.map +1 -0
- package/dist/registry/compose.d.ts +68 -0
- package/dist/registry/compose.d.ts.map +1 -0
- package/dist/registry/compose.js +113 -0
- package/dist/registry/compose.js.map +1 -0
- package/dist/registry/index.d.ts +11 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +11 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/remote/index.d.ts +232 -0
- package/dist/remote/index.d.ts.map +1 -0
- package/dist/remote/index.js +719 -0
- package/dist/remote/index.js.map +1 -0
- package/dist/rtdb/rules-json.d.ts +8 -0
- package/dist/rtdb/rules-json.d.ts.map +1 -0
- package/dist/rtdb/rules-json.js +17 -0
- package/dist/rtdb/rules-json.js.map +1 -0
- package/dist/serve/bridge-mount.d.ts +38 -0
- package/dist/serve/bridge-mount.d.ts.map +1 -0
- package/dist/serve/bridge-mount.js +162 -0
- package/dist/serve/bridge-mount.js.map +1 -0
- package/dist/serve/bundler.d.ts +134 -0
- package/dist/serve/bundler.d.ts.map +1 -0
- package/dist/serve/bundler.js +452 -0
- package/dist/serve/bundler.js.map +1 -0
- package/dist/serve/capture-store.d.ts +27 -0
- package/dist/serve/capture-store.d.ts.map +1 -0
- package/dist/serve/capture-store.js +47 -0
- package/dist/serve/capture-store.js.map +1 -0
- package/dist/serve/discovery.d.ts +71 -0
- package/dist/serve/discovery.d.ts.map +1 -0
- package/dist/serve/discovery.js +158 -0
- package/dist/serve/discovery.js.map +1 -0
- package/dist/serve/docs-ui/_astro/_slug_.BsN3bPok.css +1 -0
- package/dist/serve/docs-ui/docs/_rhythm/index.html +99 -0
- package/dist/serve/docs-ui/docs/_rhythm.md +101 -0
- package/dist/serve/docs-ui/docs/index.html +1 -0
- package/dist/serve/docs-ui/docs/index.json +9914 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore/index.html +38 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-error-translation/index.html +57 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-error-translation.md +87 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-per-call-delegate/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-per-call-delegate.md +86 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-why-mirror-admin-shape/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-why-mirror-admin-shape.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-run-a-transaction/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-run-a-transaction.md +70 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-seed-and-set-rules/index.html +62 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-seed-and-set-rules.md +86 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-translate-denials/index.html +80 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-translate-denials.md +92 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-use-onsnapshot/index.html +57 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-use-onsnapshot.md +78 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-write-a-batch/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-write-a-batch.md +67 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api.md +73 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-onsnapshot/index.html +68 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-onsnapshot.md +75 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-re-exported-types/index.html +76 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-re-exported-types.md +95 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-sandbox-firestore/index.html +40 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-sandbox-firestore.md +73 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-tutorials-01-first-admin-session/index.html +118 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-tutorials-01-first-admin-session.md +146 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore.md +49 -0
- package/dist/serve/docs-ui/docs/pyric-auth/index.html +64 -0
- package/dist/serve/docs-ui/docs/pyric-auth-compat/index.html +874 -0
- package/dist/serve/docs-ui/docs/pyric-auth-compat.md +265 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +112 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-api.md +129 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-feature-matrix/index.html +781 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-feature-matrix.md +198 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-sandbox-test-driver/index.html +80 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-sandbox-test-driver.md +107 -0
- package/dist/serve/docs-ui/docs/pyric-auth.md +84 -0
- package/dist/serve/docs-ui/docs/pyric-database/index.html +36 -0
- package/dist/serve/docs-ui/docs/pyric-database-compat/index.html +2428 -0
- package/dist/serve/docs-ui/docs/pyric-database-compat.md +850 -0
- package/dist/serve/docs-ui/docs/pyric-database-explanation-rules-authoring-and-deploy-are-separate/index.html +23 -0
- package/dist/serve/docs-ui/docs/pyric-database-explanation-rules-authoring-and-deploy-are-separate.md +29 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-rules-tooling/index.html +263 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-rules-tooling.md +288 -0
- package/dist/serve/docs-ui/docs/pyric-database-tutorials-01-author-rtdb-rules-with-constraints/index.html +116 -0
- package/dist/serve/docs-ui/docs/pyric-database-tutorials-01-author-rtdb-rules-with-constraints.md +142 -0
- package/dist/serve/docs-ui/docs/pyric-database.md +18 -0
- package/dist/serve/docs-ui/docs/pyric-firestore/index.html +54 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-compat/index.html +1345 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-compat.md +366 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-rules-tooling-is-separate/index.html +79 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-rules-tooling-is-separate.md +62 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-target-symbol-opacity/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-target-symbol-opacity.md +85 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-two-backends-one-surface/index.html +61 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-two-backends-one-surface.md +87 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-build-queries/index.html +105 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-build-queries.md +138 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-migrate-from-firebase-firestore/index.html +65 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-migrate-from-firebase-firestore.md +93 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-pick-a-backend/index.html +112 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-pick-a-backend.md +100 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-run-a-transaction/index.html +42 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-run-a-transaction.md +55 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-onsnapshot/index.html +61 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-onsnapshot.md +83 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-sandbox-ops/index.html +52 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-sandbox-ops.md +73 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +132 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-api.md +160 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-feature-matrix/index.html +793 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-feature-matrix.md +239 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-getfirestore/index.html +55 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-getfirestore.md +76 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-query-constraints/index.html +78 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-query-constraints.md +115 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-sandbox-ops/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-sandbox-ops.md +76 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-tool-factories/index.html +51 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-tool-factories.md +65 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-01-write-a-sandbox-demo/index.html +127 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-01-write-a-sandbox-demo.md +157 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-02-swap-to-prod-backend/index.html +85 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-02-swap-to-prod-backend.md +122 -0
- package/dist/serve/docs-ui/docs/pyric-firestore.md +69 -0
- package/dist/serve/docs-ui/docs/pyric-rules/index.html +93 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-agent-failure-modes/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-agent-failure-modes.md +74 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-lint-vs-validate-vs-simulate-vs-test/index.html +79 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-lint-vs-validate-vs-simulate-vs-test.md +69 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-runtime-budget-and-shared-gates/index.html +67 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-runtime-budget-and-shared-gates.md +71 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-sentinel-expression-engine/index.html +49 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-sentinel-expression-engine.md +70 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-simulator-vs-rules-test-api/index.html +96 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-simulator-vs-rules-test-api.md +76 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-the-2-plus-modules-extension/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-the-2-plus-modules-extension.md +75 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-value-wrappers-design/index.html +62 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-value-wrappers-design.md +80 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-why-this-package-exists/index.html +34 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-why-this-package-exists.md +43 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-compare-rulesets-for-weakening/index.html +54 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-compare-rulesets-for-weakening.md +69 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-inspect-rules-via-the-ast/index.html +89 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-inspect-rules-via-the-ast.md +113 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-lint-rules-source/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-lint-rules-source.md +73 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-pin-request-time/index.html +47 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-pin-request-time.md +58 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-register-tools-with-an-agent/index.html +61 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-register-tools-with-an-agent.md +78 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-resolve-module-imports/index.html +92 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-resolve-module-imports.md +93 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-simulate-rules-locally/index.html +89 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-simulate-rules-locally.md +117 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-test-rules-against-firebase/index.html +70 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-test-rules-against-firebase.md +93 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +129 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-api.md +176 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-ast/index.html +85 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-ast.md +105 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-errors/index.html +63 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-errors.md +89 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-lint-rules/index.html +148 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-lint-rules.md +159 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-simulator-context/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-simulator-context.md +98 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-stdlib-modules/index.html +239 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-stdlib-modules.md +135 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-test-case-schema/index.html +93 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-test-case-schema.md +109 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-validator-findings/index.html +86 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-validator-findings.md +113 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-value-wrappers/index.html +101 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-value-wrappers.md +134 -0
- package/dist/serve/docs-ui/docs/pyric-rules-tutorials-01-lint-your-first-rules-file/index.html +107 -0
- package/dist/serve/docs-ui/docs/pyric-rules-tutorials-01-lint-your-first-rules-file.md +142 -0
- package/dist/serve/docs-ui/docs/pyric-rules-tutorials-02-write-a-test-suite-for-your-rules/index.html +151 -0
- package/dist/serve/docs-ui/docs/pyric-rules-tutorials-02-write-a-test-suite-for-your-rules.md +194 -0
- package/dist/serve/docs-ui/docs/pyric-rules.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox/index.html +67 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-every-op-is-a-request/index.html +141 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-every-op-is-a-request.md +157 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-identity-is-a-context/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-identity-is-a-context.md +98 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-internal-adapter-protocol/index.html +71 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-internal-adapter-protocol.md +105 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-listener-re-evaluation/index.html +56 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-listener-re-evaluation.md +80 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-local-backend-vs-firestore-offline/index.html +64 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-local-backend-vs-firestore-offline.md +56 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-adapters-are-siblings/index.html +88 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-adapters-are-siblings.md +87 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-this-package-exists/index.html +69 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-this-package-exists.md +57 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-multiple-isolated-sandboxes/index.html +63 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-multiple-isolated-sandboxes.md +83 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-observe-events/index.html +159 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-observe-events.md +154 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-pick-an-adapter/index.html +79 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-pick-an-adapter.md +69 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-replay-events/index.html +89 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-replay-events.md +87 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-reset-between-tests/index.html +68 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-reset-between-tests.md +86 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-seed-data-and-rules/index.html +91 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-seed-data-and-rules.md +112 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-switch-users/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-switch-users.md +70 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-use-admin-reads/index.html +54 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-use-admin-reads.md +73 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +77 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +117 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-divergences/index.html +125 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-divergences.md +137 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-error-codes/index.html +110 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-error-codes.md +114 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-internal-protocol/index.html +72 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-internal-protocol.md +99 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-and-context/index.html +90 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-and-context.md +128 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-event/index.html +146 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-event.md +188 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-snapshot-and-admin/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-snapshot-and-admin.md +77 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-01-your-first-sandbox-session/index.html +115 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-01-your-first-sandbox-session.md +154 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-02-use-the-sandbox-in-a-test-harness/index.html +191 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-02-use-the-sandbox-in-a-test-harness.md +222 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-03-build-a-traffic-monitor/index.html +163 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-03-build-a-traffic-monitor.md +192 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox.md +63 -0
- package/dist/serve/docs-ui/docs/pyric-storage/index.html +65 -0
- package/dist/serve/docs-ui/docs/pyric-storage-compat/index.html +1076 -0
- package/dist/serve/docs-ui/docs/pyric-storage-compat.md +337 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-implementation-scope/index.html +63 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-implementation-scope.md +104 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-session-archive-use-case/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-session-archive-use-case.md +80 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-why-indexeddb/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-why-indexeddb.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-enforce-rules/index.html +104 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-enforce-rules.md +111 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-list-and-delete/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-list-and-delete.md +76 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-round-trip-metadata/index.html +77 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-round-trip-metadata.md +100 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-switch-backends/index.html +65 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-switch-backends.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-test-rule-expressions/index.html +70 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-test-rule-expressions.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +92 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-api.md +152 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-error-codes/index.html +46 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-error-codes.md +66 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-rules-subset/index.html +73 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-rules-subset.md +90 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-storage-options/index.html +45 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-storage-options.md +65 -0
- package/dist/serve/docs-ui/docs/pyric-storage-tutorials-01-upload-and-download/index.html +114 -0
- package/dist/serve/docs-ui/docs/pyric-storage-tutorials-01-upload-and-download.md +141 -0
- package/dist/serve/docs-ui/docs/pyric-storage.md +63 -0
- package/dist/serve/docs-ui/docs/pyric-tools/index.html +45 -0
- package/dist/serve/docs-ui/docs/pyric-tools-bridge/index.html +71 -0
- package/dist/serve/docs-ui/docs/pyric-tools-bridge.md +90 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-explanation-primitives-vs-orchestrators/index.html +63 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-explanation-primitives-vs-orchestrators.md +83 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-explanation-token-caching/index.html +47 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-explanation-token-caching.md +70 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-explanation-why-no-firebase-cli/index.html +36 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-explanation-why-no-firebase-cli.md +50 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-explanation-why-this-package-exists/index.html +47 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-explanation-why-this-package-exists.md +60 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-build-projectscope-from-firebase-auth/index.html +55 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-build-projectscope-from-firebase-auth.md +68 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-build-projectscope-from-service-account/index.html +35 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-build-projectscope-from-service-account.md +52 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-bundle-and-deploy-a-function/index.html +81 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-bundle-and-deploy-a-function.md +98 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-deploy-firestore-indexes/index.html +71 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-deploy-firestore-indexes.md +91 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-deploy-firestore-rules/index.html +100 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-deploy-firestore-rules.md +105 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-deploy-hosting-rewrites/index.html +86 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-deploy-hosting-rewrites.md +92 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-deploy-realtime-database-rules/index.html +132 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-deploy-realtime-database-rules.md +165 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-deploy-to-a-preview-channel/index.html +46 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-deploy-to-a-preview-channel.md +62 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-handle-errors-and-outcomes/index.html +75 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-handle-errors-and-outcomes.md +94 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-provision-a-firestore-database/index.html +48 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-provision-a-firestore-database.md +65 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-register-tools-with-an-agent/index.html +65 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-how-to-register-tools-with-an-agent.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-api/index.html +155 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-api.md +190 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-cli-agent-io/index.html +84 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-cli-agent-io.md +66 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-error-codes/index.html +71 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-error-codes.md +102 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-firestore-namespace/index.html +138 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-firestore-namespace.md +175 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-functions-namespace/index.html +105 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-functions-namespace.md +133 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-hosting-config/index.html +194 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-hosting-config.md +95 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-hosting-namespace/index.html +99 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-hosting-namespace.md +126 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-rtdb-namespace/index.html +110 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-rtdb-namespace.md +133 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-scope-and-outcome/index.html +68 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-scope-and-outcome.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-tool-factories/index.html +160 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-reference-tool-factories.md +104 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-tutorials-01-deploy-a-cloud-function/index.html +88 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy-tutorials-01-deploy-a-cloud-function.md +119 -0
- package/dist/serve/docs-ui/docs/pyric-tools-deploy.md +52 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-build-a-standalone-binary/index.html +92 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-build-a-standalone-binary.md +95 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-configure-auth-providers-and-domains/index.html +101 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-configure-auth-providers-and-domains.md +126 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-discover-a-schema-from-firestore/index.html +95 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-discover-a-schema-from-firestore.md +119 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-promote-sandbox-state-to-a-fixture/index.html +52 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-promote-sandbox-state-to-a-fixture.md +83 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-serve-persistence-and-multi-tab/index.html +232 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-serve-persistence-and-multi-tab.md +178 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-use-the-vite-plugin/index.html +340 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-use-the-vite-plugin.md +288 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-verify-against-a-captured-session/index.html +128 -0
- package/dist/serve/docs-ui/docs/pyric-tools-how-to-verify-against-a-captured-session.md +173 -0
- package/dist/serve/docs-ui/docs/pyric-tools-reference-cli/index.html +433 -0
- package/dist/serve/docs-ui/docs/pyric-tools-reference-cli.md +252 -0
- package/dist/serve/docs-ui/docs/pyric-tools-reference-verify/index.html +81 -0
- package/dist/serve/docs-ui/docs/pyric-tools-reference-verify.md +98 -0
- package/dist/serve/docs-ui/docs/pyric-tools-tutorials-getting-started/index.html +92 -0
- package/dist/serve/docs-ui/docs/pyric-tools-tutorials-getting-started.md +117 -0
- package/dist/serve/docs-ui/docs/pyric-tools-tutorials-server-adoption/index.html +221 -0
- package/dist/serve/docs-ui/docs/pyric-tools-tutorials-server-adoption.md +239 -0
- package/dist/serve/docs-ui/docs/pyric-tools-tutorials-wire-claude-code/index.html +205 -0
- package/dist/serve/docs-ui/docs/pyric-tools-tutorials-wire-claude-code.md +250 -0
- package/dist/serve/docs-ui/docs/pyric-tools.md +47 -0
- package/dist/serve/docs-ui/docs/ui/index.html +76 -0
- package/dist/serve/docs-ui/docs/ui-auth-authsigninhelper/index.html +194 -0
- package/dist/serve/docs-ui/docs/ui-auth-authsigninhelper.md +108 -0
- package/dist/serve/docs-ui/docs/ui-auth-authusers/index.html +258 -0
- package/dist/serve/docs-ui/docs/ui-auth-authusers.md +174 -0
- package/dist/serve/docs-ui/docs/ui-firestore-collectionlist/index.html +92 -0
- package/dist/serve/docs-ui/docs/ui-firestore-collectionlist.md +71 -0
- package/dist/serve/docs-ui/docs/ui-firestore-deletewithconfirm/index.html +128 -0
- package/dist/serve/docs-ui/docs/ui-firestore-deletewithconfirm.md +94 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documenteditor/index.html +154 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documenteditor.md +107 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentlist/index.html +132 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentlist.md +86 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentpreview/index.html +159 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentpreview.md +78 -0
- package/dist/serve/docs-ui/docs/ui-firestore-querybuilder/index.html +104 -0
- package/dist/serve/docs-ui/docs/ui-firestore-querybuilder.md +95 -0
- package/dist/serve/docs-ui/docs/ui-firestore-referencepicker/index.html +113 -0
- package/dist/serve/docs-ui/docs/ui-firestore-referencepicker.md +85 -0
- package/dist/serve/docs-ui/docs/ui-primitives-badge/index.html +56 -0
- package/dist/serve/docs-ui/docs/ui-primitives-badge.md +34 -0
- package/dist/serve/docs-ui/docs/ui-primitives-confirmdialog/index.html +140 -0
- package/dist/serve/docs-ui/docs/ui-primitives-confirmdialog.md +98 -0
- package/dist/serve/docs-ui/docs/ui-primitives-copybutton/index.html +58 -0
- package/dist/serve/docs-ui/docs/ui-primitives-copybutton.md +31 -0
- package/dist/serve/docs-ui/docs/ui-primitives-jsonview/index.html +58 -0
- package/dist/serve/docs-ui/docs/ui-primitives-jsonview.md +41 -0
- package/dist/serve/docs-ui/docs/ui-primitives-segmentedcontrol/index.html +70 -0
- package/dist/serve/docs-ui/docs/ui-primitives-segmentedcontrol.md +44 -0
- package/dist/serve/docs-ui/docs/ui-primitives-toast/index.html +87 -0
- package/dist/serve/docs-ui/docs/ui-primitives-toast.md +74 -0
- package/dist/serve/docs-ui/docs/ui-primitives-virtuallist/index.html +85 -0
- package/dist/serve/docs-ui/docs/ui-primitives-virtuallist.md +48 -0
- package/dist/serve/docs-ui/docs/ui-storage/index.html +154 -0
- package/dist/serve/docs-ui/docs/ui-storage-deleteselectionwithconfirm/index.html +127 -0
- package/dist/serve/docs-ui/docs/ui-storage-deleteselectionwithconfirm.md +83 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectbrowser/index.html +137 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectbrowser.md +84 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectinspector/index.html +139 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectinspector.md +87 -0
- package/dist/serve/docs-ui/docs/ui-storage-pathbreadcrumb/index.html +72 -0
- package/dist/serve/docs-ui/docs/ui-storage-pathbreadcrumb.md +51 -0
- package/dist/serve/docs-ui/docs/ui-storage-rules-aware-affordances/index.html +65 -0
- package/dist/serve/docs-ui/docs/ui-storage-rules-aware-affordances.md +53 -0
- package/dist/serve/docs-ui/docs/ui-storage-uploaddropzone/index.html +93 -0
- package/dist/serve/docs-ui/docs/ui-storage-uploaddropzone.md +72 -0
- package/dist/serve/docs-ui/docs/ui-storage-usestoragerulesgate/index.html +153 -0
- package/dist/serve/docs-ui/docs/ui-storage-usestoragerulesgate.md +105 -0
- package/dist/serve/docs-ui/docs/ui-storage.md +165 -0
- package/dist/serve/docs-ui/docs/ui-traffic/index.html +88 -0
- package/dist/serve/docs-ui/docs/ui-traffic-ruleheatmap/index.html +79 -0
- package/dist/serve/docs-ui/docs/ui-traffic-ruleheatmap.md +54 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficdetail/index.html +78 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficdetail.md +53 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficlog/index.html +118 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficlog.md +63 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficstats/index.html +51 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficstats.md +40 -0
- package/dist/serve/docs-ui/docs/ui-traffic.md +96 -0
- package/dist/serve/docs-ui/docs/ui.md +88 -0
- package/dist/serve/docs-ui/index.html +1 -0
- package/dist/serve/docs-ui/llms.txt +221 -0
- package/dist/serve/entries/app.d.ts +26 -0
- package/dist/serve/entries/app.d.ts.map +1 -0
- package/dist/serve/entries/app.js +51 -0
- package/dist/serve/entries/app.js.map +1 -0
- package/dist/serve/entries/auth-helper-core.d.ts +47 -0
- package/dist/serve/entries/auth-helper-core.d.ts.map +1 -0
- package/dist/serve/entries/auth-helper-core.js +121 -0
- package/dist/serve/entries/auth-helper-core.js.map +1 -0
- package/dist/serve/entries/auth-helper-dom.d.ts +14 -0
- package/dist/serve/entries/auth-helper-dom.d.ts.map +1 -0
- package/dist/serve/entries/auth-helper-dom.js +116 -0
- package/dist/serve/entries/auth-helper-dom.js.map +1 -0
- package/dist/serve/entries/auth.d.ts +62 -0
- package/dist/serve/entries/auth.d.ts.map +1 -0
- package/dist/serve/entries/auth.js +128 -0
- package/dist/serve/entries/auth.js.map +1 -0
- package/dist/serve/entries/bridge-url.d.ts +25 -0
- package/dist/serve/entries/bridge-url.d.ts.map +1 -0
- package/dist/serve/entries/bridge-url.js +30 -0
- package/dist/serve/entries/bridge-url.js.map +1 -0
- package/dist/serve/entries/database.d.ts +34 -0
- package/dist/serve/entries/database.d.ts.map +1 -0
- package/dist/serve/entries/database.js +42 -0
- package/dist/serve/entries/database.js.map +1 -0
- package/dist/serve/entries/firestore.d.ts +68 -0
- package/dist/serve/entries/firestore.d.ts.map +1 -0
- package/dist/serve/entries/firestore.js +115 -0
- package/dist/serve/entries/firestore.js.map +1 -0
- package/dist/serve/entries/init.d.ts +2 -0
- package/dist/serve/entries/init.d.ts.map +1 -0
- package/dist/serve/entries/init.js +14 -0
- package/dist/serve/entries/init.js.map +1 -0
- package/dist/serve/entries/keepalive.d.ts +20 -0
- package/dist/serve/entries/keepalive.d.ts.map +1 -0
- package/dist/serve/entries/keepalive.js +38 -0
- package/dist/serve/entries/keepalive.js.map +1 -0
- package/dist/serve/entries/runtime.d.ts +60 -0
- package/dist/serve/entries/runtime.d.ts.map +1 -0
- package/dist/serve/entries/runtime.js +555 -0
- package/dist/serve/entries/runtime.js.map +1 -0
- package/dist/serve/entries/session-store.d.ts +45 -0
- package/dist/serve/entries/session-store.d.ts.map +1 -0
- package/dist/serve/entries/session-store.js +71 -0
- package/dist/serve/entries/session-store.js.map +1 -0
- package/dist/serve/entries/storage.d.ts +23 -0
- package/dist/serve/entries/storage.d.ts.map +1 -0
- package/dist/serve/entries/storage.js +49 -0
- package/dist/serve/entries/storage.js.map +1 -0
- package/dist/serve/entries/tab-sync-wiring.d.ts +88 -0
- package/dist/serve/entries/tab-sync-wiring.d.ts.map +1 -0
- package/dist/serve/entries/tab-sync-wiring.js +217 -0
- package/dist/serve/entries/tab-sync-wiring.js.map +1 -0
- package/dist/serve/namespace.d.ts +93 -0
- package/dist/serve/namespace.d.ts.map +1 -0
- package/dist/serve/namespace.js +367 -0
- package/dist/serve/namespace.js.map +1 -0
- package/dist/serve/open-browser.d.ts +23 -0
- package/dist/serve/open-browser.d.ts.map +1 -0
- package/dist/serve/open-browser.js +58 -0
- package/dist/serve/open-browser.js.map +1 -0
- package/dist/serve/playground-ui/_astro/HomePage.BFOjZGZp.js +2 -0
- package/dist/serve/playground-ui/_astro/PlaygroundPage.3jki8il0.js +3300 -0
- package/dist/serve/playground-ui/_astro/PlaygroundPage.MhP_vFvK.css +32 -0
- package/dist/serve/playground-ui/_astro/TopBar.ChifCjLD.js +5025 -0
- package/dist/serve/playground-ui/_astro/client.D61DpmEZ.js +274 -0
- package/dist/serve/playground-ui/_astro/client.GCK88uRs.js +1 -0
- package/dist/serve/playground-ui/_astro/esbuild.BHljloGq.wasm +0 -0
- package/dist/serve/playground-ui/_astro/index.B9aLOeXL.js +29 -0
- package/dist/serve/playground-ui/_astro/index.BTKE7uRF.js +1227 -0
- package/dist/serve/playground-ui/_astro/index.BfCthstx.css +1 -0
- package/dist/serve/playground-ui/_astro/index.Mr0Dtjih.js +342 -0
- package/dist/serve/playground-ui/_astro/ort-wasm-simd-threaded.asyncify.DMmc6YqF.wasm +0 -0
- package/dist/serve/playground-ui/favicon.svg +4 -0
- package/dist/serve/playground-ui/index.html +2 -0
- package/dist/serve/playground-ui/playground/index.html +2 -0
- package/dist/serve/rules.d.ts +45 -0
- package/dist/serve/rules.d.ts.map +1 -0
- package/dist/serve/rules.js +139 -0
- package/dist/serve/rules.js.map +1 -0
- package/dist/serve/sandbox-marker.d.ts +9 -0
- package/dist/serve/sandbox-marker.d.ts.map +1 -0
- package/dist/serve/sandbox-marker.js +32 -0
- package/dist/serve/sandbox-marker.js.map +1 -0
- package/dist/serve/server.d.ts +135 -0
- package/dist/serve/server.d.ts.map +1 -0
- package/dist/serve/server.js +328 -0
- package/dist/serve/server.js.map +1 -0
- package/dist/serve/standalone-assets.d.ts +66 -0
- package/dist/serve/standalone-assets.d.ts.map +1 -0
- package/dist/serve/standalone-assets.js +144 -0
- package/dist/serve/standalone-assets.js.map +1 -0
- package/dist/serve/state-store.d.ts +45 -0
- package/dist/serve/state-store.d.ts.map +1 -0
- package/dist/serve/state-store.js +120 -0
- package/dist/serve/state-store.js.map +1 -0
- package/dist/serve/studio/disk-project-store.d.ts +9 -0
- package/dist/serve/studio/disk-project-store.d.ts.map +1 -0
- package/dist/serve/studio/disk-project-store.js +173 -0
- package/dist/serve/studio/disk-project-store.js.map +1 -0
- package/dist/serve/studio/disk-workspace.d.ts +14 -0
- package/dist/serve/studio/disk-workspace.d.ts.map +1 -0
- package/dist/serve/studio/disk-workspace.js +152 -0
- package/dist/serve/studio/disk-workspace.js.map +1 -0
- package/dist/serve/studio/index.d.ts +10 -0
- package/dist/serve/studio/index.d.ts.map +1 -0
- package/dist/serve/studio/index.js +9 -0
- package/dist/serve/studio/index.js.map +1 -0
- package/dist/serve/studio/routes.d.ts +40 -0
- package/dist/serve/studio/routes.d.ts.map +1 -0
- package/dist/serve/studio/routes.js +182 -0
- package/dist/serve/studio/routes.js.map +1 -0
- package/dist/serve/studio/store-types.d.ts +45 -0
- package/dist/serve/studio/store-types.d.ts.map +1 -0
- package/dist/serve/studio/store-types.js +11 -0
- package/dist/serve/studio/store-types.js.map +1 -0
- package/dist/serve/studio-ui/assets/RulesCodeEditor-Bncteb8z.js +23 -0
- package/dist/serve/studio-ui/assets/index-CmkJxFcG.js +4577 -0
- package/dist/serve/studio-ui/assets/index-DNK39P6C.css +1 -0
- package/dist/serve/studio-ui/assets/seed-Bab4ArXQ.js +2 -0
- package/dist/serve/studio-ui/index.html +32 -0
- package/dist/serve/studio-ui/pyric-logo.svg +76 -0
- package/dist/serve/vite-plugin.d.ts +57 -0
- package/dist/serve/vite-plugin.d.ts.map +1 -0
- package/dist/serve/vite-plugin.js +687 -0
- package/dist/serve/vite-plugin.js.map +1 -0
- package/dist/serve/worker/client.d.ts +668 -0
- package/dist/serve/worker/client.d.ts.map +1 -0
- package/dist/serve/worker/client.js +1635 -0
- package/dist/serve/worker/client.js.map +1 -0
- package/dist/serve/worker/entry.d.ts +40 -0
- package/dist/serve/worker/entry.d.ts.map +1 -0
- package/dist/serve/worker/entry.js +122 -0
- package/dist/serve/worker/entry.js.map +1 -0
- package/dist/serve/worker/host-auth.d.ts +47 -0
- package/dist/serve/worker/host-auth.d.ts.map +1 -0
- package/dist/serve/worker/host-auth.js +434 -0
- package/dist/serve/worker/host-auth.js.map +1 -0
- package/dist/serve/worker/host-context.d.ts +180 -0
- package/dist/serve/worker/host-context.d.ts.map +1 -0
- package/dist/serve/worker/host-context.js +45 -0
- package/dist/serve/worker/host-context.js.map +1 -0
- package/dist/serve/worker/host-events.d.ts +21 -0
- package/dist/serve/worker/host-events.d.ts.map +1 -0
- package/dist/serve/worker/host-events.js +87 -0
- package/dist/serve/worker/host-events.js.map +1 -0
- package/dist/serve/worker/host.d.ts +81 -0
- package/dist/serve/worker/host.d.ts.map +1 -0
- package/dist/serve/worker/host.js +1605 -0
- package/dist/serve/worker/host.js.map +1 -0
- package/dist/serve/worker/index.d.ts +22 -0
- package/dist/serve/worker/index.d.ts.map +1 -0
- package/dist/serve/worker/index.js +61 -0
- package/dist/serve/worker/index.js.map +1 -0
- package/dist/serve/worker/protocol.d.ts +955 -0
- package/dist/serve/worker/protocol.d.ts.map +1 -0
- package/dist/serve/worker/protocol.js +197 -0
- package/dist/serve/worker/protocol.js.map +1 -0
- package/dist/serve/worker/serve-init.d.ts +192 -0
- package/dist/serve/worker/serve-init.d.ts.map +1 -0
- package/dist/serve/worker/serve-init.js +555 -0
- package/dist/serve/worker/serve-init.js.map +1 -0
- package/dist/serve/writer-lock.d.ts +32 -0
- package/dist/serve/writer-lock.d.ts.map +1 -0
- package/dist/serve/writer-lock.js +43 -0
- package/dist/serve/writer-lock.js.map +1 -0
- package/dist/verify/cases.d.ts +37 -0
- package/dist/verify/cases.d.ts.map +1 -0
- package/dist/verify/cases.js +173 -0
- package/dist/verify/cases.js.map +1 -0
- package/dist/verify/fixture.d.ts +79 -0
- package/dist/verify/fixture.d.ts.map +1 -0
- package/dist/verify/fixture.js +114 -0
- package/dist/verify/fixture.js.map +1 -0
- package/dist/verify/index.d.ts +102 -0
- package/dist/verify/index.d.ts.map +1 -0
- package/dist/verify/index.js +318 -0
- package/dist/verify/index.js.map +1 -0
- package/dist/verify/tools.d.ts +7 -0
- package/dist/verify/tools.d.ts.map +1 -0
- package/dist/verify/tools.js +83 -0
- package/dist/verify/tools.js.map +1 -0
- package/dist/vite.d.ts +12 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +16 -0
- package/dist/vite.js.map +1 -0
- package/package.json +127 -0
package/README.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# pyric-tools
|
|
2
|
+
|
|
3
|
+
The Pyric CLI + programmatic helpers for `firebase-tools`-shaped work
|
|
4
|
+
(deploy, bridge, discover, identity-toolkit configuration).
|
|
5
|
+
|
|
6
|
+
> **Alpha.** This package is an early alpha. The `firebase-tools`-mirrored
|
|
7
|
+
> surfaces (deploy, discover, auth configuration) are best-effort mirror
|
|
8
|
+
> contracts; non-mirrored exports (e.g. `pyric-tools/serve/worker`,
|
|
9
|
+
> `pyric-tools/verify`, `pyric-tools/credentials`) are experimental
|
|
10
|
+
> public-alpha surfaces that may change without notice. The MCP tool surface
|
|
11
|
+
> (tool names and shapes) will consolidate during early alpha — do not treat
|
|
12
|
+
> tool names as stable.
|
|
13
|
+
|
|
14
|
+
## CLI subcommands
|
|
15
|
+
|
|
16
|
+
| Command | What it does |
|
|
17
|
+
|---|---|
|
|
18
|
+
| `pyric init [dir]` | Scaffold a pyric project — never prompts, idempotent, safe to rerun. `--template web` (default): a servable app with **canonical `firebase/*` imports** (owner-based rules, `seed.json`, `dev`/`dev:agent` scripts, real `firebase` dep) — `pyric dev` runs it on the sandbox; any standard bundler runs the same code on real Firebase. The swap is environmental, never a code edit. `--template node`: script-style scaffold whose backend is picked by `PYRIC_TARGET=sandbox\|firebase`. Also `--name`, `--force` (overwrite scaffold-owned files), `--json` (machine result on stdout: `{template, dir, created, merged, skipped, conflicts, nextSteps}`) |
|
|
19
|
+
| `pyric bridge` | Stand up an HTTP+WebSocket bridge an MCP client (Claude Code, Cursor) connects to |
|
|
20
|
+
| `pyric dev` | Local dev server with the pyric sandbox standing in for Firebase: serves `hosting.public`, resolves unmodified `firebase/*` imports to a pyric sandbox via a served import map, deploys + hot-reloads `firestore.rules` (SSE), opens an emulator-style sign-in helper for `signInWithPopup`/`signInWithRedirect`. The sandbox runs in a **SharedWorker by default** — one backend shared by every tab of the origin (live cross-tab sync), kept in the browser's IndexedDB so **your sandbox data — Firestore docs, auth users, RTDB, storage objects, and the traffic history — survives a refresh/restart by default** (see the persistence guide's coverage matrix for the exact tiers); a per-tab in-page sandbox is the fallback when SharedWorker is unavailable. Flags + exit codes: [CLI reference](docs/reference/cli.md#pyric-dev); persistence, ephemeral runs, clearing data, and SharedWorker tips: [persistence & multi-tab](docs/how-to/serve-persistence-and-multi-tab.md) |
|
|
21
|
+
| `pyric snapshot` | Promote lived sandbox state (live `dev --persist`, else `.pyric/state/state.json`) to a committable fixture; `pyric dev --seed <fixture>` re-serves it (docs + users). `--out`, `--port`, `--force`, `--json` |
|
|
22
|
+
| `pyric deploy <target>` | Deploy `rules` / `indexes` / `database` / `hosting` / `functions` to a real Firebase project |
|
|
23
|
+
| `pyric rules:lint <path>` | Lint a Firestore rules file |
|
|
24
|
+
| `pyric rules:validate <path>` | Validate Firestore rules structure |
|
|
25
|
+
| `pyric rules:simulate` | Local rules simulator |
|
|
26
|
+
| `pyric database:rules:lint <path>` | Lint a Realtime Database rules JSON file |
|
|
27
|
+
| `pyric database:rules:validate <path>` | Validate Realtime Database rules expressions |
|
|
28
|
+
| `pyric database:rules:simulate` | Local Realtime Database rules simulator |
|
|
29
|
+
| `pyric auth:configure-provider <id> <enabled>` | Identity Toolkit: enable/disable an auth provider |
|
|
30
|
+
| `pyric auth:manage-domains <add\|remove\|list> [domain]` | Identity Toolkit: authorized domains |
|
|
31
|
+
| `pyric firestore:discover [collection]` | Crawl a Firestore to infer schema |
|
|
32
|
+
|
|
33
|
+
Every command's full flags, defaults, exit codes, and environment variables are
|
|
34
|
+
in the **[CLI reference](docs/reference/cli.md)**. Task guides and the rest of
|
|
35
|
+
the docs are indexed in **[docs/](docs/README.md)**.
|
|
36
|
+
|
|
37
|
+
### Persistence caveats (documented limits)
|
|
38
|
+
|
|
39
|
+
- **Anonymous users don't persist** (no round-trip key) — but their *documents
|
|
40
|
+
do*. An app that calls `signInAnonymously` on load mints a new uid every
|
|
41
|
+
reload under `--persist`, so docs owned by prior anonymous uids accumulate
|
|
42
|
+
unreachably. Use the sign-in helper (or seeded users) for owner-based data
|
|
43
|
+
you want durable.
|
|
44
|
+
- **The state file is not a point-in-time snapshot** — firestore and auth
|
|
45
|
+
sections flush on independent debounces; a crash between them can persist
|
|
46
|
+
docs whose owner user hasn't flushed yet (or vice versa).
|
|
47
|
+
- **One writer tab at a time (in-page fallback only)** — when several per-tab
|
|
48
|
+
in-page sandboxes share one `.pyric/state` file, the first tab to flush holds
|
|
49
|
+
the writer lock; others run read-only (console warning + `persistReadOnly`
|
|
50
|
+
diagnostic) so they can't erase the writer's data. On the default SharedWorker
|
|
51
|
+
path this can't happen — the single worker is the sole writer.
|
|
52
|
+
- **Loss window** — the final unsaved change can be lost if the tab CLOSES
|
|
53
|
+
within the flush debounce while the state exceeds ~60KB (keepalive cap);
|
|
54
|
+
smaller states flush on unload, and reloads are always safe. A reset (or
|
|
55
|
+
any delete-all) that empties a non-empty state first preserves the prior
|
|
56
|
+
file at `.pyric/state/state.json.bak`.
|
|
57
|
+
|
|
58
|
+
### Agent onboarding (init → dev → MCP)
|
|
59
|
+
|
|
60
|
+
Three parseable steps, no flags to discover:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pyric init myapp --json # → {..., "nextSteps": [...]}
|
|
64
|
+
cd myapp && bun install
|
|
65
|
+
bun run dev:agent # pyric dev --bridge --seed seed.json
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Readiness probe: `GET <url>/__pyric/init.json` → 200 once serving (body
|
|
69
|
+
carries the live rules hash). MCP endpoint: `<url>/__pyric/mcp`. With
|
|
70
|
+
`pyric dev --json`, stdout's single line carries `{url, port, mcpUrl,
|
|
71
|
+
rulesHash}`.
|
|
72
|
+
|
|
73
|
+
## Programmatic subpaths
|
|
74
|
+
|
|
75
|
+
| Subpath | Surface |
|
|
76
|
+
|---|---|
|
|
77
|
+
| `pyric-tools/deploy` | `fromServiceAccount`, `getDeploy`, `createFirestoreDeployTools`, `createRtdbDeployTools`, `createHostingDeployTools`, `createFunctionsDeployTools` |
|
|
78
|
+
| `pyric-tools/bridge` | `createBridge`, `startServer` (Node) / `connectBridge` (browser via conditional export). Vite integration is `pyricSandbox({ bridge })` in `pyric-tools/vite`. |
|
|
79
|
+
| `pyric-tools/vite` | `pyricSandbox(opts)`, the dev-only firebase→sandbox swap plugin. Opts: `rules`, `persist`/`fresh`, `seed`, `capture`, `bridge` (MCP), `ui` (Pyric Studio at `/__pyric/ui/`, parity with `dev --ui`). |
|
|
80
|
+
| `pyric-tools/discover` | `crawl`, `findCollectionGroup`, `createRestCrawlerFirestore`, `createFirestoreDiscoverTools` |
|
|
81
|
+
| `pyric-tools/auth` | `getAuthTools` (Identity Toolkit-driven provider + domain configuration) |
|
|
82
|
+
|
|
83
|
+
## MCP tool surface (`pyric bridge`)
|
|
84
|
+
|
|
85
|
+
The bridge registers two toolsets, sourced directly from `pyric`'s own tool
|
|
86
|
+
registries (`pyric/firestore` + `pyric/rules`) so the surface can't drift from
|
|
87
|
+
the library — the canonical, always-current list is the
|
|
88
|
+
[agent tool inventory](../../docs/agent-tools.md).
|
|
89
|
+
|
|
90
|
+
**Sandbox-routed** — dispatched against the connected browser sandbox
|
|
91
|
+
(`createFirestoreDataTools` + `createFirestoreSimulatorTools` +
|
|
92
|
+
`createFirestoreInspectTools`):
|
|
93
|
+
|
|
94
|
+
- data: `firestore_get_document` / `_list_documents` / `_create_document` / `_update_document` / `_delete_document` / `_query_where` / `firestore_create_with_auto_id`
|
|
95
|
+
- stateful simulator session: `firestore_simulator_create` / `_execute` / `_read` / `_batch` / `_undo` / `_redo` / `_events` / `_transaction`
|
|
96
|
+
- diagnostics: `sandbox_inspect` — single-call sandbox state/rules snapshot
|
|
97
|
+
|
|
98
|
+
**In-process** — run on the bridge process itself (`createFirestoreRulesTools`):
|
|
99
|
+
|
|
100
|
+
- `firestore_simulate_rules`
|
|
101
|
+
- `firestore_rules_stdlib_list` / `_get`
|
|
102
|
+
- `firestore_lint_rules`
|
|
103
|
+
- `firestore_resolve_modules`
|
|
104
|
+
|
|
105
|
+
### Gaps from the playground tool surface
|
|
106
|
+
|
|
107
|
+
The `packages/playground/` app ships richer diagnostic tools that
|
|
108
|
+
the `pyric bridge` does NOT register out of the box today. They're
|
|
109
|
+
playground-specific orchestrators built on top of `useRuntimeStore`
|
|
110
|
+
and other browser-only state:
|
|
111
|
+
|
|
112
|
+
- `inspect_firestore_traffic` — structured dump of the sandbox traffic log
|
|
113
|
+
- `seed_firestore_data_as_admin` — admin-bypass bulk writes for fixture setup
|
|
114
|
+
- `generate_fixture_from_session` — snapshot `sandbox.history()` as a replay fixture
|
|
115
|
+
- `try_rules_edit` — replay events under a proposed rules edit
|
|
116
|
+
- `debug_firestore_rules` — orchestrator over simulate + lint + history + state
|
|
117
|
+
|
|
118
|
+
These are powerful and worth lifting into the library so any
|
|
119
|
+
`pyric bridge` user gets them. The blockers are: `inspect_traffic`
|
|
120
|
+
needs a generic traffic-log API on `Sandbox` (today the playground
|
|
121
|
+
maintains its own ring buffer); `try_rules_edit` + `debug_firestore_rules`
|
|
122
|
+
are orchestrators that depend on the replay engine being wired to a
|
|
123
|
+
generic "session" abstraction. Tracked as a follow-up — the underlying
|
|
124
|
+
primitives (`sandbox.history()`, `pyric/sandbox/replay`, the rules
|
|
125
|
+
simulator) all exist.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ProjectScope } from 'pyric-tools/deploy';
|
|
2
|
+
import type { ManageDomainsInput, ManageDomainsResult } from './spec.js';
|
|
3
|
+
export declare class ManageDomainsHandler {
|
|
4
|
+
execute(scope: ProjectScope, input: ManageDomainsInput): Promise<ManageDomainsResult>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/auth/domains/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEzE,qBAAa,oBAAoB;IACzB,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAiF5F"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export class ManageDomainsHandler {
|
|
2
|
+
async execute(scope, input) {
|
|
3
|
+
try {
|
|
4
|
+
const token = await scope.resolveToken();
|
|
5
|
+
const configUrl = `https://identitytoolkit.googleapis.com/admin/v2/projects/${scope.projectId}/config`;
|
|
6
|
+
// Read current config to get authorized domains
|
|
7
|
+
const getRes = await fetch(configUrl, {
|
|
8
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
9
|
+
});
|
|
10
|
+
if (getRes.status === 403) {
|
|
11
|
+
return {
|
|
12
|
+
success: false,
|
|
13
|
+
error: { code: 'PERMISSION_DENIED', message: 'Permission denied reading auth config', recoverable: false },
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
if (!getRes.ok) {
|
|
17
|
+
return {
|
|
18
|
+
success: false,
|
|
19
|
+
error: { code: 'DOMAIN_CONFIG_FAILED', message: `Failed to read config: ${getRes.status}`, recoverable: false },
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const config = await getRes.json();
|
|
23
|
+
const domains = config.authorizedDomains || [];
|
|
24
|
+
if (input.action === 'list') {
|
|
25
|
+
return { success: true, authorizedDomains: domains };
|
|
26
|
+
}
|
|
27
|
+
if (!input.domain || input.domain.trim() === '') {
|
|
28
|
+
return {
|
|
29
|
+
success: false,
|
|
30
|
+
error: { code: 'INVALID_DOMAIN', message: 'Domain is required for add/remove actions', recoverable: true },
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const domain = input.domain.trim();
|
|
34
|
+
let warning;
|
|
35
|
+
if (input.action === 'add') {
|
|
36
|
+
if (domains.includes(domain)) {
|
|
37
|
+
return { success: true, authorizedDomains: domains };
|
|
38
|
+
}
|
|
39
|
+
domains.push(domain);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// remove
|
|
43
|
+
if (!domains.includes(domain)) {
|
|
44
|
+
return { success: true, authorizedDomains: domains };
|
|
45
|
+
}
|
|
46
|
+
if (domain === 'localhost') {
|
|
47
|
+
warning = 'Removing localhost may break local development. Re-add it with action: "add" if needed.';
|
|
48
|
+
}
|
|
49
|
+
const idx = domains.indexOf(domain);
|
|
50
|
+
domains.splice(idx, 1);
|
|
51
|
+
}
|
|
52
|
+
// Write updated domains
|
|
53
|
+
const patchRes = await fetch(`${configUrl}?updateMask=authorizedDomains`, {
|
|
54
|
+
method: 'PATCH',
|
|
55
|
+
headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' },
|
|
56
|
+
body: JSON.stringify({ authorizedDomains: domains }),
|
|
57
|
+
});
|
|
58
|
+
if (!patchRes.ok) {
|
|
59
|
+
const body = await patchRes.text().catch(() => '');
|
|
60
|
+
return {
|
|
61
|
+
success: false,
|
|
62
|
+
error: { code: 'DOMAIN_CONFIG_FAILED', message: `Failed to update domains: ${patchRes.status} ${body}`, recoverable: false },
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return { success: true, authorizedDomains: domains, warning };
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
return {
|
|
69
|
+
success: false,
|
|
70
|
+
error: { code: 'DOMAIN_CONFIG_FAILED', message: e instanceof Error ? e.message : String(e), recoverable: false },
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/auth/domains/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ManageDomainsInputSchema: z.ZodObject<{
|
|
3
|
+
action: z.ZodEnum<["add", "remove", "list"]>;
|
|
4
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
action: "remove" | "add" | "list";
|
|
7
|
+
domain?: string | undefined;
|
|
8
|
+
}, {
|
|
9
|
+
action: "remove" | "add" | "list";
|
|
10
|
+
domain?: string | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
export type ManageDomainsInput = z.infer<typeof ManageDomainsInputSchema>;
|
|
13
|
+
export type ManageDomainsResult = {
|
|
14
|
+
success: true;
|
|
15
|
+
authorizedDomains: string[];
|
|
16
|
+
warning?: string;
|
|
17
|
+
} | {
|
|
18
|
+
success: false;
|
|
19
|
+
error: {
|
|
20
|
+
code: string;
|
|
21
|
+
message: string;
|
|
22
|
+
recoverable: boolean;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/auth/domains/spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB;;;;;;;;;EAGnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,MAAM,MAAM,mBAAmB,GAC3B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const ManageDomainsInputSchema = z.object({
|
|
3
|
+
action: z.enum(['add', 'remove', 'list']).describe('Action to perform: add a domain, remove a domain, or list all authorized domains'),
|
|
4
|
+
domain: z.string().optional().describe('The domain to add or remove (required for add/remove, ignored for list)'),
|
|
5
|
+
});
|
|
6
|
+
//# sourceMappingURL=spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../src/auth/domains/spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,kFAAkF,CAAC;IACtI,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;CAClH,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `pyric/auth/admin` — Identity Toolkit-driven auth tooling.
|
|
3
|
+
*
|
|
4
|
+
* Sibling subpath to `pyric/auth` (the modular Web-SDK adapter).
|
|
5
|
+
* Control-plane surface lives here so the swap-in namespace doesn't
|
|
6
|
+
* pull in Identity Toolkit REST clients for browser bundles that just
|
|
7
|
+
* want `getAuth` / `signInAnonymously` / etc.
|
|
8
|
+
*
|
|
9
|
+
* Surface:
|
|
10
|
+
* - `getAuthTools(scope)` — programmatic API returning `AuthTools`
|
|
11
|
+
* (`generateIR`, `configureProvider`, `manageDomains`).
|
|
12
|
+
* - `createAuthAdminTools({ scope })` — `ToolHandler[]` factory for
|
|
13
|
+
* `@inbrowser/agent` / MCP wiring. Mirrors the
|
|
14
|
+
* `createRtdbAdminTools` shape.
|
|
15
|
+
* - Types: `AuthIR`, `AuthTools`, `AuthProviderId`,
|
|
16
|
+
* `AuthIRGenerationError`, the provider/domains input/result
|
|
17
|
+
* schemas.
|
|
18
|
+
*
|
|
19
|
+
* Per F3: every primitive takes `ProjectScope`. Per F4: callers invoke
|
|
20
|
+
* `resolveToken()` per call.
|
|
21
|
+
*/
|
|
22
|
+
export { getAuthTools } from './resolver.js';
|
|
23
|
+
export { createAuthAdminTools } from './tools.js';
|
|
24
|
+
export type { AuthAdminToolDeps } from './tools.js';
|
|
25
|
+
export { AuthMapper } from './mapper.js';
|
|
26
|
+
export type { AuthProviderId, AuthIR, AuthTools, } from './types.js';
|
|
27
|
+
export { AuthIRGenerationError } from './types.js';
|
|
28
|
+
export { ConfigureProviderHandler } from './provider/handler.js';
|
|
29
|
+
export { ConfigureProviderInputSchema, ProviderIdSchema, } from './provider/spec.js';
|
|
30
|
+
export type { ConfigureProviderInput, ConfigureAuthResult, ProviderId, } from './provider/spec.js';
|
|
31
|
+
export { ManageDomainsHandler } from './domains/handler.js';
|
|
32
|
+
export { ManageDomainsInputSchema } from './domains/spec.js';
|
|
33
|
+
export type { ManageDomainsInput, ManageDomainsResult, } from './domains/spec.js';
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,YAAY,EACV,cAAc,EACd,MAAM,EACN,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `pyric/auth/admin` — Identity Toolkit-driven auth tooling.
|
|
3
|
+
*
|
|
4
|
+
* Sibling subpath to `pyric/auth` (the modular Web-SDK adapter).
|
|
5
|
+
* Control-plane surface lives here so the swap-in namespace doesn't
|
|
6
|
+
* pull in Identity Toolkit REST clients for browser bundles that just
|
|
7
|
+
* want `getAuth` / `signInAnonymously` / etc.
|
|
8
|
+
*
|
|
9
|
+
* Surface:
|
|
10
|
+
* - `getAuthTools(scope)` — programmatic API returning `AuthTools`
|
|
11
|
+
* (`generateIR`, `configureProvider`, `manageDomains`).
|
|
12
|
+
* - `createAuthAdminTools({ scope })` — `ToolHandler[]` factory for
|
|
13
|
+
* `@inbrowser/agent` / MCP wiring. Mirrors the
|
|
14
|
+
* `createRtdbAdminTools` shape.
|
|
15
|
+
* - Types: `AuthIR`, `AuthTools`, `AuthProviderId`,
|
|
16
|
+
* `AuthIRGenerationError`, the provider/domains input/result
|
|
17
|
+
* schemas.
|
|
18
|
+
*
|
|
19
|
+
* Per F3: every primitive takes `ProjectScope`. Per F4: callers invoke
|
|
20
|
+
* `resolveToken()` per call.
|
|
21
|
+
*/
|
|
22
|
+
export { getAuthTools } from './resolver.js';
|
|
23
|
+
export { createAuthAdminTools } from './tools.js';
|
|
24
|
+
export { AuthMapper } from './mapper.js';
|
|
25
|
+
export { AuthIRGenerationError } from './types.js';
|
|
26
|
+
export { ConfigureProviderHandler } from './provider/handler.js';
|
|
27
|
+
export { ConfigureProviderInputSchema, ProviderIdSchema, } from './provider/spec.js';
|
|
28
|
+
export { ManageDomainsHandler } from './domains/handler.js';
|
|
29
|
+
export { ManageDomainsInputSchema } from './domains/spec.js';
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../src/auth/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAyC,MAAM,YAAY,CAAC;AAE3E,qBAAa,UAAU;IACrB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAG,MAAM;CAkDtD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { AuthIRGenerationError } from './types.js';
|
|
2
|
+
export class AuthMapper {
|
|
3
|
+
static mapToIR(idpData, configData) {
|
|
4
|
+
if (!idpData || typeof idpData !== 'object') {
|
|
5
|
+
throw new AuthIRGenerationError('idpData', 'Invalid or missing IDP data payload');
|
|
6
|
+
}
|
|
7
|
+
if (!configData || typeof configData !== 'object') {
|
|
8
|
+
throw new AuthIRGenerationError('configData', 'Invalid or missing config data payload');
|
|
9
|
+
}
|
|
10
|
+
const enabledProviders = (idpData.defaultSupportedIdpConfigs || [])
|
|
11
|
+
.filter((config) => config.enabled === true) // absent enabled field means disabled
|
|
12
|
+
.map((config) => {
|
|
13
|
+
if (!config || !config.name) {
|
|
14
|
+
throw new AuthIRGenerationError('name', 'IDP config is missing name field');
|
|
15
|
+
}
|
|
16
|
+
const parts = config.name.split('/');
|
|
17
|
+
return parts[parts.length - 1];
|
|
18
|
+
});
|
|
19
|
+
const signIn = configData.signIn;
|
|
20
|
+
if (!signIn || typeof signIn !== 'object') {
|
|
21
|
+
throw new AuthIRGenerationError('signIn', 'Config data is missing signIn configuration');
|
|
22
|
+
}
|
|
23
|
+
const allowPasswordSignup = signIn.email?.enabled === true;
|
|
24
|
+
// API returns {} not undefined when disabled
|
|
25
|
+
const enableAnonymousUser = signIn.anonymous?.enabled === true;
|
|
26
|
+
const enablePhone = signIn.phoneNumber?.enabled === true;
|
|
27
|
+
// Merge config-based providers into enabledProviders
|
|
28
|
+
// (OAuth providers come from defaultSupportedIdpConfigs, but email/anonymous/phone
|
|
29
|
+
// are in the signIn config, not the IDP list)
|
|
30
|
+
if (allowPasswordSignup && !enabledProviders.includes('password')) {
|
|
31
|
+
enabledProviders.push('password');
|
|
32
|
+
}
|
|
33
|
+
if (enableAnonymousUser && !enabledProviders.includes('anonymous')) {
|
|
34
|
+
enabledProviders.push('anonymous');
|
|
35
|
+
}
|
|
36
|
+
if (enablePhone && !enabledProviders.includes('phone')) {
|
|
37
|
+
enabledProviders.push('phone');
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
service: "authentication",
|
|
41
|
+
enabledProviders,
|
|
42
|
+
settings: {
|
|
43
|
+
allowPasswordSignup,
|
|
44
|
+
enableAnonymousUser
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../src/auth/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE3E,MAAM,OAAO,UAAU;IACrB,MAAM,CAAC,OAAO,CAAC,OAAY,EAAE,UAAe;QAC1C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,qBAAqB,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,qBAAqB,CAAC,YAAY,EAAE,wCAAwC,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,gBAAgB,GAAqB,CAAC,OAAO,CAAC,0BAA0B,IAAI,EAAE,CAAC;aAClF,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,sCAAsC;aACvF,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;YACnB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,qBAAqB,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAmB,CAAC;QACnD,CAAC,CAAC,CAAC;QAEL,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,qBAAqB,CAAC,QAAQ,EAAE,6CAA6C,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAC3D,6CAA6C;QAC7C,MAAM,mBAAmB,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;QAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;QAEzD,qDAAqD;QACrD,mFAAmF;QACnF,8CAA8C;QAC9C,IAAI,mBAAmB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,mBAAmB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnE,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,WAAW,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,gBAAgB;YACzB,gBAAgB;YAChB,QAAQ,EAAE;gBACR,mBAAmB;gBACnB,mBAAmB;aACpB;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ProjectScope } from 'pyric-tools/deploy';
|
|
2
|
+
import type { ConfigureProviderInput, ConfigureAuthResult } from './spec.js';
|
|
3
|
+
export declare class ConfigureProviderHandler {
|
|
4
|
+
execute(scope: ProjectScope, input: ConfigureProviderInput): Promise<ConfigureAuthResult>;
|
|
5
|
+
private configureSimple;
|
|
6
|
+
private configurePhone;
|
|
7
|
+
private configureGoogle;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/auth/provider/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAc,MAAM,WAAW,CAAC;AAEzF,qBAAa,wBAAwB;IAC7B,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;YA8BjF,eAAe;YAgCf,cAAc;YAkCd,eAAe;CAiD9B"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
export class ConfigureProviderHandler {
|
|
2
|
+
async execute(scope, input) {
|
|
3
|
+
try {
|
|
4
|
+
switch (input.provider) {
|
|
5
|
+
case 'anonymous':
|
|
6
|
+
return await this.configureSimple(scope, input.provider, input.enabled, {
|
|
7
|
+
updateMask: 'signIn.anonymous.enabled',
|
|
8
|
+
body: { signIn: { anonymous: { enabled: input.enabled } } },
|
|
9
|
+
});
|
|
10
|
+
case 'email':
|
|
11
|
+
return await this.configureSimple(scope, input.provider, input.enabled, {
|
|
12
|
+
updateMask: 'signIn.email.enabled,signIn.email.passwordRequired',
|
|
13
|
+
body: { signIn: { email: { enabled: input.enabled, passwordRequired: true } } },
|
|
14
|
+
});
|
|
15
|
+
case 'phone':
|
|
16
|
+
return await this.configurePhone(scope, input.enabled);
|
|
17
|
+
case 'google':
|
|
18
|
+
return await this.configureGoogle(scope, input.enabled);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
return {
|
|
23
|
+
success: false,
|
|
24
|
+
error: {
|
|
25
|
+
code: 'PROVIDER_CONFIG_FAILED',
|
|
26
|
+
message: e instanceof Error ? e.message : String(e),
|
|
27
|
+
recoverable: false,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async configureSimple(scope, provider, enabled, opts) {
|
|
33
|
+
const token = await scope.resolveToken();
|
|
34
|
+
const url = `https://identitytoolkit.googleapis.com/admin/v2/projects/${scope.projectId}/config?updateMask=${opts.updateMask}`;
|
|
35
|
+
const patchRes = await fetch(url, {
|
|
36
|
+
method: 'PATCH',
|
|
37
|
+
headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' },
|
|
38
|
+
body: JSON.stringify(opts.body),
|
|
39
|
+
});
|
|
40
|
+
if (patchRes.status === 403) {
|
|
41
|
+
return {
|
|
42
|
+
success: false,
|
|
43
|
+
error: { code: 'PERMISSION_DENIED', message: `Permission denied configuring ${provider}`, recoverable: false },
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (!patchRes.ok) {
|
|
47
|
+
const body = await patchRes.text().catch(() => '');
|
|
48
|
+
return {
|
|
49
|
+
success: false,
|
|
50
|
+
error: { code: 'PROVIDER_CONFIG_FAILED', message: `Failed to configure ${provider}: ${patchRes.status} ${body}`, recoverable: false },
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return { success: true, provider, enabled };
|
|
54
|
+
}
|
|
55
|
+
async configurePhone(scope, enabled) {
|
|
56
|
+
const token = await scope.resolveToken();
|
|
57
|
+
const url = `https://identitytoolkit.googleapis.com/admin/v2/projects/${scope.projectId}/config?updateMask=signIn.phoneNumber.enabled`;
|
|
58
|
+
const res = await fetch(url, {
|
|
59
|
+
method: 'PATCH',
|
|
60
|
+
headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' },
|
|
61
|
+
body: JSON.stringify({ signIn: { phoneNumber: { enabled } } }),
|
|
62
|
+
});
|
|
63
|
+
if (res.status === 403) {
|
|
64
|
+
return {
|
|
65
|
+
success: false,
|
|
66
|
+
error: { code: 'PERMISSION_DENIED', message: 'Permission denied configuring phone auth', recoverable: false },
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
if (!res.ok) {
|
|
70
|
+
const body = await res.text().catch(() => '');
|
|
71
|
+
return {
|
|
72
|
+
success: false,
|
|
73
|
+
error: { code: 'PROVIDER_CONFIG_FAILED', message: `Failed to configure phone: ${res.status} ${body}`, recoverable: false },
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
success: true,
|
|
78
|
+
provider: 'phone',
|
|
79
|
+
enabled,
|
|
80
|
+
warning: enabled
|
|
81
|
+
? 'Phone authentication requires a billing account for SMS delivery. Verify billing is enabled in the Google Cloud Console for this project.'
|
|
82
|
+
: undefined,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
async configureGoogle(scope, enabled) {
|
|
86
|
+
const token = await scope.resolveToken();
|
|
87
|
+
const baseUrl = `https://identitytoolkit.googleapis.com/admin/v2/projects/${scope.projectId}/defaultSupportedIdpConfigs/google.com`;
|
|
88
|
+
const checkRes = await fetch(baseUrl, {
|
|
89
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
90
|
+
});
|
|
91
|
+
if (checkRes.status === 404) {
|
|
92
|
+
return {
|
|
93
|
+
success: false,
|
|
94
|
+
error: {
|
|
95
|
+
code: 'GOOGLE_NOT_PROVISIONED',
|
|
96
|
+
message: 'Google sign-in has not been configured for this project. Enable it once in the Firebase Console (Authentication → Sign-in method → Google) to auto-provision the OAuth client, then this tool can toggle it.',
|
|
97
|
+
recoverable: false,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
if (!checkRes.ok) {
|
|
102
|
+
return {
|
|
103
|
+
success: false,
|
|
104
|
+
error: { code: 'PROVIDER_CONFIG_FAILED', message: `Failed to check Google config: ${checkRes.status}`, recoverable: false },
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
const patchRes = await fetch(`${baseUrl}?updateMask=enabled`, {
|
|
108
|
+
method: 'PATCH',
|
|
109
|
+
headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' },
|
|
110
|
+
body: JSON.stringify({ enabled }),
|
|
111
|
+
});
|
|
112
|
+
if (patchRes.status === 403) {
|
|
113
|
+
return {
|
|
114
|
+
success: false,
|
|
115
|
+
error: { code: 'PERMISSION_DENIED', message: 'Permission denied configuring Google sign-in', recoverable: false },
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
if (!patchRes.ok) {
|
|
119
|
+
const body = await patchRes.text().catch(() => '');
|
|
120
|
+
return {
|
|
121
|
+
success: false,
|
|
122
|
+
error: { code: 'PROVIDER_CONFIG_FAILED', message: `Failed to configure Google: ${patchRes.status} ${body}`, recoverable: false },
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return { success: true, provider: 'google', enabled };
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/auth/provider/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ProviderIdSchema: z.ZodEnum<["anonymous", "email", "phone", "google"]>;
|
|
3
|
+
export type ProviderId = z.infer<typeof ProviderIdSchema>;
|
|
4
|
+
export declare const ConfigureProviderInputSchema: z.ZodObject<{
|
|
5
|
+
provider: z.ZodEnum<["anonymous", "email", "phone", "google"]>;
|
|
6
|
+
enabled: z.ZodBoolean;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
provider: "email" | "anonymous" | "phone" | "google";
|
|
10
|
+
}, {
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
provider: "email" | "anonymous" | "phone" | "google";
|
|
13
|
+
}>;
|
|
14
|
+
export type ConfigureProviderInput = z.infer<typeof ConfigureProviderInputSchema>;
|
|
15
|
+
export type ConfigureAuthResult = {
|
|
16
|
+
success: true;
|
|
17
|
+
provider: string;
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
warning?: string;
|
|
20
|
+
} | {
|
|
21
|
+
success: false;
|
|
22
|
+
error: {
|
|
23
|
+
code: string;
|
|
24
|
+
message: string;
|
|
25
|
+
recoverable: boolean;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export declare const ConfigureAuthErrorCode: z.ZodEnum<["PROVIDER_CONFIG_FAILED", "PERMISSION_DENIED", "GOOGLE_NOT_PROVISIONED"]>;
|
|
29
|
+
//# sourceMappingURL=spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/auth/provider/spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB,sDAAoD,CAAC;AAClF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,4BAA4B;;;;;;;;;EAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,MAAM,MAAM,mBAAmB,GAC3B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC;AAEvF,eAAO,MAAM,sBAAsB,sFAIjC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const ProviderIdSchema = z.enum(['anonymous', 'email', 'phone', 'google']);
|
|
3
|
+
export const ConfigureProviderInputSchema = z.object({
|
|
4
|
+
provider: ProviderIdSchema.describe('The auth provider to configure: anonymous, email, phone, or google'),
|
|
5
|
+
enabled: z.boolean().describe('Whether to enable (true) or disable (false) the provider'),
|
|
6
|
+
});
|
|
7
|
+
export const ConfigureAuthErrorCode = z.enum([
|
|
8
|
+
'PROVIDER_CONFIG_FAILED',
|
|
9
|
+
'PERMISSION_DENIED',
|
|
10
|
+
'GOOGLE_NOT_PROVISIONED',
|
|
11
|
+
]);
|
|
12
|
+
//# sourceMappingURL=spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../src/auth/provider/spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGlF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,oEAAoE,CAAC;IACzG,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;CAC1F,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,wBAAwB;IACxB,mBAAmB;IACnB,wBAAwB;CACzB,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `getAuthTools(scope)` — programmatic auth admin API. Returns the
|
|
3
|
+
* {@link AuthTools} surface backed by Identity Toolkit calls under a
|
|
4
|
+
* {@link ProjectScope}.
|
|
5
|
+
*
|
|
6
|
+
* Per F3, every primitive takes ProjectScope. Per F4, callers invoke
|
|
7
|
+
* `resolveToken()` per call — no token caching at this layer.
|
|
8
|
+
*
|
|
9
|
+
* `fetchIdentityToolkit` (the helper that used to hang off AgentApp)
|
|
10
|
+
* inlines here as a thin Bearer-token fetch wrapper — that's all the
|
|
11
|
+
* old `app.fetchIdentityToolkit` was.
|
|
12
|
+
*/
|
|
13
|
+
import type { ProjectScope } from 'pyric-tools/deploy';
|
|
14
|
+
import type { AuthTools } from './types.js';
|
|
15
|
+
export declare function getAuthTools(scope: ProjectScope): AuthTools;
|
|
16
|
+
//# sourceMappingURL=resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/auth/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,YAAY,CAAC;AAiBpD,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAsB3D"}
|