@rivetkit/effect 2.3.2 → 2.3.3-rc.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 (63) hide show
  1. package/dist/Actor.d.ts +2 -3
  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 +6 -4
  7. package/dist/Client.js.map +1 -1
  8. package/dist/Registry.d.ts +69 -7
  9. package/dist/Registry.d.ts.map +1 -1
  10. package/dist/Registry.js +93 -40
  11. package/dist/Registry.js.map +1 -1
  12. package/dist/RivetError.d.ts +18 -3
  13. package/dist/RivetError.d.ts.map +1 -1
  14. package/dist/RivetError.js +31 -0
  15. package/dist/RivetError.js.map +1 -1
  16. package/dist/RivetLogger.d.ts +41 -0
  17. package/dist/RivetLogger.d.ts.map +1 -0
  18. package/dist/RivetLogger.js +41 -0
  19. package/dist/RivetLogger.js.map +1 -0
  20. package/dist/State.d.ts +92 -56
  21. package/dist/State.d.ts.map +1 -1
  22. package/dist/State.js +51 -57
  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 +2 -7
  30. package/dist/internal/ActorStateAdapter.js.map +1 -1
  31. package/dist/internal/StateOptions.d.ts +1 -0
  32. package/dist/internal/StateOptions.d.ts.map +1 -1
  33. package/dist/internal/logging.d.ts +6 -7
  34. package/dist/internal/logging.d.ts.map +1 -1
  35. package/dist/internal/logging.js +78 -102
  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 +3 -3
  42. package/src/Actor.test-d.ts +32 -0
  43. package/src/Actor.ts +29 -4
  44. package/src/Client.test.ts +21 -18
  45. package/src/Client.ts +6 -4
  46. package/src/Registry.test.ts +7 -11
  47. package/src/Registry.ts +116 -50
  48. package/src/RivetError.test.ts +11 -0
  49. package/src/RivetError.ts +37 -0
  50. package/src/RivetLogger.ts +60 -0
  51. package/src/State.test.ts +163 -4
  52. package/src/State.ts +293 -97
  53. package/src/internal/ActorInstanceManager.ts +4 -10
  54. package/src/internal/ActorStateAdapter.ts +5 -11
  55. package/src/internal/StateOptions.ts +4 -0
  56. package/src/internal/logging.test.ts +65 -88
  57. package/src/internal/logging.ts +103 -143
  58. package/src/mod.ts +1 -1
  59. package/dist/Logger.d.ts +0 -29
  60. package/dist/Logger.d.ts.map +0 -1
  61. package/dist/Logger.js +0 -31
  62. package/dist/Logger.js.map +0 -1
  63. package/src/Logger.ts +0 -43
package/dist/State.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"State.js","sourceRoot":"","sources":["../src/State.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"State.js","sourceRoot":"","sources":["../src/State.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActorInstanceManager.d.ts","sourceRoot":"","sources":["../../src/internal/ActorInstanceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAQ,KAAK,KAAK,EAAY,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5E,OAAO,KAAK,KAAK,QAAQ,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAEvD,KAAK,qBAAqB,CACzB,eAAe,SAAS,YAAY,CAAC,GAAG,EACxC,QAAQ,SAAS,UAAU,CAAC,mBAAmB,IAC5C,QAAQ,CAAC,eAAe,CAC3B,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,EACrC,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACpB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACpB,GAAG,CACH,CAAC;AAEF,KAAK,WAAW,CACf,eAAe,SAAS,YAAY,CAAC,GAAG,EACxC,QAAQ,SAAS,UAAU,CAAC,mBAAmB,IAC5C,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE7E,MAAM,MAAM,QAAQ,CACnB,cAAc,EACd,eAAe,SAAS,YAAY,CAAC,GAAG,IACrC;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,KACvB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;CAC/D,CAAC;AAEF,eAAO,MAAM,IAAI,GAChB,cAAc,EACd,eAAe,SAAS,YAAY,CAAC,GAAG,EACxC,QAAQ,SAAS,UAAU,CAAC,mBAAmB,EAC/C,WAAW;0BAOW,CACrB,WAAW,EAAE,WAAW,KACpB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC;2BAE3C,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC,GAC1C,SAAS;0BACU,CACrB,CAAC,EAAE,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,EACzC,KAAK,EAAE,KAAK,CAAC,SAAS,KAClB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;8BACC,CACzB,CAAC,EAAE,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,EACzC,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,SAAS,KAC5D,WAAW;;mBA0CA,MAAM;gBACH,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC;wBAalD,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,YAC/B,OAAO;oBASE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE;cAalD,CAAC"}
1
+ {"version":3,"file":"ActorInstanceManager.d.ts","sourceRoot":"","sources":["../../src/internal/ActorInstanceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAQ,KAAK,KAAK,EAAY,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5E,OAAO,KAAK,KAAK,QAAQ,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAEvD,KAAK,qBAAqB,CACzB,eAAe,SAAS,YAAY,CAAC,GAAG,EACxC,QAAQ,SAAS,UAAU,CAAC,mBAAmB,IAC5C,QAAQ,CAAC,eAAe,CAC3B,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,EACrC,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACpB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACpB,GAAG,CACH,CAAC;AAEF,KAAK,WAAW,CACf,eAAe,SAAS,YAAY,CAAC,GAAG,EACxC,QAAQ,SAAS,UAAU,CAAC,mBAAmB,IAC5C,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE7E,MAAM,MAAM,QAAQ,CACnB,cAAc,EACd,eAAe,SAAS,YAAY,CAAC,GAAG,IACrC;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,KACvB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;CAC/D,CAAC;AAEF,eAAO,MAAM,IAAI,GAChB,cAAc,EACd,eAAe,SAAS,YAAY,CAAC,GAAG,EACxC,QAAQ,SAAS,UAAU,CAAC,mBAAmB,EAC/C,WAAW;0BAOW,CACrB,WAAW,EAAE,WAAW,KACpB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC;2BAE3C,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC,GAC1C,SAAS;0BACU,CACrB,CAAC,EAAE,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,EACzC,KAAK,EAAE,KAAK,CAAC,SAAS,KAClB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;8BACC,CACzB,CAAC,EAAE,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,EACzC,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,SAAS,KAC5D,WAAW;;mBA4CA,MAAM;gBACH,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC;wBAKlD,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,YAC/B,OAAO;oBASE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE;cAalD,CAAC"}
@@ -7,7 +7,9 @@ export const make = Effect.fnUntraced(function* ({ wakeHandler, stateAdapter, ma
7
7
  const scope = yield* Scope.make();
8
8
  return yield* Effect.gen(function* () {
9
9
  const state = stateAdapter
10
- ? yield* stateAdapter.makeStateView(c)
10
+ ? yield* stateAdapter
11
+ .makeStateView(c)
12
+ .pipe(Effect.provideService(Scope.Scope, scope))
11
13
  : undefined;
12
14
  const context = makeContext(c, scope);
13
15
  const actionHandlers = yield* wakeHandler(makeWakeOptions(c, state)).pipe(Effect.provide(context));
@@ -23,9 +25,7 @@ export const make = Effect.fnUntraced(function* ({ wakeHandler, stateAdapter, ma
23
25
  return {
24
26
  get: (actorId) => instances.get(actorId),
25
27
  onWake: async (c) => {
26
- await runPromise(makeInstance(c).pipe(Effect.tap((instance) => Effect.sync(() => {
27
- instances.set(c.actorId, instance);
28
- }))));
28
+ instances.set(c.actorId, await runPromise(makeInstance(c)));
29
29
  },
30
30
  onStateChange: stateAdapter
31
31
  ? (c, newState) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ActorInstanceManager.js","sourceRoot":"","sources":["../../src/internal/ActorInstanceManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActorInstanceManager.js","sourceRoot":"","sources":["../../src/internal/ActorInstanceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAc,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAuC5E,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAK7C,EACD,WAAW,EACX,YAAY,EACZ,WAAW,EACX,eAAe,GAgBf;IACA,MAAM,SAAS,GAAG,IAAI,GAAG,EAGtB,CAAC;IAEJ,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAO,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC/C,CAAyC;QAEzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACjC,MAAM,KAAK,GAAG,YAAY;gBACzB,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY;qBAClB,aAAa,CAAC,CAAC,CAAC;qBAChB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAC;YACb,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,WAAW,CACxC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CACzB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAChC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAIxC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAE3D,OAAO;gBACN,cAAc;gBACd,OAAO;gBACP,KAAK;gBACL,KAAK;aACL,CAAC;QACH,CAAC,CAAC,CAAC,IAAI,CACN,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACzC,CACD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;QAChD,MAAM,EAAE,KAAK,EAAE,CAAyC,EAAE,EAAE;YAC3D,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,aAAa,EAAE,YAAY;YAC1B,CAAC,CAAC,CACA,CAAyC,EACzC,QAAiB,EAChB,EAAE;gBACH,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC1C,gEAAgE;gBAChE,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBAEtB,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;YACF,CAAC,CAAC,SAAS;QACZ,UAAU,EAAE,KAAK,EAAE,CAA+B,EAAE,EAAE;YACrD,OAAO,UAAU,CAChB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACnB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC1C,iEAAiE;gBACjE,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBAEtB,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5B,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC,CAAC,CACF,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Effect, type Fiber, Schema } from "effect";
2
2
  import * as State from "../State.ts";
3
3
  import type * as StateOptions from "./StateOptions.ts";
4
- export type ActorState<StateDefinition extends StateOptions.Any> = State.State<StateOptions.Decoded<StateDefinition>, Schema.SchemaError>;
4
+ export type ActorState<StateDefinition extends StateOptions.Any> = State.State<StateOptions.Decoded<StateDefinition>, Schema.SchemaError, StateOptions.Services<StateDefinition>>;
5
5
  type StateInstance<StateDefinition extends StateOptions.Any> = {
6
6
  readonly runFork: <A, E>(effect: Effect.Effect<A, E, any>, options?: Effect.RunOptions) => Fiber.Fiber<A, E>;
7
7
  readonly state?: ActorState<StateDefinition>;
@@ -1 +1 @@
1
- {"version":3,"file":"ActorStateAdapter.d.ts","sourceRoot":"","sources":["../../src/internal/ActorStateAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,UAAU,CAAC,eAAe,SAAS,YAAY,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAC7E,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,EACrC,MAAM,CAAC,WAAW,CAClB,CAAC;AAEF,KAAK,aAAa,CAAC,eAAe,SAAS,YAAY,CAAC,GAAG,IAAI;IAC9D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,KACvB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,eAAe,SAAS,YAAY,CAAC,GAAG,IAAI;IAC/D,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE;QAC3B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;KAC7C,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,QAAQ,CAAC,kBAAkB,EAAE,MAAM,OAAO,CACzC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CACrC,CAAC;IACF,QAAQ,CAAC,aAAa,EAAE,CACvB,QAAQ,EAAE,aAAa,CAAC,eAAe,CAAC,EACxC,QAAQ,EAAE,OAAO,KACb,IAAI,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,IAAI,GAChB,eAAe,SAAS,YAAY,CAAC,GAAG,uFAwDvC,CAAC"}
1
+ {"version":3,"file":"ActorStateAdapter.d.ts","sourceRoot":"","sources":["../../src/internal/ActorStateAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,UAAU,CAAC,eAAe,SAAS,YAAY,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAC7E,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,EACrC,MAAM,CAAC,WAAW,EAClB,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CACtC,CAAC;AAEF,KAAK,aAAa,CAAC,eAAe,SAAS,YAAY,CAAC,GAAG,IAAI;IAC9D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,KACvB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,eAAe,SAAS,YAAY,CAAC,GAAG,IAAI;IAC/D,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE;QAC3B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;KAC7C,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,QAAQ,CAAC,kBAAkB,EAAE,MAAM,OAAO,CACzC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CACrC,CAAC;IACF,QAAQ,CAAC,aAAa,EAAE,CACvB,QAAQ,EAAE,aAAa,CAAC,eAAe,CAAC,EACxC,QAAQ,EAAE,OAAO,KACb,IAAI,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,IAAI,GAChB,eAAe,SAAS,YAAY,CAAC,GAAG,uFAiDvC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Effect, Schema, Semaphore } from "effect";
1
+ import { Effect, Schema } from "effect";
2
2
  import * as State from "../State.js";
3
3
  export const make = Effect.fnUntraced(function* (stateOptions) {
4
4
  const services = yield* Effect.context();
@@ -16,12 +16,7 @@ export const make = Effect.fnUntraced(function* (stateOptions) {
16
16
  publishChange: (instance, newState) => {
17
17
  instance.runFork(Effect.gen(function* () {
18
18
  const state = yield* Effect.fromNullishOr(instance.state).pipe(Effect.orDie);
19
- yield* Semaphore.withPermit(state.semaphore, Effect.gen(function* () {
20
- const decoded = yield* stateCodec
21
- .decodeUnknown(newState)
22
- .pipe(Effect.orDie);
23
- State.publishUnsafe(state, decoded);
24
- }));
19
+ yield* state[State.RuntimeTypeId].publishEffect(stateCodec.decodeUnknown(newState).pipe(Effect.orDie));
25
20
  }));
26
21
  },
27
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ActorStateAdapter.js","sourceRoot":"","sources":["../../src/internal/ActorStateAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AA6BrC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAG9C,YAA6B;IAE7B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAO,CAAC;IAE9C,MAAM,UAAU,GAAG;QAClB,aAAa,EAAE,MAAM,CAAC,mBAAmB,CACxC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CACvC;QACD,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;KACpE,CAAC;IAEF,OAAO;QACN,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CACpB,KAAK,CAAC,IAAI,CACT,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,EACvC,CAAC,IAAI,EAAE,EAAE,CACR,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACtB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;QACnB,CAAC,CAAC,CACF,EACD,MAAM,CAAC,MAAM,CACb,CACF,CAAC,IAAI,CACL,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAoC,CAAC,CAC3D;QACF,kBAAkB,EAAE,GAAG,EAAE,CACxB,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAC9B,UAAU;aACR,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;aACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB;QACF,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACrC,QAAQ,CAAC,OAAO,CACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACnB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CACxC,QAAQ,CAAC,KAAK,CACd,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAErB,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAC1B,KAAK,CAAC,SAAS,EACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACnB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU;yBAC/B,aAAa,CAAC,QAAQ,CAAC;yBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACrB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACrC,CAAC,CAAC,CACF,CAAC;YACH,CAAC,CAAC,CACF,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ActorStateAdapter.js","sourceRoot":"","sources":["../../src/internal/ActorStateAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AA8BrC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAG9C,YAA6B;IAE7B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAO,CAAC;IAE9C,MAAM,UAAU,GAAG;QAClB,aAAa,EAAE,MAAM,CAAC,mBAAmB,CACxC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CACvC;QACD,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;KACpE,CAAC;IAEF,OAAO;QACN,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CACpB,KAAK,CAAC,IAAI,CACT,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,EACvC,CAAC,IAAI,EAAE,EAAE,CACR,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACtB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;QACnB,CAAC,CAAC,CACF,EACD,MAAM,CAAC,MAAM,CACb,CACF,CAAC,IAAI,CACL,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAoC,CAAC,CAC3D;QACF,kBAAkB,EAAE,GAAG,EAAE,CACxB,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAC9B,UAAU;aACR,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;aACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB;QACF,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACrC,QAAQ,CAAC,OAAO,CACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACnB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CACxC,QAAQ,CAAC,KAAK,CACd,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrB,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAC9C,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CACrD,CAAC;YACH,CAAC,CAAC,CACF,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -7,6 +7,7 @@ export interface Any {
7
7
  readonly schema: Schema.Top;
8
8
  readonly initialValue: () => unknown;
9
9
  }
10
+ export type Services<State extends Any> = State["schema"]["DecodingServices"] | State["schema"]["EncodingServices"];
10
11
  export type Encoded<State extends Any> = State["schema"]["Encoded"] | ([State] extends [never] ? undefined : never);
11
12
  export type Decoded<State extends Any> = State["schema"]["Type"];
12
13
  //# sourceMappingURL=StateOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateOptions.d.ts","sourceRoot":"","sources":["../../src/internal/StateOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG;IACxD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC;CACrC;AAED,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,GAAG,IAClC,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAC1B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;AAEjD,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"StateOptions.d.ts","sourceRoot":"","sources":["../../src/internal/StateOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG;IACxD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC;CACrC;AAED,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,GAAG,IACnC,KAAK,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GACnC,KAAK,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAEvC,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,GAAG,IAClC,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAC1B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;AAEjD,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -1,23 +1,22 @@
1
- import { Context, Effect, Logger as EffectLogger, type LogLevel } from "effect";
1
+ import { Context, Effect, Logger } from "effect";
2
2
  import type * as Rivetkit from "rivetkit";
3
- import { type Logger as PinoLogger, type LogLevel as PinoLogLevel } from "rivetkit/log";
3
+ import * as RivetkitLog from "rivetkit/log";
4
4
  type ActorLogContext = {
5
5
  readonly name: string;
6
6
  readonly key: Rivetkit.ActorKey;
7
7
  readonly actorId: string;
8
8
  };
9
- declare const BaseLogger_base: Context.ServiceClass<BaseLogger, "@rivetkit/effect/Logger/BaseLogger", PinoLogger>;
9
+ declare const BaseLogger_base: Context.ServiceClass<BaseLogger, "@rivetkit/effect/RivetLogger/BaseLogger", RivetkitLog.Logger>;
10
10
  export declare class BaseLogger extends BaseLogger_base {
11
11
  }
12
- export declare const toPinoLevel: (logLevel: LogLevel.LogLevel) => PinoLogLevel;
13
- export declare const makeDefaultBaseLogger: Effect.Effect<PinoLogger>;
14
- export declare const getOrCreateBaseLogger: Effect.Effect<PinoLogger>;
12
+ export declare const makeDefaultBaseLogger: Effect.Effect<RivetkitLog.Logger>;
13
+ export declare const getOrCreateBaseLogger: Effect.Effect<RivetkitLog.Logger>;
15
14
  export declare function makeActorLogAnnotations(context: ActorLogContext): {
16
15
  readonly actor: string;
17
16
  readonly key: string;
18
17
  readonly actorId: string;
19
18
  };
20
19
  export declare function serializeActorKey(key: Rivetkit.ActorKey): string;
21
- export declare function makeEffectLogger(baseLogger: PinoLogger): EffectLogger.Logger<unknown, void>;
20
+ export declare function makeLogger(baseLogger: RivetkitLog.Logger): Logger.Logger<unknown, void>;
22
21
  export {};
23
22
  //# sourceMappingURL=logging.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/internal/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,OAAO,EACP,MAAM,EACN,MAAM,IAAI,YAAY,EACtB,KAAK,QAAQ,EAEb,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,KAAK,QAAQ,MAAM,UAAU,CAAC;AAC1C,OAAO,EAGN,KAAK,MAAM,IAAI,UAAU,EACzB,KAAK,QAAQ,IAAI,YAAY,EAC7B,MAAM,cAAc,CAAC;AAKtB,KAAK,eAAe,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB,CAAC;;AAEF,qBAAa,UAAW,SAAQ,eAE/B;CAAG;AAaJ,eAAO,MAAM,WAAW,GAAI,UAAU,QAAQ,CAAC,QAAQ,KAAG,YACzB,CAAC;AA4BlC,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAoB3D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAS3D,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB,CAMA;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAgBhE;AAmED,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,UAAU,GACpB,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAoCpC"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/internal/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,OAAO,EACP,MAAM,EACN,MAAM,EAMN,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,KAAK,QAAQ,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAK5C,KAAK,eAAe,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB,CAAC;;AAEF,qBAAa,UAAW,SAAQ,eAGc;CAAG;AAuCjD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAUjE,CAAC;AAEJ,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAQjE,CAAC;AAEJ,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB,CAMA;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAgBhE;AAED,wBAAgB,UAAU,CACzB,UAAU,EAAE,WAAW,CAAC,MAAM,GAC5B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CA4B9B"}
@@ -1,21 +1,11 @@
1
- import { Cause, Config, Context, Effect, Logger as EffectLogger, References, } from "effect";
2
- import { configureDefaultLogger, getBaseLogger, } from "rivetkit/log";
1
+ import { Config, Context, Effect, Logger, Option, Predicate, Record as EffectRecord, References, } from "effect";
2
+ import * as RivetkitLog from "rivetkit/log";
3
3
  const EMPTY_KEY = "/";
4
4
  const KEY_SEPARATOR = "/";
5
- export class BaseLogger extends Context.Service()("@rivetkit/effect/Logger/BaseLogger") {
5
+ export class BaseLogger extends Context.Service()("@rivetkit/effect/RivetLogger/BaseLogger") {
6
6
  }
7
- const PinoLevelByEffectLevel = {
8
- All: "trace",
9
- Trace: "trace",
10
- Debug: "debug",
11
- Info: "info",
12
- Warn: "warn",
13
- Error: "error",
14
- Fatal: "fatal",
15
- None: "silent",
16
- };
17
- export const toPinoLevel = (logLevel) => PinoLevelByEffectLevel[logLevel];
18
- const EffectLevelByPinoLevel = {
7
+ const RivetkitLogLevels = RivetkitLog.LogLevelSchema.options;
8
+ const EffectLevelByRivetkitLevel = {
19
9
  trace: "Trace",
20
10
  debug: "Debug",
21
11
  info: "Info",
@@ -24,32 +14,30 @@ const EffectLevelByPinoLevel = {
24
14
  fatal: "Fatal",
25
15
  silent: "None",
26
16
  };
27
- const pinoLogLevelFromEnv = Config.string("RIVET_LOG_LEVEL").pipe(Config.map((value) => {
28
- const pinoLevel = value.toLowerCase();
29
- if (pinoLevel in EffectLevelByPinoLevel) {
30
- return EffectLevelByPinoLevel[pinoLevel];
31
- }
32
- return "Info";
17
+ const RivetkitLevelByEffectLevel = {
18
+ ...Object.fromEntries(RivetkitLogLevels.map((level) => [
19
+ EffectLevelByRivetkitLevel[level],
20
+ level,
21
+ ])),
22
+ All: "trace",
23
+ };
24
+ const rivetLogLevelFromEnv = Config.string("RIVET_LOG_LEVEL").pipe(Effect.option, Effect.map((maybeRivetLogLevel) => {
25
+ if (Option.isNone(maybeRivetLogLevel))
26
+ return Option.none();
27
+ const parsed = RivetkitLog.LogLevelSchema.safeParse(maybeRivetLogLevel.value.toLowerCase());
28
+ return parsed.success ? Option.some(parsed.data) : Option.none();
33
29
  }));
34
- const logLevelFromEnv = Config.logLevel("RIVET_LOG_LEVEL").pipe(Config.orElse(() => pinoLogLevelFromEnv), Effect.option);
35
30
  export const makeDefaultBaseLogger = Effect.gen(function* () {
36
- const context = yield* Effect.context();
37
- const providedMinimumLogLevel = Context.getOrUndefined(context, References.MinimumLogLevel);
38
- const envLogLevel = yield* logLevelFromEnv;
39
- const logLevel = providedMinimumLogLevel !== undefined
40
- ? providedMinimumLogLevel
41
- : envLogLevel._tag === "Some"
42
- ? envLogLevel.value
43
- : yield* References.MinimumLogLevel;
44
- return yield* Effect.sync(() => {
45
- configureDefaultLogger(toPinoLevel(logLevel));
46
- return getBaseLogger();
47
- });
31
+ const maybeRivetLogLevel = yield* rivetLogLevelFromEnv;
32
+ const logLevel = Option.isSome(maybeRivetLogLevel)
33
+ ? maybeRivetLogLevel.value
34
+ : RivetkitLevelByEffectLevel[yield* References.MinimumLogLevel];
35
+ return yield* Effect.sync(() => RivetkitLog.makeDefaultLogger(logLevel));
48
36
  });
49
37
  export const getOrCreateBaseLogger = Effect.gen(function* () {
50
- const provided = yield* Effect.serviceOption(BaseLogger);
51
- if (provided._tag === "Some") {
52
- return provided.value;
38
+ const maybeBaseLogger = yield* Effect.serviceOption(BaseLogger);
39
+ if (Option.isSome(maybeBaseLogger)) {
40
+ return maybeBaseLogger.value;
53
41
  }
54
42
  return yield* makeDefaultBaseLogger;
55
43
  });
@@ -75,51 +63,62 @@ export function serializeActorKey(key) {
75
63
  })
76
64
  .join(KEY_SEPARATOR);
77
65
  }
78
- function structuredValue(value) {
79
- if (value instanceof Error) {
80
- return value;
81
- }
82
- return value;
66
+ export function makeLogger(baseLogger) {
67
+ return Logger.make((options) => {
68
+ if (options.logLevel === "None")
69
+ return;
70
+ const rivetkitLevel = RivetkitLevelByEffectLevel[options.logLevel];
71
+ const structured = Logger.formatStructured.log(options);
72
+ const { msg, fields: messageFields } = extractMessage(structured.message);
73
+ const fields = {
74
+ ...messageFields,
75
+ ...structured.annotations,
76
+ fiberId: structured.fiberId,
77
+ };
78
+ if (!EffectRecord.isEmptyRecord(structured.spans)) {
79
+ fields.spans = structured.spans;
80
+ }
81
+ if (structured.cause !== undefined) {
82
+ fields.cause = structured.cause;
83
+ }
84
+ const logger = baseLogger[rivetkitLevel];
85
+ if (msg === undefined) {
86
+ logger.call(baseLogger, fields);
87
+ }
88
+ else {
89
+ logger.call(baseLogger, fields, msg);
90
+ }
91
+ });
83
92
  }
84
- function extractMessageAndFields(message) {
93
+ function extractMessage(message) {
85
94
  const values = Array.isArray(message) ? message : [message];
86
- if (values.length === 0) {
87
- return { msg: undefined, fields: {} };
88
- }
89
- const [first, ...rest] = values;
90
95
  const fields = {};
96
+ const args = [];
91
97
  let msg;
92
- if (first instanceof Error) {
93
- fields.error = first;
94
- msg = first.message;
95
- }
96
- else if (first !== null && typeof first === "object") {
97
- const firstFields = first;
98
- for (const [key, value] of Object.entries(firstFields)) {
99
- if (key === "msg") {
100
- if (value !== undefined) {
101
- msg = String(value);
102
- }
103
- }
104
- else {
105
- fields[key] = structuredValue(value);
106
- }
98
+ for (const [index, value] of values.entries()) {
99
+ if (Predicate.isError(value)) {
100
+ fields.error = value;
101
+ if (index === 0)
102
+ msg = value.message;
107
103
  }
108
- }
109
- else if (first !== undefined) {
110
- msg = String(first);
111
- }
112
- const args = [];
113
- for (const value of rest) {
114
- if (value instanceof Error) {
104
+ else if (isStructuredError(value)) {
115
105
  fields.error = value;
106
+ if (index === 0)
107
+ msg = value.error;
116
108
  }
117
- else if (value !== null &&
118
- typeof value === "object" &&
119
- !Array.isArray(value)) {
120
- for (const [key, fieldValue] of Object.entries(value)) {
121
- fields[key] = structuredValue(fieldValue);
109
+ else if (Predicate.isObject(value)) {
110
+ if (index === 0) {
111
+ const { msg: valueMsg, ...rest } = value;
112
+ Object.assign(fields, rest);
113
+ if (valueMsg !== undefined)
114
+ msg = String(valueMsg);
122
115
  }
116
+ else {
117
+ Object.assign(fields, value);
118
+ }
119
+ }
120
+ else if (index === 0) {
121
+ msg = value === undefined ? undefined : String(value);
123
122
  }
124
123
  else {
125
124
  args.push(value);
@@ -130,33 +129,10 @@ function extractMessageAndFields(message) {
130
129
  }
131
130
  return { msg, fields };
132
131
  }
133
- export function makeEffectLogger(baseLogger) {
134
- return EffectLogger.make(({ cause, date, fiber, logLevel, message }) => {
135
- const { msg, fields } = extractMessageAndFields(message);
136
- for (const [key, value] of Object.entries(fiber.getRef(References.CurrentLogAnnotations))) {
137
- fields[key] = structuredValue(value);
138
- }
139
- const spans = {};
140
- for (const [label, startTime] of fiber.getRef(References.CurrentLogSpans)) {
141
- spans[label] = date.getTime() - startTime;
142
- }
143
- if (Object.keys(spans).length > 0) {
144
- fields.spans = spans;
145
- }
146
- if (cause.reasons.length > 0) {
147
- fields.cause = Cause.pretty(cause);
148
- }
149
- const pinoLevel = toPinoLevel(logLevel);
150
- if (pinoLevel === "silent") {
151
- return;
152
- }
153
- const logger = baseLogger[pinoLevel];
154
- if (msg === undefined) {
155
- logger.call(baseLogger, fields);
156
- }
157
- else {
158
- logger.call(baseLogger, fields, msg);
159
- }
160
- });
132
+ function isStructuredError(value) {
133
+ return (Predicate.hasProperty(value, "error") &&
134
+ Predicate.hasProperty(value, "name") &&
135
+ Predicate.isString(value.error) &&
136
+ Predicate.isString(value.name));
161
137
  }
162
138
  //# sourceMappingURL=logging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/internal/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/internal/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,SAAS,EACT,MAAM,IAAI,YAAY,EAEtB,UAAU,GACV,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAE5C,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,aAAa,GAAG,GAAG,CAAC;AAQ1B,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,OAAO,EAG5C,CAAC,yCAAyC,CAAC;CAAG;AAEjD,MAAM,iBAAiB,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC;AAE7D,MAAM,0BAA0B,GAAG;IAClC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,MAAM;CAId,CAAC;AAEF,MAAM,0BAA0B,GAAG;IAClC,GAAG,MAAM,CAAC,WAAW,CACpB,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAChC,0BAA0B,CAAC,KAAK,CAAC;QACjC,KAAK;KACL,CAAC,CACF;IACD,GAAG,EAAE,OAAO;CACuC,CAAC;AAErD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CACjE,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE;IACjC,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IAE5D,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,CAClD,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,CACtC,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAClE,CAAC,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACjD,CAAC,CAAC,kBAAkB,CAAC,KAAK;QAC1B,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAEjE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAC9B,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CACvC,CAAC;AACH,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,eAAe,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,qBAAqB,CAAC;AACrC,CAAC,CAAC,CAAC;AAEJ,MAAM,UAAU,uBAAuB,CAAC,OAAwB;IAK/D,OAAO;QACN,KAAK,EAAE,OAAO,CAAC,IAAI;QACnB,GAAG,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC,OAAO;KACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAsB;IACvD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,GAAG;SACR,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI;aACT,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;aACtB,OAAO,CAAC,KAAK,EAAE,KAAK,aAAa,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC;SACD,IAAI,CAAC,aAAa,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,UAAU,CACzB,UAA8B;IAE9B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM;YAAE,OAAO;QACxC,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,cAAc,CACpD,UAAU,CAAC,OAAO,CAClB,CAAC;QACF,MAAM,MAAM,GAA4B;YACvC,GAAG,aAAa;YAChB,GAAG,UAAU,CAAC,WAAW;YACzB,OAAO,EAAE,UAAU,CAAC,OAAO;SAC3B,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QACjC,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB;IAIvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,IAAI,GAAuB,CAAC;IAE5B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,IAAI,KAAK,KAAK,CAAC;gBAAE,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;QACtC,CAAC;aAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,IAAI,KAAK,KAAK,CAAC;gBAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;QACpC,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACjB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;gBACzC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC5B,IAAI,QAAQ,KAAK,SAAS;oBAAE,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACxB,GAAG,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACzB,KAAc;IAEd,OAAO,CACN,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;QACrC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;QACpC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAC9B,CAAC;AACH,CAAC"}
package/dist/mod.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export * as Action from "./Action.ts";
2
2
  export * as Actor from "./Actor.ts";
3
3
  export * as Client from "./Client.ts";
4
- export * as Logger from "./Logger.ts";
5
4
  export * as Registry from "./Registry.ts";
5
+ export * as RivetLogger from "./RivetLogger.ts";
6
6
  export * as RivetError from "./RivetError.ts";
7
7
  export * as State from "./State.ts";
8
8
  //# sourceMappingURL=mod.d.ts.map
package/dist/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
package/dist/mod.js CHANGED
@@ -1,8 +1,8 @@
1
1
  export * as Action from "./Action.js";
2
2
  export * as Actor from "./Actor.js";
3
3
  export * as Client from "./Client.js";
4
- export * as Logger from "./Logger.js";
5
4
  export * as Registry from "./Registry.js";
5
+ export * as RivetLogger from "./RivetLogger.js";
6
6
  export * as RivetError from "./RivetError.js";
7
7
  export * as State from "./State.js";
8
8
  //# sourceMappingURL=mod.js.map
package/dist/mod.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rivetkit/effect",
3
- "version": "2.3.2",
3
+ "version": "2.3.3-rc.2",
4
4
  "description": "Effect SDK for Rivet Actors",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "peerDependencies": {
33
33
  "effect": "^4.0.0-beta.66",
34
- "rivetkit": "2.3.2"
34
+ "rivetkit": "2.3.3-rc.2"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@arethetypeswrong/cli": "^0.18.3",
@@ -40,7 +40,7 @@
40
40
  "@types/node": "^22.18.1",
41
41
  "@vitest/coverage-v8": "^4.1.7",
42
42
  "publint": "^0.3.21",
43
- "rivetkit": "2.3.2",
43
+ "rivetkit": "2.3.3-rc.2",
44
44
  "typescript": "^5.9.2",
45
45
  "vitest": "^4.1.5"
46
46
  }
@@ -76,6 +76,13 @@ const ServiceDependentActor = Actor.make("ServiceDependentActor", {
76
76
  actions: [ServiceDependentAction],
77
77
  });
78
78
 
79
+ const ServiceDependentState = {
80
+ schema: Schema.Struct({
81
+ count: ServiceDependentNumber,
82
+ }),
83
+ initialValue: () => ({ count: 0 }),
84
+ };
85
+
79
86
  const TransformedState = {
80
87
  schema: Schema.Struct({
81
88
  when: Schema.DateFromString,
@@ -182,6 +189,31 @@ describe("Actor.make(...).toLayer", () => {
182
189
  );
183
190
  });
184
191
 
192
+ test("state schema services surface in State effects and actor layers", () => {
193
+ const layer = TestActor.toLayer(
194
+ (wakeOptions) => {
195
+ type StateGetServices = Effect.Services<
196
+ typeof wakeOptions.state.get
197
+ >;
198
+
199
+ expectTypeOf<SomeDep>().toExtend<StateGetServices>();
200
+
201
+ return {
202
+ Ping: () =>
203
+ wakeOptions.state.get.pipe(
204
+ Effect.map((current) => current.count),
205
+ Effect.orDie,
206
+ ),
207
+ };
208
+ },
209
+ { state: ServiceDependentState },
210
+ );
211
+ type LayerServices = Layer.Services<typeof layer>;
212
+ type LayerHasSomeDep = SomeDep extends LayerServices ? true : false;
213
+
214
+ expectTypeOf<LayerHasSomeDep>().toEqualTypeOf<true>();
215
+ });
216
+
185
217
  test("wake options carry the transformed state type", () => {
186
218
  TestActor.toLayer(
187
219
  (wakeOptions) => {
package/src/Actor.ts CHANGED
@@ -175,7 +175,8 @@ type WakeOptionsFor<
175
175
  : {
176
176
  readonly state: State.State<
177
177
  StateOptions.Decoded<StateDefinition>,
178
- Schema.SchemaError
178
+ Schema.SchemaError,
179
+ StateOptions.Services<StateDefinition>
179
180
  >;
180
181
  });
181
182
 
@@ -232,6 +233,7 @@ type ToLayerRequirements<
232
233
  | ExcludeBuiltInWakeServices<R, State>
233
234
  | ExcludeBuiltInWakeServices<RX, State>
234
235
  | UnknownToNever<ActionHandlerServices<ActionHandlers>>
236
+ | UnknownToNever<StateOptions.Services<State>>
235
237
  | UnknownToNever<Action.ServicesServer<Actions>>
236
238
  | UnknownToNever<Action.ServicesClient<Actions>>
237
239
  | Registry.Registry;
@@ -334,9 +336,9 @@ const Proto: Omit<Actor<any, any>, "name" | "actions"> = {
334
336
  >(wake),
335
337
  options,
336
338
  }).pipe(
337
- Effect.flatMap((rivetKitActor) =>
339
+ Effect.tap((rivetKitActor) =>
338
340
  Registry.Registry.pipe(
339
- Effect.flatMap((registry) =>
341
+ Effect.tap((registry) =>
340
342
  Effect.sync(() =>
341
343
  registry.rivetkitActors.set(
342
344
  this.name,
@@ -375,6 +377,29 @@ export const make = <
375
377
  return self;
376
378
  };
377
379
 
380
+ /**
381
+ * Normalizes any supported actor wake declaration into a wake function.
382
+ *
383
+ * @remarks
384
+ * {@link Actor.toLayer|`Actor.toLayer()`} accepts several equivalent shapes so actor
385
+ * implementations can choose the amount of initialization they need:
386
+ *
387
+ * - a plain action-handler object
388
+ * - an `Effect` that builds an action-handler object
389
+ * - a wake function that receives `wakeOptions` and returns handlers
390
+ * - a wake function that returns an `Effect` of handlers
391
+ * - an `Effect` that builds one of those wake functions
392
+ *
393
+ * This helper resolves those forms lazily for each actor wake and returns a
394
+ * single `(wakeOptions) => Effect<handlers>` representation. It does not run a
395
+ * wake function until the returned function is invoked, so per-wake resources,
396
+ * services, and state are scoped to the specific actor instance that is waking.
397
+ *
398
+ * @param wake - A supported wake declaration shape.
399
+ * @returns A function that resolves action handlers for one actor wake.
400
+ *
401
+ * @internal
402
+ */
378
403
  export function toWakeHandler<
379
404
  ActionHandlers extends object,
380
405
  R,
@@ -443,7 +468,7 @@ export function toWakeHandler<
443
468
 
444
469
  return wakeEffect.pipe(
445
470
  Effect.flatMap((resolvedWake) => {
446
- if (typeof resolvedWake === "function") {
471
+ if (Predicate.isFunction(resolvedWake)) {
447
472
  const actionHandlers = resolvedWake(wakeOptions);
448
473
  return Effect.isEffect(actionHandlers)
449
474
  ? actionHandlers