@effect/cluster 0.41.14 → 0.41.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/cjs/ClusterWorkflowEngine.js +46 -6
  2. package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
  3. package/dist/cjs/EntityProxy.js +7 -2
  4. package/dist/cjs/EntityProxy.js.map +1 -1
  5. package/dist/cjs/EntityProxyServer.js +16 -1
  6. package/dist/cjs/EntityProxyServer.js.map +1 -1
  7. package/dist/cjs/Envelope.js +6 -6
  8. package/dist/cjs/Envelope.js.map +1 -1
  9. package/dist/cjs/SqlMessageStorage.js +5 -5
  10. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  11. package/dist/dts/ClusterWorkflowEngine.d.ts +2 -0
  12. package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
  13. package/dist/dts/EntityProxy.d.ts +12 -2
  14. package/dist/dts/EntityProxy.d.ts.map +1 -1
  15. package/dist/dts/EntityProxyServer.d.ts +1 -1
  16. package/dist/dts/EntityProxyServer.d.ts.map +1 -1
  17. package/dist/dts/Envelope.d.ts +24 -24
  18. package/dist/dts/Envelope.d.ts.map +1 -1
  19. package/dist/dts/Runners.d.ts +9 -9
  20. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  21. package/dist/esm/ClusterWorkflowEngine.js +46 -6
  22. package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
  23. package/dist/esm/EntityProxy.js +7 -2
  24. package/dist/esm/EntityProxy.js.map +1 -1
  25. package/dist/esm/EntityProxyServer.js +16 -1
  26. package/dist/esm/EntityProxyServer.js.map +1 -1
  27. package/dist/esm/Envelope.js +6 -6
  28. package/dist/esm/Envelope.js.map +1 -1
  29. package/dist/esm/SqlMessageStorage.js +5 -5
  30. package/dist/esm/SqlMessageStorage.js.map +1 -1
  31. package/package.json +5 -5
  32. package/src/ClusterWorkflowEngine.ts +77 -7
  33. package/src/EntityProxy.ts +66 -31
  34. package/src/EntityProxyServer.ts +18 -6
  35. package/src/Envelope.ts +30 -30
  36. package/src/SqlMessageStorage.ts +11 -5
@@ -1 +1 @@
1
- {"version":3,"file":"SqlMessageStorage.js","names":["SqlClient","Arr","Effect","Layer","Option","Schedule","PersistenceError","MessageStorage","SaveResultEncoded","ShardId","Snowflake","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","sql","withoutTransforms","prefix","table","name","messageKindAckChunk","literal","String","messageKind","AckChunk","replyKindWithExit","replyKind","WithExit","messagesTable","messagesTableSql","repliesTable","repliesTableSql","onDialectOrElse","mssql","mysql","pg","pipe","ignore","orElse","shardLookupIndex","requestIdLookupIndex","unprepared","tapDefect","error","annotateLogs","logDebug","package","module","retry","schedule","spaced","all","withTransaction","replyLookupIndex","envelopeToRow","envelope","message_id","deliver_at","_tag","id","requestId","shard_id","toString","address","shardId","entity_type","entityType","entity_id","entityId","kind","Request","tag","payload","JSON","stringify","headers","trace_id","traceId","span_id","spanId","sampled","supportsBooleans","request_id","reply_id","replyId","Interrupt","replyToRow","reply","exit","values","sequence","sqlite","messageFromRow","row","Number","fromStringEncoded","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","insert","times","map","rows","tap","fiveMinutesAgo","sqlNowString","sqlNow","wrapString","s","getUnprocessedMessages","shardIds","now","join","length","void","makeEncoded","saveEnvelope","deliverAt","primaryKey","suspend","as","andThen","Success","Duplicate","originalId","lastReceivedReply","reply_kind","provideService","SafeIntegers","refail","saveReply","update","asVoid","clearReplies","requestIdForPrimaryKey","fromNullable","repliesFor","requestIds","replyFromRow","repliesForUnfiltered","unprocessedMessages","messages","Array","ids","i","unprocessedMessagesById","idArr","from","resetAddress","clearAddress","resetShards","layer","scoped","provide","layerGenerator","layerWith"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,SAAS,MAAM,uBAAuB;AAGlD,OAAO,KAAKC,GAAG,MAAM,cAAc;AAEnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,gBAAgB,QAAQ,mBAAmB;AAEpD,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AACrD,SAASC,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,OAAO,QAAQ,cAAc;AAEtC,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C,MAAMC,kBAAkB,gBAAGT,MAAM,CAACU,iBAAiB,CAAC,KAAK,CAAC;AAE1D;;;;AAIA,OAAO,MAAMC,IAAI,gBAAGX,MAAM,CAACY,UAAU,CAAC,WAAUC,OAE/C;EACC,MAAMC,GAAG,GAAG,CAAC,OAAOhB,SAAS,CAACA,SAAS,EAAEiB,iBAAiB,EAAE;EAC5D,MAAMC,MAAM,GAAGH,OAAO,EAAEG,MAAM,IAAI,SAAS;EAC3C,MAAMC,KAAK,GAAIC,IAAY,IAAK,GAAGF,MAAM,IAAIE,IAAI,EAAE;EAEnD,MAAMC,mBAAmB,GAAGL,GAAG,CAACM,OAAO,CAACC,MAAM,CAACC,WAAW,CAACC,QAAQ,CAAC,CAAC;EACrE,MAAMC,iBAAiB,GAAGV,GAAG,CAACM,OAAO,CAACC,MAAM,CAACI,SAAS,CAACC,QAAQ,CAAC,CAAC;EAEjE,MAAMC,aAAa,GAAGV,KAAK,CAAC,UAAU,CAAC;EACvC,MAAMW,gBAAgB,GAAGd,GAAG,CAACa,aAAa,CAAC;EAE3C,MAAME,YAAY,GAAGZ,KAAK,CAAC,SAAS,CAAC;EACrC,MAAMa,eAAe,GAAGhB,GAAG,CAACe,YAAY,CAAC;EAEzC,OAAOf,GAAG,CAACiB,eAAe,CAAC;IACzBC,KAAK,EAAEA,CAAA,KACLlB,GAAG;yBACgBc,gBAAgB;uBAClBA,gBAAgB;;;;;;;;;;;;;;;;;;;;;gDAqBSA,gBAAgB;;OAEzD;IACHK,KAAK,EAAEA,CAAA,KACLnB,GAAG;qCAC4Bc,gBAAgB;;;;;;;;;;;;;;;;;;;;;;gDAsBLA,gBAAgB;;OAEzD;IACHM,EAAE,EAAEA,CAAA,KACFpB,GAAG;qCAC4Bc,gBAAgB;;;;;;;;;;;;;;;;;;;;;gDAqBLA,gBAAgB;;OAEzD,CAACO,IAAI,CAACnC,MAAM,CAACoC,MAAM,CAAC;IACvBC,MAAM,EAAEA,CAAA;IACN;IACAvB,GAAG;qCAC4Bc,gBAAgB;;;;;;;;;;;;;;;;;;;;gDAoBLA,gBAAgB;;;GAG7D,CAAC;EAEF;EACA,MAAMU,gBAAgB,GAAG,GAAGX,aAAa,YAAY;EACrD,MAAMY,oBAAoB,GAAG,GAAGZ,aAAa,iBAAiB;EAC9D,OAAOb,GAAG,CAACiB,eAAe,CAAC;IACzBC,KAAK,EAAEA,CAAA,KACLlB,GAAG;gEACuDwB,gBAAgB;uBACzDxB,GAAG,CAACwB,gBAAgB,CAAC;aAC/BV,gBAAgB;;gEAEmCW,oBAAoB;uBAC7DzB,GAAG,CAACyB,oBAAoB,CAAC;aACnCX,gBAAgB;OACtB;IACHK,KAAK,EAAEA,CAAA,KACLnB,GAAG;uBACcA,GAAG,CAACwB,gBAAgB,CAAC;aAC/BV,gBAAgB;;uBAENd,GAAG,CAACyB,oBAAoB,CAAC;aACnCX,gBAAgB;OACtB,CAACY,UAAU,CAACL,IAAI,CAACnC,MAAM,CAACoC,MAAM,CAAC;IAClCF,EAAE,EAAEA,CAAA,KACFpB,GAAG;qCAC4BA,GAAG,CAACwB,gBAAgB,CAAC;aAC7CV,gBAAgB;;qCAEQd,GAAG,CAACyB,oBAAoB,CAAC;aACjDX,gBAAgB;OACtB,CAACO,IAAI,CACJnC,MAAM,CAACyC,SAAS,CAAEC,KAAK,IACrB1C,MAAM,CAAC2C,YAAY,CAAC3C,MAAM,CAAC4C,QAAQ,CAAC,0BAA0B,EAAEF,KAAK,CAAC,EAAE;MACtEG,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE;KACT,CAAC,CACH,EACD9C,MAAM,CAAC+C,KAAK,CAAC;MACXC,QAAQ,EAAE7C,QAAQ,CAAC8C,MAAM,CAAC,IAAI;KAC/B,CAAC,CACH;IACHZ,MAAM,EAAEA,CAAA;IACN;IACArC,MAAM,CAACkD,GAAG,CAAC,CACTpC,GAAG;uCAC4BA,GAAG,CAACwB,gBAAgB,CAAC;eAC7CV,gBAAgB;SACtB,EACDd,GAAG;uCAC4BA,GAAG,CAACyB,oBAAoB,CAAC;eACjDX,gBAAgB;SACtB,CACF,CAAC,CAACO,IAAI,CAACrB,GAAG,CAACqC,eAAe;GAC9B,CAAC;EAEF,OAAOrC,GAAG,CAACiB,eAAe,CAAC;IACzBC,KAAK,EAAEA,CAAA,KACLlB,GAAG;yBACgBgB,eAAe;uBACjBA,eAAe;;;;;;;;uBAQfhB,GAAG,CAACe,YAAY,GAAG,WAAW,CAAC;uBAC/Bf,GAAG,CAACe,YAAY,GAAG,WAAW,CAAC;gDACND,gBAAgB;;OAEzD;IACHK,KAAK,EAAEA,CAAA,KACLnB,GAAG;qCAC4BgB,eAAe;;;;;;;;;;;gDAWJF,gBAAgB;;OAEzD;IACHM,EAAE,EAAEA,CAAA,KACFpB,GAAG;qCAC4BgB,eAAe;;;;;;;;;;gDAUJF,gBAAgB;;OAEzD;IACHS,MAAM,EAAEA,CAAA;IACN;IACAvB,GAAG;qCAC4BgB,eAAe;;;;;;;;;gDASJF,gBAAgB;;;GAG7D,CAAC;EAEF;EACA,MAAMwB,gBAAgB,GAAG,GAAGvB,YAAY,qBAAqB;EAC7D,OAAOf,GAAG,CAACiB,eAAe,CAAC;IACzBC,KAAK,EAAEA,CAAA,KACLlB,GAAG;gEACuDsC,gBAAgB;uBACzDtC,GAAG,CAACsC,gBAAgB,CAAC;aAC/BtB,eAAe;OACrB;IACHG,KAAK,EAAEA,CAAA,KACLnB,GAAG;uBACcA,GAAG,CAACsC,gBAAgB,CAAC;aAC/BtB,eAAe;OACrB,CAACU,UAAU,CAACL,IAAI,CAACnC,MAAM,CAACoC,MAAM,CAAC;IAClCF,EAAE,EAAEA,CAAA,KACFpB,GAAG;qCAC4BA,GAAG,CAACsC,gBAAgB,CAAC;aAC7CtB,eAAe;CAC3B,CAACK,IAAI,CACEnC,MAAM,CAACyC,SAAS,CAAEC,KAAK,IACrB1C,MAAM,CAAC2C,YAAY,CAAC3C,MAAM,CAAC4C,QAAQ,CAAC,0BAA0B,EAAEF,KAAK,CAAC,EAAE;MACtEG,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE;KACT,CAAC,CACH,EACD9C,MAAM,CAAC+C,KAAK,CAAC;MACXC,QAAQ,EAAE7C,QAAQ,CAAC8C,MAAM,CAAC,IAAI;KAC/B,CAAC,CACH;IACHZ,MAAM,EAAEA,CAAA;IACN;IACAvB,GAAG;qCAC4BA,GAAG,CAACsC,gBAAgB,CAAC;aAC7CtB,eAAe;;GAEzB,CAAC;EAEF,MAAMuB,aAAa,GAAGA,CACpBC,QAAmC,EACnCC,UAAyB,EACzBC,UAAyB,KACX;IACd,QAAQF,QAAQ,CAACG,IAAI;MACnB,KAAK,SAAS;QACZ,OAAO;UACLC,EAAE,EAAEJ,QAAQ,CAACK,SAAS;UACtBJ,UAAU;UACVK,QAAQ,EAAErD,OAAO,CAACsD,QAAQ,CAACP,QAAQ,CAACQ,OAAO,CAACC,OAAO,CAAC;UACpDC,WAAW,EAAEV,QAAQ,CAACQ,OAAO,CAACG,UAAU;UACxCC,SAAS,EAAEZ,QAAQ,CAACQ,OAAO,CAACK,QAAQ;UACpCC,IAAI,EAAE9C,WAAW,CAAC+C,OAAO;UACzBC,GAAG,EAAEhB,QAAQ,CAACgB,GAAG;UACjBC,OAAO,EAAEC,IAAI,CAACC,SAAS,CAACnB,QAAQ,CAACiB,OAAO,CAAC;UACzCG,OAAO,EAAEF,IAAI,CAACC,SAAS,CAACnB,QAAQ,CAACoB,OAAO,CAAC;UACzCC,QAAQ,EAAErB,QAAQ,CAACsB,OAAO;UAC1BC,OAAO,EAAEvB,QAAQ,CAACwB,MAAM;UACxBC,OAAO,EAAEC,gBAAgB,GAAG1B,QAAQ,CAACyB,OAAO,GAAGzB,QAAQ,CAACyB,OAAO,GAAG,CAAC,GAAG,CAAC;UACvEE,UAAU,EAAE3B,QAAQ,CAACK,SAAS;UAC9BuB,QAAQ,EAAE,IAAI;UACd1B;SACD;MACH,KAAK,UAAU;QACb,OAAO;UACLE,EAAE,EAAEJ,QAAQ,CAACI,EAAE;UACfH,UAAU;UACVK,QAAQ,EAAErD,OAAO,CAACsD,QAAQ,CAACP,QAAQ,CAACQ,OAAO,CAACC,OAAO,CAAC;UACpDC,WAAW,EAAEV,QAAQ,CAACQ,OAAO,CAACG,UAAU;UACxCC,SAAS,EAAEZ,QAAQ,CAACQ,OAAO,CAACK,QAAQ;UACpCC,IAAI,EAAE9C,WAAW,CAACC,QAAQ;UAC1B+C,GAAG,EAAE,IAAI;UACTC,OAAO,EAAE,IAAI;UACbG,OAAO,EAAE,IAAI;UACbC,QAAQ,EAAE,IAAI;UACdE,OAAO,EAAE,IAAI;UACbE,OAAO,EAAE,IAAI;UACbE,UAAU,EAAE3B,QAAQ,CAACK,SAAS;UAC9BuB,QAAQ,EAAE5B,QAAQ,CAAC6B,OAAO;UAC1B3B;SACD;MACH,KAAK,WAAW;QACd,OAAO;UACLE,EAAE,EAAEJ,QAAQ,CAACI,EAAE;UACfH,UAAU;UACVK,QAAQ,EAAErD,OAAO,CAACsD,QAAQ,CAACP,QAAQ,CAACQ,OAAO,CAACC,OAAO,CAAC;UACpDC,WAAW,EAAEV,QAAQ,CAACQ,OAAO,CAACG,UAAU;UACxCC,SAAS,EAAEZ,QAAQ,CAACQ,OAAO,CAACK,QAAQ;UACpCC,IAAI,EAAE9C,WAAW,CAAC8D,SAAS;UAC3Bb,OAAO,EAAE,IAAI;UACbD,GAAG,EAAE,IAAI;UACTI,OAAO,EAAE,IAAI;UACbC,QAAQ,EAAE,IAAI;UACdE,OAAO,EAAE,IAAI;UACbE,OAAO,EAAE,IAAI;UACbE,UAAU,EAAE3B,QAAQ,CAACK,SAAS;UAC9BuB,QAAQ,EAAE,IAAI;UACd1B;SACD;IACL;EACF,CAAC;EAED,MAAM6B,UAAU,GAAIC,KAA8B,KAAgB;IAChE5B,EAAE,EAAE4B,KAAK,CAAC5B,EAAE;IACZU,IAAI,EAAE3C,SAAS,CAAC6D,KAAK,CAAC7B,IAAI,CAAC;IAC3BwB,UAAU,EAAEK,KAAK,CAAC3B,SAAS;IAC3BY,OAAO,EAAEe,KAAK,CAAC7B,IAAI,KAAK,UAAU,GAAGe,IAAI,CAACC,SAAS,CAACa,KAAK,CAACC,IAAI,CAAC,GAAGf,IAAI,CAACC,SAAS,CAACa,KAAK,CAACE,MAAM,CAAC;IAC9FC,QAAQ,EAAEH,KAAK,CAAC7B,IAAI,KAAK,OAAO,GAAG6B,KAAK,CAACG,QAAQ,GAAG;GACrD,CAAC;EAEF,MAAMT,gBAAgB,GAAGlE,GAAG,CAACiB,eAAe,CAAC;IAC3CC,KAAK,EAAEA,CAAA,KAAM,KAAK;IAClB0D,MAAM,EAAEA,CAAA,KAAM,KAAK;IACnBrD,MAAM,EAAEA,CAAA,KAAM;GACf,CAAC;EAEF,MAAMsD,cAAc,GAAIC,GAA8B,IAGlD;IACF,QAAQC,MAAM,CAACD,GAAG,CAACxB,IAAI,CAAc;MACnC,KAAK,CAAC;QACJ,OAAO;UACLd,QAAQ,EAAE;YACRG,IAAI,EAAE,SAAS;YACfE,SAAS,EAAEtC,MAAM,CAACuE,GAAG,CAAClC,EAAE,CAAC;YACzBI,OAAO,EAAE;cACPC,OAAO,EAAExD,OAAO,CAACuF,iBAAiB,CAACF,GAAG,CAAChC,QAAQ,CAAC;cAChDK,UAAU,EAAE2B,GAAG,CAAC5B,WAAW;cAC3BG,QAAQ,EAAEyB,GAAG,CAAC1B;aACf;YACDI,GAAG,EAAEsB,GAAG,CAACtB,GAAI;YACbC,OAAO,EAAEC,IAAI,CAACuB,KAAK,CAACH,GAAG,CAACrB,OAAQ,CAAC;YACjCG,OAAO,EAAEF,IAAI,CAACuB,KAAK,CAACH,GAAG,CAAClB,OAAQ,CAAC;YACjCE,OAAO,EAAEgB,GAAG,CAACjB,QAAS;YACtBG,MAAM,EAAEc,GAAG,CAACf,OAAQ;YACpBE,OAAO,EAAE,CAAC,CAACa,GAAG,CAACb;WAChB;UACDiB,aAAa,EAAEJ,GAAG,CAACK,cAAc,GAC/B/F,MAAM,CAACgG,IAAI,CAAC;YACVzC,IAAI,EAAE,OAAO;YACbC,EAAE,EAAErC,MAAM,CAACuE,GAAG,CAACK,cAAc,CAAC;YAC9BtC,SAAS,EAAEtC,MAAM,CAACuE,GAAG,CAACX,UAAU,CAAC;YACjCQ,QAAQ,EAAEI,MAAM,CAACD,GAAG,CAACO,cAAe,CAAC;YACrCX,MAAM,EAAEhB,IAAI,CAACuB,KAAK,CAACH,GAAG,CAACQ,aAAc;WAC/B,CAAC,GACTlG,MAAM,CAACmG,IAAI;SACd;MACH,KAAK,CAAC;QACJ,OAAO;UACL/C,QAAQ,EAAE;YACRG,IAAI,EAAE,UAAU;YAChBC,EAAE,EAAErC,MAAM,CAACuE,GAAG,CAAClC,EAAE,CAAC;YAClBC,SAAS,EAAEtC,MAAM,CAACuE,GAAG,CAACX,UAAW,CAAC;YAClCE,OAAO,EAAE9D,MAAM,CAACuE,GAAG,CAACV,QAAS,CAAC;YAC9BpB,OAAO,EAAE;cACPC,OAAO,EAAExD,OAAO,CAACuF,iBAAiB,CAACF,GAAG,CAAChC,QAAQ,CAAC;cAChDK,UAAU,EAAE2B,GAAG,CAAC5B,WAAW;cAC3BG,QAAQ,EAAEyB,GAAG,CAAC1B;;WAEjB;UACD8B,aAAa,EAAE9F,MAAM,CAACmG,IAAI;SAC3B;MACH,KAAK,CAAC;QACJ,OAAO;UACL/C,QAAQ,EAAE;YACRG,IAAI,EAAE,WAAW;YACjBC,EAAE,EAAErC,MAAM,CAACuE,GAAG,CAAClC,EAAE,CAAC;YAClBC,SAAS,EAAEtC,MAAM,CAACuE,GAAG,CAACX,UAAW,CAAC;YAClCnB,OAAO,EAAE;cACPC,OAAO,EAAExD,OAAO,CAACuF,iBAAiB,CAACF,GAAG,CAAChC,QAAQ,CAAC;cAChDK,UAAU,EAAE2B,GAAG,CAAC5B,WAAW;cAC3BG,QAAQ,EAAEyB,GAAG,CAAC1B;;WAEjB;UACD8B,aAAa,EAAE9F,MAAM,CAACmG,IAAI;SAC3B;IACL;EACF,CAAC;EAED,MAAMC,QAAQ,GAAGxF,GAAG,CAACM,OAAO,CAAC4D,gBAAgB,GAAG,OAAO,GAAG,GAAG,CAAC;EAC9D,MAAMuB,OAAO,GAAGzF,GAAG,CAACM,OAAO,CAAC4D,gBAAgB,GAAG,MAAM,GAAG,GAAG,CAAC;EAE5D,MAAMwB,cAAc,GAG+B1F,GAAG,CAACiB,eAAe,CAAC;IACrEG,EAAE,EAAEA,CAAA,KAAM,CAAC0D,GAAG,EAAErC,UAAU,KACxBzC,GAAG;;wBAEec,gBAAgB,IAAId,GAAG,CAAC2F,MAAM,CAACb,GAAG,CAAC;;;;;;iBAM1ChE,gBAAgB;sBACXE,eAAe;iCACJyB,UAAU;;;;OAIpC;IACHtB,KAAK,EAAEA,CAAA,KAAM,CAAC2D,GAAG,EAAErC,UAAU,KAC3BzC,GAAG;;eAEMc,gBAAgB;oBACXE,eAAe;+BACJyB,UAAU;sBACnB3B,gBAAgB,IAAId,GAAG,CAAC2F,MAAM,CAACb,GAAG,CAAC;;OAElD,CAACpD,UAAU,CAACL,IAAI;IACf;IACA;IACArB,GAAG,CAACqC,eAAe,EACnBnD,MAAM,CAAC+C,KAAK,CAAC;MAAE2D,KAAK,EAAE;IAAC,CAAE,CAAC,EAC1B1G,MAAM,CAAC2G,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,KAAKA,IAAiC,CAAC,CAC1D;IACH5E,KAAK,EAAEA,CAAA,KAAM,CAAC4D,GAAG,EAAErC,UAAU,KAC3BzC,GAAG;gBACOc,gBAAgB;wBACR2B,UAAU;;;mBAGfzC,GAAG,CAAC2F,MAAM,CAACb,GAAG,CAAC;;;;;;qBAMb9D,eAAe;;;;;;;qBAOfA,eAAe;;;;;;;qBAOfA,eAAe;;;;;;;qBAOfA,eAAe;;;;OAI7B;IACHO,MAAM,EAAEA,CAAA,KAAM,CAACuD,GAAG,EAAErC,UAAU,KAC5BzC,GAAG;;eAEMc,gBAAgB;oBACXE,eAAe;+BACJyB,UAAU;OAClC,CAACpB,IAAI,CACJnC,MAAM,CAAC6G,GAAG,CAAC/F,GAAG,yBAAyBc,gBAAgB,IAAId,GAAG,CAAC2F,MAAM,CAACb,GAAG,CAAC,EAAE,CAAC,EAC7E9E,GAAG,CAACqC,eAAe,EACnBnD,MAAM,CAAC+C,KAAK,CAAC;MAAE2D,KAAK,EAAE;IAAC,CAAE,CAAC;GAE/B,CAAC;EAEF,MAAMI,cAAc,GAAGhG,GAAG,CAACiB,eAAe,CAAC;IACzCC,KAAK,EAAEA,CAAA,KAAMlB,GAAG,CAACM,OAAO,CAAC,gCAAgC,CAAC;IAC1Da,KAAK,EAAEA,CAAA,KAAMnB,GAAG,CAACM,OAAO,CAAC,2BAA2B,CAAC;IACrDc,EAAE,EAAEA,CAAA,KAAMpB,GAAG,CAACM,OAAO,CAAC,8BAA8B,CAAC;IACrDiB,MAAM,EAAEA,CAAA,KAAMvB,GAAG,CAACM,OAAO,CAAC,8BAA8B;GACzD,CAAC;EACF,MAAM2F,YAAY,GAAGjG,GAAG,CAACiB,eAAe,CAAC;IACvCG,EAAE,EAAEA,CAAA,KAAM,OAAO;IACjBD,KAAK,EAAEA,CAAA,KAAM,OAAO;IACpBD,KAAK,EAAEA,CAAA,KAAM,WAAW;IACxBK,MAAM,EAAEA,CAAA,KAAM;GACf,CAAC;EACF,MAAM2E,MAAM,GAAGlG,GAAG,CAACM,OAAO,CAAC2F,YAAY,CAAC;EAExC,MAAME,UAAU,GAAGnG,GAAG,CAACiB,eAAe,CAAC;IACrCC,KAAK,EAAEA,CAAA,KAAOkF,CAAS,IAAK,KAAKA,CAAC,GAAG;IACrC7E,MAAM,EAAEA,CAAA,KAAO6E,CAAS,IAAK,IAAIA,CAAC;GACnC,CAAC;EAEF,MAAMC,sBAAsB,GAAGrG,GAAG,CAACiB,eAAe,CAAC;IACjDG,EAAE,EAAEA,CAAA,KAAM,CAACkF,QAA+B,EAAEC,GAAW,KACrDvG,GAAmB;iBACRc,gBAAgB;0BACPoF,MAAM;;;iBAGfpF,gBAAgB;iCACAd,GAAG,CAACM,OAAO,CAACgG,QAAQ,CAACT,GAAG,CAACM,UAAU,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC,CAAC;;4BAEpDxF,eAAe;;0BAEjBN,iBAAiB,eAAe8E,QAAQ;;8BAEpCA,QAAQ;sDACgBQ,cAAc;yDACXhG,GAAG,CAACM,OAAO,CAACC,MAAM,CAACgG,GAAG,CAAC,CAAC;;;;oBAI7DvF,eAAe;;;OAG5B;IACHO,MAAM,EAAEA,CAAA,KAAM,CAAC+E,QAA+B,EAAEC,GAAW,KACzDvG,GAAmB;;eAEVc,gBAAgB;oBACXE,eAAe;+BACJhB,GAAG,CAACM,OAAO,CAACgG,QAAQ,CAACT,GAAG,CAACM,UAAU,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC,CAAC;;0BAEpDxF,eAAe;;wBAEjBN,iBAAiB,eAAe8E,QAAQ;;0BAEtCA,QAAQ;oDACkBQ,cAAc;uDACXhG,GAAG,CAACM,OAAO,CAACC,MAAM,CAACgG,GAAG,CAAC,CAAC;;OAExE,CAAC7E,UAAU,CAACL,IAAI,CACfnC,MAAM,CAAC6G,GAAG,CAAED,IAAI,IAAI;MAClB,IAAIA,IAAI,CAACW,MAAM,KAAK,CAAC,EAAE;QACrB,OAAOvH,MAAM,CAACwH,IAAI;MACpB;MACA,OAAO1G,GAAG;qBACCc,gBAAgB;8BACPoF,MAAM;2BACTlG,GAAG,CAACM,OAAO,CAACwF,IAAI,CAACD,GAAG,CAAEf,GAAG,IAAKA,GAAG,CAAClC,EAAE,CAAC,CAAC4D,IAAI,CAAC,GAAG,CAAC,CAAC;WAChE,CAAC9E,UAAU;IACd,CAAC,CAAC,EACF1B,GAAG,CAACqC,eAAe;GAExB,CAAC;EAEF,OAAO,OAAO9C,cAAc,CAACoH,WAAW,CAAC;IACvCC,YAAY,EAAEA,CAAC;MAAEC,SAAS;MAAErE,QAAQ;MAAEsE;IAAU,CAAE,KAChD5H,MAAM,CAAC6H,OAAO,CAAC,MAAK;MAClB,MAAMjC,GAAG,GAAGvC,aAAa,CAACC,QAAQ,EAAEsE,UAAU,EAAED,SAAS,CAAC;MAC1D,IAAIlB,MAAM,GAAGmB,UAAU,GACnBpB,cAAc,CAACZ,GAAG,EAAEgC,UAAU,CAAC,GAC/B5H,MAAM,CAAC8H,EAAE,CAAChH,GAAG,eAAec,gBAAgB,IAAId,GAAG,CAAC2F,MAAM,CAACb,GAAG,CAAC,EAAE,CAACpD,UAAU,EAAE,EAAE,CAAC;MACrF,IAAIc,QAAQ,CAACG,IAAI,KAAK,UAAU,EAAE;QAChCgD,MAAM,GAAG3F,GAAG,UAAUgB,eAAe,gBAAgByE,OAAO,eAAejD,QAAQ,CAAC6B,OAAO,EAAE,CAAChD,IAAI,CAChGnC,MAAM,CAAC+H,OAAO,CACZjH,GAAG,UAAUc,gBAAgB,oBAAoB2E,OAAO,sBAAsBD,QAAQ,qBAAqBhD,QAAQ,CAACK,SAAS,eAAexC,mBAAmB,EAAE,CAClK,EACDnB,MAAM,CAAC+H,OAAO,CAACtB,MAAM,CAAC,EACtB3F,GAAG,CAACqC,eAAe,CACpB;MACH;MACA,OAAOsD,MAAM,CAACtE,IAAI,CAChBnC,MAAM,CAAC2G,GAAG,CAAEC,IAAI,IAAI;QAClB,IAAIA,IAAI,CAACW,MAAM,KAAK,CAAC,EAAE;UACrB,OAAOjH,iBAAiB,CAAC0H,OAAO,EAAE;QACpC;QACA,MAAMpC,GAAG,GAAGgB,IAAI,CAAC,CAAC,CAAC;QACnB,OAAOtG,iBAAiB,CAAC2H,SAAS,CAAC;UACjCC,UAAU,EAAE1H,SAAS,CAACA,SAAS,CAACoF,GAAG,CAAClC,EAAS,CAAC;UAC9CyE,iBAAiB,EAAEvC,GAAG,CAACV,QAAQ,GAC7BhF,MAAM,CAACgG,IAAI,CAAC;YACVxC,EAAE,EAAErC,MAAM,CAACuE,GAAG,CAACV,QAAQ,CAAC;YACxBvB,SAAS,EAAEtC,MAAM,CAACuE,GAAG,CAAClC,EAAE,CAAC;YACzBD,IAAI,EAAEmC,GAAG,CAACwC,UAAU,KAAK3G,SAAS,CAACC,QAAQ,GAAG,UAAU,GAAG,OAAO;YAClE,IAAIkE,GAAG,CAACwC,UAAU,KAAK3G,SAAS,CAACC,QAAQ,GACrC;cAAE6D,IAAI,EAAEf,IAAI,CAACuB,KAAK,CAACH,GAAG,CAACQ,aAAuB;YAAC,CAAE,GACjD;cACAX,QAAQ,EAAEI,MAAM,CAACD,GAAG,CAACO,cAAc,CAAC;cACpCX,MAAM,EAAEhB,IAAI,CAACuB,KAAK,CAACH,GAAG,CAACQ,aAAuB;aAC/C;WACG,CAAC,GACTlG,MAAM,CAACmG,IAAI;SACd,CAAC;MACJ,CAAC,CAAC,CACH;IACH,CAAC,CAAC,CAAClE,IAAI,CACLnC,MAAM,CAACqI,cAAc,CAACvI,SAAS,CAACwI,YAAY,EAAE,IAAI,CAAC,EACnDlI,gBAAgB,CAACmI,MAAM,CACxB;IAEHC,SAAS,EAAGlD,KAAK,IACftF,MAAM,CAAC6H,OAAO,CAAC,MAAK;MAClB,MAAMjC,GAAG,GAAGP,UAAU,CAACC,KAAK,CAAC;MAC7B,MAAMmD,MAAM,GAAGnD,KAAK,CAAC7B,IAAI,KAAK,OAAO,GACnC3C,GAAG,UAAUc,gBAAgB,wBAAwB0D,KAAK,CAAC5B,EAAE,eAAe4B,KAAK,CAAC3B,SAAS,EAAE,GAC7F7C,GAAG,UAAUc,gBAAgB,oBAAoB2E,OAAO,qBAAqBjB,KAAK,CAAC5B,EAAE,uBAAuB4B,KAAK,CAAC3B,SAAS,EAAE;MAC/H,OAAO8E,MAAM,CAACjG,UAAU,CAACL,IAAI,CAC3BnC,MAAM,CAAC+H,OAAO,CAACjH,GAAG,eAAegB,eAAe,IAAIhB,GAAG,CAAC2F,MAAM,CAACb,GAAG,CAAC,EAAE,CAAC,EACtE9E,GAAG,CAACqC,eAAe,CACpB;IACH,CAAC,CAAC,CAAChB,IAAI,CACLnC,MAAM,CAAC0I,MAAM,EACbtI,gBAAgB,CAACmI,MAAM,CACxB;IAEHI,YAAY,EAAE3I,MAAM,CAACY,UAAU,CAC7B,WAAU+C,SAAS;MACjB,OAAO7C,GAAG,eAAegB,eAAe,uBAAuBT,MAAM,CAACsC,SAAS,CAAC,EAAE;MAClF,OAAO7C,GAAG,UAAUc,gBAAgB,oBAAoB0E,QAAQ,+DAC9DjF,MAAM,CAACsC,SAAS,CAClB,EAAE;IACJ,CAAC,EACD7C,GAAG,CAACqC,eAAe,EACnB/C,gBAAgB,CAACmI,MAAM,CACxB;IAEDK,sBAAsB,EAAGhB,UAAU,IACjC9G,GAA4B,kBAAkBc,gBAAgB,uBAAuBgG,UAAU,EAAE,CAACzF,IAAI,CACpGnC,MAAM,CAAC2G,GAAG,CAAEC,IAAI,IACd1G,MAAM,CAAC2I,YAAY,CAACjC,IAAI,CAAC,CAAC,CAAC,EAAElD,EAAE,CAAC,CAACvB,IAAI,CACnCjC,MAAM,CAACyG,GAAG,CAACnG,SAAS,CAACA,SAAS,CAAC,CAChC,CACF,EACDR,MAAM,CAACqI,cAAc,CAACvI,SAAS,CAACwI,YAAY,EAAE,IAAI,CAAC,EACnDlI,gBAAgB,CAACmI,MAAM,CACxB;IAEHO,UAAU,EAAGC,UAAU;IACrB;IACA;IACA;IACA;IACAjI,GAAa;;eAEJgB,eAAe;+BACChB,GAAG,CAACM,OAAO,CAAC2H,UAAU,CAACzB,IAAI,CAAC,GAAG,CAAC,CAAC;;mBAE7C9F,iBAAiB;;;0BAGV8E,QAAQ;;;;OAI3B,CAAC9D,UAAU,CAACL,IAAI,CACfnC,MAAM,CAACqI,cAAc,CAACvI,SAAS,CAACwI,YAAY,EAAE,IAAI,CAAC,EACnDtI,MAAM,CAAC2G,GAAG,CAAC5G,GAAG,CAAC4G,GAAG,CAACqC,YAAY,CAAC,CAAC,EACjC5I,gBAAgB,CAACmI,MAAM,EACvB9H,kBAAkB,CACnB;IAEHwI,oBAAoB,EAAGF,UAAU,IAC/BjI,GAAa;;eAEJgB,eAAe;+BACChB,GAAG,CAACM,OAAO,CAAC2H,UAAU,CAACzB,IAAI,CAAC,GAAG,CAAC,CAAC;;OAEzD,CAAC9E,UAAU,CAACL,IAAI,CACfnC,MAAM,CAACqI,cAAc,CAACvI,SAAS,CAACwI,YAAY,EAAE,IAAI,CAAC,EACnDtI,MAAM,CAAC2G,GAAG,CAAC5G,GAAG,CAAC4G,GAAG,CAACqC,YAAY,CAAC,CAAC,EACjC5I,gBAAgB,CAACmI,MAAM,EACvB9H,kBAAkB,CACnB;IAEHyI,mBAAmB,EAAElJ,MAAM,CAACY,UAAU,CACpC,WAAUwG,QAAQ,EAAEC,GAAG;MACrB,MAAMT,IAAI,GAAG,OAAOO,sBAAsB,CAACC,QAAQ,EAAEC,GAAG,CAAC;MACzD,IAAIT,IAAI,CAACW,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,EAAE;MACX;MACA,MAAM4B,QAAQ,GAGT,IAAIC,KAAK,CAACxC,IAAI,CAACW,MAAM,CAAC;MAC3B,MAAM8B,GAAG,GAAG,IAAID,KAAK,CAASxC,IAAI,CAACW,MAAM,CAAC;MAC1C,KAAK,IAAI+B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG1C,IAAI,CAACW,MAAM,EAAE+B,CAAC,EAAE,EAAE;QACpCH,QAAQ,CAACG,CAAC,CAAC,GAAG3D,cAAc,CAACiB,IAAI,CAAC0C,CAAC,CAAC,CAAC;QACrCD,GAAG,CAACC,CAAC,CAAC,GAAGjI,MAAM,CAACuF,IAAI,CAAC0C,CAAC,CAAC,CAAC5F,EAAE,CAAC;MAC7B;MACA,OAAOyF,QAAQ;IACjB,CAAC,EACDnJ,MAAM,CAACqI,cAAc,CAACvI,SAAS,CAACwI,YAAY,EAAE,IAAI,CAAC,EACnDlI,gBAAgB,CAACmI,MAAM,EACvB9H,kBAAkB,CACnB;IAED8I,uBAAuBA,CAACF,GAAG,EAAEhC,GAAG;MAC9B,MAAMmC,KAAK,GAAGJ,KAAK,CAACK,IAAI,CAACJ,GAAG,EAAG3F,EAAE,IAAKrC,MAAM,CAACqC,EAAE,CAAC,CAAC;MACjD,OAAO5C,GAA8B;;eAE5Bc,gBAAgB;oBACXE,eAAe;yBACVhB,GAAG,CAACM,OAAO,CAACoI,KAAK,CAAClC,IAAI,CAAC,GAAG,CAAC,CAAC;;0BAE3BxF,eAAe;;wBAEjBN,iBAAiB,eAAe8E,QAAQ;;4BAEpCA,QAAQ;uDACmBxF,GAAG,CAACM,OAAO,CAACC,MAAM,CAACgG,GAAG,CAAC,CAAC;;OAExE,CAAC7E,UAAU,CAACL,IAAI,CACfnC,MAAM,CAAC2G,GAAG,CAAC5G,GAAG,CAAC4G,GAAG,CAAChB,cAAc,CAAC,CAAC,EACnC3F,MAAM,CAACqI,cAAc,CAACvI,SAAS,CAACwI,YAAY,EAAE,IAAI,CAAC,EACnDlI,gBAAgB,CAACmI,MAAM,EACvB9H,kBAAkB,CACnB;IACH,CAAC;IAEDiJ,YAAY,EAAG5F,OAAO,IACpBhD,GAAG;iBACQc,gBAAgB;;4BAEL0E,QAAQ;yBACXxC,OAAO,CAACC,OAAO,CAACF,QAAQ,EAAE;4BACvBC,OAAO,CAACG,UAAU;0BACpBH,OAAO,CAACK,QAAQ;OACnC,CAAChC,IAAI,CACJnC,MAAM,CAAC0I,MAAM,EACbtI,gBAAgB,CAACmI,MAAM,EACvB9H,kBAAkB,CACnB;IAEHkJ,YAAY,EAAG7F,OAAO,IACpBhD,GAAG;sBACagB,eAAe;;2BAEVF,gBAAgB;gCACXkC,OAAO,CAACG,UAAU;4BACtBH,OAAO,CAACK,QAAQ;;OAErC,CAAChC,IAAI,CACJnC,MAAM,CAAC+H,OAAO,CACZjH,GAAG;0BACac,gBAAgB;kCACRkC,OAAO,CAACG,UAAU;8BACtBH,OAAO,CAACK,QAAQ;WACnC,CACF,EACDrD,GAAG,CAACqC,eAAe,EACnBnD,MAAM,CAAC0I,MAAM,EACbtI,gBAAgB,CAACmI,MAAM,EACvB9H,kBAAkB,CACnB;IAEHmJ,WAAW,EAAGxC,QAAQ,IACpBtG,GAAG;iBACQc,gBAAgB;;4BAEL0E,QAAQ;2BACTxF,GAAG,CAACM,OAAO,CAACgG,QAAQ,CAACT,GAAG,CAACM,UAAU,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC,CAAC;OACnE,CAACnF,IAAI,CACJnC,MAAM,CAAC0I,MAAM,EACbtI,gBAAgB,CAACmI,MAAM,EACvB9H,kBAAkB;GAEvB,CAAC;AACJ,CAAC,EAAEA,kBAAkB,CAAC;AAEtB;;;;AAIA,OAAO,MAAMoJ,KAAK,gBAId5J,KAAK,CAAC6J,MAAM,CAACzJ,cAAc,CAACA,cAAc,EAAEM,IAAI,EAAE,CAAC,CAACwB,IAAI,cAC1DlC,KAAK,CAAC8J,OAAO,CAACvJ,SAAS,CAACwJ,cAAc,CAAC,CACxC;AAED;;;;AAIA,OAAO,MAAMC,SAAS,GAAIpJ,OAGzB,IACCZ,KAAK,CAAC6J,MAAM,CAACzJ,cAAc,CAACA,cAAc,EAAEM,IAAI,CAACE,OAAO,CAAC,CAAC,CAACsB,IAAI,CAC7DlC,KAAK,CAAC8J,OAAO,CAACvJ,SAAS,CAACwJ,cAAc,CAAC,CACxC;AAEH;AACA;AACA;AAEA,MAAM1I,WAAW,GAAG;EAClB,SAAS,EAAE,CAAC;EACZ,UAAU,EAAE,CAAC;EACb,WAAW,EAAE;CACmD;AAElE,MAAMG,SAAS,GAAG;EAChB,UAAU,EAAE,CAAC;EACb,OAAO,EAAE;CACyD;AAEpE,MAAMuH,YAAY,GAAIpD,GAAa,IACjCC,MAAM,CAACD,GAAG,CAACxB,IAAI,CAAC,KAAK3C,SAAS,CAACC,QAAQ,GACrC;EACE+B,IAAI,EAAE,UAAU;EAChBC,EAAE,EAAErC,MAAM,CAACuE,GAAG,CAAClC,EAAE,CAAC;EAClBC,SAAS,EAAEtC,MAAM,CAACuE,GAAG,CAACX,UAAU,CAAC;EACjCM,IAAI,EAAEf,IAAI,CAACuB,KAAK,CAACH,GAAG,CAACrB,OAAO;CAC7B,GACD;EACEd,IAAI,EAAE,OAAO;EACbC,EAAE,EAAErC,MAAM,CAACuE,GAAG,CAAClC,EAAE,CAAC;EAClBC,SAAS,EAAEtC,MAAM,CAACuE,GAAG,CAACX,UAAU,CAAC;EACjCO,MAAM,EAAEhB,IAAI,CAACuB,KAAK,CAACH,GAAG,CAACrB,OAAO,CAAC;EAC/BkB,QAAQ,EAAEI,MAAM,CAACD,GAAG,CAACH,QAAS;CAC/B","ignoreList":[]}
1
+ {"version":3,"file":"SqlMessageStorage.js","names":["SqlClient","Arr","Effect","Layer","Option","Schedule","PersistenceError","MessageStorage","SaveResultEncoded","ShardId","Snowflake","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","sql","withoutTransforms","prefix","table","name","messageKindAckChunk","literal","String","messageKind","AckChunk","replyKindWithExit","replyKind","WithExit","messagesTable","messagesTableSql","repliesTable","repliesTableSql","onDialectOrElse","mssql","mysql","pg","pipe","ignore","orElse","shardLookupIndex","requestIdLookupIndex","unprepared","tapDefect","error","annotateLogs","logDebug","package","module","retry","schedule","spaced","all","withTransaction","replyLookupIndex","envelopeToRow","envelope","message_id","deliver_at","_tag","id","requestId","shard_id","toString","address","shardId","entity_type","entityType","entity_id","entityId","kind","Request","tag","payload","JSON","stringify","headers","trace_id","traceId","span_id","spanId","sampled","undefined","supportsBooleans","request_id","reply_id","replyId","Interrupt","replyToRow","reply","exit","values","sequence","sqlite","messageFromRow","row","Number","fromStringEncoded","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","insert","times","map","rows","tap","fiveMinutesAgo","sqlNowString","sqlNow","wrapString","s","getUnprocessedMessages","shardIds","now","join","length","void","makeEncoded","saveEnvelope","deliverAt","primaryKey","suspend","as","andThen","Success","Duplicate","originalId","lastReceivedReply","reply_kind","provideService","SafeIntegers","refail","saveReply","update","asVoid","clearReplies","requestIdForPrimaryKey","fromNullable","repliesFor","requestIds","replyFromRow","repliesForUnfiltered","unprocessedMessages","messages","Array","ids","i","unprocessedMessagesById","idArr","from","resetAddress","clearAddress","resetShards","layer","scoped","provide","layerGenerator","layerWith"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/cluster",
3
- "version": "0.41.14",
3
+ "version": "0.41.17",
4
4
  "description": "Unified interfaces for common cluster-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,10 +11,10 @@
11
11
  "sideEffects": [],
12
12
  "homepage": "https://effect.website",
13
13
  "peerDependencies": {
14
- "@effect/platform": "^0.87.10",
15
- "@effect/rpc": "^0.64.11",
16
- "@effect/sql": "^0.40.11",
17
- "@effect/workflow": "^0.4.11",
14
+ "@effect/platform": "^0.87.12",
15
+ "@effect/sql": "^0.40.13",
16
+ "@effect/workflow": "^0.4.13",
17
+ "@effect/rpc": "^0.64.13",
18
18
  "effect": "^3.16.12"
19
19
  },
20
20
  "publishConfig": {
@@ -16,6 +16,7 @@ import * as Layer from "effect/Layer"
16
16
  import * as Option from "effect/Option"
17
17
  import * as PrimaryKey from "effect/PrimaryKey"
18
18
  import * as RcMap from "effect/RcMap"
19
+ import * as Record from "effect/Record"
19
20
  import * as Runtime from "effect/Runtime"
20
21
  import * as Schedule from "effect/Schedule"
21
22
  import * as Schema from "effect/Schema"
@@ -43,13 +44,28 @@ export const make = Effect.gen(function*() {
43
44
  string,
44
45
  Entity.Entity<
45
46
  string,
46
- | Rpc.Rpc<"run", Schema.Struct<{}>, Schema.Schema<Workflow.Result<any, any>>>
47
+ | Rpc.Rpc<
48
+ "run",
49
+ Schema.Struct<
50
+ Record<
51
+ typeof payloadParentKey,
52
+ Schema.optional<
53
+ Schema.Struct<{
54
+ workflowName: typeof Schema.String
55
+ executionId: typeof Schema.String
56
+ }>
57
+ >
58
+ >
59
+ >,
60
+ Schema.Schema<Workflow.Result<any, any>>
61
+ >
47
62
  | Rpc.Rpc<"deferred", Schema.Struct<{ name: typeof Schema.String; exit: typeof ExitUnknown }>, typeof ExitUnknown>
48
63
  | Rpc.Rpc<
49
64
  "activity",
50
65
  Schema.Struct<{ name: typeof Schema.String; attempt: typeof Schema.Number }>,
51
66
  Schema.Schema<Workflow.Result<any, any>>
52
67
  >
68
+ | Rpc.Rpc<"resume">
53
69
  >
54
70
  >()
55
71
  const ensureEntity = (workflow: Workflow.Any) => {
@@ -146,6 +162,7 @@ export const make = Effect.gen(function*() {
146
162
  Effect.orDie,
147
163
  (effect, { activity, attempt, executionId }) =>
148
164
  Effect.withSpan(effect, "WorkflowEngine.resetActivityAttempt", {
165
+ captureStackTrace: false,
149
166
  attributes: {
150
167
  name: activity.name,
151
168
  executionId,
@@ -188,6 +205,14 @@ export const make = Effect.gen(function*() {
188
205
  yield* sharding.pollStorage
189
206
  })
190
207
 
208
+ const sendResumeParent = Effect.fnUntraced(function*(options: {
209
+ readonly workflowName: string
210
+ readonly executionId: string
211
+ }) {
212
+ const client = (yield* RcMap.get(clients, options.workflowName))(options.executionId)
213
+ return yield* client.resume(void 0, { discard: true })
214
+ }, Effect.scoped)
215
+
191
216
  return WorkflowEngine.of({
192
217
  register(workflow, execute) {
193
218
  // eslint-disable-next-line @typescript-eslint/no-this-alias
@@ -204,10 +229,16 @@ export const make = Effect.gen(function*() {
204
229
  return {
205
230
  run: (request: Entity.Request<any>) => {
206
231
  const instance = WorkflowInstance.initial(workflow, executionId)
207
- return execute(request.payload, executionId).pipe(
232
+ let payload = request.payload
233
+ let parent: { workflowName: string; executionId: string } | undefined
234
+ if (payload[payloadParentKey]) {
235
+ parent = payload[payloadParentKey]
236
+ payload = Record.remove(payload, payloadParentKey)
237
+ }
238
+ return execute(payload, executionId).pipe(
208
239
  Effect.ensuring(Effect.suspend(() => {
209
240
  if (!instance.suspended) {
210
- return Effect.void
241
+ return parent ? ensureSuccess(sendResumeParent(parent)) : Effect.void
211
242
  }
212
243
  return engine.deferredResult(InterruptSignal).pipe(
213
244
  Effect.flatMap((maybeResult) => {
@@ -260,17 +291,29 @@ export const make = Effect.gen(function*() {
260
291
  deferred: Effect.fnUntraced(function*(request: Entity.Request<any>) {
261
292
  yield* ensureSuccess(resume(workflow, executionId))
262
293
  return request.payload.exit
263
- })
294
+ }),
295
+
296
+ resume: () => ensureSuccess(resume(workflow, executionId))
264
297
  }
265
298
  })
266
299
  ) as Effect.Effect<void>
267
300
  })
268
301
  },
269
302
 
270
- execute: ({ discard, executionId, payload, workflow }) => {
303
+ execute: ({ discard, executionId, parent, payload, workflow }) => {
271
304
  ensureEntity(workflow)
272
305
  return RcMap.get(clients, workflow.name).pipe(
273
- Effect.flatMap((make) => make(executionId).run(payload, { discard })),
306
+ Effect.flatMap((make) =>
307
+ make(executionId).run(
308
+ parent ?
309
+ {
310
+ ...payload,
311
+ [payloadParentKey]: { workflowName: parent.workflow.name, executionId: parent.executionId }
312
+ } :
313
+ payload,
314
+ { discard }
315
+ )
316
+ ),
274
317
  Effect.orDie,
275
318
  Effect.scoped
276
319
  )
@@ -307,6 +350,7 @@ export const make = Effect.gen(function*() {
307
350
  Effect.orDie,
308
351
  (effect, workflow, executionId) =>
309
352
  Effect.withSpan(effect, "WorkflowEngine.interrupt", {
353
+ captureStackTrace: false,
310
354
  attributes: {
311
355
  name: workflow.name,
312
356
  executionId
@@ -314,6 +358,17 @@ export const make = Effect.gen(function*() {
314
358
  })
315
359
  ),
316
360
 
361
+ resume: (workflow, executionId) =>
362
+ ensureSuccess(resume(workflow, executionId)).pipe(
363
+ Effect.withSpan("WorkflowEngine.resume", {
364
+ captureStackTrace: false,
365
+ attributes: {
366
+ name: workflow.name,
367
+ executionId
368
+ }
369
+ })
370
+ ),
371
+
317
372
  activityExecute: Effect.fnUntraced(
318
373
  function*({ activity, attempt }) {
319
374
  const runtime = yield* Effect.runtime<WorkflowInstance>()
@@ -348,6 +403,7 @@ export const make = Effect.gen(function*() {
348
403
  Effect.scoped,
349
404
  (effect, { activity, attempt }) =>
350
405
  Effect.withSpan(effect, "WorkflowEngine.activityExecute", {
406
+ captureStackTrace: false,
351
407
  attributes: {
352
408
  name: activity.name,
353
409
  attempt
@@ -379,6 +435,7 @@ export const make = Effect.gen(function*() {
379
435
  }),
380
436
  Effect.orDie,
381
437
  Effect.withSpan("WorkflowEngine.deferredResult", {
438
+ captureStackTrace: false,
382
439
  attributes: {
383
440
  name: deferred.name
384
441
  }
@@ -398,6 +455,7 @@ export const make = Effect.gen(function*() {
398
455
  Effect.scoped,
399
456
  (effect, { deferred, executionId }) =>
400
457
  Effect.withSpan(effect, "WorkflowEngine.deferredDone", {
458
+ captureStackTrace: false,
401
459
  attributes: {
402
460
  name: deferred.name,
403
461
  executionId
@@ -444,10 +502,18 @@ const ActivityRpc = Rpc.make("activity", {
444
502
  })
445
503
  }).annotate(ClusterSchema.Persisted, true)
446
504
 
505
+ const payloadParentKey = "~@effect/workflow/parent" as const
506
+
447
507
  const makeWorkflowEntity = (workflow: Workflow.Any) =>
448
508
  Entity.make(`Workflow/${workflow.name}`, [
449
509
  Rpc.make("run", {
450
- payload: workflow.payloadSchema.fields,
510
+ payload: {
511
+ ...workflow.payloadSchema.fields,
512
+ [payloadParentKey]: Schema.optional(Schema.Struct({
513
+ workflowName: Schema.String,
514
+ executionId: Schema.String
515
+ }))
516
+ },
451
517
  primaryKey: () => "",
452
518
  success: Workflow.Result({
453
519
  success: workflow.successSchema,
@@ -468,6 +534,10 @@ const makeWorkflowEntity = (workflow: Workflow.Any) =>
468
534
  .annotate(ClusterSchema.Persisted, true)
469
535
  .annotate(ClusterSchema.Uninterruptible, true),
470
536
 
537
+ Rpc.make("resume")
538
+ .annotate(ClusterSchema.Persisted, true)
539
+ .annotate(ClusterSchema.Uninterruptible, true),
540
+
471
541
  ActivityRpc
472
542
  ]).annotateContext(workflow.annotations)
473
543
 
@@ -67,7 +67,11 @@ export const toRpcGroup = <Type extends string, Rpcs extends Rpc.Any>(
67
67
  error: Schema.Union(parentRpc.errorSchema, ...clientErrors),
68
68
  success: parentRpc.successSchema
69
69
  }).annotateContext(parentRpc.annotations)
70
- rpcs.push(rpc)
70
+ const rpcDiscard = Rpc.make(`${entity.type}.${parentRpc._tag}Discard`, {
71
+ payload: payloadSchema,
72
+ error: Schema.Union(...clientErrors)
73
+ }).annotateContext(parentRpc.annotations)
74
+ rpcs.push(rpc, rpcDiscard)
71
75
  }
72
76
  return RpcGroup.make(...rpcs) as any as RpcGroup.RpcGroup<ConvertRpcs<Rpcs, Type>>
73
77
  }
@@ -81,23 +85,38 @@ export type ConvertRpcs<Rpcs extends Rpc.Any, Prefix extends string> = Rpcs exte
81
85
  infer _Success,
82
86
  infer _Error,
83
87
  infer _Middleware
84
- > ? Rpc.Rpc<
85
- `${Prefix}.${_Tag}`,
86
- Schema.Struct<{
87
- entityId: typeof Schema.String
88
- payload: _Payload
89
- }>,
90
- _Success,
91
- Schema.Schema<
92
- _Error["Type"] | MailboxFull | AlreadyProcessingMessage | PersistenceError | EntityNotManagedByRunner,
93
- | _Error["Encoded"]
94
- | typeof MailboxFull["Encoded"]
95
- | typeof AlreadyProcessingMessage["Encoded"]
96
- | typeof PersistenceError["Encoded"]
97
- | typeof EntityNotManagedByRunner["Encoded"],
98
- _Error["Context"]
88
+ > ?
89
+ | Rpc.Rpc<
90
+ `${Prefix}.${_Tag}`,
91
+ Schema.Struct<{
92
+ entityId: typeof Schema.String
93
+ payload: _Payload
94
+ }>,
95
+ _Success,
96
+ Schema.Schema<
97
+ _Error["Type"] | MailboxFull | AlreadyProcessingMessage | PersistenceError | EntityNotManagedByRunner,
98
+ | _Error["Encoded"]
99
+ | typeof MailboxFull["Encoded"]
100
+ | typeof AlreadyProcessingMessage["Encoded"]
101
+ | typeof PersistenceError["Encoded"]
102
+ | typeof EntityNotManagedByRunner["Encoded"],
103
+ _Error["Context"]
104
+ >
105
+ >
106
+ | Rpc.Rpc<
107
+ `${Prefix}.${_Tag}Discard`,
108
+ Schema.Struct<{
109
+ entityId: typeof Schema.String
110
+ payload: _Payload
111
+ }>,
112
+ typeof Schema.Void,
113
+ Schema.Union<[
114
+ typeof MailboxFull,
115
+ typeof AlreadyProcessingMessage,
116
+ typeof PersistenceError,
117
+ typeof EntityNotManagedByRunner
118
+ ]>
99
119
  >
100
- >
101
120
  : never
102
121
 
103
122
  const entityIdPath = Schema.Struct({
@@ -153,8 +172,13 @@ export const toHttpApiGroup = <const Name extends string, Type extends string, R
153
172
  .addSuccess(parentRpc.successSchema)
154
173
  .addError(Schema.Union(parentRpc.errorSchema, ...clientErrors))
155
174
  .annotateContext(parentRpc.annotations)
175
+ const endpointDiscard = HttpApiEndpoint.post(parentRpc._tag, `/${tagToPath(parentRpc._tag)}/:entityId/discard`)
176
+ .setPath(entityIdPath)
177
+ .setPayload(parentRpc.payloadSchema)
178
+ .addError(Schema.Union(...clientErrors))
179
+ .annotateContext(parentRpc.annotations)
156
180
 
157
- group = group.add(endpoint) as any
181
+ group = group.add(endpoint).add(endpointDiscard) as any
158
182
  }
159
183
  return group as any as HttpApiGroup.HttpApiGroup<Name, ConvertHttpApi<Rpcs>>
160
184
  }
@@ -174,16 +198,27 @@ export type ConvertHttpApi<Rpcs extends Rpc.Any> = Rpcs extends Rpc.Rpc<
174
198
  infer _Success,
175
199
  infer _Error,
176
200
  infer _Middleware
177
- > ? HttpApiEndpoint.HttpApiEndpoint<
178
- _Tag,
179
- "POST",
180
- { readonly entityId: string },
181
- never,
182
- _Payload["Type"],
183
- never,
184
- _Success["Type"],
185
- _Error["Type"] | MailboxFull | AlreadyProcessingMessage | PersistenceError | EntityNotManagedByRunner,
186
- _Payload["Context"] | _Success["Context"],
187
- _Error["Context"]
188
- > :
189
- never
201
+ > ?
202
+ | HttpApiEndpoint.HttpApiEndpoint<
203
+ _Tag,
204
+ "POST",
205
+ { readonly entityId: string },
206
+ never,
207
+ _Payload["Type"],
208
+ never,
209
+ _Success["Type"],
210
+ _Error["Type"] | MailboxFull | AlreadyProcessingMessage | PersistenceError | EntityNotManagedByRunner,
211
+ _Payload["Context"] | _Success["Context"],
212
+ _Error["Context"]
213
+ >
214
+ | HttpApiEndpoint.HttpApiEndpoint<
215
+ `${_Tag}Discard`,
216
+ "POST",
217
+ { readonly entityId: string },
218
+ never,
219
+ _Payload["Type"],
220
+ never,
221
+ void,
222
+ MailboxFull | AlreadyProcessingMessage | PersistenceError | EntityNotManagedByRunner
223
+ >
224
+ : never
@@ -36,11 +36,17 @@ export const layerHttpApi = <
36
36
  let handlers = handlers_
37
37
  for (const parentRpc_ of entity.protocol.requests.values()) {
38
38
  const parentRpc = parentRpc_ as any as Rpc.AnyWithProps
39
- handlers = handlers.handle(
40
- parentRpc._tag as any,
41
- (({ path, payload }: { path: { entityId: string }; payload: any }) =>
42
- (client(path.entityId) as any)[parentRpc._tag](payload)) as any
43
- ) as any
39
+ handlers = handlers
40
+ .handle(
41
+ parentRpc._tag as any,
42
+ (({ path, payload }: { path: { entityId: string }; payload: any }) =>
43
+ (client(path.entityId) as any)[parentRpc._tag](payload)) as any
44
+ )
45
+ .handle(
46
+ `${parentRpc._tag}Discard` as any,
47
+ (({ path, payload }: { path: { entityId: string }; payload: any }) =>
48
+ (client(path.entityId) as any)[parentRpc._tag](payload, { discard: true })) as any
49
+ ) as any
44
50
  }
45
51
  return handlers as HttpApiBuilder.Handlers<never, never, never>
46
52
  })
@@ -67,6 +73,12 @@ export const layerRpcHandlers = <
67
73
  tag,
68
74
  handler: ({ entityId, payload }: any) => (client(entityId) as any)[parentRpc._tag](payload) as any
69
75
  } as any)
76
+ handlers.set(`${key}Discard`, {
77
+ context,
78
+ tag,
79
+ handler: ({ entityId, payload }: any) =>
80
+ (client(entityId) as any)[parentRpc._tag](payload, { discard: true }) as any
81
+ } as any)
70
82
  }
71
83
  return Context.unsafeMake(handlers)
72
84
  }))
@@ -80,5 +92,5 @@ export type RpcHandlers<Rpcs extends Rpc.Any, Prefix extends string> = Rpcs exte
80
92
  infer _Success,
81
93
  infer _Error,
82
94
  infer _Middleware
83
- > ? Rpc.Handler<`${Prefix}.${_Tag}`>
95
+ > ? Rpc.Handler<`${Prefix}.${_Tag}`> | Rpc.Handler<`${Prefix}.${_Tag}Discard`>
84
96
  : never
package/src/Envelope.ts CHANGED
@@ -63,9 +63,9 @@ export interface Request<in out Rpc extends Rpc.Any> {
63
63
  readonly tag: Rpc.Tag<Rpc>
64
64
  readonly payload: Rpc.Payload<Rpc>
65
65
  readonly headers: Headers.Headers
66
- readonly traceId: string
67
- readonly spanId: string
68
- readonly sampled: boolean
66
+ readonly traceId?: string | undefined
67
+ readonly spanId?: string | undefined
68
+ readonly sampled?: boolean | undefined
69
69
  }
70
70
 
71
71
  /**
@@ -140,9 +140,9 @@ export declare namespace Request {
140
140
  readonly tag: string
141
141
  readonly payload: unknown
142
142
  readonly headers: ReadonlyRecord<string, string>
143
- readonly traceId: string
144
- readonly spanId: string
145
- readonly sampled: boolean
143
+ readonly traceId?: string | undefined
144
+ readonly spanId?: string | undefined
145
+ readonly sampled?: boolean | undefined
146
146
  }
147
147
 
148
148
  /**
@@ -156,9 +156,9 @@ export declare namespace Request {
156
156
  readonly tag: string
157
157
  readonly payload: unknown
158
158
  readonly headers: Headers.Headers
159
- readonly traceId: string
160
- readonly spanId: string
161
- readonly sampled: boolean
159
+ readonly traceId?: string | undefined
160
+ readonly spanId?: string | undefined
161
+ readonly sampled?: boolean | undefined
162
162
  }
163
163
  }
164
164
 
@@ -179,9 +179,9 @@ export const makeRequest = <Rpc extends Rpc.Any>(
179
179
  readonly tag: Rpc.Tag<Rpc>
180
180
  readonly payload: Rpc.Payload<Rpc>
181
181
  readonly headers: Headers.Headers
182
- readonly traceId: string
183
- readonly spanId: string
184
- readonly sampled: boolean
182
+ readonly traceId?: string | undefined
183
+ readonly spanId?: string | undefined
184
+ readonly sampled?: boolean | undefined
185
185
  }
186
186
  ): Request<Rpc> => ({
187
187
  [TypeId]: TypeId,
@@ -230,9 +230,9 @@ export const PartialEncodedRequest: Schema.Struct<
230
230
  tag: typeof Schema.String
231
231
  payload: typeof Schema.Unknown
232
232
  headers: Schema.Schema<Headers.Headers, ReadonlyRecord<string, string>>
233
- traceId: typeof Schema.String
234
- spanId: typeof Schema.String
235
- sampled: typeof Schema.Boolean
233
+ traceId: Schema.optional<typeof Schema.String>
234
+ spanId: Schema.optional<typeof Schema.String>
235
+ sampled: Schema.optional<typeof Schema.Boolean>
236
236
  }
237
237
  > = Schema.Struct({
238
238
  _tag: Schema.Literal("Request"),
@@ -241,9 +241,9 @@ export const PartialEncodedRequest: Schema.Struct<
241
241
  tag: Schema.String,
242
242
  payload: Schema.Unknown,
243
243
  headers: Headers.schema,
244
- traceId: Schema.String,
245
- spanId: Schema.String,
246
- sampled: Schema.Boolean
244
+ traceId: Schema.optional(Schema.String),
245
+ spanId: Schema.optional(Schema.String),
246
+ sampled: Schema.optional(Schema.Boolean)
247
247
  }) satisfies Schema.Schema<Request.PartialEncoded, Request.Encoded>
248
248
 
249
249
  /**
@@ -260,9 +260,9 @@ export const PartialEncoded: Schema.Union<
260
260
  tag: typeof Schema.String
261
261
  payload: typeof Schema.Unknown
262
262
  headers: Schema.Schema<Headers.Headers, ReadonlyRecord<string, string>>
263
- traceId: typeof Schema.String
264
- spanId: typeof Schema.String
265
- sampled: typeof Schema.Boolean
263
+ traceId: Schema.optional<typeof Schema.String>
264
+ spanId: Schema.optional<typeof Schema.String>
265
+ sampled: Schema.optional<typeof Schema.Boolean>
266
266
  }
267
267
  >,
268
268
  typeof AckChunk,
@@ -294,9 +294,9 @@ export const PartialEncodedRequestFromSelf: Schema.Struct<
294
294
  tag: typeof Schema.String
295
295
  payload: typeof Schema.Unknown
296
296
  headers: Schema.Schema<Headers.Headers>
297
- traceId: typeof Schema.String
298
- spanId: typeof Schema.String
299
- sampled: typeof Schema.Boolean
297
+ traceId: Schema.optional<typeof Schema.String>
298
+ spanId: Schema.optional<typeof Schema.String>
299
+ sampled: Schema.optional<typeof Schema.Boolean>
300
300
  }
301
301
  > = Schema.Struct({
302
302
  _tag: Schema.Literal("Request"),
@@ -305,9 +305,9 @@ export const PartialEncodedRequestFromSelf: Schema.Struct<
305
305
  tag: Schema.String,
306
306
  payload: Schema.Unknown,
307
307
  headers: Headers.schemaFromSelf,
308
- traceId: Schema.String,
309
- spanId: Schema.String,
310
- sampled: Schema.Boolean
308
+ traceId: Schema.optional(Schema.String),
309
+ spanId: Schema.optional(Schema.String),
310
+ sampled: Schema.optional(Schema.Boolean)
311
311
  }) satisfies Schema.Schema<Request.PartialEncoded>
312
312
 
313
313
  /**
@@ -324,9 +324,9 @@ export const PartialEncodedFromSelf: Schema.Union<
324
324
  tag: typeof Schema.String
325
325
  payload: typeof Schema.Unknown
326
326
  headers: Schema.Schema<Headers.Headers>
327
- traceId: typeof Schema.String
328
- spanId: typeof Schema.String
329
- sampled: typeof Schema.Boolean
327
+ traceId: Schema.optional<typeof Schema.String>
328
+ spanId: Schema.optional<typeof Schema.String>
329
+ sampled: Schema.optional<typeof Schema.Boolean>
330
330
  }
331
331
  >,
332
332
  Schema.Schema<AckChunk>,
@@ -323,9 +323,15 @@ export const make = Effect.fnUntraced(function*(options?: {
323
323
  tag: envelope.tag,
324
324
  payload: JSON.stringify(envelope.payload),
325
325
  headers: JSON.stringify(envelope.headers),
326
- trace_id: envelope.traceId,
327
- span_id: envelope.spanId,
328
- sampled: supportsBooleans ? envelope.sampled : envelope.sampled ? 1 : 0,
326
+ trace_id: envelope.traceId ?? null,
327
+ span_id: envelope.spanId ?? null,
328
+ sampled: envelope.sampled === undefined
329
+ ? null
330
+ : supportsBooleans
331
+ ? envelope.sampled
332
+ : envelope.sampled
333
+ ? 1
334
+ : 0,
329
335
  request_id: envelope.requestId,
330
336
  reply_id: null,
331
337
  deliver_at
@@ -401,8 +407,8 @@ export const make = Effect.fnUntraced(function*(options?: {
401
407
  tag: row.tag!,
402
408
  payload: JSON.parse(row.payload!),
403
409
  headers: JSON.parse(row.headers!),
404
- traceId: row.trace_id!,
405
- spanId: row.span_id!,
410
+ traceId: row.trace_id ?? undefined,
411
+ spanId: row.span_id ?? undefined,
406
412
  sampled: !!row.sampled
407
413
  },
408
414
  lastSentReply: row.reply_reply_id ?