dfx 0.95.0 → 0.95.2

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 (91) hide show
  1. package/Cache.js +4 -4
  2. package/Cache.js.map +1 -1
  3. package/DiscordGateway/DiscordWS.js +2 -2
  4. package/DiscordGateway/DiscordWS.js.map +1 -1
  5. package/DiscordGateway/Shard/StateStore.d.ts +25 -0
  6. package/DiscordGateway/Shard/StateStore.d.ts.map +1 -0
  7. package/DiscordGateway/Shard/StateStore.js +33 -0
  8. package/DiscordGateway/Shard/StateStore.js.map +1 -0
  9. package/DiscordGateway/Shard/heartbeats.d.ts +2 -2
  10. package/DiscordGateway/Shard/heartbeats.d.ts.map +1 -1
  11. package/DiscordGateway/Shard/heartbeats.js +4 -4
  12. package/DiscordGateway/Shard/heartbeats.js.map +1 -1
  13. package/DiscordGateway/Shard/identify.d.ts +2 -6
  14. package/DiscordGateway/Shard/identify.d.ts.map +1 -1
  15. package/DiscordGateway/Shard/identify.js +5 -12
  16. package/DiscordGateway/Shard/identify.js.map +1 -1
  17. package/DiscordGateway/Shard/utils.d.ts +1 -8
  18. package/DiscordGateway/Shard/utils.d.ts.map +1 -1
  19. package/DiscordGateway/Shard/utils.js +1 -10
  20. package/DiscordGateway/Shard/utils.js.map +1 -1
  21. package/DiscordGateway/Shard.d.ts +5 -4
  22. package/DiscordGateway/Shard.d.ts.map +1 -1
  23. package/DiscordGateway/Shard.js +43 -28
  24. package/DiscordGateway/Shard.js.map +1 -1
  25. package/DiscordGateway/Sharder.d.ts +1 -1
  26. package/DiscordGateway/Sharder.d.ts.map +1 -1
  27. package/DiscordGateway/Sharder.js +1 -1
  28. package/DiscordGateway/Sharder.js.map +1 -1
  29. package/DiscordGateway.d.ts +1 -1
  30. package/DiscordGateway.d.ts.map +1 -1
  31. package/DiscordREST.d.ts +1 -1
  32. package/Helpers/intents.d.ts +2 -2
  33. package/Helpers/intents.d.ts.map +1 -1
  34. package/Helpers/permissions.d.ts +2 -2
  35. package/Helpers/permissions.d.ts.map +1 -1
  36. package/Helpers/ui.d.ts +7 -1
  37. package/Helpers/ui.d.ts.map +1 -1
  38. package/Helpers/ui.js +11 -1
  39. package/Helpers/ui.js.map +1 -1
  40. package/Interactions/gateway.js +1 -1
  41. package/Interactions/gateway.js.map +1 -1
  42. package/gateway.d.ts +2 -2
  43. package/gateway.d.ts.map +1 -1
  44. package/gateway.js +2 -1
  45. package/gateway.js.map +1 -1
  46. package/mjs/Cache.mjs +4 -4
  47. package/mjs/Cache.mjs.map +1 -1
  48. package/mjs/DiscordGateway/DiscordWS.mjs +2 -2
  49. package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -1
  50. package/mjs/DiscordGateway/Shard/StateStore.mjs +25 -0
  51. package/mjs/DiscordGateway/Shard/StateStore.mjs.map +1 -0
  52. package/mjs/DiscordGateway/Shard/heartbeats.mjs +4 -4
  53. package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +1 -1
  54. package/mjs/DiscordGateway/Shard/identify.mjs +5 -12
  55. package/mjs/DiscordGateway/Shard/identify.mjs.map +1 -1
  56. package/mjs/DiscordGateway/Shard/utils.mjs +0 -8
  57. package/mjs/DiscordGateway/Shard/utils.mjs.map +1 -1
  58. package/mjs/DiscordGateway/Shard.mjs +43 -28
  59. package/mjs/DiscordGateway/Shard.mjs.map +1 -1
  60. package/mjs/DiscordGateway/Sharder.mjs +1 -1
  61. package/mjs/DiscordGateway/Sharder.mjs.map +1 -1
  62. package/mjs/Helpers/ui.mjs +9 -0
  63. package/mjs/Helpers/ui.mjs.map +1 -1
  64. package/mjs/Interactions/gateway.mjs +1 -1
  65. package/mjs/Interactions/gateway.mjs.map +1 -1
  66. package/mjs/gateway.mjs +2 -1
  67. package/mjs/gateway.mjs.map +1 -1
  68. package/mjs/types.mjs +45 -2
  69. package/mjs/types.mjs.map +1 -1
  70. package/mjs/version.mjs +1 -1
  71. package/package.json +2 -2
  72. package/src/Cache.ts +4 -4
  73. package/src/DiscordGateway/DiscordWS.ts +2 -2
  74. package/src/DiscordGateway/Shard/StateStore.ts +46 -0
  75. package/src/DiscordGateway/Shard/heartbeats.ts +8 -7
  76. package/src/DiscordGateway/Shard/identify.ts +10 -18
  77. package/src/DiscordGateway/Shard/utils.ts +1 -28
  78. package/src/DiscordGateway/Shard.ts +55 -52
  79. package/src/DiscordGateway/Sharder.ts +1 -1
  80. package/src/Helpers/ui.ts +15 -0
  81. package/src/Interactions/gateway.ts +1 -1
  82. package/src/gateway.ts +2 -0
  83. package/src/types.ts +168 -3
  84. package/src/version.ts +1 -1
  85. package/types.d.ts +134 -4
  86. package/types.d.ts.map +1 -1
  87. package/types.js +46 -3
  88. package/types.js.map +1 -1
  89. package/version.d.ts +1 -1
  90. package/version.js +1 -1
  91. package/src/DiscordGateway/Shard/invalidSession.ts +0 -11
package/Cache.js CHANGED
@@ -67,7 +67,7 @@ const makeWithParent = ({
67
67
  onParentMiss,
68
68
  ops = Stream.empty
69
69
  }) => Effect.gen(function* () {
70
- yield Stream.runDrain(Stream.tap(ops, op => {
70
+ yield* Stream.runDrain(Stream.tap(ops, op => {
71
71
  switch (op.op) {
72
72
  case "create":
73
73
  case "update":
@@ -78,7 +78,7 @@ const makeWithParent = ({
78
78
  return driver.parentDelete(op.parentId);
79
79
  }
80
80
  })).pipe(Effect.tapErrorCause(_ => Effect.logError("ops error, restarting", _)), Effect.retry(retryPolicy), Effect.forkScoped, Effect.interruptible);
81
- yield driver.run.pipe(Effect.tapErrorCause(_ => Effect.logError("cache driver error, restarting", _)), Effect.retry(retryPolicy), Effect.forkScoped, Effect.interruptible);
81
+ yield* driver.run.pipe(Effect.tapErrorCause(_ => Effect.logError("cache driver error, restarting", _)), Effect.retry(retryPolicy), Effect.forkScoped, Effect.interruptible);
82
82
  const get = (parentId, id) => Effect.flatMap(driver.get(parentId, id), Option.match({
83
83
  onNone: () => Effect.tap(onMiss(parentId, id), a => driver.set(parentId, id, a)),
84
84
  onSome: Effect.succeed
@@ -108,7 +108,7 @@ const make = ({
108
108
  onMiss,
109
109
  ops = Stream.empty
110
110
  }) => Effect.gen(function* () {
111
- yield Stream.runDrain(Stream.tap(ops, op => {
111
+ yield* Stream.runDrain(Stream.tap(ops, op => {
112
112
  switch (op.op) {
113
113
  case "create":
114
114
  case "update":
@@ -117,7 +117,7 @@ const make = ({
117
117
  return driver.delete(op.resourceId);
118
118
  }
119
119
  })).pipe(Effect.tapErrorCause(_ => Effect.logError("ops error, restarting", _)), Effect.retry(retryPolicy), Effect.forkScoped, Effect.interruptible);
120
- yield driver.run.pipe(Effect.tapErrorCause(_ => Effect.logError("cache driver error, restarting", _)), Effect.retry(retryPolicy), Effect.forkScoped, Effect.interruptible);
120
+ yield* driver.run.pipe(Effect.tapErrorCause(_ => Effect.logError("cache driver error, restarting", _)), Effect.retry(retryPolicy), Effect.forkScoped, Effect.interruptible);
121
121
  const get = id => Effect.flatMap(driver.get(id), Option.match({
122
122
  onNone: () => Effect.tap(onMiss(id), a => driver.set(id, a)),
123
123
  onSome: Effect.succeed
package/Cache.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Cache.js","names":["_Error","require","Effect","_interopRequireWildcard","Option","Schedule","Stream","_driver","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_memory","_memoryTTL","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","retryPolicy","exponential","pipe","union","spaced","makeWithParent","driver","id","onMiss","onParentMiss","ops","empty","gen","runDrain","tap","op","parentId","resourceId","resource","delete","parentDelete","tapErrorCause","_","logError","retry","forkScoped","interruptible","run","flatMap","match","onNone","onSome","succeed","put","update","f","getForParent","entries","all","map","concurrency","Map","annotateLogs","package","service","make","CacheErrorTypeId","Symbol","for","CacheMissError","TypeIdError","message","cacheName"],"sources":["./src/Cache.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,gBAAAC,OAAA;AAEA,IAAAC,MAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,MAAA,gBAAAD,uBAAA,eAAAF,OAAA;AACA,IAAAI,QAAA,gBAAAF,uBAAA,eAAAF,OAAA;AAEA,IAAAK,MAAA,gBAAAH,uBAAA,eAAAF,OAAA;AAEA,IAAAM,OAAA,gBAAAN,OAAA;AAAAO,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,OAAA,gBAAAnB,OAAA;AAIA,IAAAoB,UAAA,gBAAApB,OAAA;AAG4B,SAAAqB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAApB,wBAAAoB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAP,GAAA,CAAAI,CAAA,OAAAO,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAxB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAyB,wBAAA,WAAAC,CAAA,IAAAX,CAAA,oBAAAW,CAAA,OAAArB,cAAA,CAAAC,IAAA,CAAAS,CAAA,EAAAW,CAAA,SAAAC,CAAA,GAAAH,CAAA,GAAAxB,MAAA,CAAAyB,wBAAA,CAAAV,CAAA,EAAAW,CAAA,UAAAC,CAAA,KAAAA,CAAA,CAAAhB,GAAA,IAAAgB,CAAA,CAAAC,GAAA,IAAA5B,MAAA,CAAAS,cAAA,CAAAa,CAAA,EAAAI,CAAA,EAAAC,CAAA,IAAAL,CAAA,CAAAI,CAAA,IAAAX,CAAA,CAAAW,CAAA,YAAAJ,CAAA,CAAAF,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAU,GAAA,CAAAb,CAAA,EAAAO,CAAA,GAAAA,CAAA;AAa5B,MAAMO,WAAW,gBAAGhC,QAAQ,CAACiC,WAAW,CAAC,YAAY,CAAC,CAACC,IAAI,eACzDlC,QAAQ,CAACmC,KAAK,eAACnC,QAAQ,CAACoC,MAAM,CAAC,YAAY,CAAC,CAAC,CAC9C;AAkCM,MAAMC,cAAc,GAAGA,CAAkC;EAC9DC,MAAM;EACNC,EAAE;EACFC,MAAM;EACNC,YAAY;EACZC,GAAG,GAAGzC,MAAM,CAAC0C;AAAK,CASnB,KACC9C,MAAM,CAAC+C,GAAG,CAAC,aAAS;EAClB,MAAM3C,MAAM,CAAC4C,QAAQ,CACnB5C,MAAM,CAAC6C,GAAG,CAACJ,GAAG,EAAGK,EAAE,IAAkC;IACnD,QAAQA,EAAE,CAACA,EAAE;MACX,KAAK,QAAQ;MACb,KAAK,QAAQ;QACX,OAAOT,MAAM,CAACP,GAAG,CAACgB,EAAE,CAACC,QAAQ,EAAED,EAAE,CAACE,UAAU,EAAEF,EAAE,CAACG,QAAQ,CAAC;MAE5D,KAAK,QAAQ;QACX,OAAOZ,MAAM,CAACa,MAAM,CAACJ,EAAE,CAACC,QAAQ,EAAED,EAAE,CAACE,UAAU,CAAC;MAElD,KAAK,cAAc;QACjB,OAAOX,MAAM,CAACc,YAAY,CAACL,EAAE,CAACC,QAAQ,CAAC;IAC3C;EACF,CAAC,CAAC,CACH,CAACd,IAAI,CACJrC,MAAM,CAACwD,aAAa,CAACC,CAAC,IAAIzD,MAAM,CAAC0D,QAAQ,CAAC,uBAAuB,EAAED,CAAC,CAAC,CAAC,EACtEzD,MAAM,CAAC2D,KAAK,CAACxB,WAAW,CAAC,EACzBnC,MAAM,CAAC4D,UAAU,EACjB5D,MAAM,CAAC6D,aAAa,CACrB;EACD,MAAMpB,MAAM,CAACqB,GAAG,CAACzB,IAAI,CACnBrC,MAAM,CAACwD,aAAa,CAACC,CAAC,IACpBzD,MAAM,CAAC0D,QAAQ,CAAC,gCAAgC,EAAED,CAAC,CAAC,CACrD,EACDzD,MAAM,CAAC2D,KAAK,CAACxB,WAAW,CAAC,EACzBnC,MAAM,CAAC4D,UAAU,EACjB5D,MAAM,CAAC6D,aAAa,CACrB;EAED,MAAM5C,GAAG,GAAGA,CAACkC,QAAgB,EAAET,EAAU,KACvC1C,MAAM,CAAC+D,OAAO,CACZtB,MAAM,CAACxB,GAAG,CAACkC,QAAQ,EAAET,EAAE,CAAC,EACxBxC,MAAM,CAAC8D,KAAK,CAAC;IACXC,MAAM,EAAEA,CAAA,KACNjE,MAAM,CAACiD,GAAG,CAACN,MAAM,CAACQ,QAAQ,EAAET,EAAE,CAAC,EAAEZ,CAAC,IAAIW,MAAM,CAACP,GAAG,CAACiB,QAAQ,EAAET,EAAE,EAAEZ,CAAC,CAAC,CAAC;IACpEoC,MAAM,EAAElE,MAAM,CAACmE;GAChB,CAAC,CACH;EAEH,MAAMC,GAAG,GAAIX,CAAI,IACfzD,MAAM,CAAC+D,OAAO,CAACrB,EAAE,CAACe,CAAC,CAAC,EAAE,CAAC,CAACN,QAAQ,EAAET,EAAE,CAAC,KAAKD,MAAM,CAACP,GAAG,CAACiB,QAAQ,EAAET,EAAE,EAAEe,CAAC,CAAC,CAAC;EAExE,MAAMY,MAAM,GAAGA,CACblB,QAAgB,EAChBT,EAAU,EACV4B,CAAmC,KAEnCrD,GAAG,CAACkC,QAAQ,EAAET,EAAE,CAAC,CAACL,IAAI,CACpBrC,MAAM,CAAC+D,OAAO,CAACO,CAAC,CAAC,EACjBtE,MAAM,CAACiD,GAAG,CAACQ,CAAC,IAAIhB,MAAM,CAACP,GAAG,CAACiB,QAAQ,EAAET,EAAE,EAAEe,CAAC,CAAC,CAAC,CAC7C;EAEH,OAAO;IACL,GAAGhB,MAAM;IAETxB,GAAG;IACHmD,GAAG;IACHC,MAAM;IAENE,YAAY,EAAGpB,QAAgB,IAC7BnD,MAAM,CAAC+D,OAAO,CACZtB,MAAM,CAAC8B,YAAY,CAACpB,QAAQ,CAAC,EAC7BjD,MAAM,CAAC8D,KAAK,CAAC;MACXC,MAAM,EAAEA,CAAA,KACNrB,YAAY,CAACO,QAAQ,CAAC,CAACd,IAAI,CACzBrC,MAAM,CAACiD,GAAG,CAACuB,OAAO,IAChBxE,MAAM,CAACyE,GAAG,CACRD,OAAO,CAACE,GAAG,CAAC,CAAC,CAAChC,EAAE,EAAEZ,CAAC,CAAC,KAAKW,MAAM,CAACP,GAAG,CAACiB,QAAQ,EAAET,EAAE,EAAEZ,CAAC,CAAC,CAAC,EACrD;QAAE6C,WAAW,EAAE;MAAW,CAAE,CAC7B,CACF,EACD3E,MAAM,CAAC0E,GAAG,CACRF,OAAO,IAAI,IAAII,GAAG,CAACJ,OAAO,CAA2B,CACtD,CACF;MACHN,MAAM,EAAElE,MAAM,CAACmE;KAChB,CAAC;GAEE;AACZ,CAAC,CAAC,CAAC9B,IAAI,CACLrC,MAAM,CAAC6E,YAAY,CAAC;EAClBC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE;CACV,CAAC,CACH;AAAAjE,OAAA,CAAA0B,cAAA,GAAAA,cAAA;AAkBI,MAAMwC,IAAI,GAAGA,CAA0B;EAC5CvC,MAAM;EACNC,EAAE;EACFC,MAAM;EACNE,GAAG,GAAGzC,MAAM,CAAC0C;AAAK,CAMnB,KACC9C,MAAM,CAAC+C,GAAG,CAAC,aAAS;EAClB,MAAM3C,MAAM,CAAC4C,QAAQ,CACnB5C,MAAM,CAAC6C,GAAG,CAACJ,GAAG,EAAGK,EAAE,IAAkC;IACnD,QAAQA,EAAE,CAACA,EAAE;MACX,KAAK,QAAQ;MACb,KAAK,QAAQ;QACX,OAAOT,MAAM,CAACP,GAAG,CAACgB,EAAE,CAACE,UAAU,EAAEF,EAAE,CAACG,QAAQ,CAAC;MAE/C,KAAK,QAAQ;QACX,OAAOZ,MAAM,CAACa,MAAM,CAACJ,EAAE,CAACE,UAAU,CAAC;IACvC;EACF,CAAC,CAAC,CACH,CAACf,IAAI,CACJrC,MAAM,CAACwD,aAAa,CAACC,CAAC,IAAIzD,MAAM,CAAC0D,QAAQ,CAAC,uBAAuB,EAAED,CAAC,CAAC,CAAC,EACtEzD,MAAM,CAAC2D,KAAK,CAACxB,WAAW,CAAC,EACzBnC,MAAM,CAAC4D,UAAU,EACjB5D,MAAM,CAAC6D,aAAa,CACrB;EAED,MAAMpB,MAAM,CAACqB,GAAG,CAACzB,IAAI,CACnBrC,MAAM,CAACwD,aAAa,CAACC,CAAC,IACpBzD,MAAM,CAAC0D,QAAQ,CAAC,gCAAgC,EAAED,CAAC,CAAC,CACrD,EACDzD,MAAM,CAAC2D,KAAK,CAACxB,WAAW,CAAC,EACzBnC,MAAM,CAAC4D,UAAU,EACjB5D,MAAM,CAAC6D,aAAa,CACrB;EAED,MAAM5C,GAAG,GAAIyB,EAAU,IACrB1C,MAAM,CAAC+D,OAAO,CACZtB,MAAM,CAACxB,GAAG,CAACyB,EAAE,CAAC,EACdxC,MAAM,CAAC8D,KAAK,CAAC;IACXC,MAAM,EAAEA,CAAA,KAAMjE,MAAM,CAACiD,GAAG,CAACN,MAAM,CAACD,EAAE,CAAC,EAAEZ,CAAC,IAAIW,MAAM,CAACP,GAAG,CAACQ,EAAE,EAAEZ,CAAC,CAAC,CAAC;IAC5DoC,MAAM,EAAElE,MAAM,CAACmE;GAChB,CAAC,CACH;EAEH,MAAMC,GAAG,GAAIX,CAAI,IAAKhB,MAAM,CAACP,GAAG,CAACQ,EAAE,CAACe,CAAC,CAAC,EAAEA,CAAC,CAAC;EAE1C,MAAMY,MAAM,GAAGA,CAAO3B,EAAU,EAAE4B,CAAmC,KACnErD,GAAG,CAACyB,EAAE,CAAC,CAACL,IAAI,CACVrC,MAAM,CAAC+D,OAAO,CAACO,CAAC,CAAC,EACjBtE,MAAM,CAACiD,GAAG,CAACQ,CAAC,IAAIhB,MAAM,CAACP,GAAG,CAACQ,EAAE,EAAEe,CAAC,CAAC,CAAC,CACnC;EAEH,OAAO;IACL,GAAGhB,MAAM;IACTxB,GAAG;IACHmD,GAAG;IACHC;GACQ;AACZ,CAAC,CAAC,CAAChC,IAAI,CACLrC,MAAM,CAAC6E,YAAY,CAAC;EAClBC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE;CACV,CAAC,CACH;AAAAjE,OAAA,CAAAkE,IAAA,GAAAA,IAAA;AAEI,MAAMC,gBAAgB,GAAAnE,OAAA,CAAAmE,gBAAA,gBAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAE5D,MAAOC,cAAe,SAAQ,IAAAC,kBAAW,EAC7CJ,gBAAgB,EAChB,gBAAgB,CAIhB;EACA,IAAIK,OAAOA,CAAA;IACT,OAAO,mBAAmB,IAAI,CAACC,SAAS,cAAc,IAAI,CAAC7C,EAAE,EAAE;EACjE;;AACD5B,OAAA,CAAAsE,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"Cache.js","names":["_Error","require","Effect","_interopRequireWildcard","Option","Schedule","Stream","_driver","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_memory","_memoryTTL","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","retryPolicy","exponential","pipe","union","spaced","makeWithParent","driver","id","onMiss","onParentMiss","ops","empty","gen","runDrain","tap","op","parentId","resourceId","resource","delete","parentDelete","tapErrorCause","_","logError","retry","forkScoped","interruptible","run","flatMap","match","onNone","onSome","succeed","put","update","f","getForParent","entries","all","map","concurrency","Map","annotateLogs","package","service","make","CacheErrorTypeId","Symbol","for","CacheMissError","TypeIdError","message","cacheName"],"sources":["./src/Cache.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -37,13 +37,13 @@ const make = /*#__PURE__*/Effect.gen(function* () {
37
37
  openTimeout: 5000
38
38
  });
39
39
  const write = yield* socket.writer;
40
- yield outbound.pipe(Effect.flatMap(_ => {
40
+ yield* outbound.pipe(Effect.flatMap(_ => {
41
41
  if (_ === Reconnect) {
42
42
  return Effect.zipRight(Effect.logTrace("Reconnecting"), write(new Socket.CloseEvent(1012, "reconnecting")));
43
43
  }
44
44
  return Effect.zipRight(Effect.logTrace(_), write(encoding.encode(_)));
45
45
  }), Effect.forever, Effect.annotateLogs("channel", "outbound"), Effect.forkScoped, Effect.interruptible);
46
- yield onConnecting.pipe(Effect.zipRight(socket.runRaw(_ => {
46
+ yield* onConnecting.pipe(Effect.zipRight(socket.runRaw(_ => {
47
47
  const message = encoding.decode(_);
48
48
  return Effect.zipRight(Effect.logTrace(message), messages.offer(message));
49
49
  })), Effect.retry({
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordWS.js","names":["_Context","require","Effect","_interopRequireWildcard","Layer","Ref","Socket","Queue","Schedule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Reconnect","exports","Symbol","for","decoder","TextDecoder","DiscordWSCodec","GenericTag","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","messages","unbounded","socket","makeWebSocket","closeCodeIsError","_","openTimeout","write","writer","pipe","flatMap","zipRight","logTrace","CloseEvent","forever","annotateLogs","forkScoped","interruptible","runRaw","message","offer","retry","while","reason","code","catchAllCause","cause","logDebug","repeat","exponential","union","spaced","take","module","DiscordWS","DiscordWSLive","effect"],"sources":["../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DiscordWS.js","names":["_Context","require","Effect","_interopRequireWildcard","Layer","Ref","Socket","Queue","Schedule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Reconnect","exports","Symbol","for","decoder","TextDecoder","DiscordWSCodec","GenericTag","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","messages","unbounded","socket","makeWebSocket","closeCodeIsError","_","openTimeout","write","writer","pipe","flatMap","zipRight","logTrace","CloseEvent","forever","annotateLogs","forkScoped","interruptible","runRaw","message","offer","retry","while","reason","code","catchAllCause","cause","logDebug","repeat","exponential","union","spaced","take","module","DiscordWS","DiscordWSLive","effect"],"sources":["../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Option from "effect/Option";
3
+ import * as Context from "effect/Context";
4
+ import * as Layer from "effect/Layer";
5
+ export interface ShardState {
6
+ readonly resumeUrl: string;
7
+ readonly sequence: number | null;
8
+ readonly sessionId: string;
9
+ }
10
+ export interface ShardStateStore {
11
+ readonly _: unique symbol;
12
+ }
13
+ export interface StateStore {
14
+ readonly get: Effect.Effect<Option.Option<ShardState>>;
15
+ readonly set: (state: ShardState) => Effect.Effect<void>;
16
+ readonly clear: Effect.Effect<void>;
17
+ }
18
+ export declare const ShardStateStore: Context.Tag<ShardStateStore, {
19
+ readonly forShard: (id: [
20
+ id: number,
21
+ count: number
22
+ ]) => StateStore;
23
+ }>;
24
+ export declare const MemoryShardStateStoreLive: Layer.Layer<ShardStateStore, never, never>;
25
+ //# sourceMappingURL=StateStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateStore.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/StateStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACtD,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACpC;AAED,eAAO,MAAM,eAAe;uBAEL,CAAC,EAAE,EAAE;QAAC,EAAE,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC,KAAK,UAAU;EAC7C,CAAA;AAEzB,eAAO,MAAM,yBAAyB,4CAmBpC,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ShardStateStore = exports.MemoryShardStateStoreLive = void 0;
7
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
8
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
9
+ var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));
10
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ const ShardStateStore = exports.ShardStateStore = /*#__PURE__*/Context.GenericTag("dfx/Shard/StateStore");
14
+ const MemoryShardStateStoreLive = exports.MemoryShardStateStoreLive = /*#__PURE__*/Layer.sync(ShardStateStore, () => {
15
+ const store = new Map();
16
+ return ShardStateStore.of({
17
+ forShard: ([id, count]) => {
18
+ const key = `${id}-${count}`;
19
+ return {
20
+ get: Effect.sync(() => Option.fromNullable(store.get(key))),
21
+ set(state) {
22
+ return Effect.sync(() => {
23
+ store.set(key, state);
24
+ });
25
+ },
26
+ clear: Effect.sync(() => {
27
+ store.delete(key);
28
+ })
29
+ };
30
+ }
31
+ });
32
+ });
33
+ //# sourceMappingURL=StateStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateStore.js","names":["Effect","_interopRequireWildcard","require","Option","Context","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardStateStore","exports","GenericTag","MemoryShardStateStoreLive","sync","store","Map","of","forShard","id","count","key","fromNullable","state","clear","delete"],"sources":["../../src/DiscordGateway/Shard/StateStore.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,OAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,KAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAAqC,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAkB9B,MAAMW,eAAe,GAAAC,OAAA,CAAAD,eAAA,gBAAGtB,OAAO,CAACwB,UAAU,CAG/C,sBAAsB,CAAC;AAElB,MAAMC,yBAAyB,GAAAF,OAAA,CAAAE,yBAAA,gBAAGxB,KAAK,CAACyB,IAAI,CAACJ,eAAe,EAAE,MAAK;EACxE,MAAMK,KAAK,GAAG,IAAIC,GAAG,EAAsB;EAE3C,OAAON,eAAe,CAACO,EAAE,CAAC;IACxBC,QAAQ,EAAEA,CAAC,CAACC,EAAE,EAAEC,KAAK,CAAC,KAAI;MACxB,MAAMC,GAAG,GAAG,GAAGF,EAAE,IAAIC,KAAK,EAAE;MAC5B,OAAO;QACLtB,GAAG,EAAEd,MAAM,CAAC8B,IAAI,CAAC,MAAM3B,MAAM,CAACmC,YAAY,CAACP,KAAK,CAACjB,GAAG,CAACuB,GAAG,CAAC,CAAC,CAAC;QAC3DZ,GAAGA,CAACc,KAAK;UACP,OAAOvC,MAAM,CAAC8B,IAAI,CAAC,MAAK;YACtBC,KAAK,CAACN,GAAG,CAACY,GAAG,EAAEE,KAAK,CAAC;UACvB,CAAC,CAAC;QACJ,CAAC;QACDC,KAAK,EAAExC,MAAM,CAAC8B,IAAI,CAAC,MAAK;UACtBC,KAAK,CAACU,MAAM,CAACJ,GAAG,CAAC;QACnB,CAAC;OACF;IACH;GACD,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import * as Option from "effect/Option";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Queue from "effect/Queue";
4
- import * as Ref from "effect/Ref";
5
4
  import * as DiscordWS from "dfx/DiscordGateway/DiscordWS";
6
5
  import type * as Discord from "dfx/types";
7
- export declare const send: (hellos: Queue.Dequeue<Discord.GatewayPayload>, acks: Queue.Dequeue<Discord.GatewayPayload>, seqRef: Ref.Ref<Option.Option<number>>, send: (p: DiscordWS.Message) => Effect.Effect<boolean>) => Effect.Effect<void, never, never>;
6
+ import type { ShardState } from "dfx/DiscordGateway/Shard/StateStore";
7
+ export declare const send: (hellos: Queue.Dequeue<Discord.GatewayPayload>, acks: Queue.Dequeue<Discord.GatewayPayload>, state: Effect.Effect<Option.Option<ShardState>>, send: (p: DiscordWS.Message) => Effect.Effect<boolean>) => Effect.Effect<void, never, never>;
8
8
  //# sourceMappingURL=heartbeats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeats.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AAEjC,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAEzD,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAkBzC,eAAO,MAAM,IAAI,WACP,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,QACvC,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,UACnC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAChC,CAAC,CAAC,EAAE,UAAU,OAAO,KAAK,OAAO,MAAM,CAAC,OAAO,CAAC,sCA6BpD,CAAA"}
1
+ {"version":3,"file":"heartbeats.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAEzD,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAiBrE,eAAO,MAAM,IAAI,WACP,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,QACvC,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,SACpC,OAAO,MAAM,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,QACzC,CAAC,CAAC,EAAE,UAAU,OAAO,KAAK,OAAO,MAAM,CAAC,OAAO,CAAC,sCA6BpD,CAAA"}
@@ -15,10 +15,10 @@ var SendEvents = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx
15
15
  var EffectU = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/utils/Effect"));
16
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
- const payload = seqRef => Effect.map(Ref.get(seqRef), seq => SendEvents.heartbeat(Option.getOrNull(seq)));
19
- const payloadOrReconnect = (ref, seqRef) => Effect.flatMap(Ref.get(ref), acked => acked ? payload(seqRef) : Effect.succeed(DiscordWS.Reconnect));
20
- const send = (hellos, acks, seqRef, send) => Effect.flatMap(Ref.make(true), ackedRef => {
21
- const heartbeats = EffectU.foreverSwitch(Effect.zipLeft(Queue.take(hellos), Ref.set(ackedRef, true)), p => payloadOrReconnect(ackedRef, seqRef).pipe(Effect.zipLeft(Ref.set(ackedRef, false)), Effect.tap(send), Effect.schedule(Schedule.andThen(Schedule.duration(Duration.millis(p.d.heartbeat_interval * Math.random())), Schedule.spaced(Duration.millis(p.d.heartbeat_interval))))));
18
+ const payload = state => Effect.map(state, state => SendEvents.heartbeat(Option.getOrNull(Option.map(state, s => s.sequence))));
19
+ const payloadOrReconnect = (ref, state) => Effect.flatMap(Ref.get(ref), acked => acked ? payload(state) : Effect.succeed(DiscordWS.Reconnect));
20
+ const send = (hellos, acks, state, send) => Effect.flatMap(Ref.make(true), ackedRef => {
21
+ const heartbeats = EffectU.foreverSwitch(Effect.zipLeft(Queue.take(hellos), Ref.set(ackedRef, true)), p => payloadOrReconnect(ackedRef, state).pipe(Effect.zipLeft(Ref.set(ackedRef, false)), Effect.tap(send), Effect.schedule(Schedule.andThen(Schedule.duration(Duration.millis(p.d.heartbeat_interval * Math.random())), Schedule.spaced(Duration.millis(p.d.heartbeat_interval))))));
22
22
  const run = Queue.take(acks).pipe(Effect.zipLeft(Ref.set(ackedRef, true)), Effect.forever);
23
23
  return Effect.all([run, heartbeats], {
24
24
  concurrency: "unbounded",
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeats.js","names":["Duration","_interopRequireWildcard","require","Option","Effect","Queue","Ref","Schedule","DiscordWS","SendEvents","EffectU","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","payload","seqRef","map","seq","heartbeat","getOrNull","payloadOrReconnect","ref","flatMap","acked","succeed","Reconnect","send","hellos","acks","make","ackedRef","heartbeats","foreverSwitch","zipLeft","take","p","pipe","tap","schedule","andThen","duration","millis","d","heartbeat_interval","Math","random","spaced","run","forever","all","concurrency","discard","exports"],"sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"heartbeats.js","names":["Duration","_interopRequireWildcard","require","Option","Effect","Queue","Ref","Schedule","DiscordWS","SendEvents","EffectU","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","payload","state","map","heartbeat","getOrNull","s","sequence","payloadOrReconnect","ref","flatMap","acked","succeed","Reconnect","send","hellos","acks","make","ackedRef","heartbeats","foreverSwitch","zipLeft","take","p","pipe","tap","schedule","andThen","duration","millis","d","heartbeat_interval","Math","random","spaced","run","forever","all","concurrency","discard","exports"],"sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,12 @@
1
1
  import * as Option from "effect/Option";
2
2
  import * as Effect from "effect/Effect";
3
- import * as Ref from "effect/Ref";
4
3
  import type * as Discord from "dfx/types";
4
+ import type { ShardState } from "dfx/DiscordGateway/Shard/StateStore";
5
5
  export interface Options {
6
6
  readonly token: string;
7
7
  readonly intents: number;
8
8
  readonly shard: [number, number];
9
9
  readonly presence?: Discord.UpdatePresence;
10
10
  }
11
- export interface Requirements {
12
- readonly latestReady: Ref.Ref<Option.Option<Discord.ReadyEvent>>;
13
- readonly latestSequence: Ref.Ref<Option.Option<number>>;
14
- }
15
- export declare const identifyOrResume: (opts: Options, ready: Ref.Ref<Option.Option<Discord.ReadyEvent>>, seq: Ref.Ref<Option.Option<number>>) => Effect.Effect<Discord.GatewayPayload<Discord.Identify> | Discord.GatewayPayload<Discord.Resume>>;
11
+ export declare const identifyOrResume: (opts: Options, state: Effect.Effect<Option.Option<ShardState>>) => Effect.Effect<Discord.GatewayPayload<Discord.Identify> | Discord.GatewayPayload<Discord.Resume>>;
16
12
  //# sourceMappingURL=identify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identify.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/identify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AAEjC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAGzC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAA;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IAChE,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;CACxD;AAsBD,eAAO,MAAM,gBAAgB,SACrB,OAAO,SACN,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,QAAQ,UAAU,CAAC,CAAC,OAC5C,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAClC,OAAO,MAAM,CACZ,QAAQ,cAAc,CAAC,QAAQ,QAAQ,CAAC,GACxC,QAAQ,cAAc,CAAC,QAAQ,MAAM,CAAC,CAUvC,CAAA"}
1
+ {"version":3,"file":"identify.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/identify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAErE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAA;CAC3C;AAsBD,eAAO,MAAM,gBAAgB,SACrB,OAAO,SACN,OAAO,MAAM,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,KAC9C,OAAO,MAAM,CACZ,QAAQ,cAAc,CAAC,QAAQ,QAAQ,CAAC,GACxC,QAAQ,cAAc,CAAC,QAAQ,MAAM,CAAC,CAQvC,CAAA"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.identifyOrResume = void 0;
7
7
  var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
8
8
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
9
- var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Ref"));
10
9
  var SendEvents = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/sendEvents"));
11
10
  var OS = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("os"));
12
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -27,20 +26,14 @@ const identify = ({
27
26
  shard,
28
27
  presence
29
28
  });
30
- const resume = (token, ready, seq) => SendEvents.resume({
29
+ const resume = (token, session_id, seq) => SendEvents.resume({
31
30
  token,
32
- session_id: ready.session_id,
33
- seq
31
+ session_id,
32
+ seq: seq
34
33
  });
35
- const identifyOrResume = (opts, ready, seq) => Effect.map(Effect.all([Ref.get(ready), Ref.get(seq)]), ([readyEvent, seqNumber]) => Option.match(Option.all({
36
- readyEvent,
37
- seqNumber
38
- }), {
34
+ const identifyOrResume = (opts, state) => Effect.map(state, Option.match({
39
35
  onNone: () => identify(opts),
40
- onSome: ({
41
- readyEvent,
42
- seqNumber
43
- }) => resume(opts.token, readyEvent, seqNumber)
36
+ onSome: state => resume(opts.token, state.sessionId, state.sequence)
44
37
  }));
45
38
  exports.identifyOrResume = identifyOrResume;
46
39
  //# sourceMappingURL=identify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identify.js","names":["Option","_interopRequireWildcard","require","Effect","Ref","SendEvents","OS","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","identify","intents","presence","shard","token","properties","os","platform","browser","device","resume","ready","seq","session_id","identifyOrResume","opts","map","all","readyEvent","seqNumber","match","onNone","onSome","exports"],"sources":["../../src/DiscordGateway/Shard/identify.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"identify.js","names":["Option","_interopRequireWildcard","require","Effect","SendEvents","OS","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","identify","intents","presence","shard","token","properties","os","platform","browser","device","resume","session_id","seq","identifyOrResume","opts","state","map","match","onNone","onSome","sessionId","sequence","exports"],"sources":["../../src/DiscordGateway/Shard/identify.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,UAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAEA,IAAAG,EAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAAwB,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAUxB,MAAMW,QAAQ,GAAGA,CAAC;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAK,CAAW,KAC5D1B,UAAU,CAACsB,QAAQ,CAAC;EAClBI,KAAK;EACLH,OAAO;EACPI,UAAU,EAAE;IACVC,EAAE,EAAE3B,EAAE,CAAC4B,QAAQ,EAAE;IACjBC,OAAO,EAAE,KAAK;IACdC,MAAM,EAAE;GACT;EACDN,KAAK;EACLD;CACD,CAAC;AAEJ,MAAMQ,MAAM,GAAGA,CAACN,KAAa,EAAEO,UAAkB,EAAEC,GAAkB,KACnElC,UAAU,CAACgC,MAAM,CAAC;EAChBN,KAAK;EACLO,UAAU;EACVC,GAAG,EAAEA;CACN,CAAC;AAEG,MAAMC,gBAAgB,GAAGA,CAC9BC,IAAa,EACbC,KAA+C,KAK/CtC,MAAM,CAACuC,GAAG,CACRD,KAAK,EACLzC,MAAM,CAAC2C,KAAK,CAAC;EACXC,MAAM,EAAEA,CAAA,KAAMlB,QAAQ,CAACc,IAAI,CAAC;EAC5BK,MAAM,EAAEJ,KAAK,IAAIL,MAAM,CAACI,IAAI,CAACV,KAAK,EAAEW,KAAK,CAACK,SAAS,EAAEL,KAAK,CAACM,QAAQ;CACpE,CAAC,CACH;AAAAC,OAAA,CAAAT,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -1,11 +1,4 @@
1
- import * as Option from "effect/Option";
2
- import * as Effect from "effect/Effect";
3
- import * as Ref from "effect/Ref";
4
- import * as Stream from "effect/Stream";
5
1
  import type * as Discord from "dfx/types";
2
+ import * as Stream from "effect/Stream";
6
3
  export declare const opCode: <R, E>(source: Stream.Stream<Discord.GatewayPayload, E, R>) => <T = any>(code: Discord.GatewayOpcode) => Stream.Stream<Discord.GatewayPayload<T>, E, R>;
7
- export declare const latest: <T>(f: (p: Discord.GatewayPayload) => Option.Option<T>) => Effect.Effect<readonly [
8
- Ref.Ref<Option.Option<T>>,
9
- (_: Discord.GatewayPayload<any>) => Effect.Effect<void>
10
- ]>;
11
4
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAEzC,eAAO,MAAM,MAAM,iBACF,OAAO,MAAM,CAAC,QAAQ,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,qBAElD,QAAQ,aAAa,KAC1B,OAAO,MAAM,CAAC,QAAQ,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAG7C,CAAA;AAaL,eAAO,MAAM,MAAM,SACd,CAAC,CAAC,EAAE,QAAQ,cAAc,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,KACjD,OAAO,MAAM,CACd,SAAS;IACP,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,EAAE,QAAQ,cAAc,CAAC,GAAG,CAAC,KAAK,OAAO,MAAM,CAAC,IAAI,CAAC;CACxD,CAKA,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,MAAM,iBACF,OAAO,MAAM,CAAC,QAAQ,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,qBAElD,QAAQ,aAAa,KAC1B,OAAO,MAAM,CAAC,QAAQ,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAG7C,CAAA"}
@@ -3,19 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.opCode = exports.latest = void 0;
7
- var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
8
- var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
9
- var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Ref"));
6
+ exports.opCode = void 0;
10
7
  var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Stream"));
11
8
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
9
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
10
  const opCode = source => code => source.pipe(Stream.filter(p => p.op === code));
14
11
  exports.opCode = opCode;
15
- const maybeUpdateRef = (f, ref) => _ => Option.match(f(_), {
16
- onNone: () => Effect.void,
17
- onSome: a => Ref.set(ref, Option.some(a))
18
- });
19
- const latest = f => Effect.map(Ref.make(Option.none()), ref => [ref, maybeUpdateRef(f, ref)]);
20
- exports.latest = latest;
21
12
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["Option","_interopRequireWildcard","require","Effect","Ref","Stream","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","opCode","source","code","pipe","filter","p","op","exports","maybeUpdateRef","f","ref","_","match","onNone","void","onSome","some","latest","map","make","none"],"sources":["../../src/DiscordGateway/Shard/utils.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,GAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,MAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAAuC,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGhC,MAAMW,MAAM,GACVC,MAAmD,IAExDC,IAA2B,IAE3BD,MAAM,CAACE,IAAI,CACTxB,MAAM,CAACyB,MAAM,CAAEC,CAAC,IAAqCA,CAAC,CAACC,EAAE,KAAKJ,IAAI,CAAC,CACpE;AAAAK,OAAA,CAAAP,MAAA,GAAAA,MAAA;AAEL,MAAMQ,cAAc,GAClBA,CACEC,CAAkD,EAClDC,GAA8B,KAE/BC,CAAyB,IACxBrC,MAAM,CAACsC,KAAK,CAACH,CAAC,CAACE,CAAC,CAAC,EAAE;EACjBE,MAAM,EAAEA,CAAA,KAAMpC,MAAM,CAACqC,IAAI;EACzBC,MAAM,EAAExB,CAAC,IAAIb,GAAG,CAACqB,GAAG,CAACW,GAAG,EAAEpC,MAAM,CAAC0C,IAAI,CAACzB,CAAC,CAAC;CACzC,CAAC;AAEC,MAAM0B,MAAM,GACjBR,CAAkD,IAOlDhC,MAAM,CAACyC,GAAG,CACRxC,GAAG,CAACyC,IAAI,CAAmB7C,MAAM,CAAC8C,IAAI,EAAE,CAAC,EACzCV,GAAG,IAAI,CAACA,GAAG,EAAEF,cAAc,CAACC,CAAC,EAAEC,GAAG,CAAC,CAAU,CAC9C;AAAAH,OAAA,CAAAU,MAAA,GAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["Stream","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","opCode","source","code","pipe","filter","p","op","exports"],"sources":["../../src/DiscordGateway/Shard/utils.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAuC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEhC,MAAMW,MAAM,GACVC,MAAmD,IAExDC,IAA2B,IAE3BD,MAAM,CAACE,IAAI,CACT1B,MAAM,CAAC2B,MAAM,CAAEC,CAAC,IAAqCA,CAAC,CAACC,EAAE,KAAKJ,IAAI,CAAC,CACpE;AAAAK,OAAA,CAAAP,MAAA,GAAAA,MAAA","ignoreList":[]}
@@ -1,15 +1,16 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Layer from "effect/Layer";
3
1
  import { DiscordConfig } from "dfx/DiscordConfig";
4
2
  import type { Message } from "dfx/DiscordGateway/DiscordWS";
5
3
  import { DiscordWS } from "dfx/DiscordGateway/DiscordWS";
4
+ import { ShardStateStore } from "dfx/DiscordGateway/Shard/StateStore";
6
5
  import { RateLimiter } from "dfx/RateLimit";
6
+ import * as Effect from "effect/Effect";
7
+ import * as Layer from "effect/Layer";
7
8
  export declare const make: Effect.Effect<{
8
9
  readonly connect: (shard: [id: number, count: number]) => Effect.Effect<{
9
10
  readonly id: [id: number, count: number];
10
11
  readonly send: (p: Message) => Effect.Effect<boolean, never, never>;
11
12
  }, never, import("effect/Scope").Scope>;
12
- }, never, import("dfx/DiscordGateway/Messaging").Messsaging | DiscordConfig | RateLimiter | DiscordWS>;
13
+ }, never, DiscordConfig | RateLimiter | ShardStateStore | import("dfx/DiscordGateway/Messaging").Messsaging | DiscordWS>;
13
14
  type ShardService = Effect.Effect.Success<typeof make>;
14
15
  export interface Shard {
15
16
  readonly _: unique symbol;
@@ -20,7 +21,7 @@ export declare const Shard: import("effect/Context").Tag<Shard, {
20
21
  readonly send: (p: Message) => Effect.Effect<boolean, never, never>;
21
22
  }, never, import("effect/Scope").Scope>;
22
23
  }>;
23
- export declare const ShardLive: Layer.Layer<Shard, never, DiscordConfig | import("dfx/RateLimit").RateLimitStore | import("dfx/DiscordGateway/DiscordWS").DiscordWSCodec>;
24
+ export declare const ShardLive: Layer.Layer<Shard, never, DiscordConfig | import("dfx/RateLimit").RateLimitStore | ShardStateStore | import("dfx/DiscordGateway/DiscordWS").DiscordWSCodec>;
24
25
  export interface RunningShard extends Effect.Effect.Success<ReturnType<ShardService["connect"]>> {
25
26
  }
26
27
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Shard.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Shard.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,SAAS,EAGV,MAAM,8BAA8B,CAAA;AAKrC,OAAO,EAAmB,WAAW,EAAE,MAAM,eAAe,CAAA;AAU5D,eAAO,MAAM,IAAI;8BAMS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BAe9B,OAAO;;sGA4J5B,CAAA;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AAEtD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,KAAK;8BAlLQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BAe9B,OAAO;;EAmKkD,CAAA;AAChF,eAAO,MAAM,SAAS,2IAIrB,CAAA;AAED,MAAM,WAAW,YACf,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"Shard.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Shard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,SAAS,EAGV,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAGrE,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAK5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAcrC,eAAO,MAAM,IAAI;8BAOS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BAwB9B,OAAO;;wHAoJ5B,CAAA;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AAEtD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,KAAK;8BAnLQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BAwB9B,OAAO;;EA2JkD,CAAA;AAChF,eAAO,MAAM,SAAS,6JAIrB,CAAA;AAED,MAAM,WAAW,YACf,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;CAAG"}
@@ -4,26 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.make = exports.ShardLive = exports.Shard = void 0;
7
+ var _DiscordConfig = /*#__PURE__*/require("dfx/DiscordConfig");
8
+ var _DiscordWS = /*#__PURE__*/require("dfx/DiscordGateway/DiscordWS");
9
+ var _Messaging = /*#__PURE__*/require("dfx/DiscordGateway/Messaging");
10
+ var _StateStore = /*#__PURE__*/require("dfx/DiscordGateway/Shard/StateStore");
11
+ var Heartbeats = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/heartbeats"));
12
+ var Identify = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/identify"));
13
+ var _RateLimit = /*#__PURE__*/require("dfx/RateLimit");
14
+ var Discord = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/types"));
7
15
  var Chunk = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Chunk"));
8
16
  var _Context = /*#__PURE__*/require("effect/Context");
9
17
  var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Duration"));
18
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
10
19
  var _Function = /*#__PURE__*/require("effect/Function");
20
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
11
21
  var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
12
- var Secret = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Secret"));
13
- var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
14
22
  var PubSub = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/PubSub"));
15
- var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
16
23
  var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Queue"));
17
24
  var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Ref"));
18
- var _DiscordConfig = /*#__PURE__*/require("dfx/DiscordConfig");
19
- var _DiscordWS = /*#__PURE__*/require("dfx/DiscordGateway/DiscordWS");
20
- var Heartbeats = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/heartbeats"));
21
- var Identify = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/identify"));
22
- var InvalidSession = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/invalidSession"));
23
- var Utils = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/utils"));
24
- var _RateLimit = /*#__PURE__*/require("dfx/RateLimit");
25
- var Discord = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/types"));
26
- var _Messaging = /*#__PURE__*/require("dfx/DiscordGateway/Messaging");
25
+ var Secret = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Secret"));
27
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
28
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
29
28
  const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
@@ -37,10 +36,17 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
37
36
  hub,
38
37
  sendQueue
39
38
  } = yield* _Messaging.Messaging;
40
- const connect = shard => Effect.gen(function* () {
39
+ const shardState = yield* _StateStore.ShardStateStore;
40
+ const connect = shard => Effect.gen(function* (_) {
41
41
  const outboundQueue = yield* Queue.unbounded();
42
42
  const pendingQueue = yield* Queue.unbounded();
43
43
  const phase = yield* Ref.make(0 /* Phase.Connecting */);
44
+ const stateStore = shardState.forShard(shard);
45
+ const resumeState = Option.getOrElse(yield* stateStore.get, () => ({
46
+ resumeUrl: "",
47
+ sessionId: "",
48
+ sequence: 0
49
+ }));
44
50
  const setPhase = p => Effect.zipLeft(Ref.set(phase, p), Effect.annotateLogs(Effect.logTrace("phase transition"), "phase", p));
45
51
  const outbound = Effect.zipLeft(Queue.take(outboundQueue), limiter.maybeWait("dfx.shard.send", Duration.minutes(1), 120));
46
52
  const send = p => Effect.flatMap(Ref.get(phase), phase => phase === 2 /* Phase.Connected */ ? Queue.offer(outboundQueue, p) : Queue.offer(pendingQueue, p));
@@ -52,27 +58,32 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
52
58
  outbound,
53
59
  onConnecting
54
60
  });
55
- const isReady = Option.liftPredicate(p => p.op === Discord.GatewayOpcode.DISPATCH && p.t === "READY");
56
- const [latestReady, updateLatestReady] = yield* Utils.latest(p => Option.map(isReady(p), p => p.d));
57
- const [latestSequence, updateLatestSequence] = yield* Utils.latest(p => Option.fromNullable(p.s));
58
- const maybeUpdateUrl = p => Option.match(Option.map(isReady(p), p => p.d), {
59
- onNone: () => Effect.void,
60
- onSome: ({
61
- resume_gateway_url
62
- }) => socket.setUrl(resume_gateway_url)
63
- });
64
61
  const hellos = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
65
62
  const acks = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
66
63
  // heartbeats
67
- yield Heartbeats.send(hellos, acks, latestSequence, heartbeatSend).pipe(Effect.forkScoped, Effect.interruptible);
64
+ yield* Heartbeats.send(hellos, acks, stateStore.get, heartbeatSend).pipe(Effect.forkScoped, Effect.interruptible);
68
65
  // identify
69
66
  const identify = Identify.identifyOrResume({
70
67
  token: Secret.value(token),
71
68
  shard,
72
69
  intents: gateway.intents,
73
70
  presence: gateway.presence
74
- }, latestReady, latestSequence);
75
- const onPayload = p => (0, _Function.pipe)(updateLatestReady(p), Effect.zipRight(updateLatestSequence(p)), Effect.zipRight(maybeUpdateUrl(p)), Effect.tap(() => {
71
+ }, stateStore.get);
72
+ const onPayload = p => (0, _Function.pipe)(Effect.suspend(() => {
73
+ if (typeof p.s === "number") {
74
+ resumeState.sequence = p.s;
75
+ }
76
+ if (p.op === Discord.GatewayOpcode.DISPATCH && p.t === "READY") {
77
+ const payload = p.d;
78
+ resumeState.sessionId = payload.session_id;
79
+ resumeState.resumeUrl = payload.resume_gateway_url;
80
+ return Effect.zipRight(stateStore.set(resumeState), socket.setUrl(payload.resume_gateway_url));
81
+ }
82
+ if (resumeState.resumeUrl !== "" && resumeState.sessionId !== "") {
83
+ return stateStore.set(resumeState);
84
+ }
85
+ return Effect.void;
86
+ }), Effect.tap(() => {
76
87
  switch (p.op) {
77
88
  case Discord.GatewayOpcode.HELLO:
78
89
  {
@@ -84,7 +95,11 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
84
95
  }
85
96
  case Discord.GatewayOpcode.INVALID_SESSION:
86
97
  {
87
- return Effect.tap(InvalidSession.fromPayload(p, latestReady), send);
98
+ if (p.d) {
99
+ return send(_DiscordWS.Reconnect);
100
+ }
101
+ resumeState.sessionId = "";
102
+ return Effect.zipRight(stateStore.clear, send(_DiscordWS.Reconnect));
88
103
  }
89
104
  case Discord.GatewayOpcode.DISPATCH:
90
105
  {
@@ -103,8 +118,8 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
103
118
  }
104
119
  }
105
120
  }));
106
- yield Queue.take(sendQueue).pipe(Effect.tap(send), Effect.forever, Effect.forkScoped, Effect.interruptible);
107
- yield socket.take.pipe(Effect.flatMap(onPayload), Effect.forever, Effect.forkScoped, Effect.interruptible);
121
+ yield* Queue.take(sendQueue).pipe(Effect.tap(send), Effect.forever, Effect.forkScoped, Effect.interruptible);
122
+ yield* socket.take.pipe(Effect.flatMap(onPayload), Effect.forever, Effect.forkScoped, Effect.interruptible);
108
123
  return {
109
124
  id: shard,
110
125
  send