@powersync/service-module-mongodb 0.22.1 → 0.22.3

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,"file":"ChangeStreamTestContext.js","sourceRoot":"","sources":["../../src/test-utils/ChangeStreamTestContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAGL,4BAA4B,EAC5B,gCAAgC,EAEhC,UAAU,EACV,sBAAsB,EAItB,cAAc,EAId,gBAAgB,EAChB,yBAAyB,EAE1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAuB,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAiCvE;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAC1B,UAAU,CAAgB;IAC1B,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IACxC,yBAAyB,CAAuC;IAChE,gBAAgB,CAAsC;IAC7C,iBAAiB,GAAG,IAAI,GAAG,EAA4C,CAAC;IAClF,OAAO,CAA0B;IAExC;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAuC;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED;;OAEG;IACO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAoC,EACjE,OAAO,EACP,aAAa,EAId;QACC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACtE,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACxB,MAAM,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;gBAC5C,CAAC;gBACD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChG,6EAA6E;gBAC7E,OAAO,MAAM,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC;YACzF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,OAAO,CAAuB;IAC9B,iBAAiB,CAAe;IACtB,OAAO,CAAiC;IACxC,aAAa,CAA0B;IACvC,cAAc,CAAS;IACzB,cAAc,CAAU;IAEzC;;OAEG;IACH,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,OAAO,EACP,aAAa,GAAG,EAAE,EAClB,cAAc,GAAG,sBAAsB,EACvC,cAAc,GAAG,KAAK,EACW;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QACtC,gCAAgC,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAC1C,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;wBACpD,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;oBAChC,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,yBAAyB,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACvC,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAC1D,yBAAyB,CACvB,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC7B,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY;YACnC,YAAY,EAAE,IAAI;SACnB,CAAC,EACF,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAC7E,CACF,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,OAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAC/D,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,OAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC5D,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,OAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,MAA0C;QACzE,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,eAAwC,CAAC;QAC7C,IAAI,CAAC;YACH,eAAe,GAAG,MAAM,OAAO,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,MAAM,OAAO,GAAwB;YACnC,qGAAqG;YACrG,GAAG,IAAI,CAAC,aAAa;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,iBAAiB;YACnC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;YACzC,kEAAkE;YAClE,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,IAAI,GAAG;SACzD,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,yBAAyB,KAAK,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;QACjH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,uBAAuB,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBAC5D,MAAM,CAAC,CAAC,KAAK,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB;QAC1B,IAAI,UAAkB,CAAC;QACvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,kBAAkB,GAAG,WAAW,CAAC,cAAc,CAAC,MAAM,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;YACpC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YAE3F,oEAAoE;YACpE,2EAA2E;YAC3E,sEAAsE;YACtE,uEAAuE;YACvE,UAAU,GAAG,IAAI,WAAW,CAAC;gBAC3B,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;gBACrC,YAAY,EAAE,WAAW;aAC1B,CAAC,CAAC,UAAU,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;QACzE,CAAC;QAED,YAAY,MAAM,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,YAAY,CAAC;YACpD,OAAO,EAAE,kBAAkB;YAC3B,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY;YACnC,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,yBAAyB,KAAK,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAA8B;QAChD,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,mBAAmB,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,cAAc,EAAE,IAAI,CAAC,OAAO;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM;YACnC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;gBACxB,IAAI;gBACJ,gBAAgB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACzD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACpF,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAqC,EAAE,OAA8B;QAC7F,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,OAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,KAA+C,EAAE,OAA8B;QACjH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,MAAc,EAAE,KAA+C;QACnG,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,MAAc,EACd,UAAiC,EACjC,KAA+C;QAE/C,KAAK,KAAK,EAAE,CAAC;QACb,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9C,IAAI,IAAI,GAAiB,EAAE,CAAC;QAC5B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,EAAE,CAAC;YAClB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBACnB,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC/C,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACvE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;wBAC9B,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAc,EAAE,KAAmB;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3F,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW;aAC9B,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;aACpD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC;QACzD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;YAC1G,MAAM;YACN,KAAK;SACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAiB,EAAE,OAA8B;QAClE,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAEjF,MAAM,WAAW,GAAsB,IAAI,GAAG,EAAE,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,OAA8B;QAC9D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACxC,MAAM,EACN,EAAE,EACF,cAAc,EACd,OAAO,GAAG,MAAM,EAChB,cAAc,EAAE,oBAAoB,EACpC,OAAO,EAAE,eAAe,EACxB,MAAM,EAYP;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,cAAc,GAAG,oBAAoB,IAAI,CAAC,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5E,MAAM,GAAG,GAAG,cAAc;QACxB,CAAC,CAAC,MAAM,2BAA2B,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/C,CAAC,CAAC,MAAM,gBAAgB,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;IACzD,kHAAkH;IAElH,4EAA4E;IAC5E,4EAA4E;IAC5E,qEAAqE;IACrE,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC;IAC/B,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,MAAM,GAAiC,IAAI,CAAC;IAEhD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,CAAC,MAAM,cAAc,CAAC,mBAAmB,EAAE,CAAC,EAAE,OAAO,CAAC;QAC5E,MAAM,EAAE,GACN,eAAe,IAAI,IAAI,IAAI,aAAa,EAAE,mBAAmB,IAAI,eAAe,CAAC,mBAAmB;YAClG,CAAC,CAAC,MAAM,aAAa,EAAE,aAAa,EAAE;YACtC,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACf,MAAM,GAAG,EAAE,CAAC;YACZ,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC5B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,iBAAiB,EAAE,CAAC;YAClE,MAAM,2BAA2B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,sBAAsB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAClG,CAAC"}
1
+ {"version":3,"file":"ChangeStreamTestContext.js","sourceRoot":"","sources":["../../src/test-utils/ChangeStreamTestContext.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@powersync/service-module-mongodb",
3
3
  "repository": "https://github.com/powersync-ja/powersync-service",
4
- "version": "0.22.1",
5
- "license": "FSL-1.1-ALv2",
4
+ "version": "0.22.3",
5
+ "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "publishConfig": {
8
8
  "access": "public"
@@ -15,17 +15,17 @@
15
15
  "bson": "^6.10.4",
16
16
  "ts-codec": "^1.3.0",
17
17
  "uuid": "^14.0.0",
18
- "@powersync/lib-service-mongodb": "0.6.34",
19
- "@powersync/lib-services-framework": "0.10.4",
20
- "@powersync/service-core": "1.27.2",
21
- "@powersync/service-jsonbig": "0.17.13",
22
- "@powersync/service-sync-rules": "0.44.0",
23
- "@powersync/service-types": "0.20.0"
18
+ "@powersync/lib-service-mongodb": "0.6.36",
19
+ "@powersync/lib-services-framework": "0.10.5",
20
+ "@powersync/service-core": "1.28.1",
21
+ "@powersync/service-jsonbig": "0.17.14",
22
+ "@powersync/service-sync-rules": "0.45.0",
23
+ "@powersync/service-types": "0.21.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@powersync/service-core-tests": "0.18.4",
27
- "@powersync/service-module-mongodb-storage": "0.23.2",
28
- "@powersync/service-module-postgres-storage": "0.19.4"
26
+ "@powersync/service-core-tests": "0.18.5",
27
+ "@powersync/service-module-mongodb-storage": "0.24.1",
28
+ "@powersync/service-module-postgres-storage": "0.19.6"
29
29
  },
30
30
  "scripts": {
31
31
  "build": "tsc -b",
@@ -1,12 +1,5 @@
1
1
  import * as lib_mongo from '@powersync/lib-service-mongodb';
2
- import {
3
- api,
4
- ConfigurationFileSyncRulesProvider,
5
- ConnectionTestResult,
6
- replication,
7
- system,
8
- TearDownOptions
9
- } from '@powersync/service-core';
2
+ import { api, ConnectionTestResult, replication, system, TearDownOptions } from '@powersync/service-core';
10
3
  import { MongoRouteAPIAdapter } from '../api/MongoRouteAPIAdapter.js';
11
4
  import { ChangeStreamReplicator } from '../replication/ChangeStreamReplicator.js';
12
5
  import { ConnectionManagerFactory } from '../replication/ConnectionManagerFactory.js';
@@ -30,14 +23,13 @@ export class MongoModule extends replication.ReplicationModule<types.MongoConnec
30
23
 
31
24
  protected createReplicator(context: system.ServiceContext): replication.AbstractReplicator {
32
25
  const normalisedConfig = this.resolveConfig(this.decodedConfig!);
33
- const syncRuleProvider = new ConfigurationFileSyncRulesProvider(context.configuration.sync_rules);
34
26
  const connectionFactory = new ConnectionManagerFactory(normalisedConfig);
35
27
 
36
28
  return new ChangeStreamReplicator({
37
29
  id: this.getDefaultId(normalisedConfig.database ?? ''),
38
- syncRuleProvider: syncRuleProvider,
39
- storageEngine: context.storageEngine,
40
30
  configuration: context.configuration,
31
+ syncConfigEngine: context.syncConfigEngine,
32
+ storageEngine: context.storageEngine,
41
33
  metricsEngine: context.metricsEngine,
42
34
  connectionFactory: connectionFactory,
43
35
  rateLimiter: new MongoErrorRateLimiter(),
@@ -373,12 +373,19 @@ export class ChangeStream {
373
373
  });
374
374
  this.relationCache.updateAll(descriptor, result.tables);
375
375
 
376
- // Drop conflicting collections.
377
- // This is generally not expected for MongoDB source dbs, so we log an error.
378
376
  if (result.dropTables.length > 0) {
379
- this.logger.error(
380
- `Conflicting collections found for ${JSON.stringify(descriptor)}. Dropping: ${result.dropTables.map((t) => t.id).join(', ')}`
381
- );
377
+ if (result.tables.length == 0) {
378
+ // The collection isn't used by the sync config. Dropping old mappings here is expected,
379
+ // for example when a previously-synced collection is renamed out of scope.
380
+ this.logger.info(
381
+ `${JSON.stringify(descriptor)} is not used by the sync config. Removing previously replicated data: ${result.dropTables.map((t) => t.id).join(', ')}`
382
+ );
383
+ } else {
384
+ // Conflicting collections are generally not expected for MongoDB source dbs, so we log an error.
385
+ this.logger.error(
386
+ `Conflicting collections found for ${JSON.stringify(descriptor)}. Dropping: ${result.dropTables.map((t) => t.id).join(', ')}`
387
+ );
388
+ }
382
389
  await batch.drop(result.dropTables);
383
390
  }
384
391
 
@@ -35,7 +35,7 @@ export class ChangeStreamReplicationJob extends replication.AbstractReplicationJ
35
35
  try {
36
36
  await this.replicateOnce();
37
37
  } catch (e) {
38
- if (!this.abortController.signal.aborted) {
38
+ if (this.shouldReportReplicationError(e)) {
39
39
  container.reporter.captureException(e, {
40
40
  metadata: {}
41
41
  });
@@ -19,10 +19,6 @@ export class ChangeStreamReplicator extends replication.AbstractReplicator<Chang
19
19
  this.createReplicationQueryProvider = options.createReplicationQueryProvider;
20
20
  }
21
21
 
22
- protected get defaultSchema(): string {
23
- return this.connectionFactory.dbConnectionConfig.database;
24
- }
25
-
26
22
  createJob(options: replication.CreateJobOptions): ChangeStreamReplicationJob {
27
23
  return new ChangeStreamReplicationJob({
28
24
  id: this.createJobId(options.storage.replicationStreamId),
@@ -19,7 +19,7 @@ import {
19
19
  updateSyncRulesFromConfig,
20
20
  utils
21
21
  } from '@powersync/service-core';
22
- import { SqlSyncRules } from '@powersync/service-sync-rules';
22
+ import { parseSyncConfig } from '@powersync/service-sync-rules';
23
23
  import { setTimeout } from 'node:timers/promises';
24
24
 
25
25
  import { SentinelLSN } from '../common/SentinelLSN.js';
@@ -194,7 +194,7 @@ export class ChangeStreamTestContext implements AsyncDisposable {
194
194
  async updateSyncRules(content: string) {
195
195
  const replicationStream = await this.factory.updateSyncRules(
196
196
  updateSyncRulesFromConfig(
197
- SqlSyncRules.fromYaml(content, {
197
+ parseSyncConfig(content, {
198
198
  defaultSchema: this.db.databaseName,
199
199
  throwOnError: true
200
200
  }),
@@ -7,6 +7,7 @@ import { createWriteCheckpoint, storage, WriteCheckpointBatcher } from '@powersy
7
7
  import { test_utils } from '@powersync/service-core-tests';
8
8
 
9
9
  import { MongoRouteAPIAdapter } from '@module/api/MongoRouteAPIAdapter.js';
10
+ import { ChunkedSnapshotQuery } from '@module/replication/MongoSnapshotQuery.js';
10
11
  import { PostImagesOption } from '@module/types/types.js';
11
12
  import { openChangeStreamTestContext } from './change_stream_test_setup.js';
12
13
  import { DATABASE_TYPE, DatabaseType } from './DatabaseType.js';
@@ -67,6 +68,63 @@ bucket_definitions:
67
68
  ]);
68
69
  });
69
70
 
71
+ test('continues active source updates after cancelling a pending deployment', async () => {
72
+ const activeConfig = /* yaml */ `
73
+ # Active sync config fixture.
74
+ config:
75
+ edition: 3
76
+ streams:
77
+ global:
78
+ auto_subscribe: true
79
+ query: SELECT _id AS id, description FROM test_data
80
+ `;
81
+ let id: mongo.ObjectId;
82
+ {
83
+ await using context = await openContext();
84
+ await context.updateSyncRules(activeConfig);
85
+ id = (await context.db.collection('test_data').insertOne({ description: 'before' })).insertedId;
86
+ await context.replicateSnapshot();
87
+ context.startStreaming();
88
+ await context.getCheckpoint();
89
+ }
90
+ // Resume the persisted active config in a new worker before submitting pending replacement work.
91
+ await using context = await openContext({ doNotClear: true });
92
+ await context.updateSyncRules(/* yaml */ `
93
+ # Pending replacement sync config fixture.
94
+ config:
95
+ edition: 3
96
+ streams:
97
+ global:
98
+ auto_subscribe: true
99
+ query: SELECT _id AS id, description FROM test_data
100
+ pending:
101
+ query: SELECT _id AS id FROM pending_data
102
+ `);
103
+ const pending = (await context.factory.getDeployingSyncConfig())!;
104
+ // Rejected startup admission uses this same cancellation path while retaining the active config.
105
+ const oldJobId = pending.replicationStream.replicationJobId;
106
+ await context.factory.stopProcessingSyncConfigs();
107
+ expect(await context.factory.getDeployingSyncConfig()).toBeNull();
108
+ const active = (await context.factory.getActiveSyncConfig())!;
109
+ expect(active.content.sync_rules_content).toBe(activeConfig);
110
+ // Shared-stream cancellation changes job identity so the old A/B worker cannot keep writing.
111
+ if (storageVersion >= 3) {
112
+ expect(active.replicationStream.replicationJobId).not.toBe(oldJobId);
113
+ }
114
+ await context.loadActiveSyncRules();
115
+ await context.replicateSnapshot();
116
+ context.startStreaming();
117
+ // A source change must still reach client buckets after the replacement was cancelled.
118
+ await context.db.collection('test_data').updateOne({ _id: id }, { $set: { description: 'after' } });
119
+ const data = await context.getBucketData('global|0[]');
120
+ expect(data).toEqual(
121
+ expect.arrayContaining([
122
+ expect.objectContaining(test_utils.putOp('test_data', { id: id.toHexString(), description: 'after' }))
123
+ ])
124
+ );
125
+ expect((await context.factory.getActiveSyncConfig())?.content.sync_rules_content).toBe(activeConfig);
126
+ });
127
+
70
128
  test('replicating wildcard', async () => {
71
129
  await using context = await openContext();
72
130
  const { db } = context;
@@ -110,14 +168,40 @@ bucket_definitions:
110
168
  // 4. Streaming sees the delete, writes the delete.
111
169
  // 5. Snapshot still sees row A and writes it.
112
170
  // The streaming delete should win, using skipExistingRows. For that to work, we rely on soft deletes.
113
- // To trigger this case, we need the delete to trigger and process the delete in between the snapshot read and the snapshot write, which we can do using beforeBatchFlush.
171
+ // Trigger and process the delete after reading the snapshot chunk, before
172
+ // handing it to storage. beforeBatchFlush runs inside the lease's writer
173
+ // mutex, so waiting there for another writer would deadlock. Pausing the
174
+ // source read instead preserves the stale snapshot row without holding that
175
+ // mutex, and streaming can durably write its tombstone before the snapshot.
114
176
 
115
177
  let collection!: mongo.Collection;
116
178
  let testId!: mongo.ObjectId;
117
- let interceptedSnapshotFlush = false;
179
+ let interceptedSnapshotRead = false;
118
180
  let sourceDeleteWritten = false;
119
181
  let sourceDeleteFlushBatch: storage.BucketStorageBatch | undefined;
120
182
  const streamDeleteFlushed = Promise.withResolvers<void>();
183
+ const nextChunk = ChunkedSnapshotQuery.prototype.nextChunk;
184
+ using _snapshotRead = vi.spyOn(ChunkedSnapshotQuery.prototype, 'nextChunk').mockImplementation(async function (
185
+ this: ChunkedSnapshotQuery,
186
+ ...args
187
+ ) {
188
+ const chunk = await nextChunk.apply(this, args);
189
+ if (chunk.docs.length === 0 || interceptedSnapshotRead) {
190
+ return chunk;
191
+ }
192
+ interceptedSnapshotRead = true;
193
+ await collection.deleteOne({ _id: testId });
194
+ sourceDeleteWritten = true;
195
+ if (supportsConcurrentSnapshots) {
196
+ await Promise.race([
197
+ streamDeleteFlushed.promise,
198
+ setTimeout(10_000).then(() => {
199
+ throw new Error('Timed out waiting for streamed delete to flush');
200
+ })
201
+ ]);
202
+ }
203
+ return chunk;
204
+ });
121
205
 
122
206
  await using context = await openContext({
123
207
  streamOptions: {
@@ -127,24 +211,6 @@ bucket_definitions:
127
211
  if (!batch.skipExistingRows && sourceDeleteWritten && sourceDeleteFlushBatch == null) {
128
212
  sourceDeleteFlushBatch = batch;
129
213
  }
130
-
131
- // skipExistingRows means we're busy with snapshotting.
132
- if (!batch.skipExistingRows || interceptedSnapshotFlush) {
133
- return;
134
- }
135
-
136
- interceptedSnapshotFlush = true;
137
- await collection.deleteOne({ _id: testId });
138
- sourceDeleteWritten = true;
139
- if (!supportsConcurrentSnapshots) {
140
- return;
141
- }
142
- await Promise.race([
143
- streamDeleteFlushed.promise,
144
- setTimeout(10_000).then(() => {
145
- throw new Error('Timed out waiting for streamed delete to flush');
146
- })
147
- ]);
148
214
  },
149
215
  afterBatchFlush: async (batch) => {
150
216
  if (batch == sourceDeleteFlushBatch) {
@@ -166,7 +232,7 @@ bucket_definitions:
166
232
 
167
233
  await context.replicateSnapshot();
168
234
 
169
- expect(interceptedSnapshotFlush).toBe(true);
235
+ expect(interceptedSnapshotRead).toBe(true);
170
236
  await context.getCheckpoint();
171
237
 
172
238
  const data = await context.getBucketData('global[]');
@@ -10,7 +10,9 @@ import { clearTestDb, connectMongoData, requireFailCommand } from './util.js';
10
10
  // This suite uses configureFailPoint to force retry timing. Azure DocumentDB
11
11
  // does not support configureFailPoint.
12
12
  describe.skipIf(DATABASE_TYPE == DatabaseType.DOCUMENTDB)('checkpoint retryable writes', () => {
13
- test('returns the persisted checkpoint clusterTime after a retryable write', { repeats: 1 }, async (ctx) => {
13
+ // Socket-timeout injection is timing-sensitive on CI. Retry the whole case,
14
+ // including fresh clients and failpoint setup, while retaining real driver retries.
15
+ test('returns the persisted checkpoint clusterTime after a retryable write', { retry: 2 }, async (ctx) => {
14
16
  // This test relies on very specific timing:
15
17
  //
16
18
  // 1. _powersync_checkpoints findAndModify command starts and is sent to the server
@@ -2,7 +2,7 @@ import { mongo } from '@powersync/lib-service-mongodb';
2
2
  import {
3
3
  CompatibilityContext,
4
4
  CompatibilityEdition,
5
- SqlSyncRules,
5
+ parseSyncConfig,
6
6
  TimeValuePrecision
7
7
  } from '@powersync/service-sync-rules';
8
8
  import { describe, expect, test } from 'vitest';
@@ -406,7 +406,7 @@ describe('mongo data types', () => {
406
406
  await setupTable(db);
407
407
  await insert(collection);
408
408
 
409
- const { config: rules } = SqlSyncRules.fromYaml(
409
+ const { config: rules } = parseSyncConfig(
410
410
  `
411
411
  bucket_definitions:
412
412
  global:
@@ -453,7 +453,7 @@ bucket_definitions:
453
453
  await setupTable(db);
454
454
  await insert(collection);
455
455
 
456
- const { config: rules } = SqlSyncRules.fromYaml(
456
+ const { config: rules } = parseSyncConfig(
457
457
  `
458
458
  bucket_definitions:
459
459
  global:
@@ -501,7 +501,7 @@ bucket_definitions:
501
501
  await setupTable(db);
502
502
  await insert(collection);
503
503
 
504
- const { config: rules } = SqlSyncRules.fromYaml(
504
+ const { config: rules } = parseSyncConfig(
505
505
  `
506
506
  bucket_definitions:
507
507
  global:
@@ -1,6 +1,6 @@
1
1
  import { ErrorCode, logger, ServiceError } from '@powersync/lib-services-framework';
2
2
  import { MetricsEngine, storage } from '@powersync/service-core';
3
- import { DEFAULT_HYDRATION_STATE, nodeSqlite, SqlSyncRules } from '@powersync/service-sync-rules';
3
+ import { DEFAULT_HYDRATION_STATE, nodeSqlite, parseSyncConfig } from '@powersync/service-sync-rules';
4
4
  import * as sqlite from 'node:sqlite';
5
5
  import { afterEach, expect, test, vi } from 'vitest';
6
6
  import { ChangeStream } from '../../src/replication/ChangeStream.js';
@@ -32,7 +32,7 @@ test.each([
32
32
  { filtered: false, factory: false, blocked: false }
33
33
  ])('checks provider availability: %j', async ({ filtered, factory, blocked }) => {
34
34
  const yaml = filtered ? CONFIG : CONFIG.replace("{ $eq: ['$$doc.active', true] }", 'disabled');
35
- const parsed = SqlSyncRules.fromYaml(yaml, { defaultSchema: 'app' });
35
+ const parsed = parseSyncConfig(yaml, { defaultSchema: 'app' });
36
36
  const hydrated = parsed.config.hydrate({ hydrationState: DEFAULT_HYDRATION_STATE, sqlite: nodeSqlite(sqlite) });
37
37
  const reportError = vi.fn(async (_error: unknown) => {});
38
38
  // Stop allowed cases at the first snapshot check, without connecting to a database.