@pyric/cli 0.1.0-alpha.30 → 0.1.0-alpha.30.1
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/dist/assurance/.generated/conformance-verdicts.d.ts +4 -0
- package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -1
- package/dist/assurance/.generated/conformance-verdicts.js +4 -0
- package/dist/assurance/.generated/conformance-verdicts.js.map +1 -1
- package/dist/cli/serve.d.ts +2 -0
- package/dist/cli/serve.d.ts.map +1 -1
- package/dist/cli/serve.js +13 -2
- package/dist/cli/serve.js.map +1 -1
- package/dist/conformance/.generated/can-i-use-browser.js +2 -2
- package/dist/conformance/.generated/can-i-use-browser.js.map +1 -1
- package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
- package/dist/conformance/.generated/can-i-use.js +1 -1
- package/dist/conformance/.generated/can-i-use.js.map +1 -1
- package/dist/conformance/.generated/conformance-docs.d.ts.map +1 -1
- package/dist/conformance/.generated/conformance-docs.js +1 -1
- package/dist/conformance/.generated/conformance-docs.js.map +1 -1
- package/dist/register/app-bridge-admin-app-check.d.ts +3 -0
- package/dist/register/app-bridge-admin-app-check.d.ts.map +1 -0
- package/dist/register/app-bridge-admin-app-check.js +43 -0
- package/dist/register/app-bridge-admin-app-check.js.map +1 -0
- package/dist/register/app-bridge-app-check.d.ts +4 -0
- package/dist/register/app-bridge-app-check.d.ts.map +1 -1
- package/dist/register/app-bridge-app-check.js +4 -0
- package/dist/register/app-bridge-app-check.js.map +1 -1
- package/dist/register/app-bridge-shadow.d.ts +4 -2
- package/dist/register/app-bridge-shadow.d.ts.map +1 -1
- package/dist/register/app-bridge-shadow.js +29 -5
- package/dist/register/app-bridge-shadow.js.map +1 -1
- package/dist/register/index.d.ts.map +1 -1
- package/dist/register/index.js +21 -0
- package/dist/register/index.js.map +1 -1
- package/dist/serve/bundler.d.ts +40 -0
- package/dist/serve/bundler.d.ts.map +1 -1
- package/dist/serve/bundler.js +133 -2
- package/dist/serve/bundler.js.map +1 -1
- package/dist/serve/entries/app-ai-passthrough.d.ts +4 -4
- package/dist/serve/entries/app-ai-passthrough.d.ts.map +1 -1
- package/dist/serve/entries/app-ai-passthrough.js +8 -52
- package/dist/serve/entries/app-ai-passthrough.js.map +1 -1
- package/dist/serve/firebase-module-swap.d.ts +22 -0
- package/dist/serve/firebase-module-swap.d.ts.map +1 -1
- package/dist/serve/firebase-module-swap.js +51 -3
- package/dist/serve/firebase-module-swap.js.map +1 -1
- package/dist/serve/hosted/method-protocol.d.ts +4 -4
- package/dist/serve/html-injection.d.ts +2 -0
- package/dist/serve/html-injection.d.ts.map +1 -1
- package/dist/serve/html-injection.js +4 -2
- package/dist/serve/html-injection.js.map +1 -1
- package/dist/serve/namespace.d.ts.map +1 -1
- package/dist/serve/namespace.js +5 -1
- package/dist/serve/namespace.js.map +1 -1
- package/dist/serve/site-ui/docs/ai-compat/index.html +9 -9
- package/dist/serve/site-ui/docs/ai-compat.md +9 -9
- package/dist/serve/site-ui/docs/app-check-compat/index.html +42 -18
- package/dist/serve/site-ui/docs/app-check-compat.md +42 -18
- package/dist/serve/site-ui/docs/auth-compat/index.html +4 -4
- package/dist/serve/site-ui/docs/auth-compat.md +4 -4
- package/dist/serve/site-ui/docs/build/ai-logic/index.html +2 -0
- package/dist/serve/site-ui/docs/build/ai-logic.md +4 -0
- package/dist/serve/site-ui/docs/database-compat/index.html +4 -4
- package/dist/serve/site-ui/docs/database-compat.md +4 -4
- package/dist/serve/site-ui/docs/firestore-compat/index.html +4 -4
- package/dist/serve/site-ui/docs/firestore-compat.md +4 -4
- package/dist/serve/site-ui/docs/messaging-compat/index.html +4 -4
- package/dist/serve/site-ui/docs/messaging-compat.md +4 -4
- package/dist/serve/site-ui/docs/pyric-admin-app-reference-api/index.html +4 -0
- package/dist/serve/site-ui/docs/pyric-admin-app-reference-api.md +5 -0
- package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-app-check-reference-api/index.html +2 -0
- package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-app-check-reference-api.md +3 -0
- package/dist/serve/site-ui/docs/storage-compat/index.html +5 -5
- package/dist/serve/site-ui/docs/storage-compat.md +5 -5
- package/dist/serve/site-ui/examples/chess/index.html +1 -1
- package/package.json +4 -4
- package/src/assurance/.generated/conformance-verdicts.ts +4 -0
- package/src/cli/serve.ts +14 -2
- package/src/conformance/.generated/can-i-use-browser.ts +2 -2
- package/src/conformance/.generated/can-i-use.ts +1 -1
- package/src/conformance/.generated/conformance-docs.ts +1 -1
- package/src/register/app-bridge-admin-app-check.ts +46 -0
- package/src/register/app-bridge-app-check.ts +4 -0
- package/src/register/app-bridge-shadow.ts +35 -5
- package/src/register/index.ts +23 -0
- package/src/serve/bundler.ts +163 -2
- package/src/serve/entries/app-ai-passthrough.ts +8 -58
- package/src/serve/firebase-module-swap.ts +52 -3
- package/src/serve/html-injection.ts +4 -2
- package/src/serve/namespace.ts +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance-docs.js","sourceRoot":"","sources":["../../../src/conformance/.generated/conformance-docs.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,sBAAsB,GAAmC,CAAC,EAAC,MAAM,EAAC,oBAAoB,EAAC,OAAO,EAAC,oBAAoB,EAAC,OAAO,EAAC,oBAAoB,EAAC,UAAU,EAAC,gqQAAgqQ,EAAC,EAAC,EAAC,MAAM,EAAC,YAAY,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,gCAAgC,EAAC,UAAU,EAAC,i2rBAAi2rB,EAAC,EAAC,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,+BAA+B,EAAC,UAAU,EAAC,
|
|
1
|
+
{"version":3,"file":"conformance-docs.js","sourceRoot":"","sources":["../../../src/conformance/.generated/conformance-docs.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,sBAAsB,GAAmC,CAAC,EAAC,MAAM,EAAC,oBAAoB,EAAC,OAAO,EAAC,oBAAoB,EAAC,OAAO,EAAC,oBAAoB,EAAC,UAAU,EAAC,gqQAAgqQ,EAAC,EAAC,EAAC,MAAM,EAAC,YAAY,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,gCAAgC,EAAC,UAAU,EAAC,i2rBAAi2rB,EAAC,EAAC,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,+BAA+B,EAAC,UAAU,EAAC,mh6DAAmh6D,EAAC,EAAC,EAAC,MAAM,EAAC,aAAa,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAC,iCAAiC,EAAC,UAAU,EAAC,y7+HAAy7+H,EAAC,EAAC,EAAC,MAAM,EAAC,kBAAkB,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAC,sCAAsC,EAAC,UAAU,EAAC,qohJAAqohJ,EAAC,EAAC,EAAC,MAAM,EAAC,iBAAiB,EAAC,OAAO,EAAC,mBAAmB,EAAC,OAAO,EAAC,qCAAqC,EAAC,UAAU,EAAC,sz8LAAsz8L,EAAC,EAAC,EAAC,MAAM,EAAC,gBAAgB,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAC,oCAAoC,EAAC,UAAU,EAAC,s0wHAAs0wH,EAAC,EAAC,EAAC,MAAM,EAAC,kBAAkB,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAC,sCAAsC,EAAC,UAAU,EAAC,2r0DAA2r0D,EAAC,EAAC,EAAC,MAAM,EAAC,kBAAkB,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAC,yBAAyB,EAAC,UAAU,EAAC,igoCAAigoC,EAAC,EAAC,EAAC,MAAM,EAAC,uBAAuB,EAAC,OAAO,EAAC,kBAAkB,EAAC,OAAO,EAAC,mDAAmD,EAAC,UAAU,EAAC,wrUAAwrU,EAAC,EAAC,EAAC,MAAM,EAAC,cAAc,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,kCAAkC,EAAC,UAAU,EAAC,+2pOAA+2pO,EAAC,EAAC,EAAC,MAAM,EAAC,0BAA0B,EAAC,OAAO,EAAC,qBAAqB,EAAC,OAAO,EAAC,mDAAmD,EAAC,UAAU,EAAC,8++BAA8++B,EAAC,EAAC,EAAC,MAAM,EAAC,yBAAyB,EAAC,OAAO,EAAC,oBAAoB,EAAC,OAAO,EAAC,kDAAkD,EAAC,UAAU,EAAC,w9hCAAw9hC,EAAC,EAAC,EAAC,MAAM,EAAC,wBAAwB,EAAC,OAAO,EAAC,mBAAmB,EAAC,OAAO,EAAC,iDAAiD,EAAC,UAAU,EAAC,+pmDAA+pmD,EAAC,EAAC,EAAC,MAAM,EAAC,qBAAqB,EAAC,OAAO,EAAC,gBAAgB,EAAC,OAAO,EAAC,iDAAiD,EAAC,UAAU,EAAC,67rBAA67rB,EAAC,EAAC,EAAC,MAAM,EAAC,oBAAoB,EAAC,OAAO,EAAC,eAAe,EAAC,OAAO,EAAC,2BAA2B,EAAC,UAAU,EAAC,s8jBAAs8jB,EAAC,EAAC,EAAC,MAAM,EAAC,mBAAmB,EAAC,OAAO,EAAC,oBAAoB,EAAC,OAAO,EAAC,gCAAgC,EAAC,UAAU,EAAC,o/vBAAo/vB,EAAC,EAAC,EAAC,MAAM,EAAC,qBAAqB,EAAC,OAAO,EAAC,6BAA6B,EAAC,OAAO,EAAC,2CAA2C,EAAC,UAAU,EAAC,uqqBAAuqqB,EAAC,EAAC,EAAC,MAAM,EAAC,oBAAoB,EAAC,OAAO,EAAC,4BAA4B,EAAC,OAAO,EAAC,0CAA0C,EAAC,UAAU,EAAC,4yyBAA4yyB,EAAC,EAAC,EAAC,MAAM,EAAC,mBAAmB,EAAC,OAAO,EAAC,2BAA2B,EAAC,OAAO,EAAC,yCAAyC,EAAC,UAAU,EAAC,+1xBAA+1xB,EAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-bridge-admin-app-check.d.ts","sourceRoot":"","sources":["../../src/register/app-bridge-admin-app-check.ts"],"names":[],"mappings":"AA0CA,+FAA+F;AAC/F,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9F"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Production AI mode's App Check verifier for a registered Node process
|
|
3
|
+
* (#1552): firebase-admin's own `verifyToken`, for the tokens the page gets
|
|
4
|
+
* from Firebase.
|
|
5
|
+
*
|
|
6
|
+
* The register installs it behind `pyric.admin.appCheck.firebaseVerifier` in
|
|
7
|
+
* production AI mode only, and loads this module on the first token whose
|
|
8
|
+
* `kid` is not the sandbox's, so a server that never sees one never loads
|
|
9
|
+
* firebase-admin. `firebase-admin/app` and `firebase-admin/app-check` reach
|
|
10
|
+
* the real package from here (`isBypassedBridgeImport`).
|
|
11
|
+
*
|
|
12
|
+
* Each project gets one firebase-admin app whose credential refuses to mint an
|
|
13
|
+
* access token, so the app cannot fall back to Application Default
|
|
14
|
+
* Credentials, the metadata server, or Google's OAuth endpoints. Verifying a
|
|
15
|
+
* token needs none of them: firebase-admin fetches Firebase's public keys from
|
|
16
|
+
* `https://firebaseappcheck.googleapis.com/v1/jwks` without credentials and
|
|
17
|
+
* caches them for six hours. `consume` is never passed here; the mirror
|
|
18
|
+
* records it in the process.
|
|
19
|
+
*
|
|
20
|
+
* The export is typed loosely on purpose: the published declarations of
|
|
21
|
+
* @pyric/cli carry no Firebase SDK edge. pyric-admin types the result.
|
|
22
|
+
*/
|
|
23
|
+
import { initializeApp } from 'firebase-admin/app';
|
|
24
|
+
import { getAppCheck } from 'firebase-admin/app-check';
|
|
25
|
+
const NO_CREDENTIALS = "Pyric's App Check verifier holds no credentials.";
|
|
26
|
+
/** A credential that never mints an access token. */
|
|
27
|
+
const noCredentials = {
|
|
28
|
+
getAccessToken: () => Promise.reject(new Error(NO_CREDENTIALS)),
|
|
29
|
+
};
|
|
30
|
+
const appsByProject = new Map();
|
|
31
|
+
function verifierApp(projectId) {
|
|
32
|
+
const existing = appsByProject.get(projectId);
|
|
33
|
+
if (existing !== undefined)
|
|
34
|
+
return existing;
|
|
35
|
+
const app = initializeApp({ projectId, credential: noCredentials }, `[pyric] app-check verifier ${projectId}`);
|
|
36
|
+
appsByProject.set(projectId, app);
|
|
37
|
+
return app;
|
|
38
|
+
}
|
|
39
|
+
/** firebase-admin's `verifyToken(token)` for an app scoped to `projectId`, with no options. */
|
|
40
|
+
export function verifyFirebaseAppCheckToken(token, projectId) {
|
|
41
|
+
return getAppCheck(verifierApp(projectId)).verifyToken(token);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=app-bridge-admin-app-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-bridge-admin-app-check.js","sourceRoot":"","sources":["../../src/register/app-bridge-admin-app-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,aAAa,EAA6B,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,cAAc,GAAG,kDAAkD,CAAC;AAE1E,qDAAqD;AACrD,MAAM,aAAa,GAAe;IAChC,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAe,CAAC;AAE7C,SAAS,WAAW,CAAC,SAAiB;IACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,8BAA8B,SAAS,EAAE,CAAC,CAAC;IAC/G,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,2BAA2B,CAAC,KAAa,EAAE,SAAiB;IAC1E,OAAO,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `shadowAppOf` throws when the shadow app could not be created, so that
|
|
3
|
+
* cause surfaces here before the SDK would fail on a missing container.
|
|
4
|
+
*/
|
|
1
5
|
export declare function initializeAppCheck(app: {
|
|
2
6
|
name: string;
|
|
3
7
|
} | undefined, options: unknown): unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-bridge-app-check.d.ts","sourceRoot":"","sources":["../../src/register/app-bridge-app-check.ts"],"names":[],"mappings":"AAsBA,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAG/F;AAED,eAAO,MAAM,cAAc,EAAE,OAAqC,CAAC;AACnE,eAAO,MAAM,2BAA2B,EAAE,OAAkD,CAAC;AAC7F,eAAO,MAAM,mBAAmB,EAAE,OAA0C,CAAC;AAC7E,eAAO,MAAM,kBAAkB,EAAE,OAAyC,CAAC;AAC3E,eAAO,MAAM,QAAQ,EAAE,OAA+B,CAAC;AACvD,eAAO,MAAM,cAAc,EAAE,OAAqC,CAAC;AACnE,eAAO,MAAM,0BAA0B,EAAE,OAAiD,CAAC"}
|
|
1
|
+
{"version":3,"file":"app-bridge-app-check.d.ts","sourceRoot":"","sources":["../../src/register/app-bridge-app-check.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAG/F;AAED,eAAO,MAAM,cAAc,EAAE,OAAqC,CAAC;AACnE,eAAO,MAAM,2BAA2B,EAAE,OAAkD,CAAC;AAC7F,eAAO,MAAM,mBAAmB,EAAE,OAA0C,CAAC;AAC7E,eAAO,MAAM,kBAAkB,EAAE,OAAyC,CAAC;AAC3E,eAAO,MAAM,QAAQ,EAAE,OAA+B,CAAC;AACvD,eAAO,MAAM,cAAc,EAAE,OAAqC,CAAC;AACnE,eAAO,MAAM,0BAA0B,EAAE,OAAiD,CAAC"}
|
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import * as realAppCheck from 'firebase/app-check';
|
|
19
19
|
import { shadowAppOf } from './app-bridge-shadow.js';
|
|
20
|
+
/**
|
|
21
|
+
* `shadowAppOf` throws when the shadow app could not be created, so that
|
|
22
|
+
* cause surfaces here before the SDK would fail on a missing container.
|
|
23
|
+
*/
|
|
20
24
|
export function initializeAppCheck(app, options) {
|
|
21
25
|
const shadow = app === undefined ? undefined : shadowAppOf(app);
|
|
22
26
|
return realAppCheck.initializeAppCheck(shadow, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-bridge-app-check.js","sourceRoot":"","sources":["../../src/register/app-bridge-app-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,MAAM,UAAU,kBAAkB,CAAC,GAAiC,EAAE,OAAgB;IACpF,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChE,OAAO,YAAY,CAAC,kBAAkB,CAAC,MAAuC,EAAE,OAAwC,CAAC,CAAC;AAC5H,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAY,YAAY,CAAC,cAAc,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAY,YAAY,CAAC,2BAA2B,CAAC;AAC7F,MAAM,CAAC,MAAM,mBAAmB,GAAY,YAAY,CAAC,mBAAmB,CAAC;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAY,YAAY,CAAC,kBAAkB,CAAC;AAC3E,MAAM,CAAC,MAAM,QAAQ,GAAY,YAAY,CAAC,QAAQ,CAAC;AACvD,MAAM,CAAC,MAAM,cAAc,GAAY,YAAY,CAAC,cAAc,CAAC;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAY,YAAY,CAAC,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"app-bridge-app-check.js","sourceRoot":"","sources":["../../src/register/app-bridge-app-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAiC,EAAE,OAAgB;IACpF,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChE,OAAO,YAAY,CAAC,kBAAkB,CAAC,MAAuC,EAAE,OAAwC,CAAC,CAAC;AAC5H,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAY,YAAY,CAAC,cAAc,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAY,YAAY,CAAC,2BAA2B,CAAC;AAC7F,MAAM,CAAC,MAAM,mBAAmB,GAAY,YAAY,CAAC,mBAAmB,CAAC;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAY,YAAY,CAAC,kBAAkB,CAAC;AAC3E,MAAM,CAAC,MAAM,QAAQ,GAAY,YAAY,CAAC,QAAQ,CAAC;AACvD,MAAM,CAAC,MAAM,cAAc,GAAY,YAAY,CAAC,cAAc,CAAC;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAY,YAAY,CAAC,0BAA0B,CAAC"}
|
|
@@ -6,8 +6,10 @@ export interface PyricAppRegistry {
|
|
|
6
6
|
deleteApp(app: FirebaseApp): Promise<void>;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* The shadow Firebase app for a Pyric app, by name.
|
|
10
|
-
*
|
|
9
|
+
* The shadow Firebase app for a Pyric app, by name. When creating it failed,
|
|
10
|
+
* throws an error that names the app and keeps the failure as `cause`. A
|
|
11
|
+
* Firebase app passed in directly, or a Pyric app with no attempt yet, is
|
|
12
|
+
* returned unchanged.
|
|
11
13
|
*/
|
|
12
14
|
export declare function shadowAppOf(app: {
|
|
13
15
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-bridge-shadow.d.ts","sourceRoot":"","sources":["../../src/register/app-bridge-shadow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app-bridge-shadow.d.ts","sourceRoot":"","sources":["../../src/register/app-bridge-shadow.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB,GAAG,WAAW,CAAC;IAClG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnC,OAAO,IAAI,WAAW,EAAE,CAAC;IACzB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAwDD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQzD;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,CA0BhF"}
|
|
@@ -2,9 +2,24 @@
|
|
|
2
2
|
* Production AI pass-through for canonical `firebase/app` in a registered Node
|
|
3
3
|
* process: each Pyric app gets a shadow real Firebase app whose container the
|
|
4
4
|
* real `firebase/ai` reads. Shared by the in-process adapter
|
|
5
|
-
* (`./app-bridge.ts`)
|
|
5
|
+
* (`./app-bridge.ts`), the Node host client (`./client/app-bridge.ts`), and
|
|
6
|
+
* the served `firebase/app` entry (`serve/entries/app-ai-passthrough.ts`).
|
|
6
7
|
*/
|
|
7
8
|
import * as realApp from 'firebase/app';
|
|
9
|
+
/**
|
|
10
|
+
* Why the shadow app for a name could not be created, kept until a later
|
|
11
|
+
* attempt succeeds or the app is deleted. It sits behind `Symbol.for` so every
|
|
12
|
+
* bundle or module record of this file on a page or in a process shares it.
|
|
13
|
+
*/
|
|
14
|
+
const SHADOW_FAILURES = Symbol.for('pyric.ai.shadowAppFailures');
|
|
15
|
+
const shadowFailures = (globalThis[SHADOW_FAILURES] ??= new Map());
|
|
16
|
+
function causeText(cause) {
|
|
17
|
+
const text = cause instanceof Error ? cause.message : String(cause);
|
|
18
|
+
return text.replace(/\.$/, '');
|
|
19
|
+
}
|
|
20
|
+
function shadowFailedError(name, cause) {
|
|
21
|
+
return new Error(`Pyric could not create the Firebase app that firebase/app-check and firebase/ai attach to in production AI mode, for app "${name}": ${causeText(cause)}.`, { cause });
|
|
22
|
+
}
|
|
8
23
|
function decorateApp(app, options, rawSettings) {
|
|
9
24
|
try {
|
|
10
25
|
let shadow;
|
|
@@ -23,25 +38,33 @@ function decorateApp(app, options, rawSettings) {
|
|
|
23
38
|
shadow = realApp.initializeApp(initOptions, objectSettings);
|
|
24
39
|
}
|
|
25
40
|
}
|
|
41
|
+
shadowFailures.delete(app.name);
|
|
26
42
|
const hasShadowContainer = shadow.container !== undefined && shadow.container !== null;
|
|
27
43
|
if (hasShadowContainer) {
|
|
28
44
|
Object.defineProperty(app, 'container', { value: shadow.container, configurable: true });
|
|
29
45
|
}
|
|
30
46
|
}
|
|
31
|
-
catch {
|
|
32
|
-
//
|
|
47
|
+
catch (error) {
|
|
48
|
+
// Pyric's initializeApp still succeeds; shadowAppOf reports the cause
|
|
49
|
+
// when firebase/app-check or firebase/ai needs the shadow.
|
|
50
|
+
shadowFailures.set(app.name, error);
|
|
33
51
|
}
|
|
34
52
|
return app;
|
|
35
53
|
}
|
|
36
54
|
/**
|
|
37
|
-
* The shadow Firebase app for a Pyric app, by name.
|
|
38
|
-
*
|
|
55
|
+
* The shadow Firebase app for a Pyric app, by name. When creating it failed,
|
|
56
|
+
* throws an error that names the app and keeps the failure as `cause`. A
|
|
57
|
+
* Firebase app passed in directly, or a Pyric app with no attempt yet, is
|
|
58
|
+
* returned unchanged.
|
|
39
59
|
*/
|
|
40
60
|
export function shadowAppOf(app) {
|
|
41
61
|
try {
|
|
42
62
|
return realApp.getApp(app.name);
|
|
43
63
|
}
|
|
44
64
|
catch {
|
|
65
|
+
const hasFailure = shadowFailures.has(app.name);
|
|
66
|
+
if (hasFailure)
|
|
67
|
+
throw shadowFailedError(app.name, shadowFailures.get(app.name));
|
|
45
68
|
return app;
|
|
46
69
|
}
|
|
47
70
|
}
|
|
@@ -58,6 +81,7 @@ export function shadowedAppRegistry(pyricApp) {
|
|
|
58
81
|
return pyricApp.getApps().map((app) => decorateApp(app));
|
|
59
82
|
},
|
|
60
83
|
async deleteApp(app) {
|
|
84
|
+
shadowFailures.delete(app.name);
|
|
61
85
|
try {
|
|
62
86
|
const shadow = realApp.getApp(app.name);
|
|
63
87
|
const hasShadow = shadow !== undefined && shadow !== null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-bridge-shadow.js","sourceRoot":"","sources":["../../src/register/app-bridge-shadow.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"app-bridge-shadow.js","sourceRoot":"","sources":["../../src/register/app-bridge-shadow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/register/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/register/index.ts"],"names":[],"mappings":"AAkOA;;yEAEyE;AACzE,eAAO,IAAI,MAAM,SAAQ,CAAC"}
|
package/dist/register/index.js
CHANGED
|
@@ -38,10 +38,13 @@ import { resolveEsmOnlySubpath } from './esm-exports.js';
|
|
|
38
38
|
import { NET_GUARD_GLOBAL, installNetGuard, parseGuardMode } from './net-guard.js';
|
|
39
39
|
import { emitBeacon } from './beacon.js';
|
|
40
40
|
import { remoteSandbox } from '../remote/index.js';
|
|
41
|
+
import { resolveAiMode } from '../serve/firebase-module-swap.js';
|
|
41
42
|
/** The shared seam with pyric-admin's ambient init: a synchronous factory
|
|
42
43
|
* returning the lazy branded handle. `Symbol.for` so both packages agree
|
|
43
44
|
* without importing each other's types. */
|
|
44
45
|
const SANDBOX_FACTORY = Symbol.for('pyric.remote.sandboxFactory');
|
|
46
|
+
/** The seam with pyric-admin's App Check mirror: firebase-admin's verifier for tokens from Firebase (#1552). */
|
|
47
|
+
const APP_CHECK_FIREBASE_VERIFIER = Symbol.for('pyric.admin.appCheck.firebaseVerifier');
|
|
45
48
|
/** `module.registerHooks` landed in Node 22.15 / 23.5 — feature-detect
|
|
46
49
|
* (typed locally: the repo's ambient node types predate it). */
|
|
47
50
|
const moduleApi = Module;
|
|
@@ -147,6 +150,7 @@ function activate() {
|
|
|
147
150
|
// this project's host. A launcher that sets the url also pins the identity
|
|
148
151
|
// of the host it started, so that url holds from any working directory.
|
|
149
152
|
globalThis[SANDBOX_FACTORY] = (opts) => remoteSandbox({ configuredUrl: opts?.url, instanceId: process.env.PYRIC_SANDBOX_INSTANCE });
|
|
153
|
+
installAppCheckVerifier();
|
|
150
154
|
process.stderr.write(`@pyric/cli/register: active. firebase-admin/firebase imports now resolve to the ` +
|
|
151
155
|
`pyric sandbox (PYRIC_SANDBOX=${process.env.PYRIC_SANDBOX}).\n`);
|
|
152
156
|
// LAST: the handshake beacon, after the guard, the hooks and the factory
|
|
@@ -160,6 +164,23 @@ function activate() {
|
|
|
160
164
|
sandbox: process.env.PYRIC_SANDBOX ?? '',
|
|
161
165
|
});
|
|
162
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Production AI mode only: the page's App Check tokens come from Firebase, so
|
|
169
|
+
* pyric-admin's mirror hands them to firebase-admin's own verifier (#1552).
|
|
170
|
+
* The bridge, and firebase-admin with it, loads on the first such token, so a
|
|
171
|
+
* server that never verifies one never loads firebase-admin. In sandbox AI
|
|
172
|
+
* mode nothing is installed, and the mirror refuses such a token with a
|
|
173
|
+
* message that says why.
|
|
174
|
+
*/
|
|
175
|
+
function installAppCheckVerifier() {
|
|
176
|
+
const isProductionAiMode = resolveAiMode(undefined, process.env) === 'production';
|
|
177
|
+
if (!isProductionAiMode)
|
|
178
|
+
return;
|
|
179
|
+
globalThis[APP_CHECK_FIREBASE_VERIFIER] = async (token, projectId) => {
|
|
180
|
+
const bridge = await import('./app-bridge-admin-app-check.js');
|
|
181
|
+
return bridge.verifyFirebaseAppCheckToken(token, projectId);
|
|
182
|
+
};
|
|
183
|
+
}
|
|
163
184
|
/**
|
|
164
185
|
* The net-guard mode actually in force, for the beacon to report.
|
|
165
186
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/register/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAkB,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/register/index.ts"],"names":[],"mappings":"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"}
|
package/dist/serve/bundler.d.ts
CHANGED
|
@@ -20,6 +20,38 @@ export declare const NODE_BUILTIN_RE: RegExp;
|
|
|
20
20
|
* through its own resolveId/load + optimizeDeps esbuild pass, instead of
|
|
21
21
|
* re-deriving them. */
|
|
22
22
|
export declare const NODE_BUILTIN_SHIMS: Record<string, string>;
|
|
23
|
+
/** The project's resolved `firebase` package. */
|
|
24
|
+
export interface ProjectFirebase {
|
|
25
|
+
/** The package directory, as resolved from the project. */
|
|
26
|
+
root: string;
|
|
27
|
+
version: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Find the `firebase` package the project's own code resolves, walking up
|
|
31
|
+
* `node_modules` directories from `projectDir` as Node does. Throws a message
|
|
32
|
+
* that tells the user to install it when there is none.
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveProjectFirebase(projectDir: string): ProjectFirebase;
|
|
35
|
+
/**
|
|
36
|
+
* The environment setting that turned production AI mode on, for messages.
|
|
37
|
+
* `PYRIC_AI_MODE=production` wins; otherwise the passthrough switch did it.
|
|
38
|
+
*/
|
|
39
|
+
export declare function productionModeSetting(env: NodeJS.ProcessEnv): string;
|
|
40
|
+
export interface ProjectFirebasePlan {
|
|
41
|
+
/** Pass to `bundleSdk`; absent when the real-SDK build is skipped. */
|
|
42
|
+
projectFirebase?: {
|
|
43
|
+
projectDir: string;
|
|
44
|
+
};
|
|
45
|
+
/** One line to log when the build is skipped. */
|
|
46
|
+
warning?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Decide whether production AI mode builds the Firebase SDK. Plain
|
|
50
|
+
* `pyric sandbox` serves the page itself, so a missing `firebase` throws.
|
|
51
|
+
* With a child command the child resolves `firebase` on its own, so a
|
|
52
|
+
* missing one only skips the build and warns.
|
|
53
|
+
*/
|
|
54
|
+
export declare function planProjectFirebase(projectDir: string, hasChildCommand: boolean, env?: NodeJS.ProcessEnv): ProjectFirebasePlan;
|
|
23
55
|
export interface BundleOptions {
|
|
24
56
|
/** Entry files (the wrapper modules in `entries/`), keyed by the served
|
|
25
57
|
* basename (`auth` → `/__pyric/sdk/auth.js`). */
|
|
@@ -29,6 +61,14 @@ export interface BundleOptions {
|
|
|
29
61
|
/** Override the cache root (tests). Default `~/.pyric/serve-cache`. */
|
|
30
62
|
cacheRoot?: string;
|
|
31
63
|
minify?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Production AI mode: also build the Firebase SDK from this project's own
|
|
66
|
+
* `firebase` install (`/__pyric/sdk/firebase-sdk-*.js`). Absent in sandbox
|
|
67
|
+
* AI mode, which neither builds nor serves it.
|
|
68
|
+
*/
|
|
69
|
+
projectFirebase?: {
|
|
70
|
+
projectDir: string;
|
|
71
|
+
};
|
|
32
72
|
}
|
|
33
73
|
export interface BundleResult {
|
|
34
74
|
outDir: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../src/serve/bundler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../src/serve/bundler.ts"],"names":[],"mappings":"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"}
|
package/dist/serve/bundler.js
CHANGED
|
@@ -27,6 +27,7 @@ import { homedir } from 'node:os';
|
|
|
27
27
|
import { dirname, join, relative, sep } from 'node:path';
|
|
28
28
|
import { fileURLToPath } from 'node:url';
|
|
29
29
|
import * as esbuild from 'esbuild';
|
|
30
|
+
import { bridgeImportEntryKey, REAL_SDK_ENTRIES } from './firebase-module-swap.js';
|
|
30
31
|
export { SDK_MODULES } from './firebase-module-swap.js';
|
|
31
32
|
/**
|
|
32
33
|
* The wrapper entries shipped with @pyric/cli, located relative to this
|
|
@@ -149,8 +150,124 @@ function nodeShimPlugin() {
|
|
|
149
150
|
},
|
|
150
151
|
};
|
|
151
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Send the shadow-app wrappers' own `firebase/app` and `firebase/app-check`
|
|
155
|
+
* imports to the Firebase SDK bundle `pyric sandbox` builds in production AI
|
|
156
|
+
* mode (`/__pyric/sdk/firebase-sdk-*.js`). Left bare, the import map would
|
|
157
|
+
* send them back to the wrappers themselves. The rule is
|
|
158
|
+
* `isBypassedBridgeImport`, which the Vite and register planes read too.
|
|
159
|
+
*/
|
|
160
|
+
function bridgeImportPlugin() {
|
|
161
|
+
return {
|
|
162
|
+
name: 'pyric-serve-bridge-imports',
|
|
163
|
+
setup(build) {
|
|
164
|
+
build.onResolve({ filter: /^firebase\// }, (args) => {
|
|
165
|
+
const key = bridgeImportEntryKey(args.path, args.importer);
|
|
166
|
+
if (key === undefined)
|
|
167
|
+
return undefined;
|
|
168
|
+
return { path: `/__pyric/sdk/${key}.js`, external: true };
|
|
169
|
+
});
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Find the `firebase` package the project's own code resolves, walking up
|
|
175
|
+
* `node_modules` directories from `projectDir` as Node does. Throws a message
|
|
176
|
+
* that tells the user to install it when there is none.
|
|
177
|
+
*/
|
|
178
|
+
export function resolveProjectFirebase(projectDir) {
|
|
179
|
+
let dir = projectDir;
|
|
180
|
+
while (true) {
|
|
181
|
+
const manifest = join(dir, 'node_modules', 'firebase', 'package.json');
|
|
182
|
+
if (existsSync(manifest)) {
|
|
183
|
+
const pkg = JSON.parse(readFileSync(manifest, 'utf8'));
|
|
184
|
+
return { root: dirname(manifest), version: pkg.version ?? '0.0.0' };
|
|
185
|
+
}
|
|
186
|
+
const parent = dirname(dir);
|
|
187
|
+
if (parent === dir)
|
|
188
|
+
break;
|
|
189
|
+
dir = parent;
|
|
190
|
+
}
|
|
191
|
+
throw new Error(`pyric sandbox: production AI mode (${productionModeSetting(process.env)}) serves the Firebase SDK from this project, ` +
|
|
192
|
+
`but no firebase package resolves from ${projectDir}. Install it with \`npm install firebase\`, ` +
|
|
193
|
+
`or unset ${productionModeSetting(process.env).split('=')[0]} to answer firebase/ai from the Pyric sandbox.`);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* The environment setting that turned production AI mode on, for messages.
|
|
197
|
+
* `PYRIC_AI_MODE=production` wins; otherwise the passthrough switch did it.
|
|
198
|
+
*/
|
|
199
|
+
export function productionModeSetting(env) {
|
|
200
|
+
const isModeSet = env.PYRIC_AI_MODE === 'production';
|
|
201
|
+
return isModeSet ? 'PYRIC_AI_MODE=production' : 'PYRIC_AI_PASSTHROUGH=1';
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Decide whether production AI mode builds the Firebase SDK. Plain
|
|
205
|
+
* `pyric sandbox` serves the page itself, so a missing `firebase` throws.
|
|
206
|
+
* With a child command the child resolves `firebase` on its own, so a
|
|
207
|
+
* missing one only skips the build and warns.
|
|
208
|
+
*/
|
|
209
|
+
export function planProjectFirebase(projectDir, hasChildCommand, env = process.env) {
|
|
210
|
+
try {
|
|
211
|
+
resolveProjectFirebase(projectDir);
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
if (!hasChildCommand)
|
|
215
|
+
throw error;
|
|
216
|
+
return {
|
|
217
|
+
warning: ` ⚠ production AI mode (${productionModeSetting(env)}): no firebase package resolves from ${projectDir}, ` +
|
|
218
|
+
`so the Firebase SDK is not built. Pages the sandbox serves itself (import map) need firebase installed where pyric starts; ` +
|
|
219
|
+
`your command resolves firebase on its own.`,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
return { projectFirebase: { projectDir } };
|
|
223
|
+
}
|
|
224
|
+
const REAL_SDK_NAMESPACE = 'pyric-firebase-sdk';
|
|
225
|
+
/**
|
|
226
|
+
* Build `firebase/app`, `firebase/ai` and `firebase/app-check` from the
|
|
227
|
+
* project's `firebase` install into `outDir`, in one pass with splitting so
|
|
228
|
+
* the three share one `@firebase/app` component registry, as Vite's
|
|
229
|
+
* dependency optimizer does.
|
|
230
|
+
*/
|
|
231
|
+
async function bundleProjectFirebase(outDir, projectDir, firebase, minify) {
|
|
232
|
+
const entryPoints = {};
|
|
233
|
+
for (const [specifier, key] of REAL_SDK_ENTRIES)
|
|
234
|
+
entryPoints[key] = `${REAL_SDK_NAMESPACE}:${specifier}`;
|
|
235
|
+
const result = await esbuild.build({
|
|
236
|
+
entryPoints,
|
|
237
|
+
outdir: outDir,
|
|
238
|
+
bundle: true,
|
|
239
|
+
format: 'esm',
|
|
240
|
+
platform: 'browser',
|
|
241
|
+
splitting: true,
|
|
242
|
+
sourcemap: 'linked',
|
|
243
|
+
minify,
|
|
244
|
+
logLevel: 'silent',
|
|
245
|
+
chunkNames: 'firebase-sdk-[hash]',
|
|
246
|
+
banner: {
|
|
247
|
+
js: `/* The Firebase JS SDK, firebase@${firebase.version} from this project, built by pyric sandbox for production AI mode. */`,
|
|
248
|
+
},
|
|
249
|
+
plugins: [{
|
|
250
|
+
name: 'pyric-serve-project-firebase',
|
|
251
|
+
setup(build) {
|
|
252
|
+
build.onResolve({ filter: new RegExp(`^${REAL_SDK_NAMESPACE}:`) }, (args) => ({
|
|
253
|
+
path: args.path.slice(REAL_SDK_NAMESPACE.length + 1),
|
|
254
|
+
namespace: REAL_SDK_NAMESPACE,
|
|
255
|
+
}));
|
|
256
|
+
build.onLoad({ filter: /.*/, namespace: REAL_SDK_NAMESPACE }, (args) => ({
|
|
257
|
+
contents: `export * from ${JSON.stringify(args.path)};`,
|
|
258
|
+
resolveDir: projectDir,
|
|
259
|
+
loader: 'js',
|
|
260
|
+
}));
|
|
261
|
+
},
|
|
262
|
+
}],
|
|
263
|
+
});
|
|
264
|
+
const hasBuildErrors = result.errors.length > 0;
|
|
265
|
+
if (hasBuildErrors) {
|
|
266
|
+
throw new Error(`pyric sandbox: building firebase@${firebase.version} for production AI mode failed:\n${result.errors.map((e) => e.text).join('\n')}`);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
152
269
|
/** Bump when bundler logic changes in a way that must invalidate caches. */
|
|
153
|
-
const BUNDLER_REV =
|
|
270
|
+
const BUNDLER_REV = 10; // 10: wrappers import the project's Firebase SDK by URL; production keys cover it
|
|
154
271
|
const RESOLUTION_FILES = [
|
|
155
272
|
'bun.lock',
|
|
156
273
|
'bun.lockb',
|
|
@@ -224,10 +341,21 @@ export function cacheKey(opts, version, graphRoot = dirname(dirname(fileURLToPat
|
|
|
224
341
|
h.update(name);
|
|
225
342
|
h.update(readFileSync(file, 'utf8'));
|
|
226
343
|
}
|
|
344
|
+
// Production AI mode also serves the project's Firebase SDK, so upgrading
|
|
345
|
+
// `firebase`, or a project resolving another copy, rebuilds it.
|
|
346
|
+
const projectFirebase = opts.projectFirebase;
|
|
347
|
+
if (projectFirebase) {
|
|
348
|
+
const firebase = resolveProjectFirebase(projectFirebase.projectDir);
|
|
349
|
+
h.update(`firebase-sdk\0${firebase.root}\0${firebase.version}`);
|
|
350
|
+
}
|
|
227
351
|
return `${version}-${h.digest('hex').slice(0, 12)}`;
|
|
228
352
|
}
|
|
229
353
|
// ─── the bundle step ──────────────────────────────────────────────────
|
|
230
354
|
export async function bundleSdk(opts) {
|
|
355
|
+
// Resolved first, so a project without `firebase` fails before any build.
|
|
356
|
+
const projectFirebase = opts.projectFirebase
|
|
357
|
+
? { ...opts.projectFirebase, firebase: resolveProjectFirebase(opts.projectFirebase.projectDir) }
|
|
358
|
+
: undefined;
|
|
231
359
|
const root = pyricPackageRoot();
|
|
232
360
|
const version = pyricVersion(root);
|
|
233
361
|
const key = cacheKey(opts, version);
|
|
@@ -273,12 +401,15 @@ export async function bundleSdk(opts) {
|
|
|
273
401
|
js: '/* pyric sandbox shim serving firebase/*. This is not the real Firebase SDK. */',
|
|
274
402
|
},
|
|
275
403
|
external: ['firebase/*'],
|
|
276
|
-
plugins: [pyricResolvePlugin(), nodeShimPlugin()],
|
|
404
|
+
plugins: [pyricResolvePlugin(), nodeShimPlugin(), bridgeImportPlugin()],
|
|
277
405
|
});
|
|
278
406
|
const hasBuildErrors = result.errors.length > 0;
|
|
279
407
|
if (hasBuildErrors) {
|
|
280
408
|
throw new Error(`pyric sandbox: SDK bundle failed:\n${result.errors.map((e) => e.text).join('\n')}`);
|
|
281
409
|
}
|
|
410
|
+
if (projectFirebase) {
|
|
411
|
+
await bundleProjectFirebase(outDir, projectFirebase.projectDir, projectFirebase.firebase, opts.minify ?? true);
|
|
412
|
+
}
|
|
282
413
|
writeFileSync(join(outDir, '.complete'), new Date().toISOString());
|
|
283
414
|
const files = readdirSync(outDir)
|
|
284
415
|
.filter((f) => f.endsWith('.js'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../src/serve/bundler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../src/serve/bundler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,gBAAgB;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,cAAc;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,aAAa,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC;IACF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;QAChB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAChD,8BAA8B,EAAE,IAAI,CAAC,8BAA8B,CAAC;QACpE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACxC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC;QACpC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAC9B,aAAgC;IAC9B,aAAa,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,aAAa,CAAC,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;CACpE;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AAEzE;mEACmE;AACnE,MAAM,UAAU,gBAAgB;IAC9B,qEAAqE;IACrE,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpE,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAsB,CAAC;IAC7F,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,gEAAgE,GAAG,CAAC,IAAI,QAAQ,GAAG,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,gBAAgB,EAAE;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAyB,CAAC;IACjG,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;AAChC,CAAC;AAED,yEAAyE;AAEzE;;;sEAGsE;AACtE,SAAS,kBAAkB;IACzB,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpD,CAAC,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC;AAED;uDACuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAEzD;;;;wBAIwB;AACxB,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,EAAE,EAAE;;;oFAG8E;IAClF,GAAG,EAAE;;iDAE0C;IAC/C,IAAI,EAAE;;;;qDAI6C;CACpD,CAAC;AAEF,SAAS,cAAc;IACrB,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,iBAAiB;aAC7B,CAAC,CAAC,CAAC;YACJ,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtE,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAE;gBACxC,MAAM,EAAE,IAAI;aACb,CAAC,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB;IACzB,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClD,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3D,IAAI,GAAG,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBACxC,OAAO,EAAE,IAAI,EAAE,gBAAgB,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,IAAI,GAAG,GAAG,UAAU,CAAC;IACrB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACvE,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAyB,CAAC;YAC/E,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CACb,sCAAsC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,+CAA+C;QACrH,yCAAyC,UAAU,8CAA8C;QACjG,YAAY,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gDAAgD,CAC/G,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAsB;IAC1D,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,KAAK,YAAY,CAAC;IACrD,OAAO,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,wBAAwB,CAAC;AAC3E,CAAC;AASD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,eAAwB,EAAE,MAAyB,OAAO,CAAC,GAAG;IACpH,IAAI,CAAC;QACH,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,eAAe;YAAE,MAAM,KAAK,CAAC;QAClC,OAAO;YACL,OAAO,EACL,2BAA2B,qBAAqB,CAAC,GAAG,CAAC,wCAAwC,UAAU,IAAI;gBAC3G,6HAA6H;gBAC7H,4CAA4C;SAC/C,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC;AAC7C,CAAC;AAGD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAAC,MAAc,EAAE,UAAkB,EAAE,QAAyB,EAAE,MAAe;IACjH,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,gBAAgB;QAAE,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,kBAAkB,IAAI,SAAS,EAAE,CAAC;IACzG,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;QACjC,WAAW;QACX,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,QAAQ;QACnB,MAAM;QACN,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,qBAAqB;QACjC,MAAM,EAAE;YACN,EAAE,EAAE,oCAAoC,QAAQ,CAAC,OAAO,uEAAuE;SAChI;QACD,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,8BAA8B;gBACpC,KAAK,CAAC,KAAK;oBACT,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,kBAAkB,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC5E,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;wBACpD,SAAS,EAAE,kBAAkB;qBAC9B,CAAC,CAAC,CAAC;oBACJ,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACvE,QAAQ,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBACvD,UAAU,EAAE,UAAU;wBACtB,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC,CAAC;gBACN,CAAC;aACF,CAAC;KACH,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,CAAC,OAAO,oCAAoC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtI,CAAC;IACJ,CAAC;AACH,CAAC;AA+BD,4EAA4E;AAC5E,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,kFAAkF;AAE1G,MAAM,gBAAgB,GAAG;IACvB,UAAU;IACV,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;CACH,CAAC;AAEX,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QACtD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,SAAS,CAAC;QACrC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,SAAiB,EAAE,SAAiB;IACjE,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI;QAC1B,CAAC,KAAK,EAAE,OAAO,CAAC;QAChB,CAAC,OAAO,EAAE,SAAS,CAAC;KACZ,EAAE,CAAC;QACX,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QACpC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,GAAG,GAAG,OAAO,IAAI,SAAS,CAAC;IAC/B,OAAO,IAAI,EAAE,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS;YAChC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAmB,EACnB,OAAe,EACf,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5D,SAAS,GAAG,gBAAgB,EAAE;IAE9B,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,2EAA2E;IAC3E,2CAA2C;IAC3C,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC7C,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC,CAAC,MAAM,CAAC,iBAAiB,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,yEAAyE;AAEzE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAmB;IACjD,0EAA0E;IAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe;QAC1C,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAChG,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC7E,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,qEAAqE;IACrE,4EAA4E;IAC5E,yEAAyE;IACzE,yCAAyC;IACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAC/C,MAAM,cAAc,GAAG,gBAAgB;QACrC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,GAAG,CAAC,CAAC;QACnD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,gBAAgB;QAC9B,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAChE,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEb,MAAM,eAAe,GAAG,CAAC,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACnF,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClD,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACjE;YACD,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;YAC3B,QAAQ,EAAE,QAAQ;YAClB,4EAA4E;YAC5E,UAAU,EAAE,sBAAsB;YAClC,MAAM,EAAE;gBACN,EAAE,EAAE,iFAAiF;aACtF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,OAAO,EAAE,CAAC,kBAAkB,EAAE,EAAE,cAAc,EAAE,EAAE,kBAAkB,EAAE,CAAC;SACxE,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,qBAAqB,CAAC,MAAM,EAAE,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QACjH,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;QACV,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,6EAA6E;AAE7E;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,KAAK,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC;AAeD,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AACpD,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,6EAA6E;AAC7E,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3E,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAS,GAAG,gBAAgB,EAAE,EAC9B,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5D,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,GAAW,EAAQ,EAAE;QAClC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC;iBAChC,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AA6BD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAyB;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;QACzB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3F,CAAC,CAAC,UAAU,CAAC;IACf,IACE,CAAC,IAAI,CAAC,OAAO;QACb,UAAU,CAAC,OAAO,CAAC;QACnB,UAAU,CAAC,MAAM,CAAC;QAClB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAChD,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,EACrC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;QACjC,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,eAAe,EAAE,CAAC;QAClD,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;QAC3B,QAAQ,EAAE,QAAQ;QAClB,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,EAAE,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE;QAC9E,MAAM,EAAE;YACN,EAAE,EAAE,8FAA8F;SACnG;QACD,OAAO,EAAE,CAAC,kBAAkB,EAAE,EAAE,cAAc,EAAE,CAAC;KAClD,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,+CAA+C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7F,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,SAAS;QAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC,CAAC;IACpF,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3D,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as pyricApp from 'pyric/app';
|
|
2
|
-
export declare
|
|
3
|
-
export declare
|
|
4
|
-
export declare
|
|
5
|
-
export declare
|
|
2
|
+
export declare const initializeApp: (options?: pyricApp.FirebaseOptions, rawSettings?: string | pyricApp.FirebaseAppSettings) => pyricApp.FirebaseApp;
|
|
3
|
+
export declare const getApp: (name?: string) => pyricApp.FirebaseApp;
|
|
4
|
+
export declare const getApps: () => pyricApp.FirebaseApp[];
|
|
5
|
+
export declare const deleteApp: (app: pyricApp.FirebaseApp) => Promise<void>;
|
|
6
6
|
export { FirebaseError, SDK_VERSION, onLog, registerVersion, setLogLevel, } from 'pyric/app';
|
|
7
7
|
export type { FirebaseApp, FirebaseAppSettings, FirebaseOptions, LogCallback, LogEntry, LogLevel, LogOptions, } from 'pyric/app';
|
|
8
8
|
//# sourceMappingURL=app-ai-passthrough.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-ai-passthrough.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/app-ai-passthrough.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"app-ai-passthrough.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/app-ai-passthrough.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAStC,eAAO,MAAM,aAAa,mHAAyB,CAAC;AACpD,eAAO,MAAM,MAAM,yCAAkB,CAAC;AACtC,eAAO,MAAM,OAAO,8BAAmB,CAAC;AACxC,eAAO,MAAM,SAAS,8CAAqB,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,EACL,eAAe,EACf,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,MAAM,WAAW,CAAC"}
|