orez 0.1.43 → 0.1.45

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 (111) hide show
  1. package/dist/admin/http-proxy.d.ts.map +1 -1
  2. package/dist/admin/http-proxy.js +3 -1
  3. package/dist/admin/http-proxy.js.map +1 -1
  4. package/dist/admin/log-store.d.ts.map +1 -1
  5. package/dist/admin/log-store.js +5 -1
  6. package/dist/admin/log-store.js.map +1 -1
  7. package/dist/admin/server.d.ts.map +1 -1
  8. package/dist/admin/server.js +25 -25
  9. package/dist/admin/server.js.map +1 -1
  10. package/dist/browser.d.ts +54 -0
  11. package/dist/browser.d.ts.map +1 -0
  12. package/dist/browser.js +110 -0
  13. package/dist/browser.js.map +1 -0
  14. package/dist/cli.js +1 -1
  15. package/dist/cli.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +5 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/pg-proxy-browser.d.ts +26 -0
  21. package/dist/pg-proxy-browser.d.ts.map +1 -0
  22. package/dist/pg-proxy-browser.js +1460 -0
  23. package/dist/pg-proxy-browser.js.map +1 -0
  24. package/dist/pg-proxy.d.ts.map +1 -1
  25. package/dist/pg-proxy.js +48 -34
  26. package/dist/pg-proxy.js.map +1 -1
  27. package/dist/pglite-ipc.d.ts.map +1 -1
  28. package/dist/pglite-ipc.js +3 -2
  29. package/dist/pglite-ipc.js.map +1 -1
  30. package/dist/pglite-manager.d.ts.map +1 -1
  31. package/dist/pglite-manager.js +101 -111
  32. package/dist/pglite-manager.js.map +1 -1
  33. package/dist/pglite-web-proxy.d.ts +38 -0
  34. package/dist/pglite-web-proxy.d.ts.map +1 -0
  35. package/dist/pglite-web-proxy.js +155 -0
  36. package/dist/pglite-web-proxy.js.map +1 -0
  37. package/dist/pglite-web-worker.d.ts +24 -0
  38. package/dist/pglite-web-worker.d.ts.map +1 -0
  39. package/dist/pglite-web-worker.js +139 -0
  40. package/dist/pglite-web-worker.js.map +1 -0
  41. package/dist/pglite-worker-thread.js +65 -24
  42. package/dist/pglite-worker-thread.js.map +1 -1
  43. package/dist/recovery.js +2 -2
  44. package/dist/recovery.js.map +1 -1
  45. package/dist/replication/change-tracker.js +9 -9
  46. package/dist/replication/change-tracker.js.map +1 -1
  47. package/dist/replication/handler.d.ts.map +1 -1
  48. package/dist/replication/handler.js +34 -26
  49. package/dist/replication/handler.js.map +1 -1
  50. package/dist/worker/browser-build-config.d.ts.map +1 -1
  51. package/dist/worker/browser-build-config.js +5 -2
  52. package/dist/worker/browser-build-config.js.map +1 -1
  53. package/dist/worker/browser-embed.d.ts.map +1 -1
  54. package/dist/worker/browser-embed.js +31 -26
  55. package/dist/worker/browser-embed.js.map +1 -1
  56. package/dist/worker/shims/fastify.d.ts +1 -0
  57. package/dist/worker/shims/fastify.d.ts.map +1 -1
  58. package/dist/worker/shims/fastify.js +31 -20
  59. package/dist/worker/shims/fastify.js.map +1 -1
  60. package/dist/worker/shims/postgres-browser.d.ts +12 -0
  61. package/dist/worker/shims/postgres-browser.d.ts.map +1 -0
  62. package/dist/worker/shims/postgres-browser.js +52 -0
  63. package/dist/worker/shims/postgres-browser.js.map +1 -0
  64. package/dist/worker/shims/postgres-socket.d.ts +83 -0
  65. package/dist/worker/shims/postgres-socket.d.ts.map +1 -0
  66. package/dist/worker/shims/postgres-socket.js +278 -0
  67. package/dist/worker/shims/postgres-socket.js.map +1 -0
  68. package/dist/worker/shims/postgres.d.ts.map +1 -1
  69. package/dist/worker/shims/postgres.js +18 -9
  70. package/dist/worker/shims/postgres.js.map +1 -1
  71. package/dist/worker/shims/stream-browser.d.ts +5 -4
  72. package/dist/worker/shims/stream-browser.d.ts.map +1 -1
  73. package/dist/worker/shims/stream-browser.js +7 -6
  74. package/dist/worker/shims/stream-browser.js.map +1 -1
  75. package/dist/worker/shims/ws-browser.d.ts.map +1 -1
  76. package/dist/worker/shims/ws-browser.js +43 -21
  77. package/dist/worker/shims/ws-browser.js.map +1 -1
  78. package/dist/worker/shims/ws.d.ts.map +1 -1
  79. package/dist/worker/shims/ws.js +81 -17
  80. package/dist/worker/shims/ws.js.map +1 -1
  81. package/package.json +11 -58
  82. package/src/admin/http-proxy.ts +4 -1
  83. package/src/admin/log-store.ts +5 -1
  84. package/src/admin/server.ts +26 -25
  85. package/src/browser.ts +195 -0
  86. package/src/cli.ts +1 -1
  87. package/src/index.ts +5 -2
  88. package/src/integration/integration.test.ts +1 -1
  89. package/src/integration/restore-live-stress.test.ts +2 -2
  90. package/src/pg-proxy-browser.ts +1673 -0
  91. package/src/pg-proxy.ts +48 -40
  92. package/src/pglite-ipc.ts +3 -2
  93. package/src/pglite-manager.ts +115 -133
  94. package/src/pglite-web-proxy.ts +180 -0
  95. package/src/pglite-web-worker.ts +152 -0
  96. package/src/pglite-worker-thread.ts +66 -24
  97. package/src/recovery.ts +2 -2
  98. package/src/replication/change-tracker.test.ts +1 -1
  99. package/src/replication/change-tracker.ts +9 -9
  100. package/src/replication/handler.ts +37 -26
  101. package/src/worker/browser-build-config.test.ts +1 -1
  102. package/src/worker/browser-build-config.ts +5 -2
  103. package/src/worker/browser-embed.ts +33 -30
  104. package/src/worker/shims/fastify.ts +37 -24
  105. package/src/worker/shims/postgres-browser.ts +59 -0
  106. package/src/worker/shims/postgres-socket.test.ts +576 -0
  107. package/src/worker/shims/postgres-socket.ts +310 -0
  108. package/src/worker/shims/postgres.ts +30 -15
  109. package/src/worker/shims/stream-browser.ts +15 -0
  110. package/src/worker/shims/ws-browser.ts +38 -20
  111. package/src/worker/shims/ws.ts +76 -21
@@ -1 +1 @@
1
- {"version":3,"file":"browser-build-config.d.ts","sourceRoot":"","sources":["../../src/worker/browser-build-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmC1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB;;;;;;;EAUpC"}
1
+ {"version":3,"file":"browser-build-config.d.ts","sourceRoot":"","sources":["../../src/worker/browser-build-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsC1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB;;;;;;;EAUpC"}
@@ -41,7 +41,10 @@
41
41
  export function getBrowserAliases() {
42
42
  return {
43
43
  // -- orez shims for zero-cache dependencies --
44
- postgres: 'orez/worker/shims/postgres',
44
+ // postgres-browser uses the real postgres package with MessagePort transport
45
+ // to pg-proxy-browser, matching orez-node's wire protocol architecture.
46
+ // falls back to old PGlite-wrapping shim if postgres-browser isn't available.
47
+ postgres: 'orez/worker/shims/postgres-browser',
45
48
  '@rocicorp/zero-sqlite3': 'orez/worker/shims/sqlite',
46
49
  fastify: 'orez/worker/shims/fastify',
47
50
  ws: 'orez/worker/shims/ws',
@@ -53,7 +56,7 @@ export function getBrowserAliases() {
53
56
  'node:process': 'process/browser',
54
57
  'node:crypto': 'orez/worker/shims/node-stub',
55
58
  'crypto-browserify': 'orez/worker/shims/node-stub',
56
- 'node:stream': 'stream-browserify',
59
+ 'node:stream': 'orez/worker/shims/stream-browser',
57
60
  'node:path': 'path-browserify',
58
61
  'node:os': 'os-browserify/browser',
59
62
  // -- stubs for Node.js modules that zero-cache imports but doesn't --
@@ -1 +1 @@
1
- {"version":3,"file":"browser-build-config.js","sourceRoot":"","sources":["../../src/worker/browser-build-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,+CAA+C;QAC/C,QAAQ,EAAE,4BAA4B;QACtC,wBAAwB,EAAE,0BAA0B;QACpD,OAAO,EAAE,2BAA2B;QACpC,EAAE,EAAE,sBAAsB;QAE1B,mCAAmC;QACnC,6DAA6D;QAC7D,8DAA8D;QAC9D,aAAa,EAAE,QAAQ;QACvB,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,iBAAiB;QACjC,aAAa,EAAE,6BAA6B;QAC5C,mBAAmB,EAAE,6BAA6B;QAClD,aAAa,EAAE,mBAAmB;QAClC,WAAW,EAAE,iBAAiB;QAC9B,SAAS,EAAE,uBAAuB;QAElC,sEAAsE;QACtE,mCAAmC;QACnC,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE,6BAA6B;QACzC,UAAU,EAAE,6BAA6B;QACzC,oBAAoB,EAAE,6BAA6B;QACnD,SAAS,EAAE,6BAA6B;QACxC,kBAAkB,EAAE,6BAA6B;QACjD,UAAU,EAAE,6BAA6B;QACzC,WAAW,EAAE,6BAA6B;QAC1C,aAAa,EAAE,6BAA6B;QAC5C,yBAAyB,EAAE,6BAA6B;QACxD,SAAS,EAAE,6BAA6B;QACxC,WAAW,EAAE,6BAA6B;KAC3C,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,sBAAsB,EAAE,eAAe;QACvC,4BAA4B,EAAE,KAAK;QACnC,uBAAuB,EAAE,UAAU;KACpC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,KAAK,EAAE,iBAAiB,EAAE;QAC1B,MAAM,EAAE,gBAAgB,EAAE;QAC1B,0DAA0D;QAC1D,MAAM,EAAE,KAAc;QACtB,QAAQ,EAAE,SAAkB;QAC5B,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;KACb,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"browser-build-config.js","sourceRoot":"","sources":["../../src/worker/browser-build-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,+CAA+C;QAC/C,6EAA6E;QAC7E,wEAAwE;QACxE,8EAA8E;QAC9E,QAAQ,EAAE,oCAAoC;QAC9C,wBAAwB,EAAE,0BAA0B;QACpD,OAAO,EAAE,2BAA2B;QACpC,EAAE,EAAE,sBAAsB;QAE1B,mCAAmC;QACnC,6DAA6D;QAC7D,8DAA8D;QAC9D,aAAa,EAAE,QAAQ;QACvB,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,iBAAiB;QACjC,aAAa,EAAE,6BAA6B;QAC5C,mBAAmB,EAAE,6BAA6B;QAClD,aAAa,EAAE,kCAAkC;QACjD,WAAW,EAAE,iBAAiB;QAC9B,SAAS,EAAE,uBAAuB;QAElC,sEAAsE;QACtE,mCAAmC;QACnC,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE,6BAA6B;QACzC,UAAU,EAAE,6BAA6B;QACzC,oBAAoB,EAAE,6BAA6B;QACnD,SAAS,EAAE,6BAA6B;QACxC,kBAAkB,EAAE,6BAA6B;QACjD,UAAU,EAAE,6BAA6B;QACzC,WAAW,EAAE,6BAA6B;QAC1C,aAAa,EAAE,6BAA6B;QAC5C,yBAAyB,EAAE,6BAA6B;QACxD,SAAS,EAAE,6BAA6B;QACxC,WAAW,EAAE,6BAA6B;KAC3C,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,sBAAsB,EAAE,eAAe;QACvC,4BAA4B,EAAE,KAAK;QACnC,uBAAuB,EAAE,UAAU;KACpC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,KAAK,EAAE,iBAAiB,EAAE;QAC1B,MAAM,EAAE,gBAAgB,EAAE;QAC1B,0DAA0D;QAC1D,MAAM,EAAE,KAAc;QACtB,QAAQ,EAAE,SAAkB;QAC5B,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;KACb,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-embed.d.ts","sourceRoot":"","sources":["../../src/worker/browser-embed.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAOlD,MAAM,WAAW,4BAA4B;IAC3C,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAA;IAEd;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,8FAA8F;AAC9F,UAAU,MAAM;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;IACnE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;CACvE;AAED,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IAEvB;;;;OAIG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/C;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAEvD,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,qBAAqB,CAAC,CA0NhC"}
1
+ {"version":3,"file":"browser-embed.d.ts","sourceRoot":"","sources":["../../src/worker/browser-embed.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAOlD,MAAM,WAAW,4BAA4B;IAC3C,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAA;IAEd;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,8FAA8F;AAC9F,UAAU,MAAM;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;IACnE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;CACvE;AAED,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IAEvB;;;;OAIG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/C;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAEvD,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,qBAAqB,CAAC,CA6NhC"}
@@ -79,9 +79,9 @@ export async function startZeroCacheEmbedBrowser(opts) {
79
79
  ...globalThis.process.env,
80
80
  SINGLE_PROCESS: '1',
81
81
  NODE_ENV: 'development',
82
- ZERO_UPSTREAM_DB: 'pglite://in-process',
83
- ZERO_CVR_DB: 'pglite://in-process',
84
- ZERO_CHANGE_DB: 'pglite://in-process',
82
+ ZERO_UPSTREAM_DB: 'pglite://localhost/postgres',
83
+ ZERO_CVR_DB: 'pglite://localhost/zero_cvr',
84
+ ZERO_CHANGE_DB: 'pglite://localhost/zero_cdb',
85
85
  ZERO_REPLICA_FILE: ':browser-sqlite:',
86
86
  ZERO_PORT: '0',
87
87
  ZERO_APP_ID: appId,
@@ -159,36 +159,41 @@ export async function startZeroCacheEmbedBrowser(opts) {
159
159
  return isReady;
160
160
  },
161
161
  async handleWebSocket(ws, url = '/', headers) {
162
- // lazily resolve fastifyInstance — ZeroDispatcher is constructed AFTER the
163
- // ready signal fires, so __orez_fastify_instance may not be set yet.
164
- // the dispatcher's instance is the one with the WS handoff handler,
165
- // and it's always the LAST Fastify() call. we need to wait for it.
166
- //
167
- // check: the dispatcher's server will have 'message' listeners (from
168
- // installWebSocketHandoff). poll until we find an instance with listeners.
162
+ // lazily resolve fastify instances — ZeroDispatcher is constructed AFTER the
163
+ // ready signal fires, so instances may not all be registered yet.
164
+ // poll until we have instances with ws routes (tryHandoff will check).
165
+ let instances = [];
169
166
  for (let i = 0; i < 100; i++) {
167
+ instances = globalThis.__orez_fastify_instances || [];
170
168
  fastifyInstance = globalThis.__orez_fastify_instance;
171
- // the dispatcher's server has 2+ 'message' listeners:
172
- // 1. from FastifyShim#installWsHandoffHandler (every instance has this)
173
- // 2. from ZeroDispatcher's installWebSocketHandoff (only the dispatcher has this)
174
- // wait for >= 2 to ensure we have the dispatcher's instance
175
- if (fastifyInstance?.server?.listenerCount?.('message') >= 2)
169
+ // wait until we have at least one instance with 2+ message listeners
170
+ // (the dispatcher's instance has both the shim handler + installWebSocketHandoff)
171
+ if (instances.some((inst) => inst?.server?.listenerCount?.('message') >= 2))
176
172
  break;
177
173
  await new Promise((r) => setTimeout(r, 50));
178
174
  }
179
- if (!isReady || !fastifyInstance?.server)
175
+ if (!isReady)
180
176
  return;
181
- const message = {
182
- url,
183
- headers: headers || {},
184
- method: 'GET',
177
+ const handoffMsg = {
178
+ message: {
179
+ url,
180
+ headers: headers || {},
181
+ method: 'GET',
182
+ },
183
+ head: new Uint8Array(0),
185
184
  };
186
- // emit handoff
187
- // feed the WebSocket into zero-cache's handoff mechanism.
188
- // the fastify shim's server is an EventEmitter with onMessageType.
189
- // installWebSocketHandoff (non-Server branch) listens for "handoff".
190
- fastifyInstance.server.emit('message', ['handoff', { message, head: new Uint8Array(0) }], ws // the WebSocket-like object as sendHandle
191
- );
185
+ // try all fastify instances via tryHandoff, stop at first match
186
+ let handled = false;
187
+ for (const inst of instances) {
188
+ if (inst?.tryHandoff?.(handoffMsg, ws)) {
189
+ handled = true;
190
+ break;
191
+ }
192
+ }
193
+ // fallback: emit directly on the last instance's server
194
+ if (!handled && fastifyInstance?.server) {
195
+ fastifyInstance.server.emit('message', ['handoff', handoffMsg], ws);
196
+ }
192
197
  },
193
198
  async handleHttp(request) {
194
199
  if (!isReady || !fastifyInstance?.inject) {
@@ -1 +1 @@
1
- {"version":3,"file":"browser-embed.js","sourceRoot":"","sources":["../../src/worker/browser-embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-embed.js","sourceRoot":"","sources":["../../src/worker/browser-embed.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,7 @@ declare class FastifyShim {
61
61
  server: FakeHttpServer;
62
62
  websocketServer: WsServerShim;
63
63
  constructor();
64
+ tryHandoff(msg: any, socket?: any): boolean;
64
65
  get(path: string, optsOrHandler: any, handler?: any): void;
65
66
  post(path: string, handler: RouteHandler): void;
66
67
  put(path: string, handler: RouteHandler): void;
@@ -1 +1 @@
1
- {"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/fastify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,YAAY,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAuB,eAAe,IAAI,YAAY,EAAE,MAAM,SAAS,CAAA;AAI9E,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED,UAAU,YAAY;IACpB,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAA;IACtC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAA;IACjD,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7B,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAAA;IACvC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAA;CACzC;AAED,KAAK,YAAY,GAAG,CAClB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,KAChB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;AAE/B,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;CACb;AAMD,cAAM,cAAe,SAAQ,YAAY;;IAGvC,OAAO;;;;;IAIP,mEAAmE;IACnE,aAAa,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,GACpD,IAAI;IASP,MAAM;IAGN,KAAK;CAGN;AAkBD,cAAM,WAAW;;IACf,MAAM,EAAE,cAAc,CAAA;IACtB,eAAe,EAAE,YAAY,CAAA;;IA8C7B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG;IAanD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAGxC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAGvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAK1C,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAK3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,MAAM,CAAC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;CAwEzD;AAYD,iBAAS,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,CAM7C;AAED,eAAe,OAAO,CAAA;AACtB,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/fastify.ts"],"names":[],"mappings":"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"}
@@ -70,28 +70,36 @@ class FastifyShim {
70
70
  // and call the handler with the socket.
71
71
  #installWsHandoffHandler() {
72
72
  this.server.onMessageType('handoff', (msg, socket) => {
73
- if (!socket || !msg?.message?.url)
74
- return;
75
- const url = msg.message.url;
76
- const parsedUrl = new URL(url, 'http://localhost');
77
- const pathname = parsedUrl.pathname;
78
- for (const route of this.#wsRoutes) {
79
- if (route.pattern.test(pathname)) {
80
- const req = {
81
- url,
82
- headers: msg.message.headers || {},
83
- method: msg.message.method || 'GET',
84
- };
85
- // wrap socket through handleUpgrade so it gets the full WS API
86
- // (ping, on, once, terminate, etc.) needed by zero-cache's streamOut
87
- this.websocketServer.handleUpgrade(req, socket, Buffer.from(new Uint8Array(0)), (ws) => {
88
- route.handler(ws, req);
89
- });
90
- return;
91
- }
92
- }
73
+ this.tryHandoff(msg, socket);
93
74
  });
94
75
  }
76
+ // try to match a handoff message against registered websocket routes.
77
+ // returns true if a route matched, false otherwise.
78
+ // this is public so callers (ws shim, browser-embed) can iterate
79
+ // all fastify instances and stop at the first match.
80
+ tryHandoff(msg, socket) {
81
+ if (!socket || !msg?.message?.url)
82
+ return false;
83
+ const url = msg.message.url;
84
+ const parsedUrl = new URL(url, 'http://localhost');
85
+ const pathname = parsedUrl.pathname;
86
+ for (const route of this.#wsRoutes) {
87
+ if (route.pattern.test(pathname)) {
88
+ const req = {
89
+ url,
90
+ headers: msg.message.headers || {},
91
+ method: msg.message.method || 'GET',
92
+ };
93
+ // wrap socket through handleUpgrade so it gets the full WS API
94
+ // (ping, on, once, terminate, etc.) needed by zero-cache's streamOut
95
+ this.websocketServer.handleUpgrade(req, socket, Buffer.from(new Uint8Array(0)), (ws) => {
96
+ route.handler(ws, req);
97
+ });
98
+ return true;
99
+ }
100
+ }
101
+ return false;
102
+ }
95
103
  // route registration — supports optional { websocket: true } option
96
104
  get(path, optsOrHandler, handler) {
97
105
  if (typeof optsOrHandler === 'function') {
@@ -217,6 +225,9 @@ function tryParseJson(str) {
217
225
  function Fastify(_opts) {
218
226
  const instance = new FastifyShim();
219
227
  globalThis.__orez_fastify_instance = instance;
228
+ globalThis.__orez_fastify_instances =
229
+ globalThis.__orez_fastify_instances || [];
230
+ globalThis.__orez_fastify_instances.push(instance);
220
231
  return instance;
221
232
  }
222
233
  export default Fastify;
@@ -1 +1 @@
1
- {"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../../src/worker/shims/fastify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../../src/worker/shims/fastify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * postgres browser shim — real postgres package over MessagePort.
3
+ *
4
+ * replaces the old postgres.ts shim. uses the REAL postgres npm package
5
+ * with a custom socket factory that speaks wire protocol over MessagePort
6
+ * to pg-proxy-browser.
7
+ *
8
+ * setup: set globalThis.__orez_proxy_connect before importing.
9
+ */
10
+ declare function browserPostgres(urlOrOptions?: any, options?: any): any;
11
+ export default browserPostgres;
12
+ //# sourceMappingURL=postgres-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-browser.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/postgres-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,iBAAS,eAAe,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,OA+BzD;AAGD,eAAe,eAAe,CAAA"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * postgres browser shim — real postgres package over MessagePort.
3
+ *
4
+ * replaces the old postgres.ts shim. uses the REAL postgres npm package
5
+ * with a custom socket factory that speaks wire protocol over MessagePort
6
+ * to pg-proxy-browser.
7
+ *
8
+ * setup: set globalThis.__orez_proxy_connect before importing.
9
+ */
10
+ // import the REAL postgres package — the bundler aliases 'postgres-real' to the
11
+ // actual postgres npm package, avoiding circular resolution since 'postgres'
12
+ // is aliased to this file.
13
+ // @ts-expect-error — resolved by bundler alias
14
+ import postgres from 'postgres-real';
15
+ import { createSocketFactory } from './postgres-socket.js';
16
+ const getProxyConnect = () => {
17
+ const fn = globalThis.__orez_proxy_connect;
18
+ if (!fn)
19
+ throw new Error('__orez_proxy_connect not set');
20
+ return fn;
21
+ };
22
+ function browserPostgres(urlOrOptions, options) {
23
+ const opts = typeof urlOrOptions === 'string'
24
+ ? { ...(options || {}), host: urlOrOptions }
25
+ : { ...(urlOrOptions || {}) };
26
+ opts.socket = createSocketFactory(getProxyConnect());
27
+ if (typeof urlOrOptions === 'string') {
28
+ try {
29
+ const parsed = new URL(urlOrOptions.replace('pglite://', 'http://'));
30
+ opts.database = parsed.pathname.replace(/^\//, '') || 'postgres';
31
+ opts.host = '127.0.0.1';
32
+ opts.port = 0;
33
+ }
34
+ catch { }
35
+ }
36
+ opts.ssl = false;
37
+ opts.password = globalThis.__orez_proxy_password || '';
38
+ opts.username = globalThis.__orez_proxy_user || 'user';
39
+ // disable auto-subscribe
40
+ if (opts.no_subscribe === undefined)
41
+ opts.no_subscribe = true;
42
+ // limit pool size — too many concurrent connections overwhelm the MessagePort proxy
43
+ // limit pool size for browser — too many concurrent connections can overwhelm
44
+ if (!opts.max || opts.max > 2)
45
+ opts.max = 2;
46
+ console.debug(`[postgres-browser] creating client db=${opts.database} repl=${!!opts.connection?.replication} fetch_types=${opts.fetch_types} max=${opts.max} keys=${Object.keys(opts).sort().join(',')}`);
47
+ const client = postgres(opts);
48
+ return client;
49
+ }
50
+ Object.assign(browserPostgres, postgres);
51
+ export default browserPostgres;
52
+ //# sourceMappingURL=postgres-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-browser.js","sourceRoot":"","sources":["../../../src/worker/shims/postgres-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,6EAA6E;AAC7E,2BAA2B;AAC3B,+CAA+C;AAC/C,OAAO,QAAQ,MAAM,eAAe,CAAA;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,eAAe,GAAG,GAAkC,EAAE;IAC1D,MAAM,EAAE,GAAI,UAAkB,CAAC,oBAAoB,CAAA;IACnD,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACxD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,SAAS,eAAe,CAAC,YAAkB,EAAE,OAAa;IACxD,MAAM,IAAI,GACR,OAAO,YAAY,KAAK,QAAQ;QAC9B,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;QAC5C,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAA;IAEjC,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,eAAe,EAAE,CAAC,CAAA;IAEpD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;YACpE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,UAAU,CAAA;YAChE,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;YACvB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QACf,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,GAAG,GAAG,KAAK,CAAA;IAChB,IAAI,CAAC,QAAQ,GAAI,UAAkB,CAAC,qBAAqB,IAAI,EAAE,CAAA;IAC/D,IAAI,CAAC,QAAQ,GAAI,UAAkB,CAAC,iBAAiB,IAAI,MAAM,CAAA;IAC/D,yBAAyB;IACzB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;IAC7D,oFAAoF;IACpF,8EAA8E;IAC9E,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC;QAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;IAE3C,OAAO,CAAC,KAAK,CACX,yCAAyC,IAAI,CAAC,QAAQ,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,gBAAgB,IAAI,CAAC,WAAW,QAAQ,IAAI,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC3L,CAAA;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC7B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;AACxC,eAAe,eAAe,CAAA"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * MessagePort-backed socket for the postgres npm package.
3
+ *
4
+ * the postgres package (porsager/postgres) accepts a custom socket factory
5
+ * via options.socket. this provides a net.Socket-compatible object backed
6
+ * by a MessagePort that connects to pg-proxy-browser.
7
+ *
8
+ * usage:
9
+ * import postgres from 'postgres'
10
+ * import { createSocketFactory } from 'orez/worker/shims/postgres-socket'
11
+ *
12
+ * const sql = postgres({
13
+ * socket: createSocketFactory(proxyPort),
14
+ * // ... other options
15
+ * })
16
+ *
17
+ * this replaces the postgres.ts shim entirely — the real postgres package
18
+ * speaks wire protocol to pg-proxy-browser, just like orez-node speaks
19
+ * wire protocol to pg-proxy over TCP.
20
+ */
21
+ import { Buffer } from 'buffer';
22
+ import { EventEmitter } from 'events';
23
+ /**
24
+ * create a socket factory for the postgres npm package.
25
+ * each call to the factory creates a new MessageChannel,
26
+ * gives one port to the proxy via connectFn, and returns
27
+ * a Socket-like object backed by the other port.
28
+ */
29
+ export declare function createSocketFactory(connectFn: (port: MessagePort) => void): () => MessagePortSocket;
30
+ /**
31
+ * net.Socket-compatible object backed by MessagePort.
32
+ * implements the full interface that the postgres package uses,
33
+ * plus reasonable net.Socket spec compliance for other consumers.
34
+ */
35
+ declare class MessagePortSocket extends EventEmitter {
36
+ private connectFn;
37
+ private port;
38
+ private channel;
39
+ private _destroyed;
40
+ private _ended;
41
+ private _readyState;
42
+ private _paused;
43
+ private _pauseBuffer;
44
+ private _timeoutMs;
45
+ private _timeoutTimer;
46
+ writable: boolean;
47
+ readable: boolean;
48
+ bytesRead: number;
49
+ bytesWritten: number;
50
+ ssl?: boolean;
51
+ host?: string;
52
+ constructor(connectFn: (port: MessagePort) => void);
53
+ get destroyed(): boolean;
54
+ get readyState(): string;
55
+ get connecting(): boolean;
56
+ get pending(): boolean;
57
+ write(data: Uint8Array | Buffer | string, encoding?: any, callback?: Function): boolean;
58
+ end(data?: any, encoding?: any, callback?: Function): void;
59
+ destroy(err?: Error): this;
60
+ pause(): this;
61
+ resume(): this;
62
+ setTimeout(ms: number, cb?: Function): this;
63
+ private _resetTimeout;
64
+ setKeepAlive(): this;
65
+ setNoDelay(): this;
66
+ ref(): this;
67
+ unref(): this;
68
+ cork(): void;
69
+ uncork(): void;
70
+ connect(): this;
71
+ address(): {
72
+ address: string;
73
+ family: string;
74
+ port: number;
75
+ };
76
+ get remoteAddress(): string;
77
+ get remotePort(): number;
78
+ get remoteFamily(): string;
79
+ get localAddress(): string;
80
+ get localPort(): number;
81
+ }
82
+ export {};
83
+ //# sourceMappingURL=postgres-socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-socket.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/postgres-socket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,2BAEzE;AAED;;;;GAIG;AACH,cAAM,iBAAkB,SAAQ,YAAY;IA4B9B,OAAO,CAAC,SAAS;IA3B7B,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,WAAW,CAA2C;IAG9D,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,YAAY,CAAe;IAGnC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,aAAa,CAA6C;IAGlE,QAAQ,UAAO;IACf,QAAQ,UAAO;IACf,SAAS,SAAI;IACb,YAAY,SAAI;IAGhB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;gBAKO,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI;IA8C1D,IAAI,SAAS,YAEZ;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,YAEb;IAED,IAAI,OAAO,YAEV;IAGD,KAAK,CACH,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,EAClC,QAAQ,CAAC,EAAE,GAAG,EACd,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO;IAuCV,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAqBnD,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IAqCnB,KAAK;IAKL,MAAM;IAYN,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ;IAWpC,OAAO,CAAC,aAAa;IAWrB,YAAY;IAGZ,UAAU;IAGV,GAAG;IAGH,KAAK;IAGL,IAAI;IACJ,MAAM;IAGN,OAAO;IAKP,OAAO;;;;;IAGP,IAAI,aAAa,WAEhB;IACD,IAAI,UAAU,WAEb;IACD,IAAI,YAAY,WAEf;IACD,IAAI,YAAY,WAEf;IACD,IAAI,SAAS,WAEZ;CACF"}