@agentshouse/mdruntime 0.1.0-cec6690d5712e → 0.1.0-cedb03eaa48b6
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 +277 -271
- package/README.md +8 -8
- package/dist/adapter.d.ts +85 -20
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attempt.d.ts.map +1 -1
- package/dist/attempt.js +14 -1
- 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 +3 -2
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +37 -14
- package/dist/change-set.d.ts +2 -0
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +40 -13
- package/dist/change.d.ts +11 -0
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +26 -1
- package/dist/chat/acts.d.ts +3 -4
- package/dist/chat/acts.d.ts.map +1 -1
- package/dist/chat/acts.js +10 -10
- package/dist/chat/earlier.d.ts +10 -0
- package/dist/chat/earlier.d.ts.map +1 -0
- package/dist/chat/earlier.js +54 -0
- package/dist/chat/kit.d.ts +2 -1
- package/dist/chat/kit.d.ts.map +1 -1
- package/dist/chat/kit.js +3 -3
- package/dist/chat/list.d.ts +8 -1
- package/dist/chat/list.d.ts.map +1 -1
- package/dist/chat/list.js +48 -8
- package/dist/chat/markdown.d.ts +2 -1
- package/dist/chat/markdown.d.ts.map +1 -1
- package/dist/chat/markdown.js +7 -6
- package/dist/chat/message.d.ts.map +1 -1
- package/dist/chat/message.js +2 -2
- package/dist/chat/messages.d.ts +1 -0
- package/dist/chat/messages.d.ts.map +1 -1
- package/dist/chat/messages.js +4 -0
- package/dist/chat/provider.d.ts +1 -1
- package/dist/chat/provider.d.ts.map +1 -1
- package/dist/chat/provider.js +62 -79
- package/dist/chat/question.d.ts +1 -1
- package/dist/chat/question.d.ts.map +1 -1
- package/dist/chat/question.js +7 -18
- package/dist/chat/ready.d.ts +1 -0
- package/dist/chat/ready.d.ts.map +1 -1
- package/dist/chat/ready.js +4 -4
- package/dist/chat/style.js +5 -5
- package/dist/client.d.ts +22 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +23 -6
- package/dist/collection.d.ts +17 -3
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +260 -19
- package/dist/connection.d.ts +39 -12
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +1769 -385
- package/dist/conversation.d.ts +20 -7
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +474 -163
- package/dist/durability.d.ts +7 -1
- package/dist/durability.d.ts.map +1 -1
- package/dist/entry.d.ts +17 -0
- package/dist/entry.d.ts.map +1 -0
- package/dist/entry.js +157 -0
- package/dist/fence.d.ts +6 -0
- package/dist/fence.d.ts.map +1 -0
- package/dist/fence.js +10 -0
- package/dist/host.d.ts +15 -3
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +98 -12
- package/dist/identity.d.ts +3 -0
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +9 -0
- package/dist/index.d.ts +12 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/memory.d.ts +10 -4
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +64 -17
- package/dist/model.d.ts +4 -2
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +10 -1
- package/dist/observation.d.ts +7 -2
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +29 -12
- package/dist/outcome.d.ts +17 -1
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +10 -0
- package/dist/overlay.d.ts +15 -2
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +99 -62
- package/dist/query.d.ts +58 -4
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +36 -7
- package/dist/reach.d.ts +8 -3
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +53 -6
- package/dist/react.d.ts +8 -6
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +7 -17
- package/dist/read-side.d.ts +16 -7
- package/dist/read-side.d.ts.map +1 -1
- package/dist/read-side.js +493 -102
- package/dist/readiness.d.ts +53 -0
- package/dist/readiness.d.ts.map +1 -0
- package/dist/readiness.js +33 -0
- package/dist/reads.d.ts +11 -0
- package/dist/reads.d.ts.map +1 -0
- package/dist/reads.js +98 -0
- package/dist/recovery.d.ts +25 -0
- package/dist/recovery.d.ts.map +1 -0
- package/dist/recovery.js +197 -0
- package/dist/refresh.d.ts +4 -4
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +27 -25
- package/dist/replica.d.ts +11 -4
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +106 -48
- package/dist/room-draft.d.ts +32 -3
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +121 -3
- package/dist/rows.d.ts +8 -13
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +12 -13
- package/dist/save.d.ts +29 -0
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +358 -30
- package/dist/search.d.ts +49 -6
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +192 -47
- package/dist/seed.d.ts +16 -0
- package/dist/seed.d.ts.map +1 -0
- package/dist/seed.js +75 -0
- package/dist/shared.d.ts +11 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +368 -0
- package/dist/status.d.ts +4 -0
- package/dist/status.d.ts.map +1 -1
- package/dist/store.d.ts +68 -21
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +463 -206
- package/dist/turn.d.ts +7 -0
- package/dist/turn.d.ts.map +1 -0
- package/dist/turn.js +51 -0
- package/dist/windows.d.ts +26 -0
- package/dist/windows.d.ts.map +1 -0
- package/dist/windows.js +93 -0
- package/dist/wire.d.ts +152 -30
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +52 -29
- package/package.json +12 -8
- package/dist/attachment.d.ts +0 -3
- package/dist/attachment.d.ts.map +0 -1
- package/dist/attachment.js +0 -8
package/dist/durability.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import type { Persistence } from './readiness.js';
|
|
2
|
+
export type StorageEstimate = {
|
|
3
|
+
readonly usage: number;
|
|
4
|
+
readonly quota: number;
|
|
5
|
+
};
|
|
1
6
|
export type RuntimeShell = {
|
|
2
|
-
|
|
7
|
+
persistence: Persistence;
|
|
3
8
|
generation: string | null;
|
|
4
9
|
keepGeneration(value: string): void | Promise<void>;
|
|
5
10
|
dropGeneration(): void | Promise<void>;
|
|
11
|
+
estimate?(): Promise<StorageEstimate | null>;
|
|
6
12
|
};
|
|
7
13
|
export declare function detectStorageLoss(stored: string | null, reported: string | null): string | null;
|
|
8
14
|
export declare function nextGeneration(stored: string | null, reported: string | null): string;
|
package/dist/durability.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durability.d.ts","sourceRoot":"","sources":["../src/durability.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"durability.d.ts","sourceRoot":"","sources":["../src/durability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,cAAc,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;CAC9C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAG/F;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGrF"}
|
package/dist/entry.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type QueryRows } from './query.js';
|
|
2
|
+
export { QueryError } from './query.js';
|
|
3
|
+
export type EntryRoom = {
|
|
4
|
+
locator: string;
|
|
5
|
+
schema: string | null;
|
|
6
|
+
documents: Readonly<Record<string, string>>;
|
|
7
|
+
};
|
|
8
|
+
export type EntryArguments = Readonly<Record<string, string>>;
|
|
9
|
+
export type EntryParameterKind = 'string' | 'integer' | 'number' | 'boolean';
|
|
10
|
+
export declare function boundQuery(template: unknown, args: EntryArguments): unknown;
|
|
11
|
+
export declare function entryParameters(template: unknown): readonly string[];
|
|
12
|
+
export declare function entryRefusal(template: unknown): string | null;
|
|
13
|
+
export type EntryScope = {
|
|
14
|
+
results(queries: Readonly<Record<string, unknown>>): Promise<Record<string, QueryRows>>;
|
|
15
|
+
};
|
|
16
|
+
export declare function entryScope(rooms: readonly EntryRoom[]): EntryScope;
|
|
17
|
+
//# sourceMappingURL=entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,SAAS,EAEf,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AA0D7E,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAE3E;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAMpE;AAkCD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQ7D;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CACzF,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,UAAU,CAuDlE"}
|
package/dist/entry.js
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { attachedModel } from './attached-model.js';
|
|
2
|
+
import { collectionOf, passingFrontmatter } from './collection.js';
|
|
3
|
+
import { NO_MODEL } from './model.js';
|
|
4
|
+
import { invalid, planOf, plain, QueryError, } from './query.js';
|
|
5
|
+
import { createReadSide } from './read-side.js';
|
|
6
|
+
import { rowsOf } from './rows.js';
|
|
7
|
+
export { QueryError } from './query.js';
|
|
8
|
+
const PARAMETER = '$param';
|
|
9
|
+
const KIND = 'as';
|
|
10
|
+
const INTEGER = /^-?(?:0|[1-9][0-9]*)$/u;
|
|
11
|
+
const NUMBER = /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$/u;
|
|
12
|
+
function parameterOf(value) {
|
|
13
|
+
if (!plain(value) || !Object.hasOwn(value, PARAMETER))
|
|
14
|
+
return null;
|
|
15
|
+
const { [PARAMETER]: name, [KIND]: kind = 'string', ...rest } = value;
|
|
16
|
+
if (typeof name !== 'string' || Object.keys(rest).length > 0)
|
|
17
|
+
return null;
|
|
18
|
+
if (kind !== 'string' && kind !== 'integer' && kind !== 'number' && kind !== 'boolean') {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return { name, kind };
|
|
22
|
+
}
|
|
23
|
+
function converted(text, kind, at) {
|
|
24
|
+
if (kind === 'string')
|
|
25
|
+
return text;
|
|
26
|
+
if (kind === 'boolean') {
|
|
27
|
+
if (text === 'true' || text === 'false')
|
|
28
|
+
return text === 'true';
|
|
29
|
+
return invalid(at, 'expects true or false');
|
|
30
|
+
}
|
|
31
|
+
if (!(kind === 'integer' ? INTEGER : NUMBER).test(text))
|
|
32
|
+
invalid(at, `expects ${kind === 'integer' ? 'an integer' : 'a number'}`);
|
|
33
|
+
const number = Number(text);
|
|
34
|
+
if (!Number.isFinite(number) || (kind === 'integer' && !Number.isSafeInteger(number))) {
|
|
35
|
+
invalid(at, 'is out of range');
|
|
36
|
+
}
|
|
37
|
+
return number;
|
|
38
|
+
}
|
|
39
|
+
function bound(template, args, at) {
|
|
40
|
+
const parameter = parameterOf(template);
|
|
41
|
+
if (parameter !== null) {
|
|
42
|
+
const text = args[parameter.name];
|
|
43
|
+
if (text === undefined || !Object.hasOwn(args, parameter.name)) {
|
|
44
|
+
invalid(at, `names the parameter ${parameter.name}, which the route lacks`);
|
|
45
|
+
}
|
|
46
|
+
return converted(text, parameter.kind, at);
|
|
47
|
+
}
|
|
48
|
+
if (Array.isArray(template)) {
|
|
49
|
+
return template.map((item, index) => bound(item, args, `${at}[${index}]`));
|
|
50
|
+
}
|
|
51
|
+
if (plain(template)) {
|
|
52
|
+
return Object.fromEntries(Object.entries(template).map(([name, value]) => [
|
|
53
|
+
name,
|
|
54
|
+
bound(value, args, at === '' ? name : `${at}.${name}`),
|
|
55
|
+
]));
|
|
56
|
+
}
|
|
57
|
+
return template;
|
|
58
|
+
}
|
|
59
|
+
export function boundQuery(template, args) {
|
|
60
|
+
return bound(template, args, '');
|
|
61
|
+
}
|
|
62
|
+
export function entryParameters(template) {
|
|
63
|
+
const parameter = parameterOf(template);
|
|
64
|
+
if (parameter !== null)
|
|
65
|
+
return [parameter.name];
|
|
66
|
+
if (Array.isArray(template))
|
|
67
|
+
return [...new Set(template.flatMap(entryParameters))];
|
|
68
|
+
if (plain(template))
|
|
69
|
+
return [...new Set(Object.values(template).flatMap(entryParameters))];
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
const SAMPLED = {
|
|
73
|
+
direction: 'asc',
|
|
74
|
+
nulls: 'last',
|
|
75
|
+
stringSort: 'lexical',
|
|
76
|
+
locale: 'en',
|
|
77
|
+
limit: 0,
|
|
78
|
+
pathPrefix: 'entry',
|
|
79
|
+
field: '/entry',
|
|
80
|
+
fields: '/entry',
|
|
81
|
+
types: 'any',
|
|
82
|
+
$in: 'entry',
|
|
83
|
+
$nin: 'entry',
|
|
84
|
+
$all: 'entry',
|
|
85
|
+
$size: 0,
|
|
86
|
+
$exists: true,
|
|
87
|
+
$gt: 0,
|
|
88
|
+
$gte: 0,
|
|
89
|
+
$lt: 0,
|
|
90
|
+
$lte: 0,
|
|
91
|
+
};
|
|
92
|
+
function sampled(template, key) {
|
|
93
|
+
if (parameterOf(template) !== null)
|
|
94
|
+
return Object.hasOwn(SAMPLED, key) ? SAMPLED[key] : null;
|
|
95
|
+
if (Array.isArray(template))
|
|
96
|
+
return template.map((item) => sampled(item, key));
|
|
97
|
+
if (plain(template)) {
|
|
98
|
+
return Object.fromEntries(Object.entries(template).map(([name, value]) => [name, sampled(value, name)]));
|
|
99
|
+
}
|
|
100
|
+
return template;
|
|
101
|
+
}
|
|
102
|
+
export function entryRefusal(template) {
|
|
103
|
+
try {
|
|
104
|
+
planOf(sampled(template, ''), { listed: false, rooms: [] });
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
if (error instanceof QueryError)
|
|
109
|
+
return error.message;
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export function entryScope(rooms) {
|
|
114
|
+
const readSide = createReadSide();
|
|
115
|
+
const held = [];
|
|
116
|
+
const documents = rooms.flatMap((room) => {
|
|
117
|
+
const model = attachedModel({
|
|
118
|
+
kind: 'model',
|
|
119
|
+
snapshot: { identity: room.locator, version: '', schema: room.schema, revision: null },
|
|
120
|
+
}, NO_MODEL).state;
|
|
121
|
+
held.push({
|
|
122
|
+
locator: room.locator,
|
|
123
|
+
available: model.status !== 'unavailable',
|
|
124
|
+
types: model.status === 'unavailable' ? [] : Object.values(model.types),
|
|
125
|
+
});
|
|
126
|
+
const composition = { model, selection: null };
|
|
127
|
+
const collection = collectionOf(room.documents, composition);
|
|
128
|
+
return Object.keys(room.documents)
|
|
129
|
+
.sort()
|
|
130
|
+
.map((path) => ({
|
|
131
|
+
locator: room.locator,
|
|
132
|
+
path,
|
|
133
|
+
before: [],
|
|
134
|
+
after: rowsOf(room.locator, path, passingFrontmatter(collection, path) ?? null, composition, null, null, null),
|
|
135
|
+
}));
|
|
136
|
+
});
|
|
137
|
+
const seeded = readSide.apply({
|
|
138
|
+
documents,
|
|
139
|
+
drafts: [],
|
|
140
|
+
rooms: [],
|
|
141
|
+
queues: [],
|
|
142
|
+
presentations: [],
|
|
143
|
+
messages: [],
|
|
144
|
+
conversations: [],
|
|
145
|
+
});
|
|
146
|
+
const planned = { listed: true, rooms: held };
|
|
147
|
+
return {
|
|
148
|
+
async results(queries) {
|
|
149
|
+
await seeded;
|
|
150
|
+
const results = {};
|
|
151
|
+
for (const [name, query] of Object.entries(queries)) {
|
|
152
|
+
results[name] = (await readSide.query(planOf(query, planned), () => null)).rows;
|
|
153
|
+
}
|
|
154
|
+
return results;
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
}
|
package/dist/fence.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fence.d.ts","sourceRoot":"","sources":["../src/fence.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAS,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;;IAG9C,YAAY,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAG/C;IAEQ,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAE5C;CACF"}
|
package/dist/fence.js
ADDED
package/dist/host.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type MdRuntimeOptions } from './connection.js';
|
|
2
2
|
import type { PortReach } from './reach.js';
|
|
3
|
+
import type { CapacityCause, CodeAvailability, Persistence, Readiness, SearchObligation } from './readiness.js';
|
|
4
|
+
import type { EntrySeed } from './seed.js';
|
|
3
5
|
import { type RuntimePort } from './wire.js';
|
|
4
6
|
export type MdRuntimeHostOptions = MdRuntimeOptions & {
|
|
5
7
|
deploymentFacts?: unknown;
|
|
@@ -7,14 +9,24 @@ export type MdRuntimeHostOptions = MdRuntimeOptions & {
|
|
|
7
9
|
export type AttachedPort = {
|
|
8
10
|
detach(): void;
|
|
9
11
|
narrow(reach: PortReach): void;
|
|
12
|
+
readiness(deliver: (readiness: Readiness) => void): () => void;
|
|
13
|
+
answered(queries: readonly unknown[], done: () => void): void;
|
|
14
|
+
code(code: CodeAvailability, capacity: CapacityCause | null): void;
|
|
15
|
+
search(search: SearchObligation): void;
|
|
10
16
|
};
|
|
11
17
|
export type MdRuntimeHost = {
|
|
12
|
-
attach(port: RuntimePort, app: string, release?: string, reach?: PortReach): AttachedPort;
|
|
13
|
-
|
|
18
|
+
attach(port: RuntimePort, app: string, release?: string, reach?: PortReach, code?: CodeAvailability, search?: SearchObligation): AttachedPort;
|
|
19
|
+
seed(entry: EntrySeed): void;
|
|
20
|
+
persisted(answer: Persistence): void;
|
|
21
|
+
endAuthorization(holder?: string): Promise<void>;
|
|
22
|
+
lose(locators: readonly string[]): Promise<void>;
|
|
14
23
|
stop(): Promise<void>;
|
|
15
24
|
};
|
|
16
25
|
export declare function serveMdRuntime(options: MdRuntimeHostOptions): MdRuntimeHost;
|
|
26
|
+
export { entrySeedOf, type EntrySeed } from './seed.js';
|
|
17
27
|
export type { PortReach, ReachedDocument } from './reach.js';
|
|
18
|
-
export {
|
|
28
|
+
export type { CapacityCause, CodeAvailability, Persistence, SearchObligation, } from './readiness.js';
|
|
29
|
+
export { createRecovery, retryDelay, type Attempt, type Attempted, type AttemptOptions, type Recovery, type RecoveryOptions, } from './recovery.js';
|
|
30
|
+
export { AUTHORED_SCHEMA, authoredBinding, authoredBy, authoredHolder, bindAuthored, openDatabase, STORE_SCHEMA, } from './store.js';
|
|
19
31
|
export type { RuntimePort } from './wire.js';
|
|
20
32
|
//# sourceMappingURL=host.d.ts.map
|
package/dist/host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,gBAAgB,EAItB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,EAGL,KAAK,WAAW,EAOjB,MAAM,WAAW,CAAC;AAInB,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC9D,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;IACnE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CACJ,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,IAAI,CAAC,EAAE,gBAAgB,EACvB,MAAM,CAAC,EAAE,gBAAgB,GACxB,YAAY,CAAC;IAChB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAAC;AAiHF,wBAAgB,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAsK3E;AAED,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,UAAU,EACV,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/host.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { composeRuntime, } from './connection.js';
|
|
2
|
+
import { queryKey } from './query.js';
|
|
2
3
|
import { described } from './failure.js';
|
|
3
4
|
import { removeRuntimeStore } from './store.js';
|
|
4
|
-
import { AUTHORIZATION_ENDED, request,
|
|
5
|
+
import { AUTHORIZATION_ENDED, request, WIRE, } from './wire.js';
|
|
5
6
|
const NARROWED = new Set(['within', 'whole']);
|
|
6
7
|
function answered(md, app, writtenBy, member, input) {
|
|
7
8
|
switch (member) {
|
|
@@ -15,8 +16,16 @@ function answered(md, app, writtenBy, member, input) {
|
|
|
15
16
|
return md.types(input[0]);
|
|
16
17
|
case 'save':
|
|
17
18
|
return md.save(input[0], input[1], writtenBy);
|
|
19
|
+
case 'saveParts':
|
|
20
|
+
return md.saveParts(input[0], input[1], writtenBy);
|
|
18
21
|
case 'history':
|
|
19
22
|
return md.history(input[0], input[1], input[2]);
|
|
23
|
+
case 'binaryFile.read':
|
|
24
|
+
return md.binaryFile.read(input[0], input[1], input[2]);
|
|
25
|
+
case 'binaryFile.link':
|
|
26
|
+
return md.binaryFile.link(input[0], input[1], input[2]);
|
|
27
|
+
case 'binaryFile.readReference':
|
|
28
|
+
return md.binaryFile.readReference(input[0]);
|
|
20
29
|
case 'call':
|
|
21
30
|
return md.call(input[0], input[1]);
|
|
22
31
|
case 'reached':
|
|
@@ -25,6 +34,8 @@ function answered(md, app, writtenBy, member, input) {
|
|
|
25
34
|
return md.log();
|
|
26
35
|
case 'persistence':
|
|
27
36
|
return md.persistence();
|
|
37
|
+
case 'retry':
|
|
38
|
+
return md.retry();
|
|
28
39
|
case 'reauthorize':
|
|
29
40
|
return md.reauthorize();
|
|
30
41
|
case 'roomDraft.list':
|
|
@@ -39,6 +50,8 @@ function answered(md, app, writtenBy, member, input) {
|
|
|
39
50
|
return md.presentation.read(app);
|
|
40
51
|
case 'presentation.write':
|
|
41
52
|
return md.presentation.write(app, input[0]);
|
|
53
|
+
case 'presentation.edit':
|
|
54
|
+
return md.presentation.edit(app, input[0]);
|
|
42
55
|
case 'conversation.list':
|
|
43
56
|
return md.conversation.list();
|
|
44
57
|
case 'conversation.read':
|
|
@@ -46,7 +59,7 @@ function answered(md, app, writtenBy, member, input) {
|
|
|
46
59
|
case 'conversation.create':
|
|
47
60
|
return md.conversation.create(input[0]);
|
|
48
61
|
case 'conversation.send':
|
|
49
|
-
return md.conversation.send(input[0]);
|
|
62
|
+
return md.conversation.send(input[0], input[1], input[2]);
|
|
50
63
|
case 'conversation.answer':
|
|
51
64
|
return md.conversation.answer(input[0], input[1]);
|
|
52
65
|
case 'conversation.interrupt':
|
|
@@ -59,10 +72,20 @@ function answered(md, app, writtenBy, member, input) {
|
|
|
59
72
|
return md.conversation.delete(input[0]);
|
|
60
73
|
case 'chatDraft.write':
|
|
61
74
|
return md.chatDraft.write(input[0], input[1], input[2]);
|
|
75
|
+
case 'chatDraft.prepend':
|
|
76
|
+
return md.chatDraft.prepend(input[0], input[1]);
|
|
62
77
|
case 'chatDraft.discard':
|
|
63
78
|
return md.chatDraft.discard(input[0]);
|
|
64
79
|
}
|
|
65
80
|
}
|
|
81
|
+
function answeredResult(value) {
|
|
82
|
+
return typeof value === 'object' && value !== null && !('pending' in value);
|
|
83
|
+
}
|
|
84
|
+
function answeredMessage(value) {
|
|
85
|
+
if (typeof value !== 'object' || value === null)
|
|
86
|
+
return false;
|
|
87
|
+
return !('result' in value) || answeredResult(value.result);
|
|
88
|
+
}
|
|
66
89
|
export function serveMdRuntime(options) {
|
|
67
90
|
const deploymentFacts = structuredClone(options.deploymentFacts);
|
|
68
91
|
const closing = new AbortController();
|
|
@@ -80,13 +103,25 @@ export function serveMdRuntime(options) {
|
|
|
80
103
|
deliver(structuredClone(deploymentFacts));
|
|
81
104
|
return () => { };
|
|
82
105
|
};
|
|
83
|
-
function attach(port, app, release, reach) {
|
|
106
|
+
function attach(port, app, release, reach, code = 'stored', search = 'unused') {
|
|
84
107
|
if (!authorized)
|
|
85
108
|
throw new Error(AUTHORIZATION_ENDED);
|
|
86
109
|
const writtenBy = release === undefined ? undefined : { app, release };
|
|
87
|
-
|
|
110
|
+
let facts = { target: app, code, capacity: null, search };
|
|
111
|
+
const view = runtime.within(reach ?? null, facts);
|
|
88
112
|
const observations = new Map();
|
|
113
|
+
const followed = new Set();
|
|
114
|
+
const answeredKeys = new Set();
|
|
115
|
+
let awaited = null;
|
|
89
116
|
let serving = true;
|
|
117
|
+
const answeredQuery = (query) => {
|
|
118
|
+
answeredKeys.add(queryKey(query));
|
|
119
|
+
if (awaited === null || !awaited.keys.every((key) => answeredKeys.has(key)))
|
|
120
|
+
return;
|
|
121
|
+
const { done } = awaited;
|
|
122
|
+
awaited = null;
|
|
123
|
+
done();
|
|
124
|
+
};
|
|
90
125
|
const send = (message) => {
|
|
91
126
|
port.postMessage(message);
|
|
92
127
|
};
|
|
@@ -97,6 +132,8 @@ export function serveMdRuntime(options) {
|
|
|
97
132
|
for (const end of observations.values())
|
|
98
133
|
end();
|
|
99
134
|
observations.clear();
|
|
135
|
+
for (const end of [...followed])
|
|
136
|
+
end();
|
|
100
137
|
attachments.delete(detach);
|
|
101
138
|
};
|
|
102
139
|
const observe = (id, topic, input) => {
|
|
@@ -106,10 +143,12 @@ export function serveMdRuntime(options) {
|
|
|
106
143
|
return;
|
|
107
144
|
send(resolved ? { kind: 'event', id, value } : { kind: 'result', id, value });
|
|
108
145
|
resolved = true;
|
|
146
|
+
if (topic === 'query' && answeredMessage(value))
|
|
147
|
+
answeredQuery(input[0]);
|
|
109
148
|
};
|
|
110
149
|
observations.set(id, topic === 'deployment-facts'
|
|
111
150
|
? watchFacts(deliver)
|
|
112
|
-
: (NARROWED.has(
|
|
151
|
+
: (NARROWED.has(WIRE.topics[topic]) ? view : runtime).watch(topic, topic === 'presentation' ? [app] : input, deliver));
|
|
113
152
|
};
|
|
114
153
|
const serve = async (message) => {
|
|
115
154
|
if (message.kind === 'hello')
|
|
@@ -127,9 +166,12 @@ export function serveMdRuntime(options) {
|
|
|
127
166
|
observe(message.id, message.topic, message.input);
|
|
128
167
|
return;
|
|
129
168
|
}
|
|
130
|
-
const value = await answered(NARROWED.has(
|
|
131
|
-
if (serving)
|
|
132
|
-
|
|
169
|
+
const value = await answered(NARROWED.has(WIRE.members[message.member].reach) ? view.md : md, app, writtenBy, message.member, message.input);
|
|
170
|
+
if (!serving)
|
|
171
|
+
return;
|
|
172
|
+
send({ kind: 'result', id: message.id, value });
|
|
173
|
+
if (message.member === 'query' && answeredResult(value))
|
|
174
|
+
answeredQuery(message.input[0]);
|
|
133
175
|
}
|
|
134
176
|
catch (error) {
|
|
135
177
|
if (serving)
|
|
@@ -153,23 +195,67 @@ export function serveMdRuntime(options) {
|
|
|
153
195
|
if (serving)
|
|
154
196
|
view.narrow(next);
|
|
155
197
|
},
|
|
198
|
+
code(next, capacity) {
|
|
199
|
+
if (!serving)
|
|
200
|
+
return;
|
|
201
|
+
facts = { ...facts, code: next, capacity };
|
|
202
|
+
view.facts(facts);
|
|
203
|
+
},
|
|
204
|
+
search(next) {
|
|
205
|
+
if (!serving)
|
|
206
|
+
return;
|
|
207
|
+
facts = { ...facts, search: next };
|
|
208
|
+
view.facts(facts);
|
|
209
|
+
},
|
|
210
|
+
answered(queries, done) {
|
|
211
|
+
const keys = queries.map(queryKey);
|
|
212
|
+
if (keys.every((key) => answeredKeys.has(key)))
|
|
213
|
+
done();
|
|
214
|
+
else
|
|
215
|
+
awaited = { keys, done };
|
|
216
|
+
},
|
|
217
|
+
readiness(deliver) {
|
|
218
|
+
if (!serving)
|
|
219
|
+
return () => { };
|
|
220
|
+
const stop = view.watch('readiness', [], (value) => {
|
|
221
|
+
if (serving)
|
|
222
|
+
deliver(value);
|
|
223
|
+
});
|
|
224
|
+
const end = () => {
|
|
225
|
+
followed.delete(end);
|
|
226
|
+
stop();
|
|
227
|
+
};
|
|
228
|
+
followed.add(end);
|
|
229
|
+
return end;
|
|
230
|
+
},
|
|
156
231
|
};
|
|
157
232
|
}
|
|
158
233
|
return {
|
|
159
234
|
attach,
|
|
160
|
-
|
|
235
|
+
seed(entry) {
|
|
236
|
+
runtime.seed(entry);
|
|
237
|
+
},
|
|
238
|
+
persisted(answer) {
|
|
239
|
+
runtime.persisted(answer);
|
|
240
|
+
},
|
|
241
|
+
async endAuthorization(holder) {
|
|
161
242
|
authorized = false;
|
|
162
243
|
for (const [detach, send] of [...attachments]) {
|
|
163
244
|
send({ kind: 'ended' });
|
|
164
245
|
detach();
|
|
165
246
|
}
|
|
166
247
|
close();
|
|
167
|
-
await removeRuntimeStore()
|
|
168
|
-
|
|
248
|
+
if (!(await removeRuntimeStore(holder)))
|
|
249
|
+
await options.shell.dropGeneration();
|
|
250
|
+
},
|
|
251
|
+
lose(locators) {
|
|
252
|
+
return runtime.lose(locators);
|
|
169
253
|
},
|
|
170
254
|
stop() {
|
|
171
255
|
return runtime.stop();
|
|
172
256
|
},
|
|
173
257
|
};
|
|
174
258
|
}
|
|
175
|
-
export {
|
|
259
|
+
export { entrySeedOf } from './seed.js';
|
|
260
|
+
export { createRecovery, retryDelay, } from './recovery.js';
|
|
261
|
+
export { AUTHORED_SCHEMA, authoredBinding, authoredBy, authoredHolder, bindAuthored, openDatabase, STORE_SCHEMA, } from './store.js';
|
package/dist/identity.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export declare function changeBatchIdentity(at?: number): string;
|
|
2
|
+
export declare function identityTime(identity: string): number;
|
|
2
3
|
export declare function roomDraftRevision(): string;
|
|
3
4
|
export declare function chatDraftRevision(): string;
|
|
4
5
|
export declare function transferIdentity(): string;
|
|
6
|
+
export declare function indexGeneration(): string;
|
|
7
|
+
export declare function binaryLocalId(): string;
|
|
5
8
|
//# 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;AAQD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,EAAE,GAAE,MAAmB,GAAG,MAAM,CAWnE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAQD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
package/dist/identity.js
CHANGED
|
@@ -10,6 +10,9 @@ export function changeBatchIdentity(at = Date.now()) {
|
|
|
10
10
|
const hex = [...bytes].map((byte) => byte.toString(16).padStart(2, '0')).join('');
|
|
11
11
|
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
12
12
|
}
|
|
13
|
+
export function identityTime(identity) {
|
|
14
|
+
return Number.parseInt(identity.replaceAll('-', '').slice(0, 12), 16);
|
|
15
|
+
}
|
|
13
16
|
function randomIdentity() {
|
|
14
17
|
const bytes = new Uint8Array(16);
|
|
15
18
|
crypto.getRandomValues(bytes);
|
|
@@ -24,3 +27,9 @@ export function chatDraftRevision() {
|
|
|
24
27
|
export function transferIdentity() {
|
|
25
28
|
return randomIdentity();
|
|
26
29
|
}
|
|
30
|
+
export function indexGeneration() {
|
|
31
|
+
return randomIdentity();
|
|
32
|
+
}
|
|
33
|
+
export function binaryLocalId() {
|
|
34
|
+
return randomIdentity();
|
|
35
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
export type { AcceptedMessage, ActionDeclaration, ActionRequest, ActionResult, Adapter, AdapterFailure, Authorization, 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,
|
|
1
|
+
export type { AcceptedMessage, ActionDeclaration, ActionRequest, ActionResult, Adapter, AdapterFailure, Authorization, BinaryFile, BinaryLinkResult, BinaryRequest, BinaryResult, ReferrerScope, BootstrapPage, BootstrapRequest, BootstrapResult, Capability, ChangeAuthor, ContractUnavailable, ConversationAction, ConversationAgents, ConversationEvent, ConversationHistories, ConversationHistoryPage, ConversationHistoryRequest, ConversationMessage, ConversationStream, DiscoverResult, DiscoveredRoom, Discovery, DiscoveryScope, HistoryAuthor, HistoryRequest, HistoryResult, HistoryRetention, HistoryRevision, HeldContent, HeldRoom, KeptReceipt, ListedConversation, MdModelIdentity, Member, MutationRequest, MutationResult, PageToken, ProviderLimit, ProviderRefusal, RefreshPage, RefreshRequest, RefreshResult, Retention, RetryableRefusal, RevokedAuthorization, RoomModels, RoomNotReadable, RoomStream, RoomStreamEvent, RoomVersionAt, ServiceMode, ServiceModeSignal, StreamReceipts, TransportUncertainty, TurnContext, TurnOperation, TypedSelection, } from './adapter.js';
|
|
2
2
|
export type { Change, ChangeBatch, Precondition, WrittenBy } from './change.js';
|
|
3
3
|
export type { ChatDraft, ChatDraftSurface, ConversationAgent, ConversationEntry, ConversationOptions, ConversationState, ConversationSurface, ConversationView, RunningTurn, } from './conversation.js';
|
|
4
4
|
export type { ChatDraftFile, FileDeclaration } from './file.js';
|
|
5
|
-
export type { AppRoom, AppTypedSelection, ConnectionRefusal, ConnectionRefusalCode, HistoryQuery, MdRuntime, MdRuntimeOptions, PresentationSurface, RoomDraftSurface, RoomSchemas, SavedRoomDraft, SaveResult, } from './connection.js';
|
|
5
|
+
export type { AppRoom, AppTypedSelection, BinaryFileSurface, ConnectionRefusal, ConnectionRefusalCode, HistoryQuery, MdRuntime, MdRuntimeOptions, PresentationSurface, RoomDraftSurface, RoomSchemas, SavedParts, SavedRoomDraft, SaveResult, } from './connection.js';
|
|
6
6
|
export type { Observation } from './observation.js';
|
|
7
|
-
export type { CallResult, Failure, HistoryAnswer, QueueEntry, Submission } from './outcome.js';
|
|
7
|
+
export type { BinaryAnswer, BinaryLinkAnswer, CallResult, Failure, HistoryAnswer, Offline, QueueEntry, Submission, } from './outcome.js';
|
|
8
|
+
export type { BinaryFileRecord, BinaryReference } from './binary.js';
|
|
8
9
|
export type { RuntimeError } from './failure.js';
|
|
9
|
-
export type { ChangedPart, FieldValue, ReturnReason, RoomDraft, RoomDraftCreation, RoomDraftParts, RoomDraftWrite, } from './room-draft.js';
|
|
10
|
+
export type { ChangedPart, FieldValue, ReturnReason, RoomDraft, RoomDraftCreation, RoomDraftParts, RoomDraftWrite, TextParts, } from './room-draft.js';
|
|
10
11
|
export type { SaveRefusal } from './save.js';
|
|
11
|
-
export type { DocumentHit, DocumentPart, MessageHit, SearchRequest, SearchResult, } from './search.js';
|
|
12
|
+
export type { DocumentHit, DocumentPart, MessageHit, PendingConversation, SearchCoverage, SearchHits, SearchPending, SearchRequest, SearchResult, SearchUndeclared, } from './search.js';
|
|
13
|
+
export { departure } from './change.js';
|
|
14
|
+
export { partsAfter } from './room-draft.js';
|
|
15
|
+
export { SESSION_STARTED } from './conversation.js';
|
|
12
16
|
export { changeBatchIdentity } from './identity.js';
|
|
13
17
|
export { attempts, identities, intentOf, type Answered, type Attempt, type Attempts, type Identities, } from './attempt.js';
|
|
14
18
|
export { expectedList, expecting, type ExpectedOf, type Expecting } from './expectation.js';
|
|
15
|
-
export type { RuntimeShell } from './durability.js';
|
|
19
|
+
export type { RuntimeShell, StorageEstimate } from './durability.js';
|
|
20
|
+
export type { CapacityCause, CodeAvailability, ConnectionAvailability, ConversationCoverage, Durability, HouseOutcome, Persistence, Readiness, ReadinessStatus, RefusedRoom, RoomCoverage, RoomPreparation, SearchObligation, TargetCoverage, } from './readiness.js';
|
|
16
21
|
export type { AttentionEntry, SyncStatus } from './status.js';
|
|
17
|
-
export type { Backlink, Direction, DocumentQuery, DocumentResult, Filter, GroupQuery, GroupResult, Key, LocalQuery, OrderOptions, Predicate, QueryDocument, QueryGroup, QueryResult, Related, Select, Value, Where, } from './query.js';
|
|
22
|
+
export type { Awaits, Backlink, CoveredRoom, Direction, DocumentQuery, DocumentResult, Filter, GroupQuery, GroupResult, Key, LocalQuery, OrderOptions, PendingResult, PendingRoom, Predicate, QueryCoverage, QueryDocument, QueryGroup, QueryResult, QueryRows, Related, Select, Value, Where, } from './query.js';
|
|
18
23
|
export type { MdType, ModelIdentity, ModelSnapshot, ModelState, ModelResult, TypesResult, ValidationReceipt, } from './model.js';
|
|
19
24
|
export type { OperationScopes, ReplicaAdmission, ScopedRefusal } from './adapter.js';
|
|
20
25
|
//# 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,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,
|
|
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,6 @@
|
|
|
1
|
+
export { departure } from './change.js';
|
|
2
|
+
export { partsAfter } from './room-draft.js';
|
|
3
|
+
export { SESSION_STARTED } from './conversation.js';
|
|
1
4
|
export { changeBatchIdentity } from './identity.js';
|
|
2
5
|
export { attempts, identities, intentOf, } from './attempt.js';
|
|
3
6
|
export { expectedList, expecting } from './expectation.js';
|
package/dist/memory.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { ModelResult } from './model.js';
|
|
2
|
-
import { type AcceptedMessage, type ActionResult, type Adapter, type Capability, type ConversationAction, type ConversationEvent, type DiscoveredRoom, type HeadChange, type ListedConversation, type Member, type ProviderLimit, type Retention, type
|
|
2
|
+
import { type AcceptedMessage, type ActionResult, type Adapter, type BinaryFile, type Capability, type ConversationAction, type ConversationEvent, type DiscoveryScope, 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
|
+
fileIds?: Readonly<Record<string, string>>;
|
|
8
9
|
changes?: Readonly<Record<string, HeadChange>>;
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
binaryFiles?: Readonly<Record<string, BinaryFile>>;
|
|
11
|
+
blobs?: Readonly<Record<string, Blob>>;
|
|
11
12
|
};
|
|
12
13
|
export type MemoryConversation = {
|
|
13
14
|
conversation: string;
|
|
@@ -25,18 +26,23 @@ export type MemoryAdapterOptions = {
|
|
|
25
26
|
retention?: Retention;
|
|
26
27
|
member?: Member;
|
|
27
28
|
unopened?: boolean;
|
|
29
|
+
exhaustiveDiscovery?: true;
|
|
28
30
|
};
|
|
29
31
|
export type MemoryAdapter = Adapter & {
|
|
30
32
|
setRooms(rooms: readonly MemoryRoom[]): void;
|
|
31
33
|
setConversations(conversations: readonly MemoryConversation[]): void;
|
|
32
34
|
script(operation: keyof Adapter, answer: unknown): void;
|
|
33
35
|
open(): void;
|
|
34
|
-
close(
|
|
36
|
+
close(closing?: {
|
|
37
|
+
revoked?: boolean;
|
|
38
|
+
lost?: boolean;
|
|
39
|
+
}): void;
|
|
35
40
|
expire(locators: readonly string[]): void;
|
|
36
41
|
notifyRoomVersion(notification: {
|
|
37
42
|
locator: string;
|
|
38
43
|
roomVersion: string;
|
|
39
44
|
}): void;
|
|
45
|
+
notifyAuthorityChanged(scope?: DiscoveryScope): void;
|
|
40
46
|
notifyConversation(event: ConversationEvent): void;
|
|
41
47
|
notifyServiceMode(mode: ServiceMode): void;
|
|
42
48
|
heldRooms(): readonly string[];
|
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,EACL,KAAK,eAAe,EAEpB,KAAK,YAAY,EACjB,KAAK,OAAO,
|
|
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,EACL,KAAK,eAAe,EAEpB,KAAK,YAAY,EACjB,KAAK,OAAO,EAEZ,KAAK,UAAU,EAMf,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAItB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EAGf,KAAK,kBAAkB,EACvB,KAAK,MAAM,EAGX,KAAK,aAAa,EAIlB,KAAK,SAAS,EAGd,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAkBtB,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG;IACxC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IAC7C,gBAAgB,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACrE,MAAM,CAAC,SAAS,EAAE,MAAM,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACxD,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,MAAM,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1C,iBAAiB,CAAC,YAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChF,sBAAsB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACrD,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnD,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3C,SAAS,IAAI,SAAS,MAAM,EAAE,CAAC;IAC/B,uBAAuB,IAAI,SAAS,MAAM,EAAE,CAAC;CAC9C,CAAC;AAiDF,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CA2frF"}
|