dfx 1.0.14 → 1.0.16

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 (70) hide show
  1. package/dist/Cache/driver.d.ts.map +1 -1
  2. package/dist/Cache/memoryTTL.d.ts.map +1 -1
  3. package/dist/Cache/prelude.d.ts.map +1 -1
  4. package/dist/Cache.d.ts.map +1 -1
  5. package/dist/Cache.js +4 -1
  6. package/dist/Cache.js.map +1 -1
  7. package/dist/DiscordConfig.d.ts.map +1 -1
  8. package/dist/DiscordGateway/DiscordWS.d.ts.map +1 -1
  9. package/dist/DiscordGateway/DiscordWS.js +33 -20
  10. package/dist/DiscordGateway/DiscordWS.js.map +1 -1
  11. package/dist/DiscordGateway/Messaging.d.ts +131 -131
  12. package/dist/DiscordGateway/Messaging.d.ts.map +1 -1
  13. package/dist/DiscordGateway/Shard/StateStore.js.map +1 -1
  14. package/dist/DiscordGateway/Shard/heartbeats.d.ts.map +1 -1
  15. package/dist/DiscordGateway/Shard/identify.d.ts.map +1 -1
  16. package/dist/DiscordGateway/Shard/sendEvents.d.ts.map +1 -1
  17. package/dist/DiscordGateway/Shard/utils.d.ts.map +1 -1
  18. package/dist/DiscordGateway/Shard.d.ts +2 -2
  19. package/dist/DiscordGateway/Shard.js.map +1 -1
  20. package/dist/DiscordGateway/Sharder.d.ts +1 -1
  21. package/dist/DiscordGateway/Sharder.d.ts.map +1 -1
  22. package/dist/DiscordGateway/Sharder.js +4 -1
  23. package/dist/DiscordGateway/Sharder.js.map +1 -1
  24. package/dist/DiscordREST/Generated.d.ts +1071 -30
  25. package/dist/DiscordREST/Generated.d.ts.map +1 -1
  26. package/dist/DiscordREST/Generated.js +190 -5
  27. package/dist/DiscordREST/Generated.js.map +1 -1
  28. package/dist/DiscordREST/utils.d.ts.map +1 -1
  29. package/dist/Helpers/flags.d.ts.map +1 -1
  30. package/dist/Helpers/intents.d.ts +4 -3
  31. package/dist/Helpers/intents.d.ts.map +1 -1
  32. package/dist/Helpers/interactions.d.ts.map +1 -1
  33. package/dist/Helpers/members.d.ts.map +1 -1
  34. package/dist/Helpers/permissions.d.ts +4 -3
  35. package/dist/Helpers/permissions.d.ts.map +1 -1
  36. package/dist/Helpers/ui.d.ts.map +1 -1
  37. package/dist/Interactions/builder.d.ts +7 -7
  38. package/dist/Interactions/builder.d.ts.map +1 -1
  39. package/dist/Interactions/builder.js.map +1 -1
  40. package/dist/Interactions/commandHelper.d.ts.map +1 -1
  41. package/dist/Interactions/commandHelper.js.map +1 -1
  42. package/dist/Interactions/context.d.ts +1 -1
  43. package/dist/Interactions/context.d.ts.map +1 -1
  44. package/dist/Interactions/context.js.map +1 -1
  45. package/dist/Interactions/definitions.d.ts +5 -5
  46. package/dist/Interactions/definitions.d.ts.map +1 -1
  47. package/dist/Interactions/definitions.js.map +1 -1
  48. package/dist/Interactions/gateway.d.ts.map +1 -1
  49. package/dist/Interactions/gateway.js +4 -1
  50. package/dist/Interactions/gateway.js.map +1 -1
  51. package/dist/Interactions/handlers.d.ts.map +1 -1
  52. package/dist/Interactions/handlers.js.map +1 -1
  53. package/dist/Interactions/index.d.ts.map +1 -1
  54. package/dist/Interactions/utils.d.ts +11 -11
  55. package/dist/Interactions/utils.d.ts.map +1 -1
  56. package/dist/Interactions/webhook.d.ts.map +1 -1
  57. package/dist/RateLimit/utils.d.ts.map +1 -1
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/utils/Effect.d.ts.map +1 -1
  60. package/dist/utils/Effect.js.map +1 -1
  61. package/dist/version.d.ts +1 -1
  62. package/dist/version.js +1 -1
  63. package/package.json +12 -14
  64. package/src/Cache.ts +4 -3
  65. package/src/DiscordGateway/DiscordWS.ts +25 -20
  66. package/src/DiscordGateway/Sharder.ts +5 -2
  67. package/src/DiscordREST/Generated.ts +1329 -40
  68. package/src/Interactions/gateway.ts +4 -3
  69. package/src/utils/Effect.ts +2 -1
  70. package/src/version.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dfx",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "packageManager": "pnpm@10.11.0+sha512.6540583f41cc5f628eb3d9773ecee802f4f9ef9923cc45b69890fb47991d4b092964694ec3a4f738a420c918a333062c8b925d312f42e4f0c263eb603551f977",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -35,16 +35,16 @@
35
35
  "prebuild": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
36
36
  "build": "tsc -b tsconfig.build.json",
37
37
  "build-watch": "tsc -b tsconfig.json --watch",
38
- "check": "pnpm lint && pnpm tsgo -b tsconfig.json",
38
+ "check": "pnpm lint && pnpm tsc -b tsconfig.json",
39
39
  "lint": "oxlint src test examples",
40
40
  "autofix": "pnpm lint --fix",
41
41
  "circular": "madge --ts-config ./tsconfig.madge.json --circular --no-color --no-spinner --warning build/esm",
42
42
  "test": "vitest",
43
43
  "coverage": "vitest run --coverage",
44
- "prepare": "husky && effect-language-service patch"
44
+ "prepare": "husky"
45
45
  },
46
46
  "peerDependencies": {
47
- "effect": ">=4.0.0-beta.52 <5.0.0"
47
+ "effect": ">=4.0.0-rc.113 <5.0.0"
48
48
  },
49
49
  "optionalDependencies": {
50
50
  "discord-verify": "^1.2.0"
@@ -58,19 +58,17 @@
58
58
  "@changesets/cli": "^2.29.8",
59
59
  "@effect/babel-plugin": "^0.2.0",
60
60
  "@effect/build-utils": "^0.8.9",
61
- "@effect/language-service": "^0.77.0",
62
- "@effect/platform-node": "4.0.0-beta.73",
63
- "@tim-smart/openapi-gen": "^1.0.3",
61
+ "@effect/platform-node": "4.0.0-rc.113",
62
+ "@tim-smart/openapi-gen": "^1.0.4",
64
63
  "@types/chai": "^5.2.3",
65
- "@types/node": "^25.3.3",
64
+ "@types/node": "^26.5.0",
66
65
  "@types/ws": "^8.18.1",
67
- "@typescript/native-preview": "7.0.0-dev.20260301.1",
68
66
  "@vitejs/plugin-react": "^5.1.4",
69
67
  "@vitest/coverage-v8": "^4.0.18",
70
68
  "babel-plugin-annotate-pure-calls": "^0.5.0",
71
69
  "concurrently": "^9.2.1",
72
70
  "dotenv": "^17.3.1",
73
- "effect": "4.0.0-beta.73",
71
+ "effect": "4.0.0-rc.113",
74
72
  "husky": "^9.1.7",
75
73
  "lerna": "^9.0.4",
76
74
  "lint-staged": "^16.3.0",
@@ -80,13 +78,13 @@
80
78
  "rimraf": "^6.1.3",
81
79
  "ts-node": "^10.9.2",
82
80
  "tsx": "^4.21.0",
83
- "typescript": "^5.9.3",
84
- "vite": "^7.3.1",
81
+ "typescript": "^7.0.2",
82
+ "vite": "^8.2.2",
85
83
  "vitest": "4.0.18"
86
84
  },
87
- "gitHead": "02fbd7b4736ca4982b8968a22d13b7806e68a9af",
85
+ "gitHead": "0349ec411730d04a5a9f22727cb28f045e8886ae",
88
86
  "dependencies": {
89
- "discord-api-types": "^0.38.40"
87
+ "discord-api-types": "^0.38.55"
90
88
  },
91
89
  "lint-staged": {
92
90
  "*.{ts,tsx}": [
package/src/Cache.ts CHANGED
@@ -27,9 +27,10 @@ export type CacheOp<T> =
27
27
  | { op: "update"; resourceId: string; resource: T }
28
28
  | { op: "delete"; resourceId: string }
29
29
 
30
- const retryPolicy = Schedule.exponential("500 millis").pipe(
31
- Schedule.either(Schedule.spaced("10 seconds")),
32
- )
30
+ const retryPolicy = Schedule.min([
31
+ Schedule.exponential("500 millis"),
32
+ Schedule.spaced("10 seconds"),
33
+ ])
33
34
 
34
35
  export interface ParentCache<EDriver, EMiss, EPMiss, A> {
35
36
  readonly get: (
@@ -60,10 +60,9 @@ const make = Effect.gen(function* () {
60
60
  Ref.set(urlRef, `${nextUrl}?v=${version}&encoding=${encoding.type}`)
61
61
  const messages = yield* Queue.make<Message>()
62
62
  const socket = yield* Socket.makeWebSocket(Ref.get(urlRef), {
63
- closeCodeIsError: _ => true,
64
63
  openTimeout: 5000,
65
64
  })
66
- const writeRaw = yield* socket.writer
65
+ const writer = yield* socket.writer
67
66
  const logWriteError = (cause: Cause.Cause<Socket.SocketError>) =>
68
67
  Effect.annotateLogs(Effect.logDebug(cause), {
69
68
  module: "DiscordGateway/DiscordWS",
@@ -72,12 +71,12 @@ const make = Effect.gen(function* () {
72
71
  const write = (message: MessageSend): Effect.Effect<void> => {
73
72
  if (message === Reconnect) {
74
73
  return Effect.catchCause(
75
- writeRaw(new Socket.CloseEvent(3000, "reconnecting")),
74
+ writer.write(new Socket.CloseEvent(3000, "reconnecting")),
76
75
  logWriteError,
77
76
  )
78
77
  }
79
78
  return Effect.catchCause(
80
- writeRaw(encoding.encode(message)),
79
+ writer.write(encoding.encode(message)),
81
80
  logWriteError,
82
81
  )
83
82
  }
@@ -86,36 +85,42 @@ const make = Effect.gen(function* () {
86
85
  "Trace",
87
86
  )
88
87
  const loggers = yield* CurrentLoggers
89
- yield* onConnecting.pipe(
90
- Effect.andThen(
91
- Effect.withFiber<void, Socket.SocketError>(fiber =>
92
- socket.runRaw(_ => {
93
- const message = encoding.decode(_)
94
- Queue.offerUnsafe(messages, message)
95
- if (!traceEnabled) return
96
- loggers.forEach(logger => {
88
+ yield* Effect.gen(function* () {
89
+ const fiber = yield* Effect.fiber
90
+ yield* onConnecting
91
+ const reader = yield* socket.reader
92
+ return yield* Effect.whileLoop({
93
+ while: () => true,
94
+ body: () => reader.pull,
95
+ step(chunk) {
96
+ const decoded = chunk.map(encoding.decode)
97
+ Queue.offerAllUnsafe(messages, decoded)
98
+ Queue.flushUnsafe(messages)
99
+ if (!traceEnabled) return
100
+ loggers.forEach(logger => {
101
+ for (let i = 0; i < decoded.length; i++) {
97
102
  logger.log({
98
- message,
103
+ message: decoded[i],
99
104
  cause: Cause.empty,
100
105
  fiber,
101
106
  logLevel: "Trace",
102
107
  date: new Date(),
103
108
  })
104
- })
105
- }),
106
- ),
107
- ),
109
+ }
110
+ })
111
+ },
112
+ })
113
+ }).pipe(
108
114
  Effect.retry({
109
115
  while: e =>
116
+ // oxlint-disable-next-line no-underscore-dangle
110
117
  e.reason._tag === "SocketCloseError" && e.reason.code === 3000,
111
118
  }),
112
119
  Effect.catchCause(cause =>
113
120
  Effect.logDebug("Got socket error, reconnecting", cause),
114
121
  ),
115
122
  Effect.repeat(
116
- Schedule.exponential(500).pipe(
117
- Schedule.either(Schedule.spaced(10000)),
118
- ),
123
+ Schedule.min([Schedule.exponential(500), Schedule.spaced(10000)]),
119
124
  ),
120
125
  Effect.annotateLogs("channel", "inbound"),
121
126
  Effect.forkScoped,
@@ -14,8 +14,11 @@ import * as Ref from "effect/Ref"
14
14
  import * as Schedule from "effect/Schedule"
15
15
  import * as Context from "effect/Context"
16
16
 
17
- const claimRepeatPolicy = Schedule.identity<Option.Option<number>>().pipe(
18
- Schedule.both(Schedule.spaced("3 minutes")),
17
+ const claimRepeatPolicy = Schedule.max([
18
+ Schedule.identity<Option.Option<number>>(),
19
+ Schedule.spaced("3 minutes"),
20
+ ]).pipe(
21
+ Schedule.setInputType<Option.Option<number>>(),
19
22
  Schedule.while(_ => Effect.succeed(_.input._tag === "None")),
20
23
  Schedule.passthrough,
21
24
  ) as Schedule.Schedule<Option.Some<number>, Option.Option<number>>