on-zero 0.6.16 → 0.6.17

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.
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServer_exports","__export","createZeroServer","module","exports","import_pg","require","import_helpers","import_pg2","import_createZeroServerCore","param","database","pool","externalPool","options","dbString","assertString","pgPool","Pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","zeroNodePg","schema","createZeroServerCore","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAA2BT,YAAA,CAAAK,wBAAA;AAC3B,IAAAK,SAAA,GAAAC,OAA6B;AAC7B,IAAAC,cAAqB,GAAAD,OAAA;AAErB,IAAAE,UAAA,GAAAF,OAAA;AAmBO,IAAAG,2BAIL,GAAAH,OAAA;AAAA,SACAJ,iBAAAQ,KAAA;EACA;IAAMC,QAAA;IAAAC,IAAA,EAAAC,YAAA;IAAA,GAAAC;EAAA,IAAAJ,KAAA;EACN,IAAGE,IAAA;EACL,IAW8CC,YAAA;IAC5CD,IAAI,GAAAC,YAAA;EACJ,OAAI;IACF,IAAAE,QAAO,OAAAR,cAAA,CAAAS,YAAA,EAAAL,QAAA;IACT,IAAAM,MAAO,OAAAT,UAAA,CAAAU,IAAA;MACLC,gBAAM,EAAAJ,QAAW;MACjBK,GAAA,EAAML,QAAS,CAAAM,QAAI,kBAAK;QACtBC,kBAAkB;MAClB,SAAK;IAGP,CAAC;IACDL,MAAA,CAAOM,EAAA,CAAG,SAAS,UAACC,KAAU;MAC5BC,OAAA,CAAQD,KAAA,CAAM,wBAAwBA,KAAA,CAAME,OAAO;IACrD,CAAC;IACDT,MAAA,CAAOM,EAAA,CAAG,WAAW,UAACI,MAAW;MAC/BA,MAAA,CAAOJ,EAAA,CAAG,SAAS,UAACC,KAAU;QAC5BC,OAAA,CAAQD,KAAA,CAAM,0BAA0BA,KAAA,CAAME,OAAO;MACvD,CAAC;IACH,CAAC;IACDd,IAAA,GAAOK,MAAA;EACT;EAEA,IAAAW,gBAAM,OAAAvB,SAAmB,CAAAwB,UAAA,EAAAf,OAAW,CAAAgB,MAAQ,EAAAlB,IAAQ;EAEpD,WAAOH,2BAAA,CAAAsB,oBAAA,EAAqB;IAC1B,GAAGjB,OAAA;IACHkB,cAAA,EAAgB,SAAAA,CAAA,EAAM;MACtB,OAAAJ,gBAAyB;IAC1B;IACHK,uBAAA,WAAAA,CAAAC,IAAA;MAEA,OAAAC,sCAAe,CAAAvB,IACb,EAAAsB,IACE;IAEF;EACA;AAEI;AACA,eAAOC,sCAAqCA,CAAAvB,IAAU,EAAAF,KAAM;EAC9D,IACC;IAAA0B,aAAS;IAAAC,SAAA;IAAAC;EAAA,IAAA5B,KAAA;EACZ,IAAA6B,KAAM,MAASC,iBAAU,CAAQF,cAAc;EAAA,IAC7CG,MAAA,GAAAJ,SAAA,CAAAK,GAAA,WAAAC,CAAA,EAAAC,KAAA;IACA,IAAAC,MAAS,GAAGD,KAAA;IACZ,YAAYC,MAAA,UAAAA,MAAA,UAAAA,MAAA,UAAAA,MAAA;EAAA,EACZ,CAAAC,IAAK;EACP,IAACC,MAAA,GAAAV,SAAA,CAAAW,OAAA,WAAAC,QAAA;IAED,OAAM,CACJb,aAAe,EAAKa,QACV,CAAAC,EAAA,CAAAC,QAAM,EAAAF,QAAA,CAAAC,EAAA,CAAAA,EAAA,EAEhBE,IAAA,CAAAC,SAAA,CAAAJ,QAAA,CAAAK,MAAA,EACF;EACF;EAEA,MAAA1C,IAAS,CAAA2C,KAAA,gBAAiChB,KAAA;AACxC,cAAWE,MAAM;AACnB,0EAAAM,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServer_exports","__export","createZeroServer","module","exports","import_pg","require","import_helpers","import_pg2","import_createZeroServerCore","param","database","pool","externalPool","options","dbString","assertString","pgPool","Pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","zeroNodePg","schema","createZeroServerCore","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAA2BT,YAAA,CAAAK,wBAAA;AAC3B,IAAAK,SAAA,GAAAC,OAA6B;AAC7B,IAAAC,cAAqB,GAAAD,OAAA;AAErB,IAAAE,UAAA,GAAAF,OAAA;AAqBO,IAAAG,2BAIL,GAAAH,OAAA;AAAA,SACAJ,iBAAAQ,KAAA;EACA;IAAMC,QAAA;IAAAC,IAAA,EAAAC,YAAA;IAAA,GAAAC;EAAA,IAAAJ,KAAA;EACN,IAAGE,IAAA;EACL,IAW8CC,YAAA;IAC5CD,IAAI,GAAAC,YAAA;EACJ,OAAI;IACF,IAAAE,QAAO,OAAAR,cAAA,CAAAS,YAAA,EAAAL,QAAA;IACT,IAAAM,MAAO,OAAAT,UAAA,CAAAU,IAAA;MACLC,gBAAM,EAAAJ,QAAW;MACjBK,GAAA,EAAML,QAAS,CAAAM,QAAI,kBAAK;QACtBC,kBAAkB;MAClB,SAAK;IAGP,CAAC;IACDL,MAAA,CAAOM,EAAA,CAAG,SAAS,UAACC,KAAU;MAC5BC,OAAA,CAAQD,KAAA,CAAM,wBAAwBA,KAAA,CAAME,OAAO;IACrD,CAAC;IACDT,MAAA,CAAOM,EAAA,CAAG,WAAW,UAACI,MAAW;MAC/BA,MAAA,CAAOJ,EAAA,CAAG,SAAS,UAACC,KAAU;QAC5BC,OAAA,CAAQD,KAAA,CAAM,0BAA0BA,KAAA,CAAME,OAAO;MACvD,CAAC;IACH,CAAC;IACDd,IAAA,GAAOK,MAAA;EACT;EAEA,IAAAW,gBAAM,OAAAvB,SAAmB,CAAAwB,UAAA,EAAAf,OAAW,CAAAgB,MAAQ,EAAAlB,IAAQ;EAEpD,WAAOH,2BAAA,CAAAsB,oBAAA,EAAqB;IAC1B,GAAGjB,OAAA;IACHkB,cAAA,EAAgB,SAAAA,CAAA,EAAM;MACtB,OAAAJ,gBAAyB;IAC1B;IACHK,uBAAA,WAAAA,CAAAC,IAAA;MAEA,OAAAC,sCAAe,CAAAvB,IACb,EAAAsB,IACE;IAEF;EACA;AAEI;AACA,eAAOC,sCAAqCA,CAAAvB,IAAU,EAAAF,KAAM;EAC9D,IACC;IAAA0B,aAAS;IAAAC,SAAA;IAAAC;EAAA,IAAA5B,KAAA;EACZ,IAAA6B,KAAM,MAASC,iBAAU,CAAQF,cAAc;EAAA,IAC7CG,MAAA,GAAAJ,SAAA,CAAAK,GAAA,WAAAC,CAAA,EAAAC,KAAA;IACA,IAAAC,MAAS,GAAGD,KAAA;IACZ,YAAYC,MAAA,UAAAA,MAAA,UAAAA,MAAA,UAAAA,MAAA;EAAA,EACZ,CAAAC,IAAK;EACP,IAACC,MAAA,GAAAV,SAAA,CAAAW,OAAA,WAAAC,QAAA;IAED,OAAM,CACJb,aAAe,EAAKa,QACV,CAAAC,EAAA,CAAAC,QAAM,EAAAF,QAAA,CAAAC,EAAA,CAAAA,EAAA,EAEhBE,IAAA,CAAAC,SAAA,CAAAJ,QAAA,CAAAK,MAAA,EACF;EACF;EAEA,MAAA1C,IAAS,CAAA2C,KAAA,gBAAiChB,KAAA;AACxC,cAAWE,MAAM;AACnB,0EAAAM,MAAA","ignoreList":[]}
@@ -201,6 +201,104 @@ function pushRequest(mutationIDs) {
201
201
  });
202
202
  consoleError.mockRestore();
203
203
  });
204
+ (0, import_vitest.test)("registers a promise that settles every background task with the request scheduler", async () => {
205
+ const pg = new FakePgClient();
206
+ const error = new Error("background failed");
207
+ const consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
208
+ let releaseSibling;
209
+ const siblingGate = new Promise(resolve => {
210
+ releaseSibling = resolve;
211
+ });
212
+ let siblingFinished = false;
213
+ let scheduled;
214
+ const zeroServer = (0, import_createZeroServer.createZeroServer)({
215
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
216
+ models: {
217
+ project: {
218
+ mutate: {
219
+ touch: async ({
220
+ server
221
+ }) => {
222
+ server?.enqueueTask(async () => {
223
+ throw error;
224
+ });
225
+ server?.enqueueTask(async () => {
226
+ await siblingGate;
227
+ siblingFinished = true;
228
+ });
229
+ }
230
+ }
231
+ }
232
+ },
233
+ createServerActions: () => ({}),
234
+ pool: pg
235
+ });
236
+ const result = await zeroServer.handleMutationRequest({
237
+ authData: null,
238
+ request: pushRequest(1),
239
+ scheduleBackgroundTask: promise => {
240
+ scheduled = promise;
241
+ }
242
+ });
243
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
244
+ (0, import_vitest.expect)(scheduled).toBeInstanceOf(Promise);
245
+ (0, import_vitest.expect)(siblingFinished).toBe(false);
246
+ let scheduledSettled = false;
247
+ void scheduled.then(() => {
248
+ scheduledSettled = true;
249
+ });
250
+ await Promise.resolve();
251
+ (0, import_vitest.expect)(scheduledSettled).toBe(false);
252
+ releaseSibling();
253
+ await scheduled;
254
+ (0, import_vitest.expect)(siblingFinished).toBe(true);
255
+ (0, import_vitest.expect)(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
256
+ consoleError.mockRestore();
257
+ });
258
+ (0, import_vitest.test)("awaits background tasks when the request has no scheduler", async () => {
259
+ const pg = new FakePgClient();
260
+ let markTaskStarted;
261
+ const taskStarted = new Promise(resolve => {
262
+ markTaskStarted = resolve;
263
+ });
264
+ let releaseTask;
265
+ const taskGate = new Promise(resolve => {
266
+ releaseTask = resolve;
267
+ });
268
+ const zeroServer = (0, import_createZeroServer.createZeroServer)({
269
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
270
+ models: {
271
+ project: {
272
+ mutate: {
273
+ touch: async ({
274
+ server
275
+ }) => {
276
+ server?.enqueueTask(async () => {
277
+ markTaskStarted();
278
+ await taskGate;
279
+ });
280
+ }
281
+ }
282
+ }
283
+ },
284
+ createServerActions: () => ({}),
285
+ pool: pg
286
+ });
287
+ let responseResolved = false;
288
+ const resultPromise = zeroServer.handleMutationRequest({
289
+ authData: null,
290
+ request: pushRequest(1)
291
+ }).then(result2 => {
292
+ responseResolved = true;
293
+ return result2;
294
+ });
295
+ await taskStarted;
296
+ await Promise.resolve();
297
+ (0, import_vitest.expect)(responseResolved).toBe(false);
298
+ releaseTask();
299
+ const result = await resultPromise;
300
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
301
+ });
204
302
  (0, import_vitest.test)("persists alreadyProcessed duplicate results for zero-cache recovery rows", async () => {
205
303
  const pg = new FakePgClient();
206
304
  const zeroServer = (0, import_createZeroServer.createZeroServer)({
@@ -258,6 +258,110 @@ function pushRequest(mutationIDs) {
258
258
  });
259
259
  consoleError.mockRestore();
260
260
  });
261
+ (0, import_vitest.test)("registers a promise that settles every background task with the request scheduler", async function () {
262
+ var pg = new FakePgClient();
263
+ var error = new Error("background failed");
264
+ var consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(function () {});
265
+ var releaseSibling;
266
+ var siblingGate = new Promise(function (resolve) {
267
+ releaseSibling = resolve;
268
+ });
269
+ var siblingFinished = false;
270
+ var scheduled;
271
+ var zeroServer = (0, import_createZeroServer.createZeroServer)({
272
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
273
+ models: {
274
+ project: {
275
+ mutate: {
276
+ touch: async function (param) {
277
+ var {
278
+ server
279
+ } = param;
280
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
281
+ throw error;
282
+ });
283
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
284
+ await siblingGate;
285
+ siblingFinished = true;
286
+ });
287
+ }
288
+ }
289
+ }
290
+ },
291
+ createServerActions: function () {
292
+ return {};
293
+ },
294
+ pool: pg
295
+ });
296
+ var result = await zeroServer.handleMutationRequest({
297
+ authData: null,
298
+ request: pushRequest(1),
299
+ scheduleBackgroundTask: function (promise) {
300
+ scheduled = promise;
301
+ }
302
+ });
303
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
304
+ (0, import_vitest.expect)(scheduled).toBeInstanceOf(Promise);
305
+ (0, import_vitest.expect)(siblingFinished).toBe(false);
306
+ var scheduledSettled = false;
307
+ void scheduled.then(function () {
308
+ scheduledSettled = true;
309
+ });
310
+ await Promise.resolve();
311
+ (0, import_vitest.expect)(scheduledSettled).toBe(false);
312
+ releaseSibling();
313
+ await scheduled;
314
+ (0, import_vitest.expect)(siblingFinished).toBe(true);
315
+ (0, import_vitest.expect)(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
316
+ consoleError.mockRestore();
317
+ });
318
+ (0, import_vitest.test)("awaits background tasks when the request has no scheduler", async function () {
319
+ var pg = new FakePgClient();
320
+ var markTaskStarted;
321
+ var taskStarted = new Promise(function (resolve) {
322
+ markTaskStarted = resolve;
323
+ });
324
+ var releaseTask;
325
+ var taskGate = new Promise(function (resolve) {
326
+ releaseTask = resolve;
327
+ });
328
+ var zeroServer = (0, import_createZeroServer.createZeroServer)({
329
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
330
+ models: {
331
+ project: {
332
+ mutate: {
333
+ touch: async function (param) {
334
+ var {
335
+ server
336
+ } = param;
337
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
338
+ markTaskStarted();
339
+ await taskGate;
340
+ });
341
+ }
342
+ }
343
+ }
344
+ },
345
+ createServerActions: function () {
346
+ return {};
347
+ },
348
+ pool: pg
349
+ });
350
+ var responseResolved = false;
351
+ var resultPromise = zeroServer.handleMutationRequest({
352
+ authData: null,
353
+ request: pushRequest(1)
354
+ }).then(function (result2) {
355
+ responseResolved = true;
356
+ return result2;
357
+ });
358
+ await taskStarted;
359
+ await Promise.resolve();
360
+ (0, import_vitest.expect)(responseResolved).toBe(false);
361
+ releaseTask();
362
+ var result = await resultPromise;
363
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
364
+ });
261
365
  (0, import_vitest.test)("persists alreadyProcessed duplicate results for zero-cache recovery rows", async function () {
262
366
  var pg = new FakePgClient();
263
367
  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","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":[]}
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","mockRestore","releaseSibling","siblingGate","siblingFinished","scheduled","scheduleBackgroundTask","promise","toBeInstanceOf","scheduledSettled","markTaskStarted","taskStarted","releaseTask","taskGate"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -62,6 +62,7 @@ function createZeroServerCore({
62
62
  const handleMutationRequest = async ({
63
63
  authData,
64
64
  request,
65
+ scheduleBackgroundTask,
65
66
  skipAsyncTasks
66
67
  }) => {
67
68
  const tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
@@ -88,7 +89,7 @@ function createZeroServerCore({
88
89
  task: () => (0, import_mutatorContext.runWithAuthScope)(authData, entry.task)
89
90
  }));
90
91
  await (0, import_asyncTasks.runAsyncTaskEntries)(entries, {
91
- background: () => void 0
92
+ background: scheduleBackgroundTask
92
93
  });
93
94
  }
94
95
  return {
@@ -71,6 +71,7 @@ function createZeroServerCore(param) {
71
71
  var {
72
72
  authData,
73
73
  request,
74
+ scheduleBackgroundTask,
74
75
  skipAsyncTasks
75
76
  } = param2;
76
77
  var tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
@@ -101,9 +102,7 @@ function createZeroServerCore(param) {
101
102
  };
102
103
  });
103
104
  await (0, import_asyncTasks.runAsyncTaskEntries)(entries, {
104
- background: function () {
105
- return void 0;
106
- }
105
+ background: scheduleBackgroundTask
107
106
  });
108
107
  }
109
108
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServerCore_exports","__export","createZeroServerCore","module","exports","import_server","require","import_asyncTasks","import_createZeroDirectServer","import_createMutators","import_mutatorContext","import_queryContext","_type_of","obj","Symbol","constructor","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","createZeroDirectServerRuntime","handleMutationRequest","param2","authData","request","skipAsyncTasks","tasks","createAsyncTaskCollector","recoveryRequest","clone","mutators","createMutators","enqueueTask","can","environment","processor","PushProcessor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","runWithAuthScope","runAsyncTaskEntries","background","asyncTasks","handleQueryRequest","Error","handler","name","args","resolveServerQuery","userID","id","runWithQueryContext","database","transaction","callback","input","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,4BAAA;AAAAC,QAAA,CAAAD,4BAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAGO,CAAAK,4BAAA;AAEP,IAAAK,aAAA,GAAAC,OAAoC;AACpC,IAAAC,iBAAA,GAAAD,OAAA,yBAOO;AACP,IAAAE,6BAA+B,GAAAF,OAAA;AAC/B,IAAAG,qBAAA,GAAiCH,OAAA;AACjC,IAAAI,qBAAA,GAAoCJ,OAAA;AAmC7B,IAAAK,mBAAS,GAAAL,OAId;AAAA,SACAM,SAAAC,GAAA;EACA;;EACA,OAAAA,GAAA,WAAAC,MAAwB,oBAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAAA;AACxB,SACAX,qBAAAc,KAAA;EACA;IAAAC,cAAW;IAAAC,mBAAA;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,MAAA;IAAAC,SAAA,EAAAC,kBAAA;IAAAC,uBAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,gBAAA;IAAAC;EAAA,IAAAZ,KAAA;EACX;IAAAa,WAAA;IAAAC;EAAA,QAAAtB,6BAAA,CAAAuB,6BAAA;IACAd,cAAA;IACAC,mBAAA;IACAC,qBAAA;IACAC,qBAAA;IACuDC,MAAA;IACvDC,SAAQ,EAAAC,kBAAoB;IAC1BE,OAAA;IACAC,MAAA;IACAC,gBAAA;IACAC;EAAA,EACA;EAAA,IACAI,qBAAW,kBAAAA,CAAAC,MAAA;IACX;MAAAC,QAAA;MAAAC,OAAA;MAAAC;IAAA,IAAAH,MAAA;IACA,IAAAI,KAAA,OAAA7B,6BAAA,CAAA8B,wBAAA;IACA,IAAAC,eAAA,GAAAJ,OAAA,CAAAK,KAAA;IACA,IAAAC,QAAA,OAAAhC,qBAAA,CAAAiC,cAAA;MACDC,WAAA,EAAAN,KAAA,CAAAM,WAAA;MAEDC,GAAM,EAAAf,WAAA,CAAAe,GAAA;MACJ1B,mBAAA;MACA2B,WAAA;MACAxB,MAAA;MACFa,QAIM;MACJP,gBAAc;MACdJ;IACA;IAAgC,IAC9BuB,SAAA,GAAa,IAAAzC,aAAM,CAAA0C,aAAA,CAAAC,wBAAA,CAAA/B,cAAA,IAAAoB,KAAA,CAAAY,SAAA;IAAA,IACnBC,QAAK,SAAYJ,SAAA,CAAAK,OAAA,CAAAV,QAAA,EAAAN,OAAA;IAAA,IACjBX,uBAAA;MACA,IAAA4B,MAAA,GAAa,MAAAC,qBAAA,CAAAd,eAAA,EAAAW,QAAA;MACb,IAAAE,MAAA,QAAA5B,uBAAA,CAAA4B,MAAA;IAAA;IACA,IACA,CAAAhB,cAAA,IAAAC,KAAA,CAAAiB,SAAA,CAAAC,MAAA;MACA,IAAAC,OAAA,GAAAnB,KAAA,CAAAiB,SAAA,CAAAG,GAAA,WAAAC,KAAA;QACD;UACK,GAAAA,KAAA;UACJC,IAAA,WAAAA,CAAA;YACF,WAAAjD,qBAAA,CAAAkD,gBAAA,EAAA1B,QAAA,EAAAwB,KAAA,CAAAC,IAAA;UACM;QAEF;MACF;MACA,MAAI,IAAApD,iBAAc,CAAAsD,mBAAwB,EAAML,OAAA;QAClDM,UAAA,WAAAA,CAAA;UAEK;QACH;MAAgD,EAC9C;IAAG;IAC8C,OACjD;MACFZ,QAAA;MACFa,UAAA,EAAA1B,KAAA,CAAAiB;IAEA;EAAO;EACL,IACAU,kBAAkB,kBAAAA,CAAA/B,MAAA;IACpB;MAAAC,QAAA;MAAAC;IAAA,IAAAF,MAAA;IACF,KAAAR,OAAA;MAEA,MAAM,IAAAwC,KAAA,2HAA4B;IAChC;IACA,IAAAC,OAAA,YAAAA,CAAAC,IAAA,EAAAC,IAAA;MACF,OAGM,IAAA5D,6BAAA,CAAA6D,kBAAA;QACAnC,QAAC;QACHiC,IAAM;QACJC,IAAA;QAEF3C,OAAA;QACFI,WAAA;QAEAD;MAEI;IAAA;IACA,IACA0C,MAAA,WAAApC,QAAA,aAAAA,QAAA,uBAAAA,QAAA,CAAAqC,EAAA,iBAAArC,QAAA,CAAAqC,EAAA;IAAA,IACArB,QAAA,aAAAvC,mBAAA,CAAA6D,mBAAA;MACAtC,QAAA,EAAAA,QAAA;IAAA,GACA;MACD;QAEH;QACAoC,MAAM,UAAW,QAAMjE,aAAA,CAAA2D,kBAAA,EAAAE,OAAA,EAAAxC,MAAA,EAAAS,OAAA,QAAA9B,aAAA,CAAA2D,kBAAA;UACnBE,OAAA;UACFxC,MAAA;UAAAS,OAAA;UAEEmC;QAE+D;MAAA;IAGnE;IACF;MAEApB;IACE;EAAA;EACA,OACG;IACLlB,qBAAA;IACFgC,kBAAA;IAQA,GAAAlC;EAIE;AAAO;AAEH,SAAAkB,wBAAIA,CAAAyB,QAAA,EAAAxB,SAAA;EACF;IACE,MAAAyB,WAAUA,CAAAC,QAAA,EAAAC,KAAa;MACvB;QACE,IAAA7E,KAAA,GAAM,MAAA0E,QAAe,CAAAC,WAAa,iBAAKG,EAAA,EAAAC,KAAA;UACvC7B,SAAA,CAAA8B,YAAU;UACV;YACF,IAAAC,MAAS,SAAOL,QAAA,CAAAE,EAAA,EAAAC,KAAA;YACd7B,SAAA,CAAUgC,eAAA,CAAgB;YAC1B,OAAMD,MAAA;UACR,SAAAE,KAAA;YACCjC,SAAK,CAAAkC,eAAA;YACR,MAAUD,KAAA;UACV;QACF,GAAAN,KAAS;QACP3B,SAAA,CAAUmC,iBAAA;QACV,OAAMrF,KAAA;MACR,SAAAmF,KAAA;QACFjC,SAAA,CAAAoC,mBAAA;QACF,MAAAH,KAAA;MACF;IAEA;EAIE;AACA;AAEA,eAAM7B,qBAAyBA,CAAAlB,OAAW,EAAEe,QAAA;EAC5C,IAAI5B,SAAC,GAAAgE,yBAAgB,CAAApC,QAAA;EAErB,IAAA5B,SAAc,CAAAiC,MAAM,QAAQ;EAC5B,IAAIgC,cAAY,OAAAC,GAAA,CAAArD,OAAkB,CAAAsD,GAAA,EAAAC,YAAU,CAAAC,GAAA;EAE5C,KAAAJ,cAAO;EAAA,IACLK,IAAA,SAAezD,OAAK,CAAA0D,IAAA;EAAA,IACpB,OAAAD,IAAA,CAAAE,aAAA;EAAA,OACA;IACFA,aAAA,EAAAF,IAAA,CAAAE,aAAA;IACFxE,SAAA;IAEAiE;EACE;AACA;AACA,SAAKD,yBAA0BA,CAAApC,QAAQ;EAEvC,KAAAA,QAAO,IAAU,QAAQA,QAAA,KAAmD,4BAAAtC,QAAA,CAAAsC,QAAA;EAC1E,IAAA5B,SAAK,GAAA4B,QAAY,CAAA5B,SAAO;EACxB,KAAAyE,KAAM,CAAAC,OAAM,CAAA1E,SAA8B;EAC1C,OAAAA,SAAM,CAAU2E,MAAA,WAAkCC,QAAA;IAClD,KAAAA,QACI,IACF,QAAOA,QAAO,gBACN,GAA8B,cAAatF,QAAA,CAAAsF,QAC3C,OAAwB,QAAO,SACrC;IAIL,IAAA3B,EAAA,GAAA2B,QAAA,CAAA3B,EAAA;IACH,IAAAS,MAAA,GAAAkB,QAAA,CAAAlB,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServerCore_exports","__export","createZeroServerCore","module","exports","import_server","require","import_asyncTasks","import_createZeroDirectServer","import_createMutators","import_mutatorContext","import_queryContext","_type_of","obj","Symbol","constructor","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","createZeroDirectServerRuntime","handleMutationRequest","param2","authData","request","scheduleBackgroundTask","skipAsyncTasks","tasks","createAsyncTaskCollector","recoveryRequest","clone","mutators","createMutators","enqueueTask","can","environment","processor","PushProcessor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","runWithAuthScope","runAsyncTaskEntries","background","asyncTasks","handleQueryRequest","Error","handler","name","args","resolveServerQuery","userID","id","runWithQueryContext","database","transaction","callback","input","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["zeroNodePg","assertString","Pool","createZeroServerCore","createZeroServer","database","pool","externalPool","options","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","schema","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query","value","replaceAll"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,SAASC,oBAAA,QAA4B;AAmB9B,SAASC,iBAId;EACAC,QAAA;EACAC,IAAA,EAAMC,YAAA;EACN,GAAGC;AACL,GAW8C;EAC5C,IAAIF,IAAA;EACJ,IAAIC,YAAA,EAAc;IAChBD,IAAA,GAAOC,YAAA;EACT,OAAO;IACL,MAAME,QAAA,GAAWR,YAAA,CAAaI,QAAA,EAAU,6BAA6B;IACrE,MAAMK,MAAA,GAAS,IAAIR,IAAA,CAAK;MACtBS,gBAAA,EAAkBF,QAAA;MAClBG,GAAA,EAAKH,QAAA,CAASI,QAAA,CAAS,iBAAiB,IACpC;QAAEC,kBAAA,EAAoB;MAAM,IAC5B;IACN,CAAC;IACDJ,MAAA,CAAOK,EAAA,CAAG,SAAUC,KAAA,IAAU;MAC5BC,OAAA,CAAQD,KAAA,CAAM,wBAAwBA,KAAA,CAAME,OAAO;IACrD,CAAC;IACDR,MAAA,CAAOK,EAAA,CAAG,WAAYI,MAAA,IAAW;MAC/BA,MAAA,CAAOJ,EAAA,CAAG,SAAUC,KAAA,IAAU;QAC5BC,OAAA,CAAQD,KAAA,CAAM,0BAA0BA,KAAA,CAAME,OAAO;MACvD,CAAC;IACH,CAAC;IACDZ,IAAA,GAAOI,MAAA;EACT;EAEA,MAAMU,gBAAA,GAAmBpB,UAAA,CAAWQ,OAAA,CAAQa,MAAA,EAAQf,IAAI;EAExD,OAAOH,oBAAA,CAAqB;IAC1B,GAAGK,OAAA;IACHc,cAAA,EAAgBA,CAAA,KAAMF,gBAAA;IACtBG,uBAAA,EAA0BC,IAAA,IAASC,sCAAA,CAAuCnB,IAAA,EAAMkB,IAAI;EACtF,CAAC;AACH;AAEA,eAAeC,uCACbnB,IAAA,EACA;EAAEoB,aAAA;EAAeC,SAAA;EAAWC;AAAe,GAC3C;EACA,MAAMC,KAAA,GAAQ,GAAGC,iBAAA,CAAkBF,cAAc,CAAC;EAClD,MAAMG,MAAA,GAASJ,SAAA,CACZK,GAAA,CAAI,CAACC,CAAA,EAAGC,KAAA,KAAU;IACjB,MAAMC,MAAA,GAASD,KAAA,GAAQ;IACvB,OAAO,KAAKC,MAAA,GAAS,CAAC,MAAMA,MAAA,GAAS,CAAC,MAAMA,MAAA,GAAS,CAAC,MAAMA,MAAA,GAAS,CAAC;EACxE,CAAC,EACAC,IAAA,CAAK,IAAI;EACZ,MAAMC,MAAA,GAASV,SAAA,CAAUW,OAAA,CAASC,QAAA,IAAa,CAC7Cb,aAAA,EACAa,QAAA,CAASC,EAAA,CAAGC,QAAA,EACZF,QAAA,CAASC,EAAA,CAAGA,EAAA,EACZE,IAAA,CAAKC,SAAA,CAAUJ,QAAA,CAASK,MAAM,EAC/B;EAED,MAAMtC,IAAA,CAAKuC,KAAA,CACT,eAAehB,KAAK;AAAA,cACVE,MAAM;AAAA,0EAEhBM,MACF;AACF;AAEA,SAASP,kBAAkBgB,KAAA,EAAe;EACxC,OAAO,IAAIA,KAAA,CAAMC,UAAA,CAAW,KAAK,IAAI,CAAC;AACxC","ignoreList":[]}
1
+ {"version":3,"names":["zeroNodePg","assertString","Pool","createZeroServerCore","createZeroServer","database","pool","externalPool","options","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","schema","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query","value","replaceAll"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,SAASC,oBAAA,QAA4B;AAqB9B,SAASC,iBAId;EACAC,QAAA;EACAC,IAAA,EAAMC,YAAA;EACN,GAAGC;AACL,GAW8C;EAC5C,IAAIF,IAAA;EACJ,IAAIC,YAAA,EAAc;IAChBD,IAAA,GAAOC,YAAA;EACT,OAAO;IACL,MAAME,QAAA,GAAWR,YAAA,CAAaI,QAAA,EAAU,6BAA6B;IACrE,MAAMK,MAAA,GAAS,IAAIR,IAAA,CAAK;MACtBS,gBAAA,EAAkBF,QAAA;MAClBG,GAAA,EAAKH,QAAA,CAASI,QAAA,CAAS,iBAAiB,IACpC;QAAEC,kBAAA,EAAoB;MAAM,IAC5B;IACN,CAAC;IACDJ,MAAA,CAAOK,EAAA,CAAG,SAAUC,KAAA,IAAU;MAC5BC,OAAA,CAAQD,KAAA,CAAM,wBAAwBA,KAAA,CAAME,OAAO;IACrD,CAAC;IACDR,MAAA,CAAOK,EAAA,CAAG,WAAYI,MAAA,IAAW;MAC/BA,MAAA,CAAOJ,EAAA,CAAG,SAAUC,KAAA,IAAU;QAC5BC,OAAA,CAAQD,KAAA,CAAM,0BAA0BA,KAAA,CAAME,OAAO;MACvD,CAAC;IACH,CAAC;IACDZ,IAAA,GAAOI,MAAA;EACT;EAEA,MAAMU,gBAAA,GAAmBpB,UAAA,CAAWQ,OAAA,CAAQa,MAAA,EAAQf,IAAI;EAExD,OAAOH,oBAAA,CAAqB;IAC1B,GAAGK,OAAA;IACHc,cAAA,EAAgBA,CAAA,KAAMF,gBAAA;IACtBG,uBAAA,EAA0BC,IAAA,IAASC,sCAAA,CAAuCnB,IAAA,EAAMkB,IAAI;EACtF,CAAC;AACH;AAEA,eAAeC,uCACbnB,IAAA,EACA;EAAEoB,aAAA;EAAeC,SAAA;EAAWC;AAAe,GAC3C;EACA,MAAMC,KAAA,GAAQ,GAAGC,iBAAA,CAAkBF,cAAc,CAAC;EAClD,MAAMG,MAAA,GAASJ,SAAA,CACZK,GAAA,CAAI,CAACC,CAAA,EAAGC,KAAA,KAAU;IACjB,MAAMC,MAAA,GAASD,KAAA,GAAQ;IACvB,OAAO,KAAKC,MAAA,GAAS,CAAC,MAAMA,MAAA,GAAS,CAAC,MAAMA,MAAA,GAAS,CAAC,MAAMA,MAAA,GAAS,CAAC;EACxE,CAAC,EACAC,IAAA,CAAK,IAAI;EACZ,MAAMC,MAAA,GAASV,SAAA,CAAUW,OAAA,CAASC,QAAA,IAAa,CAC7Cb,aAAA,EACAa,QAAA,CAASC,EAAA,CAAGC,QAAA,EACZF,QAAA,CAASC,EAAA,CAAGA,EAAA,EACZE,IAAA,CAAKC,SAAA,CAAUJ,QAAA,CAASK,MAAM,EAC/B;EAED,MAAMtC,IAAA,CAAKuC,KAAA,CACT,eAAehB,KAAK;AAAA,cACVE,MAAM;AAAA,0EAEhBM,MACF;AACF;AAEA,SAASP,kBAAkBgB,KAAA,EAAe;EACxC,OAAO,IAAIA,KAAA,CAAMC,UAAA,CAAW,KAAK,IAAI,CAAC;AACxC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["zeroNodePg","assertString","Pool","createZeroServerCore","createZeroServer","param","database","pool","externalPool","options","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","schema","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,SAASC,oBAAA,QAA4B;AAmB9B,SAASC,iBAIdC,KAAA;EACA;IAAAC,QAAA;IAAAC,IAAA,EAAAC,YAAA;IAAA,GAAAC;EAAA,IAAAJ,KAAA;EACA,IAAAE,IAAM;EACN,IAAGC,YAAA;IAYyCD,IAAA,GAAAC,YAAA;EAC5C,OAAI;IACJ,IAAIE,QAAA,GAAAT,YAAc,CAAAK,QAAA;IAChB,IAAAK,MAAO,OAAAT,IAAA;MACTU,gBAAO,EAAAF,QAAA;MACLG,GAAA,EAAMH,QAAA,CAAAI,QAAW,kBAAuB;QACxCC,kBAAmB,EAAK;MACtB;IAAkB,EAClB;IAGFJ,MAAC,CAAAK,EAAA,oBAAAC,KAAA;MACDC,OAAO,CAAGD,KAAA,uBAAoB,EAAAA,KAAA,CAAAE,OAAA;IAC5B;IACFR,MAAC,CAAAK,EAAA,sBAAAI,MAAA;MACDA,MAAO,CAAAJ,EAAG,UAAW,UAACC,KAAW;QAC/BC,OAAO,CAAGD,KAAA,yBAAoB,EAAAA,KAAA,CAAAE,OAAA;MAC5B;IAAqD,EACvD;IACFZ,IAAC,GAAAI,MAAA;EACD;EACF,IAAAU,gBAAA,GAAArB,UAAA,CAAAS,OAAA,CAAAa,MAAA,EAAAf,IAAA;EAEA,OAAMJ,oBAAmB;IAEzB,GAAAM,OAAO;IACLc,cAAG,WAAAA,CAAA;MACH,OAAAF,gBAAsB;IACtB;IACDG,uBAAA,WAAAA,CAAAC,IAAA;MACH,OAAAC,sCAAA,CAAAnB,IAAA,EAAAkB,IAAA;IAEA;EAIE;AACA;AAEI,eAAMC,sCAAiBA,CAAAnB,IAAA,EAAAF,KAAA;EACvB;IAAAsB,aAAY;IAAAC,SAAgB;IAAAC;EAAgB,IAAAxB,KAAU;EACxD,IACCyB,KAAK,GAAI,GAAAC,iBAAA,CAAAF,cAAA;EACZ,IAAAG,MAAM,GAAAJ,SAAS,CAAAK,GAAU,WAASC,CAAA,EAAAC,KAAA;IAChC,IAAAC,MAAA,GAAAD,KAAA;IACA,YAAYC,MAAA,UAAAA,MAAA,UAAAA,MAAA,UAAAA,MAAA;EAAA,EACZ,CAAAC,IAAA,KAAS;EAAG,IACZC,MAAK,GAAAV,SAAU,CAAAW,OAAS,WAAMC,QAAA;IAC/B,QAEDb,aAAW,EACTa,QAAA,CAAAC,EAAA,CAAAC,QAAoB,EAAAF,QACV,CAAAC,EAAA,CAAAA,EAAM,EAAAE,IAAA,CAAAC,SAAA,CAAAJ,QAAA,CAAAK,MAAA,EAEhB;EACF;EACF,MAAAtC,IAAA,CAAAuC,KAAA,gBAAAhB,KAAA;AAEA,cAASE,MAAA;AACP,wEAAsC,EAAAM,MAAA;AACxC","ignoreList":[]}
1
+ {"version":3,"names":["zeroNodePg","assertString","Pool","createZeroServerCore","createZeroServer","param","database","pool","externalPool","options","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","schema","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,SAASC,oBAAA,QAA4B;AAqB9B,SAASC,iBAIdC,KAAA;EACA;IAAAC,QAAA;IAAAC,IAAA,EAAAC,YAAA;IAAA,GAAAC;EAAA,IAAAJ,KAAA;EACA,IAAAE,IAAM;EACN,IAAGC,YAAA;IAYyCD,IAAA,GAAAC,YAAA;EAC5C,OAAI;IACJ,IAAIE,QAAA,GAAAT,YAAc,CAAAK,QAAA;IAChB,IAAAK,MAAO,OAAAT,IAAA;MACTU,gBAAO,EAAAF,QAAA;MACLG,GAAA,EAAMH,QAAA,CAAAI,QAAW,kBAAuB;QACxCC,kBAAmB,EAAK;MACtB;IAAkB,EAClB;IAGFJ,MAAC,CAAAK,EAAA,oBAAAC,KAAA;MACDC,OAAO,CAAGD,KAAA,uBAAoB,EAAAA,KAAA,CAAAE,OAAA;IAC5B;IACFR,MAAC,CAAAK,EAAA,sBAAAI,MAAA;MACDA,MAAO,CAAAJ,EAAG,UAAW,UAACC,KAAW;QAC/BC,OAAO,CAAGD,KAAA,yBAAoB,EAAAA,KAAA,CAAAE,OAAA;MAC5B;IAAqD,EACvD;IACFZ,IAAC,GAAAI,MAAA;EACD;EACF,IAAAU,gBAAA,GAAArB,UAAA,CAAAS,OAAA,CAAAa,MAAA,EAAAf,IAAA;EAEA,OAAMJ,oBAAmB;IAEzB,GAAAM,OAAO;IACLc,cAAG,WAAAA,CAAA;MACH,OAAAF,gBAAsB;IACtB;IACDG,uBAAA,WAAAA,CAAAC,IAAA;MACH,OAAAC,sCAAA,CAAAnB,IAAA,EAAAkB,IAAA;IAEA;EAIE;AACA;AAEI,eAAMC,sCAAiBA,CAAAnB,IAAA,EAAAF,KAAA;EACvB;IAAAsB,aAAY;IAAAC,SAAgB;IAAAC;EAAgB,IAAAxB,KAAU;EACxD,IACCyB,KAAK,GAAI,GAAAC,iBAAA,CAAAF,cAAA;EACZ,IAAAG,MAAM,GAAAJ,SAAS,CAAAK,GAAU,WAASC,CAAA,EAAAC,KAAA;IAChC,IAAAC,MAAA,GAAAD,KAAA;IACA,YAAYC,MAAA,UAAAA,MAAA,UAAAA,MAAA,UAAAA,MAAA;EAAA,EACZ,CAAAC,IAAA,KAAS;EAAG,IACZC,MAAK,GAAAV,SAAU,CAAAW,OAAS,WAAMC,QAAA;IAC/B,QAEDb,aAAW,EACTa,QAAA,CAAAC,EAAA,CAAAC,QAAoB,EAAAF,QACV,CAAAC,EAAA,CAAAA,EAAM,EAAAE,IAAA,CAAAC,SAAA,CAAAJ,QAAA,CAAAK,MAAA,EAEhB;EACF;EACF,MAAAtC,IAAA,CAAAuC,KAAA,gBAAAhB,KAAA;AAEA,cAASE,MAAA;AACP,wEAAsC,EAAAM,MAAA;AACxC","ignoreList":[]}
@@ -201,6 +201,104 @@ describe("createZeroServer mutation recovery", () => {
201
201
  });
202
202
  consoleError.mockRestore();
203
203
  });
204
+ test("registers a promise that settles every background task with the request scheduler", async () => {
205
+ const pg = new FakePgClient();
206
+ const error = new Error("background failed");
207
+ const consoleError = vi.spyOn(console, "error").mockImplementation(() => {});
208
+ let releaseSibling;
209
+ const siblingGate = new Promise(resolve => {
210
+ releaseSibling = resolve;
211
+ });
212
+ let siblingFinished = false;
213
+ let scheduled;
214
+ const zeroServer = createZeroServer({
215
+ schema: zeroHttpFixtureSchema,
216
+ models: {
217
+ project: {
218
+ mutate: {
219
+ touch: async ({
220
+ server
221
+ }) => {
222
+ server?.enqueueTask(async () => {
223
+ throw error;
224
+ });
225
+ server?.enqueueTask(async () => {
226
+ await siblingGate;
227
+ siblingFinished = true;
228
+ });
229
+ }
230
+ }
231
+ }
232
+ },
233
+ createServerActions: () => ({}),
234
+ pool: pg
235
+ });
236
+ const result = await zeroServer.handleMutationRequest({
237
+ authData: null,
238
+ request: pushRequest(1),
239
+ scheduleBackgroundTask: promise => {
240
+ scheduled = promise;
241
+ }
242
+ });
243
+ expect(result.response.mutations[0].result).toEqual({});
244
+ expect(scheduled).toBeInstanceOf(Promise);
245
+ expect(siblingFinished).toBe(false);
246
+ let scheduledSettled = false;
247
+ void scheduled.then(() => {
248
+ scheduledSettled = true;
249
+ });
250
+ await Promise.resolve();
251
+ expect(scheduledSettled).toBe(false);
252
+ releaseSibling();
253
+ await scheduled;
254
+ expect(siblingFinished).toBe(true);
255
+ expect(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
256
+ consoleError.mockRestore();
257
+ });
258
+ test("awaits background tasks when the request has no scheduler", async () => {
259
+ const pg = new FakePgClient();
260
+ let markTaskStarted;
261
+ const taskStarted = new Promise(resolve => {
262
+ markTaskStarted = resolve;
263
+ });
264
+ let releaseTask;
265
+ const taskGate = new Promise(resolve => {
266
+ releaseTask = resolve;
267
+ });
268
+ const zeroServer = createZeroServer({
269
+ schema: zeroHttpFixtureSchema,
270
+ models: {
271
+ project: {
272
+ mutate: {
273
+ touch: async ({
274
+ server
275
+ }) => {
276
+ server?.enqueueTask(async () => {
277
+ markTaskStarted();
278
+ await taskGate;
279
+ });
280
+ }
281
+ }
282
+ }
283
+ },
284
+ createServerActions: () => ({}),
285
+ pool: pg
286
+ });
287
+ let responseResolved = false;
288
+ const resultPromise = zeroServer.handleMutationRequest({
289
+ authData: null,
290
+ request: pushRequest(1)
291
+ }).then(result2 => {
292
+ responseResolved = true;
293
+ return result2;
294
+ });
295
+ await taskStarted;
296
+ await Promise.resolve();
297
+ expect(responseResolved).toBe(false);
298
+ releaseTask();
299
+ const result = await resultPromise;
300
+ expect(result.response.mutations[0].result).toEqual({});
301
+ });
204
302
  test("persists alreadyProcessed duplicate results for zero-cache recovery rows", async () => {
205
303
  const pg = new FakePgClient();
206
304
  const zeroServer = createZeroServer({
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","test","vi","createZeroServer","zeroHttpFixtureSchema","FakePgClient","lastMutationID","pendingLastMutationID","mutationResultInserts","query","sql","params","rows","includes","nextMutationID","schemaRows","push","Error","table","columns","map","column","schema","dataType","length","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","pg","effectRuns","zeroServer","models","project","mutate","touch","server","enqueueTask","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","response","toMatchObject","error","message","asyncTasks","toEqual","toBe","releaseBarrier","markBarrierStarted","barrierStarted","Promise","resolve","barrier","responseResolved","resultPromise","then","result2","consoleError","spyOn","console","mockImplementation","waitFor","toHaveBeenCalledWith","mockRestore","first","duplicate","duplicateResult","details","mixed","results","mutation"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","test","vi","createZeroServer","zeroHttpFixtureSchema","FakePgClient","lastMutationID","pendingLastMutationID","mutationResultInserts","query","sql","params","rows","includes","nextMutationID","schemaRows","push","Error","table","columns","map","column","schema","dataType","length","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","pg","effectRuns","zeroServer","models","project","mutate","touch","server","enqueueTask","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","response","toMatchObject","error","message","asyncTasks","toEqual","toBe","releaseBarrier","markBarrierStarted","barrierStarted","Promise","resolve","barrier","responseResolved","resultPromise","then","result2","consoleError","spyOn","console","mockImplementation","waitFor","toHaveBeenCalledWith","mockRestore","releaseSibling","siblingGate","siblingFinished","scheduled","scheduleBackgroundTask","promise","toBeInstanceOf","scheduledSettled","markTaskStarted","taskStarted","releaseTask","taskGate","first","duplicate","duplicateResult","details","mixed","results","mutation"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -256,6 +256,110 @@ describe("createZeroServer mutation recovery", function () {
256
256
  });
257
257
  consoleError.mockRestore();
258
258
  });
259
+ test("registers a promise that settles every background task with the request scheduler", async function () {
260
+ var pg = new FakePgClient();
261
+ var error = new Error("background failed");
262
+ var consoleError = vi.spyOn(console, "error").mockImplementation(function () {});
263
+ var releaseSibling;
264
+ var siblingGate = new Promise(function (resolve) {
265
+ releaseSibling = resolve;
266
+ });
267
+ var siblingFinished = false;
268
+ var scheduled;
269
+ var zeroServer = createZeroServer({
270
+ schema: zeroHttpFixtureSchema,
271
+ models: {
272
+ project: {
273
+ mutate: {
274
+ touch: async function (param) {
275
+ var {
276
+ server
277
+ } = param;
278
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
279
+ throw error;
280
+ });
281
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
282
+ await siblingGate;
283
+ siblingFinished = true;
284
+ });
285
+ }
286
+ }
287
+ }
288
+ },
289
+ createServerActions: function () {
290
+ return {};
291
+ },
292
+ pool: pg
293
+ });
294
+ var result = await zeroServer.handleMutationRequest({
295
+ authData: null,
296
+ request: pushRequest(1),
297
+ scheduleBackgroundTask: function (promise) {
298
+ scheduled = promise;
299
+ }
300
+ });
301
+ expect(result.response.mutations[0].result).toEqual({});
302
+ expect(scheduled).toBeInstanceOf(Promise);
303
+ expect(siblingFinished).toBe(false);
304
+ var scheduledSettled = false;
305
+ void scheduled.then(function () {
306
+ scheduledSettled = true;
307
+ });
308
+ await Promise.resolve();
309
+ expect(scheduledSettled).toBe(false);
310
+ releaseSibling();
311
+ await scheduled;
312
+ expect(siblingFinished).toBe(true);
313
+ expect(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
314
+ consoleError.mockRestore();
315
+ });
316
+ test("awaits background tasks when the request has no scheduler", async function () {
317
+ var pg = new FakePgClient();
318
+ var markTaskStarted;
319
+ var taskStarted = new Promise(function (resolve) {
320
+ markTaskStarted = resolve;
321
+ });
322
+ var releaseTask;
323
+ var taskGate = new Promise(function (resolve) {
324
+ releaseTask = resolve;
325
+ });
326
+ var zeroServer = createZeroServer({
327
+ schema: zeroHttpFixtureSchema,
328
+ models: {
329
+ project: {
330
+ mutate: {
331
+ touch: async function (param) {
332
+ var {
333
+ server
334
+ } = param;
335
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
336
+ markTaskStarted();
337
+ await taskGate;
338
+ });
339
+ }
340
+ }
341
+ }
342
+ },
343
+ createServerActions: function () {
344
+ return {};
345
+ },
346
+ pool: pg
347
+ });
348
+ var responseResolved = false;
349
+ var resultPromise = zeroServer.handleMutationRequest({
350
+ authData: null,
351
+ request: pushRequest(1)
352
+ }).then(function (result2) {
353
+ responseResolved = true;
354
+ return result2;
355
+ });
356
+ await taskStarted;
357
+ await Promise.resolve();
358
+ expect(responseResolved).toBe(false);
359
+ releaseTask();
360
+ var result = await resultPromise;
361
+ expect(result.response.mutations[0].result).toEqual({});
362
+ });
259
363
  test("persists alreadyProcessed duplicate results for zero-cache recovery rows", async function () {
260
364
  var pg = new FakePgClient();
261
365
  var zeroServer = createZeroServer({
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","test","vi","createZeroServer","zeroHttpFixtureSchema","_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","pg","effectRuns","zeroServer","models","project","mutate","touch","param","server","enqueueTask","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","response","toMatchObject","error","message","asyncTasks","toEqual","toBe","releaseBarrier","markBarrierStarted","barrierStarted","Promise","resolve","barrier","responseResolved","resultPromise","then","result2","consoleError","spyOn","console","mockImplementation","waitFor","toHaveBeenCalledWith"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","test","vi","createZeroServer","zeroHttpFixtureSchema","_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","pg","effectRuns","zeroServer","models","project","mutate","touch","param","server","enqueueTask","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","response","toMatchObject","error","message","asyncTasks","toEqual","toBe","releaseBarrier","markBarrierStarted","barrierStarted","Promise","resolve","barrier","responseResolved","resultPromise","then","result2","consoleError","spyOn","console","mockImplementation","waitFor","toHaveBeenCalledWith","mockRestore","releaseSibling","siblingGate","siblingFinished","scheduled","scheduleBackgroundTask","promise","toBeInstanceOf","scheduledSettled","markTaskStarted","taskStarted","releaseTask","taskGate"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -35,6 +35,7 @@ function createZeroServerCore({
35
35
  const handleMutationRequest = async ({
36
36
  authData,
37
37
  request,
38
+ scheduleBackgroundTask,
38
39
  skipAsyncTasks
39
40
  }) => {
40
41
  const tasks = createAsyncTaskCollector();
@@ -61,7 +62,7 @@ function createZeroServerCore({
61
62
  task: () => runWithAuthScope(authData, entry.task)
62
63
  }));
63
64
  await runAsyncTaskEntries(entries, {
64
- background: () => void 0
65
+ background: scheduleBackgroundTask
65
66
  });
66
67
  }
67
68
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","createZeroServerCore","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","authData","request","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","createZeroServerCore","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","authData","request","scheduleBackgroundTask","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -42,6 +42,7 @@ function createZeroServerCore(param) {
42
42
  var {
43
43
  authData,
44
44
  request,
45
+ scheduleBackgroundTask,
45
46
  skipAsyncTasks
46
47
  } = param2;
47
48
  var tasks = createAsyncTaskCollector();
@@ -72,9 +73,7 @@ function createZeroServerCore(param) {
72
73
  };
73
74
  });
74
75
  await runAsyncTaskEntries(entries, {
75
- background: function () {
76
- return void 0;
77
- }
76
+ background: scheduleBackgroundTask
78
77
  });
79
78
  }
80
79
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","_type_of","obj","Symbol","constructor","createZeroServerCore","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","param2","authData","request","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","_type_of","obj","Symbol","constructor","createZeroServerCore","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","param2","authData","request","scheduleBackgroundTask","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.6.16",
3
+ "version": "0.6.17",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "source": "src/index.ts",
@@ -99,7 +99,7 @@
99
99
  }
100
100
  },
101
101
  "dependencies": {
102
- "@take-out/helpers": "0.6.16",
102
+ "@take-out/helpers": "0.6.17",
103
103
  "chokidar": "^4.0.3",
104
104
  "citty": "^0.1.6",
105
105
  "valibot": "^1.1.0"
package/readme.md CHANGED
@@ -505,7 +505,8 @@ app.post('/api/zero/push', async (req) => {
505
505
  const authData = await getAuthFromRequest(req)
506
506
  const { response } = await zeroServer.handleMutationRequest({
507
507
  authData,
508
- request: req
508
+ request: req,
509
+ scheduleBackgroundTask: (promise) => host.waitUntil(promise)
509
510
  })
510
511
  return response
511
512
  })
@@ -521,6 +522,12 @@ app.post('/api/zero/pull', async (req) => {
521
522
  })
522
523
  ```
523
524
 
525
+ `scheduleBackgroundTask` is the request host's lifetime hook, such as
526
+ Cloudflare Workers' `ctx.waitUntil`. on-zero passes it one promise that settles
527
+ after every non-barrier mutator task settles, including when a sibling rejects.
528
+ Without a scheduler, `handleMutationRequest` waits for those tasks before it
529
+ returns.
530
+
524
531
  SQLite uses the same handler surface through a separate entrypoint that does
525
532
  not import the PostgreSQL adapter:
526
533
 
@@ -213,6 +213,112 @@ describe('createZeroServer mutation recovery', () => {
213
213
  consoleError.mockRestore()
214
214
  })
215
215
 
216
+ test('registers a promise that settles every background task with the request scheduler', async () => {
217
+ const pg = new FakePgClient()
218
+ const error = new Error('background failed')
219
+ const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {})
220
+ let releaseSibling!: () => void
221
+ const siblingGate = new Promise<void>((resolve) => {
222
+ releaseSibling = resolve
223
+ })
224
+ let siblingFinished = false
225
+ let scheduled: Promise<void> | undefined
226
+ const zeroServer = createZeroServer({
227
+ schema: zeroHttpFixtureSchema,
228
+ models: {
229
+ project: {
230
+ mutate: {
231
+ touch: async ({ server }) => {
232
+ server?.enqueueTask(async () => {
233
+ throw error
234
+ })
235
+ server?.enqueueTask(async () => {
236
+ await siblingGate
237
+ siblingFinished = true
238
+ })
239
+ },
240
+ },
241
+ },
242
+ },
243
+ createServerActions: () => ({}),
244
+ pool: pg as any,
245
+ })
246
+
247
+ const result = await zeroServer.handleMutationRequest({
248
+ authData: null,
249
+ request: pushRequest(1),
250
+ scheduleBackgroundTask: (promise) => {
251
+ scheduled = promise
252
+ },
253
+ })
254
+
255
+ expect((result.response as any).mutations[0].result).toEqual({})
256
+ expect(scheduled).toBeInstanceOf(Promise)
257
+ expect(siblingFinished).toBe(false)
258
+
259
+ let scheduledSettled = false
260
+ void scheduled!.then(() => {
261
+ scheduledSettled = true
262
+ })
263
+ await Promise.resolve()
264
+ expect(scheduledSettled).toBe(false)
265
+
266
+ releaseSibling()
267
+ await scheduled
268
+
269
+ expect(siblingFinished).toBe(true)
270
+ expect(consoleError).toHaveBeenCalledWith('[on-zero] async task failed', error)
271
+ consoleError.mockRestore()
272
+ })
273
+
274
+ test('awaits background tasks when the request has no scheduler', async () => {
275
+ const pg = new FakePgClient()
276
+ let markTaskStarted!: () => void
277
+ const taskStarted = new Promise<void>((resolve) => {
278
+ markTaskStarted = resolve
279
+ })
280
+ let releaseTask!: () => void
281
+ const taskGate = new Promise<void>((resolve) => {
282
+ releaseTask = resolve
283
+ })
284
+ const zeroServer = createZeroServer({
285
+ schema: zeroHttpFixtureSchema,
286
+ models: {
287
+ project: {
288
+ mutate: {
289
+ touch: async ({ server }) => {
290
+ server?.enqueueTask(async () => {
291
+ markTaskStarted()
292
+ await taskGate
293
+ })
294
+ },
295
+ },
296
+ },
297
+ },
298
+ createServerActions: () => ({}),
299
+ pool: pg as any,
300
+ })
301
+
302
+ let responseResolved = false
303
+ const resultPromise = zeroServer
304
+ .handleMutationRequest({
305
+ authData: null,
306
+ request: pushRequest(1),
307
+ })
308
+ .then((result) => {
309
+ responseResolved = true
310
+ return result
311
+ })
312
+
313
+ await taskStarted
314
+ await Promise.resolve()
315
+ expect(responseResolved).toBe(false)
316
+
317
+ releaseTask()
318
+ const result = await resultPromise
319
+ expect((result.response as any).mutations[0].result).toEqual({})
320
+ })
321
+
216
322
  test('persists alreadyProcessed duplicate results for zero-cache recovery rows', async () => {
217
323
  const pg = new FakePgClient()
218
324
  const zeroServer = createZeroServer({
@@ -15,6 +15,8 @@ import type { Schema as ZeroSchema } from '@rocicorp/zero'
15
15
  import type { NodePgTransaction } from '@rocicorp/zero/server/adapters/pg'
16
16
 
17
17
  export type {
18
+ BackgroundTaskScheduler,
19
+ HandleMutationRequestOptions,
18
20
  ValidateMutationArgs,
19
21
  ValidateMutationFn,
20
22
  ValidateQueryArgs,
@@ -34,6 +34,15 @@ type PushRequestBody = {
34
34
  clientGroupID?: unknown
35
35
  }
36
36
 
37
+ export type BackgroundTaskScheduler = (promise: Promise<void>) => void
38
+
39
+ export type HandleMutationRequestOptions = {
40
+ authData: AuthData | null
41
+ request: Request
42
+ scheduleBackgroundTask?: BackgroundTaskScheduler
43
+ skipAsyncTasks?: boolean
44
+ }
45
+
37
46
  export type PersistAlreadyProcessedArgs = {
38
47
  clientGroupID: string
39
48
  mutations: AlreadyProcessedMutation[]
@@ -82,12 +91,9 @@ export function createZeroServerCore<
82
91
  const handleMutationRequest = async ({
83
92
  authData,
84
93
  request,
94
+ scheduleBackgroundTask,
85
95
  skipAsyncTasks,
86
- }: {
87
- authData: AuthData | null
88
- request: Request
89
- skipAsyncTasks?: boolean
90
- }) => {
96
+ }: HandleMutationRequestOptions) => {
91
97
  const tasks = createAsyncTaskCollector()
92
98
  const recoveryRequest = request.clone()
93
99
  const mutators = createMutators({
@@ -115,7 +121,7 @@ export function createZeroServerCore<
115
121
  ...entry,
116
122
  task: () => runWithAuthScope(authData, entry.task),
117
123
  }))
118
- await runAsyncTaskEntries(entries, { background: () => undefined })
124
+ await runAsyncTaskEntries(entries, { background: scheduleBackgroundTask })
119
125
  }
120
126
 
121
127
  return {
@@ -2,6 +2,8 @@ import {
2
2
  createZeroServer,
3
3
  runAsyncTaskEntries,
4
4
  type AsyncTaskEntry,
5
+ type BackgroundTaskScheduler,
6
+ type HandleMutationRequestOptions,
5
7
  } from 'on-zero/server'
6
8
  import { createZeroSQLiteServer, type SqlStatementMetadata } from 'on-zero/sqlite'
7
9
 
@@ -55,6 +57,16 @@ void runAsyncTaskEntries(taskEntries, {
55
57
  },
56
58
  })
57
59
 
60
+ const scheduleBackgroundTask: BackgroundTaskScheduler = (promise) => {
61
+ void promise
62
+ }
63
+ const mutationRequest: HandleMutationRequestOptions = {
64
+ authData,
65
+ request: new Request('https://example.com/api/zero/push'),
66
+ scheduleBackgroundTask,
67
+ }
68
+ void postgresServer.handleMutationRequest(mutationRequest)
69
+
58
70
  postgresServer.mutate.project.create(
59
71
  { id: 'pg' },
60
72
  { authData: { email: authData.email, id: authData.id, role: authData.role } },
@@ -2,7 +2,7 @@ import type { ZeroServer, ZeroServerCommonOptions } from './createZeroServerCore
2
2
  import type { GenericModels } from './types';
3
3
  import type { Schema as ZeroSchema } from '@rocicorp/zero';
4
4
  import type { NodePgTransaction } from '@rocicorp/zero/server/adapters/pg';
5
- export type { ValidateMutationArgs, ValidateMutationFn, ValidateQueryArgs, ValidateQueryFn, } from './createZeroServerCore';
5
+ export type { BackgroundTaskScheduler, HandleMutationRequestOptions, ValidateMutationArgs, ValidateMutationFn, ValidateQueryArgs, ValidateQueryFn, } from './createZeroServerCore';
6
6
  export declare function createZeroServer<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ database, pool: externalPool, ...options }: ZeroServerCommonOptions<Schema, Models, ServerActions> & {
7
7
  /**
8
8
  * Optional pre-built Pool-like object, such as a PGlite wrapper.
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,UAAU,EACV,uBAAuB,EAExB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,wBAAwB,CAAA;AAE/B,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,QAAQ,EACR,IAAI,EAAE,YAAY,EAClB,GAAG,OAAO,EACX,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC1D;;;OAGG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CA8B5C"}
1
+ {"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,UAAU,EACV,uBAAuB,EAExB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,YAAY,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,wBAAwB,CAAA;AAE/B,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,QAAQ,EACR,IAAI,EAAE,YAAY,EAClB,GAAG,OAAO,EACX,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC1D;;;OAGG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CA8B5C"}
@@ -11,6 +11,13 @@ type AlreadyProcessedMutation = {
11
11
  details?: unknown;
12
12
  };
13
13
  };
14
+ export type BackgroundTaskScheduler = (promise: Promise<void>) => void;
15
+ export type HandleMutationRequestOptions = {
16
+ authData: AuthData | null;
17
+ request: Request;
18
+ scheduleBackgroundTask?: BackgroundTaskScheduler;
19
+ skipAsyncTasks?: boolean;
20
+ };
14
21
  export type PersistAlreadyProcessedArgs = {
15
22
  clientGroupID: string;
16
23
  mutations: AlreadyProcessedMutation[];
@@ -24,11 +31,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
24
31
  transaction: <CB extends (tx: import("./types").Transaction) => Promise<any>, Returns extends CB extends (tx: import("./types").Transaction) => Promise<infer X> ? X : never>(query: CB) => Promise<Returns>;
25
32
  mutate: import("./createZeroDirectServer").ServerMutate<Models>;
26
33
  query: <R>(cb: (q: import("./types").QueryBuilder) => import("@rocicorp/zero").Query<any, Schema, R>, authData?: {} | null | undefined) => Promise<import("@rocicorp/zero").HumanReadable<R>>;
27
- handleMutationRequest: ({ authData, request, skipAsyncTasks, }: {
28
- authData: AuthData | null;
29
- request: Request;
30
- skipAsyncTasks?: boolean;
31
- }) => Promise<{
34
+ handleMutationRequest: ({ authData, request, scheduleBackgroundTask, skipAsyncTasks, }: HandleMutationRequestOptions) => Promise<{
32
35
  response: {
33
36
  userID?: string | null | undefined;
34
37
  kind: "MutateResponse";
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroServerCore.d.ts","sourceRoot":"","sources":["../src/createZeroServerCore.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAA;AAKjC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE1D,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE;QACF,QAAQ,EAAE,MAAM,CAAA;QAChB,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,kBAAkB,CAAA;QACzB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;CACF,CAAA;AAMD,MAAM,MAAM,2BAA2B,GAAG;IACxC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,wBAAwB,EAAE,CAAA;IACrC,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,qBAAqB,CACxB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC3D,cAAc,EAAE,MAAM,kBAAkB,CAAA;IACxC,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E,CAAA;AAED,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,cAAc,EACd,mBAAmB,EACnB,qBAA6B,EAC7B,qBAAqB,EACrB,MAAM,EACN,SAAS,EAAE,kBAAkB,EAC7B,uBAAuB,EACvB,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,aAAa,GACd,EAAE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;;;;oEAkBlD;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAwCE;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCF;AAED,MAAM,MAAM,UAAU,CACpB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,UAAU,CAAC,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;AAuE1E,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"createZeroServerCore.d.ts","sourceRoot":"","sources":["../src/createZeroServerCore.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAA;AAKjC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE1D,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE;QACF,QAAQ,EAAE,MAAM,CAAA;QAChB,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,kBAAkB,CAAA;QACzB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;CACF,CAAA;AAMD,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;AAEtE,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,sBAAsB,CAAC,EAAE,uBAAuB,CAAA;IAChD,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,wBAAwB,EAAE,CAAA;IACrC,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,qBAAqB,CACxB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC3D,cAAc,EAAE,MAAM,kBAAkB,CAAA;IACxC,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E,CAAA;AAED,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,cAAc,EACd,mBAAmB,EACnB,qBAA6B,EAC7B,qBAAqB,EACrB,MAAM,EACN,SAAS,EAAE,kBAAkB,EAC7B,uBAAuB,EACvB,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,aAAa,GACd,EAAE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;;;;4FAmBlD,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAwC5B;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCF;AAED,MAAM,MAAM,UAAU,CACpB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,UAAU,CAAC,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;AAuE1E,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA"}