@powerhousedao/reactor-browser 6.2.0-dev.38 → 6.2.0-dev.39
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/{client-CYhc2W1V.d.ts → client-09xv0Dq6.d.ts} +1 -1
- package/dist/{client-CYhc2W1V.d.ts.map → client-09xv0Dq6.d.ts.map} +1 -1
- package/dist/client-u13cr-Vg.js +51 -0
- package/dist/client-u13cr-Vg.js.map +1 -0
- package/dist/{index-JRxZGs0B.d.ts → index-D3bV5rcl.d.ts} +1 -1
- package/dist/{index-JRxZGs0B.d.ts.map → index-D3bV5rcl.d.ts.map} +1 -1
- package/dist/{index-ZltD7u5Z.d.ts → index-DS4W07Y8.d.ts} +2 -45
- package/dist/index-DS4W07Y8.d.ts.map +1 -0
- package/dist/index.d.ts +38 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -71
- package/dist/index.js.map +1 -1
- package/dist/inspector-proxy-CvQDDxmT.d.ts +255 -0
- package/dist/inspector-proxy-CvQDDxmT.d.ts.map +1 -0
- package/dist/{relational-4_LVwp8p.js → relational-Dj06-YkI.js} +14 -2
- package/dist/relational-Dj06-YkI.js.map +1 -0
- package/dist/src/analytics/index.d.ts +1 -1
- package/dist/src/document-model.d.ts +8 -0
- package/dist/src/document-model.d.ts.map +1 -0
- package/dist/src/document-model.js +14 -0
- package/dist/src/document-model.js.map +1 -0
- package/dist/src/graphql/client.d.ts +1 -1
- package/dist/src/relational/index.d.ts +46 -2
- package/dist/src/relational/index.d.ts.map +1 -0
- package/dist/src/relational/index.js +1 -1
- package/dist/src/renown/index.d.ts +1 -1
- package/dist/src/rpc/index.d.ts +240 -0
- package/dist/src/rpc/index.d.ts.map +1 -0
- package/dist/src/rpc/index.js +1250 -0
- package/dist/src/rpc/index.js.map +1 -0
- package/dist/{types-BmR60pPN.d.ts → types-CPV0Cnsy.d.ts} +1 -1
- package/dist/{types-BmR60pPN.d.ts.map → types-CPV0Cnsy.d.ts.map} +1 -1
- package/package.json +19 -9
- package/dist/index-ZltD7u5Z.d.ts.map +0 -1
- package/dist/relational-4_LVwp8p.js.map +0 -1
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
//#region src/rpc/protocol.d.ts
|
|
2
|
+
type CorrelationId = string;
|
|
3
|
+
type ErrorInfo = {
|
|
4
|
+
name: string;
|
|
5
|
+
message: string;
|
|
6
|
+
stack?: string;
|
|
7
|
+
cause?: ErrorInfo;
|
|
8
|
+
};
|
|
9
|
+
type RpcRequest = {
|
|
10
|
+
k: "req";
|
|
11
|
+
id: CorrelationId;
|
|
12
|
+
method: string;
|
|
13
|
+
args: unknown[];
|
|
14
|
+
abortAt?: number;
|
|
15
|
+
};
|
|
16
|
+
type RpcResponse = {
|
|
17
|
+
k: "res";
|
|
18
|
+
id: CorrelationId;
|
|
19
|
+
value: unknown;
|
|
20
|
+
};
|
|
21
|
+
type RpcError = {
|
|
22
|
+
k: "err";
|
|
23
|
+
id: CorrelationId;
|
|
24
|
+
error: ErrorInfo;
|
|
25
|
+
};
|
|
26
|
+
/** Failed document subscribe; routed to the change-subscription registry. */
|
|
27
|
+
type RpcSubError = {
|
|
28
|
+
k: "sub-err";
|
|
29
|
+
id: CorrelationId;
|
|
30
|
+
error: ErrorInfo;
|
|
31
|
+
};
|
|
32
|
+
/** Failed live query; routed to the live-query registry. */
|
|
33
|
+
type RpcLiveError = {
|
|
34
|
+
k: "live-err";
|
|
35
|
+
id: CorrelationId;
|
|
36
|
+
error: ErrorInfo;
|
|
37
|
+
};
|
|
38
|
+
type RpcAbort = {
|
|
39
|
+
k: "abort";
|
|
40
|
+
targetId: CorrelationId;
|
|
41
|
+
};
|
|
42
|
+
type RpcSubscribe = {
|
|
43
|
+
k: "sub";
|
|
44
|
+
id: CorrelationId;
|
|
45
|
+
search: unknown;
|
|
46
|
+
view?: unknown;
|
|
47
|
+
};
|
|
48
|
+
type RpcEvent = {
|
|
49
|
+
k: "event";
|
|
50
|
+
id: CorrelationId;
|
|
51
|
+
change: unknown;
|
|
52
|
+
};
|
|
53
|
+
type RpcUnsub = {
|
|
54
|
+
k: "unsub";
|
|
55
|
+
id: CorrelationId;
|
|
56
|
+
};
|
|
57
|
+
type RpcNextPage = {
|
|
58
|
+
k: "page";
|
|
59
|
+
id: CorrelationId;
|
|
60
|
+
token: string;
|
|
61
|
+
};
|
|
62
|
+
declare const RPC_PROTOCOL_VERSION = 2;
|
|
63
|
+
type VersionFingerprint = {
|
|
64
|
+
appBuildId: string;
|
|
65
|
+
rpcProtocolVersion: number;
|
|
66
|
+
models: {
|
|
67
|
+
id: string;
|
|
68
|
+
version: number;
|
|
69
|
+
}[];
|
|
70
|
+
};
|
|
71
|
+
type RpcHello = {
|
|
72
|
+
k: "hello";
|
|
73
|
+
id: CorrelationId;
|
|
74
|
+
version: VersionFingerprint;
|
|
75
|
+
construct?: unknown;
|
|
76
|
+
packages?: string[];
|
|
77
|
+
};
|
|
78
|
+
type RpcRegisterPackages = {
|
|
79
|
+
k: "register-packages";
|
|
80
|
+
id: CorrelationId;
|
|
81
|
+
specs: string[];
|
|
82
|
+
};
|
|
83
|
+
type RpcUnregisterPackages = {
|
|
84
|
+
k: "unregister-packages";
|
|
85
|
+
id: CorrelationId;
|
|
86
|
+
names: string[];
|
|
87
|
+
};
|
|
88
|
+
type RpcReload = {
|
|
89
|
+
k: "reload";
|
|
90
|
+
reason: string;
|
|
91
|
+
workerGen?: string;
|
|
92
|
+
};
|
|
93
|
+
type RpcAdmin = {
|
|
94
|
+
k: "admin";
|
|
95
|
+
id: CorrelationId;
|
|
96
|
+
method: "info" | "restart" | "clearStorage" | "migrate";
|
|
97
|
+
};
|
|
98
|
+
type WorkerMigrationState = {
|
|
99
|
+
status: "idle" | "needed" | "migrating" | "failed";
|
|
100
|
+
legacyMajor?: number;
|
|
101
|
+
phase?: "clone" | "dump" | "restore";
|
|
102
|
+
error?: string;
|
|
103
|
+
};
|
|
104
|
+
type RpcMigration = {
|
|
105
|
+
k: "migration";
|
|
106
|
+
state: WorkerMigrationState;
|
|
107
|
+
};
|
|
108
|
+
type WorkerInspectorInfo = {
|
|
109
|
+
namespace: string;
|
|
110
|
+
ownerId: string;
|
|
111
|
+
bootedAtMs: number;
|
|
112
|
+
connectedClients: number;
|
|
113
|
+
appBuildId: string;
|
|
114
|
+
rpcProtocolVersion: number;
|
|
115
|
+
};
|
|
116
|
+
type ReactorIdentity = {
|
|
117
|
+
address: string;
|
|
118
|
+
chainId: number;
|
|
119
|
+
networkId: string;
|
|
120
|
+
};
|
|
121
|
+
type RpcIdentity = {
|
|
122
|
+
k: "identity";
|
|
123
|
+
user: ReactorIdentity | null;
|
|
124
|
+
};
|
|
125
|
+
type RpcBusEvent = {
|
|
126
|
+
k: "bus-event";
|
|
127
|
+
eventType: number;
|
|
128
|
+
event: unknown;
|
|
129
|
+
};
|
|
130
|
+
type OpKind = "sync-op" | "db-op" | "inspector-op";
|
|
131
|
+
type MethodCallMessage<K extends OpKind> = {
|
|
132
|
+
k: K;
|
|
133
|
+
id: CorrelationId;
|
|
134
|
+
method: string;
|
|
135
|
+
args: unknown[];
|
|
136
|
+
};
|
|
137
|
+
type RpcSyncOp = MethodCallMessage<"sync-op">;
|
|
138
|
+
type RpcDbOp = MethodCallMessage<"db-op">;
|
|
139
|
+
type RpcInspectorOp = MethodCallMessage<"inspector-op">;
|
|
140
|
+
type RpcLiveSubscribe = {
|
|
141
|
+
k: "sub-live";
|
|
142
|
+
id: CorrelationId;
|
|
143
|
+
sql: string;
|
|
144
|
+
params: unknown[];
|
|
145
|
+
};
|
|
146
|
+
type RpcLiveEvent = {
|
|
147
|
+
k: "event-live";
|
|
148
|
+
id: CorrelationId;
|
|
149
|
+
results: unknown;
|
|
150
|
+
};
|
|
151
|
+
type RpcLiveUnsub = {
|
|
152
|
+
k: "unsub-live";
|
|
153
|
+
id: CorrelationId;
|
|
154
|
+
};
|
|
155
|
+
type RpcPing = {
|
|
156
|
+
k: "ping";
|
|
157
|
+
id: CorrelationId;
|
|
158
|
+
};
|
|
159
|
+
type RpcPong = {
|
|
160
|
+
k: "pong";
|
|
161
|
+
id: CorrelationId;
|
|
162
|
+
ownerId: string;
|
|
163
|
+
bootedAtMs: number;
|
|
164
|
+
};
|
|
165
|
+
type ClientMessage = RpcRequest | RpcAbort | RpcSubscribe | RpcUnsub | RpcNextPage | RpcHello | RpcRegisterPackages | RpcUnregisterPackages | RpcIdentity | RpcAdmin | RpcSyncOp | RpcDbOp | RpcInspectorOp | RpcLiveSubscribe | RpcLiveUnsub | RpcPing;
|
|
166
|
+
type OwnerMessage = RpcResponse | RpcError | RpcSubError | RpcLiveError | RpcEvent | RpcReload | RpcBusEvent | RpcLiveEvent | RpcMigration | RpcPong;
|
|
167
|
+
type RpcMessage = ClientMessage | OwnerMessage;
|
|
168
|
+
//#endregion
|
|
169
|
+
//#region src/rpc/rpc-correlator.d.ts
|
|
170
|
+
type RpcRequestOptions = {
|
|
171
|
+
/** Reject if no response arrives within this many ms; omit for no timeout. */timeoutMs?: number; /** Maps a successful response value (e.g. paged-result rehydration). */
|
|
172
|
+
transform?: (value: unknown) => unknown; /** Runs after the post; may return a cleanup invoked when the request settles. */
|
|
173
|
+
setup?: (id: CorrelationId) => (() => void) | void;
|
|
174
|
+
};
|
|
175
|
+
/** Anything that can send a client message (the router). */
|
|
176
|
+
type RpcPoster = {
|
|
177
|
+
post(message: ClientMessage): void;
|
|
178
|
+
};
|
|
179
|
+
/**
|
|
180
|
+
* Request/response correlation shared by every RPC proxy: one pending map,
|
|
181
|
+
* res/err settlement, and per-request timeout/transform/cleanup.
|
|
182
|
+
*/
|
|
183
|
+
declare class RpcCorrelator {
|
|
184
|
+
private readonly poster;
|
|
185
|
+
private readonly prefix;
|
|
186
|
+
private counter;
|
|
187
|
+
private readonly pending;
|
|
188
|
+
constructor(poster: RpcPoster, prefix?: string);
|
|
189
|
+
nextId(): CorrelationId;
|
|
190
|
+
/** Settle the pending request a res/err refers to; a missing id is a no-op. */
|
|
191
|
+
handleMessage(message: OwnerMessage): void;
|
|
192
|
+
/** Send a request, resolving on its res/err. `build` stamps the generated id. */
|
|
193
|
+
request(build: (id: CorrelationId) => ClientMessage, options?: RpcRequestOptions): Promise<unknown>;
|
|
194
|
+
}
|
|
195
|
+
//#endregion
|
|
196
|
+
//#region src/rpc/transport.d.ts
|
|
197
|
+
interface IRpcTransport {
|
|
198
|
+
post(message: RpcMessage): void;
|
|
199
|
+
onMessage(listener: (message: RpcMessage) => void): () => void;
|
|
200
|
+
close(): void;
|
|
201
|
+
}
|
|
202
|
+
declare function createPortTransport(port: MessagePort): IRpcTransport;
|
|
203
|
+
//#endregion
|
|
204
|
+
//#region src/rpc/message-router.d.ts
|
|
205
|
+
type OwnerKind = OwnerMessage["k"];
|
|
206
|
+
/**
|
|
207
|
+
* Owns the single transport.onMessage and dispatches each message to the one
|
|
208
|
+
* consumer that owns its kind. Composes the shared RpcCorrelator (res/err) and
|
|
209
|
+
* exposes request/nextId; attach/detach swap the transport for reconnect.
|
|
210
|
+
*/
|
|
211
|
+
declare class MessageRouter {
|
|
212
|
+
private readonly handlers;
|
|
213
|
+
private readonly correlator;
|
|
214
|
+
private transport;
|
|
215
|
+
private detachTransport;
|
|
216
|
+
constructor(prefix?: string);
|
|
217
|
+
attach(transport: IRpcTransport): void;
|
|
218
|
+
detach(): void;
|
|
219
|
+
post(message: ClientMessage): void;
|
|
220
|
+
/** Register the sole owner of a message kind; throws on a duplicate. */
|
|
221
|
+
on<K extends OwnerKind>(kind: K, handler: (message: Extract<OwnerMessage, {
|
|
222
|
+
k: K;
|
|
223
|
+
}>) => void): () => void;
|
|
224
|
+
request(build: (id: CorrelationId) => ClientMessage, options?: RpcRequestOptions): Promise<unknown>;
|
|
225
|
+
nextId(): CorrelationId;
|
|
226
|
+
}
|
|
227
|
+
//#endregion
|
|
228
|
+
//#region src/rpc/admin-client.d.ts
|
|
229
|
+
interface IWorkerAdminClient {
|
|
230
|
+
info(): Promise<WorkerInspectorInfo>;
|
|
231
|
+
restart(): Promise<void>;
|
|
232
|
+
clearStorage(): Promise<void>;
|
|
233
|
+
migrate(): Promise<void>;
|
|
234
|
+
getMigrationState(): WorkerMigrationState;
|
|
235
|
+
subscribeMigration(callback: () => void): () => void;
|
|
236
|
+
}
|
|
237
|
+
/** Worker lifecycle channel (info/restart/clearStorage/migrate) over the shared router. */
|
|
238
|
+
declare function createWorkerAdminClient(router: MessageRouter): IWorkerAdminClient;
|
|
239
|
+
//#endregion
|
|
240
|
+
//#region src/rpc/inspector-proxy.d.ts
|
|
241
|
+
interface IInspectorProxy {
|
|
242
|
+
getQueueState(): Promise<unknown>;
|
|
243
|
+
pauseQueue(): Promise<void>;
|
|
244
|
+
resumeQueue(): Promise<void>;
|
|
245
|
+
getProcessors(): Promise<unknown>;
|
|
246
|
+
retryProcessor(processorId: string): Promise<void>;
|
|
247
|
+
validateDocument(documentId: string, branch?: string): Promise<unknown>;
|
|
248
|
+
rebuildKeyframes(documentId: string, branch?: string): Promise<unknown>;
|
|
249
|
+
rebuildSnapshots(documentId: string, branch?: string): Promise<unknown>;
|
|
250
|
+
queryReactorDb(sql: string, params?: unknown[]): Promise<unknown>;
|
|
251
|
+
}
|
|
252
|
+
declare function createInspectorProxy(router: MessageRouter): IInspectorProxy;
|
|
253
|
+
//#endregion
|
|
254
|
+
export { RpcMessage as C, WorkerMigrationState as E, RpcLiveUnsub as S, WorkerInspectorInfo as T, RPC_PROTOCOL_VERSION as _, MessageRouter as a, RpcLiveEvent as b, RpcCorrelator as c, ClientMessage as d, CorrelationId as f, OwnerMessage as g, OpKind as h, createWorkerAdminClient as i, RpcPoster as l, MethodCallMessage as m, createInspectorProxy as n, IRpcTransport as o, ErrorInfo as p, IWorkerAdminClient as r, createPortTransport as s, IInspectorProxy as t, RpcRequestOptions as u, ReactorIdentity as v, VersionFingerprint as w, RpcLiveSubscribe as x, RpcDbOp as y };
|
|
255
|
+
//# sourceMappingURL=inspector-proxy-CvQDDxmT.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspector-proxy-CvQDDxmT.d.ts","names":[],"sources":["../src/rpc/protocol.ts","../src/rpc/rpc-correlator.ts","../src/rpc/transport.ts","../src/rpc/message-router.ts","../src/rpc/admin-client.ts","../src/rpc/inspector-proxy.ts"],"mappings":"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"}
|
|
@@ -19,6 +19,18 @@ const usePGliteDB = () => {
|
|
|
19
19
|
}, []);
|
|
20
20
|
return state;
|
|
21
21
|
};
|
|
22
|
+
function setPGliteDB(pglite) {
|
|
23
|
+
const currentPowerhouse = window.powerhouse ?? {};
|
|
24
|
+
const currentPGliteState = window.powerhouse?.pglite ?? defaultPGliteState;
|
|
25
|
+
window.powerhouse = {
|
|
26
|
+
...currentPowerhouse,
|
|
27
|
+
pglite: {
|
|
28
|
+
...currentPGliteState,
|
|
29
|
+
...pglite
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
window.dispatchEvent(new CustomEvent(PGLITE_UPDATE_EVENT));
|
|
33
|
+
}
|
|
22
34
|
//#endregion
|
|
23
35
|
//#region src/relational/hooks/useRelationalDb.ts
|
|
24
36
|
function createRelationalDbWithLive(pgliteInstance) {
|
|
@@ -118,6 +130,6 @@ function createProcessorQuery(ProcessorClass) {
|
|
|
118
130
|
return useQuery;
|
|
119
131
|
}
|
|
120
132
|
//#endregion
|
|
121
|
-
export { useRelationalQuery as n, useRelationalDb as r, createProcessorQuery as t };
|
|
133
|
+
export { setPGliteDB as i, useRelationalQuery as n, useRelationalDb as r, createProcessorQuery as t };
|
|
122
134
|
|
|
123
|
-
//# sourceMappingURL=relational-
|
|
135
|
+
//# sourceMappingURL=relational-Dj06-YkI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relational-Dj06-YkI.js","names":[],"sources":["../src/pglite/usePGlite.ts","../src/relational/hooks/useRelationalDb.ts","../src/relational/hooks/useRelationalQuery.ts","../src/relational/utils/createProcessorQuery.ts"],"sourcesContent":["import type { PGliteWithLive } from \"@electric-sql/pglite/live\";\nimport { useEffect, useState } from \"react\";\n\nexport const PGLITE_UPDATE_EVENT = \"ph:pglite-update\";\n\nexport interface PGliteState {\n db: PGliteWithLive | null;\n isLoading: boolean;\n error: Error | null;\n}\n\nconst defaultPGliteState: PGliteState = {\n db: null,\n isLoading: true,\n error: null,\n};\n\nexport const usePGliteDB = () => {\n const [state, setState] = useState<PGliteState>(\n () => window.powerhouse?.pglite ?? defaultPGliteState,\n );\n\n useEffect(() => {\n const handlePgliteUpdate = () =>\n setState(window.powerhouse?.pglite ?? defaultPGliteState);\n\n window.addEventListener(PGLITE_UPDATE_EVENT, handlePgliteUpdate);\n\n return () =>\n window.removeEventListener(PGLITE_UPDATE_EVENT, handlePgliteUpdate);\n }, []);\n\n return state;\n};\n\nexport function setPGliteDB(pglite: Partial<PGliteState>): void {\n const currentPowerhouse = window.powerhouse ?? {};\n const currentPGliteState = window.powerhouse?.pglite ?? defaultPGliteState;\n\n window.powerhouse = {\n ...currentPowerhouse,\n pglite: {\n ...currentPGliteState,\n ...pglite,\n },\n };\n window.dispatchEvent(new CustomEvent(PGLITE_UPDATE_EVENT));\n}\n\nexport const useSetPGliteDB = () => setPGliteDB;\n\nexport const usePGlite = () => {\n const pglite = usePGliteDB();\n const setPGlite = useSetPGliteDB();\n\n return [pglite, setPGlite];\n};\n","import type { PGlite } from \"@electric-sql/pglite\";\nimport type { LiveNamespace, PGliteWithLive } from \"@electric-sql/pglite/live\";\nimport { createRelationalDb } from \"@powerhousedao/reactor\";\nimport type { IRelationalDb as IRelationalDbCore } from \"@powerhousedao/shared/processors\";\nimport { Kysely } from \"kysely\";\nimport { PGliteDialect } from \"kysely-pglite-dialect\";\nimport { useMemo } from \"react\";\nimport { usePGliteDB } from \"../../pglite/usePGlite.js\";\n\n// Type for Relational DB instance enhanced with live capabilities\nexport type RelationalDbWithLive<Schema> = IRelationalDbCore<Schema> & {\n live: LiveNamespace;\n};\n\ninterface IRelationalDbState<Schema> {\n db: RelationalDbWithLive<Schema> | null;\n isLoading: boolean;\n error: Error | null;\n}\n\n// Custom initializer that creates enhanced Kysely instance with live capabilities\nfunction createRelationalDbWithLive<Schema>(\n pgliteInstance: PGliteWithLive,\n): RelationalDbWithLive<Schema> {\n const baseDb = new Kysely<Schema>({\n dialect: new PGliteDialect(pgliteInstance as unknown as PGlite),\n });\n const relationalDb = createRelationalDb(baseDb);\n\n // Inject the live namespace with proper typing\n const relationalDBWithLive =\n relationalDb as unknown as RelationalDbWithLive<Schema>;\n relationalDBWithLive.live = pgliteInstance.live;\n\n return relationalDBWithLive;\n}\n\nexport const useRelationalDb = <Schema>(): IRelationalDbState<Schema> => {\n const pglite = usePGliteDB();\n\n const relationalDb = useMemo<IRelationalDbState<Schema>>(() => {\n if (!pglite.db || pglite.isLoading || pglite.error) {\n return {\n db: null,\n isLoading: pglite.isLoading,\n error: pglite.error,\n };\n }\n\n const db = createRelationalDbWithLive<Schema>(pglite.db);\n\n return {\n db,\n isLoading: false,\n error: null,\n };\n }, [pglite]);\n\n return relationalDb;\n};\n","import type { LiveQueryResults } from \"@electric-sql/pglite/live\";\nimport type {\n IRelationalQueryBuilder,\n RelationalDbProcessorClass,\n} from \"@powerhousedao/shared/processors\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useRelationalDb } from \"./useRelationalDb.js\";\n\nexport type QueryCallbackReturnType = {\n sql: string;\n parameters?: readonly unknown[];\n};\n\nexport type useRelationalQueryOptions = {\n // Whether to hash the namespace to avoid namespace size limit. True by default\n hashNamespace?: boolean;\n};\n\nconst MAX_RETRIES = 5;\nconst RETRY_DELAY = 200;\n\nconst isRelationNotExistError = (error: unknown): boolean => {\n const errorMessage =\n error instanceof Error\n ? error.message\n : typeof error === \"string\"\n ? error\n : String(error);\n\n return (\n errorMessage.toLowerCase().includes(\"relation\") &&\n errorMessage.toLowerCase().includes(\"does not exist\")\n );\n};\n\ntype LiveQueryType = {\n unsubscribe: () => void;\n};\n\nexport function useRelationalQuery<Schema, T = unknown, TParams = undefined>(\n ProcessorClass: RelationalDbProcessorClass<Schema>,\n driveId: string,\n queryCallback: (\n db: IRelationalQueryBuilder<Schema>,\n parameters?: TParams,\n ) => QueryCallbackReturnType,\n parameters?: TParams,\n _options?: useRelationalQueryOptions,\n) {\n const [result, setResult] = useState<LiveQueryResults<T> | null>(null);\n const [queryLoading, setQueryLoading] = useState(true);\n const [error, setError] = useState<Error | undefined>(undefined);\n const retryCount = useRef(0);\n const retryTimeoutRef = useRef<NodeJS.Timeout>(null);\n\n const relationalDb = useRelationalDb<Schema>();\n\n const executeLiveQuery = async (\n sql: string,\n queryParameters: readonly unknown[] | undefined,\n retryAttempt = 0,\n ): Promise<LiveQueryType | null> => {\n if (!relationalDb.db) {\n return null;\n }\n\n try {\n const live = await relationalDb.db.live.query<T>(\n sql,\n queryParameters ? [...queryParameters] : [],\n (result) => {\n setResult(result);\n setQueryLoading(false);\n retryCount.current = 0; // Reset retry count on success\n },\n );\n\n return live as LiveQueryType;\n } catch (err: unknown) {\n if (isRelationNotExistError(err) && retryAttempt < MAX_RETRIES) {\n return new Promise((resolve) => {\n retryTimeoutRef.current = setTimeout(() => {\n resolve(executeLiveQuery(sql, queryParameters, retryAttempt + 1));\n }, RETRY_DELAY);\n });\n }\n\n setQueryLoading(false);\n setError(err instanceof Error ? err : new Error(String(err)));\n return null;\n }\n };\n\n useEffect(() => {\n setError(undefined);\n setQueryLoading(true);\n retryCount.current = 0;\n\n if (!relationalDb.db) {\n return;\n }\n\n // Use the processor helper to obtain a typed namespaced query builder\n const db = ProcessorClass.query(driveId, relationalDb.db);\n\n const compiledQuery = queryCallback(db, parameters);\n const { sql, parameters: queryParameters } = compiledQuery;\n\n const liveQueryPromise = executeLiveQuery(sql, queryParameters);\n\n return () => {\n if (retryTimeoutRef.current) {\n clearTimeout(retryTimeoutRef.current);\n }\n void liveQueryPromise.then((live) => {\n if (live?.unsubscribe) {\n live.unsubscribe();\n }\n });\n };\n }, [relationalDb.db, ProcessorClass, driveId, queryCallback, parameters]);\n\n return {\n isLoading: relationalDb.isLoading || queryLoading,\n error: error || relationalDb.error,\n result,\n } as const;\n}\n","import type { LiveQueryResults } from \"@electric-sql/pglite/live\";\nimport type {\n QueryCallbackReturnType,\n useRelationalQueryOptions,\n} from \"@powerhousedao/reactor-browser\";\nimport type {\n IRelationalQueryBuilder,\n RelationalDbProcessorClass,\n} from \"@powerhousedao/shared/processors\";\nimport type { CompiledQuery } from \"kysely\";\nimport deepEqual from \"lodash.isequal\";\nimport { useCallback, useMemo, useRef } from \"react\";\nimport { useRelationalQuery } from \"../hooks/useRelationalQuery.js\";\n\n// Custom hook for parameter memoization\nfunction useStableParams<T>(params: T): T {\n const prevParamsRef = useRef<T>(null);\n\n return useMemo(() => {\n if (!deepEqual(prevParamsRef.current, params)) {\n prevParamsRef.current = params;\n }\n return prevParamsRef.current as T;\n }, [params]);\n}\n\nexport function createProcessorQuery<TSchema>(\n ProcessorClass: RelationalDbProcessorClass<TSchema>,\n) {\n // Overload for queries without parameters\n function useQuery<\n TQueryBuilder extends (\n db: IRelationalQueryBuilder<TSchema>,\n ) => QueryCallbackReturnType,\n >(\n driveId: string,\n queryCallback: TQueryBuilder,\n ): {\n isLoading: boolean;\n error: Error | null;\n result: LiveQueryResults<\n ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any\n > | null;\n };\n\n // Overload for queries with parameters\n function useQuery<\n TParams,\n TQueryBuilder extends (\n db: IRelationalQueryBuilder<TSchema>,\n parameters: TParams,\n ) => QueryCallbackReturnType,\n >(\n driveId: string,\n queryCallback: TQueryBuilder,\n parameters: TParams,\n options?: useRelationalQueryOptions,\n ): {\n isLoading: boolean;\n error: Error | null;\n result: LiveQueryResults<\n ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any\n > | null;\n };\n\n function useQuery<\n TParams,\n TQueryBuilder extends (\n db: IRelationalQueryBuilder<TSchema>,\n parameters?: TParams,\n ) => QueryCallbackReturnType,\n >(\n driveId: string,\n queryCallback: TQueryBuilder,\n parameters?: TParams,\n options?: useRelationalQueryOptions,\n ): {\n isLoading: boolean;\n error: Error | null;\n result: LiveQueryResults<\n ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any\n > | null;\n } {\n type InferredResult =\n ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any;\n\n // Automatically memoize parameters using deep comparison\n const stableParams = useStableParams(parameters);\n\n // Memoize the callback to prevent infinite loops, updating when parameters change\n const memoizedCallback = useCallback(queryCallback, [stableParams]);\n\n return useRelationalQuery<TSchema, InferredResult, TParams>(\n ProcessorClass,\n driveId,\n memoizedCallback,\n stableParams,\n options,\n ) as {\n isLoading: boolean;\n error: Error | null;\n result: LiveQueryResults<InferredResult> | null;\n };\n }\n\n return useQuery;\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as getAnalyticsStore, i as createAnalyticsStore, n as IPowerhouseAnalytics, r as CreateStoreOptions, t as IAnalyticsStoreOptions } from "../../types-
|
|
1
|
+
import { a as getAnalyticsStore, i as createAnalyticsStore, n as IPowerhouseAnalytics, r as CreateStoreOptions, t as IAnalyticsStoreOptions } from "../../types-CPV0Cnsy.js";
|
|
2
2
|
import { PropsWithChildren } from "react";
|
|
3
3
|
import * as _powerhousedao_analytics_engine_browser0 from "@powerhousedao/analytics-engine-browser";
|
|
4
4
|
import * as _powerhousedao_analytics_engine_core0 from "@powerhousedao/analytics-engine-core";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DocumentModelModule } from "@powerhousedao/shared/document-model";
|
|
2
|
+
|
|
3
|
+
//#region src/document-model.d.ts
|
|
4
|
+
declare const baseDocumentModelsMap: Record<string, DocumentModelModule>;
|
|
5
|
+
declare const baseDocumentModels: DocumentModelModule[];
|
|
6
|
+
//#endregion
|
|
7
|
+
export { baseDocumentModels, baseDocumentModelsMap };
|
|
8
|
+
//# sourceMappingURL=document-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-model.d.ts","names":[],"sources":["../../src/document-model.ts"],"mappings":";;;cAKa,qBAAA,EAAuB,MAAA,SAAe,mBAAA;AAAA,cAQtC,kBAAA,EAAkB,mBAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { documentModelDocumentModelModule } from "document-model";
|
|
2
|
+
import { driveDocumentModelModule } from "@powerhousedao/shared/document-drive";
|
|
3
|
+
import { reactorDriveDocumentModelModule } from "@powerhousedao/reactor-drive";
|
|
4
|
+
//#region src/document-model.ts
|
|
5
|
+
const baseDocumentModelsMap = {
|
|
6
|
+
DocumentModel: documentModelDocumentModelModule,
|
|
7
|
+
DocumentDrive: driveDocumentModelModule,
|
|
8
|
+
ReactorDrive: reactorDriveDocumentModelModule
|
|
9
|
+
};
|
|
10
|
+
const baseDocumentModels = Object.values(baseDocumentModelsMap);
|
|
11
|
+
//#endregion
|
|
12
|
+
export { baseDocumentModels, baseDocumentModelsMap };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=document-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-model.js","names":[],"sources":["../../src/document-model.ts"],"sourcesContent":["import { reactorDriveDocumentModelModule } from \"@powerhousedao/reactor-drive\";\nimport { driveDocumentModelModule } from \"@powerhousedao/shared/document-drive\";\nimport type { DocumentModelModule } from \"@powerhousedao/shared/document-model\";\nimport { documentModelDocumentModelModule } from \"document-model\";\n\nexport const baseDocumentModelsMap: Record<string, DocumentModelModule> = {\n DocumentModel:\n documentModelDocumentModelModule as unknown as DocumentModelModule,\n DocumentDrive: driveDocumentModelModule as unknown as DocumentModelModule,\n ReactorDrive:\n reactorDriveDocumentModelModule as unknown as DocumentModelModule,\n};\n\nexport const baseDocumentModels = Object.values(baseDocumentModelsMap);\n"],"mappings":";;;;AAKA,MAAa,wBAA6D;CACxE,eACE;CACF,eAAe;CACf,cACE;CACH;AAED,MAAa,qBAAqB,OAAO,OAAO,sBAAsB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { l as ReactorGraphQLClient, t as createClient } from "../../client-
|
|
1
|
+
import { l as ReactorGraphQLClient, t as createClient } from "../../client-09xv0Dq6.js";
|
|
2
2
|
export { ReactorGraphQLClient, createClient };
|
|
@@ -1,2 +1,46 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { n as LiveQueryResults, t as LiveNamespace } from "../../index-DS4W07Y8.js";
|
|
2
|
+
import { CompiledQuery } from "kysely";
|
|
3
|
+
import { QueryCallbackReturnType as QueryCallbackReturnType$1, useRelationalQueryOptions as useRelationalQueryOptions$1 } from "@powerhousedao/reactor-browser";
|
|
4
|
+
import { IRelationalDb, IRelationalQueryBuilder, RelationalDbProcessorClass } from "@powerhousedao/shared/processors";
|
|
5
|
+
|
|
6
|
+
//#region src/relational/hooks/useRelationalDb.d.ts
|
|
7
|
+
type RelationalDbWithLive<Schema> = IRelationalDb<Schema> & {
|
|
8
|
+
live: LiveNamespace;
|
|
9
|
+
};
|
|
10
|
+
interface IRelationalDbState<Schema> {
|
|
11
|
+
db: RelationalDbWithLive<Schema> | null;
|
|
12
|
+
isLoading: boolean;
|
|
13
|
+
error: Error | null;
|
|
14
|
+
}
|
|
15
|
+
declare const useRelationalDb: <Schema>() => IRelationalDbState<Schema>;
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/relational/hooks/useRelationalQuery.d.ts
|
|
18
|
+
type QueryCallbackReturnType = {
|
|
19
|
+
sql: string;
|
|
20
|
+
parameters?: readonly unknown[];
|
|
21
|
+
};
|
|
22
|
+
type useRelationalQueryOptions = {
|
|
23
|
+
hashNamespace?: boolean;
|
|
24
|
+
};
|
|
25
|
+
declare function useRelationalQuery<Schema, T = unknown, TParams = undefined>(ProcessorClass: RelationalDbProcessorClass<Schema>, driveId: string, queryCallback: (db: IRelationalQueryBuilder<Schema>, parameters?: TParams) => QueryCallbackReturnType, parameters?: TParams, _options?: useRelationalQueryOptions): {
|
|
26
|
+
readonly isLoading: boolean;
|
|
27
|
+
readonly error: Error | null;
|
|
28
|
+
readonly result: LiveQueryResults<T> | null;
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/relational/utils/createProcessorQuery.d.ts
|
|
32
|
+
declare function createProcessorQuery<TSchema>(ProcessorClass: RelationalDbProcessorClass<TSchema>): {
|
|
33
|
+
<TQueryBuilder extends (db: IRelationalQueryBuilder<TSchema>) => QueryCallbackReturnType$1>(driveId: string, queryCallback: TQueryBuilder): {
|
|
34
|
+
isLoading: boolean;
|
|
35
|
+
error: Error | null;
|
|
36
|
+
result: LiveQueryResults<ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any> | null;
|
|
37
|
+
};
|
|
38
|
+
<TParams, TQueryBuilder extends (db: IRelationalQueryBuilder<TSchema>, parameters: TParams) => QueryCallbackReturnType$1>(driveId: string, queryCallback: TQueryBuilder, parameters: TParams, options?: useRelationalQueryOptions$1): {
|
|
39
|
+
isLoading: boolean;
|
|
40
|
+
error: Error | null;
|
|
41
|
+
result: LiveQueryResults<ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any> | null;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
export { QueryCallbackReturnType, RelationalDbWithLive, createProcessorQuery, useRelationalDb, useRelationalQuery, useRelationalQueryOptions };
|
|
46
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/relational/hooks/useRelationalDb.ts","../../../src/relational/hooks/useRelationalQuery.ts","../../../src/relational/utils/createProcessorQuery.ts"],"mappings":";;;;;;KAUY,oBAAA,WAA+B,aAAA,CAAkB,MAAA;EAC3D,IAAA,EAAM,aAAA;AAAA;AAAA,UAGE,kBAAA;EACR,EAAA,EAAI,oBAAA,CAAqB,MAAA;EACzB,SAAA;EACA,KAAA,EAAO,KAAA;AAAA;AAAA,cAoBI,eAAA,gBAA8B,kBAAA,CAAmB,MAAA;;;KC7BlD,uBAAA;EACV,GAAA;EACA,UAAA;AAAA;AAAA,KAGU,yBAAA;EAEV,aAAA;AAAA;AAAA,iBAwBc,kBAAA,0CAAA,CACd,cAAA,EAAgB,0BAAA,CAA2B,MAAA,GAC3C,OAAA,UACA,aAAA,GACE,EAAA,EAAI,uBAAA,CAAwB,MAAA,GAC5B,UAAA,GAAa,OAAA,KACV,uBAAA,EACL,UAAA,GAAa,OAAA,EACb,QAAA,GAAW,yBAAA;EAAA;;;;;;iBCrBG,oBAAA,SAAA,CACd,cAAA,EAAgB,0BAAA,CAA2B,OAAA;EAAA,wBAKvC,EAAA,EAAI,uBAAA,CAAwB,OAAA,MACzB,yBAAA,EAAuB,OAAA,UAEb,aAAA,EACA,aAAA;IAEf,SAAA;IACA,KAAA,EAAO,KAAA;IACP,MAAA,EAAQ,gBAAA,CACN,UAAA,CAAW,aAAA,UAAuB,aAAA,YAAyB,CAAA;EAAA;EAAA,iCAQ3D,EAAA,EAAI,uBAAA,CAAwB,OAAA,GAC5B,UAAA,EAAY,OAAA,KACT,yBAAA,EAAuB,OAAA,UAEb,aAAA,EACA,aAAA,EAAa,UAAA,EAChB,OAAA,EAAO,OAAA,GACT,2BAAA;IAEV,SAAA;IACA,KAAA,EAAO,KAAA;IACP,MAAA,EAAQ,gBAAA,CACN,UAAA,CAAW,aAAA,UAAuB,aAAA,YAAyB,CAAA;EAAA;AAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as useRelationalQuery, r as useRelationalDb, t as createProcessorQuery } from "../../relational-
|
|
1
|
+
import { n as useRelationalQuery, r as useRelationalDb, t as createProcessorQuery } from "../../relational-Dj06-YkI.js";
|
|
2
2
|
export { createProcessorQuery, useRelationalDb, useRelationalQuery };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as logout, C as RenownUserButtonMenuItem, D as RenownAuthButton, E as RenownLoginButtonProps, M as RenownAuth, N as RenownAuthStatus, O as RenownAuthButtonProps, P as useRenownAuth, S as RenownUserButton, T as RenownLoginButton, _ as CopyIcon, a as CREDENTIAL_SCHEMA_EIP712_TYPE, b as SpinnerIcon, c as DOMAIN_TYPE, d as RENOWN_NETWORK_ID, f as RENOWN_URL, g as ChevronDownIcon, h as initRenownCrypto, i as useRenownInit, j as openRenown, k as login, l as ISSUER_TYPE, m as initConnectCrypto, n as RenownProps, o as CREDENTIAL_SUBJECT_TYPE, p as VERIFIABLE_CREDENTIAL_EIP712_TYPE, r as RenownInitOptions, s as CREDENTIAL_TYPES, t as Renown, u as RENOWN_CHAIN_ID, v as DisconnectIcon, w as RenownUserButtonProps, x as UserIcon, y as RenownLogo } from "../../index-
|
|
1
|
+
import { A as logout, C as RenownUserButtonMenuItem, D as RenownAuthButton, E as RenownLoginButtonProps, M as RenownAuth, N as RenownAuthStatus, O as RenownAuthButtonProps, P as useRenownAuth, S as RenownUserButton, T as RenownLoginButton, _ as CopyIcon, a as CREDENTIAL_SCHEMA_EIP712_TYPE, b as SpinnerIcon, c as DOMAIN_TYPE, d as RENOWN_NETWORK_ID, f as RENOWN_URL, g as ChevronDownIcon, h as initRenownCrypto, i as useRenownInit, j as openRenown, k as login, l as ISSUER_TYPE, m as initConnectCrypto, n as RenownProps, o as CREDENTIAL_SUBJECT_TYPE, p as VERIFIABLE_CREDENTIAL_EIP712_TYPE, r as RenownInitOptions, s as CREDENTIAL_TYPES, t as Renown, u as RENOWN_CHAIN_ID, v as DisconnectIcon, w as RenownUserButtonProps, x as UserIcon, y as RenownLogo } from "../../index-D3bV5rcl.js";
|
|
2
2
|
export { CREDENTIAL_SCHEMA_EIP712_TYPE, CREDENTIAL_SUBJECT_TYPE, CREDENTIAL_TYPES, ChevronDownIcon, CopyIcon, DOMAIN_TYPE, DisconnectIcon, ISSUER_TYPE, RENOWN_CHAIN_ID, RENOWN_NETWORK_ID, RENOWN_URL, Renown, RenownAuth, RenownAuthButton, RenownAuthButtonProps, RenownAuthStatus, RenownInitOptions, RenownLoginButton, RenownLoginButtonProps, RenownLogo, RenownProps, RenownUserButton, RenownUserButtonMenuItem, RenownUserButtonProps, SpinnerIcon, UserIcon, VERIFIABLE_CREDENTIAL_EIP712_TYPE, initConnectCrypto, initRenownCrypto, login, logout, openRenown, useRenownAuth, useRenownInit };
|