@agentshouse/mdruntime 0.1.0-cc294e382554d → 0.1.0-cc2e934017fb1
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 +19 -16
- 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 +148 -122
- 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/binary.d.ts +0 -5
- package/dist/binary.d.ts.map +1 -1
- package/dist/binary.js +1 -1
- package/dist/bootstrap.d.ts +30 -11
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +309 -113
- 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 +10 -16
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +17 -94
- package/dist/change.d.ts +32 -1
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +14 -3
- 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 +33 -19
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +108 -17
- package/dist/collection.d.ts +29 -22
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +47 -354
- 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 +7 -137
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +105 -3623
- package/dist/context.d.ts +2 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/{chat/context.js → context.js} +1 -4
- 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 +56 -46
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +964 -828
- 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 +16 -4
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +5 -0
- package/dist/entry.d.ts +5 -2
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +33 -29
- 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 +20 -8
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +99 -41
- package/dist/identity.d.ts +0 -2
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +0 -6
- package/dist/index.d.ts +35 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -2
- 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 +17 -7
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +257 -111
- 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 +8 -11
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +6 -23
- 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 +15 -2
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +98 -14
- 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 +44 -9
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +41 -2
- package/dist/overlay.d.ts +4 -5
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +65 -169
- 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 +21 -207
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +3 -493
- 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 +20 -9
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +300 -106
- package/dist/react.d.ts +14 -2
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +10 -1
- 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 +13 -17
- package/dist/readiness.d.ts.map +1 -1
- package/dist/readiness.js +2 -8
- package/dist/reads.d.ts +36 -10
- package/dist/reads.d.ts.map +1 -1
- package/dist/reads.js +159 -83
- package/dist/recovery.d.ts +3 -2
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +43 -8
- package/dist/refresh.d.ts +18 -15
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +145 -79
- 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 +50 -39
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +319 -208
- package/dist/room-draft.d.ts +28 -11
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +185 -113
- 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 +31 -31
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +60 -125
- 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 +42 -50
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +571 -188
- 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 +12 -95
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +10 -266
- package/dist/seed.d.ts +11 -2
- package/dist/seed.d.ts.map +1 -1
- package/dist/seed.js +71 -1
- package/dist/shared.d.ts +4 -9
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +61 -120
- 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 +4 -5
- 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 -166
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +153 -797
- 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 +1 -1
- package/dist/turn.d.ts.map +1 -1
- package/dist/turn.js +31 -20
- 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 +1 -16
- package/dist/windows.d.ts.map +1 -1
- package/dist/windows.js +2 -79
- package/dist/wire.d.ts +72 -8
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +24 -5
- package/package.json +19 -19
- package/AGENTS.md +0 -299
- package/dist/chat/acts.d.ts +0 -33
- package/dist/chat/acts.d.ts.map +0 -1
- package/dist/chat/acts.js +0 -36
- package/dist/chat/context.d.ts +0 -3
- package/dist/chat/context.d.ts.map +0 -1
- package/dist/chat/earlier.d.ts +0 -10
- package/dist/chat/earlier.d.ts.map +0 -1
- package/dist/chat/earlier.js +0 -54
- package/dist/chat/input.d.ts +0 -9
- package/dist/chat/input.d.ts.map +0 -1
- package/dist/chat/input.js +0 -99
- package/dist/chat/kit.d.ts +0 -61
- package/dist/chat/kit.d.ts.map +0 -1
- package/dist/chat/kit.js +0 -123
- package/dist/chat/lasting.d.ts +0 -6
- package/dist/chat/lasting.d.ts.map +0 -1
- package/dist/chat/lasting.js +0 -19
- package/dist/chat/list.d.ts +0 -28
- package/dist/chat/list.d.ts.map +0 -1
- package/dist/chat/list.js +0 -103
- package/dist/chat/markdown.d.ts +0 -21
- package/dist/chat/markdown.d.ts.map +0 -1
- package/dist/chat/markdown.js +0 -246
- package/dist/chat/message.d.ts +0 -7
- package/dist/chat/message.d.ts.map +0 -1
- package/dist/chat/message.js +0 -202
- package/dist/chat/messages.d.ts +0 -24
- package/dist/chat/messages.d.ts.map +0 -1
- package/dist/chat/messages.js +0 -187
- package/dist/chat/name.d.ts +0 -6
- package/dist/chat/name.d.ts.map +0 -1
- package/dist/chat/name.js +0 -37
- package/dist/chat/opened.d.ts +0 -11
- package/dist/chat/opened.d.ts.map +0 -1
- package/dist/chat/opened.js +0 -17
- package/dist/chat/overlay.d.ts +0 -32
- package/dist/chat/overlay.d.ts.map +0 -1
- package/dist/chat/overlay.js +0 -107
- 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/pieces.d.ts +0 -62
- package/dist/chat/pieces.d.ts.map +0 -1
- package/dist/chat/pieces.js +0 -1110
- 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 -64
- package/dist/chat/provider.d.ts.map +0 -1
- package/dist/chat/provider.js +0 -638
- package/dist/chat/question.d.ts +0 -9
- package/dist/chat/question.d.ts.map +0 -1
- package/dist/chat/question.js +0 -69
- package/dist/chat/questions.d.ts.map +0 -1
- package/dist/chat/read.d.ts.map +0 -1
- package/dist/chat/ready.d.ts +0 -34
- package/dist/chat/ready.d.ts.map +0 -1
- package/dist/chat/ready.js +0 -91
- package/dist/chat/steady.d.ts +0 -3
- package/dist/chat/steady.d.ts.map +0 -1
- package/dist/chat/steady.js +0 -26
- package/dist/chat/style.d.ts +0 -4
- package/dist/chat/style.d.ts.map +0 -1
- package/dist/chat/style.js +0 -302
- package/dist/chat.d.ts +0 -14
- package/dist/chat.d.ts.map +0 -1
- package/dist/chat.js +0 -8
- package/dist/fence.d.ts +0 -6
- package/dist/fence.d.ts.map +0 -1
- package/dist/fence.js +0 -10
- package/dist/read-side.d.ts +0 -27
- package/dist/read-side.d.ts.map +0 -1
- package/dist/read-side.js +0 -826
package/dist/client.js
CHANGED
|
@@ -1,12 +1,31 @@
|
|
|
1
|
+
import { shownBy } from './media.js';
|
|
2
|
+
import { pageMetadataBlock } from './page-metadata.js';
|
|
1
3
|
import { observed } from './observation.js';
|
|
2
4
|
import { runtimeError } from './failure.js';
|
|
3
|
-
import {
|
|
5
|
+
import { AUTHORIZATION_ENDED, PORT_CLOSED, wireAnswer, } from './wire.js';
|
|
4
6
|
// React renders an arrived value in a later task and opens what that render observes as it commits, so this many frames opening nothing mean the page drew what it observes.
|
|
5
7
|
const SETTLED_FRAMES = 2;
|
|
8
|
+
// A browser reads a download's address only after the click that hands it returns, so a copy's address is released a minute later.
|
|
9
|
+
const HANDED_COPY_MS = 60_000;
|
|
10
|
+
const PAGE = /\.html?$/iu;
|
|
11
|
+
const STARTED = { kind: 'started' };
|
|
12
|
+
const BLOCKED = {
|
|
13
|
+
kind: 'blocked',
|
|
14
|
+
code: 'popup-blocked',
|
|
15
|
+
fields: {},
|
|
16
|
+
retryable: true,
|
|
17
|
+
};
|
|
18
|
+
function handed(url, name) {
|
|
19
|
+
const anchor = document.createElement('a');
|
|
20
|
+
anchor.href = url;
|
|
21
|
+
anchor.download = name;
|
|
22
|
+
anchor.click();
|
|
23
|
+
}
|
|
6
24
|
function refused(refusal) {
|
|
7
|
-
return runtimeError(refusal.code
|
|
25
|
+
return runtimeError(refusal.code);
|
|
8
26
|
}
|
|
9
|
-
|
|
27
|
+
const UNBUILT = () => Promise.resolve(null);
|
|
28
|
+
export function connectMdRuntime(port, buildFile = UNBUILT) {
|
|
10
29
|
let sequence = 0;
|
|
11
30
|
let refusal = null;
|
|
12
31
|
let ended = null;
|
|
@@ -18,13 +37,13 @@ export function connectMdRuntime(port) {
|
|
|
18
37
|
const send = (message) => {
|
|
19
38
|
port.postMessage(message);
|
|
20
39
|
};
|
|
21
|
-
function begin(id, topic, first) {
|
|
40
|
+
function begin(id, topic, input, first) {
|
|
22
41
|
const handle = observed(first, () => {
|
|
23
42
|
observations.delete(id);
|
|
24
43
|
if (refusal === null)
|
|
25
44
|
send({ kind: 'stop', id });
|
|
26
45
|
}, topic === 'query');
|
|
27
|
-
observations.set(id, { topic, handle });
|
|
46
|
+
observations.set(id, { topic, input, handle });
|
|
28
47
|
return handle.observation;
|
|
29
48
|
}
|
|
30
49
|
function refuse(reported) {
|
|
@@ -36,7 +55,7 @@ export function connectMdRuntime(port) {
|
|
|
36
55
|
const failure = refused(reported);
|
|
37
56
|
for (const [id, waiting] of opening) {
|
|
38
57
|
if (waiting.topic === 'connection-refusal')
|
|
39
|
-
waiting.settle(begin(id, waiting.topic, reported));
|
|
58
|
+
waiting.settle(begin(id, waiting.topic, waiting.input, reported));
|
|
40
59
|
else
|
|
41
60
|
waiting.fail(failure);
|
|
42
61
|
}
|
|
@@ -62,7 +81,7 @@ export function connectMdRuntime(port) {
|
|
|
62
81
|
drawing?.();
|
|
63
82
|
}
|
|
64
83
|
port.addEventListener('message', (event) => {
|
|
65
|
-
const message =
|
|
84
|
+
const message = wireAnswer(event.data);
|
|
66
85
|
if (message === null)
|
|
67
86
|
return;
|
|
68
87
|
if (message.kind === 'refusal') {
|
|
@@ -88,7 +107,7 @@ export function connectMdRuntime(port) {
|
|
|
88
107
|
waiting.fail(runtimeError(message.code, message.message, message.retryable));
|
|
89
108
|
}
|
|
90
109
|
else
|
|
91
|
-
waiting.settle(begin(message.id, waiting.topic, message.value));
|
|
110
|
+
waiting.settle(begin(message.id, waiting.topic, waiting.input, message.value));
|
|
92
111
|
drawing?.();
|
|
93
112
|
return;
|
|
94
113
|
}
|
|
@@ -124,15 +143,66 @@ export function connectMdRuntime(port) {
|
|
|
124
143
|
const id = (sequence += 1);
|
|
125
144
|
if (refusal !== null) {
|
|
126
145
|
return topic === 'connection-refusal'
|
|
127
|
-
? Promise.resolve(begin(id, topic, refusal))
|
|
146
|
+
? Promise.resolve(begin(id, topic, input, refusal))
|
|
128
147
|
: Promise.reject(refused(refusal));
|
|
129
148
|
}
|
|
130
149
|
return new Promise((settle, fail) => {
|
|
131
|
-
opening.set(id, { topic, settle, fail });
|
|
150
|
+
opening.set(id, { topic, input, settle, fail });
|
|
132
151
|
send({ kind: 'observe', id, topic, input });
|
|
133
152
|
drawing?.();
|
|
134
153
|
});
|
|
135
154
|
}
|
|
155
|
+
function streamed(answer) {
|
|
156
|
+
if (answer.kind !== 'binary')
|
|
157
|
+
return answer;
|
|
158
|
+
const { file, byteLength, mediaType } = answer;
|
|
159
|
+
let part = 0;
|
|
160
|
+
let received = 0;
|
|
161
|
+
const stream = new ReadableStream({
|
|
162
|
+
async pull(controller) {
|
|
163
|
+
const bytes = await ask('binaryFile.part', [file, part]);
|
|
164
|
+
if (bytes === null) {
|
|
165
|
+
if (received === byteLength)
|
|
166
|
+
controller.close();
|
|
167
|
+
else
|
|
168
|
+
controller.error(runtimeError('binary-file-absent', 'The file ended early'));
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
part += 1;
|
|
172
|
+
received += bytes.byteLength;
|
|
173
|
+
controller.enqueue(bytes);
|
|
174
|
+
},
|
|
175
|
+
}, { highWaterMark: 0 });
|
|
176
|
+
return { kind: 'binary', stream, byteLength, mediaType };
|
|
177
|
+
}
|
|
178
|
+
async function download(room, path, revision) {
|
|
179
|
+
const tab = PAGE.test(path) ? globalThis.open('', '_blank') : null;
|
|
180
|
+
const linked = await ask('binaryFile.link', [room, path, revision]);
|
|
181
|
+
if (linked.kind === 'link' && PAGE.test(linked.name)) {
|
|
182
|
+
const away = tab ?? globalThis.open('', '_blank');
|
|
183
|
+
if (away === null)
|
|
184
|
+
return BLOCKED;
|
|
185
|
+
away.location.replace(linked.url);
|
|
186
|
+
return STARTED;
|
|
187
|
+
}
|
|
188
|
+
tab?.close();
|
|
189
|
+
if (linked.kind === 'link') {
|
|
190
|
+
handed(linked.url, linked.name);
|
|
191
|
+
return STARTED;
|
|
192
|
+
}
|
|
193
|
+
if (linked.kind !== 'absent')
|
|
194
|
+
return linked;
|
|
195
|
+
const read = streamed(await ask('binaryFile.read', [room, path, revision]));
|
|
196
|
+
if (read.kind !== 'binary')
|
|
197
|
+
return read;
|
|
198
|
+
const copy = await new Response(read.stream, {
|
|
199
|
+
headers: { 'content-type': read.mediaType },
|
|
200
|
+
}).blob();
|
|
201
|
+
const url = URL.createObjectURL(copy);
|
|
202
|
+
handed(url, path.slice(path.lastIndexOf('/') + 1));
|
|
203
|
+
setTimeout(() => URL.revokeObjectURL(url), HANDED_COPY_MS);
|
|
204
|
+
return STARTED;
|
|
205
|
+
}
|
|
136
206
|
function settled() {
|
|
137
207
|
if (settling !== null)
|
|
138
208
|
return settling;
|
|
@@ -162,7 +232,9 @@ export function connectMdRuntime(port) {
|
|
|
162
232
|
});
|
|
163
233
|
return settling;
|
|
164
234
|
}
|
|
165
|
-
|
|
235
|
+
const show = (room, path, revision) => ask('binaryFile.show', [room, path, revision]).then((shown) => streamed(shown));
|
|
236
|
+
return shownBy(show, {
|
|
237
|
+
buildFile,
|
|
166
238
|
rooms: () => ask('rooms', []),
|
|
167
239
|
query: ((query) => ask('query', [query])),
|
|
168
240
|
search: (request) => ask('search', [request]),
|
|
@@ -170,7 +242,7 @@ export function connectMdRuntime(port) {
|
|
|
170
242
|
roomDraft: {
|
|
171
243
|
list: () => ask('roomDraft.list', []),
|
|
172
244
|
read: (room, path) => ask('roomDraft.read', [room, path]),
|
|
173
|
-
write: (room, path, revision, parts) => ask('roomDraft.write', [room, path, revision, parts]),
|
|
245
|
+
write: (room, path, revision, parts, next) => ask('roomDraft.write', next === undefined ? [room, path, revision, parts] : [room, path, revision, parts, next]),
|
|
174
246
|
discard: (room, path, revision) => ask('roomDraft.discard', [room, path, revision]),
|
|
175
247
|
},
|
|
176
248
|
save: (room, roomDrafts) => ask('save', [room, roomDrafts]),
|
|
@@ -188,8 +260,19 @@ export function connectMdRuntime(port) {
|
|
|
188
260
|
answer: (conversation, answer) => ask('conversation.answer', [conversation, answer]),
|
|
189
261
|
interrupt: (conversation) => ask('conversation.interrupt', [conversation]),
|
|
190
262
|
kill: (conversation) => ask('conversation.kill', [conversation]),
|
|
191
|
-
cancel: (conversation, turn) => ask('conversation.cancel', [conversation, turn]),
|
|
192
263
|
delete: (conversation) => ask('conversation.delete', [conversation]),
|
|
264
|
+
takeOut: (conversation, message, operation) => ask('conversation.takeOut', [conversation, message, operation]),
|
|
265
|
+
decide: (request, decision, operation) => ask('conversation.decide', [request, decision, operation]),
|
|
266
|
+
rename: (conversation, name, operation) => ask('conversation.rename', [conversation, name, operation]),
|
|
267
|
+
option: (conversation, option, value, operation) => ask('conversation.option', [conversation, option, value, operation]),
|
|
268
|
+
retry: (conversation, message, operation) => ask('conversation.retry', [conversation, message, operation]),
|
|
269
|
+
pins: () => ask('conversation.pins', []),
|
|
270
|
+
pin: (figures) => ask('conversation.pin', [figures]),
|
|
271
|
+
openedTurns: () => ask('conversation.openedTurns', []),
|
|
272
|
+
openTurn: (conversation, turn) => ask('conversation.openTurn', [conversation, turn]),
|
|
273
|
+
pageMetadata: async (app, address) => pageMetadataBlock(app, address, [...observations]
|
|
274
|
+
.sort(([left], [right]) => left - right)
|
|
275
|
+
.flatMap(([, { topic, input }]) => (topic === 'query' ? [input[0]] : []))),
|
|
193
276
|
},
|
|
194
277
|
chatDraft: {
|
|
195
278
|
write: (conversation, draft, revision) => ask('chatDraft.write', [conversation, draft, revision]),
|
|
@@ -197,20 +280,25 @@ export function connectMdRuntime(port) {
|
|
|
197
280
|
discard: (conversation) => ask('chatDraft.discard', [conversation]),
|
|
198
281
|
},
|
|
199
282
|
history: (locator, path, query) => ask('history', [locator, path, query]),
|
|
283
|
+
resolve: (room, path, destination) => ask('resolve', [room, path, destination]),
|
|
200
284
|
binaryFile: {
|
|
201
|
-
read: (room, path, revision) => ask('binaryFile.read', [room, path, revision]),
|
|
202
|
-
|
|
203
|
-
|
|
285
|
+
read: (room, path, revision) => ask('binaryFile.read', [room, path, revision]).then((read) => streamed(read)),
|
|
286
|
+
attach: (room, file) => ask('binaryFile.attach', [room, file]),
|
|
287
|
+
download,
|
|
204
288
|
},
|
|
205
289
|
call: (name, input) => ask('call', [name, input]),
|
|
206
290
|
reached: (locator, roomVersion, path) => ask('reached', [locator, roomVersion, path]),
|
|
207
291
|
log: () => ask('log', []),
|
|
208
292
|
persistence: () => ask('persistence', []),
|
|
209
293
|
retry: () => ask('retry', []),
|
|
294
|
+
cleanUp: () => ask('cleanUp', []),
|
|
295
|
+
unsent: () => ask('unsent', []),
|
|
296
|
+
reset: () => ask('reset', []),
|
|
297
|
+
readAgain: () => ask('readAgain', []),
|
|
210
298
|
observe: ((topic, ...input) => watch(topic, input)),
|
|
211
299
|
reauthorize: () => ask('reauthorize', []),
|
|
212
300
|
settled,
|
|
213
|
-
};
|
|
301
|
+
});
|
|
214
302
|
}
|
|
215
303
|
const turns = new WeakMap();
|
|
216
304
|
export function inTurn(client, work) {
|
|
@@ -218,4 +306,7 @@ export function inTurn(client, work) {
|
|
|
218
306
|
turns.set(client, turn.then(() => undefined, () => undefined));
|
|
219
307
|
return turn;
|
|
220
308
|
}
|
|
309
|
+
export { chainedWindows } from './chain.js';
|
|
310
|
+
export { roomDraftRevision } from './identity.js';
|
|
311
|
+
export { defineRoomMedia, ROOM_MEDIA } from './media.js';
|
|
221
312
|
export { unanswered } from './wire.js';
|
package/dist/collection.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import {
|
|
1
|
+
import { type DefinitionOf, type Document, type TypedPath } from '@agentshouse/mdmodel';
|
|
2
|
+
import type { ModelState, TypesResult } from './model.js';
|
|
3
|
+
import type { AppTypedSelection } from './listing.js';
|
|
3
4
|
import type { MdModelIdentity } from './adapter.js';
|
|
4
|
-
import { type Paths } from './shared.js';
|
|
5
|
-
import type { Refused } from './transfer.js';
|
|
6
|
-
import { type Later } from './turn.js';
|
|
7
5
|
export declare const MD_MODEL: MdModelIdentity;
|
|
8
6
|
export type Collection = {
|
|
9
7
|
text: Readonly<Record<string, string>>;
|
|
@@ -16,25 +14,34 @@ export type Composition = {
|
|
|
16
14
|
roots: readonly string[];
|
|
17
15
|
model: ModelState;
|
|
18
16
|
} | null;
|
|
17
|
+
typedPaths: readonly TypedPath[];
|
|
19
18
|
};
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
export declare function
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
19
|
+
export type Composed = {
|
|
20
|
+
readonly composition: Composition;
|
|
21
|
+
readonly fingerprint: string;
|
|
22
|
+
};
|
|
23
|
+
export declare function composedOf(composition: Composition): Composed;
|
|
24
|
+
type Selecting<M> = {
|
|
25
|
+
readonly model: M;
|
|
26
|
+
readonly selection: {
|
|
27
|
+
readonly roots: readonly string[];
|
|
28
|
+
readonly model: M;
|
|
29
|
+
} | null;
|
|
31
30
|
};
|
|
32
|
-
export declare function
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
export declare function selected(composition: {
|
|
32
|
+
readonly selection: {
|
|
33
|
+
readonly roots: readonly string[];
|
|
34
|
+
} | null;
|
|
35
|
+
}, path: string): boolean;
|
|
36
|
+
export declare function governing<M>(composition: Selecting<M>, path: string): M;
|
|
37
|
+
export declare function definitionsAt(composition: Composition, path: string): DefinitionOf;
|
|
38
|
+
export declare function definitionsIn(room: {
|
|
39
|
+
readonly model: TypesResult;
|
|
40
|
+
readonly typedSelection: AppTypedSelection | null;
|
|
41
|
+
}, path: string, typedPaths: readonly TypedPath[]): DefinitionOf;
|
|
42
|
+
export declare function collectionOf(text: Readonly<Record<string, string>>, composition: Composition): Collection;
|
|
43
|
+
export declare function documentsOf(collection: Collection): Generator<number, Iterable<readonly [string, Document]>, void>;
|
|
44
|
+
export declare function validRoot(root: unknown): root is string;
|
|
35
45
|
export declare function available(composition: Composition): boolean;
|
|
36
|
-
export declare function changedCleanly(next: Held, previous: Held & {
|
|
37
|
-
composition: Composition;
|
|
38
|
-
}, composition: Composition): Generator<number, boolean, void>;
|
|
39
46
|
export {};
|
|
40
47
|
//# sourceMappingURL=collection.d.ts.map
|
package/dist/collection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,SAAS,EAEf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,eAAO,MAAM,QAAQ,EAAE,eAAwE,CAAC;AAEhG,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE;QAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAc3F,wBAAgB,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,QAAQ,CAS7D;AAED,KAAK,SAAS,CAAC,CAAC,IAAI;IAClB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;CACrF,CAAC;AAEF,wBAAgB,QAAQ,CACtB,WAAW,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,EACjF,IAAI,EAAE,MAAM,GACX,OAAO,CAKT;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAIvE;AAYD,wBAAgB,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAIlF;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAAE,EACxF,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,SAAS,SAAS,EAAE,GAC/B,YAAY,CAQd;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,WAAW,EAAE,WAAW,GACvB,UAAU,CAcZ;AAED,wBAAiB,WAAW,CAC1B,UAAU,EAAE,UAAU,GACrB,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAQhE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAEvD;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAE3D"}
|