@agentshouse/mdruntime 0.1.0-cebcd51f70ed1 → 0.1.0-cec6690d5712e
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/AGENTS.md +82 -27
- package/README.md +13 -3
- package/dist/adapter.d.ts +13 -3
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +15 -2
- package/dist/attempt.d.ts +16 -0
- package/dist/attempt.d.ts.map +1 -0
- package/dist/attempt.js +57 -0
- package/dist/bootstrap.d.ts +17 -5
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +88 -35
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +13 -7
- package/dist/change.d.ts +4 -0
- package/dist/change.d.ts.map +1 -1
- package/dist/chat/acts.d.ts +34 -0
- package/dist/chat/acts.d.ts.map +1 -0
- package/dist/chat/acts.js +36 -0
- package/dist/chat/context.d.ts +3 -0
- package/dist/chat/context.d.ts.map +1 -0
- package/dist/chat/context.js +10 -0
- package/dist/chat/input.d.ts +9 -0
- package/dist/chat/input.d.ts.map +1 -0
- package/dist/chat/input.js +99 -0
- package/dist/chat/kit.d.ts +60 -0
- package/dist/chat/kit.d.ts.map +1 -0
- package/dist/chat/kit.js +123 -0
- package/dist/chat/lasting.d.ts +6 -0
- package/dist/chat/lasting.d.ts.map +1 -0
- package/dist/chat/lasting.js +19 -0
- package/dist/chat/list.d.ts +20 -0
- package/dist/chat/list.d.ts.map +1 -0
- package/dist/chat/list.js +59 -0
- package/dist/chat/markdown.d.ts +19 -0
- package/dist/chat/markdown.d.ts.map +1 -0
- package/dist/chat/markdown.js +187 -0
- package/dist/chat/message.d.ts +6 -0
- package/dist/chat/message.d.ts.map +1 -0
- package/dist/chat/message.js +192 -0
- package/dist/chat/messages.d.ts +21 -0
- package/dist/chat/messages.d.ts.map +1 -0
- package/dist/chat/messages.js +151 -0
- package/dist/chat/name.d.ts +6 -0
- package/dist/chat/name.d.ts.map +1 -0
- package/dist/chat/name.js +37 -0
- package/dist/chat/opened.d.ts +11 -0
- package/dist/chat/opened.d.ts.map +1 -0
- package/dist/chat/opened.js +17 -0
- package/dist/chat/overlay.d.ts +31 -0
- package/dist/chat/overlay.d.ts.map +1 -0
- package/dist/chat/overlay.js +97 -0
- package/dist/chat/parts.d.ts +57 -0
- package/dist/chat/parts.d.ts.map +1 -0
- package/dist/chat/parts.js +119 -0
- package/dist/chat/process.d.ts +20 -0
- package/dist/chat/process.d.ts.map +1 -0
- package/dist/chat/process.js +32 -0
- package/dist/chat/provider.d.ts +63 -0
- package/dist/chat/provider.d.ts.map +1 -0
- package/dist/chat/provider.js +645 -0
- package/dist/chat/question.d.ts +9 -0
- package/dist/chat/question.d.ts.map +1 -0
- package/dist/chat/question.js +80 -0
- package/dist/chat/questions.d.ts +31 -0
- package/dist/chat/questions.d.ts.map +1 -0
- package/dist/chat/questions.js +111 -0
- package/dist/chat/read.d.ts +5 -0
- package/dist/chat/read.d.ts.map +1 -0
- package/dist/chat/read.js +13 -0
- package/dist/chat/ready.d.ts +33 -0
- package/dist/chat/ready.d.ts.map +1 -0
- package/dist/chat/ready.js +91 -0
- package/dist/chat/style.d.ts +4 -0
- package/dist/chat/style.d.ts.map +1 -0
- package/dist/chat/style.js +302 -0
- package/dist/chat.d.ts +14 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +8 -0
- package/dist/client.d.ts +9 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +61 -15
- package/dist/collection.d.ts +6 -11
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +56 -19
- package/dist/connection.d.ts +14 -7
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +239 -102
- package/dist/conversation.d.ts +11 -3
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +47 -7
- package/dist/expectation.d.ts +21 -0
- package/dist/expectation.d.ts.map +1 -0
- package/dist/expectation.js +70 -0
- package/dist/failure.d.ts +13 -0
- package/dist/failure.d.ts.map +1 -0
- package/dist/failure.js +19 -0
- package/dist/host.d.ts +1 -0
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +5 -8
- package/dist/identity.d.ts +2 -0
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +10 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/memory.d.ts +2 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +31 -11
- package/dist/model.d.ts +10 -2
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +2 -0
- package/dist/open.d.ts +2 -0
- package/dist/open.d.ts.map +1 -0
- package/dist/open.js +1 -0
- package/dist/outcome.d.ts +22 -3
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +35 -1
- package/dist/overlay.d.ts +1 -1
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +19 -15
- package/dist/query.d.ts +2 -0
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +5 -31
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +21 -19
- package/dist/react.d.ts +25 -16
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +8 -6
- package/dist/refresh.d.ts +10 -0
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +33 -24
- package/dist/replica.d.ts +5 -5
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +44 -29
- package/dist/room-draft.d.ts +8 -8
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +13 -22
- package/dist/rows.d.ts +2 -0
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +7 -1
- package/dist/save.d.ts +3 -1
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +38 -21
- package/dist/search.d.ts +3 -2
- package/dist/search.d.ts.map +1 -1
- package/dist/status.d.ts +2 -2
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +0 -8
- package/dist/store.d.ts +25 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +206 -90
- package/dist/wire.d.ts +5 -3
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +13 -2
- package/package.json +17 -9
package/dist/save.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { definitionOf } from './model.js';
|
|
2
2
|
import { apply, ATTACHMENT, links, parse, pointerSegments, references, relative, relativize, retarget, serialize, target, } from '@agentshouse/mdmodel';
|
|
3
3
|
import { immutable, } from './change.js';
|
|
4
|
-
import {
|
|
4
|
+
import { collectionOf, documentsOf, governing, validateCollection, } from './collection.js';
|
|
5
5
|
import { changeBatchIdentity } from './identity.js';
|
|
6
6
|
import { overlay } from './overlay.js';
|
|
7
7
|
import { covered, normalize } from './paths.js';
|
|
8
|
-
function refuse(
|
|
8
|
+
function refuse(code, file, location) {
|
|
9
9
|
return {
|
|
10
10
|
kind: 'refused',
|
|
11
11
|
refusal: {
|
|
12
|
-
|
|
12
|
+
code,
|
|
13
|
+
retryable: false,
|
|
13
14
|
...(file === undefined ? {} : { file }),
|
|
14
15
|
...(location === undefined ? {} : { location }),
|
|
15
16
|
},
|
|
@@ -90,7 +91,8 @@ function relinks(path, moved, before, moves) {
|
|
|
90
91
|
return {
|
|
91
92
|
kind: 'refused',
|
|
92
93
|
refusal: {
|
|
93
|
-
|
|
94
|
+
code: applied.refusal.rule,
|
|
95
|
+
retryable: false,
|
|
94
96
|
file: path,
|
|
95
97
|
...(applied.refusal.location === undefined ? {} : { location: applied.refusal.location }),
|
|
96
98
|
},
|
|
@@ -130,7 +132,7 @@ function rewrites(changes, visible) {
|
|
|
130
132
|
return { kind: 'changes', changes };
|
|
131
133
|
const merged = [...changes];
|
|
132
134
|
const added = [];
|
|
133
|
-
for (const [path, document] of
|
|
135
|
+
for (const [path, document] of documentsOf(visible.collection)) {
|
|
134
136
|
if (settled.has(path))
|
|
135
137
|
continue;
|
|
136
138
|
const moved = moves.get(path) ?? path;
|
|
@@ -181,7 +183,7 @@ function incoming(collection, removed) {
|
|
|
181
183
|
referrers.add(file);
|
|
182
184
|
found.set(target, referrers);
|
|
183
185
|
};
|
|
184
|
-
for (const [path, document] of
|
|
186
|
+
for (const [path, document] of documentsOf(collection)) {
|
|
185
187
|
const definition = definitionOf(governing(collection.composition, path), document.type);
|
|
186
188
|
for (const { value, to } of definition === undefined ? [] : references(document, definition)) {
|
|
187
189
|
if (to.includes(ATTACHMENT))
|
|
@@ -200,7 +202,12 @@ function incoming(collection, removed) {
|
|
|
200
202
|
every.add(file);
|
|
201
203
|
return {
|
|
202
204
|
kind: 'refused',
|
|
203
|
-
refusal: {
|
|
205
|
+
refusal: {
|
|
206
|
+
code: 'referenced-missing-file',
|
|
207
|
+
retryable: false,
|
|
208
|
+
file: first,
|
|
209
|
+
referrers: [...every].sort(),
|
|
210
|
+
},
|
|
204
211
|
};
|
|
205
212
|
}
|
|
206
213
|
function affected(change) {
|
|
@@ -220,7 +227,7 @@ function guard(changes, input) {
|
|
|
220
227
|
return refuse('provider-owned-path', normalized);
|
|
221
228
|
}
|
|
222
229
|
const operation = change.kind === 'remove' ? 'delete' : 'write';
|
|
223
|
-
if (!covered(input.operations[operation], normalized))
|
|
230
|
+
if (!input.local && !covered(input.operations[operation], normalized))
|
|
224
231
|
return refuse(`${operation}-grant`, normalized);
|
|
225
232
|
}
|
|
226
233
|
if (change.kind === 'create') {
|
|
@@ -234,7 +241,7 @@ function guard(changes, input) {
|
|
|
234
241
|
return refuse('path-absent', change.path);
|
|
235
242
|
if (existing.has(change.to))
|
|
236
243
|
return refuse('path-collision', change.to);
|
|
237
|
-
if (unrevisionedDocument(input.visible, change.path)) {
|
|
244
|
+
if (!input.local && unrevisionedDocument(input.visible, change.path)) {
|
|
238
245
|
return refuse('unknown-revision', change.path);
|
|
239
246
|
}
|
|
240
247
|
existing.delete(change.path);
|
|
@@ -244,19 +251,19 @@ function guard(changes, input) {
|
|
|
244
251
|
if (!existing.has(change.path))
|
|
245
252
|
return refuse('path-absent', change.path);
|
|
246
253
|
if (change.kind === 'remove') {
|
|
247
|
-
if (unrevisionedDocument(input.visible, change.path)) {
|
|
254
|
+
if (!input.local && unrevisionedDocument(input.visible, change.path)) {
|
|
248
255
|
return refuse('unknown-revision', change.path);
|
|
249
256
|
}
|
|
250
257
|
existing.delete(change.path);
|
|
251
258
|
continue;
|
|
252
259
|
}
|
|
253
260
|
if (change.kind === 'replace') {
|
|
254
|
-
if (input.visible.revisions[change.path] === undefined) {
|
|
261
|
+
if (!input.local && input.visible.revisions[change.path] === undefined) {
|
|
255
262
|
return refuse('unknown-revision', change.path);
|
|
256
263
|
}
|
|
257
264
|
continue;
|
|
258
265
|
}
|
|
259
|
-
if (input.visible.collection.
|
|
266
|
+
if (input.visible.collection.document(change.path) === undefined) {
|
|
260
267
|
return refuse('path-absent', change.path);
|
|
261
268
|
}
|
|
262
269
|
}
|
|
@@ -267,7 +274,10 @@ function unrevisionedDocument(visible, path) {
|
|
|
267
274
|
}
|
|
268
275
|
function existence(visible, path) {
|
|
269
276
|
const revision = visible.revisions[path];
|
|
270
|
-
|
|
277
|
+
if (revision !== undefined)
|
|
278
|
+
return { kind: 'revision', path, revision };
|
|
279
|
+
const content = visible.documents[path];
|
|
280
|
+
return content === undefined ? { kind: 'present', path } : { kind: 'content', path, content };
|
|
271
281
|
}
|
|
272
282
|
function sameTarget(precondition, change) {
|
|
273
283
|
if (precondition.kind !== change.kind || precondition.path !== change.path)
|
|
@@ -293,7 +303,7 @@ function preconditionsOf(changes, visible, bases) {
|
|
|
293
303
|
add(based);
|
|
294
304
|
continue;
|
|
295
305
|
}
|
|
296
|
-
const document = visible.collection.
|
|
306
|
+
const document = visible.collection.document(change.path);
|
|
297
307
|
if (change.kind === 'field') {
|
|
298
308
|
add({
|
|
299
309
|
kind: 'field',
|
|
@@ -389,7 +399,7 @@ function relativeChanges(input) {
|
|
|
389
399
|
return input.changes.map((change) => {
|
|
390
400
|
const definition = typed(change.path);
|
|
391
401
|
if (change.kind === 'field') {
|
|
392
|
-
const type = visible.collection.
|
|
402
|
+
const type = visible.collection.document(change.path)?.type;
|
|
393
403
|
const value = relativeField(change.path, change.name, change.value, handle, definition(type));
|
|
394
404
|
return value === change.value ? change : { ...change, value };
|
|
395
405
|
}
|
|
@@ -412,13 +422,19 @@ function relativeChanges(input) {
|
|
|
412
422
|
return { ...change, fields, sections };
|
|
413
423
|
});
|
|
414
424
|
}
|
|
425
|
+
function unmodeledType(collection, composition) {
|
|
426
|
+
for (const [path, document] of documentsOf(collection)) {
|
|
427
|
+
if (document.type !== undefined &&
|
|
428
|
+
document.type !== 'any' &&
|
|
429
|
+
governing(composition, path).status === 'unavailable')
|
|
430
|
+
return true;
|
|
431
|
+
}
|
|
432
|
+
return false;
|
|
433
|
+
}
|
|
415
434
|
export function buildBatch(input) {
|
|
416
435
|
const changes = relativeChanges(input);
|
|
417
436
|
const structural = changes.find((change) => change.kind === 'move' || change.kind === 'remove');
|
|
418
|
-
if (structural !== undefined &&
|
|
419
|
-
Object.entries(input.visible.collection.documents).some(([path, document]) => document.type !== undefined &&
|
|
420
|
-
document.type !== 'any' &&
|
|
421
|
-
governing(input.composition, path).status === 'unavailable'))
|
|
437
|
+
if (structural !== undefined && unmodeledType(input.visible.collection, input.composition))
|
|
422
438
|
return refuse('model-unavailable', structural.path);
|
|
423
439
|
if (changes.length === 0)
|
|
424
440
|
return refuse('no-change');
|
|
@@ -435,7 +451,7 @@ export function buildBatch(input) {
|
|
|
435
451
|
]);
|
|
436
452
|
const removed = new Set(changes.filter((change) => change.kind === 'remove').map((change) => change.path));
|
|
437
453
|
if (removed.size > 0) {
|
|
438
|
-
const referenced = incoming(
|
|
454
|
+
const referenced = incoming(collectionOf(resulting.documents, input.composition), removed);
|
|
439
455
|
if (referenced !== null)
|
|
440
456
|
return referenced;
|
|
441
457
|
}
|
|
@@ -458,7 +474,8 @@ export function buildBatch(input) {
|
|
|
458
474
|
return {
|
|
459
475
|
kind: 'refused',
|
|
460
476
|
refusal: {
|
|
461
|
-
|
|
477
|
+
code: verdict.rule,
|
|
478
|
+
retryable: false,
|
|
462
479
|
file: verdict.file,
|
|
463
480
|
...(verdict.location === undefined ? {} : { location: verdict.location }),
|
|
464
481
|
...(verdict.referrers === undefined ? {} : { referrers: verdict.referrers }),
|
package/dist/search.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ChangeSet } from './change-set.js';
|
|
2
2
|
import { type Filter } from './query.js';
|
|
3
|
-
|
|
3
|
+
import type { Open } from './open.js';
|
|
4
|
+
export type DocumentPart = Open<'fields' | 'sections' | 'preamble' | 'path'>;
|
|
4
5
|
export type SearchRequest = {
|
|
5
6
|
text: string;
|
|
6
7
|
documents?: Filter;
|
|
@@ -18,7 +19,7 @@ export type MessageHit = {
|
|
|
18
19
|
conversation: string;
|
|
19
20
|
identity: string;
|
|
20
21
|
score: number;
|
|
21
|
-
matches: Readonly<Record<string, readonly 'text'[]>>;
|
|
22
|
+
matches: Readonly<Record<string, readonly Open<'text'>[]>>;
|
|
22
23
|
};
|
|
23
24
|
export type SearchResult = {
|
|
24
25
|
documents: readonly DocumentHit[];
|
package/dist/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAkC,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
|
package/dist/status.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Open } from './open.js';
|
|
1
2
|
import type { ReturnReason } from './room-draft.js';
|
|
2
3
|
export type AttentionEntry = {
|
|
3
4
|
room: string;
|
|
@@ -5,7 +6,7 @@ export type AttentionEntry = {
|
|
|
5
6
|
returned: ReturnReason;
|
|
6
7
|
};
|
|
7
8
|
export type SyncStatus = {
|
|
8
|
-
state: 'pending' | 'syncing' | 'synced'
|
|
9
|
+
state: Open<'pending' | 'syncing' | 'synced'>;
|
|
9
10
|
lastCompleted: string | null;
|
|
10
11
|
providerUnreachable: boolean;
|
|
11
12
|
attentionRequired: readonly AttentionEntry[];
|
|
@@ -17,7 +18,6 @@ export type CycleProgress = {
|
|
|
17
18
|
};
|
|
18
19
|
export declare const STARTING: SyncStatus;
|
|
19
20
|
export declare function transferring(status: SyncStatus): SyncStatus;
|
|
20
|
-
export declare function settled(status: SyncStatus, progress: CycleProgress, at: string | null, queued: boolean, attention: Pick<SyncStatus, 'attentionRequired' | 'reset'>): SyncStatus;
|
|
21
21
|
export declare function saving(status: SyncStatus): SyncStatus;
|
|
22
22
|
export declare function same(one: SyncStatus, other: SyncStatus): boolean;
|
|
23
23
|
//# sourceMappingURL=status.d.ts.map
|
package/dist/status.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,UAMtB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAErD;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAQhE"}
|
package/dist/status.js
CHANGED
|
@@ -8,14 +8,6 @@ export const STARTING = {
|
|
|
8
8
|
export function transferring(status) {
|
|
9
9
|
return { ...status, state: 'syncing' };
|
|
10
10
|
}
|
|
11
|
-
export function settled(status, progress, at, queued, attention) {
|
|
12
|
-
return {
|
|
13
|
-
state: queued ? 'pending' : progress.complete ? 'synced' : status.state,
|
|
14
|
-
lastCompleted: progress.complete ? at : status.lastCompleted,
|
|
15
|
-
providerUnreachable: !progress.reachable,
|
|
16
|
-
...attention,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
11
|
export function saving(status) {
|
|
20
12
|
return { ...status, state: 'pending' };
|
|
21
13
|
}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ModelState } from './model.js';
|
|
2
|
-
import type { Capability, HeadChange, OperationScopes, ProviderLimit, ReplicaAdmission, RoomAttachment, TypedSelection } from './adapter.js';
|
|
2
|
+
import type { Capability, HeadChange, Member, OperationScopes, ProviderLimit, ReplicaAdmission, RoomAttachment, TypedSelection } from './adapter.js';
|
|
3
3
|
import type { AcceptedMessage } from './adapter.js';
|
|
4
4
|
import type { ChangeBatch } from './change.js';
|
|
5
5
|
import type { ChatDraftFile } from './file.js';
|
|
6
6
|
import type { Submission } from './outcome.js';
|
|
7
7
|
import type { RoomDraftRecord, SavedDraft } from './room-draft.js';
|
|
8
|
+
export declare const STORE_SCHEMA = 21;
|
|
8
9
|
export type ReplicaRecord = {
|
|
9
10
|
locator: string;
|
|
10
11
|
name: string;
|
|
@@ -16,6 +17,7 @@ export type ReplicaRecord = {
|
|
|
16
17
|
selectionModel: ModelState;
|
|
17
18
|
providerOwnedPaths: readonly string[];
|
|
18
19
|
roomVersion: string;
|
|
20
|
+
transfer: string;
|
|
19
21
|
documents: Readonly<Record<string, string>>;
|
|
20
22
|
binaryTargets: readonly string[];
|
|
21
23
|
revisions: Readonly<Record<string, string>>;
|
|
@@ -23,6 +25,20 @@ export type ReplicaRecord = {
|
|
|
23
25
|
written: Readonly<Record<string, string>>;
|
|
24
26
|
attachments: readonly RoomAttachment[];
|
|
25
27
|
};
|
|
28
|
+
export type StagedLayer = Pick<ReplicaRecord, 'documents' | 'binaryTargets' | 'revisions' | 'changes' | 'written'>;
|
|
29
|
+
export type TransferRecord = {
|
|
30
|
+
locator: string;
|
|
31
|
+
transfer: string;
|
|
32
|
+
selection: string;
|
|
33
|
+
from: string;
|
|
34
|
+
last: string;
|
|
35
|
+
pageToken: string | null;
|
|
36
|
+
models: {
|
|
37
|
+
collection: ModelState;
|
|
38
|
+
selection: ModelState;
|
|
39
|
+
};
|
|
40
|
+
attachments: readonly (readonly RoomAttachment[])[];
|
|
41
|
+
};
|
|
26
42
|
export type PendingState = {
|
|
27
43
|
readonly drafts: readonly SavedDraft[];
|
|
28
44
|
readonly submission: Submission;
|
|
@@ -57,10 +73,12 @@ export type ChatDraftRecord = {
|
|
|
57
73
|
text: string;
|
|
58
74
|
files: readonly ChatDraftFile[];
|
|
59
75
|
turn: string | null;
|
|
76
|
+
revision: string;
|
|
60
77
|
};
|
|
61
78
|
export type RecordWrite = {
|
|
62
79
|
next: ReplicaRecord;
|
|
63
80
|
previous: ReplicaRecord | null;
|
|
81
|
+
stored?: StagedLayer;
|
|
64
82
|
queue: readonly ChangeBatch[];
|
|
65
83
|
previousQueue?: readonly ChangeBatch[];
|
|
66
84
|
saved?: readonly SavedDraft[];
|
|
@@ -79,6 +97,8 @@ export type RuntimeStore = {
|
|
|
79
97
|
providerLimits(): Promise<readonly ProviderLimit[]>;
|
|
80
98
|
capabilities(): Promise<readonly Capability[]>;
|
|
81
99
|
declare(limits: readonly ProviderLimit[], capabilities: readonly Capability[]): Promise<void>;
|
|
100
|
+
member(): Promise<Member | null>;
|
|
101
|
+
keepMember(member: Member | null): Promise<void>;
|
|
82
102
|
queues(): Promise<readonly QueueRecord[]>;
|
|
83
103
|
submit(locator: string, id: string, submission: Submission, lost: boolean): Promise<void>;
|
|
84
104
|
accept(locator: string, id: string, roomVersion: string): Promise<void>;
|
|
@@ -95,6 +115,10 @@ export type RuntimeStore = {
|
|
|
95
115
|
keepRoomDraft(record: RoomDraftRecord): Promise<void>;
|
|
96
116
|
discardRoomDraft(locator: string, path: string): Promise<void>;
|
|
97
117
|
dropRooms(locators: readonly string[]): Promise<void>;
|
|
118
|
+
transfers(): Promise<readonly TransferRecord[]>;
|
|
119
|
+
staged(record: TransferRecord): Promise<StagedLayer>;
|
|
120
|
+
stage(record: TransferRecord, page: StagedLayer): Promise<void>;
|
|
121
|
+
abandon(locator: string): Promise<void>;
|
|
98
122
|
generation(): Promise<string | null>;
|
|
99
123
|
rememberGeneration(value: string): Promise<void>;
|
|
100
124
|
close(): void;
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|