@rivetkit/effect 0.0.0-sqlite-uds.37f9e48 → 0.0.0-sqlite-profiling-compat.87d61c0

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 (63) hide show
  1. package/dist/Actor.d.ts +3 -2
  2. package/dist/Actor.d.ts.map +1 -1
  3. package/dist/Actor.js +2 -2
  4. package/dist/Actor.js.map +1 -1
  5. package/dist/Client.d.ts.map +1 -1
  6. package/dist/Client.js +4 -6
  7. package/dist/Client.js.map +1 -1
  8. package/dist/Logger.d.ts +29 -0
  9. package/dist/Logger.d.ts.map +1 -0
  10. package/dist/Logger.js +31 -0
  11. package/dist/Logger.js.map +1 -0
  12. package/dist/Registry.d.ts +7 -69
  13. package/dist/Registry.d.ts.map +1 -1
  14. package/dist/Registry.js +40 -93
  15. package/dist/Registry.js.map +1 -1
  16. package/dist/RivetError.d.ts +3 -18
  17. package/dist/RivetError.d.ts.map +1 -1
  18. package/dist/RivetError.js +0 -31
  19. package/dist/RivetError.js.map +1 -1
  20. package/dist/State.d.ts +56 -92
  21. package/dist/State.d.ts.map +1 -1
  22. package/dist/State.js +57 -51
  23. package/dist/State.js.map +1 -1
  24. package/dist/internal/ActorInstanceManager.d.ts.map +1 -1
  25. package/dist/internal/ActorInstanceManager.js +4 -4
  26. package/dist/internal/ActorInstanceManager.js.map +1 -1
  27. package/dist/internal/ActorStateAdapter.d.ts +1 -1
  28. package/dist/internal/ActorStateAdapter.d.ts.map +1 -1
  29. package/dist/internal/ActorStateAdapter.js +7 -2
  30. package/dist/internal/ActorStateAdapter.js.map +1 -1
  31. package/dist/internal/StateOptions.d.ts +0 -1
  32. package/dist/internal/StateOptions.d.ts.map +1 -1
  33. package/dist/internal/logging.d.ts +7 -6
  34. package/dist/internal/logging.d.ts.map +1 -1
  35. package/dist/internal/logging.js +102 -78
  36. package/dist/internal/logging.js.map +1 -1
  37. package/dist/mod.d.ts +1 -1
  38. package/dist/mod.d.ts.map +1 -1
  39. package/dist/mod.js +1 -1
  40. package/dist/mod.js.map +1 -1
  41. package/package.json +8 -3
  42. package/src/Actor.test-d.ts +0 -32
  43. package/src/Actor.ts +4 -29
  44. package/src/Client.test.ts +18 -21
  45. package/src/Client.ts +4 -6
  46. package/src/Logger.ts +43 -0
  47. package/src/Registry.test.ts +11 -7
  48. package/src/Registry.ts +50 -116
  49. package/src/RivetError.test.ts +0 -11
  50. package/src/RivetError.ts +0 -37
  51. package/src/State.test.ts +4 -163
  52. package/src/State.ts +97 -293
  53. package/src/internal/ActorInstanceManager.ts +10 -4
  54. package/src/internal/ActorStateAdapter.ts +11 -5
  55. package/src/internal/StateOptions.ts +0 -4
  56. package/src/internal/logging.test.ts +88 -65
  57. package/src/internal/logging.ts +143 -103
  58. package/src/mod.ts +1 -1
  59. package/dist/RivetLogger.d.ts +0 -41
  60. package/dist/RivetLogger.d.ts.map +0 -1
  61. package/dist/RivetLogger.js +0 -41
  62. package/dist/RivetLogger.js.map +0 -1
  63. package/src/RivetLogger.ts +0 -60
@@ -1,8 +1,12 @@
1
1
  import { assert, describe, it } from "@effect/vitest";
2
- import { Client, RivetError, RivetLogger } from "@rivetkit/effect";
2
+ import { Client, Logger, RivetError } from "@rivetkit/effect";
3
3
  import { Effect, Layer, Schema } from "effect";
4
4
  import * as RivetkitErrors from "rivetkit/errors";
5
- import * as RivetkitLog from "rivetkit/log";
5
+ import {
6
+ configureDefaultLogger,
7
+ getBaseLogger,
8
+ type Logger as PinoLogger,
9
+ } from "rivetkit/log";
6
10
  import * as ActionErrorEnvelope from "./internal/ActionErrorEnvelope";
7
11
 
8
12
  function makeTestLogger(
@@ -11,7 +15,7 @@ function makeTestLogger(
11
15
  readonly fields: Record<string, unknown>;
12
16
  readonly msg: string | undefined;
13
17
  }>,
14
- ): RivetkitLog.Logger {
18
+ ): PinoLogger {
15
19
  const logger: Record<string, unknown> = {
16
20
  level: "debug",
17
21
  child: () => logger,
@@ -25,7 +29,7 @@ function makeTestLogger(
25
29
  };
26
30
  }
27
31
 
28
- return logger as unknown as RivetkitLog.Logger;
32
+ return logger as unknown as PinoLogger;
29
33
  }
30
34
 
31
35
  describe("Client", () => {
@@ -35,15 +39,13 @@ describe("Client", () => {
35
39
  const baseLogger = makeTestLogger();
36
40
 
37
41
  yield* Effect.addFinalizer(() =>
38
- Effect.sync(() =>
39
- RivetkitLog.configureDefaultLogger("silent"),
40
- ),
42
+ Effect.sync(() => configureDefaultLogger("silent")),
41
43
  );
42
44
  yield* Client.make({
43
45
  endpoint: "http://127.0.0.1:6420",
44
- }).pipe(Effect.provide(RivetLogger.layerFromPino(baseLogger)));
46
+ }).pipe(Effect.provide(Logger.layerPino(baseLogger)));
45
47
 
46
- assert.strictEqual(RivetkitLog.getBaseLogger(), baseLogger);
48
+ assert.strictEqual(getBaseLogger(), baseLogger);
47
49
  }),
48
50
  ),
49
51
  );
@@ -59,9 +61,7 @@ describe("Client", () => {
59
61
  const baseLogger = makeTestLogger(entries);
60
62
 
61
63
  yield* Effect.addFinalizer(() =>
62
- Effect.sync(() =>
63
- RivetkitLog.configureDefaultLogger("silent"),
64
- ),
64
+ Effect.sync(() => configureDefaultLogger("silent")),
65
65
  );
66
66
  yield* Effect.gen(function* () {
67
67
  yield* Client.Client;
@@ -73,19 +73,16 @@ describe("Client", () => {
73
73
  Client.layer({
74
74
  endpoint: "http://127.0.0.1:6420",
75
75
  }).pipe(
76
- Layer.provideMerge(
77
- RivetLogger.layerFromPino(baseLogger),
78
- ),
76
+ Layer.provideMerge(Logger.layerPino(baseLogger)),
79
77
  ),
80
78
  ),
81
79
  );
82
80
 
83
- const entry = entries[0];
84
- assert.ok(entry !== undefined);
85
- assert.strictEqual(entry.level, "info");
86
- assert.strictEqual(entry.msg, "client effect log");
87
- assert.strictEqual(entry.fields.clientId, "test-client");
88
- assert.strictEqual(typeof entry.fields.fiberId, "string");
81
+ assert.deepStrictEqual(entries[0], {
82
+ level: "info",
83
+ fields: { clientId: "test-client" },
84
+ msg: "client effect log",
85
+ });
89
86
  assert.ok(
90
87
  entries.some(
91
88
  (entry) =>
package/src/Client.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import { Context, Effect, Layer, Record, Result, Schema } from "effect";
2
2
  import * as RivetkitClient from "rivetkit/client";
3
3
  import * as RivetkitErrors from "rivetkit/errors";
4
- import * as RivetkitLog from "rivetkit/log";
4
+ import { configureBaseLogger } from "rivetkit/log";
5
5
  import type * as Action from "./Action.ts";
6
6
  import type * as Actor from "./Actor.ts";
7
7
  import * as ActionErrorEnvelope from "./internal/ActionErrorEnvelope.ts";
8
8
  import { getOrCreateBaseLogger } from "./internal/logging.ts";
9
9
  import { rpcSystem, type TraceMeta } from "./internal/tracing.ts";
10
- import * as RivetLogger from "./RivetLogger.ts";
10
+ import * as Logger from "./Logger.ts";
11
11
  import * as RivetError from "./RivetError.ts";
12
12
 
13
13
  const TypeId = "~@rivetkit/effect/Client";
@@ -49,9 +49,7 @@ export const make = Effect.fnUntraced(function* (options: Options = {}) {
49
49
  const baseLogger = yield* getOrCreateBaseLogger;
50
50
  const rivetkitClient = yield* Effect.acquireRelease(
51
51
  Effect.sync(() => {
52
- // Raw RivetKit clients do not accept a logger in their config,
53
- // so install the Effect-selected logger before construction.
54
- RivetkitLog.configureBaseLogger(baseLogger);
52
+ configureBaseLogger(baseLogger);
55
53
  return RivetkitClient.createClient(options);
56
54
  }),
57
55
  (c) => Effect.promise(() => c.dispose()),
@@ -148,7 +146,7 @@ export const layer = (options: Options = {}): Layer.Layer<Client> =>
148
146
  Layer.unwrap(
149
147
  Effect.map(getOrCreateBaseLogger, (baseLogger) =>
150
148
  Layer.effect(Client, make(options)).pipe(
151
- Layer.provideMerge(RivetLogger.layerFromPino(baseLogger)),
149
+ Layer.provideMerge(Logger.layerPino(baseLogger)),
152
150
  ),
153
151
  ),
154
152
  );
package/src/Logger.ts ADDED
@@ -0,0 +1,43 @@
1
+ import { Effect, Logger as EffectLogger, Layer } from "effect";
2
+ import type { Logger as PinoLogger } from "rivetkit/log";
3
+ import {
4
+ BaseLogger,
5
+ getOrCreateBaseLogger,
6
+ makeEffectLogger,
7
+ } from "./internal/logging.ts";
8
+
9
+ /**
10
+ * Builds a logging layer from a custom Pino-compatible logger.
11
+ *
12
+ * The layer installs the matching Effect logger and configures the underlying
13
+ * RivetKit TypeScript SDK logs to go through the same logger.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { Logger } from "@rivetkit/effect"
18
+ * import { pino } from "pino"
19
+ *
20
+ * const LoggerLive = Logger.layerPino(
21
+ * pino({ transport: { target: "pino-pretty" } })
22
+ * )
23
+ * ```
24
+ */
25
+ export const layerPino = (baseLogger: PinoLogger) =>
26
+ Layer.mergeAll(
27
+ Layer.succeed(BaseLogger, baseLogger),
28
+ EffectLogger.layer([
29
+ EffectLogger.tracerLogger,
30
+ makeEffectLogger(baseLogger),
31
+ ]),
32
+ );
33
+
34
+ /**
35
+ * Default RivetKit Effect logging layer.
36
+ *
37
+ * The layer creates a base logger from `References.MinimumLogLevel` and installs
38
+ * the Effect logger adapter. Applications that want custom formatting or
39
+ * transports should provide {@link layerPino} instead.
40
+ */
41
+ export const layer: Layer.Layer<never> = Layer.unwrap(
42
+ Effect.map(getOrCreateBaseLogger, layerPino),
43
+ );
@@ -1,8 +1,12 @@
1
1
  import { assert, describe, it } from "@effect/vitest";
2
- import { Action, Actor, Registry, RivetLogger } from "@rivetkit/effect";
2
+ import { Action, Actor, Logger, Registry } from "@rivetkit/effect";
3
3
  import { Effect, Layer } from "effect";
4
4
  import { HttpEffect } from "effect/unstable/http";
5
- import * as RivetkitLog from "rivetkit/log";
5
+ import {
6
+ configureDefaultLogger,
7
+ getBaseLogger,
8
+ type Logger as PinoLogger,
9
+ } from "rivetkit/log";
6
10
  import { vi } from "vitest";
7
11
 
8
12
  const TestActor = Actor.make("TestActor", {
@@ -24,7 +28,7 @@ const RegistryLive = ActorsLayer.pipe(
24
28
  ),
25
29
  );
26
30
 
27
- function makeTestLogger(): RivetkitLog.Logger {
31
+ function makeTestLogger(): PinoLogger {
28
32
  const logger: Record<string, unknown> = {
29
33
  level: "debug",
30
34
  child: () => logger,
@@ -33,7 +37,7 @@ function makeTestLogger(): RivetkitLog.Logger {
33
37
  logger[level] = (): void => {};
34
38
  }
35
39
 
36
- return logger as unknown as RivetkitLog.Logger;
40
+ return logger as unknown as PinoLogger;
37
41
  }
38
42
 
39
43
  describe("Registry.toWebHandler", () => {
@@ -220,7 +224,7 @@ describe("Registry.toWebHandler", () => {
220
224
  it("uses a custom logger layer for the underlying RivetKit registry", async () => {
221
225
  const baseLogger = makeTestLogger();
222
226
  const CustomLoggerRegistryLive = RegistryLive.pipe(
223
- Layer.provide(RivetLogger.layerFromPino(baseLogger)),
227
+ Layer.provide(Logger.layerPino(baseLogger)),
224
228
  );
225
229
  const { handler, dispose } = Registry.toWebHandler(
226
230
  CustomLoggerRegistryLive,
@@ -232,10 +236,10 @@ describe("Registry.toWebHandler", () => {
232
236
  );
233
237
 
234
238
  assert.strictEqual(response.status, 200);
235
- assert.strictEqual(RivetkitLog.getBaseLogger(), baseLogger);
239
+ assert.strictEqual(getBaseLogger(), baseLogger);
236
240
  } finally {
237
241
  await dispose();
238
- RivetkitLog.configureDefaultLogger("silent");
242
+ configureDefaultLogger("silent");
239
243
  }
240
244
  });
241
245
 
package/src/Registry.ts CHANGED
@@ -7,10 +7,10 @@ import {
7
7
  type HttpServerResponse,
8
8
  } from "effect/unstable/http";
9
9
  import * as Rivetkit from "rivetkit";
10
- import * as RivetkitLog from "rivetkit/log";
10
+ import { configureBaseLogger, type Logger as PinoLogger } from "rivetkit/log";
11
11
  import * as Client from "./Client.ts";
12
12
  import { BaseLogger, getOrCreateBaseLogger } from "./internal/logging.ts";
13
- import * as RivetLogger from "./RivetLogger.ts";
13
+ import * as Logger from "./Logger.ts";
14
14
 
15
15
  const TypeId = "~@rivetkit/effect/Registry";
16
16
  type ServerlessOptions = NonNullable<
@@ -19,7 +19,7 @@ type ServerlessOptions = NonNullable<
19
19
 
20
20
  export type Options = Pick<
21
21
  Rivetkit.RegistryConfigInput<Rivetkit.RegistryActors>,
22
- "endpoint" | "token" | "namespace" | "noWelcome" | "sqlite"
22
+ "endpoint" | "token" | "namespace" | "noWelcome"
23
23
  >;
24
24
 
25
25
  export interface Registry {
@@ -27,7 +27,7 @@ export interface Registry {
27
27
 
28
28
  readonly options: Options;
29
29
 
30
- readonly baseLogger: RivetkitLog.Logger;
30
+ readonly baseLogger: PinoLogger;
31
31
 
32
32
  readonly rivetkitActors: Map<string, Rivetkit.AnyActorDefinition>;
33
33
  }
@@ -35,49 +35,20 @@ export interface Registry {
35
35
  export const Registry: Context.Service<Registry, Registry> =
36
36
  Context.Service<Registry>("@rivetkit/effect/Registry");
37
37
 
38
- /**
39
- * Creates the shared registry that actor layers register into.
40
- *
41
- * @remarks
42
- * Actor layers created with {@link Actor.Actor.toLayer|`Actor.toLayer()`}
43
- * register into this service. Registry entrypoints such as
44
- * {@link serve|`Registry.serve()`}, {@link toWebHandler|`Registry.toWebHandler()`},
45
- * and {@link toHttpEffect|`Registry.toHttpEffect()`} later use the collected
46
- * actors to create the underlying RivetKit runtime.
47
- *
48
- * @param options - RivetKit runtime options shared by the registered actors.
49
- *
50
- * @returns A layer that provides the {@link Registry|`Registry.Registry`}
51
- * service.
52
- *
53
- * @example
54
- * ```ts
55
- * import { Registry } from "@rivetkit/effect"
56
- * import { Layer } from "effect"
57
- *
58
- * const ActorsLayer = Layer.mergeAll(ChatRoomLive, ModeratorLive)
59
- *
60
- * const MainLayer = Registry.serve(ActorsLayer).pipe(
61
- * Layer.provide(Registry.layer({ endpoint: "http://127.0.0.1:6420" }))
62
- * )
63
- * ```
64
- *
65
- * @see {@link serve|`Registry.serve()`} for starting a long-running actor
66
- * server.
67
- * @see {@link toWebHandler|`Registry.toWebHandler()`} for Fetch-compatible
68
- * serverless handlers.
69
- * @see {@link toHttpEffect|`Registry.toHttpEffect()`} for Effect HTTP handlers.
70
- */
38
+ const make = (options: Options, baseLogger: PinoLogger): Registry => {
39
+ return Registry.of({
40
+ [TypeId]: TypeId,
41
+ options,
42
+ baseLogger,
43
+ rivetkitActors: new Map(),
44
+ });
45
+ };
46
+
71
47
  export const layer = (options: Options = {}): Layer.Layer<Registry> =>
72
48
  Layer.effect(
73
49
  Registry,
74
50
  Effect.map(getOrCreateBaseLogger, (baseLogger) =>
75
- Registry.of({
76
- [TypeId]: TypeId,
77
- options,
78
- baseLogger,
79
- rivetkitActors: new Map(),
80
- }),
51
+ make(options, baseLogger),
81
52
  ),
82
53
  );
83
54
 
@@ -86,53 +57,24 @@ const setupRivetkitRegistry = (
86
57
  options?: {
87
58
  readonly serverless?: ServerlessOptions | undefined;
88
59
  },
89
- ) =>
90
- Effect.sync(() =>
91
- Rivetkit.setup({
92
- use: Object.fromEntries(registry.rivetkitActors),
93
- ...registry.options,
94
- logging: { baseLogger: registry.baseLogger },
95
- ...(options?.serverless === undefined
96
- ? {}
97
- : { serverless: options.serverless }),
98
- }),
99
- );
60
+ ) => {
61
+ configureBaseLogger(registry.baseLogger);
62
+ return Rivetkit.setup({
63
+ use: Object.fromEntries(registry.rivetkitActors),
64
+ ...registry.options,
65
+ logging: { baseLogger: registry.baseLogger },
66
+ ...(options?.serverless === undefined
67
+ ? {}
68
+ : { serverless: options.serverless }),
69
+ });
70
+ };
100
71
 
101
72
  /**
102
- * Serves the actors registered by `actorsLayer`.
103
- *
104
- * @remarks
105
- * Provide this with {@link layer|`Registry.layer()`} at the application root.
106
- * Building the returned layer evaluates the actor layer, collects its registered
107
- * actors, and starts the underlying RivetKit runtime using the options from
108
- * {@link layer|`Registry.layer()`}. Launch the resulting layer with
109
- * {@link Layer.launch|`Layer.launch()`} to keep the server process alive.
110
- *
111
- * @param actorsLayer - A layer containing one or more
112
- * {@link Actor.Actor.toLayer|`Actor.toLayer()`} registrations.
113
- *
114
- * @returns A side-effecting startup layer that requires the
115
- * {@link Registry|`Registry.Registry`} service and the services required by
116
- * `actorsLayer`.
117
- *
118
- * @example
119
- * ```ts
120
- * import { Registry } from "@rivetkit/effect"
121
- * import { Layer } from "effect"
122
- *
123
- * const ActorsLayer = Layer.mergeAll(ChatRoomLive, ModeratorLive)
124
- *
125
- * const MainLayer = Registry.serve(ActorsLayer).pipe(
126
- * Layer.provide(Registry.layer({ endpoint: "http://127.0.0.1:6420" }))
127
- * )
128
- *
129
- * Layer.launch(MainLayer).pipe(NodeRuntime.runMain);
130
- * ```
131
- *
132
- * @see {@link toWebHandler|`Registry.toWebHandler()`} for Fetch-compatible
133
- * serverless handlers.
134
- * @see {@link toHttpEffect|`Registry.toHttpEffect()`} for Effect HTTP handlers.
73
+ * Runs an actor registration layer against the configured engine.
135
74
  *
75
+ * The actor layer is built in the server layer scope. Registered Rivet Actors
76
+ * are collected from `Registry`, materialized into a single underlying RivetKit
77
+ * registry, and started.
136
78
  */
137
79
  export const serve = <E, R>(
138
80
  actorsLayer: Layer.Layer<never, E, R>,
@@ -140,14 +82,13 @@ export const serve = <E, R>(
140
82
  Layer.effectDiscard(
141
83
  Effect.gen(function* () {
142
84
  const registry = yield* Registry;
85
+ const baseLogger = registry.baseLogger;
143
86
  yield* Layer.build(
144
87
  actorsLayer.pipe(
145
- Layer.provideMerge(
146
- RivetLogger.layerFromPino(registry.baseLogger),
147
- ),
88
+ Layer.provideMerge(Logger.layerPino(baseLogger)),
148
89
  ),
149
90
  );
150
- const rivetkitRegistry = yield* setupRivetkitRegistry(registry);
91
+ const rivetkitRegistry = setupRivetkitRegistry(registry);
151
92
  yield* Effect.sync(() => rivetkitRegistry.start());
152
93
  }),
153
94
  );
@@ -166,7 +107,7 @@ export const test: Layer.Layer<Client.Client, never, Registry> = Layer.effect(
166
107
  Client.Client,
167
108
  Effect.gen(function* () {
168
109
  const registry = yield* Registry;
169
- const rivetkitRegistry = yield* setupRivetkitRegistry(registry);
110
+ const rivetkitRegistry = setupRivetkitRegistry(registry);
170
111
  rivetkitRegistry.config.test = {
171
112
  ...rivetkitRegistry.config.test,
172
113
  enabled: true,
@@ -204,21 +145,17 @@ const makeHttpEffect = (
204
145
  registry: Registry,
205
146
  options?: ToHttpEffectOptions,
206
147
  ): Effect.Effect<
207
- Effect.Effect<
208
- HttpServerResponse.HttpServerResponse,
209
- HttpServerError.HttpServerError,
210
- HttpServerRequest.HttpServerRequest
211
- >
212
- > =>
213
- Effect.map(
214
- setupRivetkitRegistry(registry, {
215
- serverless: options,
216
- }),
217
- (rivetkitRegistry) =>
218
- HttpEffect.fromWebHandler((request) =>
219
- rivetkitRegistry.handler(request),
220
- ),
148
+ HttpServerResponse.HttpServerResponse,
149
+ HttpServerError.HttpServerError,
150
+ HttpServerRequest.HttpServerRequest
151
+ > => {
152
+ const rivetkitRegistry = setupRivetkitRegistry(registry, {
153
+ serverless: options,
154
+ });
155
+ return HttpEffect.fromWebHandler((request) =>
156
+ rivetkitRegistry.handler(request),
221
157
  );
158
+ };
222
159
 
223
160
  export type ToHttpEffectOptions = ServerlessOptions;
224
161
 
@@ -242,14 +179,12 @@ export const toHttpEffect = Effect.fnUntraced(function* <E>(
242
179
  Scope.Scope
243
180
  > {
244
181
  const context = yield* Layer.build(
245
- registryLayer.pipe(Layer.provideMerge(RivetLogger.defaultLayer)),
246
- );
247
- const httpEffect = yield* makeHttpEffect(
248
- Context.get(context, Registry),
249
- options,
182
+ registryLayer.pipe(Layer.provideMerge(Logger.layer)),
250
183
  );
251
184
  // @effect-diagnostics-next-line returnEffectInGen:off
252
- return httpEffect.pipe(Effect.provide(context));
185
+ return makeHttpEffect(Context.get(context, Registry), options).pipe(
186
+ Effect.provide(context),
187
+ );
253
188
  });
254
189
 
255
190
  export type ToWebHandlerOptions = ServerlessOptions & {
@@ -286,17 +221,16 @@ export const toWebHandler = <E>(
286
221
  }
287
222
 
288
223
  const registryLayerWithLogging = registryLayer.pipe(
289
- Layer.provideMerge(RivetLogger.defaultLayer),
224
+ Layer.provideMerge(Logger.layer),
290
225
  );
291
226
 
292
227
  return HttpEffect.toWebHandlerLayerWith(registryLayerWithLogging, {
293
228
  toHandler: (context) =>
294
- Effect.map(
229
+ Effect.succeed(
295
230
  makeHttpEffect(
296
231
  Context.get(context, Registry),
297
232
  serverlessOptions,
298
- ),
299
- (httpEffect) => httpEffect.pipe(Effect.provide(context)),
233
+ ).pipe(Effect.provide(context)),
300
234
  ),
301
235
  middleware,
302
236
  memoMap,
@@ -121,13 +121,6 @@ describe("RivetError", () => {
121
121
  "actor ready timeout",
122
122
  ),
123
123
  );
124
- const wakeRetriesExceeded = RivetError.fromUnknown(
125
- new RivetkitErrors.RivetError(
126
- "guard",
127
- "actor_wake_retries_exceeded",
128
- "actor wake retries exceeded",
129
- ),
130
- );
131
124
  const tunnelTimeout = RivetError.fromUnknown(
132
125
  new RivetkitErrors.RivetError(
133
126
  "guard",
@@ -144,10 +137,6 @@ describe("RivetError", () => {
144
137
  readyTimeout.reason,
145
138
  RivetError.GuardActorReadyTimeout,
146
139
  );
147
- assert.instanceOf(
148
- wakeRetriesExceeded.reason,
149
- RivetError.GuardActorWakeRetriesExceeded,
150
- );
151
140
  assert.instanceOf(
152
141
  tunnelTimeout.reason,
153
142
  RivetError.GuardTunnelMessageTimeout,
package/src/RivetError.ts CHANGED
@@ -426,38 +426,6 @@ export class GuardActorReadyTimeout extends Schema.TaggedErrorClass<GuardActorRe
426
426
  }
427
427
  }
428
428
 
429
- export class GuardActorWakeRetriesExceeded extends Schema.TaggedErrorClass<GuardActorWakeRetriesExceeded>(
430
- `${ReasonTypeId}/GuardActorWakeRetriesExceeded`,
431
- )("GuardActorWakeRetriesExceeded", {
432
- cause: Schema.instanceOf(RivetkitErrors.RivetError),
433
- }) {
434
- readonly [ReasonTypeId] = ReasonTypeId;
435
- override get message() {
436
- return this.cause.message;
437
- }
438
- get group() {
439
- return this.cause.group;
440
- }
441
- get code() {
442
- return this.cause.code;
443
- }
444
- get metadata() {
445
- return this.cause.metadata;
446
- }
447
- get actor() {
448
- return this.cause.actor;
449
- }
450
- get statusCode() {
451
- return this.cause.statusCode;
452
- }
453
- get public() {
454
- return this.cause.public;
455
- }
456
- get isRetryable(): boolean {
457
- return true;
458
- }
459
- }
460
-
461
429
  export class GuardActorRunnerFailed extends Schema.TaggedErrorClass<GuardActorRunnerFailed>(
462
430
  `${ReasonTypeId}/GuardActorRunnerFailed`,
463
431
  )("GuardActorRunnerFailed", {
@@ -848,7 +816,6 @@ export type RivetErrorReason =
848
816
  | InvalidEncoding
849
817
  | InvalidRequest
850
818
  | GuardActorReadyTimeout
851
- | GuardActorWakeRetriesExceeded
852
819
  | GuardActorRunnerFailed
853
820
  | GuardServiceUnavailable
854
821
  | GuardActorStoppedWhileWaiting
@@ -876,7 +843,6 @@ export const RivetErrorReason: Schema.Union<
876
843
  typeof InvalidEncoding,
877
844
  typeof InvalidRequest,
878
845
  typeof GuardActorReadyTimeout,
879
- typeof GuardActorWakeRetriesExceeded,
880
846
  typeof GuardActorRunnerFailed,
881
847
  typeof GuardServiceUnavailable,
882
848
  typeof GuardActorStoppedWhileWaiting,
@@ -903,7 +869,6 @@ export const RivetErrorReason: Schema.Union<
903
869
  InvalidEncoding,
904
870
  InvalidRequest,
905
871
  GuardActorReadyTimeout,
906
- GuardActorWakeRetriesExceeded,
907
872
  GuardActorRunnerFailed,
908
873
  GuardServiceUnavailable,
909
874
  GuardActorStoppedWhileWaiting,
@@ -1028,8 +993,6 @@ const reasonByCode: { [key: string]: MakeRivetErrorReason | undefined } = {
1028
993
  "request.invalid": (error) => new InvalidRequest({ cause: error }),
1029
994
  "guard.actor_ready_timeout": (error) =>
1030
995
  new GuardActorReadyTimeout({ cause: error }),
1031
- "guard.actor_wake_retries_exceeded": (error) =>
1032
- new GuardActorWakeRetriesExceeded({ cause: error }),
1033
996
  "guard.actor_runner_failed": (error) =>
1034
997
  new GuardActorRunnerFailed({ cause: error }),
1035
998
  "guard.service_unavailable": (error) =>