@agentshouse/mdruntime 0.1.0-c03e7b79830dd → 0.1.0-c0bed82db8d73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/AGENTS.md +65 -65
  2. package/README.md +8 -7
  3. package/dist/adapter.d.ts +10 -14
  4. package/dist/adapter.d.ts.map +1 -1
  5. package/dist/attached-model.d.ts +1 -1
  6. package/dist/attached-model.d.ts.map +1 -1
  7. package/dist/attached-model.js +2 -2
  8. package/dist/binary.d.ts +0 -5
  9. package/dist/binary.d.ts.map +1 -1
  10. package/dist/binary.js +1 -1
  11. package/dist/bootstrap.d.ts +13 -2
  12. package/dist/bootstrap.d.ts.map +1 -1
  13. package/dist/bootstrap.js +94 -57
  14. package/dist/change-set.d.ts +1 -7
  15. package/dist/change-set.d.ts.map +1 -1
  16. package/dist/change-set.js +1 -4
  17. package/dist/client.d.ts +2 -3
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +2 -2
  20. package/dist/compile.d.ts +6 -1
  21. package/dist/compile.d.ts.map +1 -1
  22. package/dist/compile.js +12 -3
  23. package/dist/connection.d.ts +4 -5
  24. package/dist/connection.d.ts.map +1 -1
  25. package/dist/connection.js +481 -448
  26. package/dist/conversation.d.ts +2 -0
  27. package/dist/conversation.d.ts.map +1 -1
  28. package/dist/conversation.js +40 -19
  29. package/dist/durability.d.ts +2 -5
  30. package/dist/durability.d.ts.map +1 -1
  31. package/dist/durability.js +5 -0
  32. package/dist/fulltext.d.ts +27 -0
  33. package/dist/fulltext.d.ts.map +1 -0
  34. package/dist/fulltext.js +368 -0
  35. package/dist/host.d.ts +4 -4
  36. package/dist/host.d.ts.map +1 -1
  37. package/dist/host.js +35 -15
  38. package/dist/identity.d.ts +0 -1
  39. package/dist/identity.d.ts.map +1 -1
  40. package/dist/identity.js +0 -3
  41. package/dist/index.d.ts +7 -7
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +2 -2
  44. package/dist/memory.d.ts.map +1 -1
  45. package/dist/memory.js +0 -11
  46. package/dist/messages.d.ts +28 -0
  47. package/dist/messages.d.ts.map +1 -0
  48. package/dist/messages.js +90 -0
  49. package/dist/outcome.d.ts +0 -1
  50. package/dist/outcome.d.ts.map +1 -1
  51. package/dist/outcome.js +0 -3
  52. package/dist/overlay.js +1 -1
  53. package/dist/query.d.ts +4 -1
  54. package/dist/query.d.ts.map +1 -1
  55. package/dist/query.js +12 -1
  56. package/dist/reach.d.ts +0 -2
  57. package/dist/reach.d.ts.map +1 -1
  58. package/dist/reach.js +17 -28
  59. package/dist/readiness.d.ts +20 -9
  60. package/dist/readiness.d.ts.map +1 -1
  61. package/dist/readiness.js +6 -6
  62. package/dist/reads.d.ts.map +1 -1
  63. package/dist/reads.js +3 -1
  64. package/dist/refresh.d.ts +6 -2
  65. package/dist/refresh.d.ts.map +1 -1
  66. package/dist/refresh.js +60 -22
  67. package/dist/replica.d.ts +3 -1
  68. package/dist/replica.d.ts.map +1 -1
  69. package/dist/room-draft.d.ts +1 -0
  70. package/dist/room-draft.d.ts.map +1 -1
  71. package/dist/room-draft.js +33 -0
  72. package/dist/save.js +2 -2
  73. package/dist/search.d.ts +11 -43
  74. package/dist/search.d.ts.map +1 -1
  75. package/dist/search.js +0 -296
  76. package/dist/store.d.ts +17 -36
  77. package/dist/store.d.ts.map +1 -1
  78. package/dist/store.js +28 -227
  79. package/dist/stored.d.ts +9 -7
  80. package/dist/stored.d.ts.map +1 -1
  81. package/dist/stored.js +46 -40
  82. package/dist/tables.d.ts +46 -12
  83. package/dist/tables.d.ts.map +1 -1
  84. package/dist/tables.js +94 -7
  85. package/dist/wire.d.ts +0 -4
  86. package/dist/wire.d.ts.map +1 -1
  87. package/dist/wire.js +0 -1
  88. package/dist/words.d.ts +19 -0
  89. package/dist/words.d.ts.map +1 -0
  90. package/dist/words.js +150 -0
  91. package/package.json +11 -18
  92. package/dist/chat/acts.d.ts +0 -33
  93. package/dist/chat/acts.d.ts.map +0 -1
  94. package/dist/chat/acts.js +0 -36
  95. package/dist/chat/context.d.ts +0 -3
  96. package/dist/chat/context.d.ts.map +0 -1
  97. package/dist/chat/context.js +0 -10
  98. package/dist/chat/earlier.d.ts +0 -10
  99. package/dist/chat/earlier.d.ts.map +0 -1
  100. package/dist/chat/earlier.js +0 -54
  101. package/dist/chat/house.d.ts +0 -25
  102. package/dist/chat/house.d.ts.map +0 -1
  103. package/dist/chat/house.js +0 -38
  104. package/dist/chat/input.d.ts +0 -11
  105. package/dist/chat/input.d.ts.map +0 -1
  106. package/dist/chat/input.js +0 -92
  107. package/dist/chat/kit.d.ts +0 -61
  108. package/dist/chat/kit.d.ts.map +0 -1
  109. package/dist/chat/kit.js +0 -123
  110. package/dist/chat/lasting.d.ts +0 -6
  111. package/dist/chat/lasting.d.ts.map +0 -1
  112. package/dist/chat/lasting.js +0 -19
  113. package/dist/chat/list.d.ts +0 -28
  114. package/dist/chat/list.d.ts.map +0 -1
  115. package/dist/chat/list.js +0 -103
  116. package/dist/chat/markdown.d.ts +0 -21
  117. package/dist/chat/markdown.d.ts.map +0 -1
  118. package/dist/chat/markdown.js +0 -246
  119. package/dist/chat/message.d.ts +0 -7
  120. package/dist/chat/message.d.ts.map +0 -1
  121. package/dist/chat/message.js +0 -244
  122. package/dist/chat/messages.d.ts +0 -30
  123. package/dist/chat/messages.d.ts.map +0 -1
  124. package/dist/chat/messages.js +0 -198
  125. package/dist/chat/name.d.ts +0 -7
  126. package/dist/chat/name.d.ts.map +0 -1
  127. package/dist/chat/name.js +0 -37
  128. package/dist/chat/opened.d.ts +0 -12
  129. package/dist/chat/opened.d.ts.map +0 -1
  130. package/dist/chat/opened.js +0 -19
  131. package/dist/chat/overlay.d.ts +0 -32
  132. package/dist/chat/overlay.d.ts.map +0 -1
  133. package/dist/chat/overlay.js +0 -103
  134. package/dist/chat/parts.d.ts +0 -58
  135. package/dist/chat/parts.d.ts.map +0 -1
  136. package/dist/chat/parts.js +0 -120
  137. package/dist/chat/pieces.d.ts +0 -62
  138. package/dist/chat/pieces.d.ts.map +0 -1
  139. package/dist/chat/pieces.js +0 -1110
  140. package/dist/chat/process.d.ts +0 -20
  141. package/dist/chat/process.d.ts.map +0 -1
  142. package/dist/chat/process.js +0 -32
  143. package/dist/chat/provider.d.ts +0 -70
  144. package/dist/chat/provider.d.ts.map +0 -1
  145. package/dist/chat/provider.js +0 -635
  146. package/dist/chat/question.d.ts +0 -9
  147. package/dist/chat/question.d.ts.map +0 -1
  148. package/dist/chat/question.js +0 -69
  149. package/dist/chat/questions.d.ts +0 -31
  150. package/dist/chat/questions.d.ts.map +0 -1
  151. package/dist/chat/questions.js +0 -111
  152. package/dist/chat/read.d.ts +0 -5
  153. package/dist/chat/read.d.ts.map +0 -1
  154. package/dist/chat/read.js +0 -13
  155. package/dist/chat/ready.d.ts +0 -37
  156. package/dist/chat/ready.d.ts.map +0 -1
  157. package/dist/chat/ready.js +0 -93
  158. package/dist/chat/room-file.d.ts +0 -8
  159. package/dist/chat/room-file.d.ts.map +0 -1
  160. package/dist/chat/room-file.js +0 -72
  161. package/dist/chat/steady.d.ts +0 -3
  162. package/dist/chat/steady.d.ts.map +0 -1
  163. package/dist/chat/steady.js +0 -26
  164. package/dist/chat/style.d.ts +0 -4
  165. package/dist/chat/style.d.ts.map +0 -1
  166. package/dist/chat/style.js +0 -306
  167. package/dist/chat.d.ts +0 -15
  168. package/dist/chat.d.ts.map +0 -1
  169. package/dist/chat.js +0 -8
package/dist/search.js CHANGED
@@ -1,8 +1,4 @@
1
- import MiniSearch from 'minisearch';
2
- import { indexGeneration } from './identity.js';
3
1
  import { flag, invalid, known, limitOf, plain, } from './query.js';
4
- import { beneath } from './paths.js';
5
- import { inUnits, ROW_WEIGHT, yielded } from './turn.js';
6
2
  import { decodedCursor } from './windows.js';
7
3
  export function undeclaredSearch() {
8
4
  return {
@@ -12,24 +8,6 @@ export function undeclaredSearch() {
12
8
  retryable: false,
13
9
  };
14
10
  }
15
- const FIELDS = ['fields', 'sections', 'preamble', 'path', 'text'];
16
- const VACUUM_CONDITIONS = { minDirtCount: 20, minDirtFactor: 0.1 };
17
- const CHANGED_BATCH = 256;
18
- function documentId(room, path) {
19
- return JSON.stringify(['document', room, path]);
20
- }
21
- function messageId(conversation, identity) {
22
- return JSON.stringify(['message', conversation, identity]);
23
- }
24
- function scalars(value) {
25
- if (value === null || value === undefined)
26
- return [];
27
- if (Array.isArray(value))
28
- return value.flatMap(scalars);
29
- if (typeof value === 'object')
30
- return Object.values(value).flatMap(scalars);
31
- return [String(value)];
32
- }
33
11
  function hitCursor(input) {
34
12
  if (input === null)
35
13
  return null;
@@ -77,277 +55,3 @@ export function searchPlanOf(input) {
77
55
  total: flag(input.total, 'total'),
78
56
  };
79
57
  }
80
- function pair(left, right) {
81
- if (left[0] !== right[0])
82
- return left[0] < right[0] ? -1 : 1;
83
- if (left[1] !== right[1])
84
- return left[1] < right[1] ? -1 : 1;
85
- return 0;
86
- }
87
- function hitWindow(found, cursor, limit, tie) {
88
- if (cursor === null)
89
- return { kept: [], cursor: null };
90
- const start = cursor.length === 0
91
- ? 0
92
- : found.findIndex((hit) => hit.score < cursor[0] ||
93
- (hit.score === cursor[0] && pair(tie(hit), [cursor[1], cursor[2]]) > 0));
94
- const following = start === -1 ? [] : found.slice(start);
95
- if (limit === null || following.length <= limit)
96
- return { kept: following, cursor: null };
97
- const kept = following.slice(0, limit);
98
- const last = kept[kept.length - 1];
99
- return { kept, cursor: last === undefined ? cursor : [last.score, ...tie(last)] };
100
- }
101
- export function createSearchIndex(source) {
102
- const generation = indexGeneration();
103
- const index = new MiniSearch({ fields: FIELDS, autoVacuum: false });
104
- const documents = new Map();
105
- const messages = new Map();
106
- const rooms = new Set();
107
- const filling = new Set();
108
- const conversations = new Set();
109
- const acquiring = new Set();
110
- const changedDocuments = new Map();
111
- const refilling = new Set();
112
- const arrived = new Map();
113
- let vacuuming = null;
114
- let changes = 0;
115
- function added(entry) {
116
- if (vacuuming === null)
117
- index.add(entry);
118
- else
119
- arrived.set(entry.id, entry);
120
- }
121
- function addDocument(document) {
122
- const id = documentId(document.room, document.path);
123
- discard(id, documents);
124
- added({
125
- id,
126
- fields: scalars(document.fields).join('\n'),
127
- sections: Object.entries(document.sections)
128
- .map(([heading, text]) => `${heading}\n${text}`)
129
- .join('\n'),
130
- preamble: document.preamble,
131
- path: document.path,
132
- });
133
- documents.set(id, { room: document.room, path: document.path, type: document.type });
134
- }
135
- function addMessage(message) {
136
- const id = messageId(message.conversation, message.identity);
137
- discard(id, messages);
138
- added({ id, text: message.text });
139
- messages.set(id, { conversation: message.conversation, identity: message.identity });
140
- }
141
- function discard(id, entries) {
142
- if (!entries.delete(id) || arrived.delete(id))
143
- return;
144
- index.discard(id);
145
- vacuum();
146
- }
147
- function vacuum() {
148
- if (vacuuming !== null ||
149
- index.dirtCount < VACUUM_CONDITIONS.minDirtCount ||
150
- index.dirtFactor < VACUUM_CONDITIONS.minDirtFactor) {
151
- return;
152
- }
153
- changes += 1;
154
- vacuuming = index
155
- .vacuum()
156
- .then(() => inUnits(arrivals(), (id) => {
157
- const entry = arrived.get(id);
158
- if (entry === undefined)
159
- return ROW_WEIGHT;
160
- arrived.delete(id);
161
- index.add(entry);
162
- return Object.values(entry).reduce((total, value) => total + value.length, ROW_WEIGHT);
163
- }))
164
- .finally(() => {
165
- vacuuming = null;
166
- vacuum();
167
- });
168
- }
169
- function* arrivals() {
170
- for (;;) {
171
- const next = arrived.keys().next();
172
- if (next.done === true)
173
- return;
174
- yield next.value;
175
- }
176
- }
177
- async function vacuumed() {
178
- while (vacuuming !== null)
179
- await vacuuming;
180
- }
181
- async function paused() {
182
- await yielded();
183
- await vacuumed();
184
- }
185
- let catching = null;
186
- async function refill(room) {
187
- for (const [id, entry] of documents)
188
- if (entry.room === room)
189
- discard(id, documents);
190
- for await (const batch of source.room(room)) {
191
- if (!rooms.has(room) && !filling.has(room))
192
- return;
193
- for (const document of batch)
194
- addDocument(document);
195
- await paused();
196
- }
197
- }
198
- async function catchUp() {
199
- for (const room of refilling) {
200
- refilling.delete(room);
201
- await refill(room);
202
- }
203
- while (changedDocuments.size > 0) {
204
- await paused();
205
- const batch = new Map();
206
- for (const [id, { room, path }] of changedDocuments) {
207
- changedDocuments.delete(id);
208
- const held = batch.get(room) ?? new Map();
209
- held.set(path, id);
210
- batch.set(room, held);
211
- if (held.size >= CHANGED_BATCH)
212
- break;
213
- }
214
- for (const [room, held] of batch) {
215
- for (const id of held.values())
216
- discard(id, documents);
217
- for (const document of await source.documents(room, [...held.keys()])) {
218
- if (rooms.has(room) || filling.has(room))
219
- addDocument(document);
220
- }
221
- }
222
- }
223
- await vacuumed();
224
- }
225
- function caughtUp() {
226
- if (catching !== null)
227
- return catching;
228
- if (changedDocuments.size === 0 && refilling.size === 0 && vacuuming === null) {
229
- return Promise.resolve();
230
- }
231
- catching = catchUp().finally(() => {
232
- catching = null;
233
- });
234
- return catching;
235
- }
236
- function ranked(text, entries, keep, tie) {
237
- const found = index.search(text, {
238
- filter: ({ id }) => {
239
- const entry = entries.get(id);
240
- return entry !== undefined && keep(entry, id);
241
- },
242
- });
243
- found.sort((left, right) => right.score - left.score ||
244
- pair(tie(entries.get(left.id)), tie(entries.get(right.id))));
245
- return found.map(({ id, score, match }) => ({
246
- ...entries.get(id),
247
- score,
248
- match,
249
- }));
250
- }
251
- return {
252
- generation: () => generation,
253
- rooms: () => rooms,
254
- conversations: () => conversations,
255
- async indexRoom(room) {
256
- if (rooms.has(room) || filling.has(room))
257
- return;
258
- filling.add(room);
259
- try {
260
- for await (const batch of source.room(room)) {
261
- if (!filling.has(room))
262
- return;
263
- for (const document of batch)
264
- addDocument(document);
265
- await paused();
266
- }
267
- if (filling.has(room))
268
- rooms.add(room);
269
- }
270
- finally {
271
- filling.delete(room);
272
- }
273
- },
274
- indexMessages(conversation, arriving, whole) {
275
- for (const message of arriving)
276
- addMessage(message);
277
- if (!whole) {
278
- acquiring.add(conversation);
279
- return;
280
- }
281
- acquiring.delete(conversation);
282
- conversations.add(conversation);
283
- },
284
- forget(leaving) {
285
- const gone = new Set(leaving);
286
- for (const [id, entry] of documents)
287
- if (gone.has(entry.room))
288
- discard(id, documents);
289
- for (const room of leaving) {
290
- rooms.delete(room);
291
- filling.delete(room);
292
- refilling.delete(room);
293
- }
294
- },
295
- changed(set) {
296
- changes += 1;
297
- for (const { locator, path } of set.documents) {
298
- if (!rooms.has(locator) && !filling.has(locator))
299
- continue;
300
- if (path === null) {
301
- for (const [id, entry] of changedDocuments) {
302
- if (entry.room === locator)
303
- changedDocuments.delete(id);
304
- }
305
- refilling.add(locator);
306
- continue;
307
- }
308
- changedDocuments.set(documentId(locator, path), { room: locator, path });
309
- }
310
- for (const { conversation, identity, text } of set.messages) {
311
- if (!conversations.has(conversation) && !acquiring.has(conversation))
312
- continue;
313
- const id = messageId(conversation, identity);
314
- if (text === null)
315
- discard(id, messages);
316
- else
317
- addMessage({ conversation, identity, text });
318
- }
319
- },
320
- changes: () => changes,
321
- caughtUp,
322
- search({ text, limit, after, total }, selected, named, within, selections) {
323
- const chosen = selected === null
324
- ? null
325
- : new Set(selected.map(({ room, path }) => documentId(room, path)));
326
- const asked = new Set(named);
327
- const documentTie = ({ room, path }) => [room, path];
328
- const messageTie = ({ conversation, identity }) => [conversation, identity];
329
- const foundDocuments = ranked(text, documents, ({ room, path }, id) => (chosen === null || chosen.has(id)) &&
330
- (within === null || within.has(room)) &&
331
- !(selections?.get(room) ?? []).some((root) => beneath(root, path)), documentTie);
332
- const foundMessages = ranked(text, messages, ({ conversation }) => asked.has(conversation), messageTie);
333
- const [documentsAfter, messagesAfter] = after ?? [[], []];
334
- const documentWindow = hitWindow(foundDocuments, documentsAfter, limit, documentTie);
335
- const messageWindow = hitWindow(foundMessages, messagesAfter, limit, messageTie);
336
- const more = documentWindow.cursor !== null || messageWindow.cursor !== null;
337
- return {
338
- documents: documentWindow.kept.map(({ match, ...hit }) => ({
339
- ...hit,
340
- matches: match,
341
- })),
342
- messages: messageWindow.kept.map(({ match, ...hit }) => ({
343
- ...hit,
344
- matches: match,
345
- })),
346
- ...(more ? { next: JSON.stringify([documentWindow.cursor, messageWindow.cursor]) } : {}),
347
- ...(total
348
- ? { total: { documents: foundDocuments.length, messages: foundMessages.length } }
349
- : {}),
350
- };
351
- },
352
- };
353
- }
package/dist/store.d.ts CHANGED
@@ -1,16 +1,18 @@
1
- import type { Capability, Member, ProviderLimit } from './adapter.js';
2
- import type { AcceptedMessage, KeptReceipt } from './adapter.js';
1
+ import type { BootstrapInventory, Capability, KeptReceipt, Member, ProviderLimit } from './adapter.js';
3
2
  import type { ChangeBatch } from './change.js';
4
3
  import type { Composition } from './collection.js';
5
4
  import type { Plan } from './query.js';
6
5
  import type { ReplicaRecord } from './replica.js';
7
- import type { Later } from './turn.js';
8
6
  import type { Submission } from './outcome.js';
9
7
  import type { RoomDraftRecord, SavedDraft } from './room-draft.js';
10
8
  import type { ModelState } from './model.js';
11
- import type { SearchedDocument } from './search.js';
12
- import type { CommittedWrite, CountedRoom, HeldEntry, QueryAnswer, QueryRoom, Referrer, RoomCommit, RuntimeDatabase, StoredEntry, StoredFile, TypedEntry, View, Walked } from './tables.js';
13
- export declare const STORE_SCHEMA = 26;
9
+ import type { SearchWindow } from './search.js';
10
+ import type { CommittedWrite, ConversationWrite, CountedRoom, HeldConversation, HeldEntry, MessageWindow, QueryAnswer, QueryRoom, Referrer, RoomCommit, RuntimeDatabase, SearchAsk, StoredEntry, StoredFile, TypedEntry, View, Walked } from './tables.js';
11
+ export type { ConversationWrite, HeldConversation, MessageWindow } from './tables.js';
12
+ export type TransferWriting = {
13
+ readonly token: string | null;
14
+ readonly written: number;
15
+ };
14
16
  export type TransferRecord = {
15
17
  readonly locator: string;
16
18
  readonly transfer: string;
@@ -18,6 +20,9 @@ export type TransferRecord = {
18
20
  readonly from: string;
19
21
  readonly last: string;
20
22
  readonly pageToken: string | null;
23
+ readonly writing: TransferWriting | null;
24
+ readonly inventory: BootstrapInventory | null;
25
+ readonly done: BootstrapInventory;
21
26
  readonly models: {
22
27
  readonly collection: ModelState;
23
28
  readonly selection: ModelState;
@@ -45,23 +50,6 @@ export type PresentationRecord = {
45
50
  app: string;
46
51
  value: unknown;
47
52
  };
48
- export type HeldConversation = {
49
- conversation: string;
50
- read: string | null | undefined;
51
- partial: boolean;
52
- };
53
- export type MessageWindow = {
54
- messages: AcceptedMessage[];
55
- more: boolean;
56
- };
57
- export type ConversationWrite = {
58
- conversation: string;
59
- messages: readonly AcceptedMessage[];
60
- read?: {
61
- at: string | null;
62
- partial: boolean;
63
- };
64
- };
65
53
  export type ChatSubmission = {
66
54
  readonly operation: string;
67
55
  readonly text: string;
@@ -102,7 +90,7 @@ export type RefreshedPage = StagedPage & {
102
90
  export type Opened = {
103
91
  readonly rooms: ReadonlyMap<string, ReplicaRecord>;
104
92
  readonly transfers: ReadonlyMap<string, TransferRecord>;
105
- readonly unprepared: ReadonlySet<number>;
93
+ readonly unindexed: ReadonlySet<number>;
106
94
  readonly overlaid: ReadonlyMap<number, ReadonlySet<string>>;
107
95
  readonly erasing: boolean;
108
96
  readonly orphans: readonly number[];
@@ -134,11 +122,10 @@ export type RuntimeStore = {
134
122
  readonly revision: string;
135
123
  }[]>;
136
124
  typedWithin(key: number, view: View, roots: readonly string[], within: boolean): Promise<boolean>;
137
- searched(key: number, locator: string, after: string | null, limit: number, paths: readonly string[] | null): Promise<{
138
- readonly documents: readonly SearchedDocument[];
139
- readonly next: string | null;
140
- }>;
141
- stage(record: TransferRecord, composition: Composition, page: StagedPage, key: number | null, last: boolean): Promise<number | null>;
125
+ search(ask: SearchAsk): Promise<SearchWindow>;
126
+ stage(record: TransferRecord, composition: Composition, page: StagedPage, written?: string): Promise<number | null>;
127
+ transferPart(locator: string, token: string): Promise<Uint8Array | null>;
128
+ keepPart(locator: string, token: string, part: Uint8Array): Promise<void>;
142
129
  refresh(key: number, page: RefreshedPage): Promise<void>;
143
130
  unrefresh(key: number): Promise<void>;
144
131
  commit(commit: Commit): Promise<CommittedWrite>;
@@ -157,8 +144,6 @@ export type RuntimeStore = {
157
144
  keepMessages(write: ConversationWrite): Promise<void>;
158
145
  messageWindow(conversation: string, limit: number, before: readonly [string, string] | null): Promise<MessageWindow>;
159
146
  messageCount(conversation: string): Promise<number>;
160
- messagesAfter(conversation: string, identity: string | null): Promise<AcceptedMessage[]>;
161
- messageIdentities(conversation: string): Promise<readonly string[]>;
162
147
  turnArrived(conversation: string, turn: string): Promise<boolean>;
163
148
  dropConversations(conversations: readonly string[]): Promise<void>;
164
149
  chatDrafts(): Promise<readonly ChatDraftRecord[]>;
@@ -180,10 +165,6 @@ export type RuntimeStore = {
180
165
  generation(): Promise<string | null>;
181
166
  rememberGeneration(value: string): Promise<void>;
182
167
  file(key: string, type: string): Promise<Blob>;
183
- close(): void;
184
168
  };
185
- export declare function transacted<T>(database: IDBDatabase, stores: string | readonly string[], mode: IDBTransactionMode, work: (transaction: IDBTransaction) => Later<T>): Promise<T>;
186
- export declare function endRuntimeStore(database: RuntimeDatabase, holder: string | undefined): Promise<boolean>;
187
- export declare function openDatabase(name: string, version: number, upgrade: (opening: IDBOpenDBRequest, oldVersion: number) => void): Promise<IDBDatabase>;
188
- export declare function openRuntimeStore(fenced: (locator: string) => boolean, authored: RuntimeDatabase): Promise<RuntimeStore>;
169
+ export declare function openRuntimeStore(fenced: (locator: string) => boolean, authored: RuntimeDatabase): RuntimeStore;
189
170
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}