@enbox/api 0.1.0 → 0.1.1

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.
@@ -27,11 +27,11 @@ import { AgentPermissionsApi, } from '@enbox/agent';
27
27
  import { isEmptyObject } from '@enbox/common';
28
28
  import { DwnInterface, getRecordAuthor } from '@enbox/agent';
29
29
  import { dataToBlob } from './utils.js';
30
+ import { LiveQuery } from './live-query.js';
30
31
  import { PermissionGrant } from './permission-grant.js';
31
32
  import { PermissionRequest } from './permission-request.js';
32
33
  import { Protocol } from './protocol.js';
33
34
  import { Record } from './record.js';
34
- import { SubscriptionUtil } from './subscription-util.js';
35
35
  import { TypedDwnApi } from './typed-dwn-api.js';
36
36
  /**
37
37
  * Interface to interact with DWN Records and Protocols
@@ -473,37 +473,31 @@ export class DwnApi {
473
473
  return { record, status };
474
474
  }),
475
475
  /**
476
- * Subscribes to records based on the given filter and emits events to the `subscriptionHandler`.
476
+ * Subscribe to records matching the given filter.
477
477
  *
478
- * @param request must include the `message` with the subscription filter and the `subscriptionHandler` to process the events.
479
- * @returns the subscription status and the subscription object used to close the subscription.
478
+ * Returns a {@link LiveQuery} that atomically provides an initial snapshot
479
+ * of matching records and a real-time stream of deduplicated, semantically-
480
+ * typed change events (`create`, `update`, `delete`).
480
481
  */
481
482
  subscribe: (request) => __awaiter(this, void 0, void 0, function* () {
483
+ // Build a DWN-level subscription handler that wraps raw RecordEvents
484
+ // into Record objects and feeds them into the LiveQuery.
485
+ let liveQuery;
486
+ const remoteOrigin = request.from;
487
+ const protocolRole = request.message.protocolRole;
488
+ const subscriptionHandler = (event) => __awaiter(this, void 0, void 0, function* () {
489
+ const { message, initialWrite } = event;
490
+ const record = new Record(this.agent, Object.assign(Object.assign({}, message), { author: getRecordAuthor(message), connectedDid: this.connectedDid, remoteOrigin,
491
+ initialWrite,
492
+ protocolRole, delegateDid: this.delegateDid }), this.permissionsApi);
493
+ liveQuery === null || liveQuery === void 0 ? void 0 : liveQuery.handleEvent(record);
494
+ });
482
495
  const agentRequest = {
483
- /**
484
- * The `author` is the DID that will sign the message and must be the DID the Web5 app is
485
- * connected with and is authorized to access the signing private key of.
486
- */
487
496
  author: this.connectedDid,
488
497
  messageParams: request.message,
489
498
  messageType: DwnInterface.RecordsSubscribe,
490
- /**
491
- * The `target` is the DID of the DWN tenant under which the subscribe operation will be executed.
492
- * If `from` is provided, the subscribe operation will be executed on a remote DWN.
493
- * Otherwise, the local DWN will execute the subscribe operation.
494
- */
495
499
  target: request.from || this.connectedDid,
496
- /**
497
- * The handler to process the subscription events.
498
- */
499
- subscriptionHandler: SubscriptionUtil.recordSubscriptionHandler({
500
- agent: this.agent,
501
- connectedDid: this.connectedDid,
502
- delegateDid: this.delegateDid,
503
- permissionsApi: this.permissionsApi,
504
- protocolRole: request.message.protocolRole,
505
- request
506
- })
500
+ subscriptionHandler,
507
501
  };
508
502
  if (this.delegateDid) {
509
503
  // if we don't find a delegated grant, we will attempt to subscribe signing as the delegated DID
@@ -537,8 +531,20 @@ export class DwnApi {
537
531
  agentResponse = yield this.agent.processDwnRequest(agentRequest);
538
532
  }
539
533
  const reply = agentResponse.reply;
540
- const { status, subscription } = reply;
541
- return { status, subscription };
534
+ const { status, subscription, entries = [] } = reply;
535
+ if (subscription) {
536
+ liveQuery = new LiveQuery({
537
+ agent: this.agent,
538
+ connectedDid: this.connectedDid,
539
+ delegateDid: this.delegateDid,
540
+ protocolRole,
541
+ remoteOrigin,
542
+ permissionsApi: this.permissionsApi,
543
+ initialEntries: entries,
544
+ subscription,
545
+ });
546
+ }
547
+ return { status, liveQuery };
542
548
  }),
543
549
  /**
544
550
  * Writes a record to the DWN
@@ -1 +1 @@
1
- {"version":3,"file":"dwn-api.js","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dwn-api.js","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -24,6 +24,7 @@ export * from './define-protocol.js';
24
24
  export * from './did-api.js';
25
25
  export * from './dwn-api.js';
26
26
  export * from './grant-revocation.js';
27
+ export * from './live-query.js';
27
28
  export * from './permission-grant.js';
28
29
  export * from './permission-request.js';
29
30
  export * from './protocol.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,153 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { getRecordAuthor } from '@enbox/agent';
11
+ import { Record } from './record.js';
12
+ /**
13
+ * A `CustomEvent` subclass carrying a {@link RecordChange} as its `detail`.
14
+ *
15
+ * Dispatched on the {@link LiveQuery} `EventTarget` for both the specific
16
+ * change-type event (`create`, `update`, `delete`) and the catch-all `change`
17
+ * event.
18
+ */
19
+ export class RecordChangeEvent extends CustomEvent {
20
+ constructor(change) {
21
+ super(change.type, { detail: change });
22
+ }
23
+ }
24
+ /**
25
+ * A live query that combines an initial snapshot of matching records with a
26
+ * real-time stream of deduplicated, semantically-typed change events.
27
+ *
28
+ * `LiveQuery` extends `EventTarget` so that standard `addEventListener` /
29
+ * `removeEventListener` work out of the box. For convenience, the typed
30
+ * {@link LiveQuery.on | `.on()`} method provides a cleaner API that returns an
31
+ * unsubscribe function.
32
+ *
33
+ * ### Events
34
+ *
35
+ * | Event name | `detail` type | Description |
36
+ * |---|---|---|
37
+ * | `create` | {@link RecordChange} | A new record was written |
38
+ * | `update` | {@link RecordChange} | An existing record was updated |
39
+ * | `delete` | {@link RecordChange} | A record was deleted |
40
+ * | `change` | {@link RecordChange} | Catch-all for any of the above |
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * const { liveQuery } = await dwn.records.subscribe({
45
+ * message: {
46
+ * filter: {
47
+ * protocol : chatProtocol.protocol,
48
+ * protocolPath : 'thread/message',
49
+ * }
50
+ * }
51
+ * });
52
+ *
53
+ * // Initial state
54
+ * for (const record of liveQuery.records) {
55
+ * renderMessage(record);
56
+ * }
57
+ *
58
+ * // Real-time changes
59
+ * liveQuery.on('create', (record) => appendMessage(record));
60
+ * liveQuery.on('update', (record) => refreshMessage(record));
61
+ * liveQuery.on('delete', (record) => removeMessage(record));
62
+ *
63
+ * // Or use the catch-all
64
+ * liveQuery.on('change', ({ type, record }) => {
65
+ * console.log(`${type}: ${record.id}`);
66
+ * });
67
+ *
68
+ * // Cleanup
69
+ * await liveQuery.close();
70
+ * ```
71
+ */
72
+ export class LiveQuery extends EventTarget {
73
+ constructor(options) {
74
+ super();
75
+ /** Whether the live query has been closed. */
76
+ this._closed = false;
77
+ const { agent, connectedDid, delegateDid, protocolRole, remoteOrigin, permissionsApi, initialEntries, subscription, } = options;
78
+ this._subscription = subscription;
79
+ // Build Record objects from the initial snapshot entries (same logic as records.query()).
80
+ this.records = initialEntries.map((entry) => new Record(agent, Object.assign({ author: getRecordAuthor(entry), connectedDid,
81
+ remoteOrigin,
82
+ delegateDid,
83
+ protocolRole }, entry), permissionsApi));
84
+ // Seed the known-records map with recordId -> messageTimestamp for dedup.
85
+ this._knownRecords = new Map();
86
+ for (const record of this.records) {
87
+ this._knownRecords.set(record.id, record.dateModified);
88
+ }
89
+ }
90
+ /**
91
+ * Process an incoming live event from the DWN subscription.
92
+ * Deduplicates against the initial snapshot and classifies the change type.
93
+ *
94
+ * @internal — Called by `DwnApi.records.subscribe()` when wiring up the subscription handler.
95
+ */
96
+ handleEvent(record) {
97
+ if (this._closed) {
98
+ return;
99
+ }
100
+ let changeType;
101
+ if (record.deleted) {
102
+ changeType = 'delete';
103
+ this._knownRecords.delete(record.id);
104
+ }
105
+ else {
106
+ const knownTimestamp = this._knownRecords.get(record.id);
107
+ if (knownTimestamp !== undefined) {
108
+ // We've seen this recordId before (either from snapshot or a prior event).
109
+ if (record.dateModified <= knownTimestamp) {
110
+ // Duplicate or stale event from the overlap window — skip.
111
+ return;
112
+ }
113
+ changeType = 'update';
114
+ }
115
+ else {
116
+ changeType = 'create';
117
+ }
118
+ // Update the known state.
119
+ this._knownRecords.set(record.id, record.dateModified);
120
+ }
121
+ const change = { type: changeType, record };
122
+ // Dispatch the specific event (create/update/delete).
123
+ this.dispatchEvent(new RecordChangeEvent(change));
124
+ // Dispatch the catch-all change event.
125
+ this.dispatchEvent(new CustomEvent('change', { detail: change }));
126
+ }
127
+ on(event, handler) {
128
+ const wrapper = (e) => {
129
+ const detail = e.detail;
130
+ if (event === 'change') {
131
+ handler(detail);
132
+ }
133
+ else {
134
+ handler(detail.record);
135
+ }
136
+ };
137
+ this.addEventListener(event, wrapper);
138
+ return () => { this.removeEventListener(event, wrapper); };
139
+ }
140
+ /**
141
+ * Close the underlying subscription and stop dispatching events.
142
+ */
143
+ close() {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ if (this._closed) {
146
+ return;
147
+ }
148
+ this._closed = true;
149
+ yield this._subscription.close();
150
+ });
151
+ }
152
+ }
153
+ //# sourceMappingURL=live-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-query.js","sourceRoot":"","sources":["../../src/live-query.ts"],"names":[],"mappings":"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"}
@@ -148,21 +148,22 @@ export class TypedDwnApi {
148
148
  /**
149
149
  * Subscribe to records at the given protocol path.
150
150
  *
151
+ * Returns a {@link LiveQuery} that atomically provides an initial snapshot
152
+ * and a real-time stream of deduplicated change events.
153
+ *
151
154
  * @param path - The protocol path to subscribe to.
152
- * @param request - Subscribe options including the subscription handler.
155
+ * @param request - Subscribe options including optional filter and role.
153
156
  */
154
157
  subscribe(path, request) {
155
158
  return __awaiter(this, void 0, void 0, function* () {
156
159
  const typeName = lastSegment(path);
157
160
  const typeEntry = this._definition.types[typeName];
158
161
  return this._dwn.records.subscribe({
159
- from: request.from,
162
+ from: request === null || request === void 0 ? void 0 : request.from,
160
163
  protocol: this._definition.protocol,
161
- encryption: request.encryption,
162
- subscriptionHandler: request.subscriptionHandler,
163
164
  message: {
164
- filter: Object.assign(Object.assign({}, request.filter), { protocol: this._definition.protocol, protocolPath: path, schema: typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.schema }),
165
- protocolRole: request.protocolRole,
165
+ filter: Object.assign(Object.assign({}, request === null || request === void 0 ? void 0 : request.filter), { protocol: this._definition.protocol, protocolPath: path, schema: typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.schema }),
166
+ protocolRole: request === null || request === void 0 ? void 0 : request.protocolRole,
166
167
  },
167
168
  });
168
169
  });
@@ -1 +1 @@
1
- {"version":3,"file":"typed-dwn-api.js","sourceRoot":"","sources":["../../src/typed-dwn-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-dwn-api.js","sourceRoot":"","sources":["../../src/typed-dwn-api.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@
2
2
  * NOTE: Added reference types here to avoid a `pnpm` bug during build.
3
3
  * https://github.com/enboxorg/enbox/pull/507
4
4
  */
5
- import type { CreateGrantParams, CreateRequestParams, DwnMessageParams, DwnMessageSubscription, DwnPaginationCursor, DwnResponseStatus, FetchPermissionRequestParams, FetchPermissionsParams, Web5Agent } from '@enbox/agent';
5
+ import type { CreateGrantParams, CreateRequestParams, DwnMessageParams, DwnPaginationCursor, DwnResponseStatus, FetchPermissionRequestParams, FetchPermissionsParams, Web5Agent } from '@enbox/agent';
6
6
  import { DwnInterface } from '@enbox/agent';
7
7
  import type { ProtocolDefinition } from '@enbox/dwn-sdk-js';
8
8
  import type { SchemaMap, TypedProtocol } from './protocol-types.js';
9
+ import { LiveQuery } from './live-query.js';
9
10
  import { PermissionGrant } from './permission-grant.js';
10
11
  import { PermissionRequest } from './permission-request.js';
11
12
  import { Protocol } from './protocol.js';
@@ -175,33 +176,25 @@ export type RecordsReadResponse = DwnResponseStatus & {
175
176
  /** The record retrieved by the read operation. */
176
177
  record: Record;
177
178
  };
178
- /** Subscription handler for Records */
179
- export type RecordsSubscriptionHandler = (record: Record) => void;
180
179
  /**
181
180
  * Represents a request to subscribe to records from a Decentralized Web Node (DWN).
182
181
  *
183
- * This request type is used to specify the target DWN from which records matching the subscription
184
- * criteria should be emitted. It's useful for being notified in real time when records are written, deleted or modified.
182
+ * Returns a {@link LiveQuery} that atomically provides an initial snapshot of
183
+ * matching records alongside a real-time stream of deduplicated, semantically-
184
+ * typed change events (`create`, `update`, `delete`).
185
185
  */
186
186
  export type RecordsSubscribeRequest = {
187
187
  /** Optional DID specifying the remote target DWN tenant to subscribe from. */
188
188
  from?: string;
189
- /** Records must be scoped to a specific protocol */
189
+ /** Records must be scoped to a specific protocol. */
190
190
  protocol?: string;
191
- /** The parameters for the subscription operation, detailing the criteria for the subscription filter */
191
+ /** The parameters for the subscription operation, detailing the criteria for the subscription filter. */
192
192
  message: Omit<DwnMessageParams[DwnInterface.RecordsSubscribe], 'signer'>;
193
- /** The handler to process the subscription events */
194
- subscriptionHandler: RecordsSubscriptionHandler;
195
- /** When true, indicates encryption is active (decryption happens on subsequent reads). */
196
- encryption?: boolean;
197
193
  };
198
- /** Encapsulates the response from a DWN RecordsSubscriptionRequest */
194
+ /** Encapsulates the response from a DWN RecordsSubscribeRequest. */
199
195
  export type RecordsSubscribeResponse = DwnResponseStatus & {
200
- /**
201
- * Represents the subscription that was created. Includes an ID and the close method to stop the subscription.
202
- *
203
- * */
204
- subscription?: DwnMessageSubscription;
196
+ /** The live query instance, or `undefined` if the request failed. */
197
+ liveQuery?: LiveQuery;
205
198
  };
206
199
  /**
207
200
  * Defines a request to write (create) a record to a Decentralized Web Node (DWN).
@@ -1 +1 @@
1
- {"version":3,"file":"dwn-api.d.ts","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dwn-api.d.ts","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export * from './define-protocol.js';
24
24
  export * from './did-api.js';
25
25
  export * from './dwn-api.js';
26
26
  export * from './grant-revocation.js';
27
+ export * from './live-query.js';
27
28
  export * from './permission-grant.js';
28
29
  export * from './permission-request.js';
29
30
  export * from './protocol.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,136 @@
1
+ import type { RecordsQueryReplyEntry } from '@enbox/dwn-sdk-js';
2
+ import type { DwnMessageSubscription, PermissionsApi, Web5Agent } from '@enbox/agent';
3
+ import { Record } from './record.js';
4
+ /**
5
+ * The type of change that occurred to a record.
6
+ */
7
+ export type RecordChangeType = 'create' | 'update' | 'delete';
8
+ /**
9
+ * Describes a change to a record in a {@link LiveQuery}.
10
+ */
11
+ export type RecordChange = {
12
+ /** Whether the record was created, updated, or deleted. */
13
+ type: RecordChangeType;
14
+ /** The record affected by the change. */
15
+ record: Record;
16
+ };
17
+ /**
18
+ * A `CustomEvent` subclass carrying a {@link RecordChange} as its `detail`.
19
+ *
20
+ * Dispatched on the {@link LiveQuery} `EventTarget` for both the specific
21
+ * change-type event (`create`, `update`, `delete`) and the catch-all `change`
22
+ * event.
23
+ */
24
+ export declare class RecordChangeEvent extends CustomEvent<RecordChange> {
25
+ constructor(change: RecordChange);
26
+ }
27
+ /**
28
+ * Options for creating a {@link LiveQuery}.
29
+ * @internal — Constructed by `DwnApi.records.subscribe()`, not by end users.
30
+ */
31
+ export type LiveQueryOptions = {
32
+ /** The agent instance used to construct Record objects. */
33
+ agent: Web5Agent;
34
+ /** The DID of the connected user. */
35
+ connectedDid: string;
36
+ /** Optional delegate DID for permission-delegated access. */
37
+ delegateDid?: string;
38
+ /** Optional protocol role for role-authorized access. */
39
+ protocolRole?: string;
40
+ /** Optional remote DWN origin if subscribing to a remote DWN. */
41
+ remoteOrigin?: string;
42
+ /** The permissions API instance for constructing Record objects. */
43
+ permissionsApi?: PermissionsApi;
44
+ /** The initial snapshot entries from the subscribe reply. */
45
+ initialEntries: RecordsQueryReplyEntry[];
46
+ /** The underlying DWN subscription handle. */
47
+ subscription: DwnMessageSubscription;
48
+ };
49
+ /**
50
+ * A live query that combines an initial snapshot of matching records with a
51
+ * real-time stream of deduplicated, semantically-typed change events.
52
+ *
53
+ * `LiveQuery` extends `EventTarget` so that standard `addEventListener` /
54
+ * `removeEventListener` work out of the box. For convenience, the typed
55
+ * {@link LiveQuery.on | `.on()`} method provides a cleaner API that returns an
56
+ * unsubscribe function.
57
+ *
58
+ * ### Events
59
+ *
60
+ * | Event name | `detail` type | Description |
61
+ * |---|---|---|
62
+ * | `create` | {@link RecordChange} | A new record was written |
63
+ * | `update` | {@link RecordChange} | An existing record was updated |
64
+ * | `delete` | {@link RecordChange} | A record was deleted |
65
+ * | `change` | {@link RecordChange} | Catch-all for any of the above |
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * const { liveQuery } = await dwn.records.subscribe({
70
+ * message: {
71
+ * filter: {
72
+ * protocol : chatProtocol.protocol,
73
+ * protocolPath : 'thread/message',
74
+ * }
75
+ * }
76
+ * });
77
+ *
78
+ * // Initial state
79
+ * for (const record of liveQuery.records) {
80
+ * renderMessage(record);
81
+ * }
82
+ *
83
+ * // Real-time changes
84
+ * liveQuery.on('create', (record) => appendMessage(record));
85
+ * liveQuery.on('update', (record) => refreshMessage(record));
86
+ * liveQuery.on('delete', (record) => removeMessage(record));
87
+ *
88
+ * // Or use the catch-all
89
+ * liveQuery.on('change', ({ type, record }) => {
90
+ * console.log(`${type}: ${record.id}`);
91
+ * });
92
+ *
93
+ * // Cleanup
94
+ * await liveQuery.close();
95
+ * ```
96
+ */
97
+ export declare class LiveQuery extends EventTarget {
98
+ /** The initial snapshot of matching records. */
99
+ readonly records: Record[];
100
+ /** The underlying DWN subscription handle. */
101
+ private _subscription;
102
+ /** Tracks known record states for dedup and change-type classification. */
103
+ private _knownRecords;
104
+ /** Whether the live query has been closed. */
105
+ private _closed;
106
+ constructor(options: LiveQueryOptions);
107
+ /**
108
+ * Process an incoming live event from the DWN subscription.
109
+ * Deduplicates against the initial snapshot and classifies the change type.
110
+ *
111
+ * @internal — Called by `DwnApi.records.subscribe()` when wiring up the subscription handler.
112
+ */
113
+ handleEvent(record: Record): void;
114
+ /**
115
+ * Register a typed event handler. Returns an unsubscribe function.
116
+ *
117
+ * @param event - The event type to listen for.
118
+ * @param handler - The handler function.
119
+ * @returns A function that removes the handler when called.
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * const off = live.on('create', (record) => console.log(record.id));
124
+ * off(); // stop listening
125
+ * ```
126
+ */
127
+ on(event: 'change', handler: (change: RecordChange) => void): () => void;
128
+ on(event: 'create', handler: (record: Record) => void): () => void;
129
+ on(event: 'update', handler: (record: Record) => void): () => void;
130
+ on(event: 'delete', handler: (record: Record) => void): () => void;
131
+ /**
132
+ * Close the underlying subscription and stop dispatching events.
133
+ */
134
+ close(): Promise<void>;
135
+ }
136
+ //# sourceMappingURL=live-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-query.d.ts","sourceRoot":"","sources":["../../src/live-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAItF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,2DAA2D;IAC3D,IAAI,EAAE,gBAAgB,CAAC;IAEvB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,YAAY,CAAC;gBAClD,MAAM,EAAE,YAAY;CAGjC;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,2DAA2D;IAC3D,KAAK,EAAE,SAAS,CAAC;IAEjB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IAErB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oEAAoE;IACpE,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,6DAA6D;IAC7D,cAAc,EAAE,sBAAsB,EAAE,CAAC;IAEzC,8CAA8C;IAC9C,YAAY,EAAE,sBAAsB,CAAC;CACtC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,SAAU,SAAQ,WAAW;IACxC,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAE3B,8CAA8C;IAC9C,OAAO,CAAC,aAAa,CAAyB;IAE9C,2EAA2E;IAC3E,OAAO,CAAC,aAAa,CAAsB;IAE3C,8CAA8C;IAC9C,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,gBAAgB;IAiCrC;;;;;OAKG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAqCxC;;;;;;;;;;;;OAYG;IACH,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI;IACxE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAClE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAClE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAelE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}