@livestore/adapter-node 0.3.0-dev.33 → 0.3.0-dev.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/client-session/adapter.d.ts +44 -0
  3. package/dist/client-session/adapter.d.ts.map +1 -0
  4. package/dist/client-session/adapter.js +202 -0
  5. package/dist/client-session/adapter.js.map +1 -0
  6. package/dist/client-session/in-memory-adapter.d.ts +145 -10
  7. package/dist/client-session/in-memory-adapter.d.ts.map +1 -1
  8. package/dist/client-session/in-memory-adapter.js +6 -7
  9. package/dist/client-session/in-memory-adapter.js.map +1 -1
  10. package/dist/client-session/persisted-adapter.d.ts +26 -14
  11. package/dist/client-session/persisted-adapter.d.ts.map +1 -1
  12. package/dist/client-session/persisted-adapter.js +81 -24
  13. package/dist/client-session/persisted-adapter.js.map +1 -1
  14. package/dist/devtools/devtools-server.d.ts.map +1 -1
  15. package/dist/devtools/devtools-server.js +3 -1
  16. package/dist/devtools/devtools-server.js.map +1 -1
  17. package/dist/index.d.ts +1 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/leader-shared.d.ts +29 -0
  22. package/dist/leader-shared.d.ts.map +1 -0
  23. package/dist/leader-shared.js +87 -0
  24. package/dist/leader-shared.js.map +1 -0
  25. package/dist/leader-thread-lazy.js +4 -0
  26. package/dist/leader-thread-lazy.js.map +1 -1
  27. package/dist/leader-thread-shared.d.ts +29 -0
  28. package/dist/leader-thread-shared.d.ts.map +1 -0
  29. package/dist/leader-thread-shared.js +88 -0
  30. package/dist/leader-thread-shared.js.map +1 -0
  31. package/dist/make-leader-worker.d.ts +5 -1
  32. package/dist/make-leader-worker.d.ts.map +1 -1
  33. package/dist/make-leader-worker.js +16 -83
  34. package/dist/make-leader-worker.js.map +1 -1
  35. package/dist/webchannel.d.ts.map +1 -1
  36. package/dist/webchannel.js +13 -3
  37. package/dist/webchannel.js.map +1 -1
  38. package/dist/worker-schema.d.ts +35 -19
  39. package/dist/worker-schema.d.ts.map +1 -1
  40. package/dist/worker-schema.js +14 -19
  41. package/dist/worker-schema.js.map +1 -1
  42. package/package.json +12 -11
  43. package/src/client-session/{persisted-adapter.ts → adapter.ts} +193 -57
  44. package/src/devtools/devtools-server.ts +3 -0
  45. package/src/index.ts +1 -2
  46. package/src/leader-thread-lazy.ts +5 -0
  47. package/src/leader-thread-shared.ts +167 -0
  48. package/src/make-leader-worker.ts +22 -138
  49. package/src/webchannel.ts +16 -3
  50. package/src/worker-schema.ts +23 -26
  51. package/rollup.config.mjs +0 -24
  52. package/src/client-session/in-memory-adapter.ts +0 -170
  53. package/tmp/pack.tgz +0 -0
  54. package/tsconfig.json +0 -17
@@ -1,19 +1,25 @@
1
1
  import { hostname } from 'node:os';
2
2
  import * as WT from 'node:worker_threads';
3
3
  import { Devtools, UnexpectedError } from '@livestore/common';
4
+ import { Eventlog, LeaderThreadCtx } from '@livestore/common/leader-thread';
5
+ import { LiveStoreEvent } from '@livestore/common/schema';
4
6
  import * as DevtoolsNode from '@livestore/devtools-node-common/web-channel';
5
7
  import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm';
6
8
  import { sqliteDbFactory } from '@livestore/sqlite-wasm/node';
7
9
  import { Cause, Effect, FetchHttpClient, Fiber, Layer, ParseResult, Queue, Schema, Stream, SubscriptionRef, Worker, WorkerError, } from '@livestore/utils/effect';
8
10
  import { PlatformNode } from '@livestore/utils/node';
11
+ import { makeLeaderThread } from '../leader-shared.js';
9
12
  import { makeShutdownChannel } from '../shutdown-channel.js';
10
13
  import * as WorkerSchema from '../worker-schema.js';
14
+ /** Runs everything in the same thread. Use `makeWorkerAdapter` for multi-threaded implementation. */
15
+ export const makeAdapter = ({ sync, ...options }) => makeAdapterImpl({ ...options, leaderThread: { _tag: 'single-threaded', sync } });
11
16
  /**
12
- * Warning: This adapter doesn't currently support multiple client sessions for the same client (i.e. same storeId + clientId)
17
+ * Runs persistence and syncing in a worker thread.
13
18
  */
14
- export const makePersistedAdapter = ({ workerUrl, schemaPath, baseDirectory, devtools: devtoolsOptions = { port: 4242, host: 'localhost' }, clientId = hostname(),
19
+ export const makeWorkerAdapter = ({ workerUrl, ...options }) => makeAdapterImpl({ ...options, leaderThread: { _tag: 'multi-threaded', workerUrl } });
20
+ const makeAdapterImpl = ({ storage, devtools: devtoolsOptionsInput, clientId = hostname(),
15
21
  // TODO make this dynamic and actually support multiple sessions
16
- sessionId = 'static', }) => (({ storeId, devtoolsEnabled, shutdown, connectDevtoolsToStore, bootStatusQueue, syncPayload }) => Effect.gen(function* () {
22
+ sessionId = 'static', testing, leaderThread: leaderThreadInput, }) => (({ storeId, devtoolsEnabled, shutdown, connectDevtoolsToStore, bootStatusQueue, syncPayload, schema }) => Effect.gen(function* () {
17
23
  yield* Queue.offer(bootStatusQueue, { stage: 'loading' });
18
24
  const sqlite3 = yield* Effect.promise(() => loadSqlite3Wasm());
19
25
  const makeSqliteDb = yield* sqliteDbFactory({ sqlite3 });
@@ -24,26 +30,46 @@ sessionId = 'static', }) => (({ storeId, devtoolsEnabled, shutdown, connectDevto
24
30
  // } else {
25
31
  // yield* Effect.logWarning('Failed to load database file', fileData.left)
26
32
  // }
27
- const shutdownChannel = yield* makeShutdownChannel(storeId);
28
- yield* shutdownChannel.listen.pipe(Stream.flatten(), Stream.tap((error) => Effect.sync(() => shutdown(Cause.fail(error)))), Stream.runDrain, Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
33
+ if (leaderThreadInput._tag === 'multi-threaded') {
34
+ const shutdownChannel = yield* makeShutdownChannel(storeId);
35
+ yield* shutdownChannel.listen.pipe(Stream.flatten(), Stream.tap((error) => Effect.sync(() => shutdown(Cause.fail(error)))), Stream.runDrain, Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
36
+ }
29
37
  const syncInMemoryDb = yield* makeSqliteDb({ _tag: 'in-memory' }).pipe(Effect.orDie);
30
38
  // TODO actually implement this multi-session support
31
39
  const lockStatus = yield* SubscriptionRef.make('has-lock');
32
- const { leaderThread, initialSnapshot } = yield* makeLeaderThread({
33
- shutdown,
34
- storeId,
35
- clientId,
36
- sessionId,
37
- workerUrl,
38
- baseDirectory,
39
- devtoolsEnabled,
40
- devtoolsOptions,
41
- schemaPath,
42
- bootStatusQueue,
43
- syncPayload,
44
- });
40
+ const devtoolsOptions = devtoolsEnabled && devtoolsOptionsInput !== undefined
41
+ ? {
42
+ enabled: true,
43
+ schemaPath: devtoolsOptionsInput.schemaPath,
44
+ port: devtoolsOptionsInput.port ?? 4242,
45
+ host: devtoolsOptionsInput.host ?? 'localhost',
46
+ }
47
+ : { enabled: false };
48
+ const { leaderThread, initialSnapshot } = leaderThreadInput._tag === 'single-threaded'
49
+ ? yield* makeLocalLeaderThread({
50
+ storeId,
51
+ clientId,
52
+ schema,
53
+ makeSqliteDb,
54
+ syncOptions: leaderThreadInput.sync,
55
+ syncPayload,
56
+ devtools: devtoolsOptions,
57
+ storage,
58
+ testing,
59
+ }).pipe(UnexpectedError.mapToUnexpectedError)
60
+ : yield* makeWorkerLeaderThread({
61
+ shutdown,
62
+ storeId,
63
+ clientId,
64
+ sessionId,
65
+ workerUrl: leaderThreadInput.workerUrl,
66
+ storage,
67
+ devtools: devtoolsOptions,
68
+ bootStatusQueue,
69
+ syncPayload,
70
+ });
45
71
  syncInMemoryDb.import(initialSnapshot);
46
- if (devtoolsEnabled) {
72
+ if (devtoolsOptions.enabled) {
47
73
  yield* Effect.gen(function* () {
48
74
  const webmeshNode = yield* DevtoolsNode.makeNodeDevtoolsConnectedMeshNode({
49
75
  url: `ws://${devtoolsOptions.host}:${devtoolsOptions.port}`,
@@ -79,7 +105,38 @@ sessionId = 'static', }) => (({ storeId, devtoolsEnabled, shutdown, connectDevto
79
105
  };
80
106
  return clientSession;
81
107
  }).pipe(Effect.withSpan('@livestore/adapter-node:adapter'), Effect.parallelFinalizers, Effect.provide(PlatformNode.NodeFileSystem.layer), Effect.provide(FetchHttpClient.layer)));
82
- const makeLeaderThread = ({ shutdown, storeId, clientId, sessionId, workerUrl, baseDirectory, devtoolsEnabled, devtoolsOptions, schemaPath, bootStatusQueue, syncPayload, }) => Effect.gen(function* () {
108
+ const makeLocalLeaderThread = ({ storeId, clientId, schema, makeSqliteDb, syncOptions, syncPayload, storage, devtools, testing, }) => Effect.gen(function* () {
109
+ const layer = yield* Layer.build(makeLeaderThread({
110
+ storeId,
111
+ clientId,
112
+ schema,
113
+ syncOptions,
114
+ storage,
115
+ syncPayload,
116
+ devtools,
117
+ makeSqliteDb,
118
+ testing: testing?.overrides,
119
+ }).pipe(Layer.unwrapScoped));
120
+ return yield* Effect.gen(function* () {
121
+ const { dbState, dbEventlog, syncProcessor, extraIncomingMessagesQueue, initialState } = yield* LeaderThreadCtx;
122
+ const initialLeaderHead = Eventlog.getClientHeadFromDb(dbEventlog);
123
+ const leaderThread = {
124
+ events: {
125
+ pull: testing?.overrides?.clientSession?.leaderThreadProxy?.events?.pull ??
126
+ (({ cursor }) => syncProcessor.pull({ cursor })),
127
+ push: (batch) => syncProcessor.push(batch.map((item) => new LiveStoreEvent.EncodedWithMeta(item)), { waitForProcessing: true }),
128
+ },
129
+ initialState: { leaderHead: initialLeaderHead, migrationsReport: initialState.migrationsReport },
130
+ export: Effect.sync(() => dbState.export()),
131
+ getEventlogData: Effect.sync(() => dbEventlog.export()),
132
+ getSyncState: syncProcessor.syncState,
133
+ sendDevtoolsMessage: (message) => extraIncomingMessagesQueue.offer(message),
134
+ };
135
+ const initialSnapshot = dbState.export();
136
+ return { leaderThread, initialSnapshot };
137
+ }).pipe(Effect.provide(layer));
138
+ });
139
+ const makeWorkerLeaderThread = ({ shutdown, storeId, clientId, sessionId, workerUrl, storage, devtools, bootStatusQueue, syncPayload, testing, }) => Effect.gen(function* () {
83
140
  const nodeWorker = new WT.Worker(workerUrl, {
84
141
  execArgv: process.env.DEBUG_WORKER ? ['--inspect --enable-source-maps'] : ['--enable-source-maps'],
85
142
  argv: [Schema.encodeSync(WorkerSchema.WorkerArgv)({ storeId, clientId, sessionId })],
@@ -91,9 +148,8 @@ const makeLeaderThread = ({ shutdown, storeId, clientId, sessionId, workerUrl, b
91
148
  initialMessage: () => new WorkerSchema.LeaderWorkerInner.InitialMessage({
92
149
  storeId,
93
150
  clientId,
94
- baseDirectory,
95
- devtools: { enabled: devtoolsEnabled, port: devtoolsOptions.port, host: devtoolsOptions.host },
96
- schemaPath,
151
+ storage,
152
+ devtools,
97
153
  syncPayload,
98
154
  }),
99
155
  }).pipe(Effect.provide(nodeWorkerLayer), UnexpectedError.mapToUnexpectedError, Effect.tapErrorCause((cause) => Effect.sync(() => shutdown(cause))), Effect.withSpan('@livestore/adapter-node:adapter:setupLeaderThread'));
@@ -123,7 +179,8 @@ const makeLeaderThread = ({ shutdown, storeId, clientId, sessionId, workerUrl, b
123
179
  const bootResult = yield* runInWorker(new WorkerSchema.LeaderWorkerInner.GetRecreateSnapshot()).pipe(Effect.timeout(10_000), UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:client-session:export'));
124
180
  const leaderThread = {
125
181
  events: {
126
- pull: ({ cursor }) => runInWorkerStream(new WorkerSchema.LeaderWorkerInner.PullStream({ cursor })).pipe(Stream.orDie),
182
+ pull: testing?.overrides?.clientSession?.leaderThreadProxy?.events?.pull ??
183
+ (({ cursor }) => runInWorkerStream(new WorkerSchema.LeaderWorkerInner.PullStream({ cursor })).pipe(Stream.orDie)),
127
184
  push: (batch) => runInWorker(new WorkerSchema.LeaderWorkerInner.PushToLeader({ batch })).pipe(Effect.withSpan('@livestore/adapter-node:client-session:pushToLeader', {
128
185
  attributes: { batchSize: batch.length },
129
186
  })),
@@ -1 +1 @@
1
- {"version":3,"file":"persisted-adapter.js","sourceRoot":"","sources":["../../src/client-session/persisted-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persisted-adapter.js","sourceRoot":"","sources":["../../src/client-session/persisted-adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"devtools-server.d.ts","sourceRoot":"","sources":["../../src/devtools/devtools-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,MAAM,EAQP,MAAM,yBAAyB,CAAA;AAMhC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,2DAOjC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,kFA+EE,CAAA"}
1
+ {"version":3,"file":"devtools-server.d.ts","sourceRoot":"","sources":["../../src/devtools/devtools-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,MAAM,EAQP,MAAM,yBAAyB,CAAA;AAMhC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,2DAOjC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,kFAkFE,CAAA"}
@@ -65,7 +65,9 @@ export const startDevtoolsServer = ({ schemaPath, storeId, clientId, sessionId,
65
65
  }).pipe(Effect.interruptible);
66
66
  yield* Effect.logDebug(`[@livestore/adapter-node:devtools] LiveStore devtools are available at http://${host}:${port}/_livestore/node/${storeId}/${clientId}/${sessionId}`);
67
67
  return HttpServer.serve(handler, HttpMiddleware.logger);
68
- }).pipe(Layer.unwrapScoped,
68
+ }).pipe(Effect.withSpan('@livestore/adapter-node:startDevtoolsServer', {
69
+ attributes: { storeId, clientId, sessionId, port, host, schemaPath },
70
+ }), Layer.unwrapScoped,
69
71
  // HttpServer.withLogAddress,
70
72
  Layer.provide(PlatformNode.NodeHttpServer.layer(() => http.createServer(), { port, host })), Layer.launch, Effect.orDie);
71
73
  //# sourceMappingURL=devtools-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devtools-server.js","sourceRoot":"","sources":["../../src/devtools/devtools-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devtools-server.js","sourceRoot":"","sources":["../../src/devtools/devtools-server.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- export { makeInMemoryAdapter } from './client-session/in-memory-adapter.js';
2
- export { makePersistedAdapter } from './client-session/persisted-adapter.js';
1
+ export { makeAdapter, makeWorkerAdapter } from './client-session/adapter.js';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,2 @@
1
- export { makeInMemoryAdapter } from './client-session/in-memory-adapter.js';
2
- export { makePersistedAdapter } from './client-session/persisted-adapter.js';
1
+ export { makeAdapter, makeWorkerAdapter } from './client-session/adapter.js';
3
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA"}
@@ -0,0 +1,29 @@
1
+ import type { ClientSessionLeaderThreadProxy, MakeSqliteDb, SqliteDb, SyncOptions } from '@livestore/common';
2
+ import { UnexpectedError } from '@livestore/common';
3
+ import type { LeaderThreadCtx } from '@livestore/common/leader-thread';
4
+ import type { LiveStoreSchema } from '@livestore/common/schema';
5
+ import type { MakeNodeSqliteDb } from '@livestore/sqlite-wasm/node';
6
+ import type { FileSystem, HttpClient, Layer, Schema, Scope } from '@livestore/utils/effect';
7
+ import { Effect } from '@livestore/utils/effect';
8
+ import type * as WorkerSchema from './worker-schema.js';
9
+ export type TestingOverrides = {
10
+ clientSession?: {
11
+ leaderThreadProxy?: Partial<ClientSessionLeaderThreadProxy>;
12
+ };
13
+ makeLeaderThread?: {
14
+ dbEventlog?: (makeSqliteDb: MakeSqliteDb) => Effect.Effect<SqliteDb, UnexpectedError>;
15
+ };
16
+ };
17
+ export interface MakeLeaderThreadArgs {
18
+ storeId: string;
19
+ clientId: string;
20
+ syncOptions: SyncOptions | undefined;
21
+ storage: WorkerSchema.StorageType;
22
+ makeSqliteDb: MakeNodeSqliteDb;
23
+ devtools: WorkerSchema.LeaderWorkerInner.InitialMessage['devtools'];
24
+ schema: LiveStoreSchema;
25
+ syncPayload: Schema.JsonValue | undefined;
26
+ testing: TestingOverrides | undefined;
27
+ }
28
+ export declare const makeLeaderThread: ({ storeId, clientId, syncOptions, makeSqliteDb, storage, devtools, schema, syncPayload, testing, }: MakeLeaderThreadArgs) => Effect.Effect<Layer.Layer<LeaderThreadCtx, UnexpectedError, Scope.Scope | HttpClient.HttpClient | FileSystem.FileSystem>, UnexpectedError, Scope.Scope>;
29
+ //# sourceMappingURL=leader-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leader-shared.d.ts","sourceRoot":"","sources":["../src/leader-shared.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,8BAA8B,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5G,OAAO,EAA2C,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC5F,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,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC3F,OAAO,EAAE,MAAM,EAAmB,MAAM,yBAAyB,CAAA;AAIjE,OAAO,KAAK,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE;QACd,iBAAiB,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAA;KAC5D,CAAA;IACD,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;KACtF,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,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IACnE,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;IACzC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACtC;AAED,eAAO,MAAM,gBAAgB,GAAI,oGAU9B,oBAAoB,KAAG,MAAM,CAAC,MAAM,CACrC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,EAC1G,eAAe,EACf,KAAK,CAAC,KAAK,CAuDV,CAAA"}
@@ -0,0 +1,87 @@
1
+ import inspector from 'node:inspector';
2
+ import path from 'node:path';
3
+ if (process.execArgv.includes('--inspect')) {
4
+ inspector.open();
5
+ inspector.waitForDebugger();
6
+ }
7
+ import { Devtools, liveStoreStorageFormatVersion, UnexpectedError } from '@livestore/common';
8
+ import { configureConnection, makeLeaderThreadLayer } from '@livestore/common/leader-thread';
9
+ import { makeNodeDevtoolsChannel } from '@livestore/devtools-node-common/web-channel';
10
+ import { Effect, FetchHttpClient } from '@livestore/utils/effect';
11
+ import { startDevtoolsServer } from './devtools/devtools-server.js';
12
+ import { makeShutdownChannel } from './shutdown-channel.js';
13
+ export const makeLeaderThread = ({ storeId, clientId, syncOptions, makeSqliteDb, storage, devtools, schema, syncPayload, testing, }) => Effect.gen(function* () {
14
+ const runtime = yield* Effect.runtime();
15
+ const schemaHashSuffix = schema.state.sqlite.migrations.strategy === 'manual' ? 'fixed' : schema.state.sqlite.hash.toString();
16
+ const makeDb = (kind) => {
17
+ if (testing?.makeLeaderThread?.dbEventlog && kind === 'eventlog') {
18
+ return testing.makeLeaderThread.dbEventlog(makeSqliteDb);
19
+ }
20
+ return storage.type === 'in-memory'
21
+ ? makeSqliteDb({
22
+ _tag: 'in-memory',
23
+ configureDb: (db) => configureConnection(db, { foreignKeys: true }).pipe(Effect.provide(runtime), Effect.runSync),
24
+ })
25
+ : makeSqliteDb({
26
+ _tag: 'fs',
27
+ directory: path.join(storage.baseDirectory ?? '', storeId),
28
+ fileName: kind === 'state' ? getStateDbFileName(schemaHashSuffix) : `eventlog@${liveStoreStorageFormatVersion}.db`,
29
+ // TODO enable WAL for nodejs
30
+ configureDb: (db) => configureConnection(db, { foreignKeys: true }).pipe(Effect.provide(runtime), Effect.runSync),
31
+ }).pipe(Effect.acquireRelease((db) => Effect.sync(() => db.close())));
32
+ };
33
+ // Might involve some async work, so we're running them concurrently
34
+ const [dbState, dbEventlog] = yield* Effect.all([makeDb('state'), makeDb('eventlog')], { concurrency: 2 });
35
+ const devtoolsOptions = yield* makeDevtoolsOptions({ devtools, dbState, dbEventlog, storeId, clientId });
36
+ const shutdownChannel = yield* makeShutdownChannel(storeId);
37
+ return makeLeaderThreadLayer({
38
+ schema,
39
+ storeId,
40
+ clientId,
41
+ makeSqliteDb,
42
+ syncOptions,
43
+ dbState,
44
+ dbEventlog,
45
+ devtoolsOptions,
46
+ shutdownChannel,
47
+ syncPayload,
48
+ });
49
+ }).pipe(Effect.tapCauseLogPretty, UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:makeLeaderThread', {
50
+ attributes: { storeId, clientId, storage, devtools, syncOptions },
51
+ }));
52
+ const getStateDbFileName = (suffix) => `state${suffix}@${liveStoreStorageFormatVersion}.db`;
53
+ const makeDevtoolsOptions = ({ dbState, dbEventlog, storeId, clientId, devtools, }) => Effect.gen(function* () {
54
+ if (devtools.enabled === false) {
55
+ return {
56
+ enabled: false,
57
+ };
58
+ }
59
+ return {
60
+ enabled: true,
61
+ makeBootContext: Effect.gen(function* () {
62
+ // TODO instead of failing when the port is already in use, we should try to use that WS server instead of starting a new one
63
+ yield* startDevtoolsServer({
64
+ schemaPath: devtools.schemaPath,
65
+ storeId,
66
+ clientId,
67
+ sessionId: 'static', // TODO make this dynamic
68
+ port: devtools.port,
69
+ host: devtools.host,
70
+ }).pipe(Effect.tapCauseLogPretty, Effect.forkScoped);
71
+ const devtoolsWebChannel = yield* makeNodeDevtoolsChannel({
72
+ nodeName: `leader-${storeId}-${clientId}`,
73
+ target: `devtools-${storeId}-${clientId}-static`,
74
+ url: `ws://localhost:${devtools.port}`,
75
+ schema: { listen: Devtools.Leader.MessageToApp, send: Devtools.Leader.MessageFromApp },
76
+ });
77
+ return {
78
+ devtoolsWebChannel,
79
+ persistenceInfo: {
80
+ state: dbState.metadata.persistenceInfo,
81
+ eventlog: dbEventlog.metadata.persistenceInfo,
82
+ },
83
+ };
84
+ }).pipe(Effect.provide(FetchHttpClient.layer)),
85
+ };
86
+ });
87
+ //# sourceMappingURL=leader-shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leader-shared.js","sourceRoot":"","sources":["../src/leader-shared.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ // NOTE This file isn't currently used but was part of an experiment to see whether we can improve
2
+ // the Node startup time by lazy loading the leader thread bundle.
3
+ // This indeed provided a nice speedup but it takes quite a bit of tooling to set up and comes with
4
+ // other downsides (e.g. treeshaking).
1
5
  const run = async () => {
2
6
  const start = Date.now();
3
7
  // @ts-expect-error todo
@@ -1 +1 @@
1
- {"version":3,"file":"leader-thread-lazy.js","sourceRoot":"","sources":["../src/leader-thread-lazy.ts"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACxB,wBAAwB;IACxB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,GAAG,KAAK,IAAI,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"leader-thread-lazy.js","sourceRoot":"","sources":["../src/leader-thread-lazy.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,kEAAkE;AAClE,mGAAmG;AACnG,sCAAsC;AAEtC,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACxB,wBAAwB;IACxB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,GAAG,KAAK,IAAI,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,GAAG,EAAE,CAAA"}
@@ -0,0 +1,29 @@
1
+ import type { ClientSessionLeaderThreadProxy, MakeSqliteDb, SqliteDb, SyncOptions } from '@livestore/common';
2
+ import { UnexpectedError } from '@livestore/common';
3
+ import type { LeaderThreadCtx } from '@livestore/common/leader-thread';
4
+ import type { LiveStoreSchema } from '@livestore/common/schema';
5
+ import type { MakeNodeSqliteDb } from '@livestore/sqlite-wasm/node';
6
+ import type { FileSystem, HttpClient, Layer, Schema, Scope } from '@livestore/utils/effect';
7
+ import { Effect } from '@livestore/utils/effect';
8
+ import type * as WorkerSchema from './worker-schema.js';
9
+ export type TestingOverrides = {
10
+ clientSession?: {
11
+ leaderThreadProxy?: Partial<ClientSessionLeaderThreadProxy>;
12
+ };
13
+ makeLeaderThread?: {
14
+ dbEventlog?: (makeSqliteDb: MakeSqliteDb) => Effect.Effect<SqliteDb, UnexpectedError>;
15
+ };
16
+ };
17
+ export interface MakeLeaderThreadArgs {
18
+ storeId: string;
19
+ clientId: string;
20
+ syncOptions: SyncOptions | undefined;
21
+ storage: WorkerSchema.StorageType;
22
+ makeSqliteDb: MakeNodeSqliteDb;
23
+ devtools: WorkerSchema.LeaderWorkerInner.InitialMessage['devtools'];
24
+ schema: LiveStoreSchema;
25
+ syncPayload: Schema.JsonValue | undefined;
26
+ testing: TestingOverrides | undefined;
27
+ }
28
+ export declare const makeLeaderThread: ({ storeId, clientId, syncOptions, makeSqliteDb, storage, devtools, schema, syncPayload, testing, }: MakeLeaderThreadArgs) => Effect.Effect<Layer.Layer<LeaderThreadCtx, UnexpectedError, Scope.Scope | HttpClient.HttpClient | FileSystem.FileSystem>, UnexpectedError, Scope.Scope>;
29
+ //# sourceMappingURL=leader-thread-shared.d.ts.map
@@ -0,0 +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,EAA2C,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC5F,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,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC3F,OAAO,EAAE,MAAM,EAAmB,MAAM,yBAAyB,CAAA;AAGjE,OAAO,KAAK,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE;QACd,iBAAiB,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAA;KAC5D,CAAA;IACD,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;KACtF,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,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IACnE,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;IACzC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACtC;AAED,eAAO,MAAM,gBAAgB,GAAI,oGAU9B,oBAAoB,KAAG,MAAM,CAAC,MAAM,CACrC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,EAC1G,eAAe,EACf,KAAK,CAAC,KAAK,CAuDV,CAAA"}
@@ -0,0 +1,88 @@
1
+ import inspector from 'node:inspector';
2
+ import path from 'node:path';
3
+ if (process.execArgv.includes('--inspect')) {
4
+ inspector.open();
5
+ inspector.waitForDebugger();
6
+ }
7
+ import { Devtools, liveStoreStorageFormatVersion, UnexpectedError } from '@livestore/common';
8
+ import { configureConnection, makeLeaderThreadLayer } from '@livestore/common/leader-thread';
9
+ import { makeNodeDevtoolsChannel } from '@livestore/devtools-node-common/web-channel';
10
+ import { Effect, FetchHttpClient } from '@livestore/utils/effect';
11
+ import { makeShutdownChannel } from './shutdown-channel.js';
12
+ export const makeLeaderThread = ({ storeId, clientId, syncOptions, makeSqliteDb, storage, devtools, schema, syncPayload, testing, }) => Effect.gen(function* () {
13
+ const runtime = yield* Effect.runtime();
14
+ const schemaHashSuffix = schema.state.sqlite.migrations.strategy === 'manual' ? 'fixed' : schema.state.sqlite.hash.toString();
15
+ const makeDb = (kind) => {
16
+ if (testing?.makeLeaderThread?.dbEventlog && kind === 'eventlog') {
17
+ return testing.makeLeaderThread.dbEventlog(makeSqliteDb);
18
+ }
19
+ return storage.type === 'in-memory'
20
+ ? makeSqliteDb({
21
+ _tag: 'in-memory',
22
+ configureDb: (db) => configureConnection(db, { foreignKeys: true }).pipe(Effect.provide(runtime), Effect.runSync),
23
+ })
24
+ : makeSqliteDb({
25
+ _tag: 'fs',
26
+ directory: path.join(storage.baseDirectory ?? '', storeId),
27
+ fileName: kind === 'state' ? getStateDbFileName(schemaHashSuffix) : `eventlog@${liveStoreStorageFormatVersion}.db`,
28
+ // TODO enable WAL for nodejs
29
+ configureDb: (db) => configureConnection(db, { foreignKeys: true }).pipe(Effect.provide(runtime), Effect.runSync),
30
+ }).pipe(Effect.acquireRelease((db) => Effect.sync(() => db.close())));
31
+ };
32
+ // Might involve some async work, so we're running them concurrently
33
+ const [dbState, dbEventlog] = yield* Effect.all([makeDb('state'), makeDb('eventlog')], { concurrency: 2 });
34
+ const devtoolsOptions = yield* makeDevtoolsOptions({ devtools, dbState, dbEventlog, storeId, clientId });
35
+ const shutdownChannel = yield* makeShutdownChannel(storeId);
36
+ return makeLeaderThreadLayer({
37
+ schema,
38
+ storeId,
39
+ clientId,
40
+ makeSqliteDb,
41
+ syncOptions,
42
+ dbState,
43
+ dbEventlog,
44
+ devtoolsOptions,
45
+ shutdownChannel,
46
+ syncPayload,
47
+ });
48
+ }).pipe(Effect.tapCauseLogPretty, UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:makeLeaderThread', {
49
+ attributes: { storeId, clientId, storage, devtools, syncOptions },
50
+ }));
51
+ const getStateDbFileName = (suffix) => `state${suffix}@${liveStoreStorageFormatVersion}.db`;
52
+ const makeDevtoolsOptions = ({ dbState, dbEventlog, storeId, clientId, devtools, }) => Effect.gen(function* () {
53
+ if (devtools.enabled === false) {
54
+ return {
55
+ enabled: false,
56
+ };
57
+ }
58
+ return {
59
+ enabled: true,
60
+ makeBootContext: Effect.gen(function* () {
61
+ // Lazy import to improve startup time
62
+ const { startDevtoolsServer } = yield* Effect.promise(() => import('./devtools/devtools-server.js'));
63
+ // TODO instead of failing when the port is already in use, we should try to use that WS server instead of starting a new one
64
+ yield* startDevtoolsServer({
65
+ schemaPath: devtools.schemaPath,
66
+ storeId,
67
+ clientId,
68
+ sessionId: 'static', // TODO make this dynamic
69
+ port: devtools.port,
70
+ host: devtools.host,
71
+ }).pipe(Effect.tapCauseLogPretty, Effect.forkScoped);
72
+ const devtoolsWebChannel = yield* makeNodeDevtoolsChannel({
73
+ nodeName: `leader-${storeId}-${clientId}`,
74
+ target: `devtools-${storeId}-${clientId}-static`,
75
+ url: `ws://localhost:${devtools.port}`,
76
+ schema: { listen: Devtools.Leader.MessageToApp, send: Devtools.Leader.MessageFromApp },
77
+ });
78
+ return {
79
+ devtoolsWebChannel,
80
+ persistenceInfo: {
81
+ state: dbState.metadata.persistenceInfo,
82
+ eventlog: dbEventlog.metadata.persistenceInfo,
83
+ },
84
+ };
85
+ }).pipe(Effect.provide(FetchHttpClient.layer)),
86
+ };
87
+ });
88
+ //# sourceMappingURL=leader-thread-shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leader-thread-shared.js","sourceRoot":"","sources":["../src/leader-thread-shared.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,23 @@
1
1
  import './thread-polyfill.js';
2
2
  import type { SyncOptions } from '@livestore/common';
3
+ import type { LiveStoreSchema } from '@livestore/common/schema';
3
4
  import { Effect } from '@livestore/utils/effect';
4
5
  import type * as otel from '@opentelemetry/api';
6
+ import type { TestingOverrides } from './leader-thread-shared.js';
5
7
  export type WorkerOptions = {
8
+ schema: LiveStoreSchema;
6
9
  sync?: SyncOptions;
7
10
  otelOptions?: {
8
11
  tracer?: otel.Tracer;
9
12
  /** @default 'livestore-node-leader-thread' */
10
13
  serviceName?: string;
11
14
  };
15
+ testing?: TestingOverrides;
12
16
  };
13
17
  export declare const getWorkerArgs: () => {
14
18
  readonly clientId: string;
15
- readonly sessionId: string;
16
19
  readonly storeId: string;
20
+ readonly sessionId: string;
17
21
  };
18
22
  export declare const makeWorker: (options: WorkerOptions) => void;
19
23
  export declare const makeWorkerEffect: (options: WorkerOptions) => Effect.Effect<void, import("@effect/platform/WorkerError").WorkerError, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"make-leader-worker.d.ts","sourceRoot":"","sources":["../src/make-leader-worker.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAA;AAU7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAUpD,OAAO,EACL,MAAM,EAUP,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAM/C,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;QACpB,8CAA8C;QAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACF,CAAA;AAED,eAAO,MAAM,aAAa;;;;CAAqE,CAAA;AAE/F,eAAO,MAAM,UAAU,GAAI,SAAS,aAAa,SAEhD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,aAAa,mFAgGtD,CAAA"}
1
+ {"version":3,"file":"make-leader-worker.d.ts","sourceRoot":"","sources":["../src/make-leader-worker.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAA;AAS7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAI/D,OAAO,EACL,MAAM,EAUP,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,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,CAAA;AAED,eAAO,MAAM,aAAa;;;;CAAqE,CAAA;AAE/F,eAAO,MAAM,UAAU,GAAI,SAAS,aAAa,SAEhD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,aAAa,mFA6GtD,CAAA"}