@agentshouse/mdruntime 0.1.0-cb2e390ee7b89 → 0.1.0-cb9c79aee537a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +28 -28
- package/README.md +8 -8
- package/dist/adapter.d.ts +7 -6
- package/dist/adapter.d.ts.map +1 -1
- package/dist/bootstrap.js +1 -1
- package/dist/chat/markdown.d.ts +1 -0
- package/dist/chat/markdown.d.ts.map +1 -1
- package/dist/chat/markdown.js +78 -20
- package/dist/chat/pieces.d.ts +51 -0
- package/dist/chat/pieces.d.ts.map +1 -0
- package/dist/chat/pieces.js +797 -0
- package/dist/chat/provider.d.ts.map +1 -1
- package/dist/chat/provider.js +3 -10
- package/dist/chat.d.ts +1 -1
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +1 -1
- package/dist/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -0
- package/dist/collection.d.ts +4 -3
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +128 -63
- package/dist/connection.d.ts +6 -3
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +124 -121
- package/dist/conversation.d.ts +1 -0
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +49 -29
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +2 -1
- package/dist/host.d.ts +0 -3
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +4 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/memory.d.ts +2 -3
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +7 -9
- package/dist/overlay.d.ts +1 -0
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +7 -3
- package/dist/query.d.ts +5 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +5 -3
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +10 -0
- package/dist/react.d.ts +1 -2
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +2 -14
- package/dist/read-side.d.ts +3 -1
- package/dist/read-side.d.ts.map +1 -1
- package/dist/read-side.js +87 -24
- package/dist/refresh.js +1 -1
- package/dist/replica.d.ts +5 -4
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +35 -25
- package/dist/rows.d.ts +1 -0
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +5 -0
- package/dist/save.d.ts +2 -1
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +25 -19
- package/dist/shared.d.ts +3 -0
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +58 -32
- package/dist/store.d.ts +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +2 -6
- package/dist/turn.d.ts +5 -3
- package/dist/turn.d.ts.map +1 -1
- package/dist/turn.js +25 -6
- package/dist/windows.d.ts +8 -0
- package/dist/windows.d.ts.map +1 -1
- package/dist/windows.js +13 -0
- package/dist/wire.d.ts +8 -0
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +2 -0
- package/package.json +2 -2
- package/dist/acquisition.d.ts +0 -14
- package/dist/acquisition.d.ts.map +0 -1
- package/dist/acquisition.js +0 -24
package/dist/shared.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { finished, ROW_WEIGHT } from './turn.js';
|
|
1
2
|
const BITS = 5;
|
|
2
3
|
const MASK = (1 << BITS) - 1;
|
|
3
4
|
const roots = new WeakMap();
|
|
@@ -179,7 +180,7 @@ function facade(root) {
|
|
|
179
180
|
roots.set(map, root);
|
|
180
181
|
return map;
|
|
181
182
|
}
|
|
182
|
-
function
|
|
183
|
+
function* rooted(map) {
|
|
183
184
|
const held = roots.get(map);
|
|
184
185
|
if (held !== undefined)
|
|
185
186
|
return held;
|
|
@@ -188,14 +189,21 @@ function rootOf(map) {
|
|
|
188
189
|
for (const [key, value] of Object.entries(map)) {
|
|
189
190
|
node = put(node, { key, hash: hashOf(key), value }, 0);
|
|
190
191
|
size += 1;
|
|
192
|
+
yield ROW_WEIGHT;
|
|
191
193
|
}
|
|
192
194
|
return { node, size };
|
|
193
195
|
}
|
|
196
|
+
export function* sharing(map) {
|
|
197
|
+
return roots.has(map) ? map : facade(yield* rooted(map));
|
|
198
|
+
}
|
|
194
199
|
export function shared(map) {
|
|
195
|
-
return
|
|
200
|
+
return finished(sharing(map));
|
|
196
201
|
}
|
|
197
202
|
export function patched(base, set, removed = []) {
|
|
198
|
-
|
|
203
|
+
return finished(patching(base, set, removed));
|
|
204
|
+
}
|
|
205
|
+
export function* patching(base, set, removed = []) {
|
|
206
|
+
const root = yield* rooted(base);
|
|
199
207
|
const weighed = [...(tallies.get(base) ?? [])];
|
|
200
208
|
let node = root.node;
|
|
201
209
|
let size = root.size;
|
|
@@ -215,6 +223,7 @@ export function patched(base, set, removed = []) {
|
|
|
215
223
|
node = taken(node, before.hash, key, 0);
|
|
216
224
|
size -= 1;
|
|
217
225
|
shift(key, before, undefined);
|
|
226
|
+
yield ROW_WEIGHT;
|
|
218
227
|
}
|
|
219
228
|
for (const [key, value] of set) {
|
|
220
229
|
const before = lookup({ node, size }, key);
|
|
@@ -222,6 +231,7 @@ export function patched(base, set, removed = []) {
|
|
|
222
231
|
if (before === undefined)
|
|
223
232
|
size += 1;
|
|
224
233
|
shift(key, before, value);
|
|
234
|
+
yield ROW_WEIGHT;
|
|
225
235
|
}
|
|
226
236
|
if (node === root.node && roots.has(base))
|
|
227
237
|
return base;
|
|
@@ -248,54 +258,70 @@ export function tally(map, weigh) {
|
|
|
248
258
|
export function sizeOf(map) {
|
|
249
259
|
return roots.get(map)?.size ?? Object.keys(map).length;
|
|
250
260
|
}
|
|
251
|
-
function
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
261
|
+
function* compared(left, right, same, into) {
|
|
262
|
+
const pending = [[left, right]];
|
|
263
|
+
for (let pair = pending.pop(); pair !== undefined; pair = pending.pop()) {
|
|
264
|
+
const [one, other] = pair;
|
|
265
|
+
if (one === other)
|
|
266
|
+
continue;
|
|
267
|
+
if (one !== undefined &&
|
|
268
|
+
other !== undefined &&
|
|
269
|
+
!isLeaf(one) &&
|
|
270
|
+
!isCollision(one) &&
|
|
271
|
+
!isLeaf(other) &&
|
|
272
|
+
!isCollision(other)) {
|
|
273
|
+
const children = [];
|
|
274
|
+
for (let remaining = one.bitmap | other.bitmap; remaining !== 0; remaining &= remaining - 1) {
|
|
275
|
+
const bit = remaining & -remaining;
|
|
276
|
+
children.push([
|
|
277
|
+
(one.bitmap & bit) === 0 ? undefined : one.children[slot(one.bitmap, bit)],
|
|
278
|
+
(other.bitmap & bit) === 0 ? undefined : other.children[slot(other.bitmap, bit)],
|
|
279
|
+
]);
|
|
280
|
+
}
|
|
281
|
+
pending.push(...children.reverse());
|
|
282
|
+
continue;
|
|
267
283
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
284
|
+
const before = new Map();
|
|
285
|
+
for (const leaf of leavesOf(one)) {
|
|
286
|
+
before.set(leaf.key, leaf.value);
|
|
287
|
+
yield ROW_WEIGHT;
|
|
288
|
+
}
|
|
289
|
+
for (const leaf of leavesOf(other)) {
|
|
290
|
+
const held = before.get(leaf.key);
|
|
291
|
+
before.delete(leaf.key);
|
|
292
|
+
if (held === undefined || !same(held, leaf.value))
|
|
293
|
+
into.add(leaf.key);
|
|
294
|
+
yield ROW_WEIGHT;
|
|
295
|
+
}
|
|
296
|
+
for (const key of before.keys())
|
|
297
|
+
into.add(key);
|
|
276
298
|
}
|
|
277
|
-
for (const key of before.keys())
|
|
278
|
-
into.add(key);
|
|
279
299
|
}
|
|
280
|
-
export function
|
|
300
|
+
export function* differences(left, right, same = Object.is) {
|
|
281
301
|
const into = new Set();
|
|
282
302
|
if (left === right)
|
|
283
303
|
return into;
|
|
284
304
|
const leftRoot = roots.get(left);
|
|
285
305
|
const rightRoot = roots.get(right);
|
|
286
306
|
if (leftRoot !== undefined && rightRoot !== undefined) {
|
|
287
|
-
compared(leftRoot.node, rightRoot.node,
|
|
307
|
+
yield* compared(leftRoot.node, rightRoot.node, same, into);
|
|
288
308
|
return into;
|
|
289
309
|
}
|
|
290
310
|
for (const key of Object.keys(left)) {
|
|
291
311
|
if (!Object.hasOwn(right, key) || !same(left[key], right[key]))
|
|
292
312
|
into.add(key);
|
|
313
|
+
yield ROW_WEIGHT;
|
|
293
314
|
}
|
|
294
|
-
for (const key of Object.keys(right))
|
|
315
|
+
for (const key of Object.keys(right)) {
|
|
295
316
|
if (!Object.hasOwn(left, key))
|
|
296
317
|
into.add(key);
|
|
318
|
+
yield ROW_WEIGHT;
|
|
319
|
+
}
|
|
297
320
|
return into;
|
|
298
321
|
}
|
|
322
|
+
export function differing(left, right, same = Object.is) {
|
|
323
|
+
return finished(differences(left, right, same));
|
|
324
|
+
}
|
|
299
325
|
const drafts = new WeakMap();
|
|
300
326
|
const GONE = Symbol('gone');
|
|
301
327
|
export function drafted(base) {
|
package/dist/store.d.ts
CHANGED
|
@@ -133,7 +133,7 @@ export type RuntimeStore = {
|
|
|
133
133
|
present(record: PresentationRecord): Promise<void>;
|
|
134
134
|
conversations(): Promise<readonly HeldConversation[]>;
|
|
135
135
|
keepMessages(write: ConversationWrite): Promise<void>;
|
|
136
|
-
messageWindow(conversation: string, limit: number
|
|
136
|
+
messageWindow(conversation: string, limit: number, before: readonly [string, string] | null): Promise<MessageWindow>;
|
|
137
137
|
messageCount(conversation: string): Promise<number>;
|
|
138
138
|
messagesAfter(conversation: string, identity: string | null): Promise<AcceptedMessage[]>;
|
|
139
139
|
messageIdentities(conversation: string): Promise<readonly string[]>;
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,MAAM,EACN,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { sameBinary, sameChange } from './overlay.js';
|
|
2
2
|
import { differing } from './shared.js';
|
|
3
|
+
import { precedes } from './windows.js';
|
|
3
4
|
const DATABASE = 'mdruntime';
|
|
4
5
|
const AUTHORED = 'mdruntime-authored';
|
|
5
6
|
const FENCES = 'fences';
|
|
@@ -545,11 +546,6 @@ export async function openRuntimeStore(fenced) {
|
|
|
545
546
|
const transaction = database.transaction(MESSAGES, 'readonly');
|
|
546
547
|
const index = transaction.objectStore(MESSAGES).index('position');
|
|
547
548
|
const range = IDBKeyRange.bound([conversation], [conversation, before?.[0] ?? []]);
|
|
548
|
-
const earlier = ({ position, identity }) => before === null || position < before[0] || (position === before[0] && identity < before[1]);
|
|
549
|
-
if (limit === undefined) {
|
|
550
|
-
const held = await settled(index.getAll(range));
|
|
551
|
-
return { messages: held.filter(earlier).map(accepted), more: false };
|
|
552
|
-
}
|
|
553
549
|
const latest = [];
|
|
554
550
|
let more = false;
|
|
555
551
|
await new Promise((resolve, reject) => {
|
|
@@ -562,7 +558,7 @@ export async function openRuntimeStore(fenced) {
|
|
|
562
558
|
return;
|
|
563
559
|
}
|
|
564
560
|
const record = at.value;
|
|
565
|
-
if (!
|
|
561
|
+
if (!precedes(record, before)) {
|
|
566
562
|
at.continue();
|
|
567
563
|
return;
|
|
568
564
|
}
|
package/dist/turn.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export declare function yielded(): Promise<void>;
|
|
2
2
|
export declare const ROW_WEIGHT = 256;
|
|
3
3
|
export type Later<T> = T | Promise<T>;
|
|
4
|
-
export declare function after<T, R>(value: Later<T>, next: (value: T) => R): Later<R>;
|
|
5
|
-
export declare function inUnits<T>(items: Iterable<T>, each: (item: T) => number): Later<void>;
|
|
6
|
-
export declare function
|
|
4
|
+
export declare function after<T, R>(value: Later<T>, next: (value: T) => Later<R>): Later<R>;
|
|
5
|
+
export declare function inUnits<T>(items: Iterable<T>, each: (item: T) => number, ended?: () => void): Later<void>;
|
|
6
|
+
export declare function finished<R>(steps: Generator<number, R, void>): R;
|
|
7
|
+
export declare function stepped<R>(steps: Generator<number, R, void>): Later<R>;
|
|
8
|
+
export declare function inChunks<T>(items: readonly T[], weigh: (item: T) => number, each: (chunk: readonly T[]) => Later<void>): Promise<void>;
|
|
7
9
|
//# sourceMappingURL=turn.d.ts.map
|
package/dist/turn.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn.d.ts","sourceRoot":"","sources":["../src/turn.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CASvC;AAID,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"turn.d.ts","sourceRoot":"","sources":["../src/turn.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CASvC;AAID,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAEnF;AAmBD,wBAAgB,OAAO,CAAC,CAAC,EACvB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EACzB,KAAK,GAAE,MAAM,IAAe,GAC3B,KAAK,CAAC,IAAI,CAAC,CAWb;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAIhE;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAStE;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC1B,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
package/dist/turn.js
CHANGED
|
@@ -5,7 +5,7 @@ export function yielded() {
|
|
|
5
5
|
channel.port1.close();
|
|
6
6
|
resolve();
|
|
7
7
|
};
|
|
8
|
-
channel.port2.postMessage(null);
|
|
8
|
+
structuredClone(channel.port2, { transfer: [channel.port2] }).postMessage(null);
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
const UNIT = 1 << 20;
|
|
@@ -13,7 +13,7 @@ export const ROW_WEIGHT = 256;
|
|
|
13
13
|
export function after(value, next) {
|
|
14
14
|
return value instanceof Promise ? value.then(next) : next(value);
|
|
15
15
|
}
|
|
16
|
-
async function resumed(iterator, each) {
|
|
16
|
+
async function resumed(iterator, each, ended) {
|
|
17
17
|
let spent = UNIT;
|
|
18
18
|
for (let next = iterator.next(); next.done !== true; next = iterator.next()) {
|
|
19
19
|
if (spent >= UNIT) {
|
|
@@ -21,16 +21,35 @@ async function resumed(iterator, each) {
|
|
|
21
21
|
spent = 0;
|
|
22
22
|
}
|
|
23
23
|
spent += each(next.value);
|
|
24
|
+
if (spent >= UNIT)
|
|
25
|
+
ended();
|
|
24
26
|
}
|
|
27
|
+
ended();
|
|
25
28
|
}
|
|
26
|
-
export function inUnits(items, each) {
|
|
29
|
+
export function inUnits(items, each, ended = () => { }) {
|
|
27
30
|
const iterator = items[Symbol.iterator]();
|
|
28
31
|
let spent = 0;
|
|
29
32
|
for (let next = iterator.next(); next.done !== true; next = iterator.next()) {
|
|
30
33
|
spent += each(next.value);
|
|
31
|
-
if (spent >= UNIT)
|
|
32
|
-
|
|
34
|
+
if (spent >= UNIT) {
|
|
35
|
+
ended();
|
|
36
|
+
return resumed(iterator, each, ended);
|
|
37
|
+
}
|
|
33
38
|
}
|
|
39
|
+
ended();
|
|
40
|
+
}
|
|
41
|
+
export function finished(steps) {
|
|
42
|
+
for (let step = steps.next();; step = steps.next()) {
|
|
43
|
+
if (step.done === true)
|
|
44
|
+
return step.value;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export function stepped(steps) {
|
|
48
|
+
let result;
|
|
49
|
+
const driven = function* () {
|
|
50
|
+
result = yield* steps;
|
|
51
|
+
};
|
|
52
|
+
return after(inUnits(driven(), (weight) => weight), () => result);
|
|
34
53
|
}
|
|
35
54
|
export async function inChunks(items, weigh, each) {
|
|
36
55
|
for (let at = 0; at < items.length;) {
|
|
@@ -40,6 +59,6 @@ export async function inChunks(items, weigh, each) {
|
|
|
40
59
|
chunk.push(items[at]);
|
|
41
60
|
spent += weigh(items[at]);
|
|
42
61
|
}
|
|
43
|
-
each(chunk);
|
|
62
|
+
await each(chunk);
|
|
44
63
|
}
|
|
45
64
|
}
|
package/dist/windows.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const MAXIMUM_WINDOW = 1000;
|
|
2
2
|
export declare const FROM_START = "[]";
|
|
3
|
+
export declare function capped(limit: number | null | undefined): number;
|
|
3
4
|
export type Ordering = {
|
|
4
5
|
readonly direction: 'asc' | 'desc';
|
|
5
6
|
readonly nulls: 'first' | 'last';
|
|
@@ -11,8 +12,15 @@ export type Windowed<T> = {
|
|
|
11
12
|
readonly kept: readonly T[];
|
|
12
13
|
readonly next: string | undefined;
|
|
13
14
|
};
|
|
15
|
+
interface Placed {
|
|
16
|
+
readonly position: string;
|
|
17
|
+
readonly identity: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function messageOrder(left: Placed, right: Placed): number;
|
|
20
|
+
export declare function precedes(message: Placed, before: readonly [string, string] | null): boolean;
|
|
14
21
|
export declare function beyond(values: readonly unknown[], cursor: readonly unknown[], orderings: readonly Ordering[]): boolean;
|
|
15
22
|
export declare function cursorOf(values: readonly unknown[]): string;
|
|
16
23
|
export declare function decodedCursor(text: string): readonly unknown[] | null;
|
|
17
24
|
export declare function windowed<T>(entries: readonly T[], limit: number | null, after: string | undefined, cursor: (entry: T) => string): Windowed<T>;
|
|
25
|
+
export {};
|
|
18
26
|
//# sourceMappingURL=windows.d.ts.map
|
package/dist/windows.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../src/windows.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../src/windows.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAE/D;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE7F,UAAU,MAAM;IACd,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,CAE3F;AA0CD,wBAAgB,MAAM,CACpB,MAAM,EAAE,SAAS,OAAO,EAAE,EAC1B,MAAM,EAAE,SAAS,OAAO,EAAE,EAC1B,SAAS,EAAE,SAAS,QAAQ,EAAE,GAC7B,OAAO,CAMT;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,OAAO,EAAE,GAAG,IAAI,CAOrE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EACxB,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAC3B,QAAQ,CAAC,CAAC,CAAC,CAOb"}
|
package/dist/windows.js
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
export const MAXIMUM_WINDOW = 1000;
|
|
2
2
|
export const FROM_START = '[]';
|
|
3
|
+
export function capped(limit) {
|
|
4
|
+
return limit == null ? MAXIMUM_WINDOW : Math.min(limit, MAXIMUM_WINDOW);
|
|
5
|
+
}
|
|
6
|
+
export function messageOrder(left, right) {
|
|
7
|
+
if (left.position !== right.position)
|
|
8
|
+
return left.position < right.position ? -1 : 1;
|
|
9
|
+
if (left.identity !== right.identity)
|
|
10
|
+
return left.identity < right.identity ? -1 : 1;
|
|
11
|
+
return 0;
|
|
12
|
+
}
|
|
13
|
+
export function precedes(message, before) {
|
|
14
|
+
return before === null || messageOrder(message, { position: before[0], identity: before[1] }) < 0;
|
|
15
|
+
}
|
|
3
16
|
function ascending(left, right, ordering) {
|
|
4
17
|
if (left == null && right == null)
|
|
5
18
|
return 0;
|
package/dist/wire.d.ts
CHANGED
|
@@ -34,6 +34,10 @@ declare const MEMBERS: {
|
|
|
34
34
|
readonly reach: 'within';
|
|
35
35
|
readonly effect: 'write';
|
|
36
36
|
};
|
|
37
|
+
readonly saveParts: {
|
|
38
|
+
readonly reach: 'within';
|
|
39
|
+
readonly effect: 'write';
|
|
40
|
+
};
|
|
37
41
|
readonly history: {
|
|
38
42
|
readonly reach: 'within';
|
|
39
43
|
readonly effect: 'read';
|
|
@@ -142,6 +146,10 @@ declare const MEMBERS: {
|
|
|
142
146
|
readonly reach: 'within';
|
|
143
147
|
readonly effect: 'write';
|
|
144
148
|
};
|
|
149
|
+
readonly 'chatDraft.prepend': {
|
|
150
|
+
readonly reach: 'within';
|
|
151
|
+
readonly effect: 'write';
|
|
152
|
+
};
|
|
145
153
|
readonly 'chatDraft.discard': {
|
|
146
154
|
readonly reach: 'within';
|
|
147
155
|
readonly effect: 'write';
|
package/dist/wire.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IACjG,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3E,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErD,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAElF,QAAA,MAAM,OAAO;;iBACF,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC9B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAChC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAChC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,OAAO;;;
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
|
package/dist/wire.js
CHANGED
|
@@ -5,6 +5,7 @@ const MEMBERS = {
|
|
|
5
5
|
search: { reach: 'within', effect: 'read' },
|
|
6
6
|
types: { reach: 'within', effect: 'read' },
|
|
7
7
|
save: { reach: 'within', effect: 'write' },
|
|
8
|
+
saveParts: { reach: 'within', effect: 'write' },
|
|
8
9
|
history: { reach: 'within', effect: 'read' },
|
|
9
10
|
'binaryFile.read': { reach: 'within', effect: 'read' },
|
|
10
11
|
'binaryFile.link': { reach: 'within', effect: 'read' },
|
|
@@ -32,6 +33,7 @@ const MEMBERS = {
|
|
|
32
33
|
'conversation.cancel': { reach: 'within', effect: 'action' },
|
|
33
34
|
'conversation.delete': { reach: 'within', effect: 'action' },
|
|
34
35
|
'chatDraft.write': { reach: 'within', effect: 'write' },
|
|
36
|
+
'chatDraft.prepend': { reach: 'within', effect: 'write' },
|
|
35
37
|
'chatDraft.discard': { reach: 'within', effect: 'write' },
|
|
36
38
|
};
|
|
37
39
|
const TOPICS = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentshouse/mdruntime",
|
|
3
|
-
"version": "0.1.0-
|
|
3
|
+
"version": "0.1.0-cb9c79aee537a",
|
|
4
4
|
"description": "The headless core of MD App",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"LICENSE"
|
|
50
50
|
],
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@agentshouse/mdmodel": "0.1.0-
|
|
52
|
+
"@agentshouse/mdmodel": "0.1.0-cbce4f1da228f",
|
|
53
53
|
"@assistant-ui/react-markdown": "0.14.20",
|
|
54
54
|
"@tanstack/db": "0.9.2",
|
|
55
55
|
"lucide-react": "1.47.0",
|
package/dist/acquisition.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export type RuntimeDemand = {
|
|
2
|
-
readonly whole: boolean;
|
|
3
|
-
readonly rooms: readonly string[];
|
|
4
|
-
readonly handles: readonly string[];
|
|
5
|
-
readonly conversations: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare const WHOLE_DEMAND: RuntimeDemand;
|
|
8
|
-
export declare function demanded(demand: RuntimeDemand, room: {
|
|
9
|
-
readonly locator: string;
|
|
10
|
-
readonly handle: string;
|
|
11
|
-
}): boolean;
|
|
12
|
-
export declare function wider(next: RuntimeDemand, current: RuntimeDemand): boolean;
|
|
13
|
-
export declare function narrower(next: RuntimeDemand, current: RuntimeDemand): boolean;
|
|
14
|
-
//# sourceMappingURL=acquisition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acquisition.d.ts","sourceRoot":"","sources":["../src/acquisition.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,aAK1B,CAAC;AAEF,wBAAgB,QAAQ,CACtB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1D,OAAO,CAIT;AAYD,wBAAgB,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAE1E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAE7E"}
|
package/dist/acquisition.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export const WHOLE_DEMAND = {
|
|
2
|
-
whole: true,
|
|
3
|
-
rooms: [],
|
|
4
|
-
handles: [],
|
|
5
|
-
conversations: true,
|
|
6
|
-
};
|
|
7
|
-
export function demanded(demand, room) {
|
|
8
|
-
return (demand.whole || demand.rooms.includes(room.locator) || demand.handles.includes(room.handle));
|
|
9
|
-
}
|
|
10
|
-
function adds(next, current) {
|
|
11
|
-
if (current.whole)
|
|
12
|
-
return false;
|
|
13
|
-
if (next.whole)
|
|
14
|
-
return true;
|
|
15
|
-
return ((next.conversations && !current.conversations) ||
|
|
16
|
-
next.rooms.some((room) => !current.rooms.includes(room)) ||
|
|
17
|
-
next.handles.some((handle) => !current.handles.includes(handle)));
|
|
18
|
-
}
|
|
19
|
-
export function wider(next, current) {
|
|
20
|
-
return adds(next, current);
|
|
21
|
-
}
|
|
22
|
-
export function narrower(next, current) {
|
|
23
|
-
return adds(current, next);
|
|
24
|
-
}
|