@agentshouse/mdruntime 0.1.0-cd3486bd400ed → 0.1.0-cd35ccee27a19
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/README.md +22 -10
- package/dist/acceptance.d.ts +3 -0
- package/dist/acceptance.d.ts.map +1 -0
- package/dist/acceptance.js +308 -0
- package/dist/actions.d.ts +20 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +251 -0
- package/dist/adapter.d.ts +195 -91
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts +7 -10
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +40 -41
- package/dist/attempt.d.ts.map +1 -1
- package/dist/attempt.js +14 -1
- package/dist/binary.d.ts +18 -0
- package/dist/binary.d.ts.map +1 -0
- package/dist/binary.js +8 -0
- package/dist/bootstrap.d.ts +31 -11
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +311 -92
- package/dist/cell.d.ts +6 -0
- package/dist/cell.d.ts.map +1 -0
- package/dist/cell.js +9 -0
- package/dist/chain.d.ts +12 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +64 -0
- package/dist/change-set.d.ts +13 -14
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +17 -62
- package/dist/change.d.ts +42 -0
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +36 -0
- package/dist/chat-types.d.ts +5 -0
- package/dist/chat-types.d.ts.map +1 -0
- package/dist/chat-types.js +13 -0
- package/dist/client.d.ts +49 -21
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +131 -17
- package/dist/collection.d.ts +31 -9
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +49 -80
- package/dist/compile.d.ts +16 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +711 -0
- package/dist/connection.d.ts +8 -111
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +107 -2218
- package/dist/context.d.ts +2 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +7 -0
- package/dist/conversation-live.d.ts +136 -0
- package/dist/conversation-live.d.ts.map +1 -0
- package/dist/conversation-live.js +249 -0
- package/dist/conversation-row.d.ts +33 -0
- package/dist/conversation-row.d.ts.map +1 -0
- package/dist/conversation-row.js +53 -0
- package/dist/conversation.d.ts +71 -42
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +1068 -586
- package/dist/declaration.d.ts +10 -0
- package/dist/declaration.d.ts.map +1 -0
- package/dist/declaration.js +24 -0
- package/dist/digest.d.ts +7 -0
- package/dist/digest.d.ts.map +1 -0
- package/dist/digest.js +113 -0
- package/dist/discovery.d.ts +10 -0
- package/dist/discovery.d.ts.map +1 -0
- package/dist/discovery.js +148 -0
- package/dist/durability.d.ts +19 -1
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +5 -0
- package/dist/entry.d.ts +20 -0
- package/dist/entry.d.ts.map +1 -0
- package/dist/entry.js +161 -0
- package/dist/expectation.d.ts +4 -2
- package/dist/expectation.d.ts.map +1 -1
- package/dist/expectation.js +33 -11
- package/dist/failure.d.ts +1 -0
- package/dist/failure.d.ts.map +1 -1
- package/dist/failure.js +3 -0
- package/dist/figures.d.ts +49 -0
- package/dist/figures.d.ts.map +1 -0
- package/dist/figures.js +197 -0
- package/dist/file.d.ts +2 -19
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +7 -122
- package/dist/holdings.d.ts +29 -0
- package/dist/holdings.d.ts.map +1 -0
- package/dist/holdings.js +95 -0
- package/dist/host.d.ts +28 -4
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +163 -19
- package/dist/identity.d.ts +1 -0
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +3 -0
- package/dist/index.d.ts +37 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/install.d.ts +54 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +538 -0
- package/dist/lifecycle.d.ts +7 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +272 -0
- package/dist/listing.d.ts +48 -0
- package/dist/listing.d.ts.map +1 -0
- package/dist/listing.js +139 -0
- package/dist/live.d.ts +23 -0
- package/dist/live.d.ts.map +1 -0
- package/dist/live.js +165 -0
- package/dist/locks.d.ts +7 -0
- package/dist/locks.d.ts.map +1 -0
- package/dist/locks.js +33 -0
- package/dist/log.d.ts +1 -0
- package/dist/log.d.ts.map +1 -1
- package/dist/lost.d.ts +5 -0
- package/dist/lost.d.ts.map +1 -0
- package/dist/lost.js +50 -0
- package/dist/media.d.ts +8 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +218 -0
- package/dist/memory.d.ts +24 -8
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +289 -96
- package/dist/messages.d.ts +49 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +150 -0
- package/dist/model.d.ts +11 -12
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +7 -15
- package/dist/models.d.ts +10 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +156 -0
- package/dist/name.d.ts +4 -0
- package/dist/name.d.ts.map +1 -0
- package/dist/name.js +122 -0
- package/dist/observation.d.ts +22 -4
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +127 -26
- package/dist/opened.d.ts +22 -0
- package/dist/opened.d.ts.map +1 -0
- package/dist/opened.js +107 -0
- package/dist/opening.d.ts +4 -0
- package/dist/opening.d.ts.map +1 -0
- package/dist/opening.js +59 -0
- package/dist/outcome.d.ts +56 -5
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +49 -0
- package/dist/overlay.d.ts +17 -5
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +161 -187
- package/dist/page-metadata.d.ts +8 -0
- package/dist/page-metadata.d.ts.map +1 -0
- package/dist/page-metadata.js +19 -0
- package/dist/parts.d.ts +11 -0
- package/dist/parts.d.ts.map +1 -0
- package/dist/parts.js +21 -0
- package/dist/paths.d.ts +2 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +26 -0
- package/dist/preparation.d.ts +20 -0
- package/dist/preparation.d.ts.map +1 -0
- package/dist/preparation.js +233 -0
- package/dist/presence.d.ts +52 -0
- package/dist/presence.d.ts.map +1 -0
- package/dist/presence.js +220 -0
- package/dist/queries.d.ts +16 -0
- package/dist/queries.d.ts.map +1 -0
- package/dist/queries.js +270 -0
- package/dist/query.d.ts +51 -183
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +3 -464
- package/dist/{chat/questions.d.ts → questions.d.ts} +5 -2
- package/dist/questions.d.ts.map +1 -0
- package/dist/{chat/questions.js → questions.js} +13 -2
- package/dist/queue.d.ts +40 -0
- package/dist/queue.d.ts.map +1 -0
- package/dist/queue.js +455 -0
- package/dist/reach.d.ts +21 -5
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +313 -72
- package/dist/react.d.ts +20 -6
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +17 -18
- package/dist/{chat/read.d.ts → read.d.ts} +2 -0
- package/dist/read.d.ts.map +1 -0
- package/dist/{chat/read.js → read.js} +4 -0
- package/dist/readiness.d.ts +49 -0
- package/dist/readiness.d.ts.map +1 -0
- package/dist/readiness.js +27 -0
- package/dist/reads.d.ts +37 -0
- package/dist/reads.d.ts.map +1 -0
- package/dist/reads.js +174 -0
- package/dist/recovery.d.ts +26 -0
- package/dist/recovery.d.ts.map +1 -0
- package/dist/recovery.js +232 -0
- package/dist/refresh.d.ts +17 -14
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +145 -58
- package/dist/refusal.d.ts +5 -0
- package/dist/refusal.d.ts.map +1 -0
- package/dist/refusal.js +57 -0
- package/dist/replica.d.ts +53 -33
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +348 -166
- package/dist/room-draft.d.ts +55 -9
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +262 -73
- package/dist/room-drafts.d.ts +24 -0
- package/dist/room-drafts.d.ts.map +1 -0
- package/dist/room-drafts.js +217 -0
- package/dist/rows.d.ts +30 -35
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +60 -126
- package/dist/runtime.d.ts +34 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +1 -0
- package/dist/save.d.ts +44 -22
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +950 -169
- package/dist/saves.d.ts +32 -0
- package/dist/saves.d.ts.map +1 -0
- package/dist/saves.js +413 -0
- package/dist/search.d.ts +15 -55
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +10 -121
- package/dist/seed.d.ts +25 -0
- package/dist/seed.d.ts.map +1 -0
- package/dist/seed.js +145 -0
- package/dist/shared.d.ts +10 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +339 -0
- package/dist/shown.d.ts +32 -0
- package/dist/shown.d.ts.map +1 -0
- package/dist/shown.js +290 -0
- package/dist/socket/admission.d.ts +7 -0
- package/dist/socket/admission.d.ts.map +1 -0
- package/dist/socket/admission.js +39 -0
- package/dist/socket/answers.d.ts +6 -0
- package/dist/socket/answers.d.ts.map +1 -0
- package/dist/socket/answers.js +20 -0
- package/dist/socket/lanes.d.ts +20 -0
- package/dist/socket/lanes.d.ts.map +1 -0
- package/dist/socket/lanes.js +77 -0
- package/dist/socket/reads.d.ts +10 -0
- package/dist/socket/reads.d.ts.map +1 -0
- package/dist/socket/reads.js +31 -0
- package/dist/socket/session.d.ts +38 -0
- package/dist/socket/session.d.ts.map +1 -0
- package/dist/socket/session.js +23 -0
- package/dist/socket.d.ts +67 -0
- package/dist/socket.d.ts.map +1 -0
- package/dist/socket.js +170 -0
- package/dist/source.d.ts +61 -0
- package/dist/source.d.ts.map +1 -0
- package/dist/source.js +82 -0
- package/dist/status.d.ts +5 -2
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +3 -7
- package/dist/store/installs.d.ts +30 -0
- package/dist/store/installs.d.ts.map +1 -0
- package/dist/store/installs.js +34 -0
- package/dist/store/readiness.d.ts +10 -0
- package/dist/store/readiness.d.ts.map +1 -0
- package/dist/store/readiness.js +52 -0
- package/dist/store/records.d.ts +212 -0
- package/dist/store/records.d.ts.map +1 -0
- package/dist/store/records.js +430 -0
- package/dist/store/room-held.d.ts +8 -0
- package/dist/store/room-held.d.ts.map +1 -0
- package/dist/store/room-held.js +17 -0
- package/dist/store/space.d.ts +11 -0
- package/dist/store/space.d.ts.map +1 -0
- package/dist/store/space.js +41 -0
- package/dist/store/watchers.d.ts +17 -0
- package/dist/store/watchers.d.ts.map +1 -0
- package/dist/store/watchers.js +56 -0
- package/dist/store/writes.d.ts +24 -0
- package/dist/store/writes.d.ts.map +1 -0
- package/dist/store/writes.js +125 -0
- package/dist/store.d.ts +109 -117
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +155 -494
- package/dist/stored.d.ts +156 -0
- package/dist/stored.d.ts.map +1 -0
- package/dist/stored.js +649 -0
- package/dist/surface.d.ts +88 -0
- package/dist/surface.d.ts.map +1 -0
- package/dist/surface.js +223 -0
- package/dist/sync.d.ts +19 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +521 -0
- package/dist/tables.d.ts +412 -0
- package/dist/tables.d.ts.map +1 -0
- package/dist/tables.js +737 -0
- package/dist/tallies.d.ts +18 -0
- package/dist/tallies.d.ts.map +1 -0
- package/dist/tallies.js +129 -0
- package/dist/transfer.d.ts +0 -5
- package/dist/transfer.d.ts.map +1 -1
- package/dist/turn.d.ts +9 -0
- package/dist/turn.d.ts.map +1 -0
- package/dist/turn.js +75 -0
- package/dist/validation.d.ts +29 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +104 -0
- package/dist/windows.d.ts +11 -0
- package/dist/windows.d.ts.map +1 -0
- package/dist/windows.js +16 -0
- package/dist/wire.d.ts +220 -34
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +73 -31
- package/package.json +27 -15
- package/AGENTS.md +0 -290
- package/dist/attachment.d.ts +0 -3
- package/dist/attachment.d.ts.map +0 -1
- package/dist/attachment.js +0 -8
- package/dist/chat/acts.d.ts +0 -34
- package/dist/chat/acts.d.ts.map +0 -1
- package/dist/chat/acts.js +0 -36
- package/dist/chat/messages.d.ts +0 -21
- package/dist/chat/messages.d.ts.map +0 -1
- package/dist/chat/messages.js +0 -151
- package/dist/chat/overlay.d.ts +0 -31
- package/dist/chat/overlay.d.ts.map +0 -1
- package/dist/chat/overlay.js +0 -97
- package/dist/chat/parts.d.ts +0 -57
- package/dist/chat/parts.d.ts.map +0 -1
- package/dist/chat/parts.js +0 -119
- package/dist/chat/process.d.ts +0 -20
- package/dist/chat/process.d.ts.map +0 -1
- package/dist/chat/process.js +0 -32
- package/dist/chat/provider.d.ts +0 -57
- package/dist/chat/provider.d.ts.map +0 -1
- package/dist/chat/provider.js +0 -637
- package/dist/chat/questions.d.ts.map +0 -1
- package/dist/chat/read.d.ts.map +0 -1
- package/dist/chat.d.ts +0 -7
- package/dist/chat.d.ts.map +0 -1
- package/dist/chat.js +0 -2
- package/dist/read-side.d.ts +0 -18
- package/dist/read-side.d.ts.map +0 -1
- package/dist/read-side.js +0 -433
package/dist/overlay.js
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
|
-
import { apply, parse, serialize } from '@agentshouse/mdmodel';
|
|
1
|
+
import { apply, create, frontmatterValue, parse, serialize, TYPE_FIELD, } from '@agentshouse/mdmodel';
|
|
2
|
+
import { definitionsAt } from './collection.js';
|
|
3
|
+
import { drafted, entriesIn, settling } from './shared.js';
|
|
4
|
+
import { ROW_WEIGHT } from './turn.js';
|
|
5
|
+
export function* acceptedBinaries(files) {
|
|
6
|
+
for (const [path, file] of entriesIn(files))
|
|
7
|
+
yield [path, { state: 'accepted', ...file }];
|
|
8
|
+
}
|
|
9
|
+
export function sameBinary(left, right) {
|
|
10
|
+
if (left === undefined || right === undefined)
|
|
11
|
+
return left === right;
|
|
12
|
+
return (left.state === right.state &&
|
|
13
|
+
left.byteLength === right.byteLength &&
|
|
14
|
+
left.mediaType === right.mediaType &&
|
|
15
|
+
left.sha256 === right.sha256 &&
|
|
16
|
+
(left.state === 'accepted'
|
|
17
|
+
? right.state === 'accepted'
|
|
18
|
+
: right.state === 'pending' && left.localId === right.localId));
|
|
19
|
+
}
|
|
2
20
|
export function sameChange(left, right) {
|
|
3
21
|
if (left === undefined || right === undefined)
|
|
4
22
|
return left === right;
|
|
@@ -7,11 +25,13 @@ export function sameChange(left, right) {
|
|
|
7
25
|
left.author?.id === right.author?.id &&
|
|
8
26
|
left.author?.name === right.author?.name);
|
|
9
27
|
}
|
|
10
|
-
|
|
28
|
+
function isPart(change) {
|
|
29
|
+
return change.kind === 'field' || change.kind === 'section' || change.kind === 'preamble';
|
|
30
|
+
}
|
|
11
31
|
function at(path, name) {
|
|
12
32
|
return `${path} ${name}`;
|
|
13
33
|
}
|
|
14
|
-
function priorsOf(preconditions) {
|
|
34
|
+
function* priorsOf(preconditions) {
|
|
15
35
|
const fields = new Map();
|
|
16
36
|
const sections = new Map();
|
|
17
37
|
const preambles = new Map();
|
|
@@ -25,6 +45,7 @@ function priorsOf(preconditions) {
|
|
|
25
45
|
if (precondition.kind === 'preamble') {
|
|
26
46
|
preambles.set(precondition.path, precondition.value);
|
|
27
47
|
}
|
|
48
|
+
yield ROW_WEIGHT;
|
|
28
49
|
}
|
|
29
50
|
return {
|
|
30
51
|
field: (path, name) => fields.get(at(path, name)),
|
|
@@ -32,59 +53,67 @@ function priorsOf(preconditions) {
|
|
|
32
53
|
preamble: (path) => preambles.get(path) ?? '',
|
|
33
54
|
};
|
|
34
55
|
}
|
|
35
|
-
function compose(fields, sections) {
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
56
|
+
function compose(path, fields, sections, composition) {
|
|
57
|
+
const declared = fields[TYPE_FIELD];
|
|
58
|
+
const type = typeof declared === 'string' && declared !== '' ? declared : undefined;
|
|
59
|
+
const definition = definitionsAt(composition, path)(type);
|
|
60
|
+
const created = create(type, definition);
|
|
61
|
+
const next = apply(created, [
|
|
62
|
+
...Object.entries(fields).flatMap(([name, value]) => (name !== TYPE_FIELD || type === undefined) && frontmatterValue(value)
|
|
63
|
+
? [{ kind: 'field', name, value, prior: undefined }]
|
|
64
|
+
: []),
|
|
65
|
+
...Object.entries(sections).map(([name, value]) => ({
|
|
66
|
+
kind: 'section',
|
|
67
|
+
name,
|
|
68
|
+
value,
|
|
69
|
+
prior: undefined,
|
|
70
|
+
})),
|
|
71
|
+
], definition);
|
|
72
|
+
return serialize(next.outcome === 'applied' ? next.document : created);
|
|
50
73
|
}
|
|
51
|
-
function edited(
|
|
52
|
-
if (change.kind === 'field')
|
|
53
|
-
return
|
|
74
|
+
function edited(change, priors) {
|
|
75
|
+
if (change.kind === 'field')
|
|
76
|
+
return {
|
|
54
77
|
kind: 'field',
|
|
55
78
|
name: change.name,
|
|
56
79
|
value: change.value,
|
|
57
80
|
prior: priors.field(change.path, change.name),
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
kind: 'preamble',
|
|
63
|
-
value: change.value,
|
|
64
|
-
prior: priors.preamble(change.path),
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
if (change.kind !== 'section')
|
|
68
|
-
return null;
|
|
69
|
-
return apply(document, {
|
|
81
|
+
};
|
|
82
|
+
if (change.kind === 'preamble')
|
|
83
|
+
return { kind: 'preamble', value: change.value, prior: priors.preamble(change.path) };
|
|
84
|
+
return {
|
|
70
85
|
kind: 'section',
|
|
71
86
|
name: change.name,
|
|
72
87
|
value: change.value,
|
|
73
88
|
prior: priors.section(change.path, change.name),
|
|
74
|
-
}
|
|
89
|
+
};
|
|
75
90
|
}
|
|
76
|
-
function edit(staged,
|
|
77
|
-
const
|
|
91
|
+
function edit(staged, changes, priors, composition) {
|
|
92
|
+
const path = changes[0].path;
|
|
93
|
+
delete staged.revisions[path];
|
|
94
|
+
const text = staged.documents[path];
|
|
78
95
|
if (text === undefined)
|
|
79
|
-
return
|
|
80
|
-
const
|
|
96
|
+
return changes.length;
|
|
97
|
+
const definitions = definitionsAt(composition, path);
|
|
98
|
+
const parsed = parse(text, path, definitions);
|
|
81
99
|
if (!parsed.ok)
|
|
82
|
-
return
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
100
|
+
return changes.length;
|
|
101
|
+
const definition = definitions(parsed.document.type);
|
|
102
|
+
const wanted = changes.map((change) => edited(change, priors));
|
|
103
|
+
const first = apply(parsed.document, wanted, definition);
|
|
104
|
+
if (first.outcome === 'refuse')
|
|
105
|
+
return changes.length;
|
|
106
|
+
if (first.outcome === 'applied') {
|
|
107
|
+
staged.documents[path] = serialize(first.document);
|
|
108
|
+
return 0;
|
|
109
|
+
}
|
|
110
|
+
const stale = new Set(first.stale);
|
|
111
|
+
const kept = wanted.filter((_, at) => !stale.has(at));
|
|
112
|
+
const rest = apply(parsed.document, kept, definition);
|
|
113
|
+
if (rest.outcome !== 'applied')
|
|
114
|
+
return changes.length;
|
|
115
|
+
staged.documents[path] = serialize(rest.document);
|
|
116
|
+
return first.stale.length;
|
|
88
117
|
}
|
|
89
118
|
function relocate(staged, from, to) {
|
|
90
119
|
const text = staged.documents[from];
|
|
@@ -92,8 +121,9 @@ function relocate(staged, from, to) {
|
|
|
92
121
|
delete staged.documents[from];
|
|
93
122
|
staged.documents[to] = text;
|
|
94
123
|
}
|
|
95
|
-
else if (staged.
|
|
96
|
-
staged.
|
|
124
|
+
else if (staged.binaries[from] !== undefined) {
|
|
125
|
+
staged.binaries[to] = staged.binaries[from];
|
|
126
|
+
delete staged.binaries[from];
|
|
97
127
|
}
|
|
98
128
|
else {
|
|
99
129
|
return false;
|
|
@@ -103,185 +133,129 @@ function relocate(staged, from, to) {
|
|
|
103
133
|
}
|
|
104
134
|
function moveHead(heads, from, to) {
|
|
105
135
|
const revision = heads.revisions[from];
|
|
136
|
+
const fileId = heads.fileIds[from];
|
|
137
|
+
const created = heads.created[from];
|
|
106
138
|
const change = heads.changes[from];
|
|
107
139
|
delete heads.revisions[from];
|
|
140
|
+
delete heads.fileIds[from];
|
|
141
|
+
delete heads.created[from];
|
|
108
142
|
delete heads.changes[from];
|
|
143
|
+
delete heads.fileIds[to];
|
|
144
|
+
delete heads.created[to];
|
|
109
145
|
delete heads.changes[to];
|
|
110
146
|
if (revision !== undefined)
|
|
111
147
|
heads.revisions[to] = revision;
|
|
148
|
+
if (fileId !== undefined)
|
|
149
|
+
heads.fileIds[to] = fileId;
|
|
150
|
+
if (created !== undefined)
|
|
151
|
+
heads.created[to] = created;
|
|
112
152
|
if (change !== undefined)
|
|
113
153
|
heads.changes[to] = change;
|
|
114
154
|
}
|
|
115
155
|
function erase(staged, path) {
|
|
116
156
|
delete staged.documents[path];
|
|
117
157
|
delete staged.revisions[path];
|
|
158
|
+
delete staged.fileIds[path];
|
|
159
|
+
delete staged.created[path];
|
|
118
160
|
delete staged.changes[path];
|
|
119
|
-
staged.
|
|
161
|
+
delete staged.binaries[path];
|
|
120
162
|
}
|
|
121
|
-
function stage(staged, change,
|
|
122
|
-
if (change.kind === 'field' || change.kind === 'section' || change.kind === 'preamble') {
|
|
123
|
-
return edit(staged, change, priors);
|
|
124
|
-
}
|
|
163
|
+
function stage(staged, change, composition) {
|
|
125
164
|
if (change.kind === 'create') {
|
|
126
165
|
staged.documents[change.path] =
|
|
127
|
-
'content' in change
|
|
166
|
+
'content' in change
|
|
167
|
+
? change.content
|
|
168
|
+
: compose(change.path, change.fields, change.sections, composition);
|
|
169
|
+
delete staged.fileIds[change.path];
|
|
170
|
+
delete staged.created[change.path];
|
|
128
171
|
delete staged.changes[change.path];
|
|
129
172
|
return true;
|
|
130
173
|
}
|
|
131
174
|
if (change.kind === 'replace') {
|
|
175
|
+
delete staged.revisions[change.path];
|
|
132
176
|
if (staged.documents[change.path] === undefined)
|
|
133
177
|
return false;
|
|
134
178
|
staged.documents[change.path] = change.content;
|
|
135
179
|
return true;
|
|
136
180
|
}
|
|
181
|
+
if (change.kind === 'binary') {
|
|
182
|
+
if (staged.documents[change.path] !== undefined)
|
|
183
|
+
return false;
|
|
184
|
+
staged.binaries[change.path] = {
|
|
185
|
+
state: 'pending',
|
|
186
|
+
localId: change.localId,
|
|
187
|
+
byteLength: change.byteLength,
|
|
188
|
+
mediaType: change.mediaType,
|
|
189
|
+
sha256: change.sha256,
|
|
190
|
+
};
|
|
191
|
+
delete staged.revisions[change.path];
|
|
192
|
+
delete staged.changes[change.path];
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
137
195
|
if (change.kind === 'move') {
|
|
138
196
|
return relocate(staged, change.path, change.to);
|
|
139
197
|
}
|
|
198
|
+
if (change.kind === 'arrival') {
|
|
199
|
+
erase(staged, change.path);
|
|
200
|
+
if ('content' in change)
|
|
201
|
+
staged.documents[change.path] = change.content;
|
|
202
|
+
else
|
|
203
|
+
staged.binaries[change.path] = { state: 'accepted', ...change.binary };
|
|
204
|
+
arrive(staged, change);
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
140
207
|
erase(staged, change.path);
|
|
141
208
|
return true;
|
|
142
209
|
}
|
|
143
|
-
|
|
210
|
+
function arrive(heads, change) {
|
|
211
|
+
if (change.revision !== undefined)
|
|
212
|
+
heads.revisions[change.path] = change.revision;
|
|
213
|
+
if (change.fileId !== undefined)
|
|
214
|
+
heads.fileIds[change.path] = change.fileId;
|
|
215
|
+
if (change.created !== undefined)
|
|
216
|
+
heads.created[change.path] = change.created;
|
|
217
|
+
if (change.change !== undefined)
|
|
218
|
+
heads.changes[change.path] = change.change;
|
|
219
|
+
}
|
|
220
|
+
export function* overlaying(base, queue, composition, unapplied) {
|
|
144
221
|
const staged = {
|
|
145
|
-
documents:
|
|
146
|
-
|
|
147
|
-
revisions:
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
const priors = priorsOf(batch.preconditions);
|
|
152
|
-
for (const change of batch.changes) {
|
|
153
|
-
if (!stage(staged, change, priors))
|
|
154
|
-
unapplied?.();
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
return {
|
|
158
|
-
documents: staged.documents,
|
|
159
|
-
binaryTargets: [...staged.binaryTargets].sort(),
|
|
160
|
-
revisions: staged.revisions,
|
|
161
|
-
changes: staged.changes,
|
|
222
|
+
documents: drafted(base.documents),
|
|
223
|
+
binaries: drafted(base.binaries),
|
|
224
|
+
revisions: drafted(base.revisions),
|
|
225
|
+
fileIds: drafted(base.fileIds),
|
|
226
|
+
created: drafted(base.created),
|
|
227
|
+
changes: drafted(base.changes),
|
|
162
228
|
};
|
|
163
|
-
}
|
|
164
|
-
function pathsOf(batch) {
|
|
165
|
-
return batch.changes.flatMap((change) => change.kind === 'move' ? [change.path, change.to] : [change.path]);
|
|
166
|
-
}
|
|
167
|
-
export function sameLayerText(left, right) {
|
|
168
|
-
const paths = Object.keys(left.documents);
|
|
169
|
-
return (paths.length === Object.keys(right.documents).length &&
|
|
170
|
-
paths.every((path) => left.documents[path] === right.documents[path]) &&
|
|
171
|
-
left.binaryTargets.length === right.binaryTargets.length &&
|
|
172
|
-
left.binaryTargets.every((path) => right.binaryTargets.includes(path)));
|
|
173
|
-
}
|
|
174
|
-
function replayHeads(base, queue) {
|
|
175
|
-
const heads = { revisions: { ...base.revisions }, changes: { ...base.changes } };
|
|
176
229
|
for (const batch of queue) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}
|
|
185
|
-
else if (change.kind === 'move') {
|
|
186
|
-
moveHead(heads, change.path, change.to);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
return heads;
|
|
191
|
-
}
|
|
192
|
-
export function overlayChanged(base, queue, previousBase, previousQueue, previousVisible) {
|
|
193
|
-
const before = previousQueue.map((batch) => JSON.stringify(batch));
|
|
194
|
-
const after = queue.map((batch) => JSON.stringify(batch));
|
|
195
|
-
if (before.length === after.length &&
|
|
196
|
-
before.every((id, index) => id === after[index]) &&
|
|
197
|
-
sameLayerText(base, previousBase)) {
|
|
198
|
-
return {
|
|
199
|
-
documents: previousVisible.documents,
|
|
200
|
-
binaryTargets: previousVisible.binaryTargets,
|
|
201
|
-
...replayHeads(base, queue),
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
const affected = new Set();
|
|
205
|
-
const paths = new Set([
|
|
206
|
-
...Object.keys(base.documents),
|
|
207
|
-
...Object.keys(previousBase.documents),
|
|
208
|
-
...Object.keys(base.revisions),
|
|
209
|
-
...Object.keys(previousBase.revisions),
|
|
210
|
-
...Object.keys(base.changes),
|
|
211
|
-
...Object.keys(previousBase.changes),
|
|
212
|
-
...base.binaryTargets,
|
|
213
|
-
...previousBase.binaryTargets,
|
|
214
|
-
]);
|
|
215
|
-
for (const path of paths) {
|
|
216
|
-
if (base.documents[path] !== previousBase.documents[path] ||
|
|
217
|
-
base.revisions[path] !== previousBase.revisions[path] ||
|
|
218
|
-
!sameChange(base.changes[path], previousBase.changes[path]) ||
|
|
219
|
-
base.binaryTargets.includes(path) !== previousBase.binaryTargets.includes(path))
|
|
220
|
-
affected.add(path);
|
|
221
|
-
}
|
|
222
|
-
const oldIds = new Set(before);
|
|
223
|
-
const newIds = new Set(after);
|
|
224
|
-
for (const batch of previousQueue) {
|
|
225
|
-
if (!newIds.has(JSON.stringify(batch)))
|
|
226
|
-
for (const path of pathsOf(batch))
|
|
227
|
-
affected.add(path);
|
|
228
|
-
}
|
|
229
|
-
for (const batch of queue) {
|
|
230
|
-
if (!oldIds.has(JSON.stringify(batch)))
|
|
231
|
-
for (const path of pathsOf(batch))
|
|
232
|
-
affected.add(path);
|
|
233
|
-
}
|
|
234
|
-
let expanded = true;
|
|
235
|
-
while (expanded) {
|
|
236
|
-
expanded = false;
|
|
237
|
-
for (const batch of queue) {
|
|
238
|
-
const touched = pathsOf(batch);
|
|
239
|
-
if (!touched.some((path) => affected.has(path)))
|
|
230
|
+
const priors = yield* priorsOf(batch.preconditions);
|
|
231
|
+
for (let index = 0; index < batch.changes.length; index += 1) {
|
|
232
|
+
const change = batch.changes[index];
|
|
233
|
+
if (!isPart(change)) {
|
|
234
|
+
if (!stage(staged, change, composition))
|
|
235
|
+
unapplied?.();
|
|
236
|
+
yield ROW_WEIGHT;
|
|
240
237
|
continue;
|
|
241
|
-
for (const path of touched) {
|
|
242
|
-
if (affected.has(path))
|
|
243
|
-
continue;
|
|
244
|
-
affected.add(path);
|
|
245
|
-
expanded = true;
|
|
246
238
|
}
|
|
239
|
+
const run = [change];
|
|
240
|
+
while (index + 1 < batch.changes.length) {
|
|
241
|
+
const next = batch.changes[index + 1];
|
|
242
|
+
if (!isPart(next) || next.path !== change.path)
|
|
243
|
+
break;
|
|
244
|
+
run.push(next);
|
|
245
|
+
index += 1;
|
|
246
|
+
}
|
|
247
|
+
const text = staged.documents[change.path] ?? '';
|
|
248
|
+
for (let left = edit(staged, run, priors, composition); left > 0; left -= 1)
|
|
249
|
+
unapplied?.();
|
|
250
|
+
yield ROW_WEIGHT + text.length;
|
|
247
251
|
}
|
|
248
252
|
}
|
|
249
|
-
const documents = {};
|
|
250
|
-
const revisions = {};
|
|
251
|
-
const changes = {};
|
|
252
|
-
for (const path of affected) {
|
|
253
|
-
if (base.documents[path] !== undefined)
|
|
254
|
-
documents[path] = base.documents[path];
|
|
255
|
-
if (base.revisions[path] !== undefined)
|
|
256
|
-
revisions[path] = base.revisions[path];
|
|
257
|
-
if (base.changes[path] !== undefined)
|
|
258
|
-
changes[path] = base.changes[path];
|
|
259
|
-
}
|
|
260
|
-
const staged = overlay({
|
|
261
|
-
documents,
|
|
262
|
-
revisions,
|
|
263
|
-
changes,
|
|
264
|
-
binaryTargets: base.binaryTargets.filter((path) => affected.has(path)),
|
|
265
|
-
}, queue.filter((batch) => pathsOf(batch).some((path) => affected.has(path))));
|
|
266
|
-
const mergedDocuments = { ...previousVisible.documents };
|
|
267
|
-
const mergedRevisions = { ...previousVisible.revisions };
|
|
268
|
-
const mergedChanges = { ...previousVisible.changes };
|
|
269
|
-
const mergedTargets = new Set(previousVisible.binaryTargets);
|
|
270
|
-
for (const path of affected) {
|
|
271
|
-
delete mergedDocuments[path];
|
|
272
|
-
delete mergedRevisions[path];
|
|
273
|
-
delete mergedChanges[path];
|
|
274
|
-
mergedTargets.delete(path);
|
|
275
|
-
}
|
|
276
|
-
Object.assign(mergedDocuments, staged.documents);
|
|
277
|
-
Object.assign(mergedRevisions, staged.revisions);
|
|
278
|
-
Object.assign(mergedChanges, staged.changes);
|
|
279
|
-
for (const path of staged.binaryTargets)
|
|
280
|
-
mergedTargets.add(path);
|
|
281
253
|
return {
|
|
282
|
-
documents:
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
254
|
+
documents: yield* settling(staged.documents),
|
|
255
|
+
binaries: yield* settling(staged.binaries),
|
|
256
|
+
revisions: yield* settling(staged.revisions),
|
|
257
|
+
fileIds: yield* settling(staged.fileIds),
|
|
258
|
+
created: yield* settling(staged.created),
|
|
259
|
+
changes: yield* settling(staged.changes),
|
|
286
260
|
};
|
|
287
261
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const PAGE_METADATA_WORDS: {
|
|
2
|
+
readonly heading: 'Page metadata';
|
|
3
|
+
readonly app: 'App';
|
|
4
|
+
readonly address: 'Address';
|
|
5
|
+
readonly queries: 'Local Queries';
|
|
6
|
+
};
|
|
7
|
+
export declare function pageMetadataBlock(app: string, address: string, queries: readonly unknown[]): string;
|
|
8
|
+
//# sourceMappingURL=page-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-metadata.d.ts","sourceRoot":"","sources":["../src/page-metadata.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;aAC9B,OAAO,EAAE,eAAe;aACxB,GAAG,EAAE,KAAK;aACV,OAAO,EAAE,SAAS;aAClB,OAAO,EAAE,eAAe;CAChB,CAAC;AAIX,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,OAAO,EAAE,GAC1B,MAAM,CAUR"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { queryKey } from '@agentshouse/mdmodel';
|
|
2
|
+
export const PAGE_METADATA_WORDS = {
|
|
3
|
+
heading: 'Page metadata',
|
|
4
|
+
app: 'App',
|
|
5
|
+
address: 'Address',
|
|
6
|
+
queries: 'Local Queries',
|
|
7
|
+
};
|
|
8
|
+
const PAGE_METADATA_QUERIES = 10;
|
|
9
|
+
export function pageMetadataBlock(app, address, queries) {
|
|
10
|
+
const held = [...new Set(queries.map(queryKey))];
|
|
11
|
+
return [
|
|
12
|
+
PAGE_METADATA_WORDS.heading,
|
|
13
|
+
`${PAGE_METADATA_WORDS.app}: ${app}`,
|
|
14
|
+
`${PAGE_METADATA_WORDS.address}: ${address}`,
|
|
15
|
+
...(held.length === 0 || held.length > PAGE_METADATA_QUERIES
|
|
16
|
+
? []
|
|
17
|
+
: [`${PAGE_METADATA_WORDS.queries}:`, ...held]),
|
|
18
|
+
].join('\n');
|
|
19
|
+
}
|
package/dist/parts.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Part, type SessionState } from '@agentshouse/session-content';
|
|
2
|
+
export type ChatWork = {
|
|
3
|
+
readonly kind: 'job' | 'schedule' | 'subagent';
|
|
4
|
+
readonly title: string;
|
|
5
|
+
readonly next: string | null;
|
|
6
|
+
readonly activity: string | null;
|
|
7
|
+
};
|
|
8
|
+
export declare function counted(count: number): string;
|
|
9
|
+
export declare function runningLine(parts: readonly Part[]): string | null;
|
|
10
|
+
export declare function workOf(state: SessionState | null): readonly ChatWork[];
|
|
11
|
+
//# sourceMappingURL=parts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../src/parts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGnF,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,MAAM,GAAG,IAAI,CAMjE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,QAAQ,EAAE,CAOtE"}
|
package/dist/parts.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { isOwn } from '@agentshouse/session-content';
|
|
2
|
+
import { excerpt } from './read.js';
|
|
3
|
+
export function counted(count) {
|
|
4
|
+
return count === 1 ? '1 command' : `${count} commands`;
|
|
5
|
+
}
|
|
6
|
+
export function runningLine(parts) {
|
|
7
|
+
const newest = parts.filter(isOwn).reverse();
|
|
8
|
+
const note = newest.find((part) => part.type === 'text' && part.text.trim() !== '');
|
|
9
|
+
if (note?.type === 'text')
|
|
10
|
+
return excerpt(note.text);
|
|
11
|
+
const call = newest.find((part) => part.type === 'call');
|
|
12
|
+
return call?.type === 'call' && call.line !== '' ? call.line : null;
|
|
13
|
+
}
|
|
14
|
+
export function workOf(state) {
|
|
15
|
+
return (state?.running ?? []).map(({ kind, label, progress, next }) => ({
|
|
16
|
+
kind: kind === 'subagent' || kind === 'schedule' ? kind : 'job',
|
|
17
|
+
title: label,
|
|
18
|
+
next,
|
|
19
|
+
activity: progress,
|
|
20
|
+
}));
|
|
21
|
+
}
|
package/dist/paths.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export declare function normalize(path: string): string | null;
|
|
2
2
|
export declare function beneath(prefix: string, path: string): boolean;
|
|
3
3
|
export declare function covered(prefixes: readonly string[], path: string): boolean;
|
|
4
|
+
export declare function authoredAt(patterns: readonly string[], path: string): boolean;
|
|
5
|
+
export declare function ancestors(path: string): readonly string[];
|
|
4
6
|
//# sourceMappingURL=paths.d.ts.map
|
package/dist/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYrD;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAK1E;AAwBD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAGzD"}
|
package/dist/paths.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isDocumentPath } from '@agentshouse/mdmodel';
|
|
1
2
|
export function normalize(path) {
|
|
2
3
|
const parts = [];
|
|
3
4
|
for (const part of path.split('/')) {
|
|
@@ -22,3 +23,28 @@ export function covered(prefixes, path) {
|
|
|
22
23
|
return normalized !== null && (normalized === '' || beneath(normalized, path));
|
|
23
24
|
});
|
|
24
25
|
}
|
|
26
|
+
function named(pattern, name) {
|
|
27
|
+
const star = pattern.indexOf('*');
|
|
28
|
+
if (star === -1)
|
|
29
|
+
return pattern === name;
|
|
30
|
+
const before = pattern.slice(0, star);
|
|
31
|
+
const after = pattern.slice(star + 1);
|
|
32
|
+
return (name.length > before.length + after.length && name.startsWith(before) && name.endsWith(after));
|
|
33
|
+
}
|
|
34
|
+
function matched(pattern, path) {
|
|
35
|
+
if (pattern === '/')
|
|
36
|
+
return isDocumentPath(path);
|
|
37
|
+
const wanted = pattern.split('/');
|
|
38
|
+
const names = path.split('/');
|
|
39
|
+
const open = wanted.at(-1) === '**';
|
|
40
|
+
const fixed = open ? wanted.slice(0, -1) : wanted;
|
|
41
|
+
return ((open ? names.length > fixed.length : names.length === fixed.length) &&
|
|
42
|
+
fixed.every((one, at) => named(one, names[at])));
|
|
43
|
+
}
|
|
44
|
+
export function authoredAt(patterns, path) {
|
|
45
|
+
return patterns.some((pattern) => matched(pattern, path));
|
|
46
|
+
}
|
|
47
|
+
export function ancestors(path) {
|
|
48
|
+
const parts = path.split('/');
|
|
49
|
+
return parts.slice(1).map((_, at) => parts.slice(0, at + 1).join('/'));
|
|
50
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { PlanReach } from './query.js';
|
|
2
|
+
import { type PortReach } from './reach.js';
|
|
3
|
+
import { type CodeAvailability, type ConnectionAvailability, type Readiness } from './readiness.js';
|
|
4
|
+
import type { Runtime } from './runtime.js';
|
|
5
|
+
export type ReadinessPort = {
|
|
6
|
+
readonly target: string;
|
|
7
|
+
readonly code: CodeAvailability;
|
|
8
|
+
};
|
|
9
|
+
export type ReadinessWatch = {
|
|
10
|
+
readonly port: ReadinessPort;
|
|
11
|
+
readonly reach: PortReach | null;
|
|
12
|
+
readonly deliver: (readiness: Readiness) => void;
|
|
13
|
+
};
|
|
14
|
+
export declare function prepare(runtime: Runtime, locators?: readonly string[]): void;
|
|
15
|
+
export declare function roomsOfReach(reach: PlanReach): ReadonlySet<string>;
|
|
16
|
+
export declare function connectionNow(runtime: Runtime): Promise<ConnectionAvailability>;
|
|
17
|
+
export declare function deliverOwedReadiness(runtime: Runtime, owed: readonly ReadinessWatch[]): Promise<void>;
|
|
18
|
+
export declare function watchReadiness({ store }: Runtime, port: ReadinessPort, reach: PortReach | null, deliver: (readiness: Readiness) => void): () => void;
|
|
19
|
+
export declare function filled(runtime: Runtime): void;
|
|
20
|
+
//# sourceMappingURL=preparation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preparation.d.ts","sourceRoot":"","sources":["../src/preparation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAE3B,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAK5C,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;CAClD,CAAC;AAwCF,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,GAAE,SAAS,MAAM,EAAO,QA+BzE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAElE;AAgDD,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAMrF;AAoFD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,cAAc,EAAE,iBAI3F;AAED,wBAAgB,cAAc,CAC5B,EAAE,KAAK,EAAE,EAAE,OAAO,EAClB,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,GACtC,MAAM,IAAI,CAQZ;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,QAMtC"}
|