@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.
Files changed (230) hide show
  1. package/dist/cli/serve.js +4 -4
  2. package/dist/cli/serve.js.map +1 -1
  3. package/dist/serve/bundler.d.ts +13 -8
  4. package/dist/serve/bundler.d.ts.map +1 -1
  5. package/dist/serve/bundler.js +31 -36
  6. package/dist/serve/bundler.js.map +1 -1
  7. package/dist/serve/docs-ui/docs/_rhythm/index.html +1 -1
  8. package/dist/serve/docs-ui/docs/agent/set-up-your-agent/index.html +1 -1
  9. package/dist/serve/docs-ui/docs/agent/watch-and-review/index.html +1 -1
  10. package/dist/serve/docs-ui/docs/agent/work-with-an-agent/index.html +1 -1
  11. package/dist/serve/docs-ui/docs/ai-compat/index.html +1 -1
  12. package/dist/serve/docs-ui/docs/api-reference/index.html +1 -1
  13. package/dist/serve/docs-ui/docs/app-compat/index.html +1 -1
  14. package/dist/serve/docs-ui/docs/auth-compat/index.html +1 -1
  15. package/dist/serve/docs-ui/docs/build/ai-logic/index.html +44 -22
  16. package/dist/serve/docs-ui/docs/build/ai-logic.md +69 -21
  17. package/dist/serve/docs-ui/docs/build/authentication/index.html +1 -1
  18. package/dist/serve/docs-ui/docs/build/cloud-firestore/index.html +1 -1
  19. package/dist/serve/docs-ui/docs/build/cloud-messaging/index.html +1 -1
  20. package/dist/serve/docs-ui/docs/build/cloud-storage/index.html +1 -1
  21. package/dist/serve/docs-ui/docs/build/realtime-database/index.html +1 -1
  22. package/dist/serve/docs-ui/docs/conformance-scores/index.html +1 -1
  23. package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +1 -1
  24. package/dist/serve/docs-ui/docs/database-compat/index.html +1 -1
  25. package/dist/serve/docs-ui/docs/firestore-compat/index.html +1 -1
  26. package/dist/serve/docs-ui/docs/functions-rtdb-compat/index.html +1 -1
  27. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works/index.html +2 -1
  28. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works.md +2 -0
  29. package/dist/serve/docs-ui/docs/get-started/start-building/index.html +3 -2
  30. package/dist/serve/docs-ui/docs/get-started/start-building.md +3 -1
  31. package/dist/serve/docs-ui/docs/index.json +149 -4
  32. package/dist/serve/docs-ui/docs/messaging-compat/index.html +1 -1
  33. package/dist/serve/docs-ui/docs/observe/resolve-runtime-status/index.html +28 -0
  34. package/dist/serve/docs-ui/docs/observe/resolve-runtime-status.md +47 -0
  35. package/dist/serve/docs-ui/docs/observe/see-whats-happening/index.html +1 -1
  36. package/dist/serve/docs-ui/docs/observe/shape-your-data/index.html +1 -1
  37. package/dist/serve/docs-ui/docs/overview/index.html +1 -1
  38. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +1 -1
  39. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +1 -1
  40. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +1 -1
  41. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +1 -1
  42. package/dist/serve/docs-ui/docs/pyric-admin-messaging-reference-api/index.html +1 -1
  43. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +1 -1
  44. package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +1 -1
  45. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +1 -1
  46. package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +1 -1
  47. package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +1 -1
  48. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +1 -1
  49. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +1 -1
  50. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +1 -1
  51. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +1 -1
  52. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +1 -1
  53. package/dist/serve/docs-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +1 -1
  54. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api/index.html +1 -1
  55. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +1 -1
  56. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +1 -1
  57. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +1 -1
  58. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1 -1
  59. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +38 -11
  60. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +26 -8
  61. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +1 -1
  62. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +11 -8
  63. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +17 -4
  64. package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +1 -1
  65. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +1 -1
  66. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +1 -1
  67. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +1 -1
  68. package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +1 -1
  69. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +1 -1
  70. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +1 -1
  71. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +1 -1
  72. package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +1 -1
  73. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +1 -1
  74. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +1 -1
  75. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +1 -1
  76. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +1 -1
  77. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +1 -1
  78. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1 -1
  79. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +1 -1
  80. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +1 -1
  81. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +1 -1
  82. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +1 -1
  83. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +1 -1
  84. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1 -1
  85. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +1 -1
  86. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1 -1
  87. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +1 -1
  88. package/dist/serve/docs-ui/docs/rules-compat/index.html +1 -1
  89. package/dist/serve/docs-ui/docs/secure/audit-your-rules/index.html +1 -1
  90. package/dist/serve/docs-ui/docs/secure/firestore-rules-limits/index.html +1 -1
  91. package/dist/serve/docs-ui/docs/secure/read-a-denial/index.html +1 -1
  92. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript/index.html +1 -1
  93. package/dist/serve/docs-ui/docs/secure/rules-standard-library/index.html +1 -1
  94. package/dist/serve/docs-ui/docs/secure/secure-it-with-rules/index.html +1 -1
  95. package/dist/serve/docs-ui/docs/secure/simulate-and-lint/index.html +1 -1
  96. package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite/index.html +1 -1
  97. package/dist/serve/docs-ui/docs/ship/ship-to-production/index.html +1 -1
  98. package/dist/serve/docs-ui/docs/ship/test-in-node/index.html +1 -1
  99. package/dist/serve/docs-ui/docs/storage-compat/index.html +1 -1
  100. package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase/index.html +1 -1
  101. package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility/index.html +1 -1
  102. package/dist/serve/docs-ui/docs/tutorial/index.html +429 -0
  103. package/dist/serve/docs-ui/docs/tutorial.md +701 -0
  104. package/dist/serve/docs-ui/llms.txt +2 -0
  105. package/dist/serve/entries/init.d.ts.map +1 -1
  106. package/dist/serve/entries/init.js +3 -0
  107. package/dist/serve/entries/init.js.map +1 -1
  108. package/dist/serve/entries/runtime.d.ts.map +1 -1
  109. package/dist/serve/entries/runtime.js +20 -5
  110. package/dist/serve/entries/runtime.js.map +1 -1
  111. package/dist/serve/entries/worker-runtime.d.ts +2 -2
  112. package/dist/serve/entries/worker-runtime.d.ts.map +1 -1
  113. package/dist/serve/entries/worker-runtime.js +45 -10
  114. package/dist/serve/entries/worker-runtime.js.map +1 -1
  115. package/dist/serve/runtime/chip-config.d.ts +19 -0
  116. package/dist/serve/runtime/chip-config.d.ts.map +1 -0
  117. package/dist/serve/runtime/chip-config.js +19 -0
  118. package/dist/serve/runtime/chip-config.js.map +1 -0
  119. package/dist/serve/runtime/chip-install.d.ts +10 -0
  120. package/dist/serve/runtime/chip-install.d.ts.map +1 -0
  121. package/dist/serve/runtime/chip-install.js +15 -0
  122. package/dist/serve/runtime/chip-install.js.map +1 -0
  123. package/dist/serve/runtime/chip.d.ts +17 -0
  124. package/dist/serve/runtime/chip.d.ts.map +1 -0
  125. package/dist/serve/runtime/chip.js +257 -0
  126. package/dist/serve/runtime/chip.js.map +1 -0
  127. package/dist/serve/runtime/manifest.d.ts +22 -0
  128. package/dist/serve/runtime/manifest.d.ts.map +1 -0
  129. package/dist/serve/runtime/manifest.js +20 -0
  130. package/dist/serve/runtime/manifest.js.map +1 -0
  131. package/dist/serve/runtime/status.d.ts +49 -0
  132. package/dist/serve/runtime/status.d.ts.map +1 -0
  133. package/dist/serve/runtime/status.js +164 -0
  134. package/dist/serve/runtime/status.js.map +1 -0
  135. package/dist/serve/runtime/worker-connection.d.ts +4 -0
  136. package/dist/serve/runtime/worker-connection.d.ts.map +1 -0
  137. package/dist/serve/runtime/worker-connection.js +11 -0
  138. package/dist/serve/runtime/worker-connection.js.map +1 -0
  139. package/dist/serve/runtime/worker-generation.d.ts +14 -0
  140. package/dist/serve/runtime/worker-generation.d.ts.map +1 -0
  141. package/dist/serve/runtime/worker-generation.js +56 -0
  142. package/dist/serve/runtime/worker-generation.js.map +1 -0
  143. package/dist/serve/runtime/worker-replacement.d.ts +18 -0
  144. package/dist/serve/runtime/worker-replacement.d.ts.map +1 -0
  145. package/dist/serve/runtime/worker-replacement.js +29 -0
  146. package/dist/serve/runtime/worker-replacement.js.map +1 -0
  147. package/dist/serve/standalone-assets.d.ts +2 -2
  148. package/dist/serve/standalone-assets.d.ts.map +1 -1
  149. package/dist/serve/standalone-assets.js +1 -1
  150. package/dist/serve/standalone-assets.js.map +1 -1
  151. package/dist/serve/studio-ui/assets/{RulesCodeEditor-CxVYcZXw.js → RulesCodeEditor-BDlH-5lp.js} +1 -1
  152. package/dist/serve/studio-ui/assets/{index-cpSfgQ7H.js → index-Bf9SSE8L.js} +5 -5
  153. package/dist/serve/studio-ui/assets/{seed-DeuFKi4J.js → seed-D_UjxfOU.js} +1 -1
  154. package/dist/serve/studio-ui/index.html +1 -1
  155. package/dist/serve/vite-ai-config.d.ts +25 -0
  156. package/dist/serve/vite-ai-config.d.ts.map +1 -0
  157. package/dist/serve/vite-ai-config.js +45 -0
  158. package/dist/serve/vite-ai-config.js.map +1 -0
  159. package/dist/serve/vite-plugin.d.ts +17 -36
  160. package/dist/serve/vite-plugin.d.ts.map +1 -1
  161. package/dist/serve/vite-plugin.js +38 -57
  162. package/dist/serve/vite-plugin.js.map +1 -1
  163. package/dist/serve/vite-rules-source.d.ts +8 -0
  164. package/dist/serve/vite-rules-source.d.ts.map +1 -0
  165. package/dist/serve/vite-rules-source.js +23 -0
  166. package/dist/serve/vite-rules-source.js.map +1 -0
  167. package/dist/serve/vite-worker-runtime.d.ts +20 -0
  168. package/dist/serve/vite-worker-runtime.d.ts.map +1 -0
  169. package/dist/serve/vite-worker-runtime.js +25 -0
  170. package/dist/serve/vite-worker-runtime.js.map +1 -0
  171. package/dist/serve/worker/client/connection.d.ts +7 -2
  172. package/dist/serve/worker/client/connection.d.ts.map +1 -1
  173. package/dist/serve/worker/client/connection.js +13 -16
  174. package/dist/serve/worker/client/connection.js.map +1 -1
  175. package/dist/serve/worker/client/core.d.ts +7 -0
  176. package/dist/serve/worker/client/core.d.ts.map +1 -1
  177. package/dist/serve/worker/client/core.js +28 -0
  178. package/dist/serve/worker/client/core.js.map +1 -1
  179. package/dist/serve/worker/client/runtime-control.d.ts +8 -0
  180. package/dist/serve/worker/client/runtime-control.d.ts.map +1 -0
  181. package/dist/serve/worker/client/runtime-control.js +11 -0
  182. package/dist/serve/worker/client/runtime-control.js.map +1 -0
  183. package/dist/serve/worker/entry.js +44 -2
  184. package/dist/serve/worker/entry.js.map +1 -1
  185. package/dist/serve/worker/host/studio.js +1 -1
  186. package/dist/serve/worker/host/studio.js.map +1 -1
  187. package/dist/serve/worker/host-context.d.ts +1 -1
  188. package/dist/serve/worker/host-context.d.ts.map +1 -1
  189. package/dist/serve/worker/protocol.d.ts +15 -1
  190. package/dist/serve/worker/protocol.d.ts.map +1 -1
  191. package/dist/serve/worker/protocol.js.map +1 -1
  192. package/dist/serve/worker/retirement.d.ts +21 -0
  193. package/dist/serve/worker/retirement.d.ts.map +1 -0
  194. package/dist/serve/worker/retirement.js +97 -0
  195. package/dist/serve/worker/retirement.js.map +1 -0
  196. package/dist/serve/worker/serve-init.d.ts.map +1 -1
  197. package/dist/serve/worker/serve-init.js +5 -6
  198. package/dist/serve/worker/serve-init.js.map +1 -1
  199. package/dist/vite.d.ts +1 -0
  200. package/dist/vite.d.ts.map +1 -1
  201. package/dist/vite.js.map +1 -1
  202. package/package.json +5 -4
  203. package/src/cli/serve.ts +4 -4
  204. package/src/serve/bundler.ts +41 -15
  205. package/src/serve/entries/init.ts +3 -0
  206. package/src/serve/entries/runtime.ts +23 -7
  207. package/src/serve/entries/worker-runtime.ts +69 -9
  208. package/src/serve/runtime/chip-config.ts +30 -0
  209. package/src/serve/runtime/chip-install.ts +27 -0
  210. package/src/serve/runtime/chip.ts +282 -0
  211. package/src/serve/runtime/manifest.ts +37 -0
  212. package/src/serve/runtime/status.ts +216 -0
  213. package/src/serve/runtime/worker-connection.ts +14 -0
  214. package/src/serve/runtime/worker-generation.ts +75 -0
  215. package/src/serve/runtime/worker-replacement.ts +42 -0
  216. package/src/serve/standalone-assets.ts +2 -2
  217. package/src/serve/vite-ai-config.ts +77 -0
  218. package/src/serve/vite-plugin.ts +60 -87
  219. package/src/serve/vite-rules-source.ts +28 -0
  220. package/src/serve/vite-worker-runtime.ts +51 -0
  221. package/src/serve/worker/client/connection.ts +29 -4
  222. package/src/serve/worker/client/core.ts +34 -0
  223. package/src/serve/worker/client/runtime-control.ts +22 -0
  224. package/src/serve/worker/entry.ts +46 -2
  225. package/src/serve/worker/host/studio.ts +1 -1
  226. package/src/serve/worker/host-context.ts +1 -1
  227. package/src/serve/worker/protocol.ts +13 -1
  228. package/src/serve/worker/retirement.ts +125 -0
  229. package/src/serve/worker/serve-init.ts +5 -6
  230. 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;AA0aD,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,GAAe;IACvC,OAAO,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;AAChE,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,UAAU,CAAC,GAAe;IACxC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;AACjC,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,cAAc,CAAC,GAAe;IAC5C,OAAO,GAAG,CAAC,MAAM,KAAK,sBAAsB,IAAI,GAAG,CAAC,MAAM,KAAK,sBAAsB,CAAC;AACxF,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAAC,GAAe;IAC3C,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAe;IACvC,OAAO,CACL,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,GAAG,CAAC,MAAM,KAAK,IAAI;QACnB,SAAS,IAAI,GAAG,CAAC,MAAM;QACvB,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAC9B,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,OAAO,CAAC,GAAe;IACrC,OAAO,CACL,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,GAAG,CAAC,MAAM,KAAK,IAAI;QACnB,SAAS,IAAI,GAAG,CAAC,MAAM;QACvB,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAC5B,CAAC;AACJ,CAAC;AAqID;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA6B;IAC9D,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpD;;qCAEqC;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAEjF,wEAAwE;AACxE,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,IAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,GAAG,IAAI,OAAO,SAAS,qBAAqB,oBAAoB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO;QACrF,+EAA+E;QAC/E,8EAA8E,CACrD,CAAC;IAC9B,GAAG,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAA4B,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,GAAG,CAAC;AACb,CAAC;AAiCD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,oEAAoE;QACpE,qEAAqE;QACrE,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,QAAQ,GAAI,GAA0C,CAAC,QAAQ,CAAC;QACtE,IACE,QAAQ,KAAK,IAAI;YACjB,OAAO,QAAQ,KAAK,QAAQ;YAC5B,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ;YACxC,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ;YAC3C,OAAO,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,EAC1C,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;gBACnC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO;gBAC/B,UAAU,EAAE,QAAQ;aACrB,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,GAAqE,CAAC;QAChF,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChE,OAAO,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;gBACpE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,aAA8B,EAAE;gBACvF,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC"}
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;AA4aD,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,GAAe;IACvC,OAAO,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;AAChE,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,UAAU,CAAC,GAAe;IACxC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;AACjC,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,cAAc,CAAC,GAAe;IAC5C,OAAO,GAAG,CAAC,MAAM,KAAK,sBAAsB,IAAI,GAAG,CAAC,MAAM,KAAK,sBAAsB,CAAC;AACxF,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAAC,GAAe;IAC3C,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAe;IACvC,OAAO,CACL,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,GAAG,CAAC,MAAM,KAAK,IAAI;QACnB,SAAS,IAAI,GAAG,CAAC,MAAM;QACvB,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAC9B,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,OAAO,CAAC,GAAe;IACrC,OAAO,CACL,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,GAAG,CAAC,MAAM,KAAK,IAAI;QACnB,SAAS,IAAI,GAAG,CAAC,MAAM;QACvB,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAC5B,CAAC;AACJ,CAAC;AA+ID;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA6B;IAC9D,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpD;;qCAEqC;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAEjF,wEAAwE;AACxE,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,IAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,GAAG,IAAI,OAAO,SAAS,qBAAqB,oBAAoB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO;QACrF,+EAA+E;QAC/E,8EAA8E,CACrD,CAAC;IAC9B,GAAG,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAA4B,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,GAAG,CAAC;AACb,CAAC;AAiCD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,oEAAoE;QACpE,qEAAqE;QACrE,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,QAAQ,GAAI,GAA0C,CAAC,QAAQ,CAAC;QACtE,IACE,QAAQ,KAAK,IAAI;YACjB,OAAO,QAAQ,KAAK,QAAQ;YAC5B,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ;YACxC,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ;YAC3C,OAAO,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,EAC1C,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;gBACnC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO;gBAC/B,UAAU,EAAE,QAAQ;aACrB,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,GAAqE,CAAC;QAChF,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChE,OAAO,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;gBACpE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,aAA8B,EAAE;gBACvF,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC"}
@@ -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,CAkLjB;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"}
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
@@ -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;AAO3D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,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;AAG/C,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,4EAA4E;AAC5E,uEAAuE;AACvE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,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.12",
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.12",
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.12",
121
- "pyric-admin": "^0.1.0-alpha.12",
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, workerSourceHash } from '../serve/bundler.js';
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 content hash: stamped into the page (`<meta name="pyric-worker-v">`)
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
 
@@ -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
- * Content hash of the worker's executable CLI graph + pyric version. The worker bundle
389
- * shares the SDK `outDir` (keyed by the SDK entries), which does NOT cover the
390
- * worker graph so the worker bundle carries its OWN content marker. Hash the
391
- * full CLI source/dist tree because the worker imports bridge and verify leaves
392
- * outside `serve/worker`; an allowlist would silently miss future dependencies.
393
- * Installed pyric dist bytes are also hashed because workspace and prerelease
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 async function bundleWorker(opts: WorkerBundleOptions): Promise<string> {
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
- // Bake the build hash so the worker can report its version (staleness
478
- // guard): the page warns when a still-running OLD worker is older than the
479
- // served bundle. Matches the `<meta name="pyric-worker-v">` value.
480
- define: { __PYRIC_WORKER_VERSION__: JSON.stringify(hash) },
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): void {
397
- if (provenanceHintShown || !stackOrUrl || !stackOrUrl.includes('/__pyric/sdk/')) return;
398
- provenanceHintShown = true;
399
- console.info(
400
- '[pyric dev] the error above originates in the pyric sandbox shim serving firebase/*, ' +
401
- 'not the real Firebase SDK behavior can differ where COMPAT coverage is incomplete.',
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
  });