@agentshouse/mdruntime-adapter 0.1.0-cedb8e57837a7 → 0.1.0-cf1ebfb67feeb
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 +2 -2
- package/dist/actions.d.ts +4 -69
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +7 -357
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +204 -411
- package/dist/app-reference.d.ts +2 -0
- package/dist/app-reference.d.ts.map +1 -0
- package/dist/app-reference.js +2 -0
- package/dist/crockford.d.ts +4 -0
- package/dist/crockford.d.ts.map +1 -0
- package/dist/crockford.js +3 -0
- package/dist/discovery.d.ts +21 -13
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +73 -53
- package/dist/history.d.ts +12 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +92 -0
- package/dist/house-model.d.ts +719 -0
- package/dist/house-model.d.ts.map +1 -0
- package/dist/house-model.js +393 -0
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/model.d.ts +5 -2
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +10 -29
- package/dist/part.d.ts +14 -0
- package/dist/part.d.ts.map +1 -0
- package/dist/part.js +90 -0
- package/dist/read.d.ts +35 -59
- package/dist/read.d.ts.map +1 -1
- package/dist/read.js +178 -266
- package/dist/refusal.d.ts +0 -3
- package/dist/refusal.d.ts.map +1 -1
- package/dist/refusal.js +0 -5
- package/dist/room-stream.d.ts +19 -0
- package/dist/room-stream.d.ts.map +1 -0
- package/dist/room-stream.js +57 -0
- package/dist/room-types.d.ts +7 -0
- package/dist/room-types.d.ts.map +1 -0
- package/dist/room-types.js +123 -0
- package/dist/search.d.ts +5 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +47 -0
- package/dist/site.d.ts.map +1 -1
- package/dist/site.js +83 -193
- package/dist/stream.d.ts +13 -13
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +166 -411
- package/dist/transport.d.ts +54 -40
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +54 -11
- package/dist/upload.d.ts +12 -0
- package/dist/upload.d.ts.map +1 -0
- package/dist/upload.js +63 -0
- package/dist/write.d.ts +6 -1
- package/dist/write.d.ts.map +1 -1
- package/dist/write.js +28 -39
- package/package.json +8 -4
- package/AGENTS.md +0 -304
- package/dist/gather.d.ts +0 -4
- package/dist/gather.d.ts.map +0 -1
- package/dist/gather.js +0 -35
- package/dist/handed.d.ts +0 -15
- package/dist/handed.d.ts.map +0 -1
- package/dist/handed.js +0 -45
- package/dist/referrer.d.ts +0 -7
- package/dist/referrer.d.ts.map +0 -1
- package/dist/referrer.js +0 -35
package/dist/transport.d.ts
CHANGED
|
@@ -1,41 +1,38 @@
|
|
|
1
|
-
import type { ConversationEvent, TurnOperation } from '@agentshouse/mdruntime';
|
|
2
|
-
export declare const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export declare
|
|
9
|
-
export declare
|
|
10
|
-
export declare const
|
|
1
|
+
import type { ConversationEvent, SavedFacts, TurnOperation } from '@agentshouse/mdruntime';
|
|
2
|
+
export declare const HOUSE_RUNTIME_READS: {
|
|
3
|
+
readonly acts: readonly ['account/push', 'agents/read', 'apps/features/set', 'apps/source/download', 'apps/source/top', 'batch', 'batch-upload', 'bootstrap', 'conversations/history', 'discover', 'files/attach', 'files/finish', 'files/get', 'revisions', 'search', 'sites/screenshot/read'];
|
|
4
|
+
readonly frames: readonly ['app-message', 'authority_changed', 'carried', 'caught_up', 'commands', 'conversation', 'conversation_deleted', 'conversations', 'deliveries', 'deployment', 'held', 'interactions', 'link', 'message', 'opening', 'options', 'part', 'process', 'received', 'signal', 'site', 'starting', 'subagents', 'tab-icon', 'turn'];
|
|
5
|
+
};
|
|
6
|
+
export type HouseRuntimeAct = (typeof HOUSE_RUNTIME_READS.acts)[number];
|
|
7
|
+
export type HouseRuntimeFrame = (typeof HOUSE_RUNTIME_READS.frames)[number];
|
|
8
|
+
export declare function houseDoorRoute(act: HouseRuntimeAct): string;
|
|
9
|
+
export declare function houseSiteRoute(act: Extract<HouseRuntimeAct, 'bootstrap' | 'discover'>): string;
|
|
10
|
+
export declare const SITE_SUBMISSION = "site/submission";
|
|
11
11
|
export declare const SITE_DOOR_SUBMIT = "/_house/door/submit";
|
|
12
12
|
export type HouseMode = 'credential' | 'site';
|
|
13
13
|
export type HouseDoorAnswer = {
|
|
14
14
|
status: number;
|
|
15
15
|
body: unknown;
|
|
16
16
|
};
|
|
17
|
-
export declare const DOOR_FILES_GET = "/door/files/get";
|
|
18
17
|
export declare const SITE_FILES = "/_house/files/";
|
|
19
|
-
export
|
|
20
|
-
export type HouseByteAct = 'authored_batch_upload' | 'conversation_file_upload' | 'binary_stage';
|
|
21
|
-
export type HouseByteBody = string | ArrayBuffer | Uint8Array | Blob;
|
|
18
|
+
export type HouseByteAct = 'authored_batch_upload';
|
|
22
19
|
export type HouseBytesAnswer = {
|
|
23
20
|
status: number;
|
|
24
|
-
|
|
21
|
+
body: ReadableStream<Uint8Array> | null;
|
|
22
|
+
mediaType: string;
|
|
25
23
|
};
|
|
26
24
|
export type HouseByteTransfer = {
|
|
27
25
|
act: HouseByteAct;
|
|
28
26
|
url: string;
|
|
29
|
-
body:
|
|
30
|
-
operation?: string;
|
|
27
|
+
body: string;
|
|
31
28
|
};
|
|
32
29
|
export type HouseStreamEntry = {
|
|
33
30
|
path: string;
|
|
34
|
-
kind: 'edited' | 'removed' | '
|
|
31
|
+
kind: 'edited' | 'removed' | 'folder';
|
|
32
|
+
removed?: true;
|
|
35
33
|
revision?: string;
|
|
36
34
|
sha256?: string;
|
|
37
35
|
text?: string;
|
|
38
|
-
file?: string;
|
|
39
36
|
bytes?: number;
|
|
40
37
|
media_type?: string;
|
|
41
38
|
author?: {
|
|
@@ -46,7 +43,7 @@ export type HouseStreamEntry = {
|
|
|
46
43
|
name: string;
|
|
47
44
|
};
|
|
48
45
|
created_at?: string;
|
|
49
|
-
|
|
46
|
+
facts?: SavedFacts;
|
|
50
47
|
};
|
|
51
48
|
type LiveFact<K extends ConversationEvent['kind']> = Extract<ConversationEvent, {
|
|
52
49
|
kind: K;
|
|
@@ -54,21 +51,27 @@ type LiveFact<K extends ConversationEvent['kind']> = Extract<ConversationEvent,
|
|
|
54
51
|
export type HouseListedConversation = {
|
|
55
52
|
conversation_id: string;
|
|
56
53
|
agent_id: string;
|
|
54
|
+
agent_name: string;
|
|
55
|
+
agent_retired: boolean;
|
|
57
56
|
name: string;
|
|
58
57
|
created_at: string;
|
|
59
58
|
finished_at: string | null;
|
|
60
59
|
outcome: string | null;
|
|
61
60
|
waiting: boolean;
|
|
61
|
+
newest: {
|
|
62
|
+
accepted_at: string;
|
|
63
|
+
message_id: string;
|
|
64
|
+
} | null;
|
|
65
|
+
process_ended_at: string | null;
|
|
62
66
|
};
|
|
63
|
-
|
|
67
|
+
type Listed<Frame extends {
|
|
68
|
+
readonly type: HouseRuntimeFrame;
|
|
69
|
+
}> = Frame;
|
|
70
|
+
export type HouseStreamFrame = Listed<{
|
|
64
71
|
type: 'part';
|
|
65
72
|
authority: string;
|
|
66
73
|
carry: string;
|
|
67
74
|
index: number;
|
|
68
|
-
after: string;
|
|
69
|
-
from: string;
|
|
70
|
-
target: string;
|
|
71
|
-
handled: number;
|
|
72
75
|
entries: readonly HouseStreamEntry[];
|
|
73
76
|
} | {
|
|
74
77
|
type: 'carried';
|
|
@@ -80,10 +83,19 @@ export type HouseStreamFrame = {
|
|
|
80
83
|
log_epoch: string;
|
|
81
84
|
} | {
|
|
82
85
|
type: 'opening';
|
|
86
|
+
member: unknown;
|
|
87
|
+
bounds: unknown;
|
|
88
|
+
actions: readonly unknown[];
|
|
89
|
+
shapes: readonly unknown[];
|
|
90
|
+
rooms: readonly unknown[];
|
|
91
|
+
} | {
|
|
92
|
+
type: 'caught_up';
|
|
83
93
|
expired: readonly string[];
|
|
84
94
|
} | {
|
|
85
95
|
type: 'authority_changed';
|
|
86
|
-
|
|
96
|
+
member: unknown;
|
|
97
|
+
authorities: readonly unknown[];
|
|
98
|
+
left: readonly string[];
|
|
87
99
|
} | ({
|
|
88
100
|
type: 'turn';
|
|
89
101
|
conversation_id: string;
|
|
@@ -116,6 +128,10 @@ export type HouseStreamFrame = {
|
|
|
116
128
|
type: 'starting';
|
|
117
129
|
conversation_id: string;
|
|
118
130
|
step: string | null;
|
|
131
|
+
} | {
|
|
132
|
+
type: 'subagents';
|
|
133
|
+
conversation_id: string;
|
|
134
|
+
subagents: LiveFact<'subagents'>['subagents'];
|
|
119
135
|
} | {
|
|
120
136
|
type: 'link';
|
|
121
137
|
conversation_id: string;
|
|
@@ -123,6 +139,9 @@ export type HouseStreamFrame = {
|
|
|
123
139
|
} | {
|
|
124
140
|
type: 'conversations';
|
|
125
141
|
conversations: readonly HouseListedConversation[];
|
|
142
|
+
whole: boolean;
|
|
143
|
+
more: boolean;
|
|
144
|
+
cursor: string | null;
|
|
126
145
|
} | {
|
|
127
146
|
type: 'conversation';
|
|
128
147
|
conversation: HouseListedConversation;
|
|
@@ -132,49 +151,44 @@ export type HouseStreamFrame = {
|
|
|
132
151
|
} | {
|
|
133
152
|
type: 'signal';
|
|
134
153
|
service_mode: string;
|
|
135
|
-
}
|
|
136
|
-
export type HouseHeldCarry = {
|
|
137
|
-
id: string;
|
|
138
|
-
parts: number;
|
|
139
|
-
from: string;
|
|
140
|
-
target: string;
|
|
141
|
-
handled: number;
|
|
142
|
-
piece?: {
|
|
143
|
-
sha256: string;
|
|
144
|
-
offset: number;
|
|
145
|
-
};
|
|
146
|
-
};
|
|
154
|
+
}>;
|
|
147
155
|
export type HouseHeldRoom = {
|
|
148
156
|
authority: string;
|
|
149
157
|
position: string;
|
|
150
158
|
log_epoch: string;
|
|
151
|
-
carry?: HouseHeldCarry;
|
|
152
159
|
};
|
|
153
160
|
export type HouseOpening = {
|
|
154
|
-
hold(rooms: readonly HouseHeldRoom[], runtime: string): void;
|
|
161
|
+
hold(rooms: readonly HouseHeldRoom[], runtime: string, conversations: string | null): void;
|
|
155
162
|
received(authority: string, carry: string, index: number): void;
|
|
156
163
|
close(): void;
|
|
157
164
|
};
|
|
158
165
|
export type HouseClosing = {
|
|
159
166
|
revoked: boolean;
|
|
160
167
|
lost: boolean;
|
|
168
|
+
authorityChanged: boolean;
|
|
161
169
|
};
|
|
162
170
|
export type HouseStream = {
|
|
163
171
|
observe(receive: (frame: HouseStreamFrame) => void): () => void;
|
|
164
172
|
opened(notify: (opening: HouseOpening) => void): () => void;
|
|
165
173
|
closed(notify: (closing: HouseClosing) => void): () => void;
|
|
166
174
|
};
|
|
175
|
+
export type HouseStreamed = HouseDoorAnswer & {
|
|
176
|
+
room: ReadableStream<Uint8Array> | null;
|
|
177
|
+
};
|
|
167
178
|
export type HouseDoor = {
|
|
168
179
|
door(route: string, body: unknown): Promise<HouseDoorAnswer>;
|
|
169
180
|
stream: HouseStream;
|
|
170
181
|
};
|
|
171
182
|
export type HouseTransport = HouseDoor & {
|
|
183
|
+
streamed(route: string, body: unknown, signal: AbortSignal): Promise<HouseStreamed>;
|
|
172
184
|
transfer(request: HouseByteTransfer): Promise<HouseDoorAnswer>;
|
|
185
|
+
put(url: string, body: Blob, headers: Readonly<Record<string, string>>): Promise<number>;
|
|
173
186
|
download(url: string): Promise<HouseBytesAnswer>;
|
|
174
187
|
};
|
|
175
188
|
export type HouseSiteTransport = HouseDoor & {
|
|
176
189
|
online(): boolean;
|
|
177
190
|
read(route: string): Promise<HouseDoorAnswer>;
|
|
191
|
+
streamed(route: string, signal: AbortSignal): Promise<HouseStreamed>;
|
|
178
192
|
download(route: string): Promise<HouseBytesAnswer>;
|
|
179
193
|
};
|
|
180
194
|
export {};
|
package/dist/transport.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
|
package/dist/transport.js
CHANGED
|
@@ -1,13 +1,56 @@
|
|
|
1
|
-
export const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
export const HOUSE_RUNTIME_READS = {
|
|
2
|
+
acts: [
|
|
3
|
+
'account/push',
|
|
4
|
+
'agents/read',
|
|
5
|
+
'apps/features/set',
|
|
6
|
+
'apps/source/download',
|
|
7
|
+
'apps/source/top',
|
|
8
|
+
'batch',
|
|
9
|
+
'batch-upload',
|
|
10
|
+
'bootstrap',
|
|
11
|
+
'conversations/history',
|
|
12
|
+
'discover',
|
|
13
|
+
'files/attach',
|
|
14
|
+
'files/finish',
|
|
15
|
+
'files/get',
|
|
16
|
+
'revisions',
|
|
17
|
+
'search',
|
|
18
|
+
'sites/screenshot/read',
|
|
19
|
+
],
|
|
20
|
+
frames: [
|
|
21
|
+
'app-message',
|
|
22
|
+
'authority_changed',
|
|
23
|
+
'carried',
|
|
24
|
+
'caught_up',
|
|
25
|
+
'commands',
|
|
26
|
+
'conversation',
|
|
27
|
+
'conversation_deleted',
|
|
28
|
+
'conversations',
|
|
29
|
+
'deliveries',
|
|
30
|
+
'deployment',
|
|
31
|
+
'held',
|
|
32
|
+
'interactions',
|
|
33
|
+
'link',
|
|
34
|
+
'message',
|
|
35
|
+
'opening',
|
|
36
|
+
'options',
|
|
37
|
+
'part',
|
|
38
|
+
'process',
|
|
39
|
+
'received',
|
|
40
|
+
'signal',
|
|
41
|
+
'site',
|
|
42
|
+
'starting',
|
|
43
|
+
'subagents',
|
|
44
|
+
'tab-icon',
|
|
45
|
+
'turn',
|
|
46
|
+
],
|
|
47
|
+
};
|
|
48
|
+
export function houseDoorRoute(act) {
|
|
49
|
+
return `/door/${act}`;
|
|
50
|
+
}
|
|
51
|
+
export function houseSiteRoute(act) {
|
|
52
|
+
return `/_house/door/${act}`;
|
|
53
|
+
}
|
|
54
|
+
export const SITE_SUBMISSION = 'site/submission';
|
|
10
55
|
export const SITE_DOOR_SUBMIT = '/_house/door/submit';
|
|
11
|
-
export const DOOR_FILES_GET = '/door/files/get';
|
|
12
56
|
export const SITE_FILES = '/_house/files/';
|
|
13
|
-
export const SITE_FILE_RECORD = 'record';
|
package/dist/upload.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type HouseDoorAnswer, type HouseTransport } from './transport.js';
|
|
2
|
+
export type HouseUpload = {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly partBytes: number;
|
|
5
|
+
readonly parts: readonly {
|
|
6
|
+
readonly part: number;
|
|
7
|
+
readonly url: string;
|
|
8
|
+
}[];
|
|
9
|
+
};
|
|
10
|
+
export declare function houseUpload(value: unknown): HouseUpload | null;
|
|
11
|
+
export declare function finishedUpload(transport: HouseTransport, first: HouseUpload, blob: Blob): Promise<HouseDoorAnswer | null>;
|
|
12
|
+
//# sourceMappingURL=upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3F,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5E,CAAC;AAeF,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAQ9D;AA8BD,wBAAsB,cAAc,CAClC,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAejC"}
|
package/dist/upload.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { sha256 } from '@agentshouse/mdruntime/digest';
|
|
2
|
+
import { houseDoorRoute } from './transport.js';
|
|
3
|
+
const FINISHING_ROUNDS = 24;
|
|
4
|
+
function record(value) {
|
|
5
|
+
return value !== null && typeof value === 'object' ? value : {};
|
|
6
|
+
}
|
|
7
|
+
function part(value) {
|
|
8
|
+
const { part: number, url } = record(value);
|
|
9
|
+
return Number.isSafeInteger(number) && number > 0 && typeof url === 'string'
|
|
10
|
+
? { part: number, url }
|
|
11
|
+
: null;
|
|
12
|
+
}
|
|
13
|
+
export function houseUpload(value) {
|
|
14
|
+
const { id, part_bytes: partBytes, parts = [] } = record(value);
|
|
15
|
+
if (typeof id !== 'string' || !Number.isSafeInteger(partBytes) || partBytes <= 0)
|
|
16
|
+
return null;
|
|
17
|
+
if (!Array.isArray(parts))
|
|
18
|
+
return null;
|
|
19
|
+
const named = parts.map(part);
|
|
20
|
+
if (named.some((one) => one === null))
|
|
21
|
+
return null;
|
|
22
|
+
return { id, partBytes: partBytes, parts: named };
|
|
23
|
+
}
|
|
24
|
+
function checksum(hex) {
|
|
25
|
+
let bytes = '';
|
|
26
|
+
for (let at = 0; at < hex.length; at += 2)
|
|
27
|
+
bytes += String.fromCharCode(Number.parseInt(hex.slice(at, at + 2), 16));
|
|
28
|
+
return { 'x-amz-checksum-sha256': btoa(bytes) };
|
|
29
|
+
}
|
|
30
|
+
async function partSha256(blob, partBytes) {
|
|
31
|
+
const parts = [];
|
|
32
|
+
for (let start = 0; start === 0 || start < blob.size; start += partBytes)
|
|
33
|
+
parts.push(await sha256(blob.slice(start, start + partBytes)));
|
|
34
|
+
return parts;
|
|
35
|
+
}
|
|
36
|
+
async function sent(transport, upload, blob, digests) {
|
|
37
|
+
for (const { part: number, url } of upload.parts) {
|
|
38
|
+
const start = (number - 1) * upload.partBytes;
|
|
39
|
+
const slice = blob.slice(start, start + upload.partBytes);
|
|
40
|
+
if ((await transport.put(url, slice, checksum(digests[number - 1]))) !== 200)
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
export async function finishedUpload(transport, first, blob) {
|
|
46
|
+
const digests = await partSha256(blob, first.partBytes);
|
|
47
|
+
let upload = first;
|
|
48
|
+
for (let round = 0; round < FINISHING_ROUNDS; round += 1) {
|
|
49
|
+
if (!(await sent(transport, upload, blob, digests)))
|
|
50
|
+
return null;
|
|
51
|
+
const answer = await transport.door(houseDoorRoute('files/finish'), {
|
|
52
|
+
upload: upload.id,
|
|
53
|
+
part_sha256: digests,
|
|
54
|
+
});
|
|
55
|
+
if (answer.status !== 200)
|
|
56
|
+
return answer;
|
|
57
|
+
const missing = houseUpload(record(answer.body).upload);
|
|
58
|
+
if (missing === null)
|
|
59
|
+
return answer;
|
|
60
|
+
upload = missing;
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
package/dist/write.d.ts
CHANGED
|
@@ -10,13 +10,18 @@ export type ChangeMapping = {
|
|
|
10
10
|
rule: string;
|
|
11
11
|
};
|
|
12
12
|
export declare function houseChanges(batch: ChangeBatch, handle: string): ChangeMapping;
|
|
13
|
+
export declare function houseParts(saved: readonly {
|
|
14
|
+
readonly path: string;
|
|
15
|
+
readonly parts: unknown;
|
|
16
|
+
}[], handle: string): ChangeMapping;
|
|
13
17
|
export declare function houseMove(batch: ChangeBatch, source: string, destination: string): ChangeMapping;
|
|
14
18
|
export type OperationHead = {
|
|
15
19
|
readonly operation_id: string;
|
|
20
|
+
readonly room_ref: string;
|
|
16
21
|
readonly app_ref?: string;
|
|
17
22
|
readonly release?: string;
|
|
18
23
|
};
|
|
19
|
-
export declare function operationHead(batch: ChangeBatch): OperationHead;
|
|
24
|
+
export declare function operationHead(batch: ChangeBatch, room: string): OperationHead;
|
|
20
25
|
export declare function batchPaths(changes: readonly HouseOperation[]): readonly string[];
|
|
21
26
|
export declare function deltaBody(changes: readonly HouseOperation[]): string;
|
|
22
27
|
export declare function deltaBytes(delta: string): number;
|
package/dist/write.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../src/write.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../src/write.ts"],"names":[],"mappings":"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"}
|
package/dist/write.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { departure, ROW_WEIGHT, } from '@agentshouse/mdruntime';
|
|
1
|
+
import { departure, partsChanges, ROW_WEIGHT, } from '@agentshouse/mdruntime';
|
|
2
2
|
import { answered, answering, binaryFileOf, headChange, revised } from './read.js';
|
|
3
3
|
import { sha256Hex, textBytes } from './digest.js';
|
|
4
4
|
import { nativePath, roomLocalPath } from './map.js';
|
|
@@ -120,6 +120,9 @@ export function houseChanges(batch, handle) {
|
|
|
120
120
|
}
|
|
121
121
|
return { kind: 'changes', changes };
|
|
122
122
|
}
|
|
123
|
+
export function houseParts(saved, handle) {
|
|
124
|
+
return houseChanges({ id: '', baseRoomVersion: '', ...partsChanges(saved) }, handle);
|
|
125
|
+
}
|
|
123
126
|
export function houseMove(batch, source, destination) {
|
|
124
127
|
const changes = [];
|
|
125
128
|
for (const { path, to } of batch.between?.moves ?? []) {
|
|
@@ -138,11 +141,10 @@ export function houseMove(batch, source, destination) {
|
|
|
138
141
|
}
|
|
139
142
|
return { kind: 'changes', changes };
|
|
140
143
|
}
|
|
141
|
-
export function operationHead(batch) {
|
|
144
|
+
export function operationHead(batch, room) {
|
|
142
145
|
const writer = batch.writtenBy;
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
: { operation_id: batch.id, app_ref: writer.app, release: writer.release };
|
|
146
|
+
const head = { operation_id: batch.id, room_ref: room };
|
|
147
|
+
return writer === undefined ? head : { ...head, app_ref: writer.app, release: writer.release };
|
|
146
148
|
}
|
|
147
149
|
export function batchPaths(changes) {
|
|
148
150
|
return [
|
|
@@ -228,7 +230,7 @@ function* acceptedOf(at, contents) {
|
|
|
228
230
|
answer.changes.set(entry.path, entry.head);
|
|
229
231
|
}
|
|
230
232
|
const unbinaried = answer.binaryFiles.size === 0;
|
|
231
|
-
const { binaryFiles, ...room } = yield* answered(answer);
|
|
233
|
+
const { binaryFiles, facts: _facts, ...room } = yield* answered(answer);
|
|
232
234
|
return { roomVersion: roomVersion(at), ...room, ...(unbinaried ? {} : { binaryFiles }) };
|
|
233
235
|
}
|
|
234
236
|
function* movedOutcome(held, move) {
|
|
@@ -259,11 +261,6 @@ export function* mutationOutcome(status, body, locator, handle, move) {
|
|
|
259
261
|
if (refusal !== null && refusal.code === 'service_mode_write_halted') {
|
|
260
262
|
return { kind: 'write-halted' };
|
|
261
263
|
}
|
|
262
|
-
if (refusal !== null && refusal.code === 'expired') {
|
|
263
|
-
return refusal.fields.restored === true
|
|
264
|
-
? { kind: 'expired', restored: true }
|
|
265
|
-
: { kind: 'expired' };
|
|
266
|
-
}
|
|
267
264
|
if (refusal !== null && refusal.code === 'edit_conflict') {
|
|
268
265
|
const { current, ...fields } = refusal.fields;
|
|
269
266
|
const held = (yield* material(current, handle)) ?? [];
|
|
@@ -337,27 +334,29 @@ export function revisionBody(input) {
|
|
|
337
334
|
}
|
|
338
335
|
function revisionAuthor(entry) {
|
|
339
336
|
const user = entry.author_user;
|
|
337
|
+
const userName = entry.author_user_name;
|
|
340
338
|
const site = entry.author_site;
|
|
341
|
-
const
|
|
342
|
-
|
|
343
|
-
|
|
339
|
+
const siteName = entry.author_site_name;
|
|
340
|
+
const inbox = entry.author_inbox;
|
|
341
|
+
const inboxName = entry.author_inbox_name;
|
|
342
|
+
const app = entry.author_app;
|
|
343
|
+
const appName = entry.author_app_name;
|
|
344
|
+
const named = [site, siteName, inbox, inboxName, app, appName].filter((held) => held !== undefined);
|
|
345
|
+
if (typeof user === 'string' && typeof userName === 'string' && named.length === 0)
|
|
346
|
+
return { kind: 'user', id: user, name: userName };
|
|
347
|
+
if (user !== null || userName !== undefined || named.length !== 2)
|
|
348
|
+
return null;
|
|
349
|
+
if (typeof site === 'string' && typeof siteName === 'string') {
|
|
350
|
+
return { kind: 'site', id: site, name: siteName };
|
|
351
|
+
}
|
|
352
|
+
if (typeof inbox === 'string' && typeof inboxName === 'string') {
|
|
353
|
+
return { kind: 'inbox', id: inbox, name: inboxName };
|
|
344
354
|
}
|
|
345
|
-
if (
|
|
346
|
-
return { kind: '
|
|
355
|
+
if (typeof app === 'string' && typeof appName === 'string') {
|
|
356
|
+
return { kind: 'app', id: app, name: appName };
|
|
347
357
|
}
|
|
348
358
|
return null;
|
|
349
359
|
}
|
|
350
|
-
function historyBinary(entry) {
|
|
351
|
-
if (entry.file === undefined)
|
|
352
|
-
return undefined;
|
|
353
|
-
const { file, bytes, media_type: mediaType, sha256 } = entry;
|
|
354
|
-
if (typeof file !== 'string' ||
|
|
355
|
-
typeof bytes !== 'number' ||
|
|
356
|
-
typeof mediaType !== 'string' ||
|
|
357
|
-
typeof sha256 !== 'string')
|
|
358
|
-
return null;
|
|
359
|
-
return { fileRef: file, byteLength: bytes, mediaType, sha256 };
|
|
360
|
-
}
|
|
361
360
|
export function historyOutcome(status, body, locator, request) {
|
|
362
361
|
const classified = classifyDoor(status, body, locator);
|
|
363
362
|
if (classified !== null)
|
|
@@ -378,17 +377,7 @@ export function historyOutcome(status, body, locator, request) {
|
|
|
378
377
|
const named = entries[0];
|
|
379
378
|
if (named === undefined)
|
|
380
379
|
return { kind: 'no-history' };
|
|
381
|
-
if (named.
|
|
382
|
-
return {
|
|
383
|
-
kind: 'scoped-refusal',
|
|
384
|
-
locator,
|
|
385
|
-
scope: 'operation',
|
|
386
|
-
code: 'retained_history_unavailable',
|
|
387
|
-
fields: { path: request.path, revision: request.revision },
|
|
388
|
-
retryable: false,
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
|
-
if (typeof named.file === 'string')
|
|
380
|
+
if (typeof named.media_type === 'string')
|
|
392
381
|
return { kind: 'no-history' };
|
|
393
382
|
if (typeof named.content !== 'string')
|
|
394
383
|
return { kind: 'transport-uncertainty' };
|
|
@@ -404,7 +393,7 @@ export function historyOutcome(status, body, locator, request) {
|
|
|
404
393
|
typeof entry.created_at !== 'string') {
|
|
405
394
|
return { kind: 'transport-uncertainty' };
|
|
406
395
|
}
|
|
407
|
-
const binaryFile =
|
|
396
|
+
const binaryFile = binaryFileOf(entry);
|
|
408
397
|
if (binaryFile === null)
|
|
409
398
|
return { kind: 'transport-uncertainty' };
|
|
410
399
|
revisions.push({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentshouse/mdruntime-adapter",
|
|
3
|
-
"version": "0.1.0-
|
|
3
|
+
"version": "0.1.0-cf1ebfb67feeb",
|
|
4
4
|
"description": "Agents House Adapter for the MD Runtime",
|
|
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
|
".": {
|
|
@@ -20,11 +20,15 @@
|
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
22
|
"dist",
|
|
23
|
-
"AGENTS.md",
|
|
24
23
|
"README.md",
|
|
25
24
|
"LICENSE"
|
|
26
25
|
],
|
|
27
26
|
"dependencies": {
|
|
28
|
-
"@agentshouse/mdruntime": "0.1.0-
|
|
27
|
+
"@agentshouse/mdruntime": "0.1.0-cac707d698ca2"
|
|
28
|
+
},
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "git+https://github.com/agentshouse/core.git",
|
|
32
|
+
"directory": "mdruntime/packages/mdruntime-adapter"
|
|
29
33
|
}
|
|
30
34
|
}
|