@effect/cluster 0.29.13 → 0.29.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 (51) hide show
  1. package/dist/cjs/MessageStorage.js +8 -5
  2. package/dist/cjs/MessageStorage.js.map +1 -1
  3. package/dist/cjs/RunnerServer.js +18 -11
  4. package/dist/cjs/RunnerServer.js.map +1 -1
  5. package/dist/cjs/Runners.js +21 -9
  6. package/dist/cjs/Runners.js.map +1 -1
  7. package/dist/cjs/ShardManager.js +1 -1
  8. package/dist/cjs/ShardManager.js.map +1 -1
  9. package/dist/cjs/Sharding.js +24 -3
  10. package/dist/cjs/Sharding.js.map +1 -1
  11. package/dist/cjs/SqlMessageStorage.js +7 -1
  12. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  13. package/dist/cjs/SqlShardStorage.js +6 -6
  14. package/dist/cjs/internal/entityManager.js +13 -2
  15. package/dist/cjs/internal/entityManager.js.map +1 -1
  16. package/dist/dts/MessageStorage.d.ts +14 -2
  17. package/dist/dts/MessageStorage.d.ts.map +1 -1
  18. package/dist/dts/RunnerServer.d.ts +2 -2
  19. package/dist/dts/RunnerServer.d.ts.map +1 -1
  20. package/dist/dts/Runners.d.ts +4 -1
  21. package/dist/dts/Runners.d.ts.map +1 -1
  22. package/dist/dts/ShardStorage.d.ts +3 -3
  23. package/dist/dts/Sharding.d.ts +3 -3
  24. package/dist/dts/Sharding.d.ts.map +1 -1
  25. package/dist/dts/SqlMessageStorage.d.ts +2 -1
  26. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  27. package/dist/esm/MessageStorage.js +8 -5
  28. package/dist/esm/MessageStorage.js.map +1 -1
  29. package/dist/esm/RunnerServer.js +18 -11
  30. package/dist/esm/RunnerServer.js.map +1 -1
  31. package/dist/esm/Runners.js +21 -9
  32. package/dist/esm/Runners.js.map +1 -1
  33. package/dist/esm/ShardManager.js +1 -1
  34. package/dist/esm/ShardManager.js.map +1 -1
  35. package/dist/esm/Sharding.js +25 -4
  36. package/dist/esm/Sharding.js.map +1 -1
  37. package/dist/esm/SqlMessageStorage.js +7 -1
  38. package/dist/esm/SqlMessageStorage.js.map +1 -1
  39. package/dist/esm/SqlShardStorage.js +6 -6
  40. package/dist/esm/internal/entityManager.js +13 -2
  41. package/dist/esm/internal/entityManager.js.map +1 -1
  42. package/package.json +2 -2
  43. package/src/MessageStorage.ts +29 -7
  44. package/src/RunnerServer.ts +28 -17
  45. package/src/Runners.ts +38 -9
  46. package/src/ShardManager.ts +1 -1
  47. package/src/ShardStorage.ts +1 -1
  48. package/src/Sharding.ts +30 -10
  49. package/src/SqlMessageStorage.ts +12 -1
  50. package/src/SqlShardStorage.ts +6 -6
  51. package/src/internal/entityManager.ts +18 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ShardManager.js","names":["Rpc","RpcClient","RpcGroup","RpcServer","Arr","Clock","Config_","ConfigProvider","Context","Data","Deferred","Duration","Effect","Equal","FiberSet","identity","Iterable","Layer","Mailbox","Metric","MutableHashMap","MutableHashSet","Option","PubSub","Queue","Schedule","Schema","RunnerNotRegistered","ClusterMetrics","decideAssignmentsForUnassignedShards","decideAssignmentsForUnbalancedShards","RunnerWithMetadata","State","MachineId","Runner","RunnerAddress","RunnerHealth","RpcClientProtocol","Runners","ShardId","ShardingConfig","ShardStorage","ShardManager","Tag","Config","defaults","rebalanceDebounce","millis","rebalanceInterval","seconds","rebalanceRetryInterval","rebalanceRate","persistRetryCount","persistRetryInterval","runnerHealthCheckInterval","runnerPingTimeout","configConfig","all","duration","pipe","withDefault","withDescription","number","integer","configFromEnv","withConfigProvider","fromEnv","constantCase","layerConfig","config","succeed","layerConfigFromEnv","effect","ShardManagerClient","ShardingEventSchema","Union","TaggedStruct","address","shards","Array","Rpcs","make","payload","runner","success","ReadonlyMap","key","value","stream","Number","ShardingEvent","taggedEnum","makeClientLocal","gen","runnerAddress","clock","Map","n","numberOfShards","set","machineId","of","register","sync","unregister","void","notifyUnhealthyRunner","getAssignments","shardingEvents","mailbox","offer","StreamStarted","getTime","currentTimeMillis","makeClientRpc","client","spanPrefix","disableTracing","Register","version","serverVersion","Unregister","NotifyUnhealthyRunner","GetAssignments","ShardingEvents","asMailbox","GetTime","layerClientLocal","layerClientRpc","scoped","provide","Protocol","clientProtocol","shardManagerAddress","storage","runnersApi","runnerHealthApi","shardingConfig","state","orDie","fromStorage","scope","events","unbounded","incrementBy","runners","size","values","metric","isSome","tagged","assignedShards","toString","unassignedShards","increment","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","map","persistAssignments","saveAssignments","fnUntraced","has","runnerHealthChecked","isAlive","logWarning","updateShardsState","fail","shardId","logInfo","pretty","now","unsafeCurrentTimeMillis","registeredAt","publish","RunnerRegistered","length","rebalance","forkIn","unassignments","empty","shard","equals","push","none","remove","RunnerUnregistered","rebalancing","nextRebalanceImmediate","rebalanceDeferred","rebalanceFibers","immmediate","withFiberRuntime","fiber","rebalanceLoop","unsafeMake","id","await","immediate","deferred","undefined","runRebalance","intoDeferred","onExit","fn","annotateCurrentSpan","sleep","assignments","changes","logDebug","rebalances","failedRunners","run","ping","timeout","catchAll","add","awaitEmpty","failedUnassignments","Set","matchEffect","onFailure","onSuccess","shardCount","zipRight","ShardsUnassigned","from","forEach","delete","some","ShardsAssigned","wereFailures","discard","checkRunnerHealth","keys","concurrency","addFinalizer","catchAllCause","cause","andThen","forever","queue","subscribe","take","layer","layerServerHandlers","toLayer","shardManager","takeBetween","MAX_SAFE_INTEGER","flatMap","offerAll","forkScoped","layerServer"],"sources":["../../src/ShardManager.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,GAAG,MAAM,iBAAiB;AACtC,OAAO,KAAKC,SAAS,MAAM,uBAAuB;AAClD,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAChD,OAAO,KAAKC,SAAS,MAAM,uBAAuB;AAClD,OAAO,KAAKC,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,eAAe;AAExC,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,SAASC,mBAAmB,QAAQ,mBAAmB;AACvD,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AACrD,SACEC,oCAAoC,EACpCC,oCAAoC,EACpCC,kBAAkB,EAClBC,KAAK,QACA,4BAA4B;AACnC,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAC3C,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,iBAAiB,EAAEC,OAAO,QAAQ,cAAc;AACzD,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,mBAAmB;AAEhD;;;;AAIA,OAAM,MAAOC,YAAa,sBAAQlC,OAAO,CAACmC,GAAG,CAAC,8BAA8B,CAAC,EA+BzE;AAEJ;;;;AAIA,OAAM,MAAOC,MAAO,sBAAQpC,OAAO,CAACmC,GAAG,CAAC,qCAAqC,CAAC,EAoC1E;EACF;;;EAGA,OAAgBE,QAAQ,GAAmB;IACzCC,iBAAiB,eAAEnC,QAAQ,CAACoC,MAAM,CAAC,GAAG,CAAC;IACvCC,iBAAiB,eAAErC,QAAQ,CAACsC,OAAO,CAAC,EAAE,CAAC;IACvCC,sBAAsB,eAAEvC,QAAQ,CAACsC,OAAO,CAAC,EAAE,CAAC;IAC5CE,aAAa,EAAE,CAAC,GAAG,GAAG;IACtBC,iBAAiB,EAAE,GAAG;IACtBC,oBAAoB,eAAE1C,QAAQ,CAACsC,OAAO,CAAC,CAAC,CAAC;IACzCK,yBAAyB,eAAE3C,QAAQ,CAACsC,OAAO,CAAC,EAAE,CAAC;IAC/CM,iBAAiB,eAAE5C,QAAQ,CAACsC,OAAO,CAAC,CAAC;GACtC;;AAGH;;;;AAIA,OAAO,MAAMO,YAAY,gBAAmClD,OAAO,CAACmD,GAAG,CAAC;EACtEX,iBAAiB,eAAExC,OAAO,CAACoD,QAAQ,CAAC,mBAAmB,CAAC,CAACC,IAAI,eAC3DrD,OAAO,CAACsD,WAAW,CAAChB,MAAM,CAACC,QAAQ,CAACC,iBAAiB,CAAC,eACtDxC,OAAO,CAACuD,eAAe,CAAC,gEAAgE,CAAC,CAC1F;EACDb,iBAAiB,eAAE1C,OAAO,CAACoD,QAAQ,CAAC,mBAAmB,CAAC,CAACC,IAAI,eAC3DrD,OAAO,CAACsD,WAAW,CAAChB,MAAM,CAACC,QAAQ,CAACG,iBAAiB,CAAC,eACtD1C,OAAO,CAACuD,eAAe,CAAC,iEAAiE,CAAC,CAC3F;EACDX,sBAAsB,eAAE5C,OAAO,CAACoD,QAAQ,CAAC,wBAAwB,CAAC,CAACC,IAAI,eACrErD,OAAO,CAACsD,WAAW,CAAChB,MAAM,CAACC,QAAQ,CAACK,sBAAsB,CAAC,eAC3D5C,OAAO,CAACuD,eAAe,CACrB,4FAA4F,CAC7F,CACF;EACDV,aAAa,eAAE7C,OAAO,CAACwD,MAAM,CAAC,eAAe,CAAC,CAACH,IAAI,eACjDrD,OAAO,CAACsD,WAAW,CAAChB,MAAM,CAACC,QAAQ,CAACM,aAAa,CAAC,eAClD7C,OAAO,CAACuD,eAAe,CAAC,mDAAmD,CAAC,CAC7E;EACDT,iBAAiB,eAAE9C,OAAO,CAACyD,OAAO,CAAC,mBAAmB,CAAC,CAACJ,IAAI,eAC1DrD,OAAO,CAACsD,WAAW,CAAChB,MAAM,CAACC,QAAQ,CAACO,iBAAiB,CAAC,eACtD9C,OAAO,CAACuD,eAAe,CAAC,yEAAyE,CAAC,CACnG;EACDR,oBAAoB,eAAE/C,OAAO,CAACoD,QAAQ,CAAC,sBAAsB,CAAC,CAACC,IAAI,eACjErD,OAAO,CAACsD,WAAW,CAAChB,MAAM,CAACC,QAAQ,CAACQ,oBAAoB,CAAC,eACzD/C,OAAO,CAACuD,eAAe,CAAC,2EAA2E,CAAC,CACrG;EACDP,yBAAyB,eAAEhD,OAAO,CAACoD,QAAQ,CAAC,2BAA2B,CAAC,CAACC,IAAI,eAC3ErD,OAAO,CAACsD,WAAW,CAAChB,MAAM,CAACC,QAAQ,CAACS,yBAAyB,CAAC,eAC9DhD,OAAO,CAACuD,eAAe,CAAC,sDAAsD,CAAC,CAChF;EACDN,iBAAiB,eAAEjD,OAAO,CAACoD,QAAQ,CAAC,mBAAmB,CAAC,CAACC,IAAI,eAC3DrD,OAAO,CAACsD,WAAW,CAAChB,MAAM,CAACC,QAAQ,CAACU,iBAAiB,CAAC,eACtDjD,OAAO,CAACuD,eAAe,CAAC,+DAA+D,CAAC;CAE3F,CAAC;AAEF;;;;AAIA,OAAO,MAAMG,aAAa,gBAA+CR,YAAY,CAACG,IAAI,eACxF/C,MAAM,CAACqD,kBAAkB,eACvB1D,cAAc,CAAC2D,OAAO,EAAE,CAACP,IAAI,CAC3BpD,cAAc,CAAC4D,YAAY,CAC5B,CACF,CACF;AAED;;;;AAIA,OAAO,MAAMC,WAAW,GAAIC,MAAgC,IAC1DpD,KAAK,CAACqD,OAAO,CAAC1B,MAAM,EAAE;EACpB,GAAGA,MAAM,CAACC,QAAQ;EAClB,GAAGwB;CACJ,CAAC;AAEJ;;;;AAIA,OAAO,MAAME,kBAAkB,gBAAqCtD,KAAK,CAACuD,MAAM,CAAC5B,MAAM,EAAEoB,aAAa,CAAC;AAEvG;;;;;;;AAOA,OAAM,MAAOS,kBACX,sBAAQjE,OAAO,CAACmC,GAAG,CAAC,iDAAiD,CAAC,EA2BlE;AAGN;;;;AAIA,OAAO,MAAM+B,mBAAmB,gBAAGhD,MAAM,CAACiD,KAAK,eAC7CjD,MAAM,CAACkD,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC,eACxClD,MAAM,CAACkD,YAAY,CAAC,gBAAgB,EAAE;EACpCC,OAAO,EAAE1C,aAAa;EACtB2C,MAAM,eAAEpD,MAAM,CAACqD,KAAK,CAACxC,OAAO;CAC7B,CAAC,eACFb,MAAM,CAACkD,YAAY,CAAC,kBAAkB,EAAE;EACtCC,OAAO,EAAE1C,aAAa;EACtB2C,MAAM,eAAEpD,MAAM,CAACqD,KAAK,CAACxC,OAAO;CAC7B,CAAC,eACFb,MAAM,CAACkD,YAAY,CAAC,kBAAkB,EAAE;EACtCC,OAAO,EAAE1C;CACV,CAAC,eACFT,MAAM,CAACkD,YAAY,CAAC,oBAAoB,EAAE;EACxCC,OAAO,EAAE1C;CACV,CAAC,CACyC;AAE7C;;;;;;AAMA,OAAM,MAAO6C,IAAK,sBAAQ9E,QAAQ,CAAC+E,IAAI,eACrCjF,GAAG,CAACiF,IAAI,CAAC,UAAU,EAAE;EACnBC,OAAO,EAAE;IAAEC,MAAM,EAAEjD;EAAM,CAAE;EAC3BkD,OAAO,EAAEnD,SAAS,CAACA;CACpB,CAAC,eACFjC,GAAG,CAACiF,IAAI,CAAC,YAAY,EAAE;EACrBC,OAAO,EAAE;IAAEL,OAAO,EAAE1C;EAAa;CAClC,CAAC,eACFnC,GAAG,CAACiF,IAAI,CAAC,uBAAuB,EAAE;EAChCC,OAAO,EAAE;IAAEL,OAAO,EAAE1C;EAAa;CAClC,CAAC,eACFnC,GAAG,CAACiF,IAAI,CAAC,gBAAgB,EAAE;EACzBG,OAAO,eAAE1D,MAAM,CAAC2D,WAAW,CAAC;IAAEC,GAAG,EAAE/C,OAAO;IAAEgD,KAAK,eAAE7D,MAAM,CAACJ,MAAM,CAACa,aAAa;EAAC,CAAE;CAClF,CAAC,eACFnC,GAAG,CAACiF,IAAI,CAAC,gBAAgB,EAAE;EACzBG,OAAO,EAAEV,mBAAmB;EAC5Bc,MAAM,EAAE;CACT,CAAC,eACFxF,GAAG,CAACiF,IAAI,CAAC,SAAS,EAAE;EAClBG,OAAO,EAAE1D,MAAM,CAAC+D;CACjB,CAAC,CACH;AAoBD;;;;AAIA,OAAO,MAAMC,aAAa,gBAAGjF,IAAI,CAACkF,UAAU,EAAiB;AAE7D;;;;AAIA,OAAO,MAAMC,eAAe,gBAAGhF,MAAM,CAACiF,GAAG,CAAC,aAAS;EACjD,MAAMC,aAAa,GAAG,OAAOtD,cAAc;EAC3C,MAAMuD,KAAK,GAAG,OAAOnF,MAAM,CAACmF,KAAK;EAEjC,MAAMjB,MAAM,GAAG,IAAIkB,GAAG,EAAyC;EAC/D,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIH,aAAa,CAACI,cAAc,EAAED,CAAC,EAAE,EAAE;IACtDnB,MAAM,CAACqB,GAAG,CAAC5D,OAAO,CAAC0C,IAAI,CAACgB,CAAC,CAAC,EAAEH,aAAa,CAACA,aAAa,CAAC;EAC1D;EAEA,IAAIM,SAAS,GAAG,CAAC;EAEjB,OAAO3B,kBAAkB,CAAC4B,EAAE,CAAC;IAC3BC,QAAQ,EAAEA,CAAA,KAAM1F,MAAM,CAAC2F,IAAI,CAAC,MAAMtE,SAAS,CAACgD,IAAI,CAAC,EAAEmB,SAAS,CAAC,CAAC;IAC9DI,UAAU,EAAEA,CAAA,KAAM5F,MAAM,CAAC6F,IAAI;IAC7BC,qBAAqB,EAAEA,CAAA,KAAM9F,MAAM,CAAC6F,IAAI;IACxCE,cAAc,EAAE/F,MAAM,CAAC0D,OAAO,CAACQ,MAAM,CAAC;IACtC8B,cAAc,EAAEhG,MAAM,CAACiF,GAAG,CAAC,aAAS;MAClC,MAAMgB,OAAO,GAAG,OAAO3F,OAAO,CAAC+D,IAAI,EAAiB;MACpD,OAAO4B,OAAO,CAACC,KAAK,CAACpB,aAAa,CAACqB,aAAa,EAAE,CAAC;MACnD,OAAOF,OAAO;IAChB,CAAC,CAAC;IACFG,OAAO,EAAEjB,KAAK,CAACkB;GAChB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMC,aAAa,gBAItBtG,MAAM,CAACiF,GAAG,CAAC,aAAS;EACtB,MAAMxB,MAAM,GAAG,OAAO7B,cAAc;EACpC,MAAM2E,MAAM,GAAG,OAAOlH,SAAS,CAACgF,IAAI,CAACD,IAAI,EAAE;IACzCoC,UAAU,EAAE,oBAAoB;IAChCC,cAAc,EAAE;GACjB,CAAC;EAEF,OAAO5C,kBAAkB,CAAC4B,EAAE,CAAC;IAC3BC,QAAQ,EAAGzB,OAAO,IAAKsC,MAAM,CAACG,QAAQ,CAAC;MAAEnC,MAAM,EAAEjD,MAAM,CAAC+C,IAAI,CAAC;QAAEJ,OAAO;QAAE0C,OAAO,EAAElD,MAAM,CAACmD;MAAa,CAAE;IAAC,CAAE,CAAC;IAC3GhB,UAAU,EAAG3B,OAAO,IAAKsC,MAAM,CAACM,UAAU,CAAC;MAAE5C;IAAO,CAAE,CAAC;IACvD6B,qBAAqB,EAAG7B,OAAO,IAAKsC,MAAM,CAACO,qBAAqB,CAAC;MAAE7C;IAAO,CAAE,CAAC;IAC7E8B,cAAc,EAAEQ,MAAM,CAACQ,cAAc,EAAE;IACvCf,cAAc,EAAEO,MAAM,CAACS,cAAc,CAAC,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IAC9Db,OAAO,EAAEG,MAAM,CAACW,OAAO;GACxB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMC,gBAAgB,gBAIzB9G,KAAK,CAACuD,MAAM,CAACC,kBAAkB,EAAEmB,eAAe,CAAC;AAErD;;;;AAIA,OAAO,MAAMoC,cAAc,gBAIvB/G,KAAK,CAACgH,MAAM,CAACxD,kBAAkB,EAAEyC,aAAa,CAAC,CAACvD,IAAI,eACtD1C,KAAK,CAACiH,OAAO,eAACjH,KAAK,CAACgH,MAAM,CACxBhI,SAAS,CAACkI,QAAQ,eAClBvH,MAAM,CAACiF,GAAG,CAAC,aAAS;EAClB,MAAMxB,MAAM,GAAG,OAAO7B,cAAc;EACpC,MAAM4F,cAAc,GAAG,OAAO/F,iBAAiB;EAC/C,OAAO,OAAO+F,cAAc,CAAC/D,MAAM,CAACgE,mBAAmB,CAAC;AAC1D,CAAC,CAAC,CACH,CAAC,CACH;AAED;;;;AAIA,OAAO,MAAMpD,IAAI,gBAAGrE,MAAM,CAACiF,GAAG,CAAC,aAAS;EACtC,MAAMyC,OAAO,GAAG,OAAO7F,YAAY;EACnC,MAAM8F,UAAU,GAAG,OAAOjG,OAAO;EACjC,MAAMkG,eAAe,GAAG,OAAOpG,YAAY;EAC3C,MAAM2D,KAAK,GAAG,OAAOnF,MAAM,CAACmF,KAAK;EACjC,MAAM1B,MAAM,GAAG,OAAOzB,MAAM;EAC5B,MAAM6F,cAAc,GAAG,OAAOjG,cAAc;EAE5C,MAAMkG,KAAK,GAAG,OAAO9H,MAAM,CAAC+H,KAAK,CAAC3G,KAAK,CAAC4G,WAAW,CAACH,cAAc,CAACvC,cAAc,CAAC,CAAC;EACnF,MAAM2C,KAAK,GAAG,OAAOjI,MAAM,CAACiI,KAAK;EACjC,MAAMC,MAAM,GAAG,OAAOvH,MAAM,CAACwH,SAAS,EAAiB;EAEvD,OAAO5H,MAAM,CAAC6H,WAAW,CAACpH,cAAc,CAACqH,OAAO,EAAE7H,cAAc,CAAC8H,IAAI,CAACR,KAAK,CAACO,OAAO,CAAC,CAAC;EAErF,KAAK,MAAMpE,OAAO,IAAI6D,KAAK,CAAC5D,MAAM,CAACqE,MAAM,EAAE,EAAE;IAC3C,MAAMC,MAAM,GAAG9H,MAAM,CAAC+H,MAAM,CAACxE,OAAO,CAAC,GACnC1D,MAAM,CAACmI,MAAM,CAAC1H,cAAc,CAAC2H,cAAc,EAAE,SAAS,EAAE1E,OAAO,CAAC2E,QAAQ,EAAE,CAAC,GAC3E5H,cAAc,CAAC6H,gBAAgB;IACjC,OAAOtI,MAAM,CAACuI,SAAS,CAACN,MAAM,CAAC;EACjC;EAEA,SAASO,SAASA,CAAUnF,MAA8B;IACxD,OAAOA,MAAM,CAACb,IAAI,CAChB/C,MAAM,CAACgJ,KAAK,CAAC;MACXC,QAAQ,EAAEpI,QAAQ,CAACqI,MAAM,CAACzF,MAAM,CAACjB,iBAAiB,CAAC;MACnD2G,KAAK,EAAE1F,MAAM,CAACjB;KACf,CAAC,EACFxC,MAAM,CAACoJ,MAAM,CACd;EACH;EAEA,MAAMC,cAAc,GAAGrJ,MAAM,CAACsJ,mBAAmB,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC,CAACR,SAAS,CAC3E/I,MAAM,CAACwJ,OAAO,CAAC,MACb9B,OAAO,CAAC+B,WAAW,CACjBrJ,QAAQ,CAACsJ,GAAG,CAAC5B,KAAK,CAACO,OAAO,EAAE,CAAC,CAACpE,OAAO,EAAEM,MAAM,CAAC,KAAK,CAACN,OAAO,EAAEM,MAAM,CAACA,MAAM,CAAC,CAAC,CAC7E,CACF,CACF,CAAC;EAEF,MAAMoF,kBAAkB,GAAG3J,MAAM,CAACsJ,mBAAmB,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC,CAACR,SAAS,CAC/E/I,MAAM,CAACwJ,OAAO,CAAC,MAAM9B,OAAO,CAACkC,eAAe,CAAC9B,KAAK,CAAC5D,MAAM,CAAC,CAAC,CAC5D,CAAC;EAEF,MAAM4B,qBAAqB,GAAG9F,MAAM,CAAC6J,UAAU,CAAC,WAAU5F,OAAsB;IAC9E,IAAI,CAACzD,cAAc,CAACsJ,GAAG,CAAChC,KAAK,CAACO,OAAO,EAAEpE,OAAO,CAAC,EAAE;IAEjD,OAAO1D,MAAM,CAACuI,SAAS,CACrBvI,MAAM,CAACmI,MAAM,CAAC1H,cAAc,CAAC+I,mBAAmB,EAAE,gBAAgB,EAAE9F,OAAO,CAAC2E,QAAQ,EAAE,CAAC,CACxF;IAED,IAAI,EAAE,OAAOhB,eAAe,CAACoC,OAAO,CAAC/F,OAAO,CAAC,CAAC,EAAE;MAC9C,OAAOjE,MAAM,CAACiK,UAAU,CAAC,sBAAsBhG,OAAO,CAAC2E,QAAQ,EAAE,gBAAgB,CAAC;MAClF,OAAOhD,UAAU,CAAC3B,OAAO,CAAC;IAC5B;EACF,CAAC,CAAC;EAEF,SAASiG,iBAAiBA,CACxBhG,MAAyB,EACzBD,OAAqC;IAErC,OAAOjE,MAAM,CAACwJ,OAAO,CAAC,MAAK;MACzB,IAAI9I,MAAM,CAAC+H,MAAM,CAACxE,OAAO,CAAC,IAAI,CAACzD,cAAc,CAACsJ,GAAG,CAAChC,KAAK,CAACO,OAAO,EAAEpE,OAAO,CAACU,KAAK,CAAC,EAAE;QAC/E,OAAO3E,MAAM,CAACmK,IAAI,CAAC,IAAIpJ,mBAAmB,CAAC;UAAEkD,OAAO,EAAEA,OAAO,CAACU;QAAK,CAAE,CAAC,CAAC;MACzE;MACA,KAAK,MAAMyF,OAAO,IAAIlG,MAAM,EAAE;QAC5B,IAAI,CAAC4D,KAAK,CAAC5D,MAAM,CAAC4F,GAAG,CAACM,OAAO,CAAC,EAAE;QAChCtC,KAAK,CAAC5D,MAAM,CAACqB,GAAG,CAAC6E,OAAO,EAAEnG,OAAO,CAAC;MACpC;MACA,OAAOjE,MAAM,CAAC6F,IAAI;IACpB,CAAC,CAAC;EACJ;EAEA,MAAME,cAAc,GAAG/F,MAAM,CAAC2F,IAAI,CAAC,MAAMmC,KAAK,CAAC5D,MAAM,CAAC;EAEtD,IAAIsB,SAAS,GAAG,CAAC;EACjB,MAAME,QAAQ,GAAG1F,MAAM,CAAC6J,UAAU,CAAC,WAAUtF,MAAc;IACzD,OAAOvE,MAAM,CAACqK,OAAO,CAAC,sBAAsB/I,MAAM,CAACgJ,MAAM,CAAC/F,MAAM,CAAC,EAAE,CAAC;IACpE,MAAMgG,GAAG,GAAGpF,KAAK,CAACqF,uBAAuB,EAAE;IAC3ChK,cAAc,CAAC+E,GAAG,CAACuC,KAAK,CAACO,OAAO,EAAE9D,MAAM,CAACN,OAAO,EAAE9C,kBAAkB,CAAC;MAAEoD,MAAM;MAAEkG,YAAY,EAAEF;IAAG,CAAE,CAAC,CAAC;IAEpG,OAAOhK,MAAM,CAACuI,SAAS,CAAC9H,cAAc,CAACqH,OAAO,CAAC;IAC/C,OAAO1H,MAAM,CAAC+J,OAAO,CAACxC,MAAM,EAAEpD,aAAa,CAAC6F,gBAAgB,CAAC;MAAE1G,OAAO,EAAEM,MAAM,CAACN;IAAO,CAAE,CAAC,CAAC;IAC1F,IAAI6D,KAAK,CAACe,gBAAgB,CAAC+B,MAAM,GAAG,CAAC,EAAE;MACrC,OAAOC,SAAS,CAAC,KAAK,CAAC;IACzB;IACA,OAAO7K,MAAM,CAAC8K,MAAM,CAACzB,cAAc,EAAEpB,KAAK,CAAC;IAC3C,OAAO5G,SAAS,CAACgD,IAAI,CAAC,EAAEmB,SAAS,CAAC;EACpC,CAAC,CAAC;EAEF,MAAMI,UAAU,GAAG5F,MAAM,CAAC6J,UAAU,CAAC,WAAU5F,OAAsB;IACnE,IAAI,CAACzD,cAAc,CAACsJ,GAAG,CAAChC,KAAK,CAACO,OAAO,EAAEpE,OAAO,CAAC,EAAE;IAEjD,OAAOjE,MAAM,CAACqK,OAAO,CAAC,kCAAkC,EAAEpG,OAAO,CAAC;IAClE,MAAM8G,aAAa,GAAGvL,GAAG,CAACwL,KAAK,EAAW;IAC1C,KAAK,MAAM,CAACC,KAAK,EAAE1G,MAAM,CAAC,IAAIuD,KAAK,CAAC5D,MAAM,EAAE;MAC1C,IAAIxD,MAAM,CAAC+H,MAAM,CAAClE,MAAM,CAAC,IAAItE,KAAK,CAACiL,MAAM,CAAC3G,MAAM,CAACI,KAAK,EAAEV,OAAO,CAAC,EAAE;QAChE8G,aAAa,CAACI,IAAI,CAACF,KAAK,CAAC;QACzBnD,KAAK,CAAC5D,MAAM,CAACqB,GAAG,CAAC0F,KAAK,EAAEvK,MAAM,CAAC0K,IAAI,EAAE,CAAC;MACxC;IACF;IAEA5K,cAAc,CAAC6K,MAAM,CAACvD,KAAK,CAACO,OAAO,EAAEpE,OAAO,CAAC;IAC7C,OAAO1D,MAAM,CAAC6H,WAAW,CAACpH,cAAc,CAACqH,OAAO,EAAE,CAAC,CAAC,CAAC;IAErD,IAAI0C,aAAa,CAACH,MAAM,GAAG,CAAC,EAAE;MAC5B,OAAOrK,MAAM,CAAC6H,WAAW,CACvB7H,MAAM,CAACmI,MAAM,CAAC1H,cAAc,CAAC6H,gBAAgB,EAAE,gBAAgB,EAAE5E,OAAO,CAAC2E,QAAQ,EAAE,CAAC,EACpFmC,aAAa,CAACH,MAAM,CACrB;MACD,OAAOjK,MAAM,CAAC+J,OAAO,CAACxC,MAAM,EAAEpD,aAAa,CAACwG,kBAAkB,CAAC;QAAErH;MAAO,CAAE,CAAC,CAAC;IAC9E;IAEA,OAAOjE,MAAM,CAAC8K,MAAM,CAACzB,cAAc,EAAEpB,KAAK,CAAC;IAC3C,OAAOjI,MAAM,CAAC8K,MAAM,CAACD,SAAS,CAAC,IAAI,CAAC,EAAE5C,KAAK,CAAC;EAC9C,CAAC,CAAC;EAEF,IAAIsD,WAAW,GAAG,KAAK;EACvB,IAAIC,sBAAsB,GAAG,KAAK;EAClC,IAAIC,iBAAsD;EAC1D,MAAMC,eAAe,GAAG,OAAOxL,QAAQ,CAACmE,IAAI,EAAE;EAE9C,MAAMwG,SAAS,GAAIc,UAAmB,IACpC3L,MAAM,CAAC4L,gBAAgB,CAAQC,KAAK,IAAI;IACtC,IAAI,CAACN,WAAW,EAAE;MAChBA,WAAW,GAAG,IAAI;MAClB,OAAOO,aAAa,CAACH,UAAU,CAAC;IAClC;IACA,IAAIA,UAAU,EAAE;MACdH,sBAAsB,GAAG,IAAI;IAC/B;IACA,IAAI,CAACC,iBAAiB,EAAE;MACtBA,iBAAiB,GAAG3L,QAAQ,CAACiM,UAAU,CAACF,KAAK,CAACG,EAAE,EAAE,CAAC;IACrD;IACA,OAAOlM,QAAQ,CAACmM,KAAK,CAACR,iBAAiB,CAAC;EAC1C,CAAC,CAAC;EAEJ,MAAMK,aAAa,GAAII,SAAmB,IACxClM,MAAM,CAACwJ,OAAO,CAAC,MAAK;IAClB,MAAM2C,QAAQ,GAAGV,iBAAiB;IAClCA,iBAAiB,GAAGW,SAAS;IAC7B,IAAI,CAACF,SAAS,EAAE;MACdA,SAAS,GAAGV,sBAAsB;MAClCA,sBAAsB,GAAG,KAAK;IAChC;IACA,OAAOa,YAAY,CAACH,SAAS,CAAC,CAACnJ,IAAI,CACjCoJ,QAAQ,GAAGnM,MAAM,CAACsM,YAAY,CAACH,QAAQ,CAAC,GAAGhM,QAAQ,EACnDH,MAAM,CAACuM,MAAM,CAAC,MAAK;MACjB,IAAI,CAACd,iBAAiB,EAAE;QACtBF,WAAW,GAAG,KAAK;QACnB,OAAOvL,MAAM,CAAC6F,IAAI;MACpB;MACA,OAAO7F,MAAM,CAAC8K,MAAM,CAACgB,aAAa,EAAE,EAAE7D,KAAK,CAAC;IAC9C,CAAC,CAAC,CACH;EACH,CAAC,CAAC;EAEJ,MAAMoE,YAAY,GAAGrM,MAAM,CAACwM,EAAE,CAAC,wBAAwB,CAAC,CAAC,WAAUN,SAAkB;IACnF,OAAOlM,MAAM,CAACyM,mBAAmB,CAAC,YAAY,EAAEP,SAAS,CAAC;IAE1D,OAAOlM,MAAM,CAAC0M,KAAK,CAACjJ,MAAM,CAACvB,iBAAiB,CAAC;IAE7C;IACA,MAAM,CAACyK,WAAW,EAAE5B,aAAa,EAAE6B,OAAO,CAAC,GAAGV,SAAS,IAAKpE,KAAK,CAACe,gBAAgB,CAAC+B,MAAM,GAAG,CAAE,GAC1F3J,oCAAoC,CAAC6G,KAAK,CAAC,GAC3C5G,oCAAoC,CAAC4G,KAAK,EAAErE,MAAM,CAAClB,aAAa,CAAC;IAErE,OAAOvC,MAAM,CAAC6M,QAAQ,CAAC,mCAAmCX,SAAS,GAAG,CAAC;IAEvE,IAAIzL,cAAc,CAAC6H,IAAI,CAACsE,OAAO,CAAC,KAAK,CAAC,EAAE;IAExC,OAAOrM,MAAM,CAACuI,SAAS,CAAC9H,cAAc,CAAC8L,UAAU,CAAC;IAElD;IACA,MAAMC,aAAa,GAAGtM,cAAc,CAACuK,KAAK,EAAiB;IAC3D,KAAK,MAAM/G,OAAO,IAAI2I,OAAO,EAAE;MAC7B,OAAO1M,QAAQ,CAAC8M,GAAG,CACjBtB,eAAe,EACf/D,UAAU,CAACsF,IAAI,CAAChJ,OAAO,CAAC,CAAClB,IAAI,CAC3B/C,MAAM,CAACkN,OAAO,CAACzJ,MAAM,CAACd,iBAAiB,CAAC,EACxC3C,MAAM,CAACmN,QAAQ,CAAC,MAAK;QACnB1M,cAAc,CAAC2M,GAAG,CAACL,aAAa,EAAE9I,OAAO,CAAC;QAC1CzD,cAAc,CAAC6K,MAAM,CAACsB,WAAW,EAAE1I,OAAO,CAAC;QAC3CzD,cAAc,CAAC6K,MAAM,CAACN,aAAa,EAAE9G,OAAO,CAAC;QAC7C,OAAOjE,MAAM,CAAC6F,IAAI;MACpB,CAAC,CAAC,CACH,CACF;IACH;IACA,OAAO3F,QAAQ,CAACmN,UAAU,CAAC3B,eAAe,CAAC;IAE3C,MAAM4B,mBAAmB,GAAG,IAAIC,GAAG,EAAW;IAC9C,KAAK,MAAM,CAACtJ,OAAO,EAAEC,MAAM,CAAC,IAAI6G,aAAa,EAAE;MAC7C,OAAO7K,QAAQ,CAAC8M,GAAG,CACjBtB,eAAe,EACfxB,iBAAiB,CAAChG,MAAM,EAAExD,MAAM,CAAC0K,IAAI,EAAE,CAAC,CAACrI,IAAI,CAC3C/C,MAAM,CAACwN,WAAW,CAAC;QACjBC,SAAS,EAAEA,CAAA,KAAK;UACdhN,cAAc,CAAC2M,GAAG,CAACL,aAAa,EAAE9I,OAAO,CAAC;UAC1C,KAAK,MAAMgH,KAAK,IAAI/G,MAAM,EAAE;YAC1BoJ,mBAAmB,CAACF,GAAG,CAACnC,KAAK,CAAC;UAChC;UACA;UACAzK,cAAc,CAAC6K,MAAM,CAACsB,WAAW,EAAE1I,OAAO,CAAC;UAC3C,OAAOjE,MAAM,CAAC6F,IAAI;QACpB,CAAC;QACD6H,SAAS,EAAEA,CAAA,KAAK;UACd,MAAMC,UAAU,GAAGzJ,MAAM,CAACoE,IAAI;UAC9B,OAAO/H,MAAM,CAAC6H,WAAW,CACvB7H,MAAM,CAACmI,MAAM,CAAC1H,cAAc,CAAC2H,cAAc,EAAE,gBAAgB,EAAE1E,OAAO,CAAC2E,QAAQ,EAAE,CAAC,EAClF,CAAC+E,UAAU,CACZ,CAAC5K,IAAI,CACJ/C,MAAM,CAAC4N,QAAQ,CAACrN,MAAM,CAAC6H,WAAW,CAACpH,cAAc,CAAC6H,gBAAgB,EAAE8E,UAAU,CAAC,CAAC,EAChF3N,MAAM,CAAC4N,QAAQ,CACbjN,MAAM,CAAC+J,OAAO,CAACxC,MAAM,EAAEpD,aAAa,CAAC+I,gBAAgB,CAAC;YAAE5J,OAAO;YAAEC,MAAM,EAAEC,KAAK,CAAC2J,IAAI,CAAC5J,MAAM;UAAC,CAAE,CAAC,CAAC,CAChG,CACF;QACH;OACD,CAAC,CACH,CACF;IACH;IACA,OAAOhE,QAAQ,CAACmN,UAAU,CAAC3B,eAAe,CAAC;IAE3C;IACAlL,cAAc,CAACuN,OAAO,CAACpB,WAAW,EAAE,CAACzI,MAAM,EAAED,OAAO,KAAI;MACtD,KAAK,MAAMgH,KAAK,IAAIqC,mBAAmB,EAAE;QACvCpJ,MAAM,CAAC8J,MAAM,CAAC/C,KAAK,CAAC;MACtB;MACA,IAAI/G,MAAM,CAACoE,IAAI,KAAK,CAAC,EAAE;QACrB9H,cAAc,CAAC6K,MAAM,CAACsB,WAAW,EAAE1I,OAAO,CAAC;MAC7C;IACF,CAAC,CAAC;IAEF;IACA,KAAK,MAAM,CAACA,OAAO,EAAEC,MAAM,CAAC,IAAIyI,WAAW,EAAE;MAC3C,OAAOzM,QAAQ,CAAC8M,GAAG,CACjBtB,eAAe,EACfxB,iBAAiB,CAAChG,MAAM,EAAExD,MAAM,CAACuN,IAAI,CAAChK,OAAO,CAAC,CAAC,CAAClB,IAAI,CAClD/C,MAAM,CAACwN,WAAW,CAAC;QACjBC,SAAS,EAAEA,CAAA,KAAK;UACdhN,cAAc,CAAC2M,GAAG,CAACL,aAAa,EAAE9I,OAAO,CAAC;UAC1C,OAAOjE,MAAM,CAAC6F,IAAI;QACpB,CAAC;QACD6H,SAAS,EAAEA,CAAA,KAAK;UACd,MAAMC,UAAU,GAAGzJ,MAAM,CAACoE,IAAI;UAC9B,OAAO/H,MAAM,CAAC6H,WAAW,CACvB7H,MAAM,CAACmI,MAAM,CAAC1H,cAAc,CAAC2H,cAAc,EAAE,gBAAgB,EAAE1E,OAAO,CAAC2E,QAAQ,EAAE,CAAC,EAClF,CAAC+E,UAAU,CACZ,CAAC5K,IAAI,CACJ/C,MAAM,CAAC4N,QAAQ,CAACrN,MAAM,CAAC6H,WAAW,CAACpH,cAAc,CAAC6H,gBAAgB,EAAE,CAAC8E,UAAU,CAAC,CAAC,EACjF3N,MAAM,CAAC4N,QAAQ,CACbjN,MAAM,CAAC+J,OAAO,CAACxC,MAAM,EAAEpD,aAAa,CAACoJ,cAAc,CAAC;YAAEjK,OAAO;YAAEC,MAAM,EAAEC,KAAK,CAAC2J,IAAI,CAAC5J,MAAM;UAAC,CAAE,CAAC,CAAC,CAC9F,CACF;QACH;OACD,CAAC,CACH,CACF;IACH;IACA,OAAOhE,QAAQ,CAACmN,UAAU,CAAC3B,eAAe,CAAC;IAE3C,MAAMyC,YAAY,GAAG1N,cAAc,CAAC6H,IAAI,CAACyE,aAAa,CAAC,GAAG,CAAC;IAC3D,IAAIoB,YAAY,EAAE;MAChB;MACA,OAAOnO,MAAM,CAAC+N,OAAO,CAAChB,aAAa,EAAEjH,qBAAqB,EAAE;QAAEsI,OAAO,EAAE;MAAI,CAAE,CAAC,CAACrL,IAAI,CACjF/C,MAAM,CAAC8K,MAAM,CAAC7C,KAAK,CAAC,CACrB;MACD,OAAOjI,MAAM,CAACiK,UAAU,CAAC,+BAA+B,EAAE8C,aAAa,CAAC;IAC1E;IAEA,IAAIoB,YAAY,IAAIjC,SAAS,EAAE;MAC7B;MACA,OAAOzM,KAAK,CAACiN,KAAK,CAACjJ,MAAM,CAACnB,sBAAsB,CAAC,CAACS,IAAI,CACpD/C,MAAM,CAAC4N,QAAQ,CAAC/C,SAAS,CAACqB,SAAS,CAAC,CAAC,EACrClM,MAAM,CAAC8K,MAAM,CAAC7C,KAAK,CAAC,CACrB;IACH;IAEA,OAAO0B,kBAAkB;EAC3B,CAAC,CAAC;EAEF,MAAM0E,iBAAiB,GAAwBrO,MAAM,CAACwJ,OAAO,CAAC,MAC5DxJ,MAAM,CAAC+N,OAAO,CAACvN,cAAc,CAAC8N,IAAI,CAACxG,KAAK,CAACO,OAAO,CAAC,EAAEvC,qBAAqB,EAAE;IACxEyI,WAAW,EAAE,EAAE;IACfH,OAAO,EAAE;GACV,CAAC,CACH;EAED,OAAOpO,MAAM,CAACwO,YAAY,CAAC,MACzB7E,kBAAkB,CAAC5G,IAAI,CACrB/C,MAAM,CAACyO,aAAa,CAAEC,KAAK,IAAK1O,MAAM,CAACiK,UAAU,CAAC,2CAA2C,EAAEyE,KAAK,CAAC,CAAC,EACtG1O,MAAM,CAAC4N,QAAQ,CAACvE,cAAc,CAACtG,IAAI,CACjC/C,MAAM,CAACyO,aAAa,CAAEC,KAAK,IAAK1O,MAAM,CAACiK,UAAU,CAAC,uCAAuC,EAAEyE,KAAK,CAAC,CAAC,CACnG,CAAC,CACH,CACF;EAED,OAAO1O,MAAM,CAAC8K,MAAM,CAACzB,cAAc,EAAEpB,KAAK,CAAC;EAE3C;EACA,OAAOjI,MAAM,CAAC8K,MAAM,CAClBD,SAAS,CAAC/C,KAAK,CAACe,gBAAgB,CAAC+B,MAAM,GAAG,CAAC,CAAC,EAC5C3C,KAAK,CACN;EAED;EACA,OAAO4C,SAAS,CAAC,KAAK,CAAC,CAAC9H,IAAI,CAC1B/C,MAAM,CAAC2O,OAAO,CAAC3O,MAAM,CAAC0M,KAAK,CAACjJ,MAAM,CAACrB,iBAAiB,CAAC,CAAC,EACtDpC,MAAM,CAAC4O,OAAO,EACd5O,MAAM,CAAC8K,MAAM,CAAC7C,KAAK,CAAC,CACrB;EAED,OAAOoG,iBAAiB,CAACtL,IAAI,CAC3B/C,MAAM,CAAC2O,OAAO,CAAC3O,MAAM,CAAC0M,KAAK,CAACjJ,MAAM,CAACf,yBAAyB,CAAC,CAAC,EAC9D1C,MAAM,CAAC4O,OAAO,EACd5O,MAAM,CAAC8K,MAAM,CAAC7C,KAAK,CAAC,CACrB;EAED,OAAOjI,MAAM,CAACiF,GAAG,CAAC,aAAS;IACzB,MAAM4J,KAAK,GAAG,OAAOlO,MAAM,CAACmO,SAAS,CAAC5G,MAAM,CAAC;IAC7C,OAAO,IAAI,EAAE;MACX,OAAOlI,MAAM,CAACqK,OAAO,CAAC,sBAAsB,EAAE,OAAOzJ,KAAK,CAACmO,IAAI,CAACF,KAAK,CAAC,CAAC;IACzE;EACF,CAAC,CAAC,CAAC9L,IAAI,CAAC/C,MAAM,CAAC8K,MAAM,CAAC7C,KAAK,CAAC,CAAC;EAE7B,OAAOjI,MAAM,CAACqK,OAAO,CAAC,2BAA2B,CAAC;EAElD,OAAOvI,YAAY,CAAC2D,EAAE,CAAC;IACrBM,cAAc;IACdC,cAAc,EAAErF,MAAM,CAACmO,SAAS,CAAC5G,MAAM,CAAC;IACxCxC,QAAQ;IACRE,UAAU;IACViF,SAAS;IACT/E,qBAAqB;IACrBuI;GACD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMW,KAAK,gBAId3O,KAAK,CAACgH,MAAM,CAACvF,YAAY,EAAEuC,IAAI,CAAC;AAEpC;;;;AAIA,OAAO,MAAM4K,mBAAmB,gBAAG7K,IAAI,CAAC8K,OAAO,eAAClP,MAAM,CAACiF,GAAG,CAAC,aAAS;EAClE,MAAMkK,YAAY,GAAG,OAAOrN,YAAY;EACxC,MAAMqD,KAAK,GAAG,OAAOnF,MAAM,CAACmF,KAAK;EACjC,OAAO;IACLuB,QAAQ,EAAEA,CAAC;MAAEnC;IAAM,CAAE,KAAK4K,YAAY,CAACzJ,QAAQ,CAACnB,MAAM,CAAC;IACvDsC,UAAU,EAAEA,CAAC;MAAE5C;IAAO,CAAE,KAAKkL,YAAY,CAACvJ,UAAU,CAAC3B,OAAO,CAAC;IAC7D6C,qBAAqB,EAAEA,CAAC;MAAE7C;IAAO,CAAE,KAAKkL,YAAY,CAACrJ,qBAAqB,CAAC7B,OAAO,CAAC;IACnF8C,cAAc,EAAEA,CAAA,KAAMoI,YAAY,CAACpJ,cAAc;IACjDiB,cAAc,EAAEhH,MAAM,CAAC6J,UAAU,CAAC,aAAS;MACzC,MAAMgF,KAAK,GAAG,OAAOM,YAAY,CAACnJ,cAAc;MAChD,MAAMC,OAAO,GAAG,OAAO3F,OAAO,CAAC+D,IAAI,EAAiB;MAEpD,OAAO4B,OAAO,CAACC,KAAK,CAACpB,aAAa,CAACqB,aAAa,EAAE,CAAC;MAEnD,OAAOvF,KAAK,CAACwO,WAAW,CAACP,KAAK,EAAE,CAAC,EAAEhK,MAAM,CAACwK,gBAAgB,CAAC,CAACtM,IAAI,CAC9D/C,MAAM,CAACsP,OAAO,CAAEpH,MAAM,IAAKjC,OAAO,CAACsJ,QAAQ,CAACrH,MAAM,CAAC,CAAC,EACpDlI,MAAM,CAAC4O,OAAO,EACd5O,MAAM,CAACwP,UAAU,CAClB;MAED,OAAOvJ,OAAO;IAChB,CAAC,CAAC;IACFiB,OAAO,EAAEA,CAAA,KAAM/B,KAAK,CAACkB;GACtB;AACH,CAAC,CAAC,CAAC;AAEH;;;;AAIA,OAAO,MAAMoJ,WAAW,gBAIpBlQ,SAAS,CAACyP,KAAK,CAAC5K,IAAI,EAAE;EACxBoC,UAAU,EAAE,cAAc;EAC1BC,cAAc,EAAE;CACjB,CAAC,CAAC1D,IAAI,eAAC1C,KAAK,CAACiH,OAAO,CAAC2H,mBAAmB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"ShardManager.js","names":["Rpc","RpcClient","RpcGroup","RpcServer","Arr","Clock","Config_","ConfigProvider","Context","Data","Deferred","Duration","Effect","Equal","FiberSet","identity","Iterable","Layer","Mailbox","Metric","MutableHashMap","MutableHashSet","Option","PubSub","Queue","Schedule","Schema","RunnerNotRegistered","ClusterMetrics","decideAssignmentsForUnassignedShards","decideAssignmentsForUnbalancedShards","RunnerWithMetadata","State","MachineId","Runner","RunnerAddress","RunnerHealth","RpcClientProtocol","Runners","ShardId","ShardingConfig","ShardStorage","ShardManager","Tag","Config","defaults","rebalanceDebounce","millis","rebalanceInterval","seconds","rebalanceRetryInterval","rebalanceRate","persistRetryCount","persistRetryInterval","runnerHealthCheckInterval","minutes","runnerPingTimeout","configConfig","all","duration","pipe","withDefault","withDescription","number","integer","configFromEnv","withConfigProvider","fromEnv","constantCase","layerConfig","config","succeed","layerConfigFromEnv","effect","ShardManagerClient","ShardingEventSchema","Union","TaggedStruct","address","shards","Array","Rpcs","make","payload","runner","success","ReadonlyMap","key","value","stream","Number","ShardingEvent","taggedEnum","makeClientLocal","gen","runnerAddress","clock","Map","n","numberOfShards","set","machineId","of","register","sync","unregister","void","notifyUnhealthyRunner","getAssignments","shardingEvents","mailbox","offer","StreamStarted","getTime","currentTimeMillis","makeClientRpc","client","spanPrefix","disableTracing","Register","version","serverVersion","Unregister","NotifyUnhealthyRunner","GetAssignments","ShardingEvents","asMailbox","GetTime","layerClientLocal","layerClientRpc","scoped","provide","Protocol","clientProtocol","shardManagerAddress","storage","runnersApi","runnerHealthApi","shardingConfig","state","orDie","fromStorage","scope","events","unbounded","incrementBy","runners","size","values","metric","isSome","tagged","assignedShards","toString","unassignedShards","increment","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","map","persistAssignments","saveAssignments","fnUntraced","has","runnerHealthChecked","isAlive","logWarning","updateShardsState","fail","shardId","logInfo","pretty","now","unsafeCurrentTimeMillis","registeredAt","publish","RunnerRegistered","length","rebalance","forkIn","unassignments","empty","shard","equals","push","none","remove","RunnerUnregistered","rebalancing","nextRebalanceImmediate","rebalanceDeferred","rebalanceFibers","immmediate","withFiberRuntime","fiber","rebalanceLoop","unsafeMake","id","await","immediate","deferred","undefined","runRebalance","intoDeferred","onExit","fn","annotateCurrentSpan","sleep","assignments","changes","logDebug","rebalances","failedRunners","run","ping","timeout","catchAll","add","awaitEmpty","failedUnassignments","Set","matchEffect","onFailure","onSuccess","shardCount","zipRight","ShardsUnassigned","from","forEach","delete","some","ShardsAssigned","wereFailures","discard","checkRunnerHealth","keys","concurrency","addFinalizer","catchAllCause","cause","andThen","forever","queue","subscribe","take","layer","layerServerHandlers","toLayer","shardManager","takeBetween","MAX_SAFE_INTEGER","flatMap","offerAll","forkScoped","layerServer"],"sources":["../../src/ShardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -21,7 +21,7 @@ import * as PubSub from "effect/PubSub";
21
21
  import * as Schedule from "effect/Schedule";
22
22
  import * as Scope from "effect/Scope";
23
23
  import * as Stream from "effect/Stream";
24
- import { EntityNotManagedByRunner, RunnerUnavailable } from "./ClusterError.js";
24
+ import { AlreadyProcessingMessage, EntityNotManagedByRunner, RunnerUnavailable } from "./ClusterError.js";
25
25
  import { Persisted } from "./ClusterSchema.js";
26
26
  import { EntityAddress } from "./EntityAddress.js";
27
27
  import { EntityId } from "./EntityId.js";
@@ -104,6 +104,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
104
104
  continue;
105
105
  }
106
106
  const acquired = yield* shardStorage.acquire(selfAddress, unacquiredShards);
107
+ yield* Effect.ignore(storage.resetShards(acquired));
107
108
  for (const shardId of acquired) {
108
109
  acquiredShards.add(shardId);
109
110
  }
@@ -119,7 +120,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
119
120
  fiber: "Shard acquisition loop",
120
121
  runner: selfAddress
121
122
  }), Effect.interruptible, Effect.forkIn(shardingScope));
122
- // refresh the shard locks every 20s
123
+ // refresh the shard locks every 10s
123
124
  yield* Effect.suspend(() => shardStorage.refresh(selfAddress, [...acquiredShards, ...releasingShards])).pipe(Effect.flatMap(acquired => {
124
125
  for (const shardId of acquiredShards) {
125
126
  if (!acquired.includes(shardId)) {
@@ -131,7 +132,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
131
132
  }), Effect.retry({
132
133
  times: 5,
133
134
  schedule: Schedule.spaced(250)
134
- }), Effect.catchAllCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.delay("20 seconds"), Effect.forever, Effect.interruptible, Effect.forkIn(shardingScope));
135
+ }), Effect.catchAllCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.delay("10 seconds"), Effect.forever, Effect.interruptible, Effect.forkIn(shardingScope));
135
136
  const releaseShardsLock = Effect.unsafeMakeSemaphore(1).withPermits(1);
136
137
  const releaseShards = releaseShardsLock(Effect.suspend(() => Effect.forEach(releasingShards, shardId => Effect.forEach(entityManagers.values(), state => state.manager.interruptShard(shardId), {
137
138
  concurrency: "unbounded",
@@ -199,6 +200,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
199
200
  const openStorageReadLatch = constant(storageReadLatch.open);
200
201
  const storageReadLock = Effect.unsafeMakeSemaphore(1);
201
202
  const withStorageReadLock = storageReadLock.withPermits(1);
203
+ let storageAlreadyProcessed = _message => true;
202
204
  if (storageEnabled && Option.isSome(config.runnerAddress)) {
203
205
  const selfAddress = config.runnerAddress.value;
204
206
  yield* Effect.gen(function* () {
@@ -208,6 +210,16 @@ const make = /*#__PURE__*/Effect.gen(function* () {
208
210
  // we only keep the last 30 sets to avoid memory leaks
209
211
  const sentRequestIds = new Set();
210
212
  const sentRequestIdSets = new Set();
213
+ storageAlreadyProcessed = message => {
214
+ if (!sentRequestIds.has(message.envelope.requestId)) {
215
+ return false;
216
+ }
217
+ const state = entityManagers.get(message.envelope.address.entityType);
218
+ if (!state) return true;
219
+ return !state.manager.isProcessingFor(message, {
220
+ excludeReplies: true
221
+ });
222
+ };
211
223
  while (true) {
212
224
  // wait for the next poll interval, or if we get notified of a change
213
225
  yield* storageReadLatch.await;
@@ -409,7 +421,16 @@ const make = /*#__PURE__*/Effect.gen(function* () {
409
421
  }));
410
422
  }
411
423
  const notify = storageEnabled ? openStorageReadLatch : () => Effect.dieMessage("Sharding.notifyLocal: storage is disabled");
412
- return message._tag === "IncomingRequest" || message._tag === "IncomingEnvelope" ? notify() : runners.notifyLocal({
424
+ if (message._tag === "IncomingRequest" || message._tag === "IncomingEnvelope") {
425
+ if (message._tag === "IncomingRequest" && storageAlreadyProcessed(message)) {
426
+ return Effect.fail(new AlreadyProcessingMessage({
427
+ address,
428
+ envelopeId: message.envelope.requestId
429
+ }));
430
+ }
431
+ return notify();
432
+ }
433
+ return runners.notifyLocal({
413
434
  message,
414
435
  notify,
415
436
  discard
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Effect","Equal","Fiber","FiberHandle","FiberMap","FiberRef","constant","HashMap","Iterable","Layer","MutableHashMap","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","EntityNotManagedByRunner","RunnerUnavailable","Persisted","EntityAddress","EntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runners","ShardId","ShardingConfig","EntityRegistered","SingletonRegistered","ShardManagerClient","ShardStorage","SingletonAddress","Snowflake","Sharding","Tag","make","gen","config","runners","shardManager","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","entityManagers","Map","shardAssignments","empty","selfShards","Set","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","Math","abs","numberOfShards","isEntityOnLocalShards","has","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","delete","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","includes","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","map","get","set","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","logDebug","running","unsafeHas","shouldBeRunning","fiberId","remove","openStorageReadLatch","storageReadLock","withStorageReadLock","addFinalizer","sentRequestIds","sentRequestIdSets","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","message","index","_tag","envelope","requestId","entityType","isProcessing","isProcessingFor","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","ReplyWithContext","fromDefect","id","unsafeNext","defect","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","sync","e","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","isTransientError","or","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","runnerIsLocal","die","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","client","makeNoSerialization","protocol","supportsAck","generateRequestId","onFromClient","options","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","some","Interrupt","wrappedClient","method","Object","keys","merge","currentClientAddress","withFiberRuntime","type","makeClient","_reply","reply","clientId","exit","reaper","registerEntity","build","sharding","unregister","activeEntityCount","count","of","layer","layerGenerator","Default","GenericTag","Symbol","for","key"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Effect","Equal","Fiber","FiberHandle","FiberMap","FiberRef","constant","HashMap","Iterable","Layer","MutableHashMap","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotManagedByRunner","RunnerUnavailable","Persisted","EntityAddress","EntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runners","ShardId","ShardingConfig","EntityRegistered","SingletonRegistered","ShardManagerClient","ShardStorage","SingletonAddress","Snowflake","Sharding","Tag","make","gen","config","runners","shardManager","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","entityManagers","Map","shardAssignments","empty","selfShards","Set","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","Math","abs","numberOfShards","isEntityOnLocalShards","has","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","delete","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","includes","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","map","get","set","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","logDebug","running","unsafeHas","shouldBeRunning","fiberId","remove","openStorageReadLatch","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","addFinalizer","sentRequestIds","sentRequestIdSets","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","ReplyWithContext","fromDefect","id","unsafeNext","defect","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","interrupt","MailboxFull","sendRetryInterval","sync","e","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","runnerIsLocal","die","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","client","makeNoSerialization","protocol","supportsAck","generateRequestId","onFromClient","options","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","some","Interrupt","wrappedClient","method","Object","keys","merge","currentClientAddress","withFiberRuntime","type","makeClient","_reply","reply","clientId","exit","reaper","registerEntity","build","sharding","unregister","activeEntityCount","count","of","layer","layerGenerator","Default","GenericTag","Symbol","for","key"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -630,7 +630,13 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
630
630
  AND shard_id = ${address.shardId}
631
631
  AND entity_type = ${address.entityType}
632
632
  AND entity_id = ${address.entityId}
633
- `.pipe(Effect.asVoid, PersistenceError.refail)
633
+ `.pipe(Effect.asVoid, PersistenceError.refail),
634
+ resetShards: shardIds => sql`
635
+ UPDATE ${messagesTableSql}
636
+ SET last_read = NULL
637
+ WHERE processed = ${sqlFalse}
638
+ AND shard_id IN (${sql.literal(shardIds.join(","))})
639
+ `.pipe(Effect.asVoid, PersistenceError.refail)
634
640
  });
635
641
  });
636
642
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SqlMessageStorage.js","names":["SqlClient","Arr","Effect","Layer","Option","Schedule","PersistenceError","MessageStorage","SaveResultEncoded","Snowflake","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","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","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","insert","times","map","rows","tap","fiveMinutesAgo","sqlNowString","sqlNow","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","repliesFor","requestIds","unprocessedMessages","messages","Array","ids","i","unprocessedMessagesById","idArr","from","resetAddress","layer","scoped","provide","layerGenerator","layerWith"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqlMessageStorage.js","names":["SqlClient","Arr","Effect","Layer","Option","Schedule","PersistenceError","MessageStorage","SaveResultEncoded","Snowflake","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","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","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","insert","times","map","rows","tap","fiveMinutesAgo","sqlNowString","sqlNow","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","repliesFor","requestIds","unprocessedMessages","messages","Array","ids","i","unprocessedMessagesById","idArr","from","resetAddress","resetShards","layer","scoped","provide","layerGenerator","layerWith"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -120,10 +120,10 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
120
120
  });
121
121
  const sqlNow = sql.literal(sqlNowString);
122
122
  const lockExpiresAt = sql.onDialectOrElse({
123
- pg: () => sql`${sqlNow} - INTERVAL '30 seconds'`,
124
- mysql: () => sql`DATE_SUB(${sqlNow}, INTERVAL 30 SECOND)`,
125
- mssql: () => sql`DATEADD(SECOND, -30, ${sqlNow})`,
126
- orElse: () => sql`datetime(${sqlNow}, '-30 seconds')`
123
+ pg: () => sql`${sqlNow} - INTERVAL '15 seconds'`,
124
+ mysql: () => sql`DATE_SUB(${sqlNow}, INTERVAL 15 SECOND)`,
125
+ mssql: () => sql`DATEADD(SECOND, -15, ${sqlNow})`,
126
+ orElse: () => sql`datetime(${sqlNow}, '-15 seconds')`
127
127
  });
128
128
  const acquireLock = sql.onDialectOrElse({
129
129
  pg: () => (address, values) => sql`
@@ -143,7 +143,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
143
143
  MERGE ${locksTableSql} WITH (HOLDLOCK) AS target
144
144
  USING (SELECT * FROM (VALUES ${sql.csv(values)})) AS source (shard_id, address, acquired_at)
145
145
  ON target.shard_id = source.shard_id
146
- WHEN MATCHED AND (target.address = source.address OR DATEDIFF(SECOND, target.acquired_at, ${sqlNow}) > 30) THEN
146
+ WHEN MATCHED AND (target.address = source.address OR DATEDIFF(SECOND, target.acquired_at, ${sqlNow}) > 15) THEN
147
147
  UPDATE SET address = source.address, acquired_at = source.acquired_at
148
148
  WHEN NOT MATCHED THEN
149
149
  INSERT (shard_id, address, acquired_at)
@@ -160,7 +160,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
160
160
  SELECT 1 FROM ${locksTableSql}
161
161
  WHERE shard_id = source.shard_id
162
162
  AND address != ${address}
163
- AND (strftime('%s', ${sqlNow}) - strftime('%s', acquired_at)) <= 30
163
+ AND (strftime('%s', ${sqlNow}) - strftime('%s', acquired_at)) <= 15
164
164
  )
165
165
  ON CONFLICT(shard_id) DO UPDATE
166
166
  SET address = ${address}, acquired_at = ${sqlNow}
@@ -65,6 +65,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (entity, buildHandl
65
65
  {
66
66
  const request = activeRequests.get(response.requestId);
67
67
  if (!request) return Effect.void;
68
+ request.sentReply = true;
68
69
  // For durable messages, ignore interrupts during shutdown.
69
70
  // They will be retried when the entity is restarted.
70
71
  if (storageEnabled && isShuttingDown && Context.get(request.rpc.annotations, Persisted) && Exit.isInterrupted(response.exit)) {
@@ -90,6 +91,9 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (entity, buildHandl
90
91
  if (!request) return Effect.void;
91
92
  const sequence = request.sequence;
92
93
  request.sequence++;
94
+ if (!request.sentReply) {
95
+ request.sentReply = true;
96
+ }
93
97
  return Effect.orDie(retryRespond(4, Effect.suspend(() => {
94
98
  const reply = new Reply.Chunk({
95
99
  requestId: Snowflake.Snowflake(response.requestId),
@@ -205,6 +209,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (entity, buildHandl
205
209
  entry = {
206
210
  rpc: entity.protocol.requests.get(message.envelope.tag),
207
211
  message,
212
+ sentReply: false,
208
213
  lastSentChunk: message.lastSentReply,
209
214
  sequence: Option.match(message.lastSentReply, {
210
215
  onNone: () => 0,
@@ -261,10 +266,16 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (entity, buildHandl
261
266
  const decodeMessage = Schema.decode(makeMessageSchema(entity));
262
267
  return identity({
263
268
  interruptShard,
264
- isProcessingFor(message) {
269
+ isProcessingFor(message, options) {
265
270
  const state = activeServers.get(message.envelope.address.entityId);
266
271
  if (!state) return false;
267
- return state.activeRequests.has(message.envelope.requestId);
272
+ const request = state.activeRequests.get(message.envelope.requestId);
273
+ if (request === undefined) {
274
+ return false;
275
+ } else if (options?.excludeReplies && request.sentReply) {
276
+ return false;
277
+ }
278
+ return true;
268
279
  },
269
280
  sendLocal,
270
281
  send: message => decodeMessage(message).pipe(Effect.matchEffect({