@livestore/adapter-node 0.3.0-dev.16 → 0.3.0-dev.18
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/index.d.ts.map +1 -1
- package/dist/client-session/index.js +8 -15
- package/dist/client-session/index.js.map +1 -1
- package/dist/devtools/devtools-server.d.ts.map +1 -1
- package/dist/devtools/devtools-server.js +14 -4
- package/dist/devtools/devtools-server.js.map +1 -1
- package/dist/devtools/vite-dev-server.d.ts.map +1 -1
- package/dist/in-memory/index.d.ts.map +1 -1
- package/dist/in-memory/index.js +9 -5
- package/dist/in-memory/index.js.map +1 -1
- package/dist/make-leader-worker.d.ts +1 -1
- package/dist/make-leader-worker.d.ts.map +1 -1
- package/dist/make-leader-worker.js +7 -2
- package/dist/make-leader-worker.js.map +1 -1
- package/dist/shutdown-channel.d.ts +1 -5
- package/dist/shutdown-channel.d.ts.map +1 -1
- package/dist/webchannel.d.ts.map +1 -1
- package/dist/webchannel.js +3 -3
- package/dist/webchannel.js.map +1 -1
- package/dist/worker-schema.d.ts +2 -2
- package/dist/worker-schema.d.ts.map +1 -1
- package/dist/worker-schema.js +2 -4
- package/dist/worker-schema.js.map +1 -1
- package/package.json +8 -8
- package/src/client-session/index.ts +21 -22
- package/src/devtools/devtools-server.ts +18 -5
- package/src/in-memory/index.ts +22 -4
- package/src/make-leader-worker.ts +10 -3
- package/src/webchannel.ts +11 -8
- package/src/worker-schema.ts +2 -4
- package/tmp/pack.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client-session/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAMR,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client-session/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAMR,MAAM,mBAAmB,CAAA;AAqB1B,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,EAAE,GAAG,CAAA;IACd,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE;QACT;;;;WAIG;QACH,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF;AAED,eAAO,MAAM,eAAe,GAAI,gFAM7B,kBAAkB,KAAG,OAkFA,CAAA"}
|
|
@@ -4,8 +4,9 @@ import { Devtools, UnexpectedError } from '@livestore/common';
|
|
|
4
4
|
import { makeNodeDevtoolsChannel } from '@livestore/devtools-node-common/web-channel';
|
|
5
5
|
import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm';
|
|
6
6
|
import { sqliteDbFactory } from '@livestore/sqlite-wasm/node';
|
|
7
|
-
import {
|
|
7
|
+
import { Cause, Effect, Fiber, ParseResult, Schema, Stream, SubscriptionRef, Worker, WorkerError, } from '@livestore/utils/effect';
|
|
8
8
|
import { PlatformNode } from '@livestore/utils/node';
|
|
9
|
+
import { makeShutdownChannel } from '../shutdown-channel.js';
|
|
9
10
|
import * as WorkerSchema from '../worker-schema.js';
|
|
10
11
|
export const makeNodeAdapter = ({ workerUrl, schemaPath, baseDirectory, devtools: devtoolsOptions = { port: 4242 }, clientId = hostname(), }) => (({ storeId, devtoolsEnabled, shutdown, connectDevtoolsToStore }) => Effect.gen(function* () {
|
|
11
12
|
// TODO make this dynamic and actually support multiple sessions
|
|
@@ -19,6 +20,8 @@ export const makeNodeAdapter = ({ workerUrl, schemaPath, baseDirectory, devtools
|
|
|
19
20
|
// } else {
|
|
20
21
|
// yield* Effect.logWarning('Failed to load database file', fileData.left)
|
|
21
22
|
// }
|
|
23
|
+
const shutdownChannel = yield* makeShutdownChannel(storeId);
|
|
24
|
+
yield* shutdownChannel.listen.pipe(Stream.flatten(), Stream.tap((error) => Effect.sync(() => shutdown(Cause.fail(error)))), Stream.runDrain, Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
22
25
|
const syncInMemoryDb = yield* makeSqliteDb({ _tag: 'in-memory' }).pipe(Effect.orDie);
|
|
23
26
|
// TODO actually implement this multi-session support
|
|
24
27
|
const lockStatus = yield* SubscriptionRef.make('has-lock');
|
|
@@ -77,7 +80,7 @@ const makeLeaderThread = ({ shutdown, storeId, clientId, sessionId, workerUrl, b
|
|
|
77
80
|
devtools: { enabled: devtoolsEnabled, port: devtoolsOptions.port },
|
|
78
81
|
schemaPath,
|
|
79
82
|
}),
|
|
80
|
-
}).pipe(Effect.provide(PlatformNode.NodeWorker.layer(() => nodeWorker)), UnexpectedError.mapToUnexpectedError, Effect.tapErrorCause(shutdown), Effect.withSpan('@livestore/adapter-node:adapter:setupLeaderThread'), Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
83
|
+
}).pipe(Effect.provide(PlatformNode.NodeWorker.layer(() => nodeWorker)), UnexpectedError.mapToUnexpectedError, Effect.tapErrorCause((cause) => Effect.sync(() => shutdown(cause))), Effect.withSpan('@livestore/adapter-node:adapter:setupLeaderThread'), Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
81
84
|
yield* Effect.addFinalizer(() => Effect.gen(function* () {
|
|
82
85
|
// We first try to gracefully shutdown the leader worker and then forcefully terminate it
|
|
83
86
|
yield* Effect.raceFirst(runInWorker(new WorkerSchema.LeaderWorkerInner.Shutdown()).pipe(Effect.andThen(() => nodeWorker.terminate())), Effect.sync(() => {
|
|
@@ -107,24 +110,14 @@ const makeLeaderThread = ({ shutdown, storeId, clientId, sessionId, workerUrl, b
|
|
|
107
110
|
timestampMs: Date.now(),
|
|
108
111
|
latchClosed: false,
|
|
109
112
|
});
|
|
110
|
-
const pushQueue = yield* BucketQueue.make();
|
|
111
|
-
yield* Effect.gen(function* () {
|
|
112
|
-
const batch = yield* BucketQueue.takeBetween(pushQueue, 1, 100);
|
|
113
|
-
yield* runInWorker(new WorkerSchema.LeaderWorkerInner.PushToLeader({ batch })).pipe(Effect.withSpan('@livestore/adapter-node:client-session:pushToLeader', {
|
|
114
|
-
attributes: { batchSize: batch.length },
|
|
115
|
-
}),
|
|
116
|
-
// We can ignore the error here because the ClientSessionSyncProcessor will retry after rebasing
|
|
117
|
-
Effect.ignoreLogged);
|
|
118
|
-
}).pipe(Effect.forever, Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
119
113
|
const bootResult = yield* runInWorker(new WorkerSchema.LeaderWorkerInner.GetRecreateSnapshot()).pipe(Effect.timeout(10_000), UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:client-session:export'));
|
|
120
114
|
const leaderThread = {
|
|
121
115
|
networkStatus,
|
|
122
116
|
mutations: {
|
|
123
117
|
pull: runInWorkerStream(new WorkerSchema.LeaderWorkerInner.PullStream({ cursor: initialLeaderHead })).pipe(Stream.orDie),
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
push: (batch) => BucketQueue.offerAll(pushQueue, batch),
|
|
118
|
+
push: (batch) => runInWorker(new WorkerSchema.LeaderWorkerInner.PushToLeader({ batch })).pipe(Effect.withSpan('@livestore/adapter-node:client-session:pushToLeader', {
|
|
119
|
+
attributes: { batchSize: batch.length },
|
|
120
|
+
})),
|
|
128
121
|
},
|
|
129
122
|
initialState: {
|
|
130
123
|
leaderHead: initialLeaderHead,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client-session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAUzC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client-session/index.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":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKhD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"devtools-server.d.ts","sourceRoot":"","sources":["../../src/devtools/devtools-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKhD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,qDAMjC;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;CACb,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAuE8B,CAAA"}
|
|
@@ -11,9 +11,19 @@ import { makeViteServer } from './vite-dev-server.js';
|
|
|
11
11
|
* - the Devtools Protocol via WebSocket Webmesh
|
|
12
12
|
*/
|
|
13
13
|
export const startDevtoolsServer = ({ schemaPath, storeId, clientId, sessionId, port, }) => Effect.gen(function* () {
|
|
14
|
-
const httpServer = http.createServer()
|
|
14
|
+
const httpServer = yield* Effect.sync(() => http.createServer()).pipe(Effect.acquireRelease((httpServer) => Effect.async((cb) => {
|
|
15
|
+
httpServer.removeAllListeners();
|
|
16
|
+
httpServer.closeAllConnections();
|
|
17
|
+
httpServer.close((err) => {
|
|
18
|
+
if (err) {
|
|
19
|
+
cb(Effect.fail(UnexpectedError.make({ cause: err })));
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
cb(Effect.succeed(undefined));
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}).pipe(Effect.orDie)));
|
|
15
26
|
const webSocketServer = yield* makeWebSocketServer({ relayNodeName: 'ws' });
|
|
16
|
-
yield* Effect.addFinalizer(() => Effect.sync(() => httpServer.close()));
|
|
17
27
|
// Handle upgrade manually
|
|
18
28
|
httpServer.on('upgrade', (request, socket, head) => {
|
|
19
29
|
webSocketServer.handleUpgrade(request, socket, head, (ws) => {
|
|
@@ -24,12 +34,12 @@ export const startDevtoolsServer = ({ schemaPath, storeId, clientId, sessionId,
|
|
|
24
34
|
httpServer.on('error', (err) => {
|
|
25
35
|
cb(UnexpectedError.make({ cause: err }));
|
|
26
36
|
});
|
|
27
|
-
httpServer.listen(port, () => {
|
|
37
|
+
httpServer.listen(port, '0.0.0.0', () => {
|
|
28
38
|
cb(Effect.succeed(undefined));
|
|
29
39
|
});
|
|
30
40
|
});
|
|
31
41
|
yield* startServer(port);
|
|
32
|
-
yield* Effect.logDebug(`[@livestore/adapter-node:devtools] LiveStore devtools are available at http://localhost:${port}/
|
|
42
|
+
yield* Effect.logDebug(`[@livestore/adapter-node:devtools] LiveStore devtools are available at http://localhost:${port}/_livestore`);
|
|
33
43
|
const viteServer = yield* makeViteServer({
|
|
34
44
|
mode: { _tag: 'node', storeId, clientId, sessionId, url: `ws://localhost:${port}` },
|
|
35
45
|
schemaPath: path.resolve(process.cwd(), schemaPath),
|
|
@@ -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;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,UAAU,EACV,OAAO,EACP,QAAQ,EACR,SAAS,EACT,IAAI,GAOL,EAAqD,EAAE,CACtD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"devtools-server.js","sourceRoot":"","sources":["../../src/devtools/devtools-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-dev-server.d.ts","sourceRoot":"","sources":["../../src/devtools/vite-dev-server.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,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,CAAA;IAClB;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1E,CAAA;AAKD,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"vite-dev-server.d.ts","sourceRoot":"","sources":["../../src/devtools/vite-dev-server.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,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,CAAA;IAClB;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1E,CAAA;AAKD,eAAO,MAAM,cAAc,GAAI,SAAS,mBAAmB,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAwClC,CAAA;AAE7E,eAAO,MAAM,WAAW,+CAmBtB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAKP,WAAW,EACZ,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAKP,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAc1B,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,GAC7B,iCAA+C,sBAAsB,KAAG,OAiD1B,CAAA"}
|
package/dist/in-memory/index.js
CHANGED
|
@@ -3,10 +3,11 @@ import { getClientHeadFromDb, LeaderThreadCtx, makeLeaderThreadLayer } from '@li
|
|
|
3
3
|
import { MutationEvent } from '@livestore/common/schema';
|
|
4
4
|
import { sqliteDbFactory } from '@livestore/sqlite-wasm/browser';
|
|
5
5
|
import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm';
|
|
6
|
-
import { Effect, FetchHttpClient, Layer, Stream, SubscriptionRef
|
|
6
|
+
import { Cause, Effect, FetchHttpClient, Layer, Stream, SubscriptionRef } from '@livestore/utils/effect';
|
|
7
7
|
import { nanoid } from '@livestore/utils/nanoid';
|
|
8
|
+
import { makeShutdownChannel } from '../shutdown-channel.js';
|
|
8
9
|
/** NOTE: This adapter is currently only used for testing */
|
|
9
|
-
export const makeInMemoryAdapter = ({ sync: syncOptions, clientId = 'in-memory' }) => ({ schema, storeId,
|
|
10
|
+
export const makeInMemoryAdapter = ({ sync: syncOptions, clientId = 'in-memory' }) => ({ schema, storeId, shutdown,
|
|
10
11
|
// devtoolsEnabled, bootStatusQueue, shutdown, connectDevtoolsToStore
|
|
11
12
|
}) => Effect.gen(function* () {
|
|
12
13
|
const sqlite3 = yield* Effect.promise(() => loadSqlite3Wasm());
|
|
@@ -14,6 +15,8 @@ export const makeInMemoryAdapter = ({ sync: syncOptions, clientId = 'in-memory'
|
|
|
14
15
|
const sqliteDb = yield* makeSqliteDb({ _tag: 'in-memory' });
|
|
15
16
|
const lockStatus = SubscriptionRef.make('has-lock').pipe(Effect.runSync);
|
|
16
17
|
const sessionId = nanoid(6);
|
|
18
|
+
const shutdownChannel = yield* makeShutdownChannel(storeId);
|
|
19
|
+
yield* shutdownChannel.listen.pipe(Stream.flatten(), Stream.tap((error) => Effect.sync(() => shutdown(Cause.fail(error)))), Stream.runDrain, Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
17
20
|
const { leaderThread, initialSnapshot } = yield* makeLeaderThread({
|
|
18
21
|
storeId,
|
|
19
22
|
clientId,
|
|
@@ -29,7 +32,7 @@ export const makeInMemoryAdapter = ({ sync: syncOptions, clientId = 'in-memory'
|
|
|
29
32
|
sessionId,
|
|
30
33
|
lockStatus,
|
|
31
34
|
leaderThread,
|
|
32
|
-
shutdown
|
|
35
|
+
shutdown,
|
|
33
36
|
};
|
|
34
37
|
return clientSession;
|
|
35
38
|
}).pipe(UnexpectedError.mapToUnexpectedError);
|
|
@@ -41,7 +44,8 @@ const makeLeaderThread = ({ storeId, clientId, schema, makeSqliteDb, syncOptions
|
|
|
41
44
|
devtoolsOptions: { enabled: false },
|
|
42
45
|
makeSqliteDb,
|
|
43
46
|
schema,
|
|
44
|
-
|
|
47
|
+
// NOTE we're creating a separate channel here since you can't listen to your own channel messages
|
|
48
|
+
shutdownChannel: yield* makeShutdownChannel(storeId),
|
|
45
49
|
storeId,
|
|
46
50
|
syncOptions,
|
|
47
51
|
}).pipe(Layer.provideMerge(FetchHttpClient.layer)));
|
|
@@ -53,7 +57,7 @@ const makeLeaderThread = ({ storeId, clientId, schema, makeSqliteDb, syncOptions
|
|
|
53
57
|
mutations: {
|
|
54
58
|
pull: Stream.fromQueue(pullQueue),
|
|
55
59
|
push: (batch) => syncProcessor
|
|
56
|
-
.push(batch.map((item) => new MutationEvent.EncodedWithMeta(item)))
|
|
60
|
+
.push(batch.map((item) => new MutationEvent.EncodedWithMeta(item)), { waitForProcessing: true })
|
|
57
61
|
.pipe(Effect.provide(layer), Effect.scoped),
|
|
58
62
|
},
|
|
59
63
|
initialState: { leaderHead: initialLeaderHead, migrationsReport: initialState.migrationsReport },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/in-memory/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAE7G,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/in-memory/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,5 +16,5 @@ export declare const getWorkerArgs: () => {
|
|
|
16
16
|
readonly sessionId: string;
|
|
17
17
|
};
|
|
18
18
|
export declare const makeWorker: (options: WorkerOptions) => void;
|
|
19
|
-
export declare const makeWorkerEffect: (options: WorkerOptions) => Effect.Effect<
|
|
19
|
+
export declare const makeWorkerEffect: (options: WorkerOptions) => Effect.Effect<void, import("@effect/platform/WorkerError").WorkerError, never>;
|
|
20
20
|
//# 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;AAU7B,OAAO,KAAK,EAAiB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAenE,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,
|
|
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,EAAiB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAenE,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,mFA6GtD,CAAA"}
|
|
@@ -26,7 +26,9 @@ export const makeWorkerEffect = (options) => {
|
|
|
26
26
|
: undefined;
|
|
27
27
|
return WorkerRunner.layerSerialized(WorkerSchema.LeaderWorkerInner.Request, {
|
|
28
28
|
InitialMessage: (args) => makeLeaderThread({ ...args, syncOptions: options.sync }),
|
|
29
|
-
PushToLeader: ({ batch }) => Effect.andThen(LeaderThreadCtx, (_) => _.syncProcessor.push(batch.map((item) => new MutationEvent.EncodedWithMeta(item))
|
|
29
|
+
PushToLeader: ({ batch }) => Effect.andThen(LeaderThreadCtx, (_) => _.syncProcessor.push(batch.map((item) => new MutationEvent.EncodedWithMeta(item)),
|
|
30
|
+
// We'll wait in order to keep back pressure on the client session
|
|
31
|
+
{ waitForProcessing: true })).pipe(Effect.uninterruptible, Effect.withSpan('@livestore/adapter-node:worker:PushToLeader')),
|
|
30
32
|
BootStatusStream: () => Effect.andThen(LeaderThreadCtx, (_) => Stream.fromQueue(_.bootStatusQueue)).pipe(Stream.unwrap),
|
|
31
33
|
PullStream: ({ cursor }) => Effect.gen(function* () {
|
|
32
34
|
const { connectedClientSessionPullQueues } = yield* LeaderThreadCtx;
|
|
@@ -73,7 +75,10 @@ export const makeWorkerEffect = (options) => {
|
|
|
73
75
|
// yield* Effect.sleep(1000)
|
|
74
76
|
}).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:worker:Shutdown')),
|
|
75
77
|
ExtraDevtoolsMessage: ({ message }) => Effect.andThen(LeaderThreadCtx, (_) => _.extraIncomingMessagesQueue.offer(message)).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-node:worker:ExtraDevtoolsMessage')),
|
|
76
|
-
}).pipe(Layer.provide(PlatformNode.NodeWorkerRunner.layer),
|
|
78
|
+
}).pipe(Layer.provide(PlatformNode.NodeWorkerRunner.layer), WorkerRunner.launch, Effect.scoped, Effect.tapCauseLogPretty, Effect.annotateLogs({
|
|
79
|
+
thread: options.otelOptions?.serviceName ?? 'livestore-node-leader-thread',
|
|
80
|
+
processId: process.pid,
|
|
81
|
+
}), Effect.provide(Logger.prettyWithThread(options.otelOptions?.serviceName ?? 'livestore-node-leader-thread')), Effect.provide(FetchHttpClient.layer), Effect.provide(PlatformNode.NodeFileSystem.layer), TracingLive ? Effect.provide(TracingLive) : identity, Logger.withMinimumLogLevel(LogLevel.Debug));
|
|
77
82
|
};
|
|
78
83
|
const makeLeaderThread = ({ storeId, clientId, syncOptions, baseDirectory, devtools, schemaPath, }) => Effect.gen(function* () {
|
|
79
84
|
const schema = yield* Effect.promise(() => import(schemaPath).then((m) => m.schema));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-leader-worker.js","sourceRoot":"","sources":["../src/make-leader-worker.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAA;AAE7B,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IAC3C,SAAS,CAAC,IAAI,EAAE,CAAA;IAChB,SAAS,CAAC,eAAe,EAAE,CAAA;AAC7B,CAAC;AAGD,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE5F,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GACtB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,EACL,MAAM,EACN,eAAe,EACf,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,YAAY,GACb,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAWlD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAA;AAE/F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAsB,EAAE,EAAE;IACnD,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAsB,EAAE,EAAE;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM;QAC7C,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CACnE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CACrF;QACH,CAAC,CAAC,SAAS,CAAA;IAEb,OAAO,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,EAAE;QAC1E,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAClF,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC1B,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,aAAa,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"make-leader-worker.js","sourceRoot":"","sources":["../src/make-leader-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
export declare const makeShutdownChannel: (storeId: string) => import("effect/Effect").Effect<import("@livestore/utils/dist/effect/WebChannel/common.js").WebChannel<import("@livestore/common/dist/adapter-types.js").IntentionalShutdownCause |
|
|
2
|
-
readonly _tag: "DedicatedWorkerDisconnectBroadcast";
|
|
3
|
-
}, import("@livestore/common/dist/adapter-types.js").IntentionalShutdownCause | {
|
|
4
|
-
readonly _tag: "DedicatedWorkerDisconnectBroadcast";
|
|
5
|
-
}, never>, never, import("effect/Scope").Scope>;
|
|
1
|
+
export declare const makeShutdownChannel: (storeId: string) => import("effect/Effect").Effect<import("@livestore/utils/dist/effect/WebChannel/common.js").WebChannel<import("@livestore/common/dist/adapter-types.js").IntentionalShutdownCause | import("@livestore/common/dist/adapter-types.js").UnexpectedError, import("@livestore/common/dist/adapter-types.js").IntentionalShutdownCause | import("@livestore/common/dist/adapter-types.js").UnexpectedError, never>, never, import("effect/Scope").Scope>;
|
|
6
2
|
//# sourceMappingURL=shutdown-channel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown-channel.d.ts","sourceRoot":"","sources":["../src/shutdown-channel.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"shutdown-channel.d.ts","sourceRoot":"","sources":["../src/shutdown-channel.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,ubAI/C,CAAA"}
|
package/dist/webchannel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webchannel.d.ts","sourceRoot":"","sources":["../src/webchannel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,MAAM,EAAQ,MAAM,EAAE,KAAK,EAAU,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEnG,eAAO,MAAM,oBAAoB,GAAI,GAAG,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"webchannel.d.ts","sourceRoot":"","sources":["../src/webchannel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,MAAM,EAAQ,MAAM,EAAE,KAAK,EAAU,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEnG,eAAO,MAAM,oBAAoB,GAAI,GAAG,EAAE,UAAU,EAAE,0BAGnD;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;CACvC,KAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CA6ClE,CAAA"}
|
package/dist/webchannel.js
CHANGED
|
@@ -11,13 +11,13 @@ export const makeBroadcastChannel = ({ channelName, schema, }) => Effect.scopeWi
|
|
|
11
11
|
// const listen = Stream.fromEventListener<MessageEvent>(channel, 'message').pipe(
|
|
12
12
|
// Stream.map((_) => Schema.decodeEither(listenSchema)(_.data)),
|
|
13
13
|
// )
|
|
14
|
-
const listen = Stream.asyncPush((emit) => Effect.gen(function* () {
|
|
14
|
+
const listen = Stream.asyncPush((emit) => Effect.acquireRelease(Effect.gen(function* () {
|
|
15
15
|
// eslint-disable-next-line unicorn/prefer-add-event-listener
|
|
16
16
|
channel.onmessage = (event) => {
|
|
17
17
|
return emit.single(Schema.decodeEither(schema)(event.data));
|
|
18
18
|
};
|
|
19
|
-
return
|
|
20
|
-
}));
|
|
19
|
+
return channel;
|
|
20
|
+
}), (channel) => Effect.sync(() => channel.unref())));
|
|
21
21
|
const closedDeferred = yield* Deferred.make().pipe(Effect.acquireRelease(Deferred.done(Exit.void)));
|
|
22
22
|
const supportsTransferables = false;
|
|
23
23
|
return {
|
package/dist/webchannel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webchannel.js","sourceRoot":"","sources":["../src/webchannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAkB,EACpD,WAAW,EACX,MAAM,GAIP,EAAsE,EAAE,CACvE,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAEjD,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAE7F,MAAM,IAAI,GAAG,CAAC,OAAY,EAAE,EAAE,CAC5B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;QAC5D,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEJ,iDAAiD;IACjD,kFAAkF;IAClF,kEAAkE;IAClE,IAAI;IAEJ,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAA6C,CAAC,IAAI,EAAE,EAAE,CACnF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,6DAA6D;QAC7D,OAAO,CAAC,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,CAAC,CAAA;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"webchannel.js","sourceRoot":"","sources":["../src/webchannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAkB,EACpD,WAAW,EACX,MAAM,GAIP,EAAsE,EAAE,CACvE,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAEjD,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAE7F,MAAM,IAAI,GAAG,CAAC,OAAY,EAAE,EAAE,CAC5B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;QAC5D,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEJ,iDAAiD;IACjD,kFAAkF;IAClF,kEAAkE;IAClE,IAAI;IAEJ,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAA6C,CAAC,IAAI,EAAE,EAAE,CACnF,MAAM,CAAC,cAAc,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,6DAA6D;QAC7D,OAAO,CAAC,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,CAAC,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,EACF,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAChD,CACF,CAAA;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzG,MAAM,qBAAqB,GAAG,KAAK,CAAA;IAEnC,OAAO;QACL,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,gBAAgB;QAC1D,IAAI;QACJ,MAAM;QACN,cAAc;QACd,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;QACxC,qBAAqB;QACrB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;KACxC,CAAA;AACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAA+B,WAAW,GAAG,CAAC,CAAC,CACxE,CAAA"}
|
package/dist/worker-schema.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Devtools,
|
|
1
|
+
import { Devtools, LeaderAheadError, SyncState, UnexpectedError } from '@livestore/common';
|
|
2
2
|
import { Schema } from '@livestore/utils/effect';
|
|
3
3
|
export declare const WorkerArgv: Schema.SchemaClass<{
|
|
4
4
|
readonly clientId: string;
|
|
@@ -115,7 +115,7 @@ export declare namespace LeaderWorkerInner {
|
|
|
115
115
|
clientId: typeof Schema.String;
|
|
116
116
|
sessionId: Schema.UndefinedOr<typeof Schema.String>;
|
|
117
117
|
}>>;
|
|
118
|
-
}, typeof Schema.Void, Schema.Union<[typeof UnexpectedError, typeof
|
|
118
|
+
}, typeof Schema.Void, Schema.Union<[typeof UnexpectedError, typeof LeaderAheadError]>>;
|
|
119
119
|
export class PushToLeader extends PushToLeader_base {
|
|
120
120
|
}
|
|
121
121
|
const Export_base: Schema.TaggedRequestClass<Export, "Export", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-schema.d.ts","sourceRoot":"","sources":["../src/worker-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,gBAAgB,EAAoB,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExH,OAAO,EAAE,MAAM,EAAgB,MAAM,yBAAyB,CAAA;AAE9D,eAAO,MAAM,UAAU;;;;iBAMtB,CAAA;AAED,eAAO,MAAM,eAAe;;IAE1B;;;;;OAKG;;EAEH,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAUzD,eAAO,MAAM,WAAW;;IAnBtB;;;;;OAKG;;EAiBJ,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AACjD,MAAM,MAAM,kBAAkB,GAAG,OAAO,WAAW,CAAC,OAAO,CAAA;AAS3D,eAAO,MAAM,kBAAkB,gGAAiE,CAAA;AAChG,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;AAEjE,yBAAiB,iBAAiB,CAAC;;;;;;IACjC,MAAM,OAAO,cAAe,SAAQ,mBAIlC;KAAG;;IAEL,MAAM,OAAO,OAAQ,SAAQ,YAA4B;KAAG;;CAC7D;AAED,yBAAiB,iBAAiB,CAAC;;;;;;;;;;;;;IACjC,MAAM,OAAO,cAAe,SAAQ,qBAalC;KAAG;;;;
|
|
1
|
+
{"version":3,"file":"worker-schema.d.ts","sourceRoot":"","sources":["../src/worker-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/worker-schema.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BootStatus, Devtools,
|
|
1
|
+
import { BootStatus, Devtools, LeaderAheadError, MigrationsReport, SyncState, UnexpectedError } from '@livestore/common';
|
|
2
2
|
import { EventId, MutationEvent } from '@livestore/common/schema';
|
|
3
3
|
import { Schema, Transferable } from '@livestore/utils/effect';
|
|
4
4
|
export const WorkerArgv = Schema.parseJson(Schema.Struct({
|
|
@@ -74,8 +74,6 @@ export var LeaderWorkerInner;
|
|
|
74
74
|
cursor: EventId.EventId,
|
|
75
75
|
},
|
|
76
76
|
success: Schema.Struct({
|
|
77
|
-
// mutationEvents: Schema.Array(EncodedAny),
|
|
78
|
-
// backendHead: Schema.Number,
|
|
79
77
|
payload: SyncState.PayloadUpstream,
|
|
80
78
|
remaining: Schema.Number,
|
|
81
79
|
}),
|
|
@@ -88,7 +86,7 @@ export var LeaderWorkerInner;
|
|
|
88
86
|
batch: Schema.Array(MutationEvent.AnyEncoded),
|
|
89
87
|
},
|
|
90
88
|
success: Schema.Void,
|
|
91
|
-
failure: Schema.Union(UnexpectedError,
|
|
89
|
+
failure: Schema.Union(UnexpectedError, LeaderAheadError),
|
|
92
90
|
}) {
|
|
93
91
|
}
|
|
94
92
|
LeaderWorkerInner.PushToLeader = PushToLeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-schema.js","sourceRoot":"","sources":["../src/worker-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE9D,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CACxC,MAAM,CAAC,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CAC1C,CAAC,CAAA;AAIF,sDAAsD;AACtD,uCAAuC;AACvC,gCAAgC;AAChC,sFAAsF;AACtF,iCAAiC;AACjC,0FAA0F;AAC1F,KAAK;AAEL,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CACrC,eAAe,CAEhB,CAAA;AAID,6DAA6D;AAC7D,uCAAuC;AACvC,wBAAwB;AACxB,4BAA4B;AAC5B,KAAK;AAEL,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;AAGhG,MAAM,KAAW,iBAAiB,CAQjC;AARD,WAAiB,iBAAiB;IAChC,MAAa,cAAe,SAAQ,MAAM,CAAC,aAAa,EAAkB,CAAC,gBAAgB,EAAE;QAC3F,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,WAAW,EAAE;QAC3C,OAAO,EAAE,MAAM,CAAC,IAAI;QACpB,OAAO,EAAE,eAAe;KACzB,CAAC;KAAG;IAJQ,gCAAc,iBAItB,CAAA;IAEL,MAAa,OAAQ,SAAQ,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;KAAG;IAA/C,yBAAO,UAAwC,CAAA;AAC9D,CAAC,EARgB,iBAAiB,KAAjB,iBAAiB,QAQjC;AAED,MAAM,KAAW,iBAAiB,
|
|
1
|
+
{"version":3,"file":"worker-schema.js","sourceRoot":"","sources":["../src/worker-schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/adapter-node",
|
|
3
|
-
"version": "0.3.0-dev.
|
|
3
|
+
"version": "0.3.0-dev.18",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"exports": {
|
|
@@ -26,17 +26,17 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@livestore/devtools-vite": "0.3.0-dev.
|
|
29
|
+
"@livestore/devtools-vite": "0.3.0-dev.18",
|
|
30
30
|
"@opentelemetry/api": "1.9.0",
|
|
31
31
|
"@opentelemetry/otlp-exporter-base": "0.57.2",
|
|
32
32
|
"vite": "6.1.0",
|
|
33
33
|
"ws": "8.18.0",
|
|
34
|
-
"@livestore/adapter-web": "0.3.0-dev.
|
|
35
|
-
"@livestore/
|
|
36
|
-
"@livestore/common": "0.3.0-dev.
|
|
37
|
-
"@livestore/
|
|
38
|
-
"@livestore/
|
|
39
|
-
"@livestore/
|
|
34
|
+
"@livestore/adapter-web": "0.3.0-dev.18",
|
|
35
|
+
"@livestore/common": "0.3.0-dev.18",
|
|
36
|
+
"@livestore/devtools-node-common": "0.3.0-dev.18",
|
|
37
|
+
"@livestore/sqlite-wasm": "0.3.0-dev.18",
|
|
38
|
+
"@livestore/utils": "0.3.0-dev.18",
|
|
39
|
+
"@livestore/webmesh": "0.3.0-dev.18"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@rollup/plugin-commonjs": "^28.0.1",
|
|
@@ -10,13 +10,11 @@ import type {
|
|
|
10
10
|
NetworkStatus,
|
|
11
11
|
} from '@livestore/common'
|
|
12
12
|
import { Devtools, UnexpectedError } from '@livestore/common'
|
|
13
|
-
import type { MutationEvent } from '@livestore/common/schema'
|
|
14
13
|
import { makeNodeDevtoolsChannel } from '@livestore/devtools-node-common/web-channel'
|
|
15
14
|
import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm'
|
|
16
15
|
import { sqliteDbFactory } from '@livestore/sqlite-wasm/node'
|
|
17
|
-
import type { Cause } from '@livestore/utils/effect'
|
|
18
16
|
import {
|
|
19
|
-
|
|
17
|
+
Cause,
|
|
20
18
|
Effect,
|
|
21
19
|
Fiber,
|
|
22
20
|
ParseResult,
|
|
@@ -28,6 +26,7 @@ import {
|
|
|
28
26
|
} from '@livestore/utils/effect'
|
|
29
27
|
import { PlatformNode } from '@livestore/utils/node'
|
|
30
28
|
|
|
29
|
+
import { makeShutdownChannel } from '../shutdown-channel.js'
|
|
31
30
|
import * as WorkerSchema from '../worker-schema.js'
|
|
32
31
|
|
|
33
32
|
export interface NodeAdapterOptions {
|
|
@@ -74,6 +73,17 @@ export const makeNodeAdapter = ({
|
|
|
74
73
|
// yield* Effect.logWarning('Failed to load database file', fileData.left)
|
|
75
74
|
// }
|
|
76
75
|
|
|
76
|
+
const shutdownChannel = yield* makeShutdownChannel(storeId)
|
|
77
|
+
|
|
78
|
+
yield* shutdownChannel.listen.pipe(
|
|
79
|
+
Stream.flatten(),
|
|
80
|
+
Stream.tap((error) => Effect.sync(() => shutdown(Cause.fail(error)))),
|
|
81
|
+
Stream.runDrain,
|
|
82
|
+
Effect.interruptible,
|
|
83
|
+
Effect.tapCauseLogPretty,
|
|
84
|
+
Effect.forkScoped,
|
|
85
|
+
)
|
|
86
|
+
|
|
77
87
|
const syncInMemoryDb = yield* makeSqliteDb({ _tag: 'in-memory' }).pipe(Effect.orDie)
|
|
78
88
|
|
|
79
89
|
// TODO actually implement this multi-session support
|
|
@@ -141,7 +151,7 @@ const makeLeaderThread = ({
|
|
|
141
151
|
devtoolsOptions,
|
|
142
152
|
schemaPath,
|
|
143
153
|
}: {
|
|
144
|
-
shutdown: (cause: Cause.Cause<UnexpectedError | IntentionalShutdownCause>) =>
|
|
154
|
+
shutdown: (cause: Cause.Cause<UnexpectedError | IntentionalShutdownCause>) => void
|
|
145
155
|
storeId: string
|
|
146
156
|
clientId: string
|
|
147
157
|
sessionId: string
|
|
@@ -171,7 +181,7 @@ const makeLeaderThread = ({
|
|
|
171
181
|
}).pipe(
|
|
172
182
|
Effect.provide(PlatformNode.NodeWorker.layer(() => nodeWorker)),
|
|
173
183
|
UnexpectedError.mapToUnexpectedError,
|
|
174
|
-
Effect.tapErrorCause(shutdown),
|
|
184
|
+
Effect.tapErrorCause((cause) => Effect.sync(() => shutdown(cause))),
|
|
175
185
|
Effect.withSpan('@livestore/adapter-node:adapter:setupLeaderThread'),
|
|
176
186
|
Effect.tapCauseLogPretty,
|
|
177
187
|
Effect.forkScoped,
|
|
@@ -240,19 +250,6 @@ const makeLeaderThread = ({
|
|
|
240
250
|
latchClosed: false,
|
|
241
251
|
})
|
|
242
252
|
|
|
243
|
-
const pushQueue = yield* BucketQueue.make<MutationEvent.AnyEncoded>()
|
|
244
|
-
|
|
245
|
-
yield* Effect.gen(function* () {
|
|
246
|
-
const batch = yield* BucketQueue.takeBetween(pushQueue, 1, 100)
|
|
247
|
-
yield* runInWorker(new WorkerSchema.LeaderWorkerInner.PushToLeader({ batch })).pipe(
|
|
248
|
-
Effect.withSpan('@livestore/adapter-node:client-session:pushToLeader', {
|
|
249
|
-
attributes: { batchSize: batch.length },
|
|
250
|
-
}),
|
|
251
|
-
// We can ignore the error here because the ClientSessionSyncProcessor will retry after rebasing
|
|
252
|
-
Effect.ignoreLogged,
|
|
253
|
-
)
|
|
254
|
-
}).pipe(Effect.forever, Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped)
|
|
255
|
-
|
|
256
253
|
const bootResult = yield* runInWorker(new WorkerSchema.LeaderWorkerInner.GetRecreateSnapshot()).pipe(
|
|
257
254
|
Effect.timeout(10_000),
|
|
258
255
|
UnexpectedError.mapToUnexpectedError,
|
|
@@ -265,10 +262,12 @@ const makeLeaderThread = ({
|
|
|
265
262
|
pull: runInWorkerStream(new WorkerSchema.LeaderWorkerInner.PullStream({ cursor: initialLeaderHead })).pipe(
|
|
266
263
|
Stream.orDie,
|
|
267
264
|
),
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
265
|
+
push: (batch) =>
|
|
266
|
+
runInWorker(new WorkerSchema.LeaderWorkerInner.PushToLeader({ batch })).pipe(
|
|
267
|
+
Effect.withSpan('@livestore/adapter-node:client-session:pushToLeader', {
|
|
268
|
+
attributes: { batchSize: batch.length },
|
|
269
|
+
}),
|
|
270
|
+
),
|
|
272
271
|
},
|
|
273
272
|
initialState: {
|
|
274
273
|
leaderHead: initialLeaderHead,
|