@agentshouse/mdruntime-adapter 0.1.0-cd59fd8945dcb → 0.1.0-cd673d02b6e50

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.
Files changed (65) hide show
  1. package/README.md +2 -2
  2. package/dist/actions.d.ts +13 -7
  3. package/dist/actions.d.ts.map +1 -1
  4. package/dist/actions.js +37 -114
  5. package/dist/adapter.d.ts +1 -0
  6. package/dist/adapter.d.ts.map +1 -1
  7. package/dist/adapter.js +330 -130
  8. package/dist/app-reference.d.ts +2 -0
  9. package/dist/app-reference.d.ts.map +1 -0
  10. package/dist/app-reference.js +2 -0
  11. package/dist/crockford.d.ts +4 -0
  12. package/dist/crockford.d.ts.map +1 -0
  13. package/dist/crockford.js +3 -0
  14. package/dist/discovery.d.ts +7 -10
  15. package/dist/discovery.d.ts.map +1 -1
  16. package/dist/discovery.js +44 -36
  17. package/dist/gather.d.ts +1 -2
  18. package/dist/gather.d.ts.map +1 -1
  19. package/dist/gather.js +5 -15
  20. package/dist/house-model.d.ts +2 -0
  21. package/dist/house-model.d.ts.map +1 -0
  22. package/dist/house-model.js +486 -0
  23. package/dist/index.d.ts +8 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +7 -1
  26. package/dist/model.d.ts +5 -2
  27. package/dist/model.d.ts.map +1 -1
  28. package/dist/model.js +10 -15
  29. package/dist/part.d.ts +14 -0
  30. package/dist/part.d.ts.map +1 -0
  31. package/dist/part.js +90 -0
  32. package/dist/read.d.ts +72 -23
  33. package/dist/read.d.ts.map +1 -1
  34. package/dist/read.js +352 -150
  35. package/dist/refusal.d.ts.map +1 -1
  36. package/dist/refusal.js +2 -1
  37. package/dist/room-stream.d.ts +19 -0
  38. package/dist/room-stream.d.ts.map +1 -0
  39. package/dist/room-stream.js +57 -0
  40. package/dist/room-types.d.ts +7 -0
  41. package/dist/room-types.d.ts.map +1 -0
  42. package/dist/room-types.js +125 -0
  43. package/dist/site.d.ts +1 -1
  44. package/dist/site.d.ts.map +1 -1
  45. package/dist/site.js +123 -61
  46. package/dist/stream.d.ts +5 -4
  47. package/dist/stream.d.ts.map +1 -1
  48. package/dist/stream.js +356 -43
  49. package/dist/transport.d.ts +71 -8
  50. package/dist/transport.d.ts.map +1 -1
  51. package/dist/transport.js +4 -0
  52. package/dist/upload.d.ts +12 -0
  53. package/dist/upload.d.ts.map +1 -0
  54. package/dist/upload.js +63 -0
  55. package/dist/version.d.ts +1 -0
  56. package/dist/version.d.ts.map +1 -1
  57. package/dist/version.js +1 -1
  58. package/dist/write.d.ts +17 -9
  59. package/dist/write.d.ts.map +1 -1
  60. package/dist/write.js +138 -40
  61. package/package.json +8 -5
  62. package/AGENTS.md +0 -290
  63. package/dist/links.d.ts +0 -20
  64. package/dist/links.d.ts.map +0 -1
  65. package/dist/links.js +0 -104
package/dist/model.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { sha256Hex } from './digest.js';
2
- import { schemaOf, schemaPath } from './read.js';
2
+ import { modelScope, schemaOf, schemaPath, } from './read.js';
3
3
  const MODEL_ABSENT = { kind: 'model-unavailable', reason: 'not-readable' };
4
4
  const ABSENT_SCHEMA = { schema: null, version: null, revision: null };
5
5
  async function heldModel(read, identity) {
@@ -12,19 +12,10 @@ async function heldModel(read, identity) {
12
12
  };
13
13
  }
14
14
  async function modelsOf(tracked, read) {
15
- const models = {};
16
15
  const collection = read(tracked.schema);
17
- if (collection !== undefined) {
18
- models.collection = await heldModel(collection, schemaPath(tracked.handle, tracked.schema));
19
- }
20
- if (tracked.houseModel !== null) {
21
- const root = tracked.houseModel.root;
22
- const selection = read(root);
23
- if (selection !== undefined) {
24
- models.selection = await heldModel(selection, schemaPath(tracked.handle, root));
25
- }
26
- }
27
- return models.collection === undefined && models.selection === undefined ? undefined : models;
16
+ if (collection === undefined)
17
+ return undefined;
18
+ return { collection: await heldModel(collection, schemaPath(tracked.handle, tracked.schema)) };
28
19
  }
29
20
  export function partModels(scope, tracked, seen, final) {
30
21
  return modelsOf(tracked, (schema) => {
@@ -33,8 +24,12 @@ export function partModels(scope, tracked, seen, final) {
33
24
  return final && !seen.has(schema) ? ABSENT_SCHEMA : undefined;
34
25
  });
35
26
  }
36
- export function scopeModels(scope, tracked) {
37
- return partModels(scope, tracked, new Set(), true);
27
+ export async function manifestedModels(room, tracked) {
28
+ const scope = modelScope(room);
29
+ return {
30
+ models: await partModels(scope, tracked, new Set(), true),
31
+ seen: scope.files.some((file) => file.path === tracked.schema) ? [tracked.schema] : [],
32
+ };
38
33
  }
39
34
  export function viewModels(view, tracked) {
40
35
  return modelsOf(tracked, (schema) => {
package/dist/part.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ export type RoomFrame = {
2
+ readonly kind: 'frame';
3
+ readonly payload: Uint8Array<ArrayBuffer>;
4
+ readonly bytes: number;
5
+ } | {
6
+ readonly kind: 'ended';
7
+ } | {
8
+ readonly kind: 'broken';
9
+ };
10
+ export type RoomFrames = () => Promise<RoomFrame>;
11
+ export declare function checkedPayload(frame: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer> | null>;
12
+ export declare function roomFrames(room: ReadableStream<Uint8Array>, arrived?: (bytes: number) => void, signal?: AbortSignal): RoomFrames;
13
+ export declare function gunzipped(payload: Uint8Array<ArrayBuffer>): ReadableStream<string>;
14
+ //# sourceMappingURL=part.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"part.d.ts","sourceRoot":"","sources":["../src/part.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7F;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhC,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;AAQlD,wBAAsB,cAAc,CAClC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAC7B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CASzC;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,EAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,MAAM,CAAC,EAAE,WAAW,GACnB,UAAU,CAwDZ;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAKlF"}
package/dist/part.js ADDED
@@ -0,0 +1,90 @@
1
+ const PART_MAGIC = 0x48505431;
2
+ const PART_HEAD_BYTES = 8;
3
+ const PART_DIGEST_BYTES = 32;
4
+ function hex(bytes) {
5
+ let text = '';
6
+ for (const byte of bytes)
7
+ text += byte.toString(16).padStart(2, '0');
8
+ return text;
9
+ }
10
+ export async function checkedPayload(frame) {
11
+ if (frame.length < PART_HEAD_BYTES + PART_DIGEST_BYTES)
12
+ return null;
13
+ const view = new DataView(frame.buffer, frame.byteOffset, frame.byteLength);
14
+ if (view.getUint32(0) !== PART_MAGIC)
15
+ return null;
16
+ const length = view.getUint32(4);
17
+ if (PART_HEAD_BYTES + length + PART_DIGEST_BYTES !== frame.length)
18
+ return null;
19
+ const payload = frame.subarray(PART_HEAD_BYTES, PART_HEAD_BYTES + length);
20
+ const digest = hex(new Uint8Array(await crypto.subtle.digest('SHA-256', payload)));
21
+ return hex(frame.subarray(PART_HEAD_BYTES + length)) === digest ? payload : null;
22
+ }
23
+ export function roomFrames(room, arrived, signal) {
24
+ const reader = room.getReader();
25
+ signal?.addEventListener('abort', () => void reader.cancel().catch(() => { }), { once: true });
26
+ const chunks = [];
27
+ let held = 0;
28
+ let received = 0;
29
+ let ended = false;
30
+ async function filled(bytes) {
31
+ while (held < bytes && !ended) {
32
+ const read = await reader.read();
33
+ if (read.done) {
34
+ ended = true;
35
+ break;
36
+ }
37
+ chunks.push(read.value);
38
+ held += read.value.byteLength;
39
+ received += read.value.byteLength;
40
+ arrived?.(received);
41
+ }
42
+ return held >= bytes;
43
+ }
44
+ function taken(bytes) {
45
+ const out = new Uint8Array(bytes);
46
+ let at = 0;
47
+ while (at < bytes) {
48
+ const chunk = chunks[0];
49
+ const used = Math.min(chunk.byteLength, bytes - at);
50
+ out.set(chunk.subarray(0, used), at);
51
+ at += used;
52
+ if (used === chunk.byteLength)
53
+ chunks.shift();
54
+ else
55
+ chunks[0] = chunk.subarray(used);
56
+ }
57
+ held -= bytes;
58
+ return out;
59
+ }
60
+ return async () => {
61
+ try {
62
+ if (!(await filled(PART_HEAD_BYTES)))
63
+ return held === 0 ? { kind: 'ended' } : { kind: 'broken' };
64
+ const head = taken(PART_HEAD_BYTES);
65
+ const view = new DataView(head.buffer);
66
+ if (view.getUint32(0) !== PART_MAGIC)
67
+ return { kind: 'broken' };
68
+ const length = view.getUint32(4);
69
+ const rest = length + PART_DIGEST_BYTES;
70
+ if (!(await filled(rest)))
71
+ return { kind: 'broken' };
72
+ const frame = new Uint8Array(PART_HEAD_BYTES + rest);
73
+ frame.set(head, 0);
74
+ frame.set(taken(rest), PART_HEAD_BYTES);
75
+ const payload = await checkedPayload(frame);
76
+ return payload === null
77
+ ? { kind: 'broken' }
78
+ : { kind: 'frame', payload, bytes: frame.byteLength };
79
+ }
80
+ catch {
81
+ return { kind: 'broken' };
82
+ }
83
+ };
84
+ }
85
+ export function gunzipped(payload) {
86
+ return new Blob([payload])
87
+ .stream()
88
+ .pipeThrough(new DecompressionStream('gzip'))
89
+ .pipeThrough(new TextDecoderStream());
90
+ }
package/dist/read.d.ts CHANGED
@@ -1,13 +1,39 @@
1
- import type { BootstrapPage, RefreshResult, RoomAttachment } from '@agentshouse/mdruntime';
1
+ import { type AdapterFailure, type BinaryFile, type BootstrapPage, type RefreshResult, type RoomModels, type TransportUncertainty } from '@agentshouse/mdruntime';
2
2
  import type { TrackedAuthority } from './discovery.js';
3
3
  import type { HouseMode } from './transport.js';
4
4
  import { type LogPosition } from './version.js';
5
5
  export type HeadChange = BootstrapPage['changes'][string];
6
+ export type Answered = {
7
+ readonly documents: Map<string, string>;
8
+ readonly revisions: Map<string, string>;
9
+ readonly fileIds: Map<string, string>;
10
+ readonly changes: Map<string, HeadChange>;
11
+ readonly binaryFiles: Map<string, BinaryFile>;
12
+ readonly removals: Set<string>;
13
+ readonly folders: Set<string>;
14
+ readonly folderRemovals: Set<string>;
15
+ };
16
+ export declare function answering(): Answered;
17
+ export declare function revised(answer: Answered, path: string, revision: string): void;
18
+ export declare function forgotten(answer: Answered, path: string): void;
19
+ export declare function folded(answer: Answered, path: string, removed: boolean): void;
20
+ export declare function answered(answer: Answered): Generator<number, {
21
+ documents: Readonly<Record<string, string>>;
22
+ revisions: Readonly<Record<string, string>>;
23
+ fileIds?: Readonly<Record<string, string>>;
24
+ changes: Readonly<Record<string, HeadChange>>;
25
+ binaryFiles: Readonly<Record<string, BinaryFile>>;
26
+ removals: readonly string[];
27
+ folders?: readonly string[];
28
+ folderRemovals?: readonly string[];
29
+ }, void>;
6
30
  export type HouseManifestFile = {
7
31
  path: string;
8
32
  revision: string | undefined;
9
33
  version: string;
34
+ sha256?: string;
10
35
  head?: HeadChange;
36
+ binary?: BinaryFile;
11
37
  };
12
38
  export type HouseContent = {
13
39
  path: string;
@@ -17,24 +43,26 @@ export type HouseScope = LogPosition & {
17
43
  anchor: string;
18
44
  files: readonly HouseManifestFile[];
19
45
  contents: readonly HouseContent[];
20
- attachments?: readonly RoomAttachment[];
46
+ folders?: readonly string[];
21
47
  };
22
- export type HouseCursor = {
23
- room: string;
24
- path: string | null;
48
+ export type HouseModels = {
49
+ files: readonly HouseManifestFile[];
50
+ contents: readonly HouseContent[];
25
51
  };
26
- export type HouseEnvelope = {
27
- scopes: readonly HouseScope[];
28
- next?: HouseCursor;
52
+ export type HouseRoomHead = LogPosition & {
53
+ anchor: string;
54
+ models: HouseModels;
29
55
  };
30
56
  export type HouseGrant = {
31
- method: 'GET';
32
- url: string;
33
- } | {
34
- method: 'POST';
35
57
  operation: string;
36
58
  url: string;
37
59
  };
60
+ export type HouseFileAddress = {
61
+ url: string;
62
+ name: string;
63
+ sha256: string;
64
+ mediaType: string;
65
+ };
38
66
  export type HouseChange = {
39
67
  path: string;
40
68
  removed: true;
@@ -46,32 +74,52 @@ export type HouseChange = {
46
74
  head?: HeadChange;
47
75
  } | {
48
76
  path: string;
49
- reference: {
50
- revision: string;
51
- };
77
+ binary: BinaryFile;
78
+ revision: string | undefined;
79
+ version: string;
80
+ head?: HeadChange;
81
+ };
82
+ export type HousePage = {
83
+ after: string;
84
+ through: string;
85
+ read: number;
86
+ };
87
+ export type HouseFolder = {
88
+ path: string;
89
+ removed: boolean;
52
90
  };
53
91
  export type HouseView = LogPosition & {
54
92
  authority: string;
55
93
  changes: readonly HouseChange[];
56
- attachments?: readonly RoomAttachment[];
94
+ folders?: readonly HouseFolder[];
95
+ next?: HousePage;
96
+ };
97
+ type PageFailure = AdapterFailure | {
98
+ kind: 'beyond-horizon';
57
99
  };
58
100
  export type HouseEnumeration = {
59
101
  authorities: readonly HouseView[];
60
102
  };
61
103
  export declare function authorityRoot(handle: string): string;
62
- export declare function contentPrefixes(tracked: TrackedAuthority): readonly string[];
63
104
  export declare function schemaPath(handle: string, schema: string): string;
64
105
  export declare function parseGrant(body: unknown): HouseGrant | null;
106
+ export declare function parseFileAddress(body: unknown): HouseFileAddress | null;
65
107
  export declare function headChange(held: {
66
108
  readonly author?: unknown;
67
109
  readonly created_at?: unknown;
68
110
  }): HeadChange | undefined | null;
69
- export declare function parseEnvelope(body: unknown): HouseEnvelope | null;
70
- export declare function parseSiteBootstrap(body: unknown): HouseScope | null;
111
+ export declare function binaryFileOf(held: Readonly<Record<string, unknown>>): BinaryFile | undefined | null;
112
+ export declare function roomHead(payload: Uint8Array<ArrayBuffer>, mode: HouseMode): Promise<HouseRoomHead | null>;
113
+ export declare function manifested(room: HouseRoomHead, pageToken: string, models: RoomModels | undefined): BootstrapPage;
114
+ export declare function modelScope(room: HouseRoomHead): HouseScope;
115
+ export declare function emptyScope(room: HouseRoomHead): HouseScope;
116
+ export declare function housePart(room: HouseRoomHead, payload: Uint8Array<ArrayBuffer>, mode: HouseMode): Promise<{
117
+ scope: HouseScope;
118
+ ended: boolean;
119
+ } | TransportUncertainty>;
71
120
  export declare function parseEnumeration(body: unknown, mode: HouseMode): HouseEnumeration | null;
72
- export declare function advancedScope(scope: HouseScope, view: HouseView): HouseScope;
73
- export declare function matchesScope(scope: HouseScope, tracked: TrackedAuthority): boolean;
74
- export declare function bootstrapOf(scope: HouseScope): BootstrapPage;
121
+ export declare function wholeView(first: HouseView, more: (page: HousePage) => Promise<HouseView | PageFailure>): Promise<HouseView | PageFailure>;
122
+ export declare function bootstrapping(scope: HouseScope): Generator<number, BootstrapPage, void>;
75
123
  export type HouseSchema = {
76
124
  schema: string | null;
77
125
  version: string | null;
@@ -79,5 +127,6 @@ export type HouseSchema = {
79
127
  };
80
128
  export declare function schemaOf(scope: HouseScope, schema: string): HouseSchema | null;
81
129
  export declare function viewOf(enumeration: HouseEnumeration, tracked: TrackedAuthority): HouseView | undefined;
82
- export declare function refreshFrom(view: HouseView, fromRoomVersion: string): RefreshResult;
130
+ export declare function refreshFrom(view: HouseView, fromRoomVersion: string): Promise<RefreshResult>;
131
+ export {};
83
132
  //# sourceMappingURL=read.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../src/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../src/read.ts"],"names":[],"mappings":"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"}