@rivetkit/effect 2.3.3-rc.1 → 2.3.3
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.
- package/dist/Actor.d.ts +2 -3
- package/dist/Actor.d.ts.map +1 -1
- package/dist/Actor.js +2 -2
- package/dist/Actor.js.map +1 -1
- package/dist/Client.d.ts.map +1 -1
- package/dist/Client.js +6 -4
- package/dist/Client.js.map +1 -1
- package/dist/Registry.d.ts +69 -7
- package/dist/Registry.d.ts.map +1 -1
- package/dist/Registry.js +93 -40
- package/dist/Registry.js.map +1 -1
- package/dist/RivetError.d.ts +18 -3
- package/dist/RivetError.d.ts.map +1 -1
- package/dist/RivetError.js +31 -0
- package/dist/RivetError.js.map +1 -1
- package/dist/RivetLogger.d.ts +41 -0
- package/dist/RivetLogger.d.ts.map +1 -0
- package/dist/RivetLogger.js +41 -0
- package/dist/RivetLogger.js.map +1 -0
- package/dist/State.d.ts +92 -56
- package/dist/State.d.ts.map +1 -1
- package/dist/State.js +51 -57
- package/dist/State.js.map +1 -1
- package/dist/internal/ActorInstanceManager.d.ts.map +1 -1
- package/dist/internal/ActorInstanceManager.js +4 -4
- package/dist/internal/ActorInstanceManager.js.map +1 -1
- package/dist/internal/ActorStateAdapter.d.ts +1 -1
- package/dist/internal/ActorStateAdapter.d.ts.map +1 -1
- package/dist/internal/ActorStateAdapter.js +2 -7
- package/dist/internal/ActorStateAdapter.js.map +1 -1
- package/dist/internal/StateOptions.d.ts +1 -0
- package/dist/internal/StateOptions.d.ts.map +1 -1
- package/dist/internal/logging.d.ts +6 -7
- package/dist/internal/logging.d.ts.map +1 -1
- package/dist/internal/logging.js +78 -102
- package/dist/internal/logging.js.map +1 -1
- package/dist/mod.d.ts +1 -1
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +1 -1
- package/dist/mod.js.map +1 -1
- package/package.json +3 -3
- package/src/Actor.test-d.ts +32 -0
- package/src/Actor.ts +29 -4
- package/src/Client.test.ts +21 -18
- package/src/Client.ts +6 -4
- package/src/Registry.test.ts +7 -11
- package/src/Registry.ts +116 -50
- package/src/RivetError.test.ts +11 -0
- package/src/RivetError.ts +37 -0
- package/src/RivetLogger.ts +60 -0
- package/src/State.test.ts +163 -4
- package/src/State.ts +293 -97
- package/src/internal/ActorInstanceManager.ts +4 -10
- package/src/internal/ActorStateAdapter.ts +5 -11
- package/src/internal/StateOptions.ts +4 -0
- package/src/internal/logging.test.ts +65 -88
- package/src/internal/logging.ts +103 -143
- package/src/mod.ts +1 -1
- package/dist/Logger.d.ts +0 -29
- package/dist/Logger.d.ts.map +0 -1
- package/dist/Logger.js +0 -31
- package/dist/Logger.js.map +0 -1
- 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":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACN,MAAM,EACN,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,MAAM,GAEN,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,MAAM,GAAG,yBAAyB,CAAC;
|
|
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;;
|
|
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
|
|
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)
|
|
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":"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,CAAC,
|
|
1
|
+
{"version":3,"file":"ActorInstanceManager.js","sourceRoot":"","sources":["../../src/internal/ActorInstanceManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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
|
|
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*
|
|
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,
|
|
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
|
|
1
|
+
import { Context, Effect, Logger } from "effect";
|
|
2
2
|
import type * as Rivetkit from "rivetkit";
|
|
3
|
-
import
|
|
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/
|
|
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
|
|
13
|
-
export declare const
|
|
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
|
|
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,
|
|
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"}
|
package/dist/internal/logging.js
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
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/
|
|
5
|
+
export class BaseLogger extends Context.Service()("@rivetkit/effect/RivetLogger/BaseLogger") {
|
|
6
6
|
}
|
|
7
|
-
const
|
|
8
|
-
|
|
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
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
|
51
|
-
if (
|
|
52
|
-
return
|
|
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
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
|
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
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
-
|
|
134
|
-
return
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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":"AAAA,OAAO,EACN,
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/internal/logging.ts"],"names":[],"mappings":"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"}
|
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,
|
|
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,
|
|
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.3
|
|
3
|
+
"version": "2.3.3",
|
|
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.3
|
|
34
|
+
"rivetkit": "2.3.3"
|
|
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.3
|
|
43
|
+
"rivetkit": "2.3.3",
|
|
44
44
|
"typescript": "^5.9.2",
|
|
45
45
|
"vitest": "^4.1.5"
|
|
46
46
|
}
|
package/src/Actor.test-d.ts
CHANGED
|
@@ -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.
|
|
339
|
+
Effect.tap((rivetKitActor) =>
|
|
338
340
|
Registry.Registry.pipe(
|
|
339
|
-
Effect.
|
|
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 (
|
|
471
|
+
if (Predicate.isFunction(resolvedWake)) {
|
|
447
472
|
const actionHandlers = resolvedWake(wakeOptions);
|
|
448
473
|
return Effect.isEffect(actionHandlers)
|
|
449
474
|
? actionHandlers
|