@pyric/cli 0.1.0-alpha.12 → 0.1.0-alpha.13
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/cli/serve.js +4 -4
- package/dist/cli/serve.js.map +1 -1
- package/dist/serve/bundler.d.ts +13 -8
- package/dist/serve/bundler.d.ts.map +1 -1
- package/dist/serve/bundler.js +31 -36
- package/dist/serve/bundler.js.map +1 -1
- package/dist/serve/docs-ui/docs/_rhythm/index.html +1 -1
- package/dist/serve/docs-ui/docs/agent/set-up-your-agent/index.html +1 -1
- package/dist/serve/docs-ui/docs/agent/watch-and-review/index.html +1 -1
- package/dist/serve/docs-ui/docs/agent/work-with-an-agent/index.html +1 -1
- package/dist/serve/docs-ui/docs/ai-compat/index.html +1 -1
- package/dist/serve/docs-ui/docs/api-reference/index.html +1 -1
- package/dist/serve/docs-ui/docs/app-compat/index.html +1 -1
- package/dist/serve/docs-ui/docs/auth-compat/index.html +1 -1
- package/dist/serve/docs-ui/docs/build/ai-logic/index.html +44 -22
- package/dist/serve/docs-ui/docs/build/ai-logic.md +69 -21
- package/dist/serve/docs-ui/docs/build/authentication/index.html +1 -1
- package/dist/serve/docs-ui/docs/build/cloud-firestore/index.html +1 -1
- package/dist/serve/docs-ui/docs/build/cloud-messaging/index.html +1 -1
- package/dist/serve/docs-ui/docs/build/cloud-storage/index.html +1 -1
- package/dist/serve/docs-ui/docs/build/realtime-database/index.html +1 -1
- package/dist/serve/docs-ui/docs/conformance-scores/index.html +1 -1
- package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/database-compat/index.html +1 -1
- package/dist/serve/docs-ui/docs/firestore-compat/index.html +1 -1
- package/dist/serve/docs-ui/docs/functions-rtdb-compat/index.html +1 -1
- package/dist/serve/docs-ui/docs/get-started/how-the-swap-works/index.html +2 -1
- package/dist/serve/docs-ui/docs/get-started/how-the-swap-works.md +2 -0
- package/dist/serve/docs-ui/docs/get-started/start-building/index.html +3 -2
- package/dist/serve/docs-ui/docs/get-started/start-building.md +3 -1
- package/dist/serve/docs-ui/docs/index.json +149 -4
- package/dist/serve/docs-ui/docs/messaging-compat/index.html +1 -1
- package/dist/serve/docs-ui/docs/observe/resolve-runtime-status/index.html +28 -0
- package/dist/serve/docs-ui/docs/observe/resolve-runtime-status.md +47 -0
- package/dist/serve/docs-ui/docs/observe/see-whats-happening/index.html +1 -1
- package/dist/serve/docs-ui/docs/observe/shape-your-data/index.html +1 -1
- package/dist/serve/docs-ui/docs/overview/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-admin-messaging-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +38 -11
- package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +26 -8
- package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +11 -8
- package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +17 -4
- package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +1 -1
- package/dist/serve/docs-ui/docs/rules-compat/index.html +1 -1
- package/dist/serve/docs-ui/docs/secure/audit-your-rules/index.html +1 -1
- package/dist/serve/docs-ui/docs/secure/firestore-rules-limits/index.html +1 -1
- package/dist/serve/docs-ui/docs/secure/read-a-denial/index.html +1 -1
- package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript/index.html +1 -1
- package/dist/serve/docs-ui/docs/secure/rules-standard-library/index.html +1 -1
- package/dist/serve/docs-ui/docs/secure/secure-it-with-rules/index.html +1 -1
- package/dist/serve/docs-ui/docs/secure/simulate-and-lint/index.html +1 -1
- package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite/index.html +1 -1
- package/dist/serve/docs-ui/docs/ship/ship-to-production/index.html +1 -1
- package/dist/serve/docs-ui/docs/ship/test-in-node/index.html +1 -1
- package/dist/serve/docs-ui/docs/storage-compat/index.html +1 -1
- package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase/index.html +1 -1
- package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility/index.html +1 -1
- package/dist/serve/docs-ui/docs/tutorial/index.html +429 -0
- package/dist/serve/docs-ui/docs/tutorial.md +701 -0
- package/dist/serve/docs-ui/llms.txt +2 -0
- package/dist/serve/entries/init.d.ts.map +1 -1
- package/dist/serve/entries/init.js +3 -0
- package/dist/serve/entries/init.js.map +1 -1
- package/dist/serve/entries/runtime.d.ts.map +1 -1
- package/dist/serve/entries/runtime.js +20 -5
- package/dist/serve/entries/runtime.js.map +1 -1
- package/dist/serve/entries/worker-runtime.d.ts +2 -2
- package/dist/serve/entries/worker-runtime.d.ts.map +1 -1
- package/dist/serve/entries/worker-runtime.js +45 -10
- package/dist/serve/entries/worker-runtime.js.map +1 -1
- package/dist/serve/runtime/chip-config.d.ts +19 -0
- package/dist/serve/runtime/chip-config.d.ts.map +1 -0
- package/dist/serve/runtime/chip-config.js +19 -0
- package/dist/serve/runtime/chip-config.js.map +1 -0
- package/dist/serve/runtime/chip-install.d.ts +10 -0
- package/dist/serve/runtime/chip-install.d.ts.map +1 -0
- package/dist/serve/runtime/chip-install.js +15 -0
- package/dist/serve/runtime/chip-install.js.map +1 -0
- package/dist/serve/runtime/chip.d.ts +17 -0
- package/dist/serve/runtime/chip.d.ts.map +1 -0
- package/dist/serve/runtime/chip.js +257 -0
- package/dist/serve/runtime/chip.js.map +1 -0
- package/dist/serve/runtime/manifest.d.ts +22 -0
- package/dist/serve/runtime/manifest.d.ts.map +1 -0
- package/dist/serve/runtime/manifest.js +20 -0
- package/dist/serve/runtime/manifest.js.map +1 -0
- package/dist/serve/runtime/status.d.ts +49 -0
- package/dist/serve/runtime/status.d.ts.map +1 -0
- package/dist/serve/runtime/status.js +164 -0
- package/dist/serve/runtime/status.js.map +1 -0
- package/dist/serve/runtime/worker-connection.d.ts +4 -0
- package/dist/serve/runtime/worker-connection.d.ts.map +1 -0
- package/dist/serve/runtime/worker-connection.js +11 -0
- package/dist/serve/runtime/worker-connection.js.map +1 -0
- package/dist/serve/runtime/worker-generation.d.ts +14 -0
- package/dist/serve/runtime/worker-generation.d.ts.map +1 -0
- package/dist/serve/runtime/worker-generation.js +56 -0
- package/dist/serve/runtime/worker-generation.js.map +1 -0
- package/dist/serve/runtime/worker-replacement.d.ts +18 -0
- package/dist/serve/runtime/worker-replacement.d.ts.map +1 -0
- package/dist/serve/runtime/worker-replacement.js +29 -0
- package/dist/serve/runtime/worker-replacement.js.map +1 -0
- package/dist/serve/standalone-assets.d.ts +2 -2
- package/dist/serve/standalone-assets.d.ts.map +1 -1
- package/dist/serve/standalone-assets.js +1 -1
- package/dist/serve/standalone-assets.js.map +1 -1
- package/dist/serve/studio-ui/assets/{RulesCodeEditor-CxVYcZXw.js → RulesCodeEditor-BDlH-5lp.js} +1 -1
- package/dist/serve/studio-ui/assets/{index-cpSfgQ7H.js → index-Bf9SSE8L.js} +5 -5
- package/dist/serve/studio-ui/assets/{seed-DeuFKi4J.js → seed-D_UjxfOU.js} +1 -1
- package/dist/serve/studio-ui/index.html +1 -1
- package/dist/serve/vite-ai-config.d.ts +25 -0
- package/dist/serve/vite-ai-config.d.ts.map +1 -0
- package/dist/serve/vite-ai-config.js +45 -0
- package/dist/serve/vite-ai-config.js.map +1 -0
- package/dist/serve/vite-plugin.d.ts +17 -36
- package/dist/serve/vite-plugin.d.ts.map +1 -1
- package/dist/serve/vite-plugin.js +38 -57
- package/dist/serve/vite-plugin.js.map +1 -1
- package/dist/serve/vite-rules-source.d.ts +8 -0
- package/dist/serve/vite-rules-source.d.ts.map +1 -0
- package/dist/serve/vite-rules-source.js +23 -0
- package/dist/serve/vite-rules-source.js.map +1 -0
- package/dist/serve/vite-worker-runtime.d.ts +20 -0
- package/dist/serve/vite-worker-runtime.d.ts.map +1 -0
- package/dist/serve/vite-worker-runtime.js +25 -0
- package/dist/serve/vite-worker-runtime.js.map +1 -0
- package/dist/serve/worker/client/connection.d.ts +7 -2
- package/dist/serve/worker/client/connection.d.ts.map +1 -1
- package/dist/serve/worker/client/connection.js +13 -16
- package/dist/serve/worker/client/connection.js.map +1 -1
- package/dist/serve/worker/client/core.d.ts +7 -0
- package/dist/serve/worker/client/core.d.ts.map +1 -1
- package/dist/serve/worker/client/core.js +28 -0
- package/dist/serve/worker/client/core.js.map +1 -1
- package/dist/serve/worker/client/runtime-control.d.ts +8 -0
- package/dist/serve/worker/client/runtime-control.d.ts.map +1 -0
- package/dist/serve/worker/client/runtime-control.js +11 -0
- package/dist/serve/worker/client/runtime-control.js.map +1 -0
- package/dist/serve/worker/entry.js +44 -2
- package/dist/serve/worker/entry.js.map +1 -1
- package/dist/serve/worker/host/studio.js +1 -1
- package/dist/serve/worker/host/studio.js.map +1 -1
- package/dist/serve/worker/host-context.d.ts +1 -1
- package/dist/serve/worker/host-context.d.ts.map +1 -1
- package/dist/serve/worker/protocol.d.ts +15 -1
- package/dist/serve/worker/protocol.d.ts.map +1 -1
- package/dist/serve/worker/protocol.js.map +1 -1
- package/dist/serve/worker/retirement.d.ts +21 -0
- package/dist/serve/worker/retirement.d.ts.map +1 -0
- package/dist/serve/worker/retirement.js +97 -0
- package/dist/serve/worker/retirement.js.map +1 -0
- package/dist/serve/worker/serve-init.d.ts.map +1 -1
- package/dist/serve/worker/serve-init.js +5 -6
- package/dist/serve/worker/serve-init.js.map +1 -1
- package/dist/vite.d.ts +1 -0
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js.map +1 -1
- package/package.json +5 -4
- package/src/cli/serve.ts +4 -4
- package/src/serve/bundler.ts +41 -15
- package/src/serve/entries/init.ts +3 -0
- package/src/serve/entries/runtime.ts +23 -7
- package/src/serve/entries/worker-runtime.ts +69 -9
- package/src/serve/runtime/chip-config.ts +30 -0
- package/src/serve/runtime/chip-install.ts +27 -0
- package/src/serve/runtime/chip.ts +282 -0
- package/src/serve/runtime/manifest.ts +37 -0
- package/src/serve/runtime/status.ts +216 -0
- package/src/serve/runtime/worker-connection.ts +14 -0
- package/src/serve/runtime/worker-generation.ts +75 -0
- package/src/serve/runtime/worker-replacement.ts +42 -0
- package/src/serve/standalone-assets.ts +2 -2
- package/src/serve/vite-ai-config.ts +77 -0
- package/src/serve/vite-plugin.ts +60 -87
- package/src/serve/vite-rules-source.ts +28 -0
- package/src/serve/vite-worker-runtime.ts +51 -0
- package/src/serve/worker/client/connection.ts +29 -4
- package/src/serve/worker/client/core.ts +34 -0
- package/src/serve/worker/client/runtime-control.ts +22 -0
- package/src/serve/worker/entry.ts +46 -2
- package/src/serve/worker/host/studio.ts +1 -1
- package/src/serve/worker/host-context.ts +1 -1
- package/src/serve/worker/protocol.ts +13 -1
- package/src/serve/worker/retirement.ts +125 -0
- package/src/serve/worker/serve-init.ts +5 -6
- package/src/vite.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/serve/worker/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,yEAAyE;AACzE,8DAA8D;AAC9D,0EAA0E;AAC1E,4EAA4E;AAC5E,qEAAqE;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAiGzE,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,OAAO,CACL,CAAC,KAAK,IAAI;QACV,OAAO,CAAC,KAAK,QAAQ;QACrB,YAAY,IAAK,CAAY;QAC7B,OAAQ,CAA6B,CAAC,UAAU,KAAK,QAAQ,CAC9D,CAAC;AACJ,CAAC;AA8JD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,IAiBQ;IAER,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;QAC1C,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;QACrC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;QACnC,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/serve/worker/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
interface RetirementPort {
|
|
2
|
+
postMessage(message: unknown): void;
|
|
3
|
+
}
|
|
4
|
+
interface WorkerRetirementOptions {
|
|
5
|
+
closeWorker(): void;
|
|
6
|
+
beforeAnnounce?(): Promise<void>;
|
|
7
|
+
drainTimeoutMs?: number;
|
|
8
|
+
schedule?: (run: () => void) => void;
|
|
9
|
+
}
|
|
10
|
+
export interface WorkerRetirement {
|
|
11
|
+
connect(port: RetirementPort): void;
|
|
12
|
+
disconnect(port: RetirementPort): void;
|
|
13
|
+
track(port: RetirementPort, work: Promise<void>): void;
|
|
14
|
+
trackDetached(work: Promise<void>): void;
|
|
15
|
+
accepting(): boolean;
|
|
16
|
+
retire(requester: RetirementPort, requestId: string, targetEpoch: string): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
/** Drain already-accepted port work before every page reloads onto a new worker. */
|
|
19
|
+
export declare function createWorkerRetirement(options: WorkerRetirementOptions): WorkerRetirement;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=retirement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retirement.d.ts","sourceRoot":"","sources":["../../../src/serve/worker/retirement.ts"],"names":[],"mappings":"AAAA,UAAU,cAAc;IACtB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACrC;AAED,UAAU,uBAAuB;IAC/B,WAAW,IAAI,IAAI,CAAC;IACpB,cAAc,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACpC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzC,SAAS,IAAI,OAAO,CAAC;IACrB,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAuGzF"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/** Drain already-accepted port work before every page reloads onto a new worker. */
|
|
2
|
+
export function createWorkerRetirement(options) {
|
|
3
|
+
const ports = new Set();
|
|
4
|
+
const workByPort = new Map();
|
|
5
|
+
const detachedWork = new Set();
|
|
6
|
+
const requests = [];
|
|
7
|
+
const schedule = options.schedule ?? ((run) => { setTimeout(run, 50); });
|
|
8
|
+
const drainTimeoutMs = options.drainTimeoutMs ?? 10_000;
|
|
9
|
+
let retiring = false;
|
|
10
|
+
let announced = false;
|
|
11
|
+
let announcedEpoch = null;
|
|
12
|
+
let retirement = null;
|
|
13
|
+
const timeout = (work) => new Promise((resolve, reject) => {
|
|
14
|
+
const timer = setTimeout(() => reject(new Error(`Worker retirement drain timed out after ${drainTimeoutMs}ms.`)), drainTimeoutMs);
|
|
15
|
+
void work.then(() => { clearTimeout(timer); resolve(); }, (error) => { clearTimeout(timer); reject(error); });
|
|
16
|
+
});
|
|
17
|
+
const failRequests = (error) => {
|
|
18
|
+
for (const request of requests.splice(0)) {
|
|
19
|
+
request.requester.postMessage({
|
|
20
|
+
t: 'res', id: request.requestId, ok: false,
|
|
21
|
+
error: { code: 'pyric/worker-retirement-timeout', message: error.message },
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
return {
|
|
26
|
+
connect(port) {
|
|
27
|
+
ports.add(port);
|
|
28
|
+
if (announcedEpoch) {
|
|
29
|
+
port.postMessage({ t: 'runtime-reload', epoch: announcedEpoch });
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
disconnect(port) {
|
|
33
|
+
ports.delete(port);
|
|
34
|
+
},
|
|
35
|
+
track(port, work) {
|
|
36
|
+
workByPort.set(port, work);
|
|
37
|
+
const settled = () => {
|
|
38
|
+
if (workByPort.get(port) === work)
|
|
39
|
+
workByPort.delete(port);
|
|
40
|
+
};
|
|
41
|
+
void work.then(settled, settled);
|
|
42
|
+
},
|
|
43
|
+
trackDetached(work) {
|
|
44
|
+
detachedWork.add(work);
|
|
45
|
+
void work.then(() => { detachedWork.delete(work); }, () => { detachedWork.delete(work); });
|
|
46
|
+
},
|
|
47
|
+
accepting: () => !retiring,
|
|
48
|
+
async retire(requester, requestId, targetEpoch) {
|
|
49
|
+
if (!/^[a-f0-9]{16}$/.test(targetEpoch)) {
|
|
50
|
+
requester.postMessage({
|
|
51
|
+
t: 'res', id: requestId, ok: false,
|
|
52
|
+
error: { code: 'pyric/invalid-worker-epoch', message: 'Invalid replacement worker epoch.' },
|
|
53
|
+
});
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (announced) {
|
|
57
|
+
requester.postMessage({
|
|
58
|
+
t: 'res', id: requestId, ok: true, value: { retiring: true },
|
|
59
|
+
});
|
|
60
|
+
requester.postMessage({ t: 'runtime-reload', epoch: announcedEpoch });
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
requests.push({ requester, requestId });
|
|
64
|
+
if (!retirement) {
|
|
65
|
+
retiring = true;
|
|
66
|
+
const acceptedWork = [...workByPort.values(), ...detachedWork];
|
|
67
|
+
const attempt = { cancelled: false };
|
|
68
|
+
retirement = timeout((async () => {
|
|
69
|
+
await Promise.allSettled(acceptedWork);
|
|
70
|
+
if (attempt.cancelled)
|
|
71
|
+
return;
|
|
72
|
+
await options.beforeAnnounce?.();
|
|
73
|
+
if (attempt.cancelled)
|
|
74
|
+
return;
|
|
75
|
+
for (const request of requests.splice(0)) {
|
|
76
|
+
request.requester.postMessage({
|
|
77
|
+
t: 'res', id: request.requestId, ok: true, value: { retiring: true },
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
announced = true;
|
|
81
|
+
announcedEpoch = targetEpoch;
|
|
82
|
+
for (const port of ports) {
|
|
83
|
+
port.postMessage({ t: 'runtime-reload', epoch: targetEpoch });
|
|
84
|
+
}
|
|
85
|
+
schedule(options.closeWorker);
|
|
86
|
+
})()).catch((error) => {
|
|
87
|
+
attempt.cancelled = true;
|
|
88
|
+
retiring = false;
|
|
89
|
+
retirement = null;
|
|
90
|
+
failRequests(error instanceof Error ? error : new Error(String(error)));
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
await retirement;
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=retirement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retirement.js","sourceRoot":"","sources":["../../../src/serve/worker/retirement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-init.d.ts","sourceRoot":"","sources":["../../../src/serve/worker/serve-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAKxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAqC,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAG5E;4EAC4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB;0DACsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;qDACqD;AACrD,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/E,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,GAChD,MAAM,IAAI,CAaZ;AAED;wEACwE;AACxE,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;gBAKY;IACZ,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,sEAAsE;IACtE,gBAAgB,EAAE,OAAO,CAAC;IAC1B;oEACgE;IAChE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;gDAE4C;IAC5C,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,OAAO,IAAI,IAAI,CAAC;CACjB;AAsBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,YAAY,GAChB,eAAe,
|
|
1
|
+
{"version":3,"file":"serve-init.d.ts","sourceRoot":"","sources":["../../../src/serve/worker/serve-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAKxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAqC,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAG5E;4EAC4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB;0DACsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;qDACqD;AACrD,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/E,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,GAChD,MAAM,IAAI,CAaZ;AAED;wEACwE;AACxE,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;gBAKY;IACZ,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,sEAAsE;IACtE,gBAAgB,EAAE,OAAO,CAAC;IAC1B;oEACgE;IAChE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;gDAE4C;IAC5C,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,OAAO,IAAI,IAAI,CAAC;CACjB;AAsBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,YAAY,GAChB,eAAe,CAiLjB;AAID;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAID;;;8DAG8D;AAC9D,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEvE;AAaD;+EAC+E;AAC/E,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD;kFAC8E;IAC9E,GAAG,EAAE,kBAAkB,CAAC;IACxB;;6EAEyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;gCAC4B;IAC5B,eAAe,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,CAAC,GAAG,IAAI,CAAC;CAC7D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAuH7E"}
|
|
@@ -196,7 +196,7 @@ export function applyServeInit(ctx, payload, env) {
|
|
|
196
196
|
if (payload.capture) {
|
|
197
197
|
const debounceMs = payload.capture ? (env.captureDebounceMs ?? 400) : 0;
|
|
198
198
|
let timer = null;
|
|
199
|
-
const flush = () => {
|
|
199
|
+
const flush = async () => {
|
|
200
200
|
const rtdb = ctx.rtdb ??= getDatabase(ctx.sandbox);
|
|
201
201
|
const rtdbState = payload.databaseRules || ctx.sandbox.history().some((event) => event.service === 'rtdb')
|
|
202
202
|
? rtdbSandbox.snapshotState(rtdb)
|
|
@@ -218,8 +218,7 @@ export function applyServeInit(ctx, payload, env) {
|
|
|
218
218
|
}));
|
|
219
219
|
// Relative URL resolves against the worker script's origin (same origin
|
|
220
220
|
// as the page). Fire-and-forget — capture failures never break ops.
|
|
221
|
-
env
|
|
222
|
-
.fetch('/__pyric/capture', {
|
|
221
|
+
await env.fetch('/__pyric/capture', {
|
|
223
222
|
method: 'POST',
|
|
224
223
|
headers: { 'content-type': 'application/json' },
|
|
225
224
|
body,
|
|
@@ -229,7 +228,7 @@ export function applyServeInit(ctx, payload, env) {
|
|
|
229
228
|
const unsub = ctx.sandbox.onEvent(() => {
|
|
230
229
|
if (timer)
|
|
231
230
|
clearTimeout(timer);
|
|
232
|
-
timer = setTimeout(flush, debounceMs);
|
|
231
|
+
timer = setTimeout(() => { void flush(); }, debounceMs);
|
|
233
232
|
});
|
|
234
233
|
result.captureEnabled = true;
|
|
235
234
|
// Immediate-flush seam for the `resetAll` op (issue #359 extension):
|
|
@@ -239,12 +238,12 @@ export function applyServeInit(ctx, payload, env) {
|
|
|
239
238
|
// the next boot's `hydrateEventHistory` would prime them straight back
|
|
240
239
|
// into Traffic. Bypasses the debounce; cancels any pending flush (it
|
|
241
240
|
// would only re-write the same post-reset history).
|
|
242
|
-
ctx.captureFlush = () => {
|
|
241
|
+
ctx.captureFlush = async () => {
|
|
243
242
|
if (timer) {
|
|
244
243
|
clearTimeout(timer);
|
|
245
244
|
timer = null;
|
|
246
245
|
}
|
|
247
|
-
flush();
|
|
246
|
+
await flush();
|
|
248
247
|
};
|
|
249
248
|
result.dispose = () => {
|
|
250
249
|
if (timer)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-init.js","sourceRoot":"","sources":["../../../src/serve/worker/serve-init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serve-init.js","sourceRoot":"","sources":["../../../src/serve/worker/serve-init.ts"],"names":[],"mappings":"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"}
|
package/dist/vite.d.ts
CHANGED
|
@@ -8,5 +8,6 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export { pyric } from './serve/vite-plugin.js';
|
|
10
10
|
export type { PyricOptions } from './serve/vite-plugin.js';
|
|
11
|
+
export type { PyricRuntimeChipOption } from './serve/runtime/chip-config.js';
|
|
11
12
|
export { NODE_BUILTIN_RE, NODE_BUILTIN_SHIMS } from './serve/bundler.js';
|
|
12
13
|
//# sourceMappingURL=vite.d.ts.map
|
package/dist/vite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAO7E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/vite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAI/C,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,4EAA4E;AAC5E,uEAAuE;AACvE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pyric/cli",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.13",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"homepage": "https://pyric.dev",
|
|
6
6
|
"repository": {
|
|
@@ -114,11 +114,11 @@
|
|
|
114
114
|
"dependencies": {
|
|
115
115
|
"@inbrowser/agent": "0.4.2",
|
|
116
116
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
117
|
-
"create-pyric": "^0.1.0-alpha.
|
|
117
|
+
"create-pyric": "^0.1.0-alpha.13",
|
|
118
118
|
"esbuild": "^0.28.0",
|
|
119
119
|
"fake-indexeddb": "^6.0.0",
|
|
120
|
-
"pyric": "^0.1.0-alpha.
|
|
121
|
-
"pyric-admin": "^0.1.0-alpha.
|
|
120
|
+
"pyric": "^0.1.0-alpha.13",
|
|
121
|
+
"pyric-admin": "^0.1.0-alpha.13",
|
|
122
122
|
"ws": "^8.18.0",
|
|
123
123
|
"zod": "^3.23.0"
|
|
124
124
|
},
|
|
@@ -129,6 +129,7 @@
|
|
|
129
129
|
"@types/ws": "^8.5.0",
|
|
130
130
|
"firebase": "^12.12.0",
|
|
131
131
|
"firebase-admin": "^13.0.0",
|
|
132
|
+
"jsdom": "^29.1.1",
|
|
132
133
|
"typescript": "^5.7.0",
|
|
133
134
|
"vite": "^5.0.0"
|
|
134
135
|
},
|
package/src/cli/serve.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { dirname, join, relative, resolve } from 'node:path';
|
|
|
14
14
|
import { existsSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
15
15
|
import type { ParsedArgs } from './parse-args.js';
|
|
16
16
|
import { readFirebaseJson, readFirebaseRc, type FirebaseJson } from './firebase-json.js';
|
|
17
|
-
import { bundleSdk, bundleWorker, defaultSdkEntries, resolveDocsUiDir, resolveStudioUiDir
|
|
17
|
+
import { bundleSdk, bundleWorker, defaultSdkEntries, resolveDocsUiDir, resolveStudioUiDir } from '../serve/bundler.js';
|
|
18
18
|
import {
|
|
19
19
|
isStandalone,
|
|
20
20
|
materializeDocsUi,
|
|
@@ -318,7 +318,7 @@ export async function startServe(opts: {
|
|
|
318
318
|
// and is identical either way.
|
|
319
319
|
const t0 = performance.now();
|
|
320
320
|
let bundle: { outDir: string; cached: boolean; dispose?: () => void };
|
|
321
|
-
// The worker
|
|
321
|
+
// The worker executable epoch: stamped into the page (`<meta name="pyric-worker-v">`)
|
|
322
322
|
// so the page can WARN when a still-running worker is older than the served
|
|
323
323
|
// bundle. The worker NAME is stable (`pyric-shared-worker`) — all tabs share
|
|
324
324
|
// one backend — so a SharedWorker (which can't hot-update) is detected as
|
|
@@ -335,12 +335,12 @@ export async function startServe(opts: {
|
|
|
335
335
|
// fall back to the in-page sandbox. Built alongside the SDK so a warm
|
|
336
336
|
// start skips both.
|
|
337
337
|
try {
|
|
338
|
-
await bundleWorker({ outDir: bundle.outDir, noCache: opts.noCache });
|
|
338
|
+
const worker = await bundleWorker({ outDir: bundle.outDir, noCache: opts.noCache });
|
|
339
|
+
workerVersion = worker.epoch;
|
|
339
340
|
} catch (error) {
|
|
340
341
|
bundle.dispose?.();
|
|
341
342
|
throw error;
|
|
342
343
|
}
|
|
343
|
-
workerVersion = workerSourceHash();
|
|
344
344
|
}
|
|
345
345
|
const bundleMs = Math.round(performance.now() - t0);
|
|
346
346
|
|
package/src/serve/bundler.ts
CHANGED
|
@@ -382,16 +382,29 @@ export interface WorkerBundleOptions {
|
|
|
382
382
|
/** Bypass + overwrite the cached worker bundle. */
|
|
383
383
|
noCache?: boolean;
|
|
384
384
|
minify?: boolean;
|
|
385
|
+
/** Test seam for proving epoch identity from an isolated executable graph. */
|
|
386
|
+
entryPath?: string;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
const WORKER_EPOCH_PLACEHOLDER = 'PYRIC_EPOCH_HERE';
|
|
390
|
+
const WORKER_EPOCH_FILE = '.worker-epoch';
|
|
391
|
+
|
|
392
|
+
/** Read the executable epoch written alongside a completed worker bundle. */
|
|
393
|
+
function readWorkerBundleEpoch(outDir: string): string {
|
|
394
|
+
const epoch = readFileSync(join(outDir, WORKER_EPOCH_FILE), 'utf8').trim();
|
|
395
|
+
if (!/^[a-f0-9]{16}$/.test(epoch)) {
|
|
396
|
+
throw new Error(`pyric dev: invalid SharedWorker epoch in ${join(outDir, WORKER_EPOCH_FILE)}`);
|
|
397
|
+
}
|
|
398
|
+
return epoch;
|
|
385
399
|
}
|
|
386
400
|
|
|
387
401
|
/**
|
|
388
|
-
*
|
|
389
|
-
*
|
|
390
|
-
*
|
|
391
|
-
*
|
|
392
|
-
*
|
|
393
|
-
*
|
|
394
|
-
* builds can change implementation without a version bump.
|
|
402
|
+
* Conservative worker CACHE key. The worker bundle shares the SDK `outDir`
|
|
403
|
+
* (keyed by SDK entries), which does not cover its host graph, so this broad
|
|
404
|
+
* source-tree hash decides when esbuild must run again. It is intentionally NOT
|
|
405
|
+
* the user-facing worker epoch: unrelated CLI changes may invalidate this cache,
|
|
406
|
+
* while the epoch returned by {@link bundleWorker} is derived from the executable output and only
|
|
407
|
+
* then decides whether a running SharedWorker needs replacement.
|
|
395
408
|
*/
|
|
396
409
|
export function workerSourceHash(
|
|
397
410
|
pyricRoot = pyricPackageRoot(),
|
|
@@ -449,7 +462,12 @@ export function sourceTreeHash(root: string): string {
|
|
|
449
462
|
* or protocol edit therefore invalidates the shared SDK generation too, so
|
|
450
463
|
* the page and worker halves cannot come from different source generations.
|
|
451
464
|
*/
|
|
452
|
-
export
|
|
465
|
+
export interface WorkerBundleResult {
|
|
466
|
+
outFile: string;
|
|
467
|
+
epoch: string;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
export async function bundleWorker(opts: WorkerBundleOptions): Promise<WorkerBundleResult> {
|
|
453
471
|
const outFile = join(opts.outDir, 'worker.js');
|
|
454
472
|
const marker = join(opts.outDir, '.worker-complete');
|
|
455
473
|
const hash = workerSourceHash();
|
|
@@ -457,15 +475,16 @@ export async function bundleWorker(opts: WorkerBundleOptions): Promise<string> {
|
|
|
457
475
|
!opts.noCache &&
|
|
458
476
|
existsSync(outFile) &&
|
|
459
477
|
existsSync(marker) &&
|
|
478
|
+
existsSync(join(opts.outDir, WORKER_EPOCH_FILE)) &&
|
|
460
479
|
readFileSync(marker, 'utf8') === hash
|
|
461
480
|
) {
|
|
462
|
-
return outFile;
|
|
481
|
+
return { outFile, epoch: readWorkerBundleEpoch(opts.outDir) };
|
|
463
482
|
}
|
|
464
483
|
|
|
465
484
|
mkdirSync(opts.outDir, { recursive: true });
|
|
466
485
|
const root = pyricPackageRoot();
|
|
467
486
|
const result = await esbuild.build({
|
|
468
|
-
entryPoints: [workerEntryPath()],
|
|
487
|
+
entryPoints: [opts.entryPath ?? workerEntryPath()],
|
|
469
488
|
outfile: outFile,
|
|
470
489
|
bundle: true,
|
|
471
490
|
format: 'iife',
|
|
@@ -474,10 +493,10 @@ export async function bundleWorker(opts: WorkerBundleOptions): Promise<string> {
|
|
|
474
493
|
sourcemap: 'linked',
|
|
475
494
|
minify: opts.minify ?? true,
|
|
476
495
|
logLevel: 'silent',
|
|
477
|
-
//
|
|
478
|
-
//
|
|
479
|
-
//
|
|
480
|
-
define: { __PYRIC_WORKER_VERSION__: JSON.stringify(
|
|
496
|
+
// Reserve a fixed-width self-version slot. After esbuild writes the actual
|
|
497
|
+
// executable graph, we hash that canonical output and replace this token
|
|
498
|
+
// with the resulting epoch (same width, so the sourcemap stays aligned).
|
|
499
|
+
define: { __PYRIC_WORKER_VERSION__: JSON.stringify(WORKER_EPOCH_PLACEHOLDER) },
|
|
481
500
|
banner: {
|
|
482
501
|
js: '/* pyric dev: SharedWorker sandbox host serving firebase/* — NOT the real Firebase SDK */',
|
|
483
502
|
},
|
|
@@ -488,6 +507,13 @@ export async function bundleWorker(opts: WorkerBundleOptions): Promise<string> {
|
|
|
488
507
|
`pyric dev: SharedWorker bundle failed:\n${result.errors.map((e) => e.text).join('\n')}`,
|
|
489
508
|
);
|
|
490
509
|
}
|
|
510
|
+
const canonicalSource = readFileSync(outFile, 'utf8');
|
|
511
|
+
if (!canonicalSource.includes(WORKER_EPOCH_PLACEHOLDER)) {
|
|
512
|
+
throw new Error('pyric dev: SharedWorker bundle omitted its epoch placeholder');
|
|
513
|
+
}
|
|
514
|
+
const epoch = createHash('sha256').update(canonicalSource).digest('hex').slice(0, 16);
|
|
515
|
+
writeFileSync(outFile, canonicalSource.replaceAll(WORKER_EPOCH_PLACEHOLDER, epoch));
|
|
516
|
+
writeFileSync(join(opts.outDir, WORKER_EPOCH_FILE), epoch);
|
|
491
517
|
writeFileSync(marker, hash);
|
|
492
|
-
return outFile;
|
|
518
|
+
return { outFile, epoch };
|
|
493
519
|
}
|
|
@@ -14,6 +14,8 @@ import { useWorker, workerDb } from './worker-runtime.js';
|
|
|
14
14
|
import { ServeAuthHelper } from './auth-helper-core.js';
|
|
15
15
|
import { installServeAuthResolver } from './auth-helper-runtime.js';
|
|
16
16
|
import { mountAuthHelperDialog } from './auth-helper-dom.js';
|
|
17
|
+
import { installPyricRuntimeChip } from '../runtime/chip-install.js';
|
|
18
|
+
import { getPyricRuntimeStatus } from '../runtime/status.js';
|
|
17
19
|
|
|
18
20
|
const localAuth = useWorker ? null : getAuth(sandbox);
|
|
19
21
|
const workerAuth = useWorker && workerDb ? getWorkerAuth(workerDb) : null;
|
|
@@ -42,5 +44,6 @@ const resolver = helper.resolver();
|
|
|
42
44
|
installServeAuthResolver(resolver);
|
|
43
45
|
if (localAuth) authSandbox.setAuthFlowResolver(localAuth, resolver);
|
|
44
46
|
mountAuthHelperDialog(helper);
|
|
47
|
+
installPyricRuntimeChip({ runtime: getPyricRuntimeStatus(), document });
|
|
45
48
|
|
|
46
49
|
export {};
|
|
@@ -34,6 +34,7 @@ import { toPageOriginWsUrl } from './bridge-url.js';
|
|
|
34
34
|
import { buildVerifyFixture } from '../../verify/fixture.js';
|
|
35
35
|
import type { InitPayload } from '../init-payload.js';
|
|
36
36
|
import { setupFirebaseActivityGuard } from '../activity-guard.js';
|
|
37
|
+
import { getPyricRuntimeStatus } from '../runtime/status.js';
|
|
37
38
|
export { sandbox } from './app-backend.js';
|
|
38
39
|
import { sandbox } from './app-backend.js';
|
|
39
40
|
|
|
@@ -102,6 +103,11 @@ const diagnostics: ServeDiagnostics = {
|
|
|
102
103
|
seedSkipped: false,
|
|
103
104
|
};
|
|
104
105
|
globalThis.__pyricServe = diagnostics;
|
|
106
|
+
const runtimeStatus = getPyricRuntimeStatus();
|
|
107
|
+
|
|
108
|
+
if (!useWorker) {
|
|
109
|
+
sandbox.onEvent((event) => runtimeStatus.recordSandboxEvents([event]));
|
|
110
|
+
}
|
|
105
111
|
|
|
106
112
|
let bridgeUrlFromPayload: string | null = null;
|
|
107
113
|
let activityTokenFromPayload: string | null = null;
|
|
@@ -359,6 +365,7 @@ if (!useWorker) try {
|
|
|
359
365
|
}
|
|
360
366
|
} catch (e) {
|
|
361
367
|
diagnostics.initError = e instanceof Error ? e.message : String(e);
|
|
368
|
+
runtimeStatus.reportError(e, 'runtime');
|
|
362
369
|
console.error(
|
|
363
370
|
'[pyric dev] init failed — the sandbox is running WITHOUT your project rules:',
|
|
364
371
|
diagnostics.initError,
|
|
@@ -393,15 +400,21 @@ console.info(
|
|
|
393
400
|
);
|
|
394
401
|
|
|
395
402
|
let provenanceHintShown = false;
|
|
396
|
-
function explainSandboxFrame(stackOrUrl: string | undefined):
|
|
397
|
-
if (
|
|
398
|
-
provenanceHintShown
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
'
|
|
402
|
-
|
|
403
|
+
function explainSandboxFrame(stackOrUrl: string | undefined): boolean {
|
|
404
|
+
if (!stackOrUrl || !stackOrUrl.includes('/__pyric/sdk/')) return false;
|
|
405
|
+
if (!provenanceHintShown) {
|
|
406
|
+
provenanceHintShown = true;
|
|
407
|
+
console.info(
|
|
408
|
+
'[pyric dev] the error above originates in the pyric sandbox shim serving firebase/*, ' +
|
|
409
|
+
'not the real Firebase SDK — behavior can differ where COMPAT coverage is incomplete.',
|
|
410
|
+
);
|
|
411
|
+
}
|
|
412
|
+
return true;
|
|
403
413
|
}
|
|
404
414
|
if (typeof window !== 'undefined') {
|
|
415
|
+
// Stack containment is useful provenance context, but it is NOT an ownership
|
|
416
|
+
// boundary: an app callback thrown from an SDK caller also contains an SDK
|
|
417
|
+
// frame. Explicit sandbox events and runtime catches feed the status model.
|
|
405
418
|
window.addEventListener('error', (e) =>
|
|
406
419
|
explainSandboxFrame(e.error instanceof Error ? (e.error.stack ?? e.filename) : e.filename),
|
|
407
420
|
);
|
|
@@ -447,6 +460,7 @@ if (bridgeUrlFromPayload) {
|
|
|
447
460
|
try {
|
|
448
461
|
await connectBridgePeer(bridgeUrlFromPayload);
|
|
449
462
|
} catch (e) {
|
|
463
|
+
runtimeStatus.reportError(e, 'runtime');
|
|
450
464
|
console.error('[pyric dev] bridge connect failed:', e instanceof Error ? e.message : String(e));
|
|
451
465
|
}
|
|
452
466
|
} else if (useWorker) {
|
|
@@ -461,6 +475,7 @@ if (bridgeUrlFromPayload) {
|
|
|
461
475
|
const url = res.ok ? ((await res.json()) as InitPayload).bridgeUrl : null;
|
|
462
476
|
if (url) await connectBridgePeer(url);
|
|
463
477
|
} catch (e) {
|
|
478
|
+
runtimeStatus.reportError(e, 'runtime');
|
|
464
479
|
console.error('[pyric dev] bridge connect failed:', e instanceof Error ? e.message : String(e));
|
|
465
480
|
}
|
|
466
481
|
})();
|
|
@@ -534,6 +549,7 @@ if (!useWorker && typeof EventSource !== 'undefined') {
|
|
|
534
549
|
diagnostics.rulesHash = rulesHash;
|
|
535
550
|
console.info(`[pyric dev] firestore.rules hot-reloaded (hash ${rulesHash})`);
|
|
536
551
|
} catch (err) {
|
|
552
|
+
runtimeStatus.reportError(err, 'runtime');
|
|
537
553
|
console.error('[pyric dev] rules hot-reload failed:', err instanceof Error ? err.message : String(err));
|
|
538
554
|
}
|
|
539
555
|
});
|