@arki/journal 0.1.0 → 0.2.1

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.
package/dist/types.d.ts CHANGED
@@ -303,6 +303,18 @@ export type Needed<N extends Needs> = {
303
303
  };
304
304
  /** Real services by name, as an app or a Dot feature hands them over. */
305
305
  export type Services = Readonly<Record<string, unknown>>;
306
+ /** Names one effect or one tap. Effect names and tap names are two separate sets. */
307
+ export type HandlerRef = {
308
+ readonly kind: 'effect' | 'tap';
309
+ readonly name: string;
310
+ };
311
+ /**
312
+ * The services of each effect and tap, given where they run instead of where the journal
313
+ * is composed: `j.compose({ ..., services: 'worker' })`, then `journal.worker(db, { services })`.
314
+ * One function, so each handler can get its own services: two Dot features may use one need
315
+ * name for two different services.
316
+ */
317
+ export type HandlerServices = (handler: HandlerRef) => Services;
306
318
  type UnionToIntersection<U> = (U extends unknown ? (member: U) => void : never) extends (all: infer I) => void ? I : never;
307
319
  /** The needs of each effect in a union. An effect that needs nothing adds nothing. */
308
320
  type DeclaredNeeds<E> = E extends {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,CAAC,IAAI;IAAE,cAAc,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAA;CAAE,CAAC,gBAAgB,CAAC,CAAC;AAE5G,KAAK,KAAK,GAAG,eAAe,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;AAE7D,sGAAsG;AACtG,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,CAAC;AAEvF;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAElE;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,EAAE,IAAI;IAAE,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG,QAAQ,CAAC;AAE3G,wEAAwE;AACxE,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE;QACP,OAAO,EAAE,aAAa,CAAC;KACxB,CAAC;CACH,CAAC,CAAC;AAEH,gGAAgG;AAChG,MAAM,MAAM,OAAO,GAAG,kBAAkB,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE;QACP,EAAE,EAAE,SAAS,CAAC;QACd,OAAO,EAAE,aAAa,CAAC;KACxB,CAAC;CACH,CAAC,CAAC;AAEH,iGAAiG;AACjG,MAAM,MAAM,OAAO,CAAC,GAAG,SAAS,WAAW,IAAI,MAAM,GACnD;KACG,CAAC,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,GAAG,KAAK;CACvF,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAE/B,yDAAyD;AACzD,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;AACtF;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,GAAG,SAAS,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;AAEpF,mEAAmE;AACnE,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,WAAW,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAC/D,2EAA2E;AAC3E,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,WAAW,EAAE,GAAG,SAAS,MAAM,GAAG,IAAI,IAAI,IAAI,CAClF,GAAG,CAAC,cAAc,CAAC,EACnB,GAAG,GAAG,SAAS,CAChB,CAAC;AACF,sEAAsE;AACtE,MAAM,MAAM,QAAQ,CAAC,GAAG,SAAS,WAAW,EAAE,GAAG,SAAS,MAAM,GAAG,IAAI,IAAI,OAAO,CAChF,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,EAC9B,MAAM,CACP,CAAC;AACF;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,GAAG,SAAS,WAAW,EAAE,GAAG,SAAS,MAAM,GAAG,IAAI,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAClG,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,uDAAuD;AACvD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,GAAG,OAAO,IAAI;IAC/D,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB,CAAC;AAEF,8FAA8F;AAC9F,MAAM,MAAM,aAAa,CAAC,IAAI,GAAG,OAAO,EAAE,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI;IACtE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,0HAA0H;IAC1H,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,kIAAkI;IAClI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mFAAmF;IACnF,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO,EAAE,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,CACnH,CAAC,EACD,IAAI,CACL,GACC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAE1B;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,WAAW,CACvE;IAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;CAAC,EAClB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACxB,GAAG;IACF,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oGAAoG;IACpG,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;CACzC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IACzB,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CAC5B,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI;IAC1D,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;KAAE;CACjG,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS,EAAE,IAAI;IAC5F,6BAA6B;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AAEtD,kFAAkF;AAClF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACrG,0DAA0D;AAC1D,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAErG;;;GAGG;AACH,MAAM,MAAM,KAAK,CAAC,GAAG,SAAS,WAAW,EAAE,GAAG,SAAS,MAAM,GAAG,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAEzG,gFAAgF;AAChF,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,WAAW,EAAE,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,IAAI,IAAI,WAAW,CAC/F;IAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;CAAC,EACxC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CACxB,CAAC;AACF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,GAAG,SAAS,WAAW,EAAE,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,IAAI,IAAI,WAAW,CAC3F;IAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;IAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;CAAC,EAC9E,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CACvB,CAAC;AACF,0FAA0F;AAC1F,MAAM,MAAM,QAAQ,CAAC,GAAG,SAAS,WAAW,EAAE,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,IAAI,IAAI;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;CACzC,CAAC;AAEF,gGAAgG;AAChG,MAAM,MAAM,SAAS,CACnB,CAAC,SAAS,MAAM,EAChB,GAAG,SAAS,WAAW,EACvB,CAAC,SAAS,WAAW,EACrB,IAAI,EACJ,GAAG,SAAS,MAAM,GAAG,IAAI,IACvB;IACF,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IACpB,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,+GAA+G;IAC/G,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,yFAAyF;IACzF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,SAAS,CAAC,IAAI,GAAG,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAElG,gFAAgF;AAChF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;AAClH,2EAA2E;AAC3E,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,WAAW,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,CAAC;CACxC,GACG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAClB,KAAK,CAAC;AAEV,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,QAAQ,IAAI;IACvD,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;CACrH,CAAC;AACF,uGAAuG;AACvG,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,GAAG,OAAO,EAAE,CAAC,SAAS,KAAK,GAAG,OAAO,IAAI;IAC9F,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CACpD;QAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAAE,GAAG,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;KAAC,EACvF,OAAO,CACR;CACF,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,UAAU,CAAC,IAAI,GAAG,OAAO,EAAE,EAAE,GAAG,QAAQ,IAAI;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CAC5F,CAAC;AAEF,6CAA6C;AAC7C,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;CAAE,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,GAAG,MAAM,EAAE,GAAG,GAAG,OAAO,IAAI;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AACtC;;;;GAIG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAClD,yEAAyE;AACzE,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5D,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7D,mEAAmE;AACnE,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,KAAK,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAAE,CAAC;AAC1G,yEAAyE;AACzE,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEzD,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,IAAI,GAC1G,CAAC,GACD,KAAK,CAAC;AACV,sFAAsF;AACtF,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,KAAK,CAAA;CAAE,GACvE,MAAM,CAAC,SAAS,KAAK,GACnB,KAAK,GACL,CAAC,GACH,KAAK,CAAC;AACV;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,EAAE,IAAI,mBAAmB,CAC3F,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CACjC,CAAC;AAEF,uDAAuD;AACvD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CAAC,IAAI,GAAG,OAAO,IAAI;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,0GAA0G;IAC1G,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,GAAG,OAAO,EAAE,CAAC,SAAS,KAAK,GAAG,OAAO,IAAI;IAC7F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,2GAA2G;IAC3G,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,6GAA6G;IAC7G,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,GAAG,EAAE,WAAW,CACvB;QAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QAAE,GAAG,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;KAAC,EACpF,OAAO,CAAC,IAAI,CAAC,CACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAE/G,0GAA0G;AAC1G,MAAM,MAAM,UAAU,CAAC,KAAK,GAAG,MAAM,IAAI;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,KAAK,GAAG,OAAO,IAAI;IAC5E,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CACpD;QAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAAE,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;KAAC,EAC/E,OAAO,CACR;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,OAAO,EAAE,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,KAAK,GAAG,OAAO,IAAI;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,WAAW,CACvB;QAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QAAE,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;KAAC,EAC5E,OAAO,CAAC,IAAI,CAAC,CACd,CAAC;CACH,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAClD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAElG,gHAAgH;AAChH,MAAM,MAAM,aAAa,GAAG;IAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,IAAI,IAAI,IAAI,CAAA;CAAE,CAAC;AAE5F,wGAAwG;AACxG,MAAM,MAAM,kBAAkB,CAAC,OAAO,GAAG,OAAO,IAAI;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,4GAA4G;IAC5G,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,iBAAiB,CAAC,IAAI,GAAG,OAAO,IAAI;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/worker.d.ts CHANGED
@@ -9,14 +9,15 @@ import type { z } from 'zod';
9
9
  import type { History } from './history.js';
10
10
  import type { HookPointInternal } from './hooks.js';
11
11
  import type { JournalTables } from './pg.js';
12
- import type { DbHandle, Effect, EffectHookContext, JournalWorker, Projection, RootDb, StrandedJobs, Tap, TransactionSource, WakeListener } from './types.js';
12
+ import type { DbHandle, Effect, EffectHookContext, HandlerServices, JournalWorker, Needs, Projection, RootDb, StrandedJobs, Tap, TransactionSource, WakeListener } from './types.js';
13
13
  export type JobRow = JournalTables['jobs']['$inferSelect'];
14
14
  /** What `drain` needs from the journal. `Run` is the type of an effect's `ctx.run`. */
15
15
  export type DrainDeps<Meta extends z.ZodObject, AppDb extends RootDb, Run> = {
16
16
  readonly tables: JournalTables;
17
17
  /** The effect hooks. Frozen by the first drain. */
18
18
  readonly hooks: HookPointInternal<EffectHookContext<z.output<Meta>>>;
19
- readonly effects: readonly Effect<z.output<Meta>, AppDb, Run>[];
19
+ /** As composed: an effect may still have needs. Each drain binds them from its `services`. */
20
+ readonly effects: readonly Effect<z.output<Meta>, AppDb, Run, Needs>[];
20
21
  readonly history: Pick<History<Meta>, 'decodeStoredEvent'>;
21
22
  /** Makes an effect's `ctx.run`: the journal's `run`, bound to the root database this drain was given and to the event the job is for. */
22
23
  readonly runOn: (db: AppDb & RootDb, cause: {
@@ -28,6 +29,7 @@ export declare function createDrain<Meta extends z.ZodObject, AppDb extends Root
28
29
  readonly batchSize?: number;
29
30
  readonly signal?: AbortSignal;
30
31
  readonly leaseSeconds?: number;
32
+ readonly services?: HandlerServices;
31
33
  }) => Promise<number>;
32
34
  /**
33
35
  * Counts pending jobs whose effect this journal does not have. `drain` never
@@ -59,6 +61,7 @@ export type WorkerDeps<AppDb extends RootDb> = {
59
61
  readonly batchSize?: number;
60
62
  readonly signal?: AbortSignal;
61
63
  readonly leaseSeconds?: number;
64
+ readonly services?: HandlerServices;
62
65
  }) => Promise<number>;
63
66
  /** One batch per async projection. Returns how many events were scanned. */
64
67
  readonly catchUp: (db: AppDb & RootDb, opts?: {
@@ -67,7 +70,9 @@ export type WorkerDeps<AppDb extends RootDb> = {
67
70
  readonly scanned: number;
68
71
  }>;
69
72
  /** Fire the taps for one wake payload. */
70
- readonly dispatch: (db: AppDb & RootDb, payload: string) => Promise<void>;
73
+ readonly dispatch: (db: AppDb & RootDb, payload: string, services: HandlerServices | undefined) => Promise<void>;
74
+ /** Throws when an effect or a tap is missing a service in `services`. */
75
+ readonly checkServices: (services: HandlerServices | undefined) => void;
71
76
  readonly tapNames: readonly string[];
72
77
  };
73
78
  /** What the async lane of projections needs from the journal. */
@@ -92,10 +97,11 @@ export declare function createCatchUp<Meta extends z.ZodObject, Tx extends Trans
92
97
  /** What tap dispatch needs from the journal. */
93
98
  export type TapDispatchDeps<Meta extends z.ZodObject, AppDb extends RootDb> = {
94
99
  readonly tables: Pick<JournalTables, 'events'>;
95
- readonly taps: readonly Tap<z.output<Meta>, AppDb>[];
100
+ /** As composed: a tap may still have needs. Each dispatch binds them from its `services`. */
101
+ readonly taps: readonly Tap<z.output<Meta>, AppDb, Needs>[];
96
102
  readonly history: Pick<History<Meta>, 'decodeStoredEvent'>;
97
103
  };
98
- export declare function createTapDispatch<Meta extends z.ZodObject, AppDb extends RootDb>(deps: TapDispatchDeps<Meta, AppDb>): (db: AppDb & RootDb, payload: string) => Promise<void>;
104
+ export declare function createTapDispatch<Meta extends z.ZodObject, AppDb extends RootDb>(deps: TapDispatchDeps<Meta, AppDb>): (db: AppDb & RootDb, payload: string, services: HandlerServices | undefined) => Promise<void>;
99
105
  export declare function createWorkers<AppDb extends RootDb>(deps: WorkerDeps<AppDb>): {
100
106
  worker: (db: AppDb & RootDb, opts?: {
101
107
  readonly pollMs?: number;
@@ -103,6 +109,7 @@ export declare function createWorkers<AppDb extends RootDb>(deps: WorkerDeps<App
103
109
  readonly leaseSeconds?: number;
104
110
  readonly listen?: WakeListener;
105
111
  readonly taps?: boolean;
112
+ readonly services?: HandlerServices;
106
113
  }) => JournalWorker;
107
114
  wakeAll: () => void;
108
115
  };
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/dist/worker.js CHANGED
@@ -2,6 +2,7 @@ import { and, asc, desc, eq, gt, gte, inArray, isNotNull, isNull, lte, max, notI
2
2
  import { debugDrain, debugWorker } from './debug.js';
3
3
  import { JournalError } from './errors.js';
4
4
  import { findEventDefinition } from './fold.js';
5
+ import { bindHandlers } from './handlers.js';
5
6
  import { leaseToken } from './id.js';
6
7
  import { assertRootDb } from './storage.js';
7
8
  const DEFAULT_LEASE_SECONDS = 60;
@@ -23,8 +24,7 @@ const dbNowPlus = (seconds) => sql `now() + make_interval(secs => ${seconds})`;
23
24
  export function createDrain(deps) {
24
25
  const { events: eventsTable, jobs: jobsTable } = deps.tables;
25
26
  const { decodeStoredEvent } = deps.history;
26
- const effectsByName = new Map(deps.effects.map(effect => [effect.name, effect]));
27
- const known = [...effectsByName.keys()];
27
+ const known = deps.effects.map(effect => effect.name);
28
28
  // Every time here is database time, so a worker with a skewed clock
29
29
  // cannot take a live lease or push a retry into the far future.
30
30
  const claimOne = (db, leaseSeconds) => db.transaction(async (tx) => {
@@ -94,7 +94,7 @@ export function createDrain(deps) {
94
94
  clearInterval(timer);
95
95
  };
96
96
  };
97
- const runJob = async (db, job, signal, leaseSeconds) => {
97
+ const runJob = async (db, job, signal, leaseSeconds, effectsByName) => {
98
98
  const effect = effectsByName.get(job.effect);
99
99
  const lost = new AbortController();
100
100
  const stopRenewing = renewWhile(db, job, leaseSeconds, lost);
@@ -136,6 +136,9 @@ export function createDrain(deps) {
136
136
  };
137
137
  return async (db, opts) => {
138
138
  assertRootDb(db, 'drain');
139
+ // Before any claim: a missing service refuses the drain, not one job after another.
140
+ const { effects } = bindHandlers({ effects: deps.effects, taps: [] }, opts?.services);
141
+ const effectsByName = new Map(effects.map(effect => [effect.name, effect]));
139
142
  deps.hooks.freeze();
140
143
  const batchSize = opts?.batchSize ?? 20;
141
144
  const leaseSeconds = opts?.leaseSeconds ?? DEFAULT_LEASE_SECONDS;
@@ -153,7 +156,7 @@ export function createDrain(deps) {
153
156
  if (job === undefined)
154
157
  break;
155
158
  claimed += 1;
156
- await runJob(db, job, signal, leaseSeconds);
159
+ await runJob(db, job, signal, leaseSeconds, effectsByName);
157
160
  }
158
161
  return claimed;
159
162
  };
@@ -317,19 +320,20 @@ export function createTapDispatch(deps) {
317
320
  const kinds = [...new Set(deps.taps.flatMap(tap => tap.entities.map(entity => entity.kind)))];
318
321
  const types = [...new Set(deps.taps.flatMap(tap => [...tap.types]))];
319
322
  /** Load the committed events in the range that some tap wants, and run each matching tap. Errors are logged, never thrown. */
320
- const dispatch = async (db, payload) => {
323
+ const dispatch = async (db, payload, services) => {
321
324
  if (deps.taps.length === 0)
322
325
  return;
323
326
  const range = parseRange(payload);
324
327
  if (range === undefined)
325
328
  return;
329
+ const { taps } = bindHandlers({ effects: [], taps: deps.taps }, services);
326
330
  const rows = await db
327
331
  .select()
328
332
  .from(eventsTable)
329
333
  .where(and(gte(eventsTable.seq, range.from), lte(eventsTable.seq, range.to), inArray(eventsTable.kind, kinds), inArray(eventsTable.type, types)))
330
334
  .orderBy(asc(eventsTable.seq));
331
335
  for (const row of rows) {
332
- for (const tap of deps.taps) {
336
+ for (const tap of taps) {
333
337
  if (!tap.types.has(row.type) || !tap.entities.some(entity => entity.kind === row.kind))
334
338
  continue;
335
339
  try {
@@ -357,6 +361,7 @@ export function createWorkers(deps) {
357
361
  const wakers = new Set();
358
362
  const worker = (db, opts) => {
359
363
  assertRootDb(db, 'worker');
364
+ deps.checkServices(opts?.services);
360
365
  if (deps.tapNames.length > 0 && opts?.listen === undefined && opts?.taps !== false)
361
366
  throw new Error(`journal: this journal has taps (${deps.tapNames.join(', ')}) but the worker has no \`listen\`; taps fire only from the wake channel. Wire LISTEN on journal.wakeChannel, or pass { taps: false } for a worker that runs jobs only`);
362
367
  const pollMs = opts?.pollMs ?? DEFAULT_POLL_MS;
@@ -395,6 +400,7 @@ export function createWorkers(deps) {
395
400
  batchSize: opts?.batchSize,
396
401
  signal: stopping.signal,
397
402
  leaseSeconds: opts?.leaseSeconds,
403
+ services: opts?.services,
398
404
  });
399
405
  if (isRunning()) {
400
406
  const caught = await deps.catchUp(db);
@@ -426,7 +432,7 @@ export function createWorkers(deps) {
426
432
  wake();
427
433
  if (opts.taps === false)
428
434
  return;
429
- dispatching = dispatching.then(() => deps.dispatch(db, payload)).catch(quiet);
435
+ dispatching = dispatching.then(() => deps.dispatch(db, payload, opts.services)).catch(quiet);
430
436
  });
431
437
  }
432
438
  debugWorker.debug('start (poll {pollMs}ms{value2})', {
@@ -438,7 +444,6 @@ export function createWorkers(deps) {
438
444
  async stop() {
439
445
  running = false;
440
446
  stopping.abort();
441
- // eslint-disable-next-line drizzle/enforce-delete-with-where -- Set#delete, not a Drizzle query
442
447
  wakers.delete(wake);
443
448
  endSleep?.();
444
449
  await unlisten?.();
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAoBrH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC;AAED,0FAA0F;AAC1F,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;AACpE,CAAC;AAED,yFAAyF;AACzF,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,CAAA,iCAAiC,OAAO,GAAG,CAAC;AAgBtF,MAAM,UAAU,WAAW,CAAsD,IAAiC;IAChH,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7D,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtD,oEAAoE;IACpE,gEAAgE;IAChE,MAAM,QAAQ,GAAG,CAAC,EAAkB,EAAE,YAAoB,EAA+B,EAAE,CACzF,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAA+B,EAAE;QACvD,MAAM,GAAG,GAAG,MAAM,EAAE;aACjB,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;aAC5B,IAAI,CAAC,SAAS,CAAC;aACf,KAAK,CACJ,GAAG,CACD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EACxB,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAA,OAAO,CAAC,EACtC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAA,OAAO,CAAC,CAAC,EACvE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CACjC,CACF;aACA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;aAC7D,KAAK,CAAC,CAAC,CAAC;aACR,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE;aACvB,MAAM,CAAC,SAAS,CAAC;aACjB,GAAG,CAAC;YACH,UAAU,EAAE,UAAU,EAAE;YACxB,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC;YACnC,QAAQ,EAAE,GAAG,CAAA,GAAG,SAAS,CAAC,QAAQ,MAAM;SACzC,CAAC;aACD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;aACjC,SAAS,EAAE,CAAC;QACf,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEL;;;;;;OAMG;IACH,MAAM,UAAU,GAAG,CAAC,EAAkB,EAAE,GAAW,EAAE,YAAoB,EAAE,IAAqB,EAAE,EAAE;QAClG,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,EAAE;iBACJ,MAAM,CAAC,SAAS,CAAC;iBACjB,GAAG,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;iBAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;iBACrE,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;iBAC/B,IAAI,CAAC,IAAI,CAAC,EAAE;gBACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,EAAE,wCAAwC,CAAC,CAAC,CAAC;gBACrG,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CACxB,UAAU,CAAC,KAAK,CAAC,kDAAkD,EAAE;gBACnE,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC;aACzB,CAAC,CACH;iBACA,OAAO,CAAC,GAAG,EAAE;gBACZ,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,CAAC;QACvB,gFAAgF;QAChF,MAAM,MAAM,GAAY,KAAK,CAAC;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC7G,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,EAAE;YACV,QAAQ,GAAG,IAAI,CAAC;YAChB,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAClB,EAAkB,EAClB,GAAW,EACX,MAAmB,EACnB,YAAoB,EACpB,aAAsE,EACvD,EAAE;QACjB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,MAAM,qBAAqB,CAAC,CAAC;YACtF,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChG,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,QAAQ,YAAY,CAAC,CAAC;YACnF,MAAM,KAAK,GAAG,iBAAiB,CAC7B,QAAQ,EACR,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAClE,QAAQ,CAAC,QAAQ,CAClB,CAAC;YACF,6EAA6E;YAC7E,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAC3F,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CACxF,CAAC;YACF,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAChH,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC;YAC1C,MAAM,EAAE;iBACL,MAAM,CAAC,SAAS,CAAC;iBACjB,GAAG,CAAC;gBACH,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC;gBAC3B,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI;gBAChB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAA,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;aAC9F,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxF,UAAU,CAAC,KAAK,CAAC,+DAA+D,EAAE;gBAChF,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAC5B,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC;aACzB,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,KAAK,EACV,EAAkB,EAClB,IAKC,EACgB,EAAE;QACnB,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1B,oFAAoF;QACpF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,qBAAqB,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC;QAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEjC,0EAA0E;QAC1E,4EAA4E;QAC5E,uEAAuE;QACvE,wEAAwE;QACxE,0EAA0E;QAC1E,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,OAAO,GAAG,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC7C,IAAI,GAAG,KAAK,SAAS;gBAAE,MAAM;YAC7B,OAAO,IAAI,CAAC,CAAC;YACb,MAAM,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAiF;IAClH,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,OAAO,KAAK,EAAE,EAAY,EAAoC,EAAE,CAC9D,EAAE;SACC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAQ,eAAe,EAAE,CAAC;SACtE,IAAI,CAAC,SAAS,CAAC;SACf,KAAK,CACJ,GAAG,CACD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EACxB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC9F,CACF;SACA,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;SACzB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,WAAW,CAAC,IAAmE;IAC7F,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IAExC,MAAM,IAAI,GAAG,CACX,EAAY,EACZ,IAA0G,EACvF,EAAE;QACrB,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,SAAS,CAAC;QACzC,OAAO,EAAE;aACN,MAAM,EAAE;aACR,IAAI,CAAC,SAAS,CAAC;aACf,KAAK,CACJ,GAAG,CACD,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAC7G,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAC3E,CACF;aACA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;aACnC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,iGAAiG;IACjG,MAAM,KAAK,GAAG,KAAK,EAAE,EAAY,EAAE,KAAa,EAAiB,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,CAAC,SAAS,CAAC;aACjB,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAA,OAAO,EAAE,CAAC;aAChH,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;aAChE,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACzG,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,qHAAqH;IACrH,MAAM,OAAO,GAAG,KAAK,EAAE,EAAY,EAAE,KAAa,EAAiB,EAAE;QACnE,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,CAAC,SAAS,CAAC;aACjB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;aAChE,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAC7G,CAAC,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC;AAiCD,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,MAAM,UAAU,aAAa,CAA6D,IAA2B;IACnH,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IACnE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAE1F,4EAA4E;IAC5E,MAAM,UAAU,GAAG,KAAK,EAAE,EAAY,EAAE,IAAY,EAAmB,EAAE;QACvE,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC;QAC7E,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;aACnB,MAAM,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC;aACjC,IAAI,CAAC,YAAY,CAAC;aAClB,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAClC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjB,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,yBAAyB,CAAC,CAAC;QAC1F,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAyB,EAAE,UAA0C,EAAE,SAAiB,EAAE,EAAE,CAClH,EAAE,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aAChC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aAC7B,KAAK,CAAC,SAAS,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACtE,MAAM,UAAU,CAAC,GAAG,CAClB,EAAE,EACF,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CACnG,CAAC;QACJ,CAAC;QACD,MAAM,EAAE;aACL,MAAM,CAAC,YAAY,CAAC;aACpB,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAA,OAAO,EAAE,CAAC;aAC7C,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,GAAG,KAAK,EACnB,EAAkC,EAClC,IAAsC,EACC,EAAE;QACzC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,sBAAsB,CAAC;QAC5D,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,sGAAsG;YACtG,IAAI,CAAC;gBACH,OAAO,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,CAAC,qDAAqD,EAAE;oBACtE,cAAc,EAAE,UAAU,CAAC,IAAI;oBAC/B,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,EACjB,EAAkC,EAClC,UAA0C,EAC1C,KAAiC,EAClB,EAAE;QACjB,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAC9B,MAAM,IAAI,YAAY,CACpB,gBAAgB,EAChB,YAAY,EACZ,UAAU,CAAC,IAAI,EACf,aAAa,UAAU,CAAC,IAAI,8CAA8C,CAC3E,CAAC;QACJ,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAM,EAAE,EAAE;YACpC,yEAAyE;YACzE,MAAM,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAClB,MAAM,EAAE;iBACL,MAAM,CAAC,YAAY,CAAC;iBACpB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,CAAA,OAAO,EAAE,CAAC;iBACtC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,EACnB,EAAY,EAC+E,EAAE;QAC7F,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACvC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC;AAUD,mFAAmF;AACnF,MAAM,UAAU,GAAG,CAAC,OAAe,EAA8D,EAAE;IACjG,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QAChH,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACxG,OAAO,SAAS,CAAC;QACnB,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAiD,IAAkC;IAClH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,8HAA8H;IAC9H,MAAM,QAAQ,GAAG,KAAK,EACpB,EAAkB,EAClB,OAAe,EACf,QAAqC,EACtB,EAAE;QACjB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CACJ,GAAG,CACD,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAChC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,EAC9B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAChC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CACjC,CACF;aACA,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACjG,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC1C,GAAG,EACH,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EACrD,GAAG,CAAC,QAAQ,CACb,CAAC;oBACF,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,KAAK,CAAC,sDAAsD,EAAE;wBACvE,OAAO,EAAE,GAAG,CAAC,IAAI;wBACjB,OAAO,EAAE,GAAG,CAAC,IAAI;wBACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,KAAK,GAAG,GAAS,EAAE;IACvB,qDAAqD;AACvD,CAAC,CAAC;AAEF,MAAM,UAAU,aAAa,CAAuB,IAAuB;IACzE,iEAAiE;IACjE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAc,CAAC;IAErC,MAAM,MAAM,GAAG,CACb,EAAkB,EAClB,IAOC,EACc,EAAE;QACjB,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,EAAE,IAAI,KAAK,KAAK;YAChF,MAAM,IAAI,KAAK,CACb,mCAAmC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,wKAAwK,CACpO,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,eAAe,CAAC;QAC/C,IAAI,QAA8B,CAAC;QACnC,uEAAuE;QACvE,IAAI,WAAW,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;QACnD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5C,0EAA0E;QAC1E,oDAAoD;QACpD,IAAI,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,QAAkC,CAAC;QACvC,0EAA0E;QAC1E,4DAA4D;QAC5D,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,MAAM,KAAK,GAAG,GAAG,EAAE,CACjB,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,SAAS,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,QAAQ,GAAG,GAAG,EAAE;gBACd,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,QAAQ,GAAG,SAAS,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACL,8EAA8E;QAC9E,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;QAChC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;QAC5B,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;YACrB,OAAO,SAAS,EAAE,EAAE,CAAC;gBACnB,KAAK,GAAG,KAAK,CAAC;gBACd,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,CAAC;oBACH,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;wBAC/B,SAAS,EAAE,IAAI,EAAE,SAAS;wBAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,YAAY,EAAE,IAAI,EAAE,YAAY;wBAChC,QAAQ,EAAE,IAAI,EAAE,QAAQ;qBACzB,CAAC,CAAC;oBACH,IAAI,SAAS,EAAE,EAAE,CAAC;wBAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACtC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,WAAW,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,SAAS,EAAE,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;oBAAE,MAAM,KAAK,EAAE,CAAC;YAClE,CAAC;QACH,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,KAAK,GAAG,IAAI,CAAC;YACb,QAAQ,EAAE,EAAE,CAAC;QACf,CAAC,CAAC;QACF,OAAO;YACL,KAAK,CAAC,KAAK;gBACT,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;gBACjC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACjB,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC/B,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;wBACrC,IAAI,EAAE,CAAC;wBACP,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;4BAAE,OAAO;wBAChC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/F,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,WAAW,CAAC,KAAK,CAAC,iCAAiC,EAAE;oBACnD,MAAM;oBACN,MAAM,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;iBACpD,CAAC,CAAC;gBACH,IAAI,GAAG,GAAG,EAAE,CAAC;YACf,CAAC;YACD,KAAK,CAAC,IAAI;gBACR,OAAO,GAAG,KAAK,CAAC;gBAChB,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpB,QAAQ,EAAE,EAAE,CAAC;gBACb,MAAM,QAAQ,EAAE,EAAE,CAAC;gBACnB,QAAQ,GAAG,SAAS,CAAC;gBACrB,MAAM,WAAW,CAAC;gBAClB,MAAM,IAAI,CAAC;gBACX,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI;SACL,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,KAAK,MAAM,IAAI,IAAI,MAAM;YAAE,IAAI,EAAE,CAAC;IACpC,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
package/dist/write.js CHANGED
@@ -47,7 +47,7 @@ function dueAt(effect, event) {
47
47
  }
48
48
  /** Insert order is the version order. `RETURNING` does not promise it, so restore it. */
49
49
  export function sortedByVersion(rows) {
50
- return rows.toSorted((a, b) => a.version - b.version);
50
+ return [...rows].sort((a, b) => a.version - b.version);
51
51
  }
52
52
  export function createWriter(deps) {
53
53
  const { metaSchema, projections, asyncProjections, effects } = deps;
package/dist/write.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../src/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../src/write.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,11 @@ Paths that start with `src/` are files of this package. App files are named from
19
19
 
20
20
  ## Three objects
21
21
 
22
- | Object | How you get it | What it does | Where it lives in an app |
23
- | --------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
24
- | `j`, the definitions | `initJournal` (see Setup) | Declares things: `j.event`, `j.entity`, `j.command`, `j.projection`, `j.effect`. It never touches a database. | `journal.ts` |
25
- | The entity builder | `j.entity(kind, table)` | A chain of `.create(Event, reducer)` and `.on(Event, reducer)`. The result is the entity you pass to `write`. | `features/<name>/<entity>.ts` |
26
- | `journal`, the runner | `j.compose({ tables, projections, effects })` | Does the work: `run`, `bind`, `write`, `replay`, `verify`, `repair`, `rerun`, `drain`, `worker`, `wake`. | `journal.root.ts`, or the Dot plugin |
22
+ | Object | How you get it | What it does | Where it lives in an app |
23
+ | --------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
24
+ | `j`, the definitions | `initJournal` (see Setup) | Declares things: `j.event`, `j.entity`, `j.command`, `j.projection`, `j.effect`. It never touches a database. | `journal.ts` |
25
+ | The entity builder | `j.entity(kind, table)` | A chain of `.create(Event, reducer)` and `.on(Event, reducer)`. The result is the entity you pass to `write`. | `features/<name>/<entity>.ts` |
26
+ | `journal`, the runner | `j.compose({ tables, projections, effects })` | Does the work: `run`, `bind`, `write`, `replay`, `verify`, `repair`, `rerun`, `drain`, `worker`, `wake`. | `journal.root.ts`, or the Dot adapter `journal(...)` |
27
27
 
28
28
  How to tell them apart: only `journal` takes a database. Events, entities, commands, projections and effects need only `j`. They must never import the composed `journal`.
29
29
 
@@ -116,13 +116,13 @@ export const closeAfterPayment = j.effect('close-after-payment', order, {
116
116
 
117
117
  - The handler gets `(e, { jobId, signal, db, run })`. `db` is the root database given to `drain` or `worker`. Read committed rows with it.
118
118
  - An effect that needs nothing has three arguments. An effect that needs a service has four: the third is `{ mailer: need<Mailer>() }`, with `need` from `@arki/journal`. The handler then reads `mailer` from its context, typed. Do not wrap an effect in a function to pass a service in.
119
- - Where the service comes from: a plain app gives it once, in `j.compose({ ..., services: { mailer } })`. In a Dot app it is a service of the feature that lists the effect, and the feature declares it in `needs`. A missing service is a compile error. `j.compose` and the Dot boot also throw, and the message names the effect and the need.
119
+ - Where the service comes from: a plain app gives it once, in `j.compose({ ..., services: { mailer } })`. In a Dot app it is a service of the feature that lists the effect, and the feature declares it in `needs`. A missing service is a compile error. `j.compose` and the feature's boot in a Dot app also throw, and the message names the effect and the need.
120
120
  - A need cannot be named `jobId`, `signal`, `db` or `run`. `j.effect` throws when the effect is defined.
121
121
  - `run(command, input, meta)` is `journal.run` on that same database: its own transaction, committed before it returns. `meta` is required, and the library never picks an actor. It works the same in a plain app and in a Dot app.
122
122
  - If the command throws, the effect fails: nothing of the command is committed and the job is retried. If the effect fails after `run` returned, the command stays committed and runs again on the retry. Make the command safe to run twice. The usual key is `jobId`.
123
123
  - `jobId` is the same on every retry. An effect can run more than once, so pass `jobId` on as an idempotency key.
124
124
  - Where it is registered: under `effects` in `journal.root.ts`, or in the feature's `journalHandlers` in a Dot app. Effect names are unique per journal.
125
- - Who runs the worker: a plain app calls `journal.worker(db).start()` once per process and `stop()` on shutdown. In a Dot app the `journal(...)` plugin does both.
125
+ - Who runs the worker: a plain app calls `journal.worker(db).start()` once per process and `stop()` on shutdown. In a Dot app, `.serve(journalWorker())` does both.
126
126
  - Which process runs the worker: an effect runs in the process that runs the worker. If an effect talks to something that lives in memory (an event emitter, a socket list, a cache), run the worker in the process that holds it. A worker in another process claims the job and the in-memory listeners never hear it. Tests do not catch this, because a test is one process.
127
127
  - `wake`: `journal.run(db, ...)` on the root database wakes the worker after its commit. After a transaction of your own, call `journal.wake()` yourself. Other processes find the job by polling.
128
128
  - A failing effect does not reach the caller. Its error is stored on the job row (`last_error`). The job is retried and marked dead after 8 failed attempts.
@@ -164,6 +164,7 @@ export const publicProcedure = os.use(appErrors).use(commandErrors());
164
164
  - `source` is the root database or a transaction, with the rules of `journal.run`. On the root database each call commits and wakes the worker. On a transaction the call joins it; the caller commits and then calls `journal.wake()`.
165
165
  - A bound runner has the type `CommandRunner`, the type of a command context's `run`. Pass it to code that takes one, for example `paymentsJournal.writes(runCommand)` of `@arki/payments`.
166
166
  - A rule that rejects the request throws `new CommandError(code, message)`. The command rolls back and the caller gets the same error. The four codes are in [Rejected rules](#rejected-rules-commanderror).
167
+ - A permission check goes in `j.command(name, input, handler, { authorize: (input, { tx, meta }) => ... })`, not in the handler. A call with an `idempotencyKey` that replays a receipt never runs the handler, but it always runs `authorize` first.
167
168
  - An oRPC app adds `commandErrors()` to its procedure builders once. Procedures then need no try/catch around a command. Any other host matches with `isCommandError(error, code?)`.
168
169
  - `journal.run(source, command, input, meta)` is the long form. It parses the input and `meta`, opens the transaction, and returns what the handler returns.
169
170
  - From an effect, call `ctx.run(command, input, meta)`. It is `journal.run` on the worker's root database.
@@ -241,9 +242,9 @@ This is the only copy of this table. The message texts are in `src/errors.ts`. A
241
242
 
242
243
  ### Dot boot errors
243
244
 
244
- - `JOURNAL_PLUGIN_E001`, a `DotPluginError`: a feature token holds a `journal` slice that `journalHandlers` did not make. Declare the slice with `journalHandlers({ projections, effects })`.
245
- - `journal: duplicate effect name "x" (features "feature.orders" and "feature.billing")`: two features list a handler with the same name. Rename one. Projections get the same message with `projection`.
246
- - `journal: effect "x" needs "mailer", but no service with that name was given; ...`: thrown by `j.compose` in a plain app and at boot in a Dot app. Plain app: add `mailer` to `services` in `j.compose`. Dot app: add it to the `needs` of the feature that lists the effect.
245
+ - `ARKI_JOURNAL_PLUGIN_E001`, a `DotPluginError`: a feature lists a `journal` slice that `journalHandlers` did not make. Declare the slice with `journalHandlers({ projections, effects })`.
246
+ - `journal: duplicate effect name "x" (features "orders" and "billing")`: two features list a handler with the same name. Rename one. Projections get the same message with `projection`.
247
+ - `journal: effect "x" needs "mailer", but no service with that name was given; ...`: thrown by `j.compose` in a plain app, and at the boot of the feature that lists the effect in a Dot app. A journal composed with `services: 'worker'` throws it from `worker` or `drain` instead. Plain app: add `mailer` to `services` in `j.compose`. Dot app: add it to the `needs` of the feature that lists the effect.
247
248
  - `journal: effect "x" has a need named "db", ...`: thrown by `j.effect`. The names `jobId`, `signal`, `db` and `run` are taken. Give the need another name.
248
249
 
249
250
  ## Recovery verbs
@@ -256,18 +257,18 @@ This is the only copy of this table. The message texts are in `src/errors.ts`. A
256
257
  | `verify(db, entity, id)` | A database or a transaction | `{ ok: true }`, or `{ ok: false, expected, actual }`. | To check one stored row against its log. It compares only the columns that reducers set. |
257
258
  | `repair(db, entity, id)` | A database or a transaction | The stored row after the repair, or `null`. | The row is wrong and the history is complete. It writes no event, runs no projection and creates no job. |
258
259
  | `rerun(db, projection, { afterSeq, batchSize })` | A database that opens transactions | `{ events }`: how many events it handled. | To fill a new read model or rebuild a lost one. Every handler runs again, so empty a counting read model first. |
259
- | `drain(db, { batchSize, signal })` | The root database only | How many jobs it claimed. | To run one batch of due jobs by hand, in a test or a script. The worker calls it in a loop. |
260
+ | `drain(db, { batchSize, signal, services })` | The root database only | How many jobs it claimed. | To run one batch of due jobs by hand, in a test or a script. The worker calls it in a loop. |
260
261
 
261
262
  ## Dot
262
263
 
263
- `@arki/journal/dot` exports the plugin `journal(...)` and the feature slice `journalHandlers(...)`. The code is in `src/dot.ts`.
264
+ `@arki/journal/dot` exports the driven adapter `journal(...)` (for `.use()`), the driving adapter `journalWorker(...)` (for `.serve()`) and the feature slice `journalHandlers(...)`. The code is in `src/dot.ts`.
264
265
 
265
- | Question | Plain app | Dot app |
266
- | ------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------- |
267
- | Where handlers are listed | One `journal.root.ts` calls `j.compose(...)`. | Each feature lists its own with `journalHandlers(...)`. There is no root file. |
268
- | Who builds the journal | Your code. | The plugin: `journal({ j, tables, features })`. It publishes `services.journal`. |
269
- | Who runs the worker | Your code: `journal.worker(db)`, `start()`, `stop()`. | The plugin, between `start` and `stop`. Pass `worker: false` to turn it off. |
270
- | What an effect needs | `services` in `j.compose(...)`, once for the app. | The services of the feature that lists the effect. It declares them in `needs`. |
266
+ | Question | Plain app | Dot app |
267
+ | ------------------------- | ----------------------------------------------------- | ----------------------------------------------------------------------------------------- |
268
+ | Where handlers are listed | One `journal.root.ts` calls `j.compose(...)`. | Each feature lists its own with `journalHandlers(...)`. There is no root file. |
269
+ | Who builds the journal | Your code. | `journal({ j, tables })`, from the mounted features. It publishes `services.journal`. |
270
+ | Who runs the worker | Your code: `journal.worker(db)`, `start()`, `stop()`. | `.serve(journalWorker())`, between `start` and `stop`. A process without it runs no jobs. |
271
+ | What an effect needs | `services` in `j.compose(...)`, once for the app. | The services of the feature that lists the effect. It declares them in `needs`. |
271
272
 
272
273
  | Where the door is bound | The request context: `journal.bind(db, { actorId })`. | The gateway's context factory: `services.journal.bind(services.db, { actorId })`. |
273
274
 
@@ -275,7 +276,9 @@ The code for both wirings is in the [README, Dot](../README.md#dot).
275
276
 
276
277
  The gateway binds the door once per request. Its context factory reads the session and puts `run: services.journal.bind(services.db, { actorId })` on the context. A procedure then calls `context.run(command, input)`. The plugin does not bind for you: only the app knows the actor.
277
278
 
278
- An effect runs a command with `ctx.run` in both wirings. In feature mode the journal is built after the features, and that is fine: the journal hands `run` to the effect when the job runs.
279
+ An effect runs a command with `ctx.run` in both wirings. The journal hands `run` to the effect when the job runs.
280
+
281
+ In feature mode the journal is built before the features, from their `journalHandlers` declarations, so a feature can need it. Effects and taps still need the features' booted services. The journal is therefore composed with `services: 'worker'`: a write only queues jobs and never needs those services. `journalWorker()` reads each feature's services from its slice record and passes them to `journal.worker(db, { services })`, per effect and tap.
279
282
 
280
283
  ## Shared packages
281
284
 
@@ -308,7 +311,7 @@ export function billingJournal<Meta extends z.ZodObject, Tx extends TransactionS
308
311
  These look odd. Each one is needed.
309
312
 
310
313
  - `ownHandler` with `Object.hasOwn` in `src/handlers.ts`: an event type named `toString` must not find a handler on the prototype.
311
- - `bindEffect` in `src/handlers.ts` runs for every effect, also for one without needs, and a Dot app runs it twice (the bridge, then `j.compose`): it is the one place where a need gets its service and where a missing service is caught.
314
+ - `bindEffect` in `src/handlers.ts` runs for every effect, also for one without needs, and a worker runs it again on every drain for a journal composed with `services: 'worker'`: it is the one place where a need gets its service and where a missing service is caught.
312
315
  - `need<T>()` is the journal's own marker, not Dot's `service<T>()`: the core must load and type-check without `@arki/dot`, and Dot keeps the key of its marker private.
313
316
  - `const E` on `compose` (`src/api.ts`) and `journalHandlers` (`src/dot.ts`): without it TypeScript reads `[plainEffect, effectWithNeeds]` as a list of plain effects, and a missing service is no longer a compile error.
314
317
  - The module-scoped `WeakMap` in `src/transaction-guard.ts`: two journals on one transaction share its savepoint stack, so they must share this guard.
package/llms.txt CHANGED
@@ -5,7 +5,7 @@
5
5
  ## Import paths
6
6
  - `@arki/journal`: the core. `initJournal`, `need`, `CommandError`, `isCommandError`, `JournalError`, `isJournalError` and the types.
7
7
  - `@arki/journal/pg`: `journalTables()`, the two tables (`journal_events`, `journal_jobs`) for the app's schema.
8
- - `@arki/journal/dot`: optional. The `@arki/dot` plugin `journal(...)` and the feature slice `journalHandlers(...)`.
8
+ - `@arki/journal/dot`: optional. The `@arki/dot` adapters `journal(...)` (driven, for `.use()`) and `journalWorker(...)` (driving, for `.serve()`), and the feature slice `journalHandlers(...)`.
9
9
  - `@arki/journal/orpc`: optional. The oRPC middleware `commandErrors()` and the function `toORPCError(error)`.
10
10
 
11
11
  ## Start here
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arki/journal",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "A journal for Drizzle entities: every change is an immutable event row, the current state is a normal table row, and both are written in one transaction. Inline projections run in the same transaction; effects run after commit from a job table.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -70,13 +70,13 @@
70
70
  "package.json"
71
71
  ],
72
72
  "dependencies": {
73
- "@arki/log": "0.0.3",
73
+ "@arki/log": "0.1.0",
74
74
  "@paralleldrive/cuid2": "^3.3.0",
75
75
  "drizzle-orm": "1.0.0-rc.4",
76
76
  "zod": "4.6.5"
77
77
  },
78
78
  "peerDependencies": {
79
- "@arki/dot": "^0.4.1",
79
+ "@arki/dot": "^0.6.1",
80
80
  "@electric-sql/pglite": "^0.4.6",
81
81
  "@orpc/server": "^1.15.5",
82
82
  "drizzle-kit": "1.0.0-rc.4"