@agentshouse/mdruntime 0.1.0-c969b8dee6cc8 → 0.1.0-c96e80d38e5f0
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/adapter.d.ts +134 -76
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts +5 -1
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +38 -4
- 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 +25 -10
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +180 -103
- package/dist/chain.d.ts +11 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +64 -0
- package/dist/change-set.d.ts +9 -16
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +11 -89
- package/dist/change.d.ts +31 -1
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +10 -1
- package/dist/client.d.ts +13 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +80 -7
- package/dist/collection.d.ts +10 -21
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +39 -291
- package/dist/compile.d.ts +16 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +789 -0
- package/dist/connection.d.ts +19 -15
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +3020 -1417
- package/dist/conversation.d.ts +23 -14
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +337 -179
- package/dist/digest.d.ts +7 -0
- package/dist/digest.d.ts.map +1 -0
- package/dist/digest.js +113 -0
- package/dist/durability.d.ts +2 -5
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +5 -0
- package/dist/entry.d.ts +4 -1
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +19 -23
- package/dist/file.d.ts +2 -19
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +7 -122
- package/dist/host.d.ts +4 -10
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +49 -31
- package/dist/identity.d.ts +0 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +0 -3
- package/dist/index.d.ts +14 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/live.d.ts +22 -0
- package/dist/live.d.ts.map +1 -0
- package/dist/live.js +123 -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 +11 -7
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +198 -107
- package/dist/messages.d.ts +28 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +89 -0
- package/dist/model.d.ts +6 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +7 -10
- 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 +13 -0
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +84 -0
- package/dist/opened.d.ts +22 -0
- package/dist/opened.d.ts.map +1 -0
- package/dist/opened.js +107 -0
- package/dist/outcome.d.ts +40 -8
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +38 -2
- package/dist/overlay.d.ts +2 -5
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +87 -172
- package/dist/paths.d.ts +1 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +4 -0
- package/dist/phrase.d.ts +3 -0
- package/dist/phrase.d.ts.map +1 -0
- package/dist/phrase.js +8 -0
- package/dist/query.d.ts +15 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +33 -2
- package/dist/reach.d.ts +13 -4
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +200 -81
- package/dist/react.d.ts +1 -0
- package/dist/react.d.ts.map +1 -1
- package/dist/readiness.d.ts +14 -17
- package/dist/readiness.d.ts.map +1 -1
- package/dist/readiness.js +2 -8
- package/dist/recovery.d.ts +3 -2
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +34 -7
- package/dist/refresh.d.ts +18 -15
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +155 -58
- package/dist/replica.d.ts +54 -36
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +282 -189
- package/dist/room-draft.d.ts +22 -4
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +154 -67
- package/dist/rows.d.ts +39 -31
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +178 -101
- package/dist/save.d.ts +52 -14
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +513 -185
- package/dist/search.d.ts +12 -95
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +10 -266
- package/dist/shared.d.ts +7 -3
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +119 -66
- package/dist/status.d.ts +4 -3
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +3 -1
- package/dist/store.d.ts +91 -103
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +330 -693
- package/dist/stored.d.ts +162 -0
- package/dist/stored.d.ts.map +1 -0
- package/dist/stored.js +549 -0
- package/dist/tables.d.ts +353 -0
- package/dist/tables.d.ts.map +1 -0
- package/dist/tables.js +585 -0
- package/dist/transfer.d.ts +0 -5
- package/dist/transfer.d.ts.map +1 -1
- package/dist/turn.d.ts +5 -3
- package/dist/turn.d.ts.map +1 -1
- package/dist/turn.js +51 -21
- package/dist/validation.d.ts +29 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +101 -0
- package/dist/windows.d.ts +2 -6
- package/dist/windows.d.ts.map +1 -1
- package/dist/windows.js +30 -34
- package/dist/wire.d.ts +18 -5
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +6 -2
- package/package.json +18 -19
- package/AGENTS.md +0 -305
- package/dist/acquisition.d.ts +0 -14
- package/dist/acquisition.d.ts.map +0 -1
- package/dist/acquisition.js +0 -24
- 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/context.js +0 -10
- 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 -27
- package/dist/chat/list.d.ts.map +0 -1
- package/dist/chat/list.js +0 -99
- package/dist/chat/markdown.d.ts +0 -20
- package/dist/chat/markdown.d.ts.map +0 -1
- package/dist/chat/markdown.js +0 -188
- package/dist/chat/message.d.ts +0 -6
- package/dist/chat/message.d.ts.map +0 -1
- package/dist/chat/message.js +0 -192
- package/dist/chat/messages.d.ts +0 -22
- package/dist/chat/messages.d.ts.map +0 -1
- package/dist/chat/messages.js +0 -155
- 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 -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 -63
- package/dist/chat/provider.d.ts.map +0 -1
- package/dist/chat/provider.js +0 -628
- 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 +0 -31
- package/dist/chat/questions.d.ts.map +0 -1
- package/dist/chat/questions.js +0 -111
- package/dist/chat/read.d.ts +0 -5
- package/dist/chat/read.d.ts.map +0 -1
- package/dist/chat/read.js +0 -13
- 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/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/read-side.d.ts +0 -25
- package/dist/read-side.d.ts.map +0 -1
- package/dist/read-side.js +0 -767
- package/dist/reads.d.ts +0 -11
- package/dist/reads.d.ts.map +0 -1
- package/dist/reads.js +0 -98
package/dist/turn.js
CHANGED
|
@@ -5,41 +5,71 @@ 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;
|
|
12
|
+
// A unit of runtime work ends within one 60 Hz frame so a port's next message waits at most a frame.
|
|
13
|
+
const SLICE_MS = 16;
|
|
12
14
|
export const ROW_WEIGHT = 256;
|
|
13
15
|
export function after(value, next) {
|
|
14
16
|
return value instanceof Promise ? value.then(next) : next(value);
|
|
15
17
|
}
|
|
16
|
-
|
|
17
|
-
let spent =
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
function spending() {
|
|
19
|
+
let spent = 0;
|
|
20
|
+
let since = performance.now();
|
|
21
|
+
return {
|
|
22
|
+
spend(weight) {
|
|
23
|
+
spent += weight;
|
|
24
|
+
return spent >= UNIT || performance.now() - since >= SLICE_MS;
|
|
25
|
+
},
|
|
26
|
+
restart() {
|
|
21
27
|
spent = 0;
|
|
28
|
+
since = performance.now();
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export function paced() {
|
|
33
|
+
const spent = spending();
|
|
34
|
+
return (weight) => (spent.spend(weight) ? yielded().then(() => spent.restart()) : undefined);
|
|
35
|
+
}
|
|
36
|
+
async function resumed(iterator, each, ended, paused) {
|
|
37
|
+
const spent = spending();
|
|
38
|
+
for (let due = true;;) {
|
|
39
|
+
if (due) {
|
|
40
|
+
await paused();
|
|
41
|
+
spent.restart();
|
|
22
42
|
}
|
|
23
|
-
|
|
43
|
+
const next = iterator.next();
|
|
44
|
+
if (next.done === true)
|
|
45
|
+
break;
|
|
46
|
+
due = spent.spend(each(next.value));
|
|
47
|
+
if (due)
|
|
48
|
+
ended();
|
|
24
49
|
}
|
|
50
|
+
ended();
|
|
25
51
|
}
|
|
26
|
-
export function inUnits(items, each) {
|
|
52
|
+
export function inUnits(items, each, ended = () => { }, paused = yielded) {
|
|
27
53
|
const iterator = items[Symbol.iterator]();
|
|
28
|
-
|
|
54
|
+
const spent = spending();
|
|
29
55
|
for (let next = iterator.next(); next.done !== true; next = iterator.next()) {
|
|
30
|
-
spent
|
|
31
|
-
|
|
32
|
-
return resumed(iterator, each);
|
|
56
|
+
if (spent.spend(each(next.value))) {
|
|
57
|
+
ended();
|
|
58
|
+
return resumed(iterator, each, ended, paused);
|
|
59
|
+
}
|
|
33
60
|
}
|
|
61
|
+
ended();
|
|
34
62
|
}
|
|
35
|
-
export
|
|
36
|
-
for (let
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
for (let spent = 0; at < items.length && spent < UNIT; at += 1) {
|
|
40
|
-
chunk.push(items[at]);
|
|
41
|
-
spent += weigh(items[at]);
|
|
42
|
-
}
|
|
43
|
-
each(chunk);
|
|
63
|
+
export function finished(steps) {
|
|
64
|
+
for (let step = steps.next();; step = steps.next()) {
|
|
65
|
+
if (step.done === true)
|
|
66
|
+
return step.value;
|
|
44
67
|
}
|
|
45
68
|
}
|
|
69
|
+
export function stepped(steps) {
|
|
70
|
+
let result;
|
|
71
|
+
const driven = function* () {
|
|
72
|
+
result = yield* steps;
|
|
73
|
+
};
|
|
74
|
+
return after(inUnits(driven(), (weight) => weight), () => result);
|
|
75
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Validation } from '@agentshouse/mdmodel';
|
|
2
|
+
import { type Composition } from './collection.js';
|
|
3
|
+
type Examined = {
|
|
4
|
+
readonly path: string;
|
|
5
|
+
readonly content: string | null;
|
|
6
|
+
};
|
|
7
|
+
export type Typed = {
|
|
8
|
+
readonly type: string | undefined;
|
|
9
|
+
readonly binary: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type Walk = (after: string | null) => Promise<{
|
|
12
|
+
readonly entries: readonly Examined[];
|
|
13
|
+
readonly next: string | null;
|
|
14
|
+
}>;
|
|
15
|
+
export type Lookup = (paths: readonly string[]) => Promise<ReadonlyMap<string, Typed>>;
|
|
16
|
+
export declare function validatedCollection(walk: Walk, lookup: Lookup, composition: Composition): Promise<Validation>;
|
|
17
|
+
export type Changed = {
|
|
18
|
+
readonly path: string;
|
|
19
|
+
readonly was: string | null | undefined;
|
|
20
|
+
readonly now: string | null | undefined;
|
|
21
|
+
};
|
|
22
|
+
type Neighbourhood = {
|
|
23
|
+
readonly lookup: Lookup;
|
|
24
|
+
readonly texts: (paths: readonly string[]) => Promise<ReadonlyMap<string, string | null>>;
|
|
25
|
+
readonly referrers: (targets: readonly string[]) => Promise<readonly string[]>;
|
|
26
|
+
};
|
|
27
|
+
export declare function validatedNeighbourhood(changes: readonly Changed[], composition: Composition, source: Neighbourhood): Promise<Validation>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,UAAU,EAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM7D,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,IAAI,GAAG,CACjB,KAAK,EAAE,MAAM,GAAG,IAAI,KACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC;AAEtF,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAyBvF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,CAAC,CAyCrB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAChF,CAAC;AAkBF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { assess, parse, parseFrontmatter, verdicts, } from '@agentshouse/mdmodel';
|
|
2
|
+
import { selected } from './collection.js';
|
|
3
|
+
import { paced, ROW_WEIGHT, yielded } from './turn.js';
|
|
4
|
+
const NO_TYPES = { types: {} };
|
|
5
|
+
function modelOf(model) {
|
|
6
|
+
return model.status === 'unavailable' ? NO_TYPES : { types: model.types };
|
|
7
|
+
}
|
|
8
|
+
function typedText(content) {
|
|
9
|
+
const read = parse(content);
|
|
10
|
+
return read.ok && read.document.type !== undefined && read.document.type !== 'any';
|
|
11
|
+
}
|
|
12
|
+
function partVerdict(part) {
|
|
13
|
+
return part.unmodeled !== null
|
|
14
|
+
? { verdict: 'refuse', rule: 'model-unavailable', file: part.unmodeled }
|
|
15
|
+
: part.judged.verdict();
|
|
16
|
+
}
|
|
17
|
+
export async function validatedCollection(walk, lookup, composition) {
|
|
18
|
+
const collection = { model: composition.model, judged: verdicts(), unmodeled: null };
|
|
19
|
+
const selection = composition.selection === null
|
|
20
|
+
? null
|
|
21
|
+
: { model: composition.selection.model, judged: verdicts(), unmodeled: null };
|
|
22
|
+
const partOf = (path) => selection !== null && selected(composition, path) ? selection : collection;
|
|
23
|
+
const pace = paced();
|
|
24
|
+
for (let after = null;;) {
|
|
25
|
+
const { entries, next } = await walk(after);
|
|
26
|
+
const assessed = [];
|
|
27
|
+
for (const { path, content } of entries) {
|
|
28
|
+
if (content === null)
|
|
29
|
+
continue;
|
|
30
|
+
const part = partOf(path);
|
|
31
|
+
if (part.model.status === 'unavailable' && part.unmodeled === null && typedText(content)) {
|
|
32
|
+
part.unmodeled = path;
|
|
33
|
+
}
|
|
34
|
+
const assessment = assess(path, content, false, modelOf(part.model), { anyRoom: true });
|
|
35
|
+
assessed.push({ part, assessment });
|
|
36
|
+
await pace(content.length + assessment.targets.length * ROW_WEIGHT);
|
|
37
|
+
}
|
|
38
|
+
const targets = [...new Set(assessed.flatMap(({ assessment }) => assessment.targets))];
|
|
39
|
+
const known = await lookup(targets);
|
|
40
|
+
for (const { part, assessment } of assessed) {
|
|
41
|
+
const within = (path) => partOf(path) === part;
|
|
42
|
+
part.judged.add(assessment, (path) => (within(path) ? known.get(path)?.type : undefined), (path) => within(path) && known.get(path)?.binary === true);
|
|
43
|
+
await pace((assessment.targets.length + 1) * ROW_WEIGHT);
|
|
44
|
+
}
|
|
45
|
+
if (next === null)
|
|
46
|
+
break;
|
|
47
|
+
after = next;
|
|
48
|
+
await yielded();
|
|
49
|
+
}
|
|
50
|
+
const judged = [partVerdict(collection), ...(selection === null ? [] : [partVerdict(selection)])];
|
|
51
|
+
const refusals = judged.filter((verdict) => verdict.verdict === 'refuse');
|
|
52
|
+
if (refusals.length === 0)
|
|
53
|
+
return judged[0];
|
|
54
|
+
return refusals.find((refusal) => refusal.rule !== 'model-unavailable') ?? refusals[0];
|
|
55
|
+
}
|
|
56
|
+
function declared(content) {
|
|
57
|
+
if (content === undefined || content === null)
|
|
58
|
+
return undefined;
|
|
59
|
+
const read = parseFrontmatter(content);
|
|
60
|
+
return read.ok ? (read.frontmatter.type ?? 'any') : undefined;
|
|
61
|
+
}
|
|
62
|
+
function shifted({ was, now }) {
|
|
63
|
+
return ((now === undefined) !== (was === undefined) ||
|
|
64
|
+
(now === null) !== (was === null) ||
|
|
65
|
+
declared(now) !== declared(was));
|
|
66
|
+
}
|
|
67
|
+
const PAGE_TEXT = 1 << 20;
|
|
68
|
+
export async function validatedNeighbourhood(changes, composition, source) {
|
|
69
|
+
const pace = paced();
|
|
70
|
+
const changedAt = new Set();
|
|
71
|
+
const moved = [];
|
|
72
|
+
for (const change of changes) {
|
|
73
|
+
changedAt.add(change.path);
|
|
74
|
+
if (shifted(change))
|
|
75
|
+
moved.push(change.path);
|
|
76
|
+
await pace((change.now?.length ?? 0) + (change.was?.length ?? 0) + ROW_WEIGHT);
|
|
77
|
+
}
|
|
78
|
+
const referring = moved.length === 0
|
|
79
|
+
? []
|
|
80
|
+
: (await source.referrers(moved)).filter((path) => !changedAt.has(path));
|
|
81
|
+
const texts = await source.texts(referring);
|
|
82
|
+
const total = changes.length + referring.length;
|
|
83
|
+
let at = 0;
|
|
84
|
+
const walk = async () => {
|
|
85
|
+
const entries = [];
|
|
86
|
+
let text = 0;
|
|
87
|
+
while (at < total && text < PAGE_TEXT) {
|
|
88
|
+
const change = changes[at];
|
|
89
|
+
const path = change?.path ?? referring[at - changes.length];
|
|
90
|
+
const content = change === undefined ? texts.get(path) : change.now;
|
|
91
|
+
at += 1;
|
|
92
|
+
text += ROW_WEIGHT;
|
|
93
|
+
if (content === undefined || content === null)
|
|
94
|
+
continue;
|
|
95
|
+
entries.push({ path, content });
|
|
96
|
+
text += content.length;
|
|
97
|
+
}
|
|
98
|
+
return { entries, next: at < total ? String(at) : null };
|
|
99
|
+
};
|
|
100
|
+
return validatedCollection(walk, source.lookup, composition);
|
|
101
|
+
}
|
package/dist/windows.d.ts
CHANGED
|
@@ -8,19 +8,15 @@ export type Ordering = {
|
|
|
8
8
|
readonly locale: string | undefined;
|
|
9
9
|
readonly localeOptions: Intl.CollatorOptions | undefined;
|
|
10
10
|
};
|
|
11
|
-
export type Windowed<T> = {
|
|
12
|
-
readonly kept: readonly T[];
|
|
13
|
-
readonly next: string | undefined;
|
|
14
|
-
};
|
|
15
11
|
interface Placed {
|
|
16
12
|
readonly position: string;
|
|
17
13
|
readonly identity: string;
|
|
18
14
|
}
|
|
19
15
|
export declare function messageOrder(left: Placed, right: Placed): number;
|
|
20
16
|
export declare function precedes(message: Placed, before: readonly [string, string] | null): boolean;
|
|
21
|
-
export declare function
|
|
17
|
+
export declare function byCodePoint(left: string, right: string): number;
|
|
18
|
+
export declare function compared(left: unknown, right: unknown, ordering: Ordering): number;
|
|
22
19
|
export declare function cursorOf(values: readonly unknown[]): string;
|
|
23
20
|
export declare function decodedCursor(text: string): readonly unknown[] | null;
|
|
24
|
-
export declare function windowed<T>(entries: readonly T[], limit: number | null, after: string | undefined, cursor: (entry: T) => string): Windowed<T>;
|
|
25
21
|
export {};
|
|
26
22
|
//# 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,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,
|
|
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,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;AAaD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAO/D;AA4BD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAMlF;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"}
|
package/dist/windows.js
CHANGED
|
@@ -13,6 +13,27 @@ export function messageOrder(left, right) {
|
|
|
13
13
|
export function precedes(message, before) {
|
|
14
14
|
return before === null || messageOrder(message, { position: before[0], identity: before[1] }) < 0;
|
|
15
15
|
}
|
|
16
|
+
function rank(value) {
|
|
17
|
+
if (typeof value === 'boolean' || typeof value === 'number')
|
|
18
|
+
return 1;
|
|
19
|
+
if (typeof value === 'string')
|
|
20
|
+
return 2;
|
|
21
|
+
return Array.isArray(value) ? 3 : 4;
|
|
22
|
+
}
|
|
23
|
+
function unit(code) {
|
|
24
|
+
if (code >= 0xd800 && code < 0xe000)
|
|
25
|
+
return code + 0x2000;
|
|
26
|
+
return code >= 0xe000 ? code - 0x800 : code;
|
|
27
|
+
}
|
|
28
|
+
export function byCodePoint(left, right) {
|
|
29
|
+
for (let at = 0; at < Math.min(left.length, right.length); at += 1) {
|
|
30
|
+
const ours = left.charCodeAt(at);
|
|
31
|
+
const theirs = right.charCodeAt(at);
|
|
32
|
+
if (ours !== theirs)
|
|
33
|
+
return unit(ours) - unit(theirs);
|
|
34
|
+
}
|
|
35
|
+
return left.length - right.length;
|
|
36
|
+
}
|
|
16
37
|
function ascending(left, right, ordering) {
|
|
17
38
|
if (left == null && right == null)
|
|
18
39
|
return 0;
|
|
@@ -20,8 +41,13 @@ function ascending(left, right, ordering) {
|
|
|
20
41
|
return ordering.nulls === 'first' ? -1 : 1;
|
|
21
42
|
if (right == null)
|
|
22
43
|
return ordering.nulls === 'first' ? 1 : -1;
|
|
23
|
-
|
|
24
|
-
|
|
44
|
+
const ranked = rank(left) - rank(right);
|
|
45
|
+
if (ranked !== 0)
|
|
46
|
+
return ranked;
|
|
47
|
+
if (typeof left === 'string' && typeof right === 'string') {
|
|
48
|
+
return ordering.stringSort === 'locale'
|
|
49
|
+
? left.localeCompare(right, ordering.locale, ordering.localeOptions)
|
|
50
|
+
: byCodePoint(left, right);
|
|
25
51
|
}
|
|
26
52
|
if (Array.isArray(left) && Array.isArray(right)) {
|
|
27
53
|
for (let at = 0; at < Math.min(left.length, right.length); at += 1) {
|
|
@@ -32,9 +58,7 @@ function ascending(left, right, ordering) {
|
|
|
32
58
|
return left.length - right.length;
|
|
33
59
|
}
|
|
34
60
|
if (typeof left === 'object')
|
|
35
|
-
return
|
|
36
|
-
if (typeof right === 'object')
|
|
37
|
-
return -1;
|
|
61
|
+
return 0;
|
|
38
62
|
const held = left;
|
|
39
63
|
const other = right;
|
|
40
64
|
if (held < other)
|
|
@@ -43,7 +67,7 @@ function ascending(left, right, ordering) {
|
|
|
43
67
|
return 1;
|
|
44
68
|
return 0;
|
|
45
69
|
}
|
|
46
|
-
function compared(left, right, ordering) {
|
|
70
|
+
export function compared(left, right, ordering) {
|
|
47
71
|
if (ordering.direction === 'asc')
|
|
48
72
|
return ascending(left, right, ordering);
|
|
49
73
|
return ascending(right, left, {
|
|
@@ -51,25 +75,6 @@ function compared(left, right, ordering) {
|
|
|
51
75
|
nulls: ordering.nulls === 'first' ? 'last' : 'first',
|
|
52
76
|
});
|
|
53
77
|
}
|
|
54
|
-
function keyCompared(left, right) {
|
|
55
|
-
if (typeof left !== typeof right)
|
|
56
|
-
return typeof left === 'string' ? -1 : 1;
|
|
57
|
-
const held = left;
|
|
58
|
-
const other = right;
|
|
59
|
-
if (held < other)
|
|
60
|
-
return -1;
|
|
61
|
-
if (held > other)
|
|
62
|
-
return 1;
|
|
63
|
-
return 0;
|
|
64
|
-
}
|
|
65
|
-
export function beyond(values, cursor, orderings) {
|
|
66
|
-
for (let at = 0; at < orderings.length; at += 1) {
|
|
67
|
-
const result = compared(values[at], cursor[at], orderings[at]);
|
|
68
|
-
if (result !== 0)
|
|
69
|
-
return result > 0;
|
|
70
|
-
}
|
|
71
|
-
return keyCompared(values[orderings.length], cursor[orderings.length]) > 0;
|
|
72
|
-
}
|
|
73
78
|
export function cursorOf(values) {
|
|
74
79
|
return JSON.stringify(values);
|
|
75
80
|
}
|
|
@@ -82,12 +87,3 @@ export function decodedCursor(text) {
|
|
|
82
87
|
return null;
|
|
83
88
|
}
|
|
84
89
|
}
|
|
85
|
-
export function windowed(entries, limit, after, cursor) {
|
|
86
|
-
if (limit === null || entries.length <= limit)
|
|
87
|
-
return { kept: entries, next: undefined };
|
|
88
|
-
const kept = entries.slice(0, limit);
|
|
89
|
-
return {
|
|
90
|
-
kept,
|
|
91
|
-
next: kept.length === 0 ? (after ?? FROM_START) : cursor(kept[kept.length - 1]),
|
|
92
|
-
};
|
|
93
|
-
}
|
package/dist/wire.d.ts
CHANGED
|
@@ -42,6 +42,10 @@ declare const MEMBERS: {
|
|
|
42
42
|
readonly reach: 'within';
|
|
43
43
|
readonly effect: 'read';
|
|
44
44
|
};
|
|
45
|
+
readonly resolve: {
|
|
46
|
+
readonly reach: 'within';
|
|
47
|
+
readonly effect: 'read';
|
|
48
|
+
};
|
|
45
49
|
readonly 'binaryFile.read': {
|
|
46
50
|
readonly reach: 'within';
|
|
47
51
|
readonly effect: 'read';
|
|
@@ -50,7 +54,15 @@ declare const MEMBERS: {
|
|
|
50
54
|
readonly reach: 'within';
|
|
51
55
|
readonly effect: 'read';
|
|
52
56
|
};
|
|
53
|
-
readonly 'binaryFile.
|
|
57
|
+
readonly 'binaryFile.show': {
|
|
58
|
+
readonly reach: 'within';
|
|
59
|
+
readonly effect: 'read';
|
|
60
|
+
};
|
|
61
|
+
readonly 'binaryFile.attach': {
|
|
62
|
+
readonly reach: 'within';
|
|
63
|
+
readonly effect: 'action';
|
|
64
|
+
};
|
|
65
|
+
readonly 'binaryFile.part': {
|
|
54
66
|
readonly reach: 'within';
|
|
55
67
|
readonly effect: 'read';
|
|
56
68
|
};
|
|
@@ -66,6 +78,10 @@ declare const MEMBERS: {
|
|
|
66
78
|
readonly reach: 'whole';
|
|
67
79
|
readonly effect: 'read';
|
|
68
80
|
};
|
|
81
|
+
readonly cleanUp: {
|
|
82
|
+
readonly reach: 'whole';
|
|
83
|
+
readonly effect: 'write';
|
|
84
|
+
};
|
|
69
85
|
readonly persistence: {
|
|
70
86
|
readonly reach: 'runtime';
|
|
71
87
|
readonly effect: 'read';
|
|
@@ -134,10 +150,6 @@ declare const MEMBERS: {
|
|
|
134
150
|
readonly reach: 'within';
|
|
135
151
|
readonly effect: 'action';
|
|
136
152
|
};
|
|
137
|
-
readonly 'conversation.cancel': {
|
|
138
|
-
readonly reach: 'within';
|
|
139
|
-
readonly effect: 'action';
|
|
140
|
-
};
|
|
141
153
|
readonly 'conversation.delete': {
|
|
142
154
|
readonly reach: 'within';
|
|
143
155
|
readonly effect: 'action';
|
|
@@ -164,6 +176,7 @@ declare const TOPICS: {
|
|
|
164
176
|
readonly 'sync-status': 'within';
|
|
165
177
|
readonly 'service-mode': 'runtime';
|
|
166
178
|
readonly member: 'runtime';
|
|
179
|
+
readonly 'authority-changes': 'runtime';
|
|
167
180
|
readonly query: 'within';
|
|
168
181
|
readonly queue: 'within';
|
|
169
182
|
readonly 'room-drafts': 'within';
|
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;;;iBAC3B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,OAAO;;;iBAClC,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBACrB,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;iBAC/B,KAAK,EAAE,QAAQ;iBAAE,MAAM,EAAE,MAAM;;;
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
|
package/dist/wire.js
CHANGED
|
@@ -7,12 +7,16 @@ const MEMBERS = {
|
|
|
7
7
|
save: { reach: 'within', effect: 'write' },
|
|
8
8
|
saveParts: { reach: 'within', effect: 'write' },
|
|
9
9
|
history: { reach: 'within', effect: 'read' },
|
|
10
|
+
resolve: { reach: 'within', effect: 'read' },
|
|
10
11
|
'binaryFile.read': { reach: 'within', effect: 'read' },
|
|
11
12
|
'binaryFile.link': { reach: 'within', effect: 'read' },
|
|
12
|
-
'binaryFile.
|
|
13
|
+
'binaryFile.show': { reach: 'within', effect: 'read' },
|
|
14
|
+
'binaryFile.attach': { reach: 'within', effect: 'action' },
|
|
15
|
+
'binaryFile.part': { reach: 'within', effect: 'read' },
|
|
13
16
|
call: { reach: 'actions', effect: 'action' },
|
|
14
17
|
reached: { reach: 'within', effect: 'read' },
|
|
15
18
|
log: { reach: 'whole', effect: 'read' },
|
|
19
|
+
cleanUp: { reach: 'whole', effect: 'write' },
|
|
16
20
|
persistence: { reach: 'runtime', effect: 'read' },
|
|
17
21
|
retry: { reach: 'runtime', effect: 'write' },
|
|
18
22
|
reauthorize: { reach: 'runtime', effect: 'write' },
|
|
@@ -30,7 +34,6 @@ const MEMBERS = {
|
|
|
30
34
|
'conversation.answer': { reach: 'within', effect: 'action' },
|
|
31
35
|
'conversation.interrupt': { reach: 'within', effect: 'action' },
|
|
32
36
|
'conversation.kill': { reach: 'within', effect: 'action' },
|
|
33
|
-
'conversation.cancel': { reach: 'within', effect: 'action' },
|
|
34
37
|
'conversation.delete': { reach: 'within', effect: 'action' },
|
|
35
38
|
'chatDraft.write': { reach: 'within', effect: 'write' },
|
|
36
39
|
'chatDraft.prepend': { reach: 'within', effect: 'write' },
|
|
@@ -45,6 +48,7 @@ const TOPICS = {
|
|
|
45
48
|
'sync-status': 'within',
|
|
46
49
|
'service-mode': 'runtime',
|
|
47
50
|
member: 'runtime',
|
|
51
|
+
'authority-changes': 'runtime',
|
|
48
52
|
query: 'within',
|
|
49
53
|
queue: 'within',
|
|
50
54
|
'room-drafts': 'within',
|
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-c96e80d38e5f0",
|
|
4
4
|
"description": "The headless core of MD App",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"access": "public"
|
|
10
10
|
},
|
|
11
11
|
"engines": {
|
|
12
|
-
"node": ">=24.
|
|
12
|
+
"node": ">=24.22.1"
|
|
13
13
|
},
|
|
14
14
|
"exports": {
|
|
15
15
|
".": {
|
|
@@ -32,37 +32,36 @@
|
|
|
32
32
|
"types": "./dist/memory.d.ts",
|
|
33
33
|
"default": "./dist/memory.js"
|
|
34
34
|
},
|
|
35
|
+
"./tables": {
|
|
36
|
+
"types": "./dist/tables.d.ts",
|
|
37
|
+
"default": "./dist/tables.js"
|
|
38
|
+
},
|
|
35
39
|
"./react": {
|
|
36
40
|
"types": "./dist/react.d.ts",
|
|
37
41
|
"default": "./dist/react.js"
|
|
38
42
|
},
|
|
39
|
-
"./
|
|
40
|
-
"types": "./dist/
|
|
41
|
-
"default": "./dist/
|
|
43
|
+
"./digest": {
|
|
44
|
+
"types": "./dist/digest.d.ts",
|
|
45
|
+
"default": "./dist/digest.js"
|
|
42
46
|
},
|
|
43
47
|
"./package.json": "./package.json"
|
|
44
48
|
},
|
|
45
49
|
"files": [
|
|
46
50
|
"dist",
|
|
47
|
-
"
|
|
51
|
+
"!dist/chat.*",
|
|
52
|
+
"!dist/chat/",
|
|
48
53
|
"README.md",
|
|
49
54
|
"LICENSE"
|
|
50
55
|
],
|
|
51
56
|
"dependencies": {
|
|
52
|
-
"@agentshouse/mdmodel": "0.1.0-
|
|
53
|
-
"@assistant-ui/react-markdown": "0.14.20",
|
|
54
|
-
"@tanstack/db": "0.9.2",
|
|
55
|
-
"lucide-react": "1.47.0",
|
|
56
|
-
"mdast-util-from-markdown": "2.0.3",
|
|
57
|
-
"mdast-util-gfm": "3.1.0",
|
|
58
|
-
"micromark-extension-gfm": "3.0.0",
|
|
59
|
-
"minisearch": "7.2.0",
|
|
60
|
-
"radix-ui": "1.8.0",
|
|
61
|
-
"remark-gfm": "4.0.1"
|
|
57
|
+
"@agentshouse/mdmodel": "0.1.0-cc58fdf3541b7"
|
|
62
58
|
},
|
|
63
59
|
"peerDependencies": {
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
"react": ">=18"
|
|
61
|
+
},
|
|
62
|
+
"repository": {
|
|
63
|
+
"type": "git",
|
|
64
|
+
"url": "git+https://github.com/agentshouse/core.git",
|
|
65
|
+
"directory": "mdruntime/packages/mdruntime"
|
|
67
66
|
}
|
|
68
67
|
}
|