@rivetkit/effect 0.0.0-sqlite-uds.37f9e48 → 0.0.0-sqlite-profiling-compat.4a9a623
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 +3 -2
- 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 +4 -6
- package/dist/Client.js.map +1 -1
- package/dist/Logger.d.ts +29 -0
- package/dist/Logger.d.ts.map +1 -0
- package/dist/Logger.js +31 -0
- package/dist/Logger.js.map +1 -0
- package/dist/Registry.d.ts +7 -69
- package/dist/Registry.d.ts.map +1 -1
- package/dist/Registry.js +40 -93
- package/dist/Registry.js.map +1 -1
- package/dist/RivetError.d.ts +3 -18
- package/dist/RivetError.d.ts.map +1 -1
- package/dist/RivetError.js +0 -31
- package/dist/RivetError.js.map +1 -1
- package/dist/State.d.ts +56 -92
- package/dist/State.d.ts.map +1 -1
- package/dist/State.js +57 -51
- 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 +7 -2
- package/dist/internal/ActorStateAdapter.js.map +1 -1
- package/dist/internal/StateOptions.d.ts +0 -1
- package/dist/internal/StateOptions.d.ts.map +1 -1
- package/dist/internal/logging.d.ts +7 -6
- package/dist/internal/logging.d.ts.map +1 -1
- package/dist/internal/logging.js +102 -78
- 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 +8 -3
- package/src/Actor.test-d.ts +0 -32
- package/src/Actor.ts +4 -29
- package/src/Client.test.ts +18 -21
- package/src/Client.ts +4 -6
- package/src/Logger.ts +43 -0
- package/src/Registry.test.ts +11 -7
- package/src/Registry.ts +50 -116
- package/src/RivetError.test.ts +0 -11
- package/src/RivetError.ts +0 -37
- package/src/State.test.ts +4 -163
- package/src/State.ts +97 -293
- package/src/internal/ActorInstanceManager.ts +10 -4
- package/src/internal/ActorStateAdapter.ts +11 -5
- package/src/internal/StateOptions.ts +0 -4
- package/src/internal/logging.test.ts +88 -65
- package/src/internal/logging.ts +143 -103
- package/src/mod.ts +1 -1
- package/dist/RivetLogger.d.ts +0 -41
- package/dist/RivetLogger.d.ts.map +0 -1
- package/dist/RivetLogger.js +0 -41
- package/dist/RivetLogger.js.map +0 -1
- package/src/RivetLogger.ts +0 -60
|
@@ -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
|
|
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>;
|
|
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,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,4 +1,4 @@
|
|
|
1
|
-
import { Effect, Schema } from "effect";
|
|
1
|
+
import { Effect, Schema, Semaphore } 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,7 +16,12 @@ 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* state
|
|
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
|
+
}));
|
|
20
25
|
}));
|
|
21
26
|
},
|
|
22
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActorStateAdapter.js","sourceRoot":"","sources":["../../src/internal/ActorStateAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
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"}
|
|
@@ -7,7 +7,6 @@ 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"];
|
|
11
10
|
export type Encoded<State extends Any> = State["schema"]["Encoded"] | ([State] extends [never] ? undefined : never);
|
|
12
11
|
export type Decoded<State extends Any> = State["schema"]["Type"];
|
|
13
12
|
//# 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,
|
|
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,22 +1,23 @@
|
|
|
1
|
-
import { Context, Effect, Logger } from "effect";
|
|
1
|
+
import { Context, Effect, Logger as EffectLogger, type LogLevel } from "effect";
|
|
2
2
|
import type * as Rivetkit from "rivetkit";
|
|
3
|
-
import
|
|
3
|
+
import { type Logger as PinoLogger, type LogLevel as PinoLogLevel } 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/Logger/BaseLogger", PinoLogger>;
|
|
10
10
|
export declare class BaseLogger extends BaseLogger_base {
|
|
11
11
|
}
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
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>;
|
|
14
15
|
export declare function makeActorLogAnnotations(context: ActorLogContext): {
|
|
15
16
|
readonly actor: string;
|
|
16
17
|
readonly key: string;
|
|
17
18
|
readonly actorId: string;
|
|
18
19
|
};
|
|
19
20
|
export declare function serializeActorKey(key: Rivetkit.ActorKey): string;
|
|
20
|
-
export declare function
|
|
21
|
+
export declare function makeEffectLogger(baseLogger: PinoLogger): EffectLogger.Logger<unknown, void>;
|
|
21
22
|
export {};
|
|
22
23
|
//# 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,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"}
|
package/dist/internal/logging.js
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import { Config, Context, Effect, Logger
|
|
2
|
-
import
|
|
1
|
+
import { Cause, Config, Context, Effect, Logger as EffectLogger, References, } from "effect";
|
|
2
|
+
import { configureDefaultLogger, getBaseLogger, } 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/Logger/BaseLogger") {
|
|
6
6
|
}
|
|
7
|
-
const
|
|
8
|
-
|
|
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 = {
|
|
9
19
|
trace: "Trace",
|
|
10
20
|
debug: "Debug",
|
|
11
21
|
info: "Info",
|
|
@@ -14,30 +24,32 @@ const EffectLevelByRivetkitLevel = {
|
|
|
14
24
|
fatal: "Fatal",
|
|
15
25
|
silent: "None",
|
|
16
26
|
};
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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();
|
|
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";
|
|
29
33
|
}));
|
|
34
|
+
const logLevelFromEnv = Config.logLevel("RIVET_LOG_LEVEL").pipe(Config.orElse(() => pinoLogLevelFromEnv), Effect.option);
|
|
30
35
|
export const makeDefaultBaseLogger = Effect.gen(function* () {
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
+
});
|
|
36
48
|
});
|
|
37
49
|
export const getOrCreateBaseLogger = Effect.gen(function* () {
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
return
|
|
50
|
+
const provided = yield* Effect.serviceOption(BaseLogger);
|
|
51
|
+
if (provided._tag === "Some") {
|
|
52
|
+
return provided.value;
|
|
41
53
|
}
|
|
42
54
|
return yield* makeDefaultBaseLogger;
|
|
43
55
|
});
|
|
@@ -63,62 +75,51 @@ export function serializeActorKey(key) {
|
|
|
63
75
|
})
|
|
64
76
|
.join(KEY_SEPARATOR);
|
|
65
77
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
});
|
|
78
|
+
function structuredValue(value) {
|
|
79
|
+
if (value instanceof Error) {
|
|
80
|
+
return value;
|
|
81
|
+
}
|
|
82
|
+
return value;
|
|
92
83
|
}
|
|
93
|
-
function
|
|
84
|
+
function extractMessageAndFields(message) {
|
|
94
85
|
const values = Array.isArray(message) ? message : [message];
|
|
86
|
+
if (values.length === 0) {
|
|
87
|
+
return { msg: undefined, fields: {} };
|
|
88
|
+
}
|
|
89
|
+
const [first, ...rest] = values;
|
|
95
90
|
const fields = {};
|
|
96
|
-
const args = [];
|
|
97
91
|
let msg;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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);
|
|
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
|
+
}
|
|
115
103
|
}
|
|
116
104
|
else {
|
|
117
|
-
|
|
105
|
+
fields[key] = structuredValue(value);
|
|
118
106
|
}
|
|
119
107
|
}
|
|
120
|
-
|
|
121
|
-
|
|
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) {
|
|
115
|
+
fields.error = value;
|
|
116
|
+
}
|
|
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);
|
|
122
|
+
}
|
|
122
123
|
}
|
|
123
124
|
else {
|
|
124
125
|
args.push(value);
|
|
@@ -129,10 +130,33 @@ function extractMessage(message) {
|
|
|
129
130
|
}
|
|
130
131
|
return { msg, fields };
|
|
131
132
|
}
|
|
132
|
-
function
|
|
133
|
-
return
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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
|
+
});
|
|
137
161
|
}
|
|
138
162
|
//# sourceMappingURL=logging.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/internal/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,
|
|
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";
|
|
4
5
|
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,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"}
|
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";
|
|
4
5
|
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,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rivetkit/effect",
|
|
3
|
-
"version": "0.0.0-sqlite-
|
|
3
|
+
"version": "0.0.0-sqlite-profiling-compat.4a9a623",
|
|
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": "0.0.0-sqlite-
|
|
34
|
+
"rivetkit": "0.0.0-sqlite-profiling-compat.4a9a623"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@arethetypeswrong/cli": "^0.18.3",
|
|
@@ -40,8 +40,13 @@
|
|
|
40
40
|
"@types/node": "^22.18.1",
|
|
41
41
|
"@vitest/coverage-v8": "^4.1.7",
|
|
42
42
|
"publint": "^0.3.21",
|
|
43
|
-
"rivetkit": "0.0.0-sqlite-
|
|
43
|
+
"rivetkit": "0.0.0-sqlite-profiling-compat.4a9a623",
|
|
44
44
|
"typescript": "^5.9.2",
|
|
45
45
|
"vitest": "^4.1.5"
|
|
46
|
+
},
|
|
47
|
+
"repository": {
|
|
48
|
+
"type": "git",
|
|
49
|
+
"url": "https://github.com/rivet-dev/actors.git",
|
|
50
|
+
"directory": "rivetkit-typescript/packages/effect"
|
|
46
51
|
}
|
|
47
52
|
}
|
package/src/Actor.test-d.ts
CHANGED
|
@@ -76,13 +76,6 @@ 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
|
-
|
|
86
79
|
const TransformedState = {
|
|
87
80
|
schema: Schema.Struct({
|
|
88
81
|
when: Schema.DateFromString,
|
|
@@ -189,31 +182,6 @@ describe("Actor.make(...).toLayer", () => {
|
|
|
189
182
|
);
|
|
190
183
|
});
|
|
191
184
|
|
|
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
|
-
|
|
217
185
|
test("wake options carry the transformed state type", () => {
|
|
218
186
|
TestActor.toLayer(
|
|
219
187
|
(wakeOptions) => {
|
package/src/Actor.ts
CHANGED
|
@@ -175,8 +175,7 @@ type WakeOptionsFor<
|
|
|
175
175
|
: {
|
|
176
176
|
readonly state: State.State<
|
|
177
177
|
StateOptions.Decoded<StateDefinition>,
|
|
178
|
-
Schema.SchemaError
|
|
179
|
-
StateOptions.Services<StateDefinition>
|
|
178
|
+
Schema.SchemaError
|
|
180
179
|
>;
|
|
181
180
|
});
|
|
182
181
|
|
|
@@ -233,7 +232,6 @@ type ToLayerRequirements<
|
|
|
233
232
|
| ExcludeBuiltInWakeServices<R, State>
|
|
234
233
|
| ExcludeBuiltInWakeServices<RX, State>
|
|
235
234
|
| UnknownToNever<ActionHandlerServices<ActionHandlers>>
|
|
236
|
-
| UnknownToNever<StateOptions.Services<State>>
|
|
237
235
|
| UnknownToNever<Action.ServicesServer<Actions>>
|
|
238
236
|
| UnknownToNever<Action.ServicesClient<Actions>>
|
|
239
237
|
| Registry.Registry;
|
|
@@ -336,9 +334,9 @@ const Proto: Omit<Actor<any, any>, "name" | "actions"> = {
|
|
|
336
334
|
>(wake),
|
|
337
335
|
options,
|
|
338
336
|
}).pipe(
|
|
339
|
-
Effect.
|
|
337
|
+
Effect.flatMap((rivetKitActor) =>
|
|
340
338
|
Registry.Registry.pipe(
|
|
341
|
-
Effect.
|
|
339
|
+
Effect.flatMap((registry) =>
|
|
342
340
|
Effect.sync(() =>
|
|
343
341
|
registry.rivetkitActors.set(
|
|
344
342
|
this.name,
|
|
@@ -377,29 +375,6 @@ export const make = <
|
|
|
377
375
|
return self;
|
|
378
376
|
};
|
|
379
377
|
|
|
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
|
-
*/
|
|
403
378
|
export function toWakeHandler<
|
|
404
379
|
ActionHandlers extends object,
|
|
405
380
|
R,
|
|
@@ -468,7 +443,7 @@ export function toWakeHandler<
|
|
|
468
443
|
|
|
469
444
|
return wakeEffect.pipe(
|
|
470
445
|
Effect.flatMap((resolvedWake) => {
|
|
471
|
-
if (
|
|
446
|
+
if (typeof resolvedWake === "function") {
|
|
472
447
|
const actionHandlers = resolvedWake(wakeOptions);
|
|
473
448
|
return Effect.isEffect(actionHandlers)
|
|
474
449
|
? actionHandlers
|