on-zero 0.6.14 → 0.6.16

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 (163) hide show
  1. package/dist/cjs/asyncTasks.cjs +51 -0
  2. package/dist/cjs/asyncTasks.native.js +84 -0
  3. package/dist/cjs/asyncTasks.native.js.map +1 -0
  4. package/dist/cjs/cli.cjs +8 -1
  5. package/dist/cjs/cli.native.js +8 -1
  6. package/dist/cjs/cli.native.js.map +1 -1
  7. package/dist/cjs/createSchemaFromDrizzle.cjs +4 -4
  8. package/dist/cjs/createSchemaFromDrizzle.native.js +4 -4
  9. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  10. package/dist/cjs/createZeroDirectServer.cjs +269 -0
  11. package/dist/cjs/createZeroDirectServer.native.js +287 -0
  12. package/dist/cjs/createZeroDirectServer.native.js.map +1 -0
  13. package/dist/cjs/createZeroSQLiteServer.cjs +8 -277
  14. package/dist/cjs/createZeroSQLiteServer.native.js +8 -390
  15. package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -1
  16. package/dist/cjs/createZeroSQLiteServer.test.cjs +36 -9
  17. package/dist/cjs/createZeroSQLiteServer.test.native.js +37 -9
  18. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  19. package/dist/cjs/createZeroServer.test.cjs +79 -1
  20. package/dist/cjs/createZeroServer.test.native.js +85 -1
  21. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  22. package/dist/cjs/createZeroServerCore.cjs +28 -208
  23. package/dist/cjs/createZeroServerCore.native.js +33 -218
  24. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  25. package/dist/cjs/generate.cjs +15 -5
  26. package/dist/cjs/generate.native.js +15 -5
  27. package/dist/cjs/generate.native.js.map +1 -1
  28. package/dist/cjs/generate.test.cjs +55 -0
  29. package/dist/cjs/generate.test.native.js +55 -0
  30. package/dist/cjs/generate.test.native.js.map +1 -1
  31. package/dist/cjs/helpers/createMutators.cjs +2 -2
  32. package/dist/cjs/helpers/createMutators.native.js +2 -2
  33. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  34. package/dist/cjs/index.cjs +1 -0
  35. package/dist/cjs/index.native.js +1 -0
  36. package/dist/cjs/index.native.js.map +1 -1
  37. package/dist/cjs/server.cjs +2 -1
  38. package/dist/cjs/sqliteRuntime.cjs +318 -0
  39. package/dist/cjs/sqliteRuntime.native.js +438 -0
  40. package/dist/cjs/sqliteRuntime.native.js.map +1 -0
  41. package/dist/cjs/syncHost.cjs +26 -12
  42. package/dist/cjs/syncHost.native.js +32 -16
  43. package/dist/cjs/syncHost.native.js.map +1 -1
  44. package/dist/cjs/syncHost.test.cjs +15 -4
  45. package/dist/cjs/syncHost.test.native.js +16 -4
  46. package/dist/cjs/syncHost.test.native.js.map +1 -1
  47. package/dist/cjs/vite-plugin.cjs +2 -1
  48. package/dist/cjs/vite-plugin.native.js +2 -1
  49. package/dist/cjs/vite-plugin.native.js.map +1 -1
  50. package/dist/esm/asyncTasks.mjs +26 -0
  51. package/dist/esm/asyncTasks.mjs.map +1 -0
  52. package/dist/esm/asyncTasks.native.js +56 -0
  53. package/dist/esm/asyncTasks.native.js.map +1 -0
  54. package/dist/esm/cli.mjs +8 -1
  55. package/dist/esm/cli.mjs.map +1 -1
  56. package/dist/esm/cli.native.js +8 -1
  57. package/dist/esm/cli.native.js.map +1 -1
  58. package/dist/esm/createSchemaFromDrizzle.mjs +2 -2
  59. package/dist/esm/createSchemaFromDrizzle.native.js +2 -2
  60. package/dist/esm/createZeroDirectServer.mjs +241 -0
  61. package/dist/esm/createZeroDirectServer.mjs.map +1 -0
  62. package/dist/esm/createZeroDirectServer.native.js +256 -0
  63. package/dist/esm/createZeroDirectServer.native.js.map +1 -0
  64. package/dist/esm/createZeroSQLiteServer.mjs +3 -272
  65. package/dist/esm/createZeroSQLiteServer.mjs.map +1 -1
  66. package/dist/esm/createZeroSQLiteServer.native.js +3 -385
  67. package/dist/esm/createZeroSQLiteServer.native.js.map +1 -1
  68. package/dist/esm/createZeroSQLiteServer.test.mjs +36 -9
  69. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  70. package/dist/esm/createZeroSQLiteServer.test.native.js +37 -9
  71. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  72. package/dist/esm/createZeroServer.test.mjs +80 -2
  73. package/dist/esm/createZeroServer.test.mjs.map +1 -1
  74. package/dist/esm/createZeroServer.test.native.js +86 -2
  75. package/dist/esm/createZeroServer.test.native.js.map +1 -1
  76. package/dist/esm/createZeroServerCore.mjs +26 -205
  77. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  78. package/dist/esm/createZeroServerCore.native.js +32 -216
  79. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  80. package/dist/esm/generate.mjs +15 -5
  81. package/dist/esm/generate.mjs.map +1 -1
  82. package/dist/esm/generate.native.js +15 -5
  83. package/dist/esm/generate.native.js.map +1 -1
  84. package/dist/esm/generate.test.mjs +55 -1
  85. package/dist/esm/generate.test.mjs.map +1 -1
  86. package/dist/esm/generate.test.native.js +55 -1
  87. package/dist/esm/generate.test.native.js.map +1 -1
  88. package/dist/esm/helpers/createMutators.mjs +2 -2
  89. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  90. package/dist/esm/helpers/createMutators.native.js +2 -2
  91. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  92. package/dist/esm/index.js +1 -0
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/index.mjs +1 -0
  95. package/dist/esm/index.mjs.map +1 -1
  96. package/dist/esm/index.native.js +1 -0
  97. package/dist/esm/index.native.js.map +1 -1
  98. package/dist/esm/server.mjs +1 -0
  99. package/dist/esm/server.mjs.map +1 -1
  100. package/dist/esm/sqliteRuntime.mjs +289 -0
  101. package/dist/esm/sqliteRuntime.mjs.map +1 -0
  102. package/dist/esm/sqliteRuntime.native.js +406 -0
  103. package/dist/esm/sqliteRuntime.native.js.map +1 -0
  104. package/dist/esm/syncHost.mjs +24 -10
  105. package/dist/esm/syncHost.mjs.map +1 -1
  106. package/dist/esm/syncHost.native.js +30 -14
  107. package/dist/esm/syncHost.native.js.map +1 -1
  108. package/dist/esm/syncHost.test.mjs +15 -4
  109. package/dist/esm/syncHost.test.mjs.map +1 -1
  110. package/dist/esm/syncHost.test.native.js +16 -4
  111. package/dist/esm/syncHost.test.native.js.map +1 -1
  112. package/dist/esm/vite-plugin.mjs +2 -1
  113. package/dist/esm/vite-plugin.mjs.map +1 -1
  114. package/dist/esm/vite-plugin.native.js +2 -1
  115. package/dist/esm/vite-plugin.native.js.map +1 -1
  116. package/lint/ssr-guards.js +8 -7
  117. package/package.json +5 -6
  118. package/readme.md +13 -4
  119. package/src/asyncTasks.ts +33 -0
  120. package/src/cli.ts +7 -1
  121. package/src/createSchemaFromDrizzle.ts +2 -2
  122. package/src/createZeroDirectServer.ts +411 -0
  123. package/src/createZeroSQLiteServer.test.ts +28 -12
  124. package/src/createZeroSQLiteServer.ts +14 -481
  125. package/src/createZeroServer.test.ts +86 -2
  126. package/src/createZeroServerCore.ts +39 -343
  127. package/src/generate.test.ts +75 -1
  128. package/src/generate.ts +30 -4
  129. package/src/helpers/createMutators.ts +3 -3
  130. package/src/helpers/mutatorContext.ts +1 -1
  131. package/src/index.ts +1 -0
  132. package/src/server.ts +2 -0
  133. package/src/sqliteRuntime.ts +512 -0
  134. package/src/syncHost.test.ts +12 -5
  135. package/src/syncHost.ts +55 -16
  136. package/src/types.ts +21 -3
  137. package/src/vite-plugin.ts +1 -0
  138. package/test-fixtures/server-return-types.ts +20 -2
  139. package/types/asyncTasks.d.ts +7 -0
  140. package/types/asyncTasks.d.ts.map +1 -0
  141. package/types/createSchemaFromDrizzle.d.ts +2 -2
  142. package/types/createSchemaFromDrizzle.d.ts.map +1 -1
  143. package/types/createZeroDirectServer.d.ts +80 -0
  144. package/types/createZeroDirectServer.d.ts.map +1 -0
  145. package/types/createZeroSQLiteServer.d.ts +5 -30
  146. package/types/createZeroSQLiteServer.d.ts.map +1 -1
  147. package/types/createZeroServerCore.d.ts +30 -87
  148. package/types/createZeroServerCore.d.ts.map +1 -1
  149. package/types/generate.d.ts +2 -0
  150. package/types/generate.d.ts.map +1 -1
  151. package/types/helpers/createMutators.d.ts +3 -3
  152. package/types/helpers/createMutators.d.ts.map +1 -1
  153. package/types/index.d.ts +1 -0
  154. package/types/index.d.ts.map +1 -1
  155. package/types/server.d.ts +2 -0
  156. package/types/server.d.ts.map +1 -1
  157. package/types/sqliteRuntime.d.ts +71 -0
  158. package/types/sqliteRuntime.d.ts.map +1 -0
  159. package/types/syncHost.d.ts +10 -19
  160. package/types/syncHost.d.ts.map +1 -1
  161. package/types/types.d.ts +18 -2
  162. package/types/types.d.ts.map +1 -1
  163. package/types/vite-plugin.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["import_node_sqlite","require","import_zero","import_bindings","import_vitest","import_createZeroSQLiteServer","import_fixtureSchema","note","table","from","columns","id","string","done","boolean","data","json","optional","primaryKey","sqliteTypesSchema","createSchema","tables","relationships","enableLegacyQueries","person","membership","personId","teamId","team","active","metadata","twoHopSchema","param","many","teams","sourceField","destSchema","destField","pushRequest","name","args","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","type","clientID","timestamp","pushVersion","requestID","cleanupRequest","upToMutationID","describe","db","retryNextTransaction","transactionProvider","beforeEach","DatabaseSync","exec","join","executor","sql","params","arguments","length","prepare","run","query","all","queryAst","ast","format","rows","map","row","note_id","parse","label","Error","singular","callback","value","error","afterEach","close","test","effectRuns","server","createZeroSQLiteServer","schema","zeroHttpFixtureSchema","models","project","mutate","create","tx","server2","insert","asyncTasks","push","expect","toHaveLength","splice","createServerActions","result","handleMutationRequest","authData","request","ownerId","skipAsyncTasks","response","toEqual","lastMutationID","toBe","fail","toMatchObject","message","get","stored","value2","duplicate","count","upsert","update","delete","q","resolves","transaction","location","one"],"sources":["../../src/createZeroSQLiteServer.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AAEA,IAAAA,kBAA0E,GAAAC,OAAA;AAC1E,IAAAC,WAAA,GAAAD,OAAiC;AACjC,IAAAE,eAAA,GAA8DF,OAAA;AAE9D,IAAAG,aAAA,GAAAH,OAAA,SAAuC;AACvC,IAAAI,6BAAsC,GAAAJ,OAAA;AAOtC,IAAAK,oBAAa,GAAAL,OAAA,qCACL;AACG,IACPM,IAAA,GAAI,IAAAL,WAAA,CAAAM,KAAS,QAAK,EAAAC,IAAS,iBAAAC,OAAA;EAC3BC,EAAA,MAAAT,WAAM,CAAAU,MAAA,IAAAH,IAAQ;EACdI,IAAA,MAAMX,WAAA,CAAAY,OAAwB,EAAE;EACjCC,IACA,MAAAb,WAAe,CAAAc,IAAA,IAAAC,QAAA;AAElB,GAAAC,UAAM;AAAiC,IACrCC,iBAAa,OAAAjB,WAAA,CAAAkB,YAAA;EACbC,MAAA,GACAd,IAAA,CACD;EAEDe,aAAM,IAAS;EACfC,mBAAM,EAAa;AAGnB;AAEW,IACPC,MAAI,OAAAtB,WAAA,CAAAM,KAAS,UAAK,EAASE,OAAA;EAC3BC,EAAA,MAAAT,WAAQ,CAAAU,MAAA;AAA0B,EAClC,CAAAM,UAAA,KAAU;AACZ,IACCO,UAAW,IAAI,GAAAvB,WAAA,CAAAM,KAAA,gBAAAE,OAAA;EAClBgB,QAAM,MAAAxB,WAAe,CAAAU,MAAA;EACnBe,MAAA,EAAQ,CAAC,GAAAzB,WAAQ,CAAAU,MAAY;AAAI,EACjC,CAAAM,UAAA,WAAe;AAAA,IAAAU,IACb,OAAA1B,WAAA,CAAAM,KAAA,QAAc,EAAAC,IAAW,eAAY,EAAAC,OAAA;EAAAC,EAAA,EACnC,IAAAT,WAAO,CAAAU,MAAA,IAAAH,IAAA;EAAAoB,MACL,MAAA3B,WAAA,CAAAY,OAAA,IAAAL,IAAA;EAAAqB,QACE,MAAA5B,WAAc,CAAIc,IAAA,IAAAP,IAAA;AAAA,GAAAS,UAClB;AAAY,IAAAa,YACZ,KAAW,EAAC7B,WAAU,CAAAkB,YAAA;EAAAC,MACxB,GAAAG,MACA,EAAAC,UACE,EAAsBG,IAAA,CACV;EACIN,aAClB,KACF,EAAApB,WAAA,CAAAoB,aAAA,EAAAE,MAAA,YAAAQ,KAAA;IACA;MAAAC;IAAA,IAAAD,KAAA;IACJ;MACDE,KAAA,EAAAD,IAAA;QAEQE,WAAY,GACZ,IAAI,CACT;QACAC,UAAW,EAAAX,UAAgB;QACrBY,SAAK,GACT,UAAe;MAEb;QACEF,WAAM,GACN,SACA;QACAC,UAAA,EAAAR,IAAA;QACAS,SAAO,EAAI,CACX;MAEJ;IACA;EAAa,EACb;AACoB;AACrB,SACFC,YAAA3B,EAAA,EAAA4B,IAAA,EAAAC,IAAA;EACH,WAAAC,OAAA;IAEAC,MAAS;IACPC,OAAO,EAAI;MACT,cAAQ;IACR;IACAC,IAAA,EAAMC,IAAA,CAAKC,SAAA,CAAU;MACnBC,aAAA,EAAe;MACfC,SAAA,EAAW,CACT;QACEC,IAAA,EAAM;QACNtC,EAAA;QACAuC,QAAA,EAAU;QACVX,IAAA;QACAC,IAAA,EAAM,CACJA,IAAA;QACiBW,SACf;MAAU,EACM;MAClBC,WACF;MAAAD,SACA;MAAWE,SACb,WAAA1C;IAAA;EACF;AACa;AACF,SACX2C,cAAWA,CAAA;EAAA,OACZ,IAAAb,OAAA;IACFC,MAAA;IACHC,OAAA;MAEA;IACE;IACAC,IAAI,EAAAC,IAAA,CAAAC,SAAA;MACAC,aAAA;MAEJC,SAAA,GACE;QACGC,IAAA;QACDtC,EAAA;QACEuC,QAAA;QACAX,IAAA;QACAC,IAAK,GACT;UAEAO,aAAuB;UACjBG,QAAsC;UACpCK,cAAU;QACX,EACL;QACAJ,SAAiD;MAC/C,EACF;MACAC,WAAM;MACJD,SAAI;MACJE,SAAI,EAAI;IACN;EAA2D;AAE3D;AAGiB,IAAAjD,aACT,CAAAoD,QAAI;EAAA,IAAAC,EAAA;EACW,IAAAC,oBACN;EAAmD,IAAAC,mBAChE;EAAA,IAAAvD,aACK,CAAAwD,UAAI,cAAoB;IACjCH,EAAA,OAAAzD,kBAAO,CAAA6D,YAAA;IAAAJ,EAAA,CAAAK,IAAA,CACL,yFACM,2FACG,EAAAC,IAAA,MACL;IAAAL,oBACM;IAAA,IAAAM,QAAA,GACJ;MAAQ,MAAAF,KAAAG,GACR;QAA0B,IAAAC,MAC5B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;QAAAV,EAAA,CAAAY,OACF,CAAAJ,GAAA,EAAAK,GAAA,IAAAJ,MAAA;MAAA;MACF,MACFK,MAAAN,GAAA;QACF,IAAAC,MAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;QACL,OAAAV,EAAM,CAAAY,OAAI,CAAMJ,GAAA,EAAAO,GAAA,IAAAN,MAAA;MAA+B;MAEjD,MAAAO,QAAQA,CAAAC,GAAO,EAAAC,MAAA,EAAW;QAC5B,IAAAC,IAAA;QACF,IAAAF,GAAA,CAAAlE,KAAA;UACMoE,IAAA,GAAMnB,EAAA,CAAAY,OAAU,oCAA4D,EAAAG,GAAA;QAChF,CAAG,MAAK,IAAAE,GAAO,CAAAlE,KAAA;UACXoE,IAAA,GAAAnB,EAAA,CAAAY,OAAA,kEAAAG,GAAA,GAAAK,GAAA,WAAAC,GAAA;YACF,OAAM;cACHnE,EAAK,EAAAmE,GAAA,CAAAC,OAAQ;cAChBlE,IAAO,EAAAiE,GAAA,CAAAjE,IAAA;cACTE,IAAS,SAAO+D,GAAA,CAAA/D,IAAA,gBAAA8B,IAAA,CAAAmC,KAAA,CAAAF,GAAA,CAAA/D,IAAA,IAAA+D,GAAA,CAAA/D;YACX;UACH;QACF,WAAA2D,GAAA,CAAAlE,KAAA;UACFoE,IAAA,IACA;YAGMjE,EAAA;YACFuB,KAAA,GACQ;cACFvB,EAAA,MAAS;cACPkB,MAAA,EAAU;cACpBC,QAAA;gBACWmD,KAAQ;cACrB;YACD;UAGI,CAAM,CACV;QAED;UACM,UAAAC,KAAa,uBAAAR,GAAA,CAAAlE,KAAA;QACjB;QACE,OAAQmE,MAAA,CAAAQ,QAAA,GAAAP,IAAA,MAAAA,IAAA;MACR;IAAQ;IACG,IAAAN,GACP,kBAAAA,CAAQc,QAAA;MAAA3B,EAAA,CAAAK,IACN,QAAQ;MACN;QACA,IAAAuB,KAAA,SAAQD,QAAW,CAAApB,QAAK;QAAYP,EAAA,CAAAK,IAAE;QACtC,OAAAuB,KAAA;MACA,SAAAC,KAAA;QAA4C7B,EAAA,CAAAK,IAAE;QAC9C,MAAAwB,KAAA;MACE;IAAA;IACF3B,mBACF,kBAAAA,CAAAyB,QAAA;MAAA,IACF1B,oBAAA;QACFA,oBAAA;QACFD,EAAA,CAAAK,IAAA;QACA,MAAAsB,QAAA,CAAApB,QAAqB;QACrBP,EAAA,CAAAK,IAAA;MACD;MAED,OAAAQ,GAAA,CAAAc,QAAA;IACA;EAAkD;EACtC,IACVhF,aAAS,CAAAmF,SAAY,EAAG;IAAkB9B,EAAA,CAAA+B,KACpC;EAAA;EACK,IAAApF,aACH,CAAAqF,IAAA;IAAA,IACPC,UAAA;IAAA,IACDC,MAAA,OAAAtF,6BAAgB,CAAAuF,sBAAA;MACjBC,MAAA,EAAAvF,oBAAA,CAAAwF,qBAAA;MAEDC,MAAA;QACAC,OAAA;UACIC,MAAI,EAAM;YACbC,MAAA,iBAAAA,CAAAlE,KAAA,EAAAqD,KAAA;cACD;gBAAAc,EAAA;gBAAAR,MAAO,EAAAS;cAAG,CAAQ,GAAApE,KAAA;cACd,MAAAmE,EAAA,CAAeF,MAAA,CAAOD,OAAA,CAAAK,MAAU,CAAAhB,KAAA;cACnCe,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAE,UAAA,CAAAC,IAAA,oBACD;cACM,IAAOnG,aAAe,CAAAoG,MAAA,EAAAJ,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAE,UAAA,EAAAG,YAAA;cAC5BL,OAAA,SAAO,IAAAA,OAAU,KAAE,KAAM,aAAAA,OAAA,CAAAE,UAAA,CAAAI,MAAA,0BAC1B;cAEDN,OAAA,CAAAE,UAAK;gBACGZ,UAAS;cACL;YACR;UACE;QAAS;MACC;MAEJiB,mBAAS,WAAAA,CAAA,EAAe;QACxB;MAA0B;MAC5BhD;IACF;IACFD,oBACF;IAAA,IACAkD,MAAA,SAAAjB,MAAqB,CAAAkB,qBAAQ;MAC7BC,QAAA;MACDC,OAAA,EAAAzE,WAAA;QAED3B,EAAM;QACJqG,OAAA,EAAU;QACVzE,IAAA;MAAwC,EACtC;MAAI0E,cACK;IAAA;IACH,EACR,EAAC7G,aAAA,CAAAoG,MAAA,EAAAI,MAAA,CAAAM,QAAA,CAAAlE,SAAA,IAAA4D,MAAA,EAAAO,OAAA;IACH,CAAC,GAAA/G,aAAA,CAAAoG,MAAA,EAAA/C,EAAA,CAAAY,OAAA,0BAAAG,GAAA,IAAA2C,OAAA,EAED;MACExG,EAAA,MAAO;MACPqG,OAAS;MACVzE,IAAA;IACD,EACA;IAA8E,EAC5E,EAAAnC,aAAA,CAAgBoG,MAAA,EAAA/C,EAAA,CAAAY,OAAA,iCAAAG,GAAA,IAAA2C,OAAA,EACjB;MACDpE,aAAe,EAAG;MAGlBG,QAAA;MACEkE,cAAO;IACP,EACD;IACF,IAAAhH,aAAA,CAAAoG,MAAA,EAAAI,MAAA,CAAAN,UAAA,EAAAG,YAAA;IAED,MAAAG,MAAA,CAAAN,UAAK;IACH,IAAAlG,aAAM,CAAAoG,MAAS,EAAAd,UAAA,EAAA2B,IAAA;EAAuB;EAC5B,IACRjH,aAAQ,CAAAqF,IAAA;IAAA,IACNE,MAAA,GAAS,IAAAtF,6BAAA,CAAAuF,sBAAA;MAAAC,MACP,EAAAvF,oBAAQ,CAAAwF,qBAAA;MAAAC,MACN;QACEC,OAAA;UAA6CC,MAC/C;YACFqB,IAAA,iBAAAA,CAAAtF,KAAA,EAAAqD,KAAA;cACF;gBAAAc;cAAA,IAAAnE,KAAA;cACF,MAAAmE,EAAA,CAAAF,MAAA,CAAAD,OAAA,CAAAK,MAAA,CAAAhB,KAAA;cACA,UAAAH,KAAqB,WAAQ;YAC7B;UACD;QACD;MACE;MACAyB,mBAAS,WAAAA,CAAA;QACT,OAAM;MACR;MAEAhD;IAAmC,EACjC;IAAU,IACViD,MAAA,GAAS,MAAAjB,MAAY,CAAGkB,qBAAkB;MAC3CC,QAAA;MACDC,OAAM,EAAAzE,WAAY,EAAM,gBAAO;QAC7B3B,EAAA,MAAU;QACVqG,OAAS;QACVzE,IAAA;MAED;IAAsE,EACpE;IACF,CAAC,GAAAnC,aAAA,CAAAoG,MAAA,EAAAI,MAAA,CAAAM,QAAA,CAAAlE,SAAA,IAAA4D,MAAA,EAAAW,aAAA;MACDjC,KAAA;MACEkC,OAAA;IACF,CAAC;IACD,IAAApH,aAAA,CAAAoG,MAAA,EAAO/C,EAAA,CAAGY,OAAA,CAAQ,yBAAAG,GAAA,IAAA2C,OAAA;IAAiE,EACjF,EAAA/G,aAAO,CAAAoG,MAAA,EAAA/C,EAAA,CAAAY,OAAA,8CAAAoD,GAAA,IAAAN,OAAA;MACRC,cAAA;IAED;IAAmC,IACjCM,MAAA,GAAUjE,EAAA,CAAAY,OAAA,wCAAAoD,GAAA;IAAA,EACV,EAAArH,aAAS,CAAAoG,MAAA,EAAe3D,IAAA,CAAAmC,KAAA,CAAA0C,MAAA,CAAAd,MAAA,GAAAW,aAAA;MACzBjC,KAAA;MACDkC,OAAA;IAAmF,EACjF;EAAO,EACT;EACF,CAAC,GAAApH,aAAA,CAAAqF,IAAA;IAED,IAAAE,MAAA,OAAAtF,6BAAK,CAAAuF,sBAAA;MACHC,MAAM,EAAAvF,oBAAS,CAAAwF,qBAAA;MACbC,MAAA,EAAQ;QACRC,OAAQ;UACNC,MAAM;YACJC,MAAQ,iBAAAA,CAAAlE,KAAA,EAAA2F,MAAA;cACN;gBAAQxB;cAAA,IAAOnE,KAAK;cAClB,MAAMmE,EAAA,CAAGF,MAAA,CAAOD,OAAK,CAAAK,MAAO,CAAAsB,MAAc;YAC5C;UAAA;QAEE;MAA0C;MAC5ChB,mBACQ,EAAO,SAAAA,CAAA,EAAQ;QACrB;MAA0C;MAC5ChD;IAEE;IAA0C,IAAA0B,KAC5C;MAAA1E,EAAA,EACF;MAAAqG,OACF;MACFzE,IAAA;IAAA;IAC6B,MAC7BoD,MAAA,CAAAkB,qBAAA;MACDC,QAAA;MAEDC,OAAM,EAAAzE,WAAc,IAAK,gBAAO,EAAA+C,KAAA;IAAA,EAC9B;IAAI,IACJuC,SAAM,SAAAjC,MAAA,CAAAkB,qBAAA;MACNC,QAAQ;MACTC,OAAA,EAAAzE,WAAA,sBAAA+C,KAAA;IACD;IAAgC,EAC9B,EAAAjF,aAAI,CAAAoG,MAAA,EAAAoB,SAAA,CAAAV,QAAA,CAAAlE,SAAA,IAAA4D,MAAA,EAAAW,aAAA;MACJjC,KAAA,EAAM;IAAA,EACN;IACF,CAAC,GAAAlF,aAAA,CAAAoG,MAAA,EAAA/C,EAAA,CAAAY,OAAA,8CAAAoD,GAAA,IAAAN,OAAA;MACDC,cAAa;IAAmB,EAC9B;IAAI,EACJ,EAAAhH,aAAM,CAAAoG,MAAA,EAAA/C,EAAA,CAAAY,OAAA,mDAAAoD,GAAA,IAAAN,OAAA;MACPU,KAAA;IAED;IAA+D,MAC7DlC,MAAS,CAAAkB,qBAAA;MACTC,QAAM;MACNC,OAAM,EAAAzD,cAAiB;IACzB,CAAC;IACD,IAAAlD,aAAM,CAAAoG,MAAA,EAAA/C,EAAA,CAAAY,OAAO,iDAA8C,EAAAoD,GAAA,IAAAN,OAAA;MACzDU,KAAA;IAAA;EACM;EACE,IAAAzH,aACE,CAAAqF,IAAO,6EAAS;IAAA,IAC1BE,MAAA,OAAAtF,6BAAA,CAAAuF,sBAAA;MACDC,MAAA,EAAA1E,iBAAA;MACD4E,MAAM;QACJxF,IAAI,EAAG;UACP0F,MAAM;YACAI,MAAA,iBAAAA,CAAArE,KAAA,EAAAqD,KAAA;cACE;gBAAAc;cAAA,IAAAnE,KAAA;cACA,MAAEmE,EAAA,CAAOF,MAAA,CAAA1F,IAAS,CAAA8F,MAAA,CAAAhB,KAAA;YACzB;YACDyC,MAAM,iBAAAA,CAAA9F,KAAA,EAAAqD,KAAA;cACD;gBAAAc;cAAA,IAAcnE,KAAM;cACvB,MAASmE,EAAA,CAAAF,MAAQ,CAAA1F,IAAA,CAAAuH,MAAA,CAAAzC,KAAA;YACjB;YACE0C,MAAA,EAAS,eAAAA,CAAA/F,KAAA,EAAAqD,KAAA;cACT,IAAM;gBAAAc;cAAA,IAAAnE,KAAA;cACN,MAAMmE,EAAK,CAAAF,MAAA,CAAA1F,IAAY,CAAAwH,MAAO,CAAA1C,KAAA;YAChC;YACD2C,MAAA,iBAAAA,CAAAhG,KAAA,EAAAqD,KAAA;cACF;gBAAAc;cAAA,IAAAnE,KAAA;cAEK,MAAOmE,EAAA,CAAAF,MAAY,CAAA1F,IAAA,CAAAyH,MAAS,CAAI3C,KAAK,CAAC;YAC5C;UACD;QAED;MACE;MACEsB,mBAAQ,WAAAA,CAAA;QACR,OAAS;MACT;MACAhD;IACF,CAAC;IAED,MAAAgC,MAAM,CAAAM,MAAA,CAAA1F,IAAA,CAAA8F,MAAA,CAAO;MACX1F,EAAA;MAAAE,IACE,EAAI;MAAAE,IACJ;QAAOkE,KACL;MAAA;IACM;IACI,MAAAU,MACR,CAAAM,MAAU,CAAE1F,IAAA,CAAAuH,MAAO;MAAOnH,EAAA,EAC5B;MAAAE,IACF;MACFE,IAAA;QACDkE,KAAA;MACF;IAED;IACE,MAAMU,MAAA,CAAAM,MAAW,CAAA1F,IAAA,CAAAwH,MAAA;MACfpH,EAAA,EAAI;MACJE,IAAA,EAAM;IAAA,EACN;IACF,IAAAT,aAAA,CAAAoG,MAAA,EAAA/C,EAAA,CAAAY,OAAA,+BAAAoD,GAAA,IAAAN,OAAA;MACApC,OAAI;MACJlE,IAAM;MACJE,IAAA,EAAM8B,IAAA,CAAAC,SAAO;QAACmC,KAAA;MACd;IACE;IAAQ,MACV,IAAA7E,aAAA,CAAAoG,MAAA,EAAAb,MAAA,CAAApB,KAAA,WAAA0D,CAAA;MACA,OAAMA,CAAA,CAAA1H,IAAA;IACJ,IAAA2H,QAAA,CAAAf,OAAA,EACA;MACFxG,EAAA;MACFE,IAAA;MACAE,IAAM;QAEAkE,KAAA;MACJ;IACA,EAAS,CACT;IAA6B,MAC7BU,MAAA,CAAAwC,WAAqB,iBAAAhC,EAAA;MACtB,IAAAA,EAAA,CAAAiC,QAAA,yBAAAlD,KAAA;MAED,QAAM,EAAA9E,aAAA,CAAAoG,MAAA,EAAAL,EAAA,CAAA5B,KAAA,CAAAhE,IAAA,CAAA8H,GAAA,GAAA/D,GAAA,IAAA4D,QAAA,CAAAf,OAAA;QACJxG,EAAA,MAAO;QACPE,IAAA,OAAS;QACXE,IAAA;UACDkE,KAAA;QACF","ignoreList":[]}
1
+ {"version":3,"names":["import_node_sqlite","require","import_zero","import_bindings","import_vitest","import_createZeroSQLiteServer","import_fixtureSchema","note","table","from","columns","id","string","done","boolean","data","json","optional","primaryKey","sqliteTypesSchema","createSchema","tables","relationships","enableLegacyQueries","person","membership","personId","teamId","team","active","metadata","twoHopSchema","param","many","teams","sourceField","destSchema","destField","pushRequest","name","args","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","type","clientID","timestamp","pushVersion","requestID","cleanupRequest","upToMutationID","describe","db","retryNextTransaction","transactionProvider","statements","beforeEach","DatabaseSync","exec","join","executor","sql","params","arguments","length","push","result","prepare","run","changes","Number","query","all","queryAst","ast","format","rows","map","row","note_id","parse","label","Error","singular","callback","value","error","afterEach","close","test","effectRuns","server","createZeroSQLiteServer","schema","zeroHttpFixtureSchema","models","project","mutate","create","tx","server2","insert","enqueueTask","barrier","createServerActions","handleMutationRequest","authData","request","ownerId","skipAsyncTasks","expect","response","toEqual","lastMutationID","asyncTasks","toHaveLength","toBe","task","fail","toMatchObject","message","get","stored","value2","duplicate","count","upsert","update","delete","q","resolves","transaction","location","one","dbTransaction"],"sources":["../../src/createZeroSQLiteServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -100,7 +100,7 @@ function pushRequest(mutationIDs) {
100
100
  touch: async ({
101
101
  server
102
102
  }) => {
103
- server?.asyncTasks.push(async () => {
103
+ server?.enqueueTask(async () => {
104
104
  effectRuns++;
105
105
  });
106
106
  throw new Error("rejected");
@@ -123,6 +123,84 @@ function pushRequest(mutationIDs) {
123
123
  (0, import_vitest.expect)(result.asyncTasks).toEqual([]);
124
124
  (0, import_vitest.expect)(effectRuns).toBe(0);
125
125
  });
126
+ (0, import_vitest.test)("awaits barrier tasks before resolving the push response", async () => {
127
+ const pg = new FakePgClient();
128
+ let releaseBarrier;
129
+ let markBarrierStarted;
130
+ const barrierStarted = new Promise(resolve => {
131
+ markBarrierStarted = resolve;
132
+ });
133
+ const barrier = new Promise(resolve => {
134
+ releaseBarrier = resolve;
135
+ });
136
+ const zeroServer = (0, import_createZeroServer.createZeroServer)({
137
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
138
+ models: {
139
+ project: {
140
+ mutate: {
141
+ touch: async ({
142
+ server
143
+ }) => {
144
+ server?.enqueueTask(async () => {
145
+ markBarrierStarted();
146
+ await barrier;
147
+ }, {
148
+ barrier: true
149
+ });
150
+ }
151
+ }
152
+ }
153
+ },
154
+ createServerActions: () => ({}),
155
+ pool: pg
156
+ });
157
+ let responseResolved = false;
158
+ const resultPromise = zeroServer.handleMutationRequest({
159
+ authData: null,
160
+ request: pushRequest(1)
161
+ }).then(result2 => {
162
+ responseResolved = true;
163
+ return result2;
164
+ });
165
+ await barrierStarted;
166
+ await Promise.resolve();
167
+ (0, import_vitest.expect)(responseResolved).toBe(false);
168
+ releaseBarrier();
169
+ const result = await resultPromise;
170
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
171
+ });
172
+ (0, import_vitest.test)("does not fail the push when a background task rejects", async () => {
173
+ const pg = new FakePgClient();
174
+ const error = new Error("background failed");
175
+ const consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
176
+ const zeroServer = (0, import_createZeroServer.createZeroServer)({
177
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
178
+ models: {
179
+ project: {
180
+ mutate: {
181
+ touch: async ({
182
+ server
183
+ }) => {
184
+ server?.enqueueTask(async () => {
185
+ throw error;
186
+ });
187
+ }
188
+ }
189
+ }
190
+ },
191
+ createServerActions: () => ({}),
192
+ pool: pg
193
+ });
194
+ const result = await zeroServer.handleMutationRequest({
195
+ authData: null,
196
+ request: pushRequest(1)
197
+ });
198
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
199
+ await import_vitest.vi.waitFor(() => {
200
+ (0, import_vitest.expect)(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
201
+ });
202
+ consoleError.mockRestore();
203
+ });
126
204
  (0, import_vitest.test)("persists alreadyProcessed duplicate results for zero-cache recovery rows", async () => {
127
205
  const pg = new FakePgClient();
128
206
  const zeroServer = (0, import_createZeroServer.createZeroServer)({
@@ -149,7 +149,7 @@ function pushRequest(mutationIDs) {
149
149
  var {
150
150
  server
151
151
  } = param;
152
- server === null || server === void 0 ? void 0 : server.asyncTasks.push(async function () {
152
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
153
153
  effectRuns++;
154
154
  });
155
155
  throw new Error("rejected");
@@ -174,6 +174,90 @@ function pushRequest(mutationIDs) {
174
174
  (0, import_vitest.expect)(result.asyncTasks).toEqual([]);
175
175
  (0, import_vitest.expect)(effectRuns).toBe(0);
176
176
  });
177
+ (0, import_vitest.test)("awaits barrier tasks before resolving the push response", async function () {
178
+ var pg = new FakePgClient();
179
+ var releaseBarrier;
180
+ var markBarrierStarted;
181
+ var barrierStarted = new Promise(function (resolve) {
182
+ markBarrierStarted = resolve;
183
+ });
184
+ var barrier = new Promise(function (resolve) {
185
+ releaseBarrier = resolve;
186
+ });
187
+ var zeroServer = (0, import_createZeroServer.createZeroServer)({
188
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
189
+ models: {
190
+ project: {
191
+ mutate: {
192
+ touch: async function (param) {
193
+ var {
194
+ server
195
+ } = param;
196
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
197
+ markBarrierStarted();
198
+ await barrier;
199
+ }, {
200
+ barrier: true
201
+ });
202
+ }
203
+ }
204
+ }
205
+ },
206
+ createServerActions: function () {
207
+ return {};
208
+ },
209
+ pool: pg
210
+ });
211
+ var responseResolved = false;
212
+ var resultPromise = zeroServer.handleMutationRequest({
213
+ authData: null,
214
+ request: pushRequest(1)
215
+ }).then(function (result2) {
216
+ responseResolved = true;
217
+ return result2;
218
+ });
219
+ await barrierStarted;
220
+ await Promise.resolve();
221
+ (0, import_vitest.expect)(responseResolved).toBe(false);
222
+ releaseBarrier();
223
+ var result = await resultPromise;
224
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
225
+ });
226
+ (0, import_vitest.test)("does not fail the push when a background task rejects", async function () {
227
+ var pg = new FakePgClient();
228
+ var error = new Error("background failed");
229
+ var consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(function () {});
230
+ var zeroServer = (0, import_createZeroServer.createZeroServer)({
231
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
232
+ models: {
233
+ project: {
234
+ mutate: {
235
+ touch: async function (param) {
236
+ var {
237
+ server
238
+ } = param;
239
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
240
+ throw error;
241
+ });
242
+ }
243
+ }
244
+ }
245
+ },
246
+ createServerActions: function () {
247
+ return {};
248
+ },
249
+ pool: pg
250
+ });
251
+ var result = await zeroServer.handleMutationRequest({
252
+ authData: null,
253
+ request: pushRequest(1)
254
+ });
255
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
256
+ await import_vitest.vi.waitFor(function () {
257
+ (0, import_vitest.expect)(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
258
+ });
259
+ consoleError.mockRestore();
260
+ });
177
261
  (0, import_vitest.test)("persists alreadyProcessed duplicate results for zero-cache recovery rows", async function () {
178
262
  var pg = new FakePgClient();
179
263
  var zeroServer = (0, import_createZeroServer.createZeroServer)({
@@ -1 +1 @@
1
- {"version":3,"names":["import_vitest","require","import_createZeroServer","import_fixtureSchema","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","FakePgClient","FakePgClient2","query","sql","params","arguments","pendingLastMutationID","rows","lastMutationID","includes","nextMutationID","schemaRows","mutationResultInserts","push","Error","table","columns","map","column","schema","dataType","precision","scale","typtype","typename","elemTyptype","elemTypname","pushRequest","mutationIDs","ids","Array","isArray","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","mutationID","type","id","clientID","name","args","timestamp","pushVersion","requestID","join","describe","test","pg","effectRuns","zeroServer","createZeroServer","zeroHttpFixtureSchema","models","project","mutate","touch","param","server","asyncTasks","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","expect","response","toMatchObject","error","message","toEqual","toBe"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_vitest","require","import_createZeroServer","import_fixtureSchema","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","FakePgClient","FakePgClient2","query","sql","params","arguments","pendingLastMutationID","rows","lastMutationID","includes","nextMutationID","schemaRows","mutationResultInserts","push","Error","table","columns","map","column","schema","dataType","precision","scale","typtype","typename","elemTyptype","elemTypname","pushRequest","mutationIDs","ids","Array","isArray","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","mutationID","type","id","clientID","name","args","timestamp","pushVersion","requestID","join","describe","test","pg","effectRuns","zeroServer","createZeroServer","zeroHttpFixtureSchema","models","project","mutate","touch","param","server","enqueueTask","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","expect","response","toMatchObject","error","message","asyncTasks","toEqual","toBe","releaseBarrier","markBarrierStarted","barrierStarted","Promise","resolve","barrier","responseResolved","resultPromise","then","result2","consoleError","vi","spyOn","console","mockImplementation","waitFor","toHaveBeenCalledWith"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -22,120 +22,20 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var createZeroServerCore_exports = {};
24
24
  __export(createZeroServerCore_exports, {
25
- createZeroServerCore: () => createZeroServerCore,
26
- resolveServerQuery: () => resolveServerQuery
25
+ createZeroServerCore: () => createZeroServerCore
27
26
  });
28
27
  module.exports = __toCommonJS(createZeroServerCore_exports);
29
- var import_zero = require("@rocicorp/zero");
30
28
  var import_server = require("@rocicorp/zero/server");
31
- var import_createPermissions = require("./createPermissions.cjs");
29
+ var import_asyncTasks = require("./asyncTasks.cjs");
30
+ var import_createZeroDirectServer = require("./createZeroDirectServer.cjs");
32
31
  var import_createMutators = require("./helpers/createMutators.cjs");
33
32
  var import_mutatorContext = require("./helpers/mutatorContext.cjs");
34
33
  var import_queryContext = require("./helpers/queryContext.cjs");
35
- var import_modelRegistry = require("./modelRegistry.cjs");
36
- var import_run = require("./run.cjs");
37
- var import_state = require("./state.cjs");
38
- var import_where = require("./where.cjs");
39
- var import_zeroRunner = require("./zeroRunner.cjs");
40
- function resolveServerQuery({
41
- authData,
42
- name,
43
- args,
44
- queries,
45
- permissions,
46
- validateQuery
47
- }) {
48
- if (name.startsWith("permission.")) {
49
- const table = name.slice("permission.".length);
50
- const {
51
- objOrId
52
- } = args;
53
- const permission = (0, import_modelRegistry.getMutationsPermissions)(table);
54
- if (!permission) {
55
- throw new Error(`[permission] no permission defined for table: ${table}`);
56
- }
57
- (0, import_where.setEvaluatingPermission)(true);
58
- try {
59
- return (0, import_state.getZQL)()[table].where(eb => {
60
- return permissions.buildPermissionQuery(authData, eb, permission, objOrId, table);
61
- }).one();
62
- } finally {
63
- (0, import_where.setEvaluatingPermission)(false);
64
- }
65
- }
66
- if (validateQuery) {
67
- validateQuery({
68
- authData,
69
- queryName: name,
70
- params: args
71
- });
72
- }
73
- const query = (0, import_zero.mustGetQuery)(queries, name);
74
- return query.fn({
75
- args,
76
- ctx: authData
77
- });
78
- }
79
- function createAsyncTaskCollector() {
80
- const committed = [];
81
- let attempt;
82
- let completedAttempt;
83
- const current = () => attempt ?? committed;
84
- const queue = new Proxy([], {
85
- deleteProperty(_target, property) {
86
- return Reflect.deleteProperty(current(), property);
87
- },
88
- get(_target, property) {
89
- const target = current();
90
- const value = Reflect.get(target, property, target);
91
- return typeof value === "function" ? value.bind(target) : value;
92
- },
93
- getOwnPropertyDescriptor(_target, property) {
94
- return Reflect.getOwnPropertyDescriptor(current(), property);
95
- },
96
- has(_target, property) {
97
- return Reflect.has(current(), property);
98
- },
99
- ownKeys() {
100
- return Reflect.ownKeys(current());
101
- },
102
- set(_target, property, value) {
103
- return Reflect.set(current(), property, value);
104
- }
105
- });
106
- const lifecycle = {
107
- beginAttempt() {
108
- attempt = [];
109
- completedAttempt = void 0;
110
- },
111
- completeAttempt() {
112
- completedAttempt = attempt;
113
- attempt = void 0;
114
- },
115
- rollbackAttempt() {
116
- attempt = void 0;
117
- completedAttempt = void 0;
118
- },
119
- commitTransaction() {
120
- if (completedAttempt) committed.push(...completedAttempt);
121
- completedAttempt = void 0;
122
- },
123
- rollbackTransaction() {
124
- attempt = void 0;
125
- completedAttempt = void 0;
126
- }
127
- };
128
- return {
129
- committed,
130
- lifecycle,
131
- queue
132
- };
133
- }
134
34
  function createZeroServerCore({
135
35
  createDatabase,
136
36
  createServerActions,
137
37
  defaultAllowAdminRole = "all",
138
- defaultMutateAuthData = {},
38
+ defaultMutateAuthData,
139
39
  models,
140
40
  mutations: mutationValidators,
141
41
  persistAlreadyProcessed,
@@ -144,22 +44,30 @@ function createZeroServerCore({
144
44
  validateMutation,
145
45
  validateQuery
146
46
  }) {
147
- (0, import_state.setSchema)(schema);
148
- (0, import_state.setEnvironment)("server");
149
- const permissions = (0, import_createPermissions.createPermissions)({
150
- environment: "server",
47
+ const {
48
+ permissions,
49
+ server
50
+ } = (0, import_createZeroDirectServer.createZeroDirectServerRuntime)({
51
+ createDatabase,
52
+ createServerActions,
53
+ defaultAllowAdminRole,
54
+ defaultMutateAuthData,
55
+ models,
56
+ mutations: mutationValidators,
57
+ queries,
151
58
  schema,
152
- adminRoleMode: defaultAllowAdminRole
59
+ validateMutation,
60
+ validateQuery
153
61
  });
154
62
  const handleMutationRequest = async ({
155
63
  authData,
156
64
  request,
157
65
  skipAsyncTasks
158
66
  }) => {
159
- const tasks = createAsyncTaskCollector();
67
+ const tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
160
68
  const recoveryRequest = request.clone();
161
69
  const mutators = (0, import_createMutators.createMutators)({
162
- asyncTasks: tasks.queue,
70
+ enqueueTask: tasks.enqueueTask,
163
71
  can: permissions.can,
164
72
  createServerActions,
165
73
  environment: "server",
@@ -175,8 +83,12 @@ function createZeroServerCore({
175
83
  if (parsed) await persistAlreadyProcessed(parsed);
176
84
  }
177
85
  if (!skipAsyncTasks && tasks.committed.length) {
178
- Promise.all(tasks.committed.map(task => (0, import_mutatorContext.runWithAuthScope)(authData, task))).catch(err => {
179
- console.error("[push] async tasks failed", err);
86
+ const entries = tasks.committed.map(entry => ({
87
+ ...entry,
88
+ task: () => (0, import_mutatorContext.runWithAuthScope)(authData, entry.task)
89
+ }));
90
+ await (0, import_asyncTasks.runAsyncTaskEntries)(entries, {
91
+ background: () => void 0
180
92
  });
181
93
  }
182
94
  return {
@@ -191,7 +103,7 @@ function createZeroServerCore({
191
103
  if (!queries) {
192
104
  throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
193
105
  }
194
- const handler = (name, args) => resolveServerQuery({
106
+ const handler = (name, args) => (0, import_createZeroDirectServer.resolveServerQuery)({
195
107
  authData,
196
108
  name,
197
109
  args,
@@ -214,96 +126,10 @@ function createZeroServerCore({
214
126
  response
215
127
  };
216
128
  };
217
- async function runTransaction(database, query2) {
218
- try {
219
- if ((0, import_mutatorContext.isInZeroMutation)()) {
220
- const {
221
- tx
222
- } = (0, import_mutatorContext.mutatorContext)();
223
- return await query2(tx);
224
- }
225
- return await database.transaction(query2, dummyTransactionInput);
226
- } catch (err) {
227
- if (err?.name !== "PermissionError") {
228
- console.error(`Error running transaction(): ${err}`);
229
- }
230
- throw err;
231
- }
232
- }
233
- async function transaction(query2) {
234
- return runTransaction(createDatabase(), query2);
235
- }
236
- async function runMutate(modelName, mutatorName, mutatorArg, options) {
237
- let authData = options?.authData;
238
- if (!authData) {
239
- const scoped = (0, import_mutatorContext.getScopedAuthData)();
240
- if (scoped) authData = scoped;
241
- }
242
- const tasks = createAsyncTaskCollector();
243
- const mutators = (0, import_createMutators.createMutators)({
244
- models,
245
- environment: "server",
246
- asyncTasks: tasks.queue,
247
- authData: {
248
- ...defaultMutateAuthData,
249
- ...authData
250
- },
251
- createServerActions,
252
- can: permissions.can,
253
- validateMutation,
254
- mutationValidators
255
- });
256
- const modelMutators = mutators[modelName];
257
- const mutator = modelMutators[mutatorName];
258
- await runTransaction(withTransactionLifecycle(createDatabase(), tasks.lifecycle), async tx => {
259
- await mutator(tx, mutatorArg);
260
- });
261
- if (tasks.committed.length) {
262
- const resolvedAuth = authData ?? null;
263
- const promise = Promise.all(tasks.committed.map(task => (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, task)));
264
- if (options?.awaitEffects) {
265
- await promise;
266
- } else {
267
- promise.catch(err => {
268
- console.error("[mutate] async tasks failed", err);
269
- });
270
- }
271
- }
272
- }
273
- const mutate = new Proxy({}, {
274
- get(_, modelName) {
275
- return new Proxy({}, {
276
- get(_2, mutatorName) {
277
- return (arg, options) => runMutate(modelName, mutatorName, arg, options);
278
- }
279
- });
280
- }
281
- });
282
- function query(cb, authData) {
283
- const run = () => transaction(async tx => {
284
- return tx.run(cb((0, import_state.getZQL)()));
285
- });
286
- if (authData !== void 0) {
287
- return (0, import_queryContext.runWithQueryContext)({
288
- authData
289
- }, run);
290
- }
291
- return run();
292
- }
293
- if (queries) {
294
- (0, import_run.setCustomQueries)(queries);
295
- }
296
- (0, import_zeroRunner.setRunner)(queryObj => {
297
- return transaction(async tx => {
298
- return tx.run(queryObj);
299
- });
300
- });
301
129
  return {
302
130
  handleMutationRequest,
303
131
  handleQueryRequest,
304
- transaction,
305
- mutate,
306
- query
132
+ ...server
307
133
  };
308
134
  }
309
135
  function withTransactionLifecycle(database, lifecycle) {
@@ -353,10 +179,4 @@ function alreadyProcessedMutations(response) {
353
179
  const result = mutation.result;
354
180
  return !!id && typeof id === "object" && typeof id.clientID === "string" && typeof id.id === "number" && !!result && typeof result === "object" && result.error === "alreadyProcessed";
355
181
  });
356
- }
357
- const dummyTransactionInput = {
358
- clientGroupID: "unused",
359
- clientID: "unused",
360
- mutationID: 42,
361
- upstreamSchema: "unused"
362
- };
182
+ }