@agentshouse/mdruntime 0.1.0-cc294e382554d → 0.1.0-cc56db96f86ae
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 +28 -23
- package/README.md +9 -8
- package/dist/adapter.d.ts +11 -10
- package/dist/adapter.d.ts.map +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +60 -29
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +2 -6
- package/dist/change.d.ts +31 -1
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +10 -1
- package/dist/chat/house.d.ts +25 -0
- package/dist/chat/house.d.ts.map +1 -0
- package/dist/chat/house.js +38 -0
- package/dist/chat/input.d.ts +3 -1
- package/dist/chat/input.d.ts.map +1 -1
- package/dist/chat/input.js +11 -18
- package/dist/chat/message.d.ts.map +1 -1
- package/dist/chat/message.js +45 -10
- package/dist/chat/messages.d.ts +6 -1
- package/dist/chat/messages.d.ts.map +1 -1
- package/dist/chat/messages.js +14 -11
- package/dist/chat/name.d.ts +1 -0
- package/dist/chat/name.d.ts.map +1 -1
- package/dist/chat/name.js +1 -1
- package/dist/chat/opened.d.ts +1 -0
- package/dist/chat/opened.d.ts.map +1 -1
- package/dist/chat/opened.js +2 -0
- package/dist/chat/overlay.d.ts.map +1 -1
- package/dist/chat/overlay.js +1 -5
- package/dist/chat/parts.d.ts +1 -0
- package/dist/chat/parts.d.ts.map +1 -1
- package/dist/chat/parts.js +3 -2
- package/dist/chat/provider.d.ts +5 -1
- package/dist/chat/provider.d.ts.map +1 -1
- package/dist/chat/provider.js +58 -77
- package/dist/chat/ready.d.ts +4 -1
- package/dist/chat/ready.d.ts.map +1 -1
- package/dist/chat/ready.js +7 -5
- package/dist/chat/room-file.d.ts +8 -0
- package/dist/chat/room-file.d.ts.map +1 -0
- package/dist/chat/room-file.js +67 -0
- package/dist/chat/style.d.ts.map +1 -1
- package/dist/chat/style.js +4 -0
- package/dist/chat.d.ts +1 -0
- package/dist/chat.d.ts.map +1 -1
- package/dist/client.d.ts +4 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -0
- package/dist/collection.d.ts +2 -2
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +56 -40
- package/dist/connection.d.ts +5 -1
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +723 -158
- package/dist/conversation.d.ts +2 -2
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +18 -29
- package/dist/digest.d.ts +2 -0
- package/dist/digest.d.ts.map +1 -0
- package/dist/digest.js +100 -0
- package/dist/durability.d.ts +1 -1
- package/dist/file.d.ts +2 -10
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +3 -120
- package/dist/host.d.ts +1 -1
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +7 -3
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +9 -5
- package/dist/outcome.d.ts +20 -1
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +22 -0
- package/dist/overlay.d.ts +1 -1
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +27 -3
- package/dist/query.d.ts +2 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +1 -0
- package/dist/reach.d.ts +5 -1
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +144 -39
- package/dist/read-side.d.ts +4 -4
- package/dist/read-side.d.ts.map +1 -1
- package/dist/read-side.js +585 -232
- package/dist/readiness.d.ts +1 -1
- package/dist/readiness.d.ts.map +1 -1
- package/dist/recovery.d.ts +2 -2
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +8 -7
- package/dist/refresh.js +8 -8
- package/dist/replica.d.ts +1 -2
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +69 -48
- package/dist/room-draft.d.ts +3 -1
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +21 -13
- package/dist/save.d.ts +43 -7
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +329 -77
- package/dist/search.d.ts +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +61 -10
- package/dist/shared.d.ts +5 -1
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +72 -9
- package/dist/store.d.ts +8 -13
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +189 -230
- package/dist/tables.d.ts +181 -0
- package/dist/tables.d.ts.map +1 -0
- package/dist/tables.js +309 -0
- package/dist/turn.d.ts +1 -1
- package/dist/turn.d.ts.map +1 -1
- package/dist/turn.js +9 -6
- package/dist/windows.d.ts +0 -5
- package/dist/windows.d.ts.map +1 -1
- package/dist/windows.js +0 -9
- package/dist/wire.d.ts +8 -0
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +2 -0
- package/package.json +6 -2
package/dist/collection.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { checkDocument, parseFrontmatter, references, sectionReferences, target, parse, resolves, validating, VERSION, } from '@agentshouse/mdmodel';
|
|
2
2
|
import { beneath, normalize } from './paths.js';
|
|
3
3
|
import { sameTyping } from './model.js';
|
|
4
|
-
import { differences, patched, patching, shared, sizeOf } from './shared.js';
|
|
4
|
+
import { differences, entriesIn, keysIn, patched, patching, shared, sizeOf, sortedKeys, } from './shared.js';
|
|
5
5
|
import { after, finished, inUnits, ROW_WEIGHT } from './turn.js';
|
|
6
6
|
export const MD_MODEL = { identity: '@agentshouse/mdmodel', version: VERSION };
|
|
7
|
+
const REFERENCE_WEIGHT = 4 * ROW_WEIGHT;
|
|
7
8
|
const NO_TYPES = { types: {} };
|
|
8
9
|
function selected(composition, path) {
|
|
9
10
|
return (composition.selection !== null &&
|
|
@@ -68,8 +69,8 @@ export function passingFrontmatter(collection, path) {
|
|
|
68
69
|
const read = parseFrontmatter(content, path);
|
|
69
70
|
return read.ok ? read.frontmatter : undefined;
|
|
70
71
|
}
|
|
71
|
-
|
|
72
|
-
for (const path of
|
|
72
|
+
function* readIn(collection, paths) {
|
|
73
|
+
for (const path of paths) {
|
|
73
74
|
const held = cachedIn(collection, path);
|
|
74
75
|
if (held === null)
|
|
75
76
|
continue;
|
|
@@ -82,46 +83,52 @@ export function* documentsOf(collection) {
|
|
|
82
83
|
yield [path, read.document];
|
|
83
84
|
}
|
|
84
85
|
}
|
|
86
|
+
export function* documentsOf(collection) {
|
|
87
|
+
return readIn(collection, yield* sortedKeys(collection.text));
|
|
88
|
+
}
|
|
85
89
|
export function* unreadable(text, previous) {
|
|
86
|
-
const paths = previous === undefined
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
const paths = previous === undefined ? yield* keysIn(text) : yield* differences(previous, text);
|
|
91
|
+
let least = null;
|
|
92
|
+
for (const path of paths) {
|
|
93
|
+
const content = text[path];
|
|
94
|
+
if (content === undefined)
|
|
95
|
+
continue;
|
|
96
|
+
const read = parse(content, path);
|
|
97
|
+
if (!read.ok && (least === null || path < least.path)) {
|
|
98
|
+
least = { path, refused: { kind: 'refused', refusal: read.refusal } };
|
|
99
|
+
}
|
|
100
|
+
yield ROW_WEIGHT + content.length;
|
|
94
101
|
}
|
|
95
|
-
return null;
|
|
102
|
+
return least?.refused ?? null;
|
|
96
103
|
}
|
|
97
104
|
export function validRoot(root) {
|
|
98
105
|
return typeof root === 'string' && normalize(root) === root;
|
|
99
106
|
}
|
|
100
107
|
function* validateAgainst(documents, binaryTargets, model) {
|
|
101
108
|
if (model.status === 'unavailable') {
|
|
102
|
-
for (const path of
|
|
103
|
-
const content = documents[path];
|
|
109
|
+
for (const [path, content] of documents) {
|
|
104
110
|
const parsed = parse(content);
|
|
105
111
|
if (parsed.ok && parsed.document.type !== undefined && parsed.document.type !== 'any')
|
|
106
112
|
return { verdict: 'refuse', rule: 'model-unavailable', file: path };
|
|
107
113
|
yield ROW_WEIGHT + content.length;
|
|
108
114
|
}
|
|
109
115
|
}
|
|
110
|
-
const steps = validating(documents, { binaryTargets }, model.status === 'unavailable' ? NO_TYPES : { types: model.types });
|
|
116
|
+
const steps = validating(documents, { binaryTargets, anyRoom: true }, model.status === 'unavailable' ? NO_TYPES : { types: model.types });
|
|
111
117
|
for (let step = steps.next();; step = steps.next()) {
|
|
112
118
|
if (step.done === true)
|
|
113
119
|
return step.value;
|
|
114
|
-
|
|
120
|
+
const { path, resolved } = step.value;
|
|
121
|
+
yield ROW_WEIGHT + documents.get(path).length + REFERENCE_WEIGHT * resolved;
|
|
115
122
|
}
|
|
116
123
|
}
|
|
117
124
|
export function* validateCollection(text, binaryTargets, composition) {
|
|
118
|
-
const collection =
|
|
119
|
-
const selection =
|
|
120
|
-
for (const path of
|
|
125
|
+
const collection = new Map();
|
|
126
|
+
const selection = new Map();
|
|
127
|
+
for (const [path, content] of entriesIn(text)) {
|
|
121
128
|
if (selected(composition, path))
|
|
122
|
-
selection
|
|
129
|
+
selection.set(path, content);
|
|
123
130
|
else
|
|
124
|
-
collection
|
|
131
|
+
collection.set(path, content);
|
|
125
132
|
yield ROW_WEIGHT;
|
|
126
133
|
}
|
|
127
134
|
const verdicts = [
|
|
@@ -159,7 +166,10 @@ function modelOf(composition, path) {
|
|
|
159
166
|
return model.status === 'unavailable' ? null : { types: model.types };
|
|
160
167
|
}
|
|
161
168
|
function checked(path, content, composition) {
|
|
162
|
-
return checkDocument(path, content, modelOf(composition, path) ?? NO_TYPES);
|
|
169
|
+
return checkDocument(path, content, modelOf(composition, path) ?? NO_TYPES, { anyRoom: true });
|
|
170
|
+
}
|
|
171
|
+
function resolvedBy(check) {
|
|
172
|
+
return check.ok ? check.references.length : 0;
|
|
163
173
|
}
|
|
164
174
|
function targetsOf(check) {
|
|
165
175
|
if (!check.ok)
|
|
@@ -273,8 +283,7 @@ export function indexReferrers(held, composition) {
|
|
|
273
283
|
return running;
|
|
274
284
|
const targets = new Map();
|
|
275
285
|
const referrers = new Map();
|
|
276
|
-
const filled = inUnits(
|
|
277
|
-
const content = held.text[path];
|
|
286
|
+
const filled = inUnits(entriesIn(held.text), ([path, content]) => {
|
|
278
287
|
const found = referencedBy(path, content, composition);
|
|
279
288
|
if (found.length > 0)
|
|
280
289
|
targets.set(path, found);
|
|
@@ -285,7 +294,7 @@ export function indexReferrers(held, composition) {
|
|
|
285
294
|
else
|
|
286
295
|
files.push(path);
|
|
287
296
|
}
|
|
288
|
-
return ROW_WEIGHT + content.length;
|
|
297
|
+
return ROW_WEIGHT + content.length + REFERENCE_WEIGHT * found.length;
|
|
289
298
|
});
|
|
290
299
|
const indexed = after(filled, () => after(storedIn(targets), (storedTargets) => after(storedReferrers(referrers), (stored) => {
|
|
291
300
|
referrersOf.set(held.text, { composition, targets: storedTargets, referrers: stored });
|
|
@@ -299,14 +308,16 @@ export function indexReferrers(held, composition) {
|
|
|
299
308
|
export function referencesIndexed(held, composition) {
|
|
300
309
|
return heldIndex(held, composition) !== null;
|
|
301
310
|
}
|
|
302
|
-
export function referring(held, composition, targets) {
|
|
311
|
+
export function* referring(held, composition, targets) {
|
|
303
312
|
const index = heldIndex(held, composition);
|
|
304
313
|
if (index === null)
|
|
305
314
|
return null;
|
|
306
315
|
const found = new Set();
|
|
307
316
|
for (const target of targets) {
|
|
308
|
-
for (const file of
|
|
317
|
+
for (const [file] of entriesIn(referrersOfTarget(index, target))) {
|
|
309
318
|
found.add(file);
|
|
319
|
+
yield ROW_WEIGHT;
|
|
320
|
+
}
|
|
310
321
|
}
|
|
311
322
|
return found;
|
|
312
323
|
}
|
|
@@ -341,41 +352,46 @@ export function* changedCleanly(next, previous, composition) {
|
|
|
341
352
|
shifted.push(path);
|
|
342
353
|
}
|
|
343
354
|
if (!modeled && typedIn(was) && !typedIn(now))
|
|
344
|
-
return
|
|
355
|
+
return null;
|
|
345
356
|
if (now === undefined) {
|
|
346
357
|
if (modeled)
|
|
347
358
|
changedTargets.set(path, []);
|
|
348
|
-
return
|
|
359
|
+
return 0;
|
|
349
360
|
}
|
|
350
361
|
if (binary(path))
|
|
351
|
-
return
|
|
362
|
+
return null;
|
|
352
363
|
if (!modeled) {
|
|
353
364
|
if (declared(now) === undefined)
|
|
354
|
-
return
|
|
355
|
-
|
|
365
|
+
return null;
|
|
366
|
+
if (typedIn(now))
|
|
367
|
+
return 0;
|
|
368
|
+
const check = checked(path, now, composition);
|
|
369
|
+
return check.ok ? resolvedBy(check) : null;
|
|
356
370
|
}
|
|
357
371
|
const check = checked(path, now, composition);
|
|
358
372
|
if (!reaching(path, check))
|
|
359
|
-
return
|
|
373
|
+
return null;
|
|
360
374
|
changedTargets.set(path, targetsOf(check));
|
|
361
|
-
return
|
|
375
|
+
return resolvedBy(check);
|
|
362
376
|
};
|
|
363
377
|
for (const path of paths) {
|
|
364
|
-
|
|
378
|
+
const resolved = admitted(path);
|
|
379
|
+
if (resolved === null)
|
|
365
380
|
return false;
|
|
366
|
-
yield ROW_WEIGHT + (next.text[path]?.length ?? 0);
|
|
381
|
+
yield ROW_WEIGHT + (next.text[path]?.length ?? 0) + REFERENCE_WEIGHT * resolved;
|
|
367
382
|
}
|
|
368
383
|
const index = heldIndex(previous, composition);
|
|
369
384
|
if (index === null && shifted.length > 0)
|
|
370
385
|
return false;
|
|
371
386
|
for (const target of shifted) {
|
|
372
|
-
const files = index === null ?
|
|
373
|
-
for (const file of files) {
|
|
387
|
+
const files = index === null ? NO_REFERRERS : referrersOfTarget(index, target);
|
|
388
|
+
for (const [file] of entriesIn(files)) {
|
|
374
389
|
if (paths.has(file))
|
|
375
390
|
continue;
|
|
376
|
-
|
|
391
|
+
const check = checked(file, next.text[file], composition);
|
|
392
|
+
if (!reaching(file, check))
|
|
377
393
|
return false;
|
|
378
|
-
yield ROW_WEIGHT + next.text[file].length;
|
|
394
|
+
yield ROW_WEIGHT + next.text[file].length + REFERENCE_WEIGHT * resolvedBy(check);
|
|
379
395
|
}
|
|
380
396
|
}
|
|
381
397
|
if (index !== null) {
|
package/dist/connection.d.ts
CHANGED
|
@@ -8,13 +8,14 @@ import { type ChatDraftSurface, type ConversationAgent, type ConversationEntry,
|
|
|
8
8
|
import { type WrittenBy } from './change.js';
|
|
9
9
|
import type { Open } from './open.js';
|
|
10
10
|
import { type BinaryReference } from './binary.js';
|
|
11
|
-
import { type BinaryAnswer, type BinaryLinkAnswer, type CallResult, type HistoryAnswer, type QueueEntry } from './outcome.js';
|
|
11
|
+
import { type BinaryAnswer, type BinaryLinkAnswer, type CallResult, type HistoryAnswer, type QueueEntry, type Resolution } from './outcome.js';
|
|
12
12
|
import { type Recovery } from './recovery.js';
|
|
13
13
|
import { type SaveRefusal } from './save.js';
|
|
14
14
|
import { type RoomDraft, type RoomDraftParts, type RoomDraftWrite } from './room-draft.js';
|
|
15
15
|
import { type SyncStatus } from './status.js';
|
|
16
16
|
import { type RuntimeShell } from './durability.js';
|
|
17
17
|
import { type CapacityCause, type CodeAvailability, type Persistence, type Readiness, type SearchObligation } from './readiness.js';
|
|
18
|
+
import type { RuntimeDatabase } from './tables.js';
|
|
18
19
|
import { type NarrowedView, type PortReach, type RuntimeView } from './reach.js';
|
|
19
20
|
export type AppTypedSelection = {
|
|
20
21
|
roots: readonly string[];
|
|
@@ -33,6 +34,7 @@ export type AppRoom = {
|
|
|
33
34
|
documents: number;
|
|
34
35
|
synchronizationAvailable: boolean;
|
|
35
36
|
refusal: ProviderRefusal | null;
|
|
37
|
+
locked: boolean;
|
|
36
38
|
};
|
|
37
39
|
export type RoomSchemas = {
|
|
38
40
|
collection: TypesResult;
|
|
@@ -49,6 +51,7 @@ export type ConnectionRefusal = {
|
|
|
49
51
|
export type MdRuntimeOptions = {
|
|
50
52
|
adapter: Adapter;
|
|
51
53
|
shell: RuntimeShell;
|
|
54
|
+
database: RuntimeDatabase;
|
|
52
55
|
authorization?: Authorization;
|
|
53
56
|
signal?: AbortSignal;
|
|
54
57
|
recovery?: Recovery;
|
|
@@ -103,6 +106,7 @@ export type MdRuntime = {
|
|
|
103
106
|
save(room: string, roomDrafts: readonly SavedRoomDraft[], writtenBy?: WrittenBy): Promise<SaveResult>;
|
|
104
107
|
saveParts(room: string, parts: readonly SavedParts[], writtenBy?: WrittenBy): Promise<SaveResult>;
|
|
105
108
|
history(locator: string, path: string, query?: HistoryQuery): Promise<HistoryAnswer>;
|
|
109
|
+
resolve(room: string, path: string, destination: string): Promise<Resolution>;
|
|
106
110
|
binaryFile: BinaryFileSurface;
|
|
107
111
|
call(name: string, input: unknown): Promise<CallResult>;
|
|
108
112
|
reached(locator: string, roomVersion: string, path?: string): boolean;
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|