dfx 0.85.0 → 0.87.0

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 (162) hide show
  1. package/Cache/driver.d.ts +15 -15
  2. package/Cache/driver.d.ts.map +1 -1
  3. package/Cache/memory.d.ts +2 -2
  4. package/Cache/memory.d.ts.map +1 -1
  5. package/Cache/memory.js.map +1 -1
  6. package/Cache/memoryTTL.d.ts +2 -2
  7. package/Cache/memoryTTL.js.map +1 -1
  8. package/Cache/prelude.d.ts +13 -16
  9. package/Cache/prelude.d.ts.map +1 -1
  10. package/Cache/prelude.js.map +1 -1
  11. package/Cache.d.ts +25 -25
  12. package/Cache.d.ts.map +1 -1
  13. package/Cache.js.map +1 -1
  14. package/DiscordConfig.d.ts +3 -4
  15. package/DiscordConfig.d.ts.map +1 -1
  16. package/DiscordConfig.js +1 -1
  17. package/DiscordConfig.js.map +1 -1
  18. package/DiscordGateway/DiscordWS.d.ts +10 -11
  19. package/DiscordGateway/DiscordWS.d.ts.map +1 -1
  20. package/DiscordGateway/DiscordWS.js +2 -2
  21. package/DiscordGateway/DiscordWS.js.map +1 -1
  22. package/DiscordGateway/Messaging.d.ts +12 -13
  23. package/DiscordGateway/Messaging.d.ts.map +1 -1
  24. package/DiscordGateway/Messaging.js +1 -1
  25. package/DiscordGateway/Messaging.js.map +1 -1
  26. package/DiscordGateway/Shard/heartbeats.d.ts +1 -1
  27. package/DiscordGateway/Shard/heartbeats.d.ts.map +1 -1
  28. package/DiscordGateway/Shard/heartbeats.js.map +1 -1
  29. package/DiscordGateway/Shard/identify.d.ts +1 -1
  30. package/DiscordGateway/Shard/identify.d.ts.map +1 -1
  31. package/DiscordGateway/Shard/identify.js.map +1 -1
  32. package/DiscordGateway/Shard/invalidSession.d.ts +1 -1
  33. package/DiscordGateway/Shard/invalidSession.d.ts.map +1 -1
  34. package/DiscordGateway/Shard/utils.d.ts +2 -2
  35. package/DiscordGateway/Shard/utils.d.ts.map +1 -1
  36. package/DiscordGateway/Shard/utils.js.map +1 -1
  37. package/DiscordGateway/Shard.d.ts +10 -11
  38. package/DiscordGateway/Shard.d.ts.map +1 -1
  39. package/DiscordGateway/Shard.js +1 -1
  40. package/DiscordGateway/Shard.js.map +1 -1
  41. package/DiscordGateway/ShardStore.d.ts +5 -6
  42. package/DiscordGateway/ShardStore.d.ts.map +1 -1
  43. package/DiscordGateway/ShardStore.js +1 -1
  44. package/DiscordGateway/ShardStore.js.map +1 -1
  45. package/DiscordGateway/Sharder.d.ts +3 -4
  46. package/DiscordGateway/Sharder.d.ts.map +1 -1
  47. package/DiscordGateway/Sharder.js +1 -1
  48. package/DiscordGateway/Sharder.js.map +1 -1
  49. package/DiscordGateway/WS.d.ts +7 -8
  50. package/DiscordGateway/WS.d.ts.map +1 -1
  51. package/DiscordGateway/WS.js +1 -1
  52. package/DiscordGateway/WS.js.map +1 -1
  53. package/DiscordGateway.d.ts +8 -9
  54. package/DiscordGateway.d.ts.map +1 -1
  55. package/DiscordGateway.js +1 -1
  56. package/DiscordGateway.js.map +1 -1
  57. package/DiscordREST/types.d.ts +2 -2
  58. package/DiscordREST/types.d.ts.map +1 -1
  59. package/DiscordREST.d.ts +3 -4
  60. package/DiscordREST.d.ts.map +1 -1
  61. package/DiscordREST.js +1 -1
  62. package/DiscordREST.js.map +1 -1
  63. package/Helpers/permissions.d.ts +3 -3
  64. package/Helpers/permissions.d.ts.map +1 -1
  65. package/Interactions/builder.d.ts +12 -12
  66. package/Interactions/builder.d.ts.map +1 -1
  67. package/Interactions/context.d.ts +22 -23
  68. package/Interactions/context.d.ts.map +1 -1
  69. package/Interactions/context.js +6 -6
  70. package/Interactions/context.js.map +1 -1
  71. package/Interactions/definitions.d.ts +23 -25
  72. package/Interactions/definitions.d.ts.map +1 -1
  73. package/Interactions/gateway.d.ts +5 -6
  74. package/Interactions/gateway.d.ts.map +1 -1
  75. package/Interactions/gateway.js +1 -1
  76. package/Interactions/gateway.js.map +1 -1
  77. package/Interactions/handlers.d.ts +2 -2
  78. package/Interactions/handlers.d.ts.map +1 -1
  79. package/Interactions/handlers.js.map +1 -1
  80. package/Interactions/index.d.ts +5 -5
  81. package/Interactions/utils.d.ts +26 -26
  82. package/Interactions/utils.js.map +1 -1
  83. package/Interactions/webhook.d.ts +7 -8
  84. package/Interactions/webhook.d.ts.map +1 -1
  85. package/Interactions/webhook.js +1 -1
  86. package/Interactions/webhook.js.map +1 -1
  87. package/RateLimit.d.ts +11 -12
  88. package/RateLimit.d.ts.map +1 -1
  89. package/RateLimit.js +2 -2
  90. package/RateLimit.js.map +1 -1
  91. package/gateway.d.ts +2 -2
  92. package/mjs/Cache/memory.mjs.map +1 -1
  93. package/mjs/Cache/memoryTTL.mjs.map +1 -1
  94. package/mjs/Cache/prelude.mjs.map +1 -1
  95. package/mjs/Cache.mjs.map +1 -1
  96. package/mjs/DiscordConfig.mjs +2 -2
  97. package/mjs/DiscordConfig.mjs.map +1 -1
  98. package/mjs/DiscordGateway/DiscordWS.mjs +3 -3
  99. package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -1
  100. package/mjs/DiscordGateway/Messaging.mjs +2 -2
  101. package/mjs/DiscordGateway/Messaging.mjs.map +1 -1
  102. package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +1 -1
  103. package/mjs/DiscordGateway/Shard/identify.mjs.map +1 -1
  104. package/mjs/DiscordGateway/Shard/utils.mjs.map +1 -1
  105. package/mjs/DiscordGateway/Shard.mjs +2 -2
  106. package/mjs/DiscordGateway/Shard.mjs.map +1 -1
  107. package/mjs/DiscordGateway/ShardStore.mjs +2 -2
  108. package/mjs/DiscordGateway/ShardStore.mjs.map +1 -1
  109. package/mjs/DiscordGateway/Sharder.mjs +2 -2
  110. package/mjs/DiscordGateway/Sharder.mjs.map +1 -1
  111. package/mjs/DiscordGateway/WS.mjs +2 -2
  112. package/mjs/DiscordGateway/WS.mjs.map +1 -1
  113. package/mjs/DiscordGateway.mjs +2 -2
  114. package/mjs/DiscordGateway.mjs.map +1 -1
  115. package/mjs/DiscordREST.mjs +2 -2
  116. package/mjs/DiscordREST.mjs.map +1 -1
  117. package/mjs/Interactions/context.mjs +7 -7
  118. package/mjs/Interactions/context.mjs.map +1 -1
  119. package/mjs/Interactions/gateway.mjs +2 -2
  120. package/mjs/Interactions/gateway.mjs.map +1 -1
  121. package/mjs/Interactions/handlers.mjs.map +1 -1
  122. package/mjs/Interactions/utils.mjs.map +1 -1
  123. package/mjs/Interactions/webhook.mjs +2 -2
  124. package/mjs/Interactions/webhook.mjs.map +1 -1
  125. package/mjs/RateLimit.mjs +3 -3
  126. package/mjs/RateLimit.mjs.map +1 -1
  127. package/mjs/version.mjs +1 -1
  128. package/package.json +4 -4
  129. package/src/Cache/driver.ts +15 -15
  130. package/src/Cache/memory.ts +2 -10
  131. package/src/Cache/memoryTTL.ts +4 -4
  132. package/src/Cache/prelude.ts +25 -24
  133. package/src/Cache.ts +31 -31
  134. package/src/DiscordConfig.ts +4 -4
  135. package/src/DiscordGateway/DiscordWS.ts +5 -5
  136. package/src/DiscordGateway/Messaging.ts +9 -8
  137. package/src/DiscordGateway/Shard/heartbeats.ts +2 -2
  138. package/src/DiscordGateway/Shard/identify.ts +2 -6
  139. package/src/DiscordGateway/Shard/invalidSession.ts +1 -1
  140. package/src/DiscordGateway/Shard/utils.ts +7 -11
  141. package/src/DiscordGateway/Shard.ts +2 -2
  142. package/src/DiscordGateway/ShardStore.ts +5 -5
  143. package/src/DiscordGateway/Sharder.ts +7 -4
  144. package/src/DiscordGateway/WS.ts +8 -8
  145. package/src/DiscordGateway.ts +8 -12
  146. package/src/DiscordREST/types.ts +2 -6
  147. package/src/DiscordREST.ts +5 -9
  148. package/src/Helpers/permissions.ts +1 -1
  149. package/src/Interactions/builder.ts +11 -11
  150. package/src/Interactions/context.ts +28 -32
  151. package/src/Interactions/definitions.ts +34 -38
  152. package/src/Interactions/gateway.ts +6 -14
  153. package/src/Interactions/handlers.ts +3 -7
  154. package/src/Interactions/utils.ts +6 -6
  155. package/src/Interactions/webhook.ts +15 -19
  156. package/src/RateLimit.ts +9 -9
  157. package/src/utils/Effect.ts +9 -9
  158. package/src/version.ts +1 -1
  159. package/utils/Effect.d.ts +2 -2
  160. package/version.d.ts +1 -1
  161. package/version.js +1 -1
  162. package/webhooks.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as Chunk from "effect/Chunk"
2
- import { Tag } from "effect/Context"
2
+ import { GenericTag } from "effect/Context"
3
3
  import { identity } from "effect/Function"
4
4
  import * as Option from "effect/Option"
5
5
  import type * as Cause from "effect/Cause"
@@ -74,7 +74,7 @@ const makeConfig = ({
74
74
  export interface WebhookConfig {
75
75
  readonly _: unique symbol
76
76
  }
77
- export const WebhookConfig = Tag<WebhookConfig, ReturnType<typeof makeConfig>>(
77
+ export const WebhookConfig = GenericTag<WebhookConfig, ReturnType<typeof makeConfig>>(
78
78
  "dfx/Interactions/WebhookConfig",
79
79
  )
80
80
 
@@ -83,7 +83,7 @@ export const layer = (opts: MakeConfigOpts) =>
83
83
 
84
84
  export const layerConfig: (
85
85
  config: Config.Config<MakeConfigOpts>,
86
- ) => Layer.Layer<never, ConfigError.ConfigError, WebhookConfig> = (
86
+ ) => Layer.Layer<WebhookConfig, ConfigError.ConfigError> = (
87
87
  config: Config.Config<MakeConfigOpts>,
88
88
  ) => Layer.effect(WebhookConfig, Effect.map(config, makeConfig))
89
89
 
@@ -109,38 +109,34 @@ const run = <R, E>(
109
109
  readonly [
110
110
  handler: D.InteractionDefinition<R, E>,
111
111
  transform: (
112
- self: Effect.Effect<R, E, Discord.InteractionResponse>,
113
- ) => Effect.Effect<R, E, Discord.InteractionResponse>,
112
+ self: Effect.Effect<Discord.InteractionResponse, E, R>,
113
+ ) => Effect.Effect<Discord.InteractionResponse, E, R>,
114
114
  ]
115
115
  >,
116
116
  handleResponse: (
117
117
  ix: Discord.Interaction,
118
118
  _: Discord.InteractionResponse,
119
- ) => Effect.Effect<R, E, Discord.InteractionResponse>,
119
+ ) => Effect.Effect<Discord.InteractionResponse, E, R>,
120
120
  ) => {
121
121
  const handler = handlers(definitions, handleResponse)
122
122
  return (
123
123
  headers: Headers,
124
124
  body: string,
125
- ): Effect.Effect<
126
- WebhookConfig | Exclude<R, DiscordInteraction>,
127
- BadWebhookSignature | WebhookParseError | E | DefinitionNotFound,
128
- Discord.InteractionResponse
129
- > =>
125
+ ): Effect.Effect<Discord.InteractionResponse, BadWebhookSignature | WebhookParseError | E | DefinitionNotFound, WebhookConfig | Exclude<R, DiscordInteraction>> =>
130
126
  Effect.flatMap(fromHeadersAndBody(headers, body), interaction =>
131
127
  Effect.provideService(
132
128
  handler[interaction.type](interaction),
133
129
  Interaction,
134
130
  interaction,
135
131
  ),
136
- )
132
+ );
137
133
  }
138
134
 
139
135
  export interface HandleWebhookOpts<E> {
140
136
  headers: Headers
141
137
  body: string
142
- success: (a: Discord.InteractionResponse) => Effect.Effect<never, never, void>
143
- error: (e: Cause.Cause<E>) => Effect.Effect<never, never, void>
138
+ success: (a: Discord.InteractionResponse) => Effect.Effect<void>
139
+ error: (e: Cause.Cause<E>) => Effect.Effect<void>
144
140
  }
145
141
 
146
142
  /**
@@ -155,7 +151,7 @@ export const makeHandler = <R, E, TE>(
155
151
  success,
156
152
  }: HandleWebhookOpts<
157
153
  E | WebhookParseError | BadWebhookSignature | DefinitionNotFound
158
- >) => Effect.Effect<WebhookConfig, never, void>) => {
154
+ >) => Effect.Effect<void, never, WebhookConfig>) => {
159
155
  const handle = run(
160
156
  Chunk.map(ix.definitions, ([d]) => [d, identity] as any),
161
157
  (_i, r) => Effect.succeed(r),
@@ -168,11 +164,11 @@ export const makeHandler = <R, E, TE>(
168
164
  success,
169
165
  }: HandleWebhookOpts<
170
166
  E | WebhookParseError | BadWebhookSignature | DefinitionNotFound
171
- >): Effect.Effect<WebhookConfig, never, void> =>
167
+ >): Effect.Effect<void, never, WebhookConfig> =>
172
168
  handle(headers, body).pipe(
173
169
  Effect.flatMap(success),
174
170
  Effect.catchAllCause(error),
175
- )
171
+ );
176
172
  }
177
173
 
178
174
  /**
@@ -187,9 +183,9 @@ export const makeSimpleHandler = <R, E, TE>(
187
183
  headers: Headers
188
184
  body: string
189
185
  }) => Effect.Effect<
190
- WebhookConfig,
186
+ Discord.InteractionResponse,
191
187
  BadWebhookSignature | WebhookParseError | DefinitionNotFound,
192
- Discord.InteractionResponse
188
+ WebhookConfig
193
189
  >) => {
194
190
  const handle = run(
195
191
  Chunk.map(ix.definitions, ([d]) => [d, identity] as any),
package/src/RateLimit.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Tag } from "effect/Context"
1
+ import { GenericTag } from "effect/Context"
2
2
  import * as Duration from "effect/Duration"
3
3
  import type * as Option from "effect/Option"
4
4
  import * as Effect from "effect/Effect"
@@ -15,35 +15,35 @@ export type BucketDetails = {
15
15
  export interface RateLimitStoreService {
16
16
  readonly hasBucket: (
17
17
  bucketKey: string,
18
- ) => Effect.Effect<never, never, boolean>
18
+ ) => Effect.Effect<boolean>
19
19
 
20
20
  readonly putBucket: (
21
21
  bucket: BucketDetails,
22
- ) => Effect.Effect<never, never, void>
22
+ ) => Effect.Effect<void>
23
23
 
24
24
  readonly getBucketForRoute: (
25
25
  route: string,
26
- ) => Effect.Effect<never, never, Option.Option<BucketDetails>>
26
+ ) => Effect.Effect<Option.Option<BucketDetails>>
27
27
 
28
28
  readonly putBucketRoute: (
29
29
  route: string,
30
30
  bucketKey: string,
31
- ) => Effect.Effect<never, never, void>
31
+ ) => Effect.Effect<void>
32
32
 
33
33
  readonly incrementCounter: (
34
34
  key: string,
35
35
  window: number,
36
36
  limit: number,
37
- ) => Effect.Effect<never, never, readonly [count: number, ttl: number]>
37
+ ) => Effect.Effect<readonly [count: number, ttl: number]>
38
38
 
39
- readonly removeCounter: (key: string) => Effect.Effect<never, never, void>
39
+ readonly removeCounter: (key: string) => Effect.Effect<void>
40
40
  }
41
41
 
42
42
  export interface RateLimitStore {
43
43
  readonly _: unique symbol
44
44
  }
45
45
 
46
- export const RateLimitStore = Tag<RateLimitStore, RateLimitStoreService>(
46
+ export const RateLimitStore = GenericTag<RateLimitStore, RateLimitStoreService>(
47
47
  "dfx/RateLimit/RateLimitStore",
48
48
  )
49
49
  export const MemoryRateLimitStoreLive = Layer.sync(RateLimitStore, Memory.make)
@@ -84,7 +84,7 @@ const makeLimiter = Effect.gen(function* (_) {
84
84
  export interface RateLimiter {
85
85
  readonly _: unique symbol
86
86
  }
87
- export const RateLimiter = Tag<
87
+ export const RateLimiter = GenericTag<
88
88
  RateLimiter,
89
89
  Effect.Effect.Success<typeof makeLimiter>
90
90
  >("dfx/RateLimit/RateLimiter")
@@ -7,9 +7,9 @@ import * as Queue from "effect/Queue"
7
7
 
8
8
  export const subscribeForEachPar = <R, E, A, X>(
9
9
  self: PubSub.PubSub<A>,
10
- effect: (_: A) => Effect.Effect<R, E, X>,
11
- ): Effect.Effect<R, E, never> =>
12
- Effect.flatMap(Deferred.make<E, never>(), deferred => {
10
+ effect: (_: A) => Effect.Effect<X, E, R>,
11
+ ): Effect.Effect<never, E, R> =>
12
+ Effect.flatMap(Deferred.make<never, E>(), deferred => {
13
13
  const run = pipe(
14
14
  PubSub.subscribe(self),
15
15
  Effect.flatMap(queue =>
@@ -29,15 +29,15 @@ export const subscribeForEachPar = <R, E, A, X>(
29
29
  return Effect.all([run, Deferred.await(deferred)], {
30
30
  concurrency: "unbounded",
31
31
  discard: true,
32
- }) as Effect.Effect<R, E, never>
32
+ }) as Effect.Effect<never, E, R>;
33
33
  })
34
34
 
35
35
  export const foreverSwitch = <R, E, A, R1, E1, X>(
36
- self: Effect.Effect<R, E, A>,
37
- f: (_: A) => Effect.Effect<R1, E1, X>,
38
- ): Effect.Effect<R | R1, E | E1, never> =>
36
+ self: Effect.Effect<A, E, R>,
37
+ f: (_: A) => Effect.Effect<X, E1, R1>,
38
+ ): Effect.Effect<never, E | E1, R | R1> =>
39
39
  pipe(
40
- Effect.all([Deferred.make<E1, never>(), Effect.fiberId]),
40
+ Effect.all([Deferred.make<never, E1>(), Effect.fiberId]),
41
41
  Effect.flatMap(([causeDeferred, fiberId]) => {
42
42
  let fiber: Fiber.RuntimeFiber<unknown, unknown> | undefined
43
43
 
@@ -64,6 +64,6 @@ export const foreverSwitch = <R, E, A, R1, E1, X>(
64
64
  return Effect.all([run, Deferred.await(causeDeferred)], {
65
65
  concurrency: "unbounded",
66
66
  discard: true,
67
- }) as Effect.Effect<R | R1, E | E1, never>
67
+ }) as Effect.Effect<never, E | E1, R | R1>;
68
68
  }),
69
69
  )
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const LIB_VERSION = "0.85.0";
1
+ export const LIB_VERSION = "0.87.0";
package/utils/Effect.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as PubSub from "effect/PubSub";
3
- export declare const subscribeForEachPar: <R, E, A, X>(self: PubSub.PubSub<A>, effect: (_: A) => Effect.Effect<R, E, X>) => Effect.Effect<R, E, never>;
4
- export declare const foreverSwitch: <R, E, A, R1, E1, X>(self: Effect.Effect<R, E, A>, f: (_: A) => Effect.Effect<R1, E1, X>) => Effect.Effect<R | R1, E | E1, never>;
3
+ export declare const subscribeForEachPar: <R, E, A, X>(self: PubSub.PubSub<A>, effect: (_: A) => Effect.Effect<X, E, R>) => Effect.Effect<never, E, R>;
4
+ export declare const foreverSwitch: <R, E, A, R1, E1, X>(self: Effect.Effect<A, E, R>, f: (_: A) => Effect.Effect<X, E1, R1>) => Effect.Effect<never, E | E1, R | R1>;
5
5
  //# sourceMappingURL=Effect.d.ts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const LIB_VERSION = "0.85.0";
1
+ export declare const LIB_VERSION = "0.87.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LIB_VERSION = void 0;
7
- const LIB_VERSION = exports.LIB_VERSION = "0.85.0";
7
+ const LIB_VERSION = exports.LIB_VERSION = "0.87.0";
8
8
  //# sourceMappingURL=version.js.map
package/webhooks.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import * as Layer from "effect/Layer";
2
2
  export { BadWebhookSignature, WebhookConfig, WebhookParseError, makeHandler, makeSimpleHandler, layer as webhookLayer, layerConfig as webhookLayerConfig, } from "dfx/Interactions/webhook";
3
- export declare const DiscordLive: Layer.Layer<import("./DiscordConfig").DiscordConfig, never, import("dfx/RateLimit").RateLimiter | import("dfx/DiscordREST").DiscordREST>;
3
+ export declare const DiscordLive: Layer.Layer<import("dfx/RateLimit").RateLimiter | import("dfx/DiscordREST").DiscordREST, never, import("./DiscordConfig").DiscordConfig>;
4
4
  //# sourceMappingURL=webhooks.d.ts.map