@agentshouse/mdruntime-adapter 0.1.0-ccd2ccb1f7214 → 0.1.0-ccda1a2da11c3
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 +50 -40
- package/dist/actions.d.ts +11 -5
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +77 -97
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +183 -139
- package/dist/discovery.d.ts +3 -2
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +24 -6
- package/dist/gather.d.ts +1 -1
- package/dist/gather.d.ts.map +1 -1
- package/dist/gather.js +4 -14
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/part.d.ts +13 -0
- package/dist/part.d.ts.map +1 -0
- package/dist/part.js +80 -0
- package/dist/read.d.ts +51 -27
- package/dist/read.d.ts.map +1 -1
- package/dist/read.js +241 -124
- package/dist/referrer.d.ts +2 -0
- package/dist/referrer.d.ts.map +1 -1
- package/dist/referrer.js +8 -2
- package/dist/room-types.d.ts +6 -0
- package/dist/room-types.d.ts.map +1 -0
- package/dist/room-types.js +66 -0
- package/dist/site.d.ts.map +1 -1
- package/dist/site.js +63 -76
- package/dist/stream.d.ts +3 -3
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +38 -34
- package/dist/transport.d.ts +6 -3
- package/dist/transport.d.ts.map +1 -1
- package/dist/write.d.ts +12 -1
- package/dist/write.d.ts.map +1 -1
- package/dist/write.js +90 -42
- package/package.json +2 -2
- package/dist/handed.d.ts +0 -15
- package/dist/handed.d.ts.map +0 -1
- package/dist/handed.js +0 -38
package/dist/discovery.js
CHANGED
|
@@ -17,7 +17,8 @@ const BOUND_KEYS = [
|
|
|
17
17
|
'change_retention_seconds',
|
|
18
18
|
'operation_retention_seconds',
|
|
19
19
|
];
|
|
20
|
-
const OPERATION_KEYS = ['
|
|
20
|
+
const OPERATION_KEYS = ['write', 'delete'];
|
|
21
|
+
const READ_LEVELS = ['mcp', 'online', 'local'];
|
|
21
22
|
function stringList(value) {
|
|
22
23
|
if (!Array.isArray(value))
|
|
23
24
|
return null;
|
|
@@ -34,6 +35,12 @@ function parseBounds(value) {
|
|
|
34
35
|
return null;
|
|
35
36
|
bounds[key] = amount;
|
|
36
37
|
}
|
|
38
|
+
const moves = held.max_move_documents;
|
|
39
|
+
if (moves !== undefined) {
|
|
40
|
+
if (typeof moves !== 'number' || !Number.isFinite(moves))
|
|
41
|
+
return null;
|
|
42
|
+
bounds.max_move_documents = moves;
|
|
43
|
+
}
|
|
37
44
|
return bounds;
|
|
38
45
|
}
|
|
39
46
|
function parseHouseModel(value) {
|
|
@@ -85,7 +92,12 @@ function parseAuthority(value) {
|
|
|
85
92
|
const houseModel = parseHouseModel(held.house_model);
|
|
86
93
|
const protectedPaths = stringList(held.protected_paths);
|
|
87
94
|
const operations = parseOperations(held.operations);
|
|
88
|
-
|
|
95
|
+
const read = READ_LEVELS.find((level) => level === held.read);
|
|
96
|
+
if (at === null ||
|
|
97
|
+
houseModel === undefined ||
|
|
98
|
+
protectedPaths === null ||
|
|
99
|
+
read === undefined ||
|
|
100
|
+
operations === null)
|
|
89
101
|
return null;
|
|
90
102
|
if (typeof held.room_ref !== 'string' || held.room_ref.length === 0)
|
|
91
103
|
return null;
|
|
@@ -99,6 +111,7 @@ function parseAuthority(value) {
|
|
|
99
111
|
houseModel,
|
|
100
112
|
managedReplication: held.managed_replication,
|
|
101
113
|
protectedPaths,
|
|
114
|
+
read,
|
|
102
115
|
operations,
|
|
103
116
|
...at,
|
|
104
117
|
};
|
|
@@ -205,8 +218,11 @@ export function providerLimits(bounds) {
|
|
|
205
218
|
{ name: 'change-documents', value: bounds.max_batch_documents },
|
|
206
219
|
{ name: 'path-length', value: bounds.max_path_length },
|
|
207
220
|
{ name: 'path-depth', value: bounds.max_path_depth },
|
|
221
|
+
...(bounds.max_move_documents === undefined
|
|
222
|
+
? []
|
|
223
|
+
: [{ name: 'move-documents', value: bounds.max_move_documents }]),
|
|
208
224
|
{ name: 'write-rate' },
|
|
209
|
-
{ name: '
|
|
225
|
+
{ name: 'storage-limit' },
|
|
210
226
|
];
|
|
211
227
|
}
|
|
212
228
|
export function declaredRetention(bounds) {
|
|
@@ -244,12 +260,14 @@ export function discoveredRoom(authority) {
|
|
|
244
260
|
handle: authority.roomHandle,
|
|
245
261
|
roomVersion: roomVersion(authority),
|
|
246
262
|
operations: {
|
|
247
|
-
read: [...authority.operations.read],
|
|
248
|
-
sync: [...authority.operations.sync],
|
|
249
263
|
write: [...authority.operations.write],
|
|
250
264
|
delete: [...authority.operations.delete],
|
|
251
265
|
},
|
|
252
|
-
replica: {
|
|
266
|
+
replica: {
|
|
267
|
+
selection: locator,
|
|
268
|
+
admission: authority.managedReplication,
|
|
269
|
+
offline: authority.read === 'online' ? 'locked' : 'open',
|
|
270
|
+
},
|
|
253
271
|
...(authority.houseModel === null
|
|
254
272
|
? {}
|
|
255
273
|
: { typedSelection: { roots: [...authority.houseModel.paths] } }),
|
package/dist/gather.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare function gatheredEach<A, R>(send: (asks: readonly A[], answer: (ask: number, result: R) => void) => Promise<void>): (ask: A) => Promise<R>;
|
|
2
2
|
export declare function gathered<A, R>(send: (asks: readonly A[]) => Promise<readonly R[]>): (ask: A) => Promise<R>;
|
|
3
|
-
export declare function selections<T>(items: readonly T[],
|
|
3
|
+
export declare function selections<T>(items: readonly T[], limit: number): readonly (readonly T[])[];
|
|
4
4
|
//# sourceMappingURL=gather.d.ts.map
|
package/dist/gather.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gather.d.ts","sourceRoot":"","sources":["../src/gather.ts"],"names":[],"mappings":"AAMA,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GACpF,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAwBxB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,GAClD,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAMxB;AAED,wBAAgB,UAAU,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"gather.d.ts","sourceRoot":"","sources":["../src/gather.ts"],"names":[],"mappings":"AAMA,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GACpF,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAwBxB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,GAClD,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAMxB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAO3F"}
|
package/dist/gather.js
CHANGED
|
@@ -25,21 +25,11 @@ export function gathered(send) {
|
|
|
25
25
|
});
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
|
-
export function selections(items,
|
|
28
|
+
export function selections(items, limit) {
|
|
29
|
+
const size = Math.max(1, limit);
|
|
29
30
|
const parts = [];
|
|
30
|
-
let
|
|
31
|
-
|
|
32
|
-
for (const item of items) {
|
|
33
|
-
const weighed = weight(item);
|
|
34
|
-
if (part.length > 0 && carried + weighed > limit) {
|
|
35
|
-
parts.push(part);
|
|
36
|
-
part = [];
|
|
37
|
-
carried = 0;
|
|
38
|
-
}
|
|
39
|
-
part.push(item);
|
|
40
|
-
carried += weighed;
|
|
31
|
+
for (let start = 0; start < items.length; start += size) {
|
|
32
|
+
parts.push(items.slice(start, start + size));
|
|
41
33
|
}
|
|
42
|
-
if (part.length > 0)
|
|
43
|
-
parts.push(part);
|
|
44
34
|
return parts;
|
|
45
35
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { createAgentsHouseAdapter, type AgentsHouseAdapterOptions } from './adapter.js';
|
|
2
2
|
export { HOUSE_APP_ACTS, HOUSE_APP_BATCHES, HOUSE_SITE_ACTS } from './actions.js';
|
|
3
|
+
export { HOUSE_ROOM_TYPES, INBOX_CHANNEL_KINDS, INBOX_CHAT_TYPE, INBOX_MESSAGE_TYPE, type InboxChannelKind, } from './room-types.js';
|
|
3
4
|
export type { HouseByteAct, HouseByteTransfer, HouseBytesAnswer, HouseClosing, HouseDoorAnswer, HouseHeldRoom, HouseOpening, HouseStream, HouseStreamEntry, HouseStreamFrame, HouseSiteTransport, HouseTransport, } from './transport.js';
|
|
4
5
|
//# 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,OAAO,EAAE,wBAAwB,EAAE,KAAK,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClF,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,KAAK,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/part.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ScopedRefusal } from '@agentshouse/mdruntime';
|
|
2
|
+
export declare const PART_ATTEMPTS = 3;
|
|
3
|
+
export declare const PART_UNVERIFIED = "part_unverified";
|
|
4
|
+
export type HousePart = {
|
|
5
|
+
part: string;
|
|
6
|
+
bytes: number;
|
|
7
|
+
sha256: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function parsePart(value: unknown): HousePart | null;
|
|
10
|
+
export declare function checkedPayload(body: unknown, listed: HousePart): Promise<Uint8Array<ArrayBuffer> | null>;
|
|
11
|
+
export declare function gunzipped(payload: Uint8Array<ArrayBuffer>): Promise<string | null>;
|
|
12
|
+
export declare function unverifiedPart(locator: string): ScopedRefusal;
|
|
13
|
+
//# sourceMappingURL=part.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"part.d.ts","sourceRoot":"","sources":["../src/part.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAU5D,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAO1D;AAoBD,wBAAsB,cAAc,CAClC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAiBzC;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOxF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAS7D"}
|
package/dist/part.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
const PART_MAGIC = 0x48505431;
|
|
2
|
+
const PART_HEAD_BYTES = 8;
|
|
3
|
+
const PART_DIGEST_BYTES = 32;
|
|
4
|
+
const PART_SHA256 = /^[0-9a-f]{64}$/u;
|
|
5
|
+
export const PART_ATTEMPTS = 3;
|
|
6
|
+
export const PART_UNVERIFIED = 'part_unverified';
|
|
7
|
+
export function parsePart(value) {
|
|
8
|
+
if (typeof value !== 'object' || value === null)
|
|
9
|
+
return null;
|
|
10
|
+
const { part, bytes, sha256 } = value;
|
|
11
|
+
if (typeof part !== 'string' || part.length === 0)
|
|
12
|
+
return null;
|
|
13
|
+
if (typeof bytes !== 'number' || !Number.isSafeInteger(bytes) || bytes <= 0)
|
|
14
|
+
return null;
|
|
15
|
+
if (typeof sha256 !== 'string' || !PART_SHA256.test(sha256))
|
|
16
|
+
return null;
|
|
17
|
+
return { part, bytes, sha256 };
|
|
18
|
+
}
|
|
19
|
+
function decoded(text) {
|
|
20
|
+
let binary;
|
|
21
|
+
try {
|
|
22
|
+
binary = atob(text);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const bytes = new Uint8Array(binary.length);
|
|
28
|
+
for (let at = 0; at < binary.length; at += 1)
|
|
29
|
+
bytes[at] = binary.charCodeAt(at);
|
|
30
|
+
return bytes;
|
|
31
|
+
}
|
|
32
|
+
function hex(bytes) {
|
|
33
|
+
let text = '';
|
|
34
|
+
for (const byte of bytes)
|
|
35
|
+
text += byte.toString(16).padStart(2, '0');
|
|
36
|
+
return text;
|
|
37
|
+
}
|
|
38
|
+
export async function checkedPayload(body, listed) {
|
|
39
|
+
if (typeof body !== 'object' || body === null)
|
|
40
|
+
return null;
|
|
41
|
+
const { part } = body;
|
|
42
|
+
if (typeof part !== 'string')
|
|
43
|
+
return null;
|
|
44
|
+
const frame = decoded(part);
|
|
45
|
+
if (frame === null || frame.length !== listed.bytes)
|
|
46
|
+
return null;
|
|
47
|
+
if (frame.length < PART_HEAD_BYTES + PART_DIGEST_BYTES)
|
|
48
|
+
return null;
|
|
49
|
+
const view = new DataView(frame.buffer, frame.byteOffset, frame.byteLength);
|
|
50
|
+
if (view.getUint32(0) !== PART_MAGIC)
|
|
51
|
+
return null;
|
|
52
|
+
const length = view.getUint32(4);
|
|
53
|
+
if (PART_HEAD_BYTES + length + PART_DIGEST_BYTES !== frame.length)
|
|
54
|
+
return null;
|
|
55
|
+
const payload = frame.subarray(PART_HEAD_BYTES, PART_HEAD_BYTES + length);
|
|
56
|
+
const digest = hex(new Uint8Array(await crypto.subtle.digest('SHA-256', payload)));
|
|
57
|
+
if (digest !== listed.sha256 || hex(frame.subarray(PART_HEAD_BYTES + length)) !== digest) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return payload;
|
|
61
|
+
}
|
|
62
|
+
export async function gunzipped(payload) {
|
|
63
|
+
try {
|
|
64
|
+
const stream = new Blob([payload]).stream().pipeThrough(new DecompressionStream('gzip'));
|
|
65
|
+
return await new Response(stream).text();
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export function unverifiedPart(locator) {
|
|
72
|
+
return {
|
|
73
|
+
kind: 'scoped-refusal',
|
|
74
|
+
locator,
|
|
75
|
+
scope: 'undisclosed',
|
|
76
|
+
code: PART_UNVERIFIED,
|
|
77
|
+
fields: {},
|
|
78
|
+
retryable: true,
|
|
79
|
+
};
|
|
80
|
+
}
|
package/dist/read.d.ts
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AdapterFailure, type BinaryFile, type BootstrapPage, type RefreshResult, type TransportUncertainty } from '@agentshouse/mdruntime';
|
|
2
2
|
import type { TrackedAuthority } from './discovery.js';
|
|
3
|
+
import { type HousePart } from './part.js';
|
|
3
4
|
import type { HouseMode } from './transport.js';
|
|
4
5
|
import { type LogPosition } from './version.js';
|
|
5
6
|
export type HeadChange = BootstrapPage['changes'][string];
|
|
6
|
-
export
|
|
7
|
-
|
|
7
|
+
export type Answered = {
|
|
8
|
+
readonly documents: Map<string, string>;
|
|
9
|
+
readonly revisions: Map<string, string>;
|
|
10
|
+
readonly fileIds: Map<string, string>;
|
|
11
|
+
readonly changes: Map<string, HeadChange>;
|
|
12
|
+
readonly binaryFiles: Map<string, BinaryFile>;
|
|
13
|
+
readonly removals: Set<string>;
|
|
14
|
+
readonly folders: Set<string>;
|
|
15
|
+
readonly folderRemovals: Set<string>;
|
|
8
16
|
};
|
|
17
|
+
export declare function answering(): Answered;
|
|
18
|
+
export declare function revised(answer: Answered, path: string, revision: string): void;
|
|
19
|
+
export declare function forgotten(answer: Answered, path: string): void;
|
|
20
|
+
export declare function folded(answer: Answered, path: string, removed: boolean): void;
|
|
21
|
+
export declare function answered(answer: Answered): Generator<number, {
|
|
22
|
+
documents: Readonly<Record<string, string>>;
|
|
23
|
+
revisions: Readonly<Record<string, string>>;
|
|
24
|
+
fileIds?: Readonly<Record<string, string>>;
|
|
25
|
+
changes: Readonly<Record<string, HeadChange>>;
|
|
26
|
+
binaryFiles: Readonly<Record<string, BinaryFile>>;
|
|
27
|
+
removals: readonly string[];
|
|
28
|
+
folders?: readonly string[];
|
|
29
|
+
folderRemovals?: readonly string[];
|
|
30
|
+
}, void>;
|
|
9
31
|
export type HouseManifestFile = {
|
|
10
32
|
path: string;
|
|
11
33
|
revision: string | undefined;
|
|
@@ -22,28 +44,26 @@ export type HouseScope = LogPosition & {
|
|
|
22
44
|
anchor: string;
|
|
23
45
|
files: readonly HouseManifestFile[];
|
|
24
46
|
contents: readonly HouseContent[];
|
|
47
|
+
folders?: readonly string[];
|
|
25
48
|
};
|
|
26
|
-
export type
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
export type HouseCursor = {
|
|
31
|
-
room: string;
|
|
32
|
-
path: string | null;
|
|
33
|
-
cut?: HouseCut;
|
|
49
|
+
export type HouseRoomParts = LogPosition & {
|
|
50
|
+
anchor: string;
|
|
51
|
+
parts: readonly HousePart[];
|
|
34
52
|
};
|
|
35
|
-
export type
|
|
36
|
-
|
|
37
|
-
next?:
|
|
53
|
+
export type HouseParted = {
|
|
54
|
+
rooms: readonly HouseRoomParts[];
|
|
55
|
+
next?: string;
|
|
38
56
|
};
|
|
39
57
|
export type HouseGrant = {
|
|
40
|
-
method: 'GET';
|
|
41
|
-
url: string;
|
|
42
|
-
} | {
|
|
43
|
-
method: 'POST';
|
|
44
58
|
operation: string;
|
|
45
59
|
url: string;
|
|
46
60
|
};
|
|
61
|
+
export type HouseFileAddress = {
|
|
62
|
+
url: string;
|
|
63
|
+
name: string;
|
|
64
|
+
sha256: string;
|
|
65
|
+
mediaType: string;
|
|
66
|
+
};
|
|
47
67
|
export type HouseChange = {
|
|
48
68
|
path: string;
|
|
49
69
|
removed: true;
|
|
@@ -65,9 +85,14 @@ export type HousePage = {
|
|
|
65
85
|
through: string;
|
|
66
86
|
read: number;
|
|
67
87
|
};
|
|
88
|
+
export type HouseFolder = {
|
|
89
|
+
path: string;
|
|
90
|
+
removed: boolean;
|
|
91
|
+
};
|
|
68
92
|
export type HouseView = LogPosition & {
|
|
69
93
|
authority: string;
|
|
70
94
|
changes: readonly HouseChange[];
|
|
95
|
+
folders?: readonly HouseFolder[];
|
|
71
96
|
next?: HousePage;
|
|
72
97
|
};
|
|
73
98
|
type PageFailure = AdapterFailure | {
|
|
@@ -77,23 +102,22 @@ export type HouseEnumeration = {
|
|
|
77
102
|
authorities: readonly HouseView[];
|
|
78
103
|
};
|
|
79
104
|
export declare function authorityRoot(handle: string): string;
|
|
80
|
-
export declare function contentPrefixes(tracked: TrackedAuthority): readonly string[];
|
|
81
105
|
export declare function schemaPath(handle: string, schema: string): string;
|
|
82
106
|
export declare function parseGrant(body: unknown): HouseGrant | null;
|
|
107
|
+
export declare function parseFileAddress(body: unknown): HouseFileAddress | null;
|
|
83
108
|
export declare function headChange(held: {
|
|
84
109
|
readonly author?: unknown;
|
|
85
110
|
readonly created_at?: unknown;
|
|
86
111
|
}): HeadChange | undefined | null;
|
|
87
112
|
export declare function binaryFileOf(held: Readonly<Record<string, unknown>>): BinaryFile | undefined | null;
|
|
88
|
-
export declare function
|
|
89
|
-
export declare function
|
|
90
|
-
export declare function
|
|
91
|
-
export declare function
|
|
113
|
+
export declare function parseParted(body: unknown): HouseParted | null;
|
|
114
|
+
export declare function parseSiteParted(body: unknown): HouseRoomParts | null;
|
|
115
|
+
export declare function emptyScope(room: HouseRoomParts): HouseScope;
|
|
116
|
+
export declare function housePart(room: HouseRoomParts, body: unknown, listed: HousePart, mode: HouseMode): Promise<HouseScope | TransportUncertainty | null>;
|
|
92
117
|
export declare function parseEnumeration(body: unknown, mode: HouseMode): HouseEnumeration | null;
|
|
93
118
|
export declare function wholeView(first: HouseView, more: (page: HousePage) => Promise<HouseView | PageFailure>): Promise<HouseView | PageFailure>;
|
|
94
|
-
export declare function advancedScope(scope: HouseScope, view: HouseView): HouseScope
|
|
95
|
-
export declare function
|
|
96
|
-
export declare function bootstrapOf(scope: HouseScope): BootstrapPage;
|
|
119
|
+
export declare function advancedScope(scope: HouseScope, view: HouseView): Generator<number, HouseScope, void>;
|
|
120
|
+
export declare function bootstrapping(scope: HouseScope): Generator<number, BootstrapPage, void>;
|
|
97
121
|
export type HouseSchema = {
|
|
98
122
|
schema: string | null;
|
|
99
123
|
version: string | null;
|
|
@@ -101,6 +125,6 @@ export type HouseSchema = {
|
|
|
101
125
|
};
|
|
102
126
|
export declare function schemaOf(scope: HouseScope, schema: string): HouseSchema | null;
|
|
103
127
|
export declare function viewOf(enumeration: HouseEnumeration, tracked: TrackedAuthority): HouseView | undefined;
|
|
104
|
-
export declare function refreshFrom(view: HouseView, fromRoomVersion: string): RefreshResult
|
|
128
|
+
export declare function refreshFrom(view: HouseView, fromRoomVersion: string): Promise<RefreshResult>;
|
|
105
129
|
export {};
|
|
106
130
|
//# sourceMappingURL=read.d.ts.map
|
package/dist/read.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../src/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../src/read.ts"],"names":[],"mappings":"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"}
|