@agentshouse/mdruntime 0.1.0-alpha.9 → 0.1.0-c0105dbd22806
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 +299 -0
- package/README.md +54 -0
- package/dist/adapter.d.ts +246 -40
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +1 -10
- package/dist/attached-model.d.ts +11 -0
- package/dist/attached-model.d.ts.map +1 -0
- package/dist/attached-model.js +47 -0
- package/dist/attempt.d.ts +16 -0
- package/dist/attempt.d.ts.map +1 -0
- package/dist/attempt.js +70 -0
- package/dist/binary.d.ts +23 -0
- package/dist/binary.d.ts.map +1 -0
- package/dist/binary.js +8 -0
- package/dist/bootstrap.d.ts +17 -7
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +97 -41
- package/dist/change-set.d.ts +33 -0
- package/dist/change-set.d.ts.map +1 -0
- package/dist/change-set.js +90 -0
- package/dist/change.d.ts +24 -0
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +31 -5
- 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 +26 -0
- package/dist/chat/list.d.ts.map +1 -0
- package/dist/chat/list.js +62 -0
- package/dist/chat/markdown.d.ts +20 -0
- package/dist/chat/markdown.d.ts.map +1 -0
- package/dist/chat/markdown.js +188 -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 +49 -33
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +164 -183
- package/dist/collection.d.ts +9 -17
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +83 -89
- package/dist/connection.d.ts +66 -48
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +1964 -1173
- package/dist/conversation.d.ts +65 -24
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +675 -334
- package/dist/durability.js +6 -6
- package/dist/entry.d.ts +17 -0
- package/dist/entry.d.ts.map +1 -0
- package/dist/entry.js +156 -0
- 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/fence.d.ts +6 -0
- package/dist/fence.d.ts.map +1 -0
- package/dist/fence.js +10 -0
- package/dist/file.d.ts +2 -2
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +48 -71
- package/dist/host.d.ts +15 -3
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +109 -127
- package/dist/identity.d.ts +4 -0
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +22 -9
- package/dist/index.d.ts +17 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/log.js +5 -6
- package/dist/memory.d.ts +19 -8
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +304 -216
- package/dist/model.d.ts +16 -30
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +21 -21
- package/dist/observation.d.ts +27 -0
- package/dist/observation.d.ts.map +1 -0
- package/dist/observation.js +95 -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 +37 -31
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +36 -18
- package/dist/overlay.d.ts +22 -4
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +236 -54
- package/dist/paths.d.ts +0 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +6 -29
- package/dist/query.d.ts +219 -10
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +462 -15
- package/dist/reach.d.ts +42 -0
- package/dist/reach.d.ts.map +1 -0
- package/dist/reach.js +294 -0
- package/dist/react.d.ts +41 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +64 -0
- package/dist/read-side.d.ts +18 -0
- package/dist/read-side.d.ts.map +1 -0
- package/dist/read-side.js +440 -0
- package/dist/refresh.d.ts +15 -5
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +64 -41
- package/dist/replica.d.ts +28 -5
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +249 -40
- package/dist/room-draft.d.ts +144 -0
- package/dist/room-draft.d.ts.map +1 -0
- package/dist/room-draft.js +438 -0
- package/dist/rows.d.ts +46 -0
- package/dist/rows.d.ts.map +1 -0
- package/dist/rows.js +145 -0
- package/dist/save.d.ts +33 -5
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +630 -366
- package/dist/search.d.ts +62 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +125 -0
- package/dist/status.d.ts +6 -8
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +8 -20
- package/dist/store.d.ts +89 -34
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +513 -132
- package/dist/transfer.d.ts +5 -0
- package/dist/transfer.d.ts.map +1 -1
- package/dist/transfer.js +1 -5
- package/dist/wire.d.ts +59 -19
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +88 -105
- package/package.json +34 -16
- package/dist/adapter.js.map +0 -1
- package/dist/bootstrap.js.map +0 -1
- package/dist/change.js.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/collection.js.map +0 -1
- package/dist/connection.js.map +0 -1
- package/dist/conversation.js.map +0 -1
- package/dist/durability.js.map +0 -1
- package/dist/file.js.map +0 -1
- package/dist/host.js.map +0 -1
- package/dist/identity.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/log.js.map +0 -1
- package/dist/memory.js.map +0 -1
- package/dist/model.js.map +0 -1
- package/dist/outcome.js.map +0 -1
- package/dist/overlay.js.map +0 -1
- package/dist/paths.js.map +0 -1
- package/dist/query.js.map +0 -1
- package/dist/refresh.js.map +0 -1
- package/dist/replica.js.map +0 -1
- package/dist/save.js.map +0 -1
- package/dist/status.js.map +0 -1
- package/dist/store.js.map +0 -1
- package/dist/transfer.js.map +0 -1
- package/dist/wire.js.map +0 -1
package/dist/host.js
CHANGED
|
@@ -1,42 +1,44 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { composeRuntime, } from './connection.js';
|
|
2
|
+
import { described } from './failure.js';
|
|
2
3
|
import { removeRuntimeStore } from './store.js';
|
|
3
|
-
import { AUTHORIZATION_ENDED,
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { AUTHORIZATION_ENDED, request, WIRE_REACH, } from './wire.js';
|
|
5
|
+
const NARROWED = new Set(['within', 'whole']);
|
|
6
|
+
function answered(md, app, writtenBy, member, input) {
|
|
7
|
+
switch (member) {
|
|
6
8
|
case 'rooms':
|
|
7
9
|
return md.rooms();
|
|
8
10
|
case 'query':
|
|
9
11
|
return md.query(input[0]);
|
|
12
|
+
case 'search':
|
|
13
|
+
return md.search(input[0]);
|
|
10
14
|
case 'types':
|
|
11
15
|
return md.types(input[0]);
|
|
12
|
-
case 'syncStatus':
|
|
13
|
-
return md.syncStatus();
|
|
14
16
|
case 'save':
|
|
15
|
-
return md.save(input[0], input[1],
|
|
16
|
-
case 'outcome':
|
|
17
|
-
return md.outcome(input[0]);
|
|
17
|
+
return md.save(input[0], input[1], writtenBy);
|
|
18
18
|
case 'history':
|
|
19
19
|
return md.history(input[0], input[1], input[2]);
|
|
20
|
+
case 'binaryFile.read':
|
|
21
|
+
return md.binaryFile.read(input[0], input[1], input[2]);
|
|
22
|
+
case 'binaryFile.readReference':
|
|
23
|
+
return md.binaryFile.readReference(input[0]);
|
|
20
24
|
case 'call':
|
|
21
25
|
return md.call(input[0], input[1]);
|
|
26
|
+
case 'reached':
|
|
27
|
+
return md.reached(input[0], input[1], input[2]);
|
|
22
28
|
case 'log':
|
|
23
29
|
return md.log();
|
|
24
|
-
case 'storageLoss':
|
|
25
|
-
return md.storageLoss();
|
|
26
30
|
case 'persistence':
|
|
27
31
|
return md.persistence();
|
|
28
32
|
case 'reauthorize':
|
|
29
33
|
return md.reauthorize();
|
|
30
|
-
case '
|
|
31
|
-
return md.
|
|
32
|
-
case '
|
|
33
|
-
return md.
|
|
34
|
-
case '
|
|
35
|
-
return md.
|
|
36
|
-
case '
|
|
37
|
-
return md.
|
|
38
|
-
case 'queue.discard':
|
|
39
|
-
return md.queue.discard(input[0], input[1]);
|
|
34
|
+
case 'roomDraft.list':
|
|
35
|
+
return md.roomDraft.list();
|
|
36
|
+
case 'roomDraft.read':
|
|
37
|
+
return md.roomDraft.read(input[0], input[1]);
|
|
38
|
+
case 'roomDraft.write':
|
|
39
|
+
return md.roomDraft.write(input[0], input[1], input[2], input[3]);
|
|
40
|
+
case 'roomDraft.discard':
|
|
41
|
+
return md.roomDraft.discard(input[0], input[1], input[2]);
|
|
40
42
|
case 'presentation.read':
|
|
41
43
|
return md.presentation.read(app);
|
|
42
44
|
case 'presentation.write':
|
|
@@ -44,13 +46,7 @@ function answered(md, app, member, input) {
|
|
|
44
46
|
case 'conversation.list':
|
|
45
47
|
return md.conversation.list();
|
|
46
48
|
case 'conversation.read':
|
|
47
|
-
return md.conversation.read(input[0]);
|
|
48
|
-
case 'conversation.older':
|
|
49
|
-
return md.conversation.older(input[0]);
|
|
50
|
-
case 'conversation.compose':
|
|
51
|
-
return md.conversation.compose(input[0], input[1]);
|
|
52
|
-
case 'conversation.discard':
|
|
53
|
-
return md.conversation.discard(input[0]);
|
|
49
|
+
return md.conversation.read(input[0], input[1]);
|
|
54
50
|
case 'conversation.create':
|
|
55
51
|
return md.conversation.create(input[0]);
|
|
56
52
|
case 'conversation.send':
|
|
@@ -65,136 +61,122 @@ function answered(md, app, member, input) {
|
|
|
65
61
|
return md.conversation.cancel(input[0], input[1]);
|
|
66
62
|
case 'conversation.delete':
|
|
67
63
|
return md.conversation.delete(input[0]);
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
case 'rooms':
|
|
73
|
-
return md.observe('rooms', deliver);
|
|
74
|
-
case 'connection-refusal':
|
|
75
|
-
return md.observe('connection-refusal', deliver);
|
|
76
|
-
case 'storage-loss':
|
|
77
|
-
return md.observe('storage-loss', deliver);
|
|
78
|
-
case 'sync-status':
|
|
79
|
-
return md.observe('sync-status', deliver);
|
|
80
|
-
case 'drafts':
|
|
81
|
-
return md.observe('drafts', deliver);
|
|
82
|
-
case 'queue':
|
|
83
|
-
return md.observe('queue', input[0], deliver);
|
|
84
|
-
case 'query':
|
|
85
|
-
return md.observe('query', input[0], deliver);
|
|
86
|
-
case 'presentation':
|
|
87
|
-
return md.observe('presentation', app, deliver);
|
|
88
|
-
case 'conversation':
|
|
89
|
-
return md.observe('conversation', input[0], deliver);
|
|
64
|
+
case 'chatDraft.write':
|
|
65
|
+
return md.chatDraft.write(input[0], input[1], input[2]);
|
|
66
|
+
case 'chatDraft.discard':
|
|
67
|
+
return md.chatDraft.discard(input[0]);
|
|
90
68
|
}
|
|
91
69
|
}
|
|
92
70
|
export function serveMdRuntime(options) {
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
|
|
71
|
+
const deploymentFacts = structuredClone(options.deploymentFacts);
|
|
72
|
+
const closing = new AbortController();
|
|
73
|
+
const close = () => {
|
|
74
|
+
closing.abort();
|
|
96
75
|
};
|
|
97
|
-
options.signal?.addEventListener('abort',
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const md =
|
|
102
|
-
...options,
|
|
103
|
-
signal: stopping.signal
|
|
104
|
-
});
|
|
76
|
+
options.signal?.addEventListener('abort', close, { once: true });
|
|
77
|
+
if (options.signal?.aborted === true)
|
|
78
|
+
close();
|
|
79
|
+
const runtime = composeRuntime({ ...options, signal: closing.signal });
|
|
80
|
+
const { md } = runtime;
|
|
105
81
|
const attachments = new Map();
|
|
106
82
|
let authorized = true;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
83
|
+
const watchFacts = (deliver) => {
|
|
84
|
+
deliver(structuredClone(deploymentFacts));
|
|
85
|
+
return () => { };
|
|
86
|
+
};
|
|
87
|
+
function attach(port, app, release, reach) {
|
|
88
|
+
if (!authorized)
|
|
89
|
+
throw new Error(AUTHORIZATION_ENDED);
|
|
90
|
+
const writtenBy = release === undefined ? undefined : { app, release };
|
|
91
|
+
const view = runtime.within(reach ?? null);
|
|
92
|
+
const observations = new Map();
|
|
110
93
|
let serving = true;
|
|
111
|
-
const send = (message)=>{
|
|
112
|
-
port.postMessage(
|
|
94
|
+
const send = (message) => {
|
|
95
|
+
port.postMessage(message);
|
|
113
96
|
};
|
|
114
|
-
const detach = ()=>{
|
|
115
|
-
if (!serving)
|
|
97
|
+
const detach = () => {
|
|
98
|
+
if (!serving)
|
|
99
|
+
return;
|
|
116
100
|
serving = false;
|
|
117
|
-
for (const end of
|
|
118
|
-
|
|
101
|
+
for (const end of observations.values())
|
|
102
|
+
end();
|
|
103
|
+
observations.clear();
|
|
119
104
|
attachments.delete(detach);
|
|
120
105
|
};
|
|
121
|
-
const
|
|
122
|
-
|
|
106
|
+
const observe = (id, topic, input) => {
|
|
107
|
+
let resolved = false;
|
|
108
|
+
const deliver = (value) => {
|
|
109
|
+
if (!serving)
|
|
110
|
+
return;
|
|
111
|
+
send(resolved ? { kind: 'event', id, value } : { kind: 'result', id, value });
|
|
112
|
+
resolved = true;
|
|
113
|
+
};
|
|
114
|
+
observations.set(id, topic === 'deployment-facts'
|
|
115
|
+
? watchFacts(deliver)
|
|
116
|
+
: (NARROWED.has(WIRE_REACH.topics[topic]) ? view : runtime).watch(topic, topic === 'presentation' ? [app] : input, deliver));
|
|
117
|
+
};
|
|
118
|
+
const serve = async (message) => {
|
|
119
|
+
if (message.kind === 'hello')
|
|
120
|
+
return;
|
|
123
121
|
if (message.kind === 'stop') {
|
|
124
|
-
|
|
125
|
-
|
|
122
|
+
observations.get(message.id)?.();
|
|
123
|
+
observations.delete(message.id);
|
|
126
124
|
return;
|
|
127
125
|
}
|
|
128
126
|
try {
|
|
127
|
+
if (message.kind !== 'observe' || message.topic !== 'room-drafts')
|
|
128
|
+
await md.loaded();
|
|
129
129
|
if (message.kind === 'observe') {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
kind: 'event',
|
|
133
|
-
id: message.id,
|
|
134
|
-
value
|
|
135
|
-
});
|
|
136
|
-
}));
|
|
137
|
-
if (serving) send({
|
|
138
|
-
kind: 'result',
|
|
139
|
-
id: message.id,
|
|
140
|
-
value: null
|
|
141
|
-
});
|
|
130
|
+
if (serving)
|
|
131
|
+
observe(message.id, message.topic, message.input);
|
|
142
132
|
return;
|
|
143
133
|
}
|
|
144
|
-
const value = await answered(md, app, message.member, message.input);
|
|
145
|
-
if (serving)
|
|
146
|
-
kind: 'result',
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
if (serving) {
|
|
152
|
-
send({
|
|
153
|
-
kind: 'failure',
|
|
154
|
-
id: message.id,
|
|
155
|
-
message: error instanceof Error ? error.message : String(error)
|
|
156
|
-
});
|
|
157
|
-
}
|
|
134
|
+
const value = await answered(NARROWED.has(WIRE_REACH.members[message.member]) ? view.md : md, app, writtenBy, message.member, message.input);
|
|
135
|
+
if (serving)
|
|
136
|
+
send({ kind: 'result', id: message.id, value });
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
if (serving)
|
|
140
|
+
send({ kind: 'failure', id: message.id, ...described(error) });
|
|
158
141
|
}
|
|
159
142
|
};
|
|
160
|
-
port.addEventListener('message', (event)=>{
|
|
161
|
-
if (!serving)
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
if (
|
|
165
|
-
send({
|
|
166
|
-
kind: 'refusal',
|
|
167
|
-
refusal: PROTOCOL_MISMATCH
|
|
168
|
-
});
|
|
169
|
-
detach();
|
|
143
|
+
port.addEventListener('message', (event) => {
|
|
144
|
+
if (!serving)
|
|
145
|
+
return;
|
|
146
|
+
const message = request(event.data);
|
|
147
|
+
if (message === null)
|
|
170
148
|
return;
|
|
171
|
-
}
|
|
172
|
-
const message = request(wire.message);
|
|
173
|
-
if (message === null) return;
|
|
174
149
|
void serve(message);
|
|
175
150
|
});
|
|
176
151
|
port.addEventListener('close', detach);
|
|
177
152
|
port.start();
|
|
178
153
|
attachments.set(detach, send);
|
|
179
|
-
return
|
|
154
|
+
return {
|
|
155
|
+
detach,
|
|
156
|
+
narrow(next) {
|
|
157
|
+
if (serving)
|
|
158
|
+
view.narrow(next);
|
|
159
|
+
},
|
|
160
|
+
};
|
|
180
161
|
}
|
|
181
162
|
return {
|
|
182
163
|
attach,
|
|
183
|
-
async endAuthorization
|
|
164
|
+
async endAuthorization(holder) {
|
|
184
165
|
authorized = false;
|
|
185
|
-
for (const [detach, send] of [
|
|
186
|
-
|
|
187
|
-
]){
|
|
188
|
-
send({
|
|
189
|
-
kind: 'ended'
|
|
190
|
-
});
|
|
166
|
+
for (const [detach, send] of [...attachments]) {
|
|
167
|
+
send({ kind: 'ended' });
|
|
191
168
|
detach();
|
|
192
169
|
}
|
|
193
|
-
|
|
194
|
-
await removeRuntimeStore()
|
|
195
|
-
|
|
196
|
-
}
|
|
170
|
+
close();
|
|
171
|
+
if (!(await removeRuntimeStore(holder)))
|
|
172
|
+
await options.shell.dropGeneration();
|
|
173
|
+
},
|
|
174
|
+
lose(locators) {
|
|
175
|
+
return runtime.lose(locators);
|
|
176
|
+
},
|
|
177
|
+
stop() {
|
|
178
|
+
return runtime.stop();
|
|
179
|
+
},
|
|
197
180
|
};
|
|
198
181
|
}
|
|
199
|
-
|
|
200
|
-
//# sourceMappingURL=host.js.map
|
|
182
|
+
export { AUTHORED_SCHEMA, authoredBy, authoredHolder, STORE_SCHEMA } from './store.js';
|
package/dist/identity.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
export declare function changeBatchIdentity(at?: number): string;
|
|
2
|
+
export declare function roomDraftRevision(): string;
|
|
3
|
+
export declare function chatDraftRevision(): string;
|
|
4
|
+
export declare function transferIdentity(): string;
|
|
5
|
+
export declare function binaryLocalId(): string;
|
|
2
6
|
//# sourceMappingURL=identity.d.ts.map
|
package/dist/identity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,EAAE,GAAE,MAAmB,GAAG,MAAM,CAWnE"}
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,EAAE,GAAE,MAAmB,GAAG,MAAM,CAWnE;AAQD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
package/dist/identity.js
CHANGED
|
@@ -2,15 +2,28 @@ export function changeBatchIdentity(at = Date.now()) {
|
|
|
2
2
|
const bytes = new Uint8Array(16);
|
|
3
3
|
crypto.getRandomValues(bytes);
|
|
4
4
|
const time = BigInt(at);
|
|
5
|
-
for(let index = 0; index < 6; index += 1){
|
|
6
|
-
bytes[index] = Number(time >> BigInt(8 * (5 - index)) & 0xffn);
|
|
5
|
+
for (let index = 0; index < 6; index += 1) {
|
|
6
|
+
bytes[index] = Number((time >> BigInt(8 * (5 - index))) & 0xffn);
|
|
7
7
|
}
|
|
8
|
-
bytes[6] = bytes[6] & 0x0f | 0x70;
|
|
9
|
-
bytes[8] = bytes[8] & 0x3f | 0x80;
|
|
10
|
-
const hex = [
|
|
11
|
-
...bytes
|
|
12
|
-
].map((byte)=>byte.toString(16).padStart(2, '0')).join('');
|
|
8
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x70;
|
|
9
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
10
|
+
const hex = [...bytes].map((byte) => byte.toString(16).padStart(2, '0')).join('');
|
|
13
11
|
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
14
12
|
}
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
function randomIdentity() {
|
|
14
|
+
const bytes = new Uint8Array(16);
|
|
15
|
+
crypto.getRandomValues(bytes);
|
|
16
|
+
return [...bytes].map((byte) => byte.toString(16).padStart(2, '0')).join('');
|
|
17
|
+
}
|
|
18
|
+
export function roomDraftRevision() {
|
|
19
|
+
return randomIdentity();
|
|
20
|
+
}
|
|
21
|
+
export function chatDraftRevision() {
|
|
22
|
+
return randomIdentity();
|
|
23
|
+
}
|
|
24
|
+
export function transferIdentity() {
|
|
25
|
+
return randomIdentity();
|
|
26
|
+
}
|
|
27
|
+
export function binaryLocalId() {
|
|
28
|
+
return randomIdentity();
|
|
29
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
export type { ActionDeclaration, ActionRequest, ActionResult, Adapter, AdapterFailure, Authorization, BootstrapPage, BootstrapRequest, BootstrapResult, Capability, ContractUnavailable, ConversationAction,
|
|
2
|
-
export type { Change, ChangeBatch, Precondition } from './change.js';
|
|
3
|
-
export type { ConversationEntry, ConversationSurface, ConversationView,
|
|
4
|
-
export type {
|
|
5
|
-
export type {
|
|
6
|
-
export type {
|
|
7
|
-
export type {
|
|
1
|
+
export type { AcceptedMessage, ActionDeclaration, ActionRequest, ActionResult, Adapter, AdapterFailure, Authorization, BinaryFile, BinaryRequest, BinaryResult, ReferrerScope, BootstrapPage, BootstrapRequest, BootstrapResult, Capability, ChangeAuthor, ContractUnavailable, ConversationAction, ConversationAgents, ConversationEvent, ConversationHistories, ConversationHistoryPage, ConversationHistoryRequest, ConversationMessage, ConversationStream, DiscoverResult, DiscoveredRoom, Discovery, HistoryAuthor, HistoryRequest, HistoryResult, HistoryRetention, HistoryRevision, HeldRoom, ListedConversation, MdModelIdentity, Member, MutationRequest, MutationResult, PageToken, ProviderLimit, ProviderRefusal, RefreshPage, RefreshRequest, RefreshResult, Retention, RetryableRefusal, RevokedAuthorization, RoomModels, RoomNotReadable, RoomStream, RoomStreamEvent, RoomVersionAt, ServiceMode, ServiceModeSignal, TransportUncertainty, TurnContext, TurnOperation, TypedSelection, } from './adapter.js';
|
|
2
|
+
export type { Change, ChangeBatch, Precondition, WrittenBy } from './change.js';
|
|
3
|
+
export type { ChatDraft, ChatDraftSurface, ConversationAgent, ConversationEntry, ConversationOptions, ConversationState, ConversationSurface, ConversationView, RunningTurn, } from './conversation.js';
|
|
4
|
+
export type { ChatDraftFile, FileDeclaration } from './file.js';
|
|
5
|
+
export type { AppRoom, AppTypedSelection, BinaryFileSurface, ConnectionRefusal, ConnectionRefusalCode, HistoryQuery, MdRuntime, MdRuntimeOptions, PresentationSurface, RoomDraftSurface, RoomSchemas, SavedRoomDraft, SaveResult, } from './connection.js';
|
|
6
|
+
export type { Observation } from './observation.js';
|
|
7
|
+
export type { BinaryAnswer, CallResult, Failure, HistoryAnswer, QueueEntry, Submission, } from './outcome.js';
|
|
8
|
+
export type { BinaryFileRecord, BinaryReference } from './binary.js';
|
|
9
|
+
export type { RuntimeError } from './failure.js';
|
|
10
|
+
export type { ChangedPart, FieldValue, ReturnReason, RoomDraft, RoomDraftCreation, RoomDraftParts, RoomDraftWrite, } from './room-draft.js';
|
|
8
11
|
export type { SaveRefusal } from './save.js';
|
|
9
|
-
export {
|
|
12
|
+
export type { DocumentHit, DocumentPart, MessageHit, SearchRequest, SearchResult, } from './search.js';
|
|
13
|
+
export { departure } from './change.js';
|
|
14
|
+
export { changeBatchIdentity } from './identity.js';
|
|
15
|
+
export { attempts, identities, intentOf, type Answered, type Attempt, type Attempts, type Identities, } from './attempt.js';
|
|
16
|
+
export { expectedList, expecting, type ExpectedOf, type Expecting } from './expectation.js';
|
|
10
17
|
export type { RuntimeShell } from './durability.js';
|
|
11
18
|
export type { AttentionEntry, SyncStatus } from './status.js';
|
|
12
|
-
export type { Backlink, QueryDocument, QueryGroup,
|
|
13
|
-
export type {
|
|
19
|
+
export type { Backlink, Direction, DocumentQuery, DocumentResult, Filter, GroupQuery, GroupResult, Key, LocalQuery, OrderOptions, Predicate, QueryDocument, QueryGroup, QueryResult, Related, Select, Value, Where, } from './query.js';
|
|
20
|
+
export type { MdType, ModelIdentity, ModelSnapshot, ModelState, ModelResult, TypesResult, ValidationReceipt, } from './model.js';
|
|
14
21
|
export type { OperationScopes, ReplicaAdmission, ScopedRefusal } from './adapter.js';
|
|
15
|
-
export type { QueryBinding, QueryInput } from './query.js';
|
|
16
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export { departure } from './change.js';
|
|
2
|
+
export { changeBatchIdentity } from './identity.js';
|
|
3
|
+
export { attempts, identities, intentOf, } from './attempt.js';
|
|
4
|
+
export { expectedList, expecting } from './expectation.js';
|
package/dist/log.js
CHANGED
|
@@ -2,14 +2,13 @@ const BOUND = 256;
|
|
|
2
2
|
export function createLog() {
|
|
3
3
|
const events = [];
|
|
4
4
|
return {
|
|
5
|
-
record
|
|
5
|
+
record(event) {
|
|
6
6
|
events.push(event);
|
|
7
|
-
if (events.length > BOUND)
|
|
7
|
+
if (events.length > BOUND)
|
|
8
|
+
events.splice(0, events.length - BOUND);
|
|
8
9
|
},
|
|
9
|
-
export
|
|
10
|
+
export() {
|
|
10
11
|
return events.join('\n');
|
|
11
|
-
}
|
|
12
|
+
},
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=log.js.map
|
package/dist/memory.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import type { ModelResult } from './model.js';
|
|
2
|
-
import { type ActionResult, type Adapter, type Capability, type ConversationAction, type ConversationEvent, type
|
|
2
|
+
import { type AcceptedMessage, type ActionResult, type Adapter, type BinaryFile, type Capability, type ConversationAction, type ConversationEvent, type DiscoveredRoom, type HeadChange, type ListedConversation, type Member, type ProviderLimit, type Retention, type ServiceMode } from './adapter.js';
|
|
3
3
|
export type MemoryRoom = DiscoveredRoom & {
|
|
4
4
|
model?: ModelResult;
|
|
5
5
|
selectionModel?: ModelResult;
|
|
6
6
|
documents?: Readonly<Record<string, string>>;
|
|
7
7
|
revisions?: Readonly<Record<string, string>>;
|
|
8
|
-
|
|
8
|
+
changes?: Readonly<Record<string, HeadChange>>;
|
|
9
|
+
binaryFiles?: Readonly<Record<string, BinaryFile>>;
|
|
10
|
+
blobs?: Readonly<Record<string, Blob>>;
|
|
9
11
|
};
|
|
10
12
|
export type MemoryConversation = {
|
|
11
13
|
conversation: string;
|
|
12
|
-
|
|
14
|
+
listed?: Omit<ListedConversation, 'conversation'>;
|
|
15
|
+
messages?: readonly AcceptedMessage[];
|
|
13
16
|
outcomes?: Partial<Record<ConversationAction, ActionResult>>;
|
|
14
17
|
};
|
|
15
18
|
export type MemoryAdapterOptions = {
|
|
@@ -17,20 +20,28 @@ export type MemoryAdapterOptions = {
|
|
|
17
20
|
conversations?: readonly MemoryConversation[];
|
|
18
21
|
historyPageSize?: number;
|
|
19
22
|
pageSize?: number;
|
|
20
|
-
mdModel?: MdModelIdentity;
|
|
21
|
-
supportedVersions?: readonly number[];
|
|
22
23
|
capabilities?: readonly Capability[];
|
|
23
24
|
providerLimits?: readonly ProviderLimit[];
|
|
24
25
|
retention?: Retention;
|
|
26
|
+
member?: Member;
|
|
27
|
+
unopened?: boolean;
|
|
28
|
+
exhaustiveDiscovery?: true;
|
|
25
29
|
};
|
|
26
30
|
export type MemoryAdapter = Adapter & {
|
|
27
31
|
setRooms(rooms: readonly MemoryRoom[]): void;
|
|
28
32
|
setConversations(conversations: readonly MemoryConversation[]): void;
|
|
29
33
|
script(operation: keyof Adapter, answer: unknown): void;
|
|
30
|
-
|
|
34
|
+
open(): void;
|
|
35
|
+
close(revoked?: boolean): void;
|
|
36
|
+
expire(locators: readonly string[]): void;
|
|
37
|
+
notifyRoomVersion(notification: {
|
|
38
|
+
locator: string;
|
|
39
|
+
roomVersion: string;
|
|
40
|
+
}): void;
|
|
31
41
|
notifyConversation(event: ConversationEvent): void;
|
|
32
|
-
|
|
33
|
-
|
|
42
|
+
notifyServiceMode(mode: ServiceMode): void;
|
|
43
|
+
heldRooms(): readonly string[];
|
|
44
|
+
replicatedConversations(): readonly string[];
|
|
34
45
|
};
|
|
35
46
|
export declare function createMemoryAdapter(options?: MemoryAdapterOptions): MemoryAdapter;
|
|
36
47
|
//# sourceMappingURL=memory.d.ts.map
|
package/dist/memory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
|