@livestore/adapter-node 0.4.0-dev.9 → 0.5.0-dev.0
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/.tsbuildinfo +1 -1
- package/dist/client-session/adapter.d.ts +69 -3
- package/dist/client-session/adapter.d.ts.map +1 -1
- package/dist/client-session/adapter.js +160 -62
- package/dist/client-session/adapter.js.map +1 -1
- package/dist/devtools/devtools-server.d.ts.map +1 -1
- package/dist/devtools/devtools-server.js +25 -19
- package/dist/devtools/devtools-server.js.map +1 -1
- package/dist/devtools/mod.d.ts +1 -1
- package/dist/devtools/mod.d.ts.map +1 -1
- package/dist/devtools/mod.js +1 -1
- package/dist/devtools/mod.js.map +1 -1
- package/dist/devtools/vite-dev-server.d.ts +22 -4
- package/dist/devtools/vite-dev-server.d.ts.map +1 -1
- package/dist/devtools/vite-dev-server.js +45 -11
- package/dist/devtools/vite-dev-server.js.map +1 -1
- package/dist/leader-thread-shared.d.ts +8 -7
- package/dist/leader-thread-shared.d.ts.map +1 -1
- package/dist/leader-thread-shared.js +19 -16
- package/dist/leader-thread-shared.js.map +1 -1
- package/dist/make-leader-worker.d.ts +5 -3
- package/dist/make-leader-worker.d.ts.map +1 -1
- package/dist/make-leader-worker.js +75 -59
- package/dist/make-leader-worker.js.map +1 -1
- package/dist/rpc-worker.d.ts +8 -0
- package/dist/rpc-worker.d.ts.map +1 -0
- package/dist/rpc-worker.js +5 -0
- package/dist/rpc-worker.js.map +1 -0
- package/dist/shutdown-channel.d.ts.map +1 -1
- package/dist/shutdown-channel.js.map +1 -1
- package/dist/webchannel.d.ts +1 -1
- package/dist/webchannel.d.ts.map +1 -1
- package/dist/webchannel.js +17 -18
- package/dist/webchannel.js.map +1 -1
- package/dist/worker-schema.d.ts +274 -138
- package/dist/worker-schema.d.ts.map +1 -1
- package/dist/worker-schema.js +79 -45
- package/dist/worker-schema.js.map +1 -1
- package/package.json +51 -20
- package/src/client-session/adapter.ts +228 -124
- package/src/devtools/devtools-server.ts +50 -35
- package/src/devtools/mod.ts +1 -1
- package/src/devtools/vite-dev-server.ts +65 -15
- package/src/leader-thread-shared.ts +37 -34
- package/src/make-leader-worker.ts +164 -115
- package/src/rpc-worker.ts +28 -0
- package/src/shutdown-channel.ts +1 -0
- package/src/webchannel.ts +21 -28
- package/src/worker-schema.ts +132 -117
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools-server.js","sourceRoot":"","sources":["../../src/devtools/devtools-server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,MAAM,WAAW,CAAA;AAG5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"devtools-server.js","sourceRoot":"","sources":["../../src/devtools/devtools-server.ts"],"names":[],"mappings":"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"}
|
package/dist/devtools/mod.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { startDevtoolsServer } from './devtools-server.ts';
|
|
2
2
|
export type { ViteDevtoolsOptions } from './vite-dev-server.ts';
|
|
3
|
-
export { makeViteMiddleware } from './vite-dev-server.ts';
|
|
3
|
+
export { DevtoolsViteNotInstalledError, makeViteMiddleware } from './vite-dev-server.ts';
|
|
4
4
|
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/devtools/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/devtools/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/devtools/mod.js
CHANGED
package/dist/devtools/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/devtools/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/devtools/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
import type { Devtools } from '@livestore/common';
|
|
2
|
-
import {
|
|
3
|
-
import { Effect } from '@livestore/utils/effect';
|
|
4
|
-
import * as Vite from 'vite';
|
|
2
|
+
import { UnknownError } from '@livestore/common';
|
|
3
|
+
import { Effect, Schema } from '@livestore/utils/effect';
|
|
4
|
+
import type * as Vite from 'vite';
|
|
5
|
+
declare const DevtoolsViteNotInstalledError_base: Schema.Class<DevtoolsViteNotInstalledError, Schema.TaggedStruct<"DevtoolsViteNotInstalledError", {
|
|
6
|
+
readonly cause: Schema.Defect;
|
|
7
|
+
}>, import("effect/Cause").YieldableError>;
|
|
8
|
+
/**
|
|
9
|
+
* Error thrown when @livestore/devtools-vite is not installed.
|
|
10
|
+
* This is a peer dependency that must be installed separately.
|
|
11
|
+
*/
|
|
12
|
+
export declare class DevtoolsViteNotInstalledError extends DevtoolsViteNotInstalledError_base {
|
|
13
|
+
get message(): string;
|
|
14
|
+
}
|
|
15
|
+
declare const ViteNotInstalledError_base: Schema.Class<ViteNotInstalledError, Schema.TaggedStruct<"ViteNotInstalledError", {
|
|
16
|
+
readonly cause: Schema.Defect;
|
|
17
|
+
}>, import("effect/Cause").YieldableError>;
|
|
18
|
+
/** Error thrown when vite is not installed for the devtools server path. */
|
|
19
|
+
export declare class ViteNotInstalledError extends ViteNotInstalledError_base {
|
|
20
|
+
get message(): string;
|
|
21
|
+
}
|
|
5
22
|
export type ViteDevtoolsOptions = {
|
|
6
23
|
viteConfig?: (config: Vite.UserConfig) => Vite.UserConfig;
|
|
7
24
|
/**
|
|
@@ -20,5 +37,6 @@ export type ViteDevtoolsOptions = {
|
|
|
20
37
|
_tag: 'node';
|
|
21
38
|
}>;
|
|
22
39
|
};
|
|
23
|
-
export declare const makeViteMiddleware: (options: ViteDevtoolsOptions) => Effect.Effect<Vite.ViteDevServer,
|
|
40
|
+
export declare const makeViteMiddleware: (options: ViteDevtoolsOptions) => Effect.Effect<Vite.ViteDevServer, DevtoolsViteNotInstalledError | ViteNotInstalledError | UnknownError>;
|
|
41
|
+
export {};
|
|
24
42
|
//# sourceMappingURL=vite-dev-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-dev-server.d.ts","sourceRoot":"","sources":["../../src/devtools/vite-dev-server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vite-dev-server.d.ts","sourceRoot":"","sources":["../../src/devtools/vite-dev-server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;;;;AAEjC;;;GAGG;AACH,qBAAa,6BAA8B,SAAQ,kCAIjD;IACA,IAAa,OAAO,IAAI,MAAM,CAM7B;CACF;;;;AAED,4EAA4E;AAC5E,qBAAa,qBAAsB,SAAQ,0BAIzC;IACA,IAAa,OAAO,IAAI,MAAM,CAK7B;CACF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAA;IACzD;;;;;OAKG;IACH,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACvD,CAAA;AAGD,eAAO,MAAM,kBAAkB,GAC7B,SAAS,mBAAmB,KAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,6BAA6B,GAAG,qBAAqB,GAAG,YAAY,CAuC5B,CAAA"}
|
|
@@ -1,14 +1,35 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { isReadonlyArray } from '@livestore/utils';
|
|
5
|
-
import { Effect } from '@livestore/utils/effect';
|
|
2
|
+
import { UnknownError } from '@livestore/common';
|
|
3
|
+
import { Effect, Schema } from '@livestore/utils/effect';
|
|
6
4
|
import { getFreePort } from '@livestore/utils/node';
|
|
7
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Error thrown when @livestore/devtools-vite is not installed.
|
|
7
|
+
* This is a peer dependency that must be installed separately.
|
|
8
|
+
*/
|
|
9
|
+
export class DevtoolsViteNotInstalledError extends Schema.TaggedError('~@livestore/adapter-node/DevtoolsViteNotInstalledError')('DevtoolsViteNotInstalledError', {
|
|
10
|
+
cause: Schema.Defect(),
|
|
11
|
+
}) {
|
|
12
|
+
get message() {
|
|
13
|
+
return (`@livestore/devtools-vite is required for devtools but not installed. ` +
|
|
14
|
+
`Install it with: pnpm add @livestore/devtools-vite@<version>. ` +
|
|
15
|
+
`Make sure to use the same version as @livestore/adapter-node.`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/** Error thrown when vite is not installed for the devtools server path. */
|
|
19
|
+
export class ViteNotInstalledError extends Schema.TaggedError('~@livestore/adapter-node/ViteNotInstalledError')('ViteNotInstalledError', {
|
|
20
|
+
cause: Schema.Defect(),
|
|
21
|
+
}) {
|
|
22
|
+
get message() {
|
|
23
|
+
return (`vite is required for @livestore/adapter-node/devtools but not installed. ` +
|
|
24
|
+
`Install it with: pnpm add -D vite@<version>.`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
8
27
|
// NOTE this is currently also used in @livestore/devtools-expo
|
|
9
28
|
export const makeViteMiddleware = (options) => Effect.gen(function* () {
|
|
29
|
+
const { livestoreDevtoolsPlugin } = yield* importDevtoolsVite();
|
|
30
|
+
const Vite = yield* importVite();
|
|
10
31
|
const cwd = process.cwd();
|
|
11
|
-
const hmrPort = yield* getFreePort.pipe(
|
|
32
|
+
const hmrPort = yield* getFreePort.pipe(UnknownError.mapToUnknownError);
|
|
12
33
|
const defaultViteConfig = Vite.defineConfig({
|
|
13
34
|
server: {
|
|
14
35
|
middlewareMode: true,
|
|
@@ -16,15 +37,15 @@ export const makeViteMiddleware = (options) => Effect.gen(function* () {
|
|
|
16
37
|
port: hmrPort,
|
|
17
38
|
},
|
|
18
39
|
// Relaxing fs access for monorepo setup
|
|
19
|
-
fs: { strict: process.env.LS_DEV ? false : true },
|
|
40
|
+
fs: { strict: process.env.LS_DEV !== undefined ? false : true },
|
|
20
41
|
},
|
|
21
42
|
appType: 'spa',
|
|
22
43
|
base: '/_livestore/',
|
|
23
44
|
plugins: [
|
|
24
45
|
livestoreDevtoolsPlugin({
|
|
25
|
-
schemaPath:
|
|
26
|
-
?
|
|
27
|
-
: path.resolve(cwd,
|
|
46
|
+
schemaPath: typeof options.schemaPath === 'string'
|
|
47
|
+
? path.resolve(cwd, options.schemaPath)
|
|
48
|
+
: options.schemaPath.map((schemaPath) => path.resolve(cwd, schemaPath)),
|
|
28
49
|
mode: options.mode,
|
|
29
50
|
path: '/',
|
|
30
51
|
}),
|
|
@@ -33,7 +54,20 @@ export const makeViteMiddleware = (options) => Effect.gen(function* () {
|
|
|
33
54
|
logLevel: 'silent',
|
|
34
55
|
});
|
|
35
56
|
const viteConfig = options.viteConfig?.(defaultViteConfig) ?? defaultViteConfig;
|
|
36
|
-
const viteServer = yield* Effect.promise(() => Vite.createServer(viteConfig)).pipe(
|
|
57
|
+
const viteServer = yield* Effect.promise(() => Vite.createServer(viteConfig)).pipe(UnknownError.mapToUnknownError);
|
|
37
58
|
return viteServer;
|
|
38
59
|
}).pipe(Effect.withSpan('@livestore/adapter-node:devtools:makeViteServer'));
|
|
60
|
+
/**
|
|
61
|
+
* Dynamically imports @livestore/devtools-vite.
|
|
62
|
+
* This package is a peer dependency and may not be installed.
|
|
63
|
+
*/
|
|
64
|
+
const importDevtoolsVite = () => Effect.tryPromise({
|
|
65
|
+
try: () => import('@livestore/devtools-vite'),
|
|
66
|
+
catch: (cause) => new DevtoolsViteNotInstalledError({ cause }),
|
|
67
|
+
});
|
|
68
|
+
/** Dynamically imports vite for the devtools-only server path. */
|
|
69
|
+
const importVite = () => Effect.tryPromise({
|
|
70
|
+
try: () => import('vite'),
|
|
71
|
+
catch: (cause) => new ViteNotInstalledError({ cause }),
|
|
72
|
+
});
|
|
39
73
|
//# sourceMappingURL=vite-dev-server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-dev-server.js","sourceRoot":"","sources":["../../src/devtools/vite-dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"vite-dev-server.js","sourceRoot":"","sources":["../../src/devtools/vite-dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD;;;GAGG;AACH,MAAM,OAAO,6BAA8B,SAAQ,MAAM,CAAC,WAAW,CACnE,wDAAwD,CACzD,CAAC,+BAA+B,EAAE;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;CACvB,CAAC;IACA,IAAa,OAAO;QAClB,OAAO,CACL,uEAAuE;YACvE,gEAAgE;YAChE,+DAA+D,CAChE,CAAA;IACH,CAAC;CACF;AAED,4EAA4E;AAC5E,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,CAC3D,gDAAgD,CACjD,CAAC,uBAAuB,EAAE;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;CACvB,CAAC;IACA,IAAa,OAAO;QAClB,OAAO,CACL,2EAA2E;YAC3E,8CAA8C,CAC/C,CAAA;IACH,CAAC;CACF;AAmBD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAA4B,EAC6E,EAAE,CAC3G,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,uBAAuB,EAAE,GAAG,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAA;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,UAAU,EAAE,CAAA;IAEhC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEzB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;IAEvE,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,MAAM,EAAE;YACN,cAAc,EAAE,IAAI;YACpB,GAAG,EAAE;gBACH,IAAI,EAAE,OAAO;aACd;YACD,wCAAwC;YACxC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;SAChE;QACD,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACP,uBAAuB,CAAC;gBACtB,UAAU,EACR,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;oBACpC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC;oBACvC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBAC3E,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,GAAG;aACV,CAAC;SACH;QACD,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAA;IAE/E,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;IAElH,OAAO,UAAU,CAAA;AACnB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAC,CAAA;AAE7E;;;GAGG;AACH,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC9B,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC;IAC7C,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,6BAA6B,CAAC,EAAE,KAAK,EAAE,CAAC;CAC/D,CAAC,CAAA;AAEJ,kEAAkE;AAClE,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC;CACvD,CAAC,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { ClientSessionLeaderThreadProxy, MakeSqliteDb, SqliteDb, SyncOptions } from '@livestore/common';
|
|
2
|
-
import {
|
|
2
|
+
import { UnknownError } from '@livestore/common';
|
|
3
3
|
import type { LeaderThreadCtx } from '@livestore/common/leader-thread';
|
|
4
4
|
import type { LiveStoreSchema } from '@livestore/common/schema';
|
|
5
5
|
import type { MakeNodeSqliteDb } from '@livestore/sqlite-wasm/node';
|
|
6
|
-
import type { FileSystem, HttpClient,
|
|
7
|
-
import { Effect } from '@livestore/utils/effect';
|
|
6
|
+
import type { FileSystem, HttpClient, Schema, Scope } from '@livestore/utils/effect';
|
|
7
|
+
import { Effect, Layer } from '@livestore/utils/effect';
|
|
8
8
|
import type * as WorkerSchema from './worker-schema.ts';
|
|
9
9
|
export type TestingOverrides = {
|
|
10
10
|
clientSession?: {
|
|
@@ -13,7 +13,7 @@ export type TestingOverrides = {
|
|
|
13
13
|
makeLeaderThread?: (makeSqliteDb: MakeSqliteDb) => Effect.Effect<{
|
|
14
14
|
dbEventlog: SqliteDb;
|
|
15
15
|
dbState: SqliteDb;
|
|
16
|
-
},
|
|
16
|
+
}, UnknownError>;
|
|
17
17
|
};
|
|
18
18
|
export interface MakeLeaderThreadArgs {
|
|
19
19
|
storeId: string;
|
|
@@ -21,10 +21,11 @@ export interface MakeLeaderThreadArgs {
|
|
|
21
21
|
syncOptions: SyncOptions | undefined;
|
|
22
22
|
storage: WorkerSchema.StorageType;
|
|
23
23
|
makeSqliteDb: MakeNodeSqliteDb;
|
|
24
|
-
devtools: WorkerSchema.
|
|
24
|
+
devtools: WorkerSchema.LeaderWorkerInnerInitialMessagePayload['devtools'];
|
|
25
25
|
schema: LiveStoreSchema;
|
|
26
|
-
|
|
26
|
+
syncPayloadEncoded: Schema.Json | undefined;
|
|
27
|
+
syncPayloadSchema: Schema.Schema<any> | undefined;
|
|
27
28
|
testing: TestingOverrides | undefined;
|
|
28
29
|
}
|
|
29
|
-
export declare const makeLeaderThread: ({ storeId, clientId, syncOptions, makeSqliteDb, storage, devtools, schema,
|
|
30
|
+
export declare const makeLeaderThread: ({ storeId, clientId, syncOptions, makeSqliteDb, storage, devtools, schema, syncPayloadEncoded, syncPayloadSchema, testing, }: MakeLeaderThreadArgs) => Effect.Effect<Layer.Layer<LeaderThreadCtx, UnknownError, Scope.Scope | HttpClient.HttpClient | FileSystem.FileSystem>, UnknownError, Scope.Scope>;
|
|
30
31
|
//# sourceMappingURL=leader-thread-shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leader-thread-shared.d.ts","sourceRoot":"","sources":["../src/leader-thread-shared.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,8BAA8B,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5G,OAAO,
|
|
1
|
+
{"version":3,"file":"leader-thread-shared.d.ts","sourceRoot":"","sources":["../src/leader-thread-shared.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,8BAA8B,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5G,OAAO,EAAiE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/G,OAAO,KAAK,EAAmC,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEvG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAIvD,OAAO,KAAK,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE;QACd,iBAAiB,CAAC,EAAE,CAClB,QAAQ,EAAE,8BAA8B,CAAC,8BAA8B,KACpE,OAAO,CAAC,8BAA8B,CAAC,8BAA8B,CAAC,CAAA;KAC5E,CAAA;IACD,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAC9D;QACE,UAAU,EAAE,QAAQ,CAAA;QACpB,OAAO,EAAE,QAAQ,CAAA;KAClB,EACD,YAAY,CACb,CAAA;CACF,CAAA;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;IACpC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAA;IACjC,YAAY,EAAE,gBAAgB,CAAA;IAC9B,QAAQ,EAAE,YAAY,CAAC,sCAAsC,CAAC,UAAU,CAAC,CAAA;IACzE,MAAM,EAAE,eAAe,CAAA;IACvB,kBAAkB,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,CAAA;IAC3C,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACjD,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACtC;AAED,eAAO,MAAM,gBAAgB,GAAI,8HAW9B,oBAAoB,KAAG,MAAM,CAAC,MAAM,CACrC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,EACvG,YAAY,EACZ,KAAK,CAAC,KAAK,CA+DV,CAAA"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import inspector from 'node:inspector';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
if (process.execArgv.includes('--inspect')) {
|
|
3
|
+
if (process.execArgv.includes('--inspect') === true) {
|
|
4
4
|
inspector.open();
|
|
5
5
|
inspector.waitForDebugger();
|
|
6
6
|
}
|
|
7
|
-
import { Devtools, liveStoreStorageFormatVersion, migrateDb,
|
|
7
|
+
import { Devtools, liveStoreStorageFormatVersion, migrateDb, StateHead, UnknownError } from '@livestore/common';
|
|
8
8
|
import { configureConnection, makeLeaderThreadLayer } from '@livestore/common/leader-thread';
|
|
9
|
-
import {
|
|
9
|
+
import { getStateDbBaseName } from '@livestore/common/schema';
|
|
10
|
+
import { Effect, Layer } from '@livestore/utils/effect';
|
|
10
11
|
import * as Webmesh from '@livestore/webmesh';
|
|
11
12
|
import { makeShutdownChannel } from "./shutdown-channel.js";
|
|
12
|
-
export const makeLeaderThread = ({ storeId, clientId, syncOptions, makeSqliteDb, storage, devtools, schema,
|
|
13
|
-
const
|
|
14
|
-
const schemaHashSuffix = schema.state.sqlite.migrations.strategy === 'manual' ? 'fixed' : schema.state.sqlite.hash.toString();
|
|
13
|
+
export const makeLeaderThread = ({ storeId, clientId, syncOptions, makeSqliteDb, storage, devtools, schema, syncPayloadEncoded, syncPayloadSchema, testing, }) => Effect.gen(function* () {
|
|
14
|
+
const services = yield* Effect.context();
|
|
15
15
|
const makeDb = (kind) => {
|
|
16
|
-
if (testing?.makeLeaderThread) {
|
|
16
|
+
if (testing?.makeLeaderThread !== undefined) {
|
|
17
17
|
return testing
|
|
18
18
|
.makeLeaderThread(makeSqliteDb)
|
|
19
19
|
.pipe(Effect.map(({ dbEventlog, dbState }) => (kind === 'state' ? dbState : dbEventlog)));
|
|
@@ -21,15 +21,17 @@ export const makeLeaderThread = ({ storeId, clientId, syncOptions, makeSqliteDb,
|
|
|
21
21
|
return storage.type === 'in-memory'
|
|
22
22
|
? makeSqliteDb({
|
|
23
23
|
_tag: 'in-memory',
|
|
24
|
-
configureDb: (db) => configureConnection(db, { foreignKeys: true }).pipe(Effect.
|
|
24
|
+
configureDb: (db) => configureConnection(db, { foreignKeys: true }).pipe(Effect.runSyncWith(services)),
|
|
25
25
|
})
|
|
26
|
-
: makeSqliteDb({
|
|
26
|
+
: Effect.acquireRelease(makeSqliteDb({
|
|
27
27
|
_tag: 'fs',
|
|
28
28
|
directory: path.join(storage.baseDirectory ?? '', storeId),
|
|
29
|
-
fileName: kind === 'state'
|
|
29
|
+
fileName: kind === 'state'
|
|
30
|
+
? `${getStateDbBaseName(schema)}@${liveStoreStorageFormatVersion}.db`
|
|
31
|
+
: `eventlog@${liveStoreStorageFormatVersion}.db`,
|
|
30
32
|
// TODO enable WAL for nodejs
|
|
31
|
-
configureDb: (db) => configureConnection(db, { foreignKeys: true }).pipe(Effect.
|
|
32
|
-
})
|
|
33
|
+
configureDb: (db) => configureConnection(db, { foreignKeys: true }).pipe(Effect.runSyncWith(services)),
|
|
34
|
+
}), (db) => Effect.sync(() => db.close()));
|
|
33
35
|
};
|
|
34
36
|
// Might involve some async work, so we're running them concurrently
|
|
35
37
|
const [dbState, dbEventlog] = yield* Effect.all([makeDb('state'), makeDb('eventlog')], { concurrency: 2 });
|
|
@@ -49,12 +51,12 @@ export const makeLeaderThread = ({ storeId, clientId, syncOptions, makeSqliteDb,
|
|
|
49
51
|
dbEventlog,
|
|
50
52
|
devtoolsOptions,
|
|
51
53
|
shutdownChannel,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}).pipe(
|
|
54
|
+
syncPayloadEncoded,
|
|
55
|
+
syncPayloadSchema: syncPayloadSchema,
|
|
56
|
+
}).pipe(Layer.provide(StateHead.layer({ dbState })));
|
|
57
|
+
}).pipe(Effect.tapCauseLogPretty, UnknownError.mapToUnknownError, Effect.withSpan('@livestore/adapter-node:makeLeaderThread', {
|
|
55
58
|
attributes: { storeId, clientId, storage, devtools, syncOptions },
|
|
56
59
|
}));
|
|
57
|
-
const getStateDbFileName = (suffix) => `state${suffix}@${liveStoreStorageFormatVersion}.db`;
|
|
58
60
|
const makeDevtoolsOptions = ({ dbState, dbEventlog, storeId, clientId, devtools, }) => Effect.gen(function* () {
|
|
59
61
|
if (devtools.enabled === false) {
|
|
60
62
|
return {
|
|
@@ -76,6 +78,7 @@ const makeDevtoolsOptions = ({ dbState, dbEventlog, storeId, clientId, devtools,
|
|
|
76
78
|
sessionId: 'static', // TODO make this dynamic
|
|
77
79
|
schemaAlias: devtools.schemaAlias,
|
|
78
80
|
isLeader: true,
|
|
81
|
+
origin: undefined,
|
|
79
82
|
}),
|
|
80
83
|
port: devtools.port,
|
|
81
84
|
host: devtools.host,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leader-thread-shared.js","sourceRoot":"","sources":["../src/leader-thread-shared.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"leader-thread-shared.js","sourceRoot":"","sources":["../src/leader-thread-shared.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;IACpD,SAAS,CAAC,IAAI,EAAE,CAAA;IAChB,SAAS,CAAC,eAAe,EAAE,CAAA;AAC7B,CAAC;AAGD,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE/G,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAE5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AA+B3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,OAAO,EACP,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,GACc,EAIrB,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAExC,MAAM,MAAM,GAAG,CAAC,IAA0B,EAAE,EAAE;QAC5C,IAAI,OAAO,EAAE,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,OAAO;iBACX,gBAAgB,CAAC,YAAY,CAAC;iBAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7F,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW;YACjC,CAAC,CAAC,YAAY,CAAC;gBACX,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aACvG,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC,cAAc,CACnB,YAAY,CAAC;gBACX,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,OAAO,CAAC;gBAC1D,QAAQ,EACN,IAAI,KAAK,OAAO;oBACd,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,6BAA6B,KAAK;oBACrE,CAAC,CAAC,YAAY,6BAA6B,KAAK;gBACpD,6BAA6B;gBAC7B,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aACvG,CAAC,EACF,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CACtC,CAAA;IACP,CAAC,CAAA;IAED,oEAAoE;IACpE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAA;IAE1G,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACtC,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IAExG,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAE3D,OAAO,qBAAqB,CAAC;QAC3B,MAAM;QACN,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,OAAO;QACP,UAAU;QACV,eAAe;QACf,eAAe;QACf,kBAAkB;QAClB,iBAAiB,EAAE,iBAAmE;KACvF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,iBAAiB,EACxB,YAAY,CAAC,iBAAiB,EAC9B,MAAM,CAAC,QAAQ,CAAC,0CAA0C,EAAE;IAC1D,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE;CAClE,CAAC,CACH,CAAA;AAEH,MAAM,mBAAmB,GAAG,CAAC,EAC3B,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,GAOT,EAA6D,EAAE,CAC9D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,KAAK;SACf,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACxB,sCAAsC;YACtC,MAAM,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAA;YAEpG,6HAA6H;YAC7H,IAAI,QAAQ,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;gBACjD,KAAK,CAAC,CAAC,mBAAmB,CAAC;oBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC;wBACvD,OAAO;wBACP,QAAQ;wBACR,SAAS,EAAE,QAAQ,EAAE,yBAAyB;wBAC9C,WAAW,EAAE,QAAQ,CAAC,WAAW;wBACjC,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,SAAS;qBAClB,CAAC;oBACF,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACpB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;YAEpG,KAAK,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBACjC,IAAI;gBACJ,GAAG,EAAE,UAAU,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;gBAC/C,WAAW,EAAE,GAAG;aACjB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YAEpD,MAAM,eAAe,GAAG;gBACtB,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe;gBACvC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe;aAC9C,CAAA;YAED,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,OAAgB,EAAE,CAAA;QAC1D,CAAC,CAAC;KACH,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import './thread-polyfill.ts';
|
|
2
2
|
import type { SyncOptions } from '@livestore/common';
|
|
3
|
+
import { LogConfig } from '@livestore/common';
|
|
3
4
|
import type { LiveStoreSchema } from '@livestore/common/schema';
|
|
4
5
|
import { Effect, Schema } from '@livestore/utils/effect';
|
|
5
6
|
import type * as otel from '@opentelemetry/api';
|
|
@@ -7,19 +8,20 @@ import type { TestingOverrides } from './leader-thread-shared.ts';
|
|
|
7
8
|
export type WorkerOptions = {
|
|
8
9
|
schema: LiveStoreSchema;
|
|
9
10
|
sync?: SyncOptions;
|
|
11
|
+
syncPayloadSchema?: Schema.Schema<any>;
|
|
10
12
|
otelOptions?: {
|
|
11
13
|
tracer?: otel.Tracer;
|
|
12
14
|
/** @default 'livestore-node-leader-thread' */
|
|
13
15
|
serviceName?: string;
|
|
14
16
|
};
|
|
15
17
|
testing?: TestingOverrides;
|
|
16
|
-
};
|
|
18
|
+
} & LogConfig.LoggerOptions;
|
|
17
19
|
export declare const getWorkerArgs: () => {
|
|
18
20
|
readonly clientId: string;
|
|
19
21
|
readonly storeId: string;
|
|
20
22
|
readonly sessionId: string;
|
|
21
|
-
readonly extraArgs
|
|
23
|
+
readonly extraArgs?: Schema.Json | undefined;
|
|
22
24
|
};
|
|
23
25
|
export declare const makeWorker: (options: WorkerOptions) => void;
|
|
24
|
-
export declare const makeWorkerEffect: (options: WorkerOptions) => Effect.Effect<
|
|
26
|
+
export declare const makeWorkerEffect: (options: WorkerOptions) => Effect.Effect<never, import("effect/unstable/workers/WorkerError").WorkerError, never>;
|
|
25
27
|
//# sourceMappingURL=make-leader-worker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-leader-worker.d.ts","sourceRoot":"","sources":["../src/make-leader-worker.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"make-leader-worker.d.ts","sourceRoot":"","sources":["../src/make-leader-worker.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAA;AAQ7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAgB,MAAM,mBAAmB,CAAA;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAK/D,OAAO,EACL,MAAM,EAQN,MAAM,EAGP,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAIjE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACtC,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;QACpB,8CAA8C;QAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC3B,GAAG,SAAS,CAAC,aAAa,CAAA;AAE3B,eAAO,MAAM,aAAa;;;;;CAAqE,CAAA;AAE/F,eAAO,MAAM,UAAU,GAAI,SAAS,aAAa,SAEhD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,aAAa,2FA6BtD,CAAA"}
|
|
@@ -1,86 +1,102 @@
|
|
|
1
1
|
import "./thread-polyfill.js";
|
|
2
2
|
import inspector from 'node:inspector';
|
|
3
|
-
if (process.execArgv.includes('--inspect')) {
|
|
3
|
+
if (process.execArgv.includes('--inspect') === true) {
|
|
4
4
|
inspector.open();
|
|
5
5
|
inspector.waitForDebugger();
|
|
6
6
|
}
|
|
7
|
-
import {
|
|
8
|
-
import { Eventlog, LeaderThreadCtx } from '@livestore/common/leader-thread';
|
|
7
|
+
import { LogConfig, UnknownError } from '@livestore/common';
|
|
8
|
+
import { Eventlog, LeaderThreadCtx, streamEventsWithSyncState } from '@livestore/common/leader-thread';
|
|
9
9
|
import { LiveStoreEvent } from '@livestore/common/schema';
|
|
10
10
|
import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm';
|
|
11
11
|
import { sqliteDbFactory } from '@livestore/sqlite-wasm/node';
|
|
12
|
-
import {
|
|
12
|
+
import { isDevEnv } from '@livestore/utils';
|
|
13
|
+
import { Effect, FetchHttpClient, Layer, OtelTracer, Queue, References, RpcServer, RpcWorker, Schema, Scope, Stream, } from '@livestore/utils/effect';
|
|
13
14
|
import { PlatformNode } from '@livestore/utils/node';
|
|
14
15
|
import { makeLeaderThread } from "./leader-thread-shared.js";
|
|
15
16
|
import * as WorkerSchema from "./worker-schema.js";
|
|
16
17
|
export const getWorkerArgs = () => Schema.decodeSync(WorkerSchema.WorkerArgv)(process.argv[2]);
|
|
17
18
|
export const makeWorker = (options) => {
|
|
18
|
-
makeWorkerEffect(options).pipe(
|
|
19
|
+
makeWorkerEffect(options).pipe(PlatformNode.NodeRuntime.runMain);
|
|
19
20
|
};
|
|
20
21
|
export const makeWorkerEffect = (options) => {
|
|
21
|
-
const TracingLive = options.otelOptions?.tracer
|
|
22
|
-
?
|
|
23
|
-
:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
const TracingLive = options.otelOptions?.tracer !== undefined
|
|
23
|
+
? OtelTracer.layerWithoutOtelTracer.pipe(Layer.provideMerge(Layer.succeed(OtelTracer.OtelTracer, options.otelOptions.tracer)))
|
|
24
|
+
: Layer.empty;
|
|
25
|
+
// Merge the runtime dependencies once so we can provide them together without chaining Effect.provide.
|
|
26
|
+
const runtimeLayer = Layer.mergeAll(FetchHttpClient.layer, PlatformNode.NodeFileSystem.layer, TracingLive);
|
|
27
|
+
return RpcServer.make(WorkerSchema.LeaderWorkerInnerRpcs).pipe(Effect.provide(makeWorkerRunnerInner(options)), Effect.provide(RpcServer.layerProtocolWorkerRunner), Effect.provide(PlatformNode.NodeWorkerRunner.layer), Effect.scoped, Effect.tapCauseLogPretty, Effect.annotateLogs({
|
|
28
|
+
thread: options.otelOptions?.serviceName ?? 'livestore-node-leader-thread',
|
|
29
|
+
processId: process.pid,
|
|
30
|
+
}), Effect.provide(Layer.mergeAll(options.logger ?? Layer.empty, Layer.succeed(References.MinimumLogLevel, options.logLevel ?? (isDevEnv() === true ? 'Debug' : 'Info')))), Effect.provide(runtimeLayer));
|
|
31
|
+
};
|
|
32
|
+
const makeWorkerRunnerInner = (options) => WorkerSchema.LeaderWorkerInnerRpcs.toLayer(Effect.gen(function* () {
|
|
33
|
+
const leaderThreadScope = yield* Scope.make();
|
|
34
|
+
yield* Effect.addFinalizer((exit) => Scope.close(leaderThreadScope, exit));
|
|
35
|
+
const leaderThreadContextOnce = yield* Effect.cached(Effect.gen(function* () {
|
|
36
|
+
const { storeId, clientId, storage, devtools, syncPayloadEncoded } = yield* RpcWorker.initialMessage(WorkerSchema.LeaderWorkerInnerInitialMessage.payloadSchema);
|
|
37
|
+
const sqlite3 = yield* Effect.promise(() => loadSqlite3Wasm()).pipe(Effect.withSpan('@livestore/adapter-node:leader-thread:loadSqlite3Wasm'));
|
|
38
|
+
const makeSqliteDb = yield* sqliteDbFactory({ sqlite3 });
|
|
39
|
+
const layer = yield* makeLeaderThread({
|
|
40
|
+
storeId,
|
|
41
|
+
clientId,
|
|
42
|
+
storage,
|
|
43
|
+
devtools,
|
|
44
|
+
syncOptions: options.sync,
|
|
45
|
+
schema: options.schema,
|
|
46
|
+
testing: options.testing,
|
|
47
|
+
makeSqliteDb,
|
|
48
|
+
syncPayloadEncoded,
|
|
49
|
+
syncPayloadSchema: options.syncPayloadSchema,
|
|
50
|
+
});
|
|
51
|
+
return yield* Layer.buildWithScope(layer, leaderThreadScope);
|
|
52
|
+
}).pipe(Scope.provide(leaderThreadScope), Effect.tapCauseLogPretty, UnknownError.mapToUnknownError, Effect.withSpan('@livestore/adapter-node:worker:InitialMessage'), Effect.orDie));
|
|
53
|
+
const provideLeaderThread = (effect) => Effect.gen(function* () {
|
|
54
|
+
const leaderThreadContext = yield* leaderThreadContextOnce;
|
|
55
|
+
return yield* effect.pipe(Effect.provide(leaderThreadContext));
|
|
56
|
+
});
|
|
57
|
+
return WorkerSchema.LeaderWorkerInnerRpcs.of({
|
|
58
|
+
GetRecreateSnapshot: () => Effect.gen(function* () {
|
|
59
|
+
const workerCtx = yield* LeaderThreadCtx;
|
|
60
|
+
const snapshot = workerCtx.dbState.export();
|
|
61
|
+
return { snapshot, migrationsReport: workerCtx.initialState.migrationsReport };
|
|
62
|
+
}).pipe(provideLeaderThread, Effect.withSpan('@livestore/adapter-node:worker:GetRecreateSnapshot')),
|
|
40
63
|
PullStream: ({ cursor }) => Effect.gen(function* () {
|
|
41
64
|
const { syncProcessor } = yield* LeaderThreadCtx;
|
|
42
65
|
return syncProcessor.pull({ cursor });
|
|
43
|
-
}).pipe(Stream.
|
|
44
|
-
|
|
45
|
-
|
|
66
|
+
}).pipe(provideLeaderThread, Stream.unwrap),
|
|
67
|
+
PushToLeader: ({ batch }) => Effect.andThen(LeaderThreadCtx, ({ syncProcessor }) => syncProcessor.push(batch.map((event) => new LiveStoreEvent.Client.EncodedWithMeta(event)))).pipe(provideLeaderThread, Effect.uninterruptible, Effect.withSpan('@livestore/adapter-node:worker:PushToLeader')),
|
|
68
|
+
StreamEvents: (options) => LeaderThreadCtx.pipe(Effect.map(({ dbEventlog, syncProcessor }) => streamEventsWithSyncState({
|
|
69
|
+
dbEventlog,
|
|
70
|
+
syncState: syncProcessor.syncState,
|
|
71
|
+
options: options,
|
|
72
|
+
})), provideLeaderThread, Stream.unwrap, Stream.withSpan('@livestore/adapter-node:worker:StreamEvents')),
|
|
73
|
+
Export: () => LeaderThreadCtx.pipe(Effect.flatMap((_) => Effect.sync(() => _.dbState.export())), provideLeaderThread, Effect.withSpan('@livestore/adapter-node:worker:Export')),
|
|
74
|
+
ExportEventlog: () => LeaderThreadCtx.pipe(Effect.flatMap((_) => Effect.sync(() => _.dbEventlog.export())), provideLeaderThread, Effect.withSpan('@livestore/adapter-node:worker:ExportEventlog')),
|
|
75
|
+
BootStatusStream: () => LeaderThreadCtx.pipe(Effect.map((_) => Stream.fromQueue(_.bootStatusQueue)), provideLeaderThread, Stream.unwrap),
|
|
46
76
|
GetLeaderHead: () => Effect.gen(function* () {
|
|
47
77
|
const workerCtx = yield* LeaderThreadCtx;
|
|
48
78
|
return Eventlog.getClientHeadFromDb(workerCtx.dbEventlog);
|
|
49
|
-
}).pipe(
|
|
79
|
+
}).pipe(provideLeaderThread, Effect.withSpan('@livestore/adapter-node:worker:GetLeaderHead')),
|
|
50
80
|
GetLeaderSyncState: () => Effect.gen(function* () {
|
|
51
81
|
const workerCtx = yield* LeaderThreadCtx;
|
|
52
82
|
return yield* workerCtx.syncProcessor.syncState;
|
|
53
|
-
}).pipe(
|
|
54
|
-
|
|
83
|
+
}).pipe(provideLeaderThread, Effect.withSpan('@livestore/adapter-node:worker:GetLeaderSyncState')),
|
|
84
|
+
SyncStateStream: () => Effect.gen(function* () {
|
|
55
85
|
const workerCtx = yield* LeaderThreadCtx;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
86
|
+
return workerCtx.syncProcessor.syncState.changes;
|
|
87
|
+
}).pipe(provideLeaderThread, Stream.unwrap),
|
|
88
|
+
GetNetworkStatus: () => Effect.gen(function* () {
|
|
89
|
+
const workerCtx = yield* LeaderThreadCtx;
|
|
90
|
+
return yield* workerCtx.networkStatus;
|
|
91
|
+
}).pipe(provideLeaderThread, Effect.withSpan('@livestore/adapter-node:worker:GetNetworkStatus')),
|
|
92
|
+
NetworkStatusStream: () => Effect.gen(function* () {
|
|
93
|
+
const workerCtx = yield* LeaderThreadCtx;
|
|
94
|
+
return workerCtx.networkStatus.changes;
|
|
95
|
+
}).pipe(provideLeaderThread, Stream.unwrap),
|
|
96
|
+
Shutdown: Effect.fn('@livestore/adapter-node:worker:Shutdown')(function* () {
|
|
66
97
|
yield* Effect.logDebug('[@livestore/adapter-node:worker] Shutdown');
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
// dbEventlog.close()
|
|
72
|
-
// Buy some time for Otel to flush
|
|
73
|
-
// TODO find a cleaner way to do this
|
|
74
|
-
// yield* Effect.sleep(1000)
|
|
75
|
-
}).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:worker:Shutdown')),
|
|
76
|
-
ExtraDevtoolsMessage: ({ message }) => Effect.andThen(LeaderThreadCtx, (_) => _.extraIncomingMessagesQueue.offer(message)).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:worker:ExtraDevtoolsMessage')),
|
|
77
|
-
}).pipe(Layer.provide(PlatformNode.NodeWorkerRunner.layer), WorkerRunner.launch, Effect.scoped, Effect.tapCauseLogPretty, Effect.annotateLogs({
|
|
78
|
-
thread: options.otelOptions?.serviceName ?? 'livestore-node-leader-thread',
|
|
79
|
-
processId: process.pid,
|
|
80
|
-
}),
|
|
81
|
-
// TODO bring back with Effect 4 once it's easier to work with replacing loggers.
|
|
82
|
-
// We basically only want to provide this logger if it's replacing the default logger, not if there's a custom logger already provided.
|
|
83
|
-
// Effect.provide(Logger.prettyWithThread(options.otelOptions?.serviceName ?? 'livestore-node-leader-thread')),
|
|
84
|
-
Effect.provide(FetchHttpClient.layer), Effect.provide(PlatformNode.NodeFileSystem.layer), TracingLive ? Effect.provide(TracingLive) : identity, Logger.withMinimumLogLevel(LogLevel.Debug));
|
|
85
|
-
};
|
|
98
|
+
}),
|
|
99
|
+
ExtraDevtoolsMessage: ({ message }) => Effect.andThen(LeaderThreadCtx, (_) => Queue.offer(_.extraIncomingMessagesQueue, message)).pipe(provideLeaderThread, Effect.asVoid, Effect.withSpan('@livestore/adapter-node:worker:ExtraDevtoolsMessage')),
|
|
100
|
+
});
|
|
101
|
+
}));
|
|
86
102
|
//# sourceMappingURL=make-leader-worker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-leader-worker.js","sourceRoot":"","sources":["../src/make-leader-worker.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"make-leader-worker.js","sourceRoot":"","sources":["../src/make-leader-worker.ts"],"names":[],"mappings":"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"}
|