@agentshouse/mdruntime 0.1.0-alpha.2 → 0.1.0-alpha.21
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 +87 -0
- package/dist/adapter.d.ts +145 -28
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +2 -1
- package/dist/adapter.js.map +1 -1
- package/dist/bootstrap.d.ts +11 -13
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +25 -24
- package/dist/bootstrap.js.map +1 -1
- package/dist/change-set.d.ts +33 -0
- package/dist/change-set.d.ts.map +1 -0
- package/dist/change-set.js +74 -0
- package/dist/change-set.js.map +1 -0
- package/dist/change.d.ts +70 -0
- package/dist/change.d.ts.map +1 -0
- package/dist/change.js +12 -0
- package/dist/change.js.map +1 -0
- package/dist/client.d.ts +66 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +229 -0
- package/dist/client.js.map +1 -0
- package/dist/collection.d.ts +25 -3
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +97 -25
- package/dist/collection.js.map +1 -1
- package/dist/connection.d.ts +87 -5
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +1653 -70
- package/dist/connection.js.map +1 -1
- package/dist/conversation.d.ts +57 -0
- package/dist/conversation.d.ts.map +1 -0
- package/dist/conversation.js +404 -0
- package/dist/conversation.js.map +1 -0
- package/dist/durability.d.ts +9 -0
- package/dist/durability.d.ts.map +1 -0
- package/dist/durability.js +11 -0
- package/dist/durability.js.map +1 -0
- package/dist/file.d.ts +20 -0
- package/dist/file.d.ts.map +1 -0
- package/dist/file.js +149 -0
- package/dist/file.js.map +1 -0
- package/dist/host.d.ts +13 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +229 -0
- package/dist/host.js.map +1 -0
- package/dist/identity.d.ts +2 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +16 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/log.d.ts +5 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +15 -0
- package/dist/log.js.map +1 -0
- package/dist/memory.d.ts +17 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +264 -21
- package/dist/memory.js.map +1 -1
- package/dist/model.d.ts +70 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +28 -0
- package/dist/model.js.map +1 -0
- package/dist/outcome.d.ts +37 -0
- package/dist/outcome.d.ts.map +1 -0
- package/dist/outcome.js +23 -0
- package/dist/outcome.js.map +1 -0
- package/dist/overlay.d.ts +10 -0
- package/dist/overlay.d.ts.map +1 -0
- package/dist/overlay.js +245 -0
- package/dist/overlay.js.map +1 -0
- package/dist/paths.d.ts +6 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +47 -0
- package/dist/paths.js.map +1 -0
- package/dist/query.d.ts +13 -0
- package/dist/query.d.ts.map +1 -0
- package/dist/query.js +18 -0
- package/dist/query.js.map +1 -0
- package/dist/refresh.d.ts +14 -0
- package/dist/refresh.d.ts.map +1 -0
- package/dist/refresh.js +65 -0
- package/dist/refresh.js.map +1 -0
- package/dist/replica.d.ts +33 -0
- package/dist/replica.d.ts.map +1 -0
- package/dist/replica.js +134 -0
- package/dist/replica.js.map +1 -0
- package/dist/save.d.ts +35 -0
- package/dist/save.d.ts.map +1 -0
- package/dist/save.js +561 -0
- package/dist/save.js.map +1 -0
- package/dist/status.d.ts +25 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +32 -0
- package/dist/status.js.map +1 -0
- package/dist/store.d.ts +86 -4
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +394 -9
- package/dist/store.js.map +1 -1
- package/dist/transfer.d.ts +5 -0
- package/dist/transfer.d.ts.map +1 -0
- package/dist/transfer.js +5 -0
- package/dist/transfer.js.map +1 -0
- package/dist/wire.d.ts +63 -0
- package/dist/wire.d.ts.map +1 -0
- package/dist/wire.js +142 -0
- package/dist/wire.js.map +1 -0
- package/package.json +13 -4
package/dist/file.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime/src/file.ts"],"sourcesContent":["export type InstructionFile = {\n name: string;\n blob: Blob;\n};\n\nexport type FileDeclaration = {\n name: string;\n mediaType: string;\n byteLength: number;\n contentHash: string;\n width?: number;\n height?: number;\n};\n\nexport type Extent = { width: number; height: number };\n\nconst PNG_SIGNATURE = [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a];\nconst WEBP_SYNC = [0x9d, 0x01, 0x2a];\nconst SHAPELESS_JPEG_MARKERS = new Set([0xc4, 0xc8, 0xcc]);\nconst BMFF_CONTAINERS = new Set(['meta', 'iprp', 'ipco']);\n\nfunction starts(bytes: Uint8Array, signature: readonly number[], at = 0): boolean {\n return signature.every((value, index) => bytes[at + index] === value);\n}\n\nfunction text(bytes: Uint8Array, at: number, length: number): string {\n return String.fromCharCode(...bytes.subarray(at, at + length));\n}\n\nfunction bigEndian(bytes: Uint8Array, at: number, length: number): number {\n let value = 0;\n for (let index = 0; index < length; index += 1) value = value * 256 + (bytes[at + index] ?? 0);\n return value;\n}\n\nfunction littleEndian(bytes: Uint8Array, at: number, length: number): number {\n let value = 0;\n for (let index = length - 1; index >= 0; index -= 1)\n value = value * 256 + (bytes[at + index] ?? 0);\n return value;\n}\n\nfunction pngExtent(bytes: Uint8Array): Extent | null {\n if (bytes.length < 24 || !starts(bytes, PNG_SIGNATURE)) return null;\n if (text(bytes, 12, 4) !== 'IHDR') return null;\n return { width: bigEndian(bytes, 16, 4), height: bigEndian(bytes, 20, 4) };\n}\n\nfunction gifExtent(bytes: Uint8Array): Extent | null {\n if (bytes.length < 10 || text(bytes, 0, 3) !== 'GIF') return null;\n return { width: littleEndian(bytes, 6, 2), height: littleEndian(bytes, 8, 2) };\n}\n\nfunction jpegExtent(bytes: Uint8Array): Extent | null {\n if (bytes.length < 4 || bytes[0] !== 0xff || bytes[1] !== 0xd8) return null;\n let at = 2;\n while (at + 9 < bytes.length) {\n if (bytes[at] !== 0xff) return null;\n const marker = bytes[at + 1] ?? 0;\n if (marker === 0xd8 || marker === 0x01 || (marker >= 0xd0 && marker <= 0xd7)) {\n at += 2;\n continue;\n }\n const length = bigEndian(bytes, at + 2, 2);\n if (marker >= 0xc0 && marker <= 0xcf && !SHAPELESS_JPEG_MARKERS.has(marker)) {\n return { width: bigEndian(bytes, at + 7, 2), height: bigEndian(bytes, at + 5, 2) };\n }\n if (length < 2) return null;\n at += 2 + length;\n }\n return null;\n}\n\nfunction webpExtent(bytes: Uint8Array): Extent | null {\n if (bytes.length < 30 || text(bytes, 0, 4) !== 'RIFF' || text(bytes, 8, 4) !== 'WEBP')\n return null;\n const chunk = text(bytes, 12, 4);\n if (chunk === 'VP8X') {\n return {\n width: littleEndian(bytes, 24, 3) + 1,\n height: littleEndian(bytes, 27, 3) + 1,\n };\n }\n if (chunk === 'VP8 ' && starts(bytes, WEBP_SYNC, 23)) {\n return {\n width: littleEndian(bytes, 26, 2) & 0x3fff,\n height: littleEndian(bytes, 28, 2) & 0x3fff,\n };\n }\n if (chunk === 'VP8L' && bytes[20] === 0x2f) {\n const packed = littleEndian(bytes, 21, 4);\n return { width: (packed & 0x3fff) + 1, height: ((packed >>> 14) & 0x3fff) + 1 };\n }\n return null;\n}\n\nfunction spatialExtent(bytes: Uint8Array, from: number, to: number): Extent | null {\n let at = from;\n while (at + 8 <= to) {\n const size = bigEndian(bytes, at, 4);\n const name = text(bytes, at + 4, 4);\n const end = size === 0 ? to : at + size;\n if (size === 1 || end <= at || end > to) return null;\n if (name === 'ispe') {\n if (end < at + 20) return null;\n return { width: bigEndian(bytes, at + 12, 4), height: bigEndian(bytes, at + 16, 4) };\n }\n if (BMFF_CONTAINERS.has(name)) {\n const inner = spatialExtent(bytes, at + (name === 'meta' ? 12 : 8), end);\n if (inner !== null) return inner;\n }\n at = end;\n }\n return null;\n}\n\nfunction bmffExtent(bytes: Uint8Array): Extent | null {\n if (bytes.length < 16 || text(bytes, 4, 4) !== 'ftyp') return null;\n return spatialExtent(bytes, 0, bytes.length);\n}\n\nexport function extentOf(bytes: Uint8Array): Extent | null {\n return (\n pngExtent(bytes) ??\n jpegExtent(bytes) ??\n gifExtent(bytes) ??\n webpExtent(bytes) ??\n bmffExtent(bytes)\n );\n}\n\nexport function hexDigest(digest: ArrayBuffer): string {\n return [...new Uint8Array(digest)].map((value) => value.toString(16).padStart(2, '0')).join('');\n}\n\nexport async function declaredFile(file: InstructionFile): Promise<FileDeclaration> {\n const bytes = new Uint8Array(await file.blob.arrayBuffer());\n const extent = file.blob.type.startsWith('image/') ? extentOf(bytes) : null;\n return {\n name: file.name,\n mediaType: file.blob.type,\n byteLength: bytes.byteLength,\n contentHash: hexDigest(await crypto.subtle.digest('SHA-256', bytes)),\n ...(extent === null ? {} : extent),\n };\n}\n"],"names":["PNG_SIGNATURE","WEBP_SYNC","SHAPELESS_JPEG_MARKERS","Set","BMFF_CONTAINERS","starts","bytes","signature","at","every","value","index","text","length","String","fromCharCode","subarray","bigEndian","littleEndian","pngExtent","width","height","gifExtent","jpegExtent","marker","has","webpExtent","chunk","packed","spatialExtent","from","to","size","name","end","inner","bmffExtent","extentOf","hexDigest","digest","Uint8Array","map","toString","padStart","join","declaredFile","file","blob","arrayBuffer","extent","type","startsWith","mediaType","byteLength","contentHash","crypto","subtle"],"mappings":"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"}
|
package/dist/host.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type MdRuntimeOptions } from './connection.js';
|
|
2
|
+
import { type RuntimePort } from './wire.js';
|
|
3
|
+
export type MdRuntimeHostOptions = MdRuntimeOptions & {
|
|
4
|
+
deploymentFacts?: unknown;
|
|
5
|
+
};
|
|
6
|
+
export type MdRuntimeHost = {
|
|
7
|
+
replaceDeploymentFacts(value: unknown): void;
|
|
8
|
+
attach(port: RuntimePort, app: string, release?: string): () => void;
|
|
9
|
+
endAuthorization(): Promise<void>;
|
|
10
|
+
};
|
|
11
|
+
export declare function serveMdRuntime(options: MdRuntimeHostOptions): MdRuntimeHost;
|
|
12
|
+
export type { RuntimePort } from './wire.js';
|
|
13
|
+
//# sourceMappingURL=host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAML,KAAK,WAAW,EAKjB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,aAAa,GAAG;IAC1B,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IACrE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC,CAAC;AAkHF,wBAAgB,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAkH3E;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/host.js
ADDED
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { createMdRuntime } from './connection.js';
|
|
2
|
+
import { removeRuntimeStore } from './store.js';
|
|
3
|
+
import { AUTHORIZATION_ENDED, carried, envelope, PROTOCOL_MISMATCH, request } from './wire.js';
|
|
4
|
+
function answered(md, app, writtenBy, member, input, deploymentFacts) {
|
|
5
|
+
switch(member){
|
|
6
|
+
case 'rooms':
|
|
7
|
+
return md.rooms();
|
|
8
|
+
case 'slots':
|
|
9
|
+
return md.slots();
|
|
10
|
+
case 'query':
|
|
11
|
+
return md.query(input[0]);
|
|
12
|
+
case 'types':
|
|
13
|
+
return md.types(input[0]);
|
|
14
|
+
case 'syncStatus':
|
|
15
|
+
return md.syncStatus();
|
|
16
|
+
case 'save':
|
|
17
|
+
return md.save(input[0], input[1], input[2], writtenBy);
|
|
18
|
+
case 'outcome':
|
|
19
|
+
return md.outcome(input[0]);
|
|
20
|
+
case 'history':
|
|
21
|
+
return md.history(input[0], input[1], input[2]);
|
|
22
|
+
case 'call':
|
|
23
|
+
return md.call(input[0], input[1]);
|
|
24
|
+
case 'log':
|
|
25
|
+
return md.log();
|
|
26
|
+
case 'storageLoss':
|
|
27
|
+
return md.storageLoss();
|
|
28
|
+
case 'deploymentFacts':
|
|
29
|
+
return structuredClone(deploymentFacts);
|
|
30
|
+
case 'persistence':
|
|
31
|
+
return md.persistence();
|
|
32
|
+
case 'reauthorize':
|
|
33
|
+
return md.reauthorize();
|
|
34
|
+
case 'draft.list':
|
|
35
|
+
return md.draft.list();
|
|
36
|
+
case 'draft.read':
|
|
37
|
+
return md.draft.read(input[0], input[1]);
|
|
38
|
+
case 'draft.replace':
|
|
39
|
+
return md.draft.replace(input[0], input[1], input[2]);
|
|
40
|
+
case 'draft.discard':
|
|
41
|
+
return md.draft.discard(input[0], input[1]);
|
|
42
|
+
case 'queue.discard':
|
|
43
|
+
return md.queue.discard(input[0], input[1]);
|
|
44
|
+
case 'presentation.read':
|
|
45
|
+
return md.presentation.read(app);
|
|
46
|
+
case 'presentation.write':
|
|
47
|
+
return md.presentation.write(app, input[0]);
|
|
48
|
+
case 'conversation.list':
|
|
49
|
+
return md.conversation.list();
|
|
50
|
+
case 'conversation.read':
|
|
51
|
+
return md.conversation.read(input[0]);
|
|
52
|
+
case 'conversation.older':
|
|
53
|
+
return md.conversation.older(input[0]);
|
|
54
|
+
case 'conversation.compose':
|
|
55
|
+
return md.conversation.compose(input[0], input[1]);
|
|
56
|
+
case 'conversation.discard':
|
|
57
|
+
return md.conversation.discard(input[0]);
|
|
58
|
+
case 'conversation.create':
|
|
59
|
+
return md.conversation.create(input[0]);
|
|
60
|
+
case 'conversation.send':
|
|
61
|
+
return md.conversation.send(input[0]);
|
|
62
|
+
case 'conversation.answer':
|
|
63
|
+
return md.conversation.answer(input[0], input[1]);
|
|
64
|
+
case 'conversation.interrupt':
|
|
65
|
+
return md.conversation.interrupt(input[0]);
|
|
66
|
+
case 'conversation.kill':
|
|
67
|
+
return md.conversation.kill(input[0]);
|
|
68
|
+
case 'conversation.cancel':
|
|
69
|
+
return md.conversation.cancel(input[0], input[1]);
|
|
70
|
+
case 'conversation.delete':
|
|
71
|
+
return md.conversation.delete(input[0]);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function subscribed(md, app, topic, input, deliver) {
|
|
75
|
+
switch(topic){
|
|
76
|
+
case 'rooms':
|
|
77
|
+
return md.observe('rooms', deliver);
|
|
78
|
+
case 'connection-refusal':
|
|
79
|
+
return md.observe('connection-refusal', deliver);
|
|
80
|
+
case 'storage-loss':
|
|
81
|
+
return md.observe('storage-loss', deliver);
|
|
82
|
+
case 'sync-status':
|
|
83
|
+
return md.observe('sync-status', deliver);
|
|
84
|
+
case 'drafts':
|
|
85
|
+
return md.observe('drafts', deliver);
|
|
86
|
+
case 'queue':
|
|
87
|
+
return md.observe('queue', input[0], deliver);
|
|
88
|
+
case 'query':
|
|
89
|
+
return md.observe('query', input[0], deliver);
|
|
90
|
+
case 'presentation':
|
|
91
|
+
return md.observe('presentation', app, deliver);
|
|
92
|
+
case 'conversation':
|
|
93
|
+
return md.observe('conversation', input[0], deliver);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export function serveMdRuntime(options) {
|
|
97
|
+
let deploymentFacts = structuredClone(options.deploymentFacts);
|
|
98
|
+
const stopping = new AbortController();
|
|
99
|
+
const stop = ()=>{
|
|
100
|
+
stopping.abort();
|
|
101
|
+
};
|
|
102
|
+
options.signal?.addEventListener('abort', stop, {
|
|
103
|
+
once: true
|
|
104
|
+
});
|
|
105
|
+
if (options.signal?.aborted === true) stop();
|
|
106
|
+
const md = createMdRuntime({
|
|
107
|
+
...options,
|
|
108
|
+
signal: stopping.signal
|
|
109
|
+
});
|
|
110
|
+
const attachments = new Map();
|
|
111
|
+
let authorized = true;
|
|
112
|
+
const factsObservers = new Set();
|
|
113
|
+
const observeFacts = (deliver)=>{
|
|
114
|
+
factsObservers.add(deliver);
|
|
115
|
+
deliver(structuredClone(deploymentFacts));
|
|
116
|
+
return ()=>{
|
|
117
|
+
factsObservers.delete(deliver);
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
function attach(port, app, release) {
|
|
121
|
+
if (!authorized) throw new Error(AUTHORIZATION_ENDED);
|
|
122
|
+
const writtenBy = release === undefined ? undefined : {
|
|
123
|
+
app,
|
|
124
|
+
release
|
|
125
|
+
};
|
|
126
|
+
const subscriptions = new Map();
|
|
127
|
+
let serving = true;
|
|
128
|
+
const send = (message)=>{
|
|
129
|
+
port.postMessage(envelope(message));
|
|
130
|
+
};
|
|
131
|
+
const detach = ()=>{
|
|
132
|
+
if (!serving) return;
|
|
133
|
+
serving = false;
|
|
134
|
+
for (const end of subscriptions.values())end();
|
|
135
|
+
subscriptions.clear();
|
|
136
|
+
attachments.delete(detach);
|
|
137
|
+
};
|
|
138
|
+
const serve = async (message)=>{
|
|
139
|
+
if (message.kind === 'hello') return;
|
|
140
|
+
if (message.kind === 'stop') {
|
|
141
|
+
subscriptions.get(message.id)?.();
|
|
142
|
+
subscriptions.delete(message.id);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
try {
|
|
146
|
+
if (message.kind !== 'observe' || message.topic !== 'drafts') await md.loaded();
|
|
147
|
+
if (message.kind === 'observe') {
|
|
148
|
+
subscriptions.set(message.id, message.topic === 'deployment-facts' ? observeFacts((value)=>{
|
|
149
|
+
if (serving) send({
|
|
150
|
+
kind: 'event',
|
|
151
|
+
id: message.id,
|
|
152
|
+
value
|
|
153
|
+
});
|
|
154
|
+
}) : subscribed(md, app, message.topic, message.input, (value)=>{
|
|
155
|
+
if (serving) send({
|
|
156
|
+
kind: 'event',
|
|
157
|
+
id: message.id,
|
|
158
|
+
value
|
|
159
|
+
});
|
|
160
|
+
}));
|
|
161
|
+
if (serving) send({
|
|
162
|
+
kind: 'result',
|
|
163
|
+
id: message.id,
|
|
164
|
+
value: null
|
|
165
|
+
});
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const value = await answered(md, app, writtenBy, message.member, message.input, deploymentFacts);
|
|
169
|
+
if (serving) send({
|
|
170
|
+
kind: 'result',
|
|
171
|
+
id: message.id,
|
|
172
|
+
value
|
|
173
|
+
});
|
|
174
|
+
} catch (error) {
|
|
175
|
+
if (serving) {
|
|
176
|
+
send({
|
|
177
|
+
kind: 'failure',
|
|
178
|
+
id: message.id,
|
|
179
|
+
message: error instanceof Error ? error.message : String(error)
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
port.addEventListener('message', (event)=>{
|
|
185
|
+
if (!serving) return;
|
|
186
|
+
const wire = carried(event.data);
|
|
187
|
+
if (wire === null) return;
|
|
188
|
+
if (!wire.matching) {
|
|
189
|
+
send({
|
|
190
|
+
kind: 'refusal',
|
|
191
|
+
refusal: PROTOCOL_MISMATCH
|
|
192
|
+
});
|
|
193
|
+
detach();
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
const message = request(wire.message);
|
|
197
|
+
if (message === null) return;
|
|
198
|
+
void serve(message);
|
|
199
|
+
});
|
|
200
|
+
port.addEventListener('close', detach);
|
|
201
|
+
port.start();
|
|
202
|
+
attachments.set(detach, send);
|
|
203
|
+
return detach;
|
|
204
|
+
}
|
|
205
|
+
return {
|
|
206
|
+
attach,
|
|
207
|
+
replaceDeploymentFacts (value) {
|
|
208
|
+
if (!authorized) throw new Error(AUTHORIZATION_ENDED);
|
|
209
|
+
deploymentFacts = structuredClone(value);
|
|
210
|
+
for (const deliver of factsObservers)deliver(structuredClone(deploymentFacts));
|
|
211
|
+
},
|
|
212
|
+
async endAuthorization () {
|
|
213
|
+
authorized = false;
|
|
214
|
+
for (const [detach, send] of [
|
|
215
|
+
...attachments
|
|
216
|
+
]){
|
|
217
|
+
send({
|
|
218
|
+
kind: 'ended'
|
|
219
|
+
});
|
|
220
|
+
detach();
|
|
221
|
+
}
|
|
222
|
+
stop();
|
|
223
|
+
await removeRuntimeStore();
|
|
224
|
+
await options.shell.dropGeneration();
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
//# sourceMappingURL=host.js.map
|
package/dist/host.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime/src/host.ts"],"sourcesContent":["import type { QueryOptions } from '@agentshouse/query';\nimport type { Change, WrittenBy } from './change.js';\nimport {\n createMdRuntime,\n type HistoryQuery,\n type MdRuntime,\n type MdRuntimeOptions,\n} from './connection.js';\nimport type { UnsentInstruction } from './conversation.js';\nimport { removeRuntimeStore } from './store.js';\nimport {\n AUTHORIZATION_ENDED,\n carried,\n envelope,\n PROTOCOL_MISMATCH,\n request,\n type RuntimePort,\n type WireAnswer,\n type WireMember,\n type WireRequest,\n type WireTopic,\n} from './wire.js';\n\nexport type MdRuntimeHostOptions = MdRuntimeOptions & { deploymentFacts?: unknown };\n\nexport type MdRuntimeHost = {\n replaceDeploymentFacts(value: unknown): void;\n attach(port: RuntimePort, app: string, release?: string): () => void;\n endAuthorization(): Promise<void>;\n};\n\nfunction answered(\n md: MdRuntime,\n app: string,\n writtenBy: WrittenBy | undefined,\n member: WireMember,\n input: readonly unknown[],\n deploymentFacts: unknown,\n): unknown {\n switch (member) {\n case 'rooms':\n return md.rooms();\n case 'slots':\n return md.slots();\n case 'query':\n return md.query(input[0] as QueryOptions | undefined);\n case 'types':\n return md.types(input[0] as string);\n case 'syncStatus':\n return md.syncStatus();\n case 'save':\n return md.save(\n input[0] as string,\n input[1] as readonly Change[],\n input[2] as string | undefined,\n writtenBy,\n );\n case 'outcome':\n return md.outcome(input[0] as string);\n case 'history':\n return md.history(input[0] as string, input[1] as string, input[2] as HistoryQuery);\n case 'call':\n return md.call(input[0] as string, input[1]);\n case 'log':\n return md.log();\n case 'storageLoss':\n return md.storageLoss();\n case 'deploymentFacts':\n return structuredClone(deploymentFacts);\n case 'persistence':\n return md.persistence();\n case 'reauthorize':\n return md.reauthorize();\n case 'draft.list':\n return md.draft.list();\n case 'draft.read':\n return md.draft.read(input[0] as string, input[1] as string);\n case 'draft.replace':\n return md.draft.replace(input[0] as string, input[1] as string, input[2]);\n case 'draft.discard':\n return md.draft.discard(input[0] as string, input[1] as string);\n case 'queue.discard':\n return md.queue.discard(input[0] as string, input[1] as string);\n case 'presentation.read':\n return md.presentation.read(app);\n case 'presentation.write':\n return md.presentation.write(app, input[0]);\n case 'conversation.list':\n return md.conversation.list();\n case 'conversation.read':\n return md.conversation.read(input[0] as string);\n case 'conversation.older':\n return md.conversation.older(input[0] as string);\n case 'conversation.compose':\n return md.conversation.compose(input[0] as string, input[1] as UnsentInstruction);\n case 'conversation.discard':\n return md.conversation.discard(input[0] as string);\n case 'conversation.create':\n return md.conversation.create(input[0]);\n case 'conversation.send':\n return md.conversation.send(input[0] as string);\n case 'conversation.answer':\n return md.conversation.answer(input[0] as string, input[1]);\n case 'conversation.interrupt':\n return md.conversation.interrupt(input[0] as string);\n case 'conversation.kill':\n return md.conversation.kill(input[0] as string);\n case 'conversation.cancel':\n return md.conversation.cancel(input[0] as string, input[1] as string);\n case 'conversation.delete':\n return md.conversation.delete(input[0] as string);\n }\n}\n\nfunction subscribed(\n md: MdRuntime,\n app: string,\n topic: Exclude<WireTopic, 'deployment-facts'>,\n input: readonly unknown[],\n deliver: (value: unknown) => void,\n): () => void {\n switch (topic) {\n case 'rooms':\n return md.observe('rooms', deliver);\n case 'connection-refusal':\n return md.observe('connection-refusal', deliver);\n case 'storage-loss':\n return md.observe('storage-loss', deliver);\n case 'sync-status':\n return md.observe('sync-status', deliver);\n case 'drafts':\n return md.observe('drafts', deliver);\n case 'queue':\n return md.observe('queue', input[0] as string, deliver);\n case 'query':\n return md.observe('query', input[0] as QueryOptions, deliver);\n case 'presentation':\n return md.observe('presentation', app, deliver);\n case 'conversation':\n return md.observe('conversation', input[0] as string, deliver);\n }\n}\n\nexport function serveMdRuntime(options: MdRuntimeHostOptions): MdRuntimeHost {\n let deploymentFacts = structuredClone(options.deploymentFacts);\n const stopping = new AbortController();\n const stop = () => {\n stopping.abort();\n };\n options.signal?.addEventListener('abort', stop, { once: true });\n if (options.signal?.aborted === true) stop();\n const md = createMdRuntime({ ...options, signal: stopping.signal });\n const attachments = new Map<() => void, (message: WireAnswer) => void>();\n let authorized = true;\n const factsObservers = new Set<(value: unknown) => void>();\n const observeFacts = (deliver: (value: unknown) => void) => {\n factsObservers.add(deliver);\n deliver(structuredClone(deploymentFacts));\n return () => {\n factsObservers.delete(deliver);\n };\n };\n\n function attach(port: RuntimePort, app: string, release?: string): () => void {\n if (!authorized) throw new Error(AUTHORIZATION_ENDED);\n const writtenBy = release === undefined ? undefined : { app, release };\n const subscriptions = new Map<number, () => void>();\n let serving = true;\n const send = (message: WireAnswer) => {\n port.postMessage(envelope(message));\n };\n const detach = () => {\n if (!serving) return;\n serving = false;\n for (const end of subscriptions.values()) end();\n subscriptions.clear();\n attachments.delete(detach);\n };\n const serve = async (message: WireRequest) => {\n if (message.kind === 'hello') return;\n if (message.kind === 'stop') {\n subscriptions.get(message.id)?.();\n subscriptions.delete(message.id);\n return;\n }\n try {\n if (message.kind !== 'observe' || message.topic !== 'drafts') await md.loaded();\n if (message.kind === 'observe') {\n subscriptions.set(\n message.id,\n message.topic === 'deployment-facts'\n ? observeFacts((value) => {\n if (serving) send({ kind: 'event', id: message.id, value });\n })\n : subscribed(md, app, message.topic, message.input, (value) => {\n if (serving) send({ kind: 'event', id: message.id, value });\n }),\n );\n if (serving) send({ kind: 'result', id: message.id, value: null });\n return;\n }\n const value = await answered(\n md,\n app,\n writtenBy,\n message.member,\n message.input,\n deploymentFacts,\n );\n if (serving) send({ kind: 'result', id: message.id, value });\n } catch (error) {\n if (serving) {\n send({\n kind: 'failure',\n id: message.id,\n message: error instanceof Error ? error.message : String(error),\n });\n }\n }\n };\n port.addEventListener('message', (event) => {\n if (!serving) return;\n const wire = carried(event.data);\n if (wire === null) return;\n if (!wire.matching) {\n send({ kind: 'refusal', refusal: PROTOCOL_MISMATCH });\n detach();\n return;\n }\n const message = request(wire.message);\n if (message === null) return;\n void serve(message);\n });\n port.addEventListener('close', detach);\n port.start();\n attachments.set(detach, send);\n return detach;\n }\n\n return {\n attach,\n replaceDeploymentFacts(value) {\n if (!authorized) throw new Error(AUTHORIZATION_ENDED);\n deploymentFacts = structuredClone(value);\n for (const deliver of factsObservers) deliver(structuredClone(deploymentFacts));\n },\n async endAuthorization() {\n authorized = false;\n for (const [detach, send] of [...attachments]) {\n send({ kind: 'ended' });\n detach();\n }\n stop();\n await removeRuntimeStore();\n await options.shell.dropGeneration();\n },\n };\n}\n\nexport type { RuntimePort } from './wire.js';\n"],"names":["createMdRuntime","removeRuntimeStore","AUTHORIZATION_ENDED","carried","envelope","PROTOCOL_MISMATCH","request","answered","md","app","writtenBy","member","input","deploymentFacts","rooms","slots","query","types","syncStatus","save","outcome","history","call","log","storageLoss","structuredClone","persistence","reauthorize","draft","list","read","replace","discard","queue","presentation","write","conversation","older","compose","create","send","answer","interrupt","kill","cancel","delete","subscribed","topic","deliver","observe","serveMdRuntime","options","stopping","AbortController","stop","abort","signal","addEventListener","once","aborted","attachments","Map","authorized","factsObservers","Set","observeFacts","add","attach","port","release","Error","undefined","subscriptions","serving","message","postMessage","detach","end","values","clear","serve","kind","get","id","loaded","set","value","error","String","event","wire","data","matching","refusal","start","replaceDeploymentFacts","endAuthorization","shell","dropGeneration"],"mappings":"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"}
|
|
@@ -0,0 +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"}
|
package/dist/identity.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function changeBatchIdentity(at = Date.now()) {
|
|
2
|
+
const bytes = new Uint8Array(16);
|
|
3
|
+
crypto.getRandomValues(bytes);
|
|
4
|
+
const time = BigInt(at);
|
|
5
|
+
for(let index = 0; index < 6; index += 1){
|
|
6
|
+
bytes[index] = Number(time >> BigInt(8 * (5 - index)) & 0xffn);
|
|
7
|
+
}
|
|
8
|
+
bytes[6] = bytes[6] & 0x0f | 0x70;
|
|
9
|
+
bytes[8] = bytes[8] & 0x3f | 0x80;
|
|
10
|
+
const hex = [
|
|
11
|
+
...bytes
|
|
12
|
+
].map((byte)=>byte.toString(16).padStart(2, '0')).join('');
|
|
13
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime/src/identity.ts"],"sourcesContent":["export function changeBatchIdentity(at: number = Date.now()): string {\n const bytes = new Uint8Array(16);\n crypto.getRandomValues(bytes);\n const time = BigInt(at);\n for (let index = 0; index < 6; index += 1) {\n bytes[index] = Number((time >> BigInt(8 * (5 - index))) & 0xffn);\n }\n bytes[6] = (bytes[6] & 0x0f) | 0x70;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n const hex = [...bytes].map((byte) => byte.toString(16).padStart(2, '0')).join('');\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n}\n"],"names":["changeBatchIdentity","at","Date","now","bytes","Uint8Array","crypto","getRandomValues","time","BigInt","index","Number","hex","map","byte","toString","padStart","join","slice"],"mappings":"AAAA,OAAO,SAASA,oBAAoBC,KAAaC,KAAKC,GAAG,EAAE;IACzD,MAAMC,QAAQ,IAAIC,WAAW;IAC7BC,OAAOC,eAAe,CAACH;IACvB,MAAMI,OAAOC,OAAOR;IACpB,IAAK,IAAIS,QAAQ,GAAGA,QAAQ,GAAGA,SAAS,EAAG;QACzCN,KAAK,CAACM,MAAM,GAAGC,OAAO,AAACH,QAAQC,OAAO,IAAK,CAAA,IAAIC,KAAI,KAAO,KAAK;IACjE;IACAN,KAAK,CAAC,EAAE,GAAG,AAACA,KAAK,CAAC,EAAE,GAAG,OAAQ;IAC/BA,KAAK,CAAC,EAAE,GAAG,AAACA,KAAK,CAAC,EAAE,GAAG,OAAQ;IAC/B,MAAMQ,MAAM;WAAIR;KAAM,CAACS,GAAG,CAAC,CAACC,OAASA,KAAKC,QAAQ,CAAC,IAAIC,QAAQ,CAAC,GAAG,MAAMC,IAAI,CAAC;IAC9E,OAAO,GAAGL,IAAIM,KAAK,CAAC,GAAG,GAAG,CAAC,EAAEN,IAAIM,KAAK,CAAC,GAAG,IAAI,CAAC,EAAEN,IAAIM,KAAK,CAAC,IAAI,IAAI,CAAC,EAAEN,IAAIM,KAAK,CAAC,IAAI,IAAI,CAAC,EAAEN,IAAIM,KAAK,CAAC,KAAK;AAC5G"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
export type { ActionDeclaration, ActionRequest, ActionResult, Adapter, AdapterFailure, Authorization, BootstrapPage, BootstrapRequest, BootstrapResult, Capability, DiscoverResult, DiscoveredRoom, Discovery, HistoryRequest, HistoryResult, MdModelIdentity, MutationRequest, MutationResult, PageToken, ProviderLimit, RefreshRequest, RefreshResult, Retention, RevokedAuthorization, RoomNotReadable, TransportUncertainty, } from './adapter.js';
|
|
1
|
+
export type { ActionDeclaration, ActionRequest, ActionResult, Adapter, AdapterFailure, Authorization, BootstrapPage, BootstrapRequest, BootstrapResult, Capability, ContractUnavailable, ConversationAction, ConversationCards, ConversationEvent, ConversationMessage, DiscoverResult, DiscoveredRoom, Discovery, HistoryRequest, HistoryResult, HistoryRetention, HistoryRevision, MdModelIdentity, ModelRequest, MutationRequest, MutationResult, PageToken, ProviderLimit, ProviderRefusal, RefreshPage, RefreshRequest, RefreshResult, Retention, RetryableRefusal, RevokedAuthorization, RoomNotReadable, RoomVersionNotification, SelectedRooms, TransportUncertainty, TypedSelection, ViewedConversations, } from './adapter.js';
|
|
2
|
+
export type { Change, ChangeBatch, Precondition, WrittenBy } from './change.js';
|
|
3
|
+
export type { ConversationEntry, ConversationSurface, ConversationView, GrowingText, UnsentInstruction, } from './conversation.js';
|
|
4
|
+
export type { FileDeclaration, InstructionFile } from './file.js';
|
|
2
5
|
export type { MdType } from './collection.js';
|
|
3
|
-
export type { AppRoom, ConnectionRefusal, ConnectionRefusalReason, MdRuntime, MdRuntimeOptions, } from './connection.js';
|
|
6
|
+
export type { AppRoom, AppSlot, AppSlotEntry, AppTypedSelection, ConnectionRefusal, ConnectionRefusalReason, DraftEntry, DraftSurface, HistoryQuery, MdRuntime, MdRuntimeOptions, PresentationSurface, QueueSurface, RoomTypes, SaveResult, } from './connection.js';
|
|
7
|
+
export type { AcceptedOutcome, AffectedState, CallResult, QueueEntry, QueueOutcome, SubmissionOutcome, } from './outcome.js';
|
|
8
|
+
export type { SaveRefusal } from './save.js';
|
|
9
|
+
export { changeBatchIdentity } from './identity.js';
|
|
4
10
|
export { createMdRuntime } from './connection.js';
|
|
11
|
+
export type { RuntimeShell } from './durability.js';
|
|
12
|
+
export type { AttentionEntry, SyncStatus } from './status.js';
|
|
5
13
|
export type { Backlink, QueryDocument, QueryGroup, QueryOptions, QueryResult, Selector, } from '@agentshouse/query';
|
|
14
|
+
export type { AttachedModelBinding, ModelIdentity, ModelSnapshot, ModelState, ModelResult, ModelValidation, TypesResult, ValidationReceipt, } from './model.js';
|
|
15
|
+
export type { OperationScopes, ReplicaAdmission, ScopedRefusal } from './adapter.js';
|
|
16
|
+
export type { QueryBinding, QueryInput } from './query.js';
|
|
6
17
|
//# 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,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,cAAc,EACd,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAClE,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,YAAY,EACV,OAAO,EACP,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,eAAe,EACf,aAAa,EACb,UAAU,EACV,UAAU,EACV,YAAY,EACZ,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EACV,QAAQ,EACR,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,EACX,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/workspace/packages/mdruntime/src/index.ts"],"sourcesContent":["export type {\n ActionDeclaration,\n ActionRequest,\n ActionResult,\n Adapter,\n AdapterFailure,\n Authorization,\n BootstrapPage,\n BootstrapRequest,\n BootstrapResult,\n Capability,\n DiscoverResult,\n DiscoveredRoom,\n Discovery,\n HistoryRequest,\n HistoryResult,\n MdModelIdentity,\n MutationRequest,\n MutationResult,\n PageToken,\n ProviderLimit,\n RefreshRequest,\n RefreshResult,\n Retention,\n RevokedAuthorization,\n RoomNotReadable,\n TransportUncertainty,\n} from './adapter.js';\nexport type { MdType } from './collection.js';\nexport type {\n AppRoom,\n ConnectionRefusal,\n ConnectionRefusalReason,\n MdRuntime,\n MdRuntimeOptions,\n} from './connection.js';\nexport { createMdRuntime } from './connection.js';\nexport type {\n Backlink,\n QueryDocument,\n QueryGroup,\n QueryOptions,\n QueryResult,\n Selector,\n} from '@agentshouse/query';\n"],"names":["createMdRuntime"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime/src/index.ts"],"sourcesContent":["export type {\n ActionDeclaration,\n ActionRequest,\n ActionResult,\n Adapter,\n AdapterFailure,\n Authorization,\n BootstrapPage,\n BootstrapRequest,\n BootstrapResult,\n Capability,\n ContractUnavailable,\n ConversationAction,\n ConversationCards,\n ConversationEvent,\n ConversationMessage,\n DiscoverResult,\n DiscoveredRoom,\n Discovery,\n HistoryRequest,\n HistoryResult,\n HistoryRetention,\n HistoryRevision,\n MdModelIdentity,\n ModelRequest,\n MutationRequest,\n MutationResult,\n PageToken,\n ProviderLimit,\n ProviderRefusal,\n RefreshPage,\n RefreshRequest,\n RefreshResult,\n Retention,\n RetryableRefusal,\n RevokedAuthorization,\n RoomNotReadable,\n RoomVersionNotification,\n SelectedRooms,\n TransportUncertainty,\n TypedSelection,\n ViewedConversations,\n} from './adapter.js';\nexport type { Change, ChangeBatch, Precondition, WrittenBy } from './change.js';\nexport type {\n ConversationEntry,\n ConversationSurface,\n ConversationView,\n GrowingText,\n UnsentInstruction,\n} from './conversation.js';\nexport type { FileDeclaration, InstructionFile } from './file.js';\nexport type { MdType } from './collection.js';\nexport type {\n AppRoom,\n AppSlot,\n AppSlotEntry,\n AppTypedSelection,\n ConnectionRefusal,\n ConnectionRefusalReason,\n DraftEntry,\n DraftSurface,\n HistoryQuery,\n MdRuntime,\n MdRuntimeOptions,\n PresentationSurface,\n QueueSurface,\n RoomTypes,\n SaveResult,\n} from './connection.js';\nexport type {\n AcceptedOutcome,\n AffectedState,\n CallResult,\n QueueEntry,\n QueueOutcome,\n SubmissionOutcome,\n} from './outcome.js';\nexport type { SaveRefusal } from './save.js';\nexport { changeBatchIdentity } from './identity.js';\nexport { createMdRuntime } from './connection.js';\nexport type { RuntimeShell } from './durability.js';\nexport type { AttentionEntry, SyncStatus } from './status.js';\nexport type {\n Backlink,\n QueryDocument,\n QueryGroup,\n QueryOptions,\n QueryResult,\n Selector,\n} from '@agentshouse/query';\n\nexport type {\n AttachedModelBinding,\n ModelIdentity,\n ModelSnapshot,\n ModelState,\n ModelResult,\n ModelValidation,\n TypesResult,\n ValidationReceipt,\n} from './model.js';\nexport type { OperationScopes, ReplicaAdmission, ScopedRefusal } from './adapter.js';\nexport type { QueryBinding, QueryInput } from './query.js';\n"],"names":["changeBatchIdentity","createMdRuntime"],"mappings":"AA+EA,SAASA,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,eAAe,QAAQ,kBAAkB"}
|
package/dist/log.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS;IAGrB,MAAM,QAAQ,MAAM;IAIpB,MAAM;EAIT"}
|
package/dist/log.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const BOUND = 256;
|
|
2
|
+
export function createLog() {
|
|
3
|
+
const events = [];
|
|
4
|
+
return {
|
|
5
|
+
record (event) {
|
|
6
|
+
events.push(event);
|
|
7
|
+
if (events.length > BOUND) events.splice(0, events.length - BOUND);
|
|
8
|
+
},
|
|
9
|
+
export () {
|
|
10
|
+
return events.join('\n');
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=log.js.map
|
package/dist/log.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime/src/log.ts"],"sourcesContent":["const BOUND = 256;\n\nexport function createLog() {\n const events: string[] = [];\n return {\n record(event: string) {\n events.push(event);\n if (events.length > BOUND) events.splice(0, events.length - BOUND);\n },\n export() {\n return events.join('\\n');\n },\n };\n}\n"],"names":["BOUND","createLog","events","record","event","push","length","splice","export","join"],"mappings":"AAAA,MAAMA,QAAQ;AAEd,OAAO,SAASC;IACd,MAAMC,SAAmB,EAAE;IAC3B,OAAO;QACLC,QAAOC,KAAa;YAClBF,OAAOG,IAAI,CAACD;YACZ,IAAIF,OAAOI,MAAM,GAAGN,OAAOE,OAAOK,MAAM,CAAC,GAAGL,OAAOI,MAAM,GAAGN;QAC9D;QACAQ;YACE,OAAON,OAAOO,IAAI,CAAC;QACrB;IACF;AACF"}
|
package/dist/memory.d.ts
CHANGED
|
@@ -1,21 +1,36 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { ModelResult } from './model.js';
|
|
2
|
+
import { type ActionResult, type Adapter, type Capability, type ConversationAction, type ConversationEvent, type ConversationMessage, type DiscoveredRoom, type MdModelIdentity, type ProviderLimit, type Retention, type RoomVersionNotification } from './adapter.js';
|
|
2
3
|
export type MemoryRoom = DiscoveredRoom & {
|
|
4
|
+
model?: ModelResult;
|
|
5
|
+
selectionModel?: ModelResult;
|
|
3
6
|
documents?: Readonly<Record<string, string>>;
|
|
7
|
+
revisions?: Readonly<Record<string, string>>;
|
|
4
8
|
binaryTargets?: readonly string[];
|
|
5
9
|
};
|
|
10
|
+
export type MemoryConversation = {
|
|
11
|
+
conversation: string;
|
|
12
|
+
messages?: readonly ConversationMessage[];
|
|
13
|
+
outcomes?: Partial<Record<ConversationAction, ActionResult>>;
|
|
14
|
+
};
|
|
6
15
|
export type MemoryAdapterOptions = {
|
|
7
16
|
rooms?: readonly MemoryRoom[];
|
|
17
|
+
conversations?: readonly MemoryConversation[];
|
|
18
|
+
historyPageSize?: number;
|
|
8
19
|
pageSize?: number;
|
|
9
20
|
mdModel?: MdModelIdentity;
|
|
10
21
|
supportedVersions?: readonly number[];
|
|
11
22
|
capabilities?: readonly Capability[];
|
|
12
23
|
providerLimits?: readonly ProviderLimit[];
|
|
13
24
|
retention?: Retention;
|
|
14
|
-
origins?: readonly string[];
|
|
15
25
|
};
|
|
16
26
|
export type MemoryAdapter = Adapter & {
|
|
17
27
|
setRooms(rooms: readonly MemoryRoom[]): void;
|
|
28
|
+
setConversations(conversations: readonly MemoryConversation[]): void;
|
|
18
29
|
script(operation: keyof Adapter, answer: unknown): void;
|
|
30
|
+
notifyRoomVersion(notification: RoomVersionNotification): void;
|
|
31
|
+
notifyConversation(event: ConversationEvent): void;
|
|
32
|
+
selectedRooms(): readonly string[];
|
|
33
|
+
viewedConversations(): readonly string[];
|
|
19
34
|
};
|
|
20
35
|
export declare function createMemoryAdapter(options?: MemoryAdapterOptions): MemoryAdapter;
|
|
21
36
|
//# sourceMappingURL=memory.d.ts.map
|
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,
|
|
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,EAGL,KAAK,YAAY,EACjB,KAAK,OAAO,EAIZ,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAExB,KAAK,cAAc,EAGnB,KAAK,eAAe,EAGpB,KAAK,aAAa,EAGlB,KAAK,SAAS,EACd,KAAK,uBAAuB,EAC7B,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,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1C,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,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,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,iBAAiB,CAAC,YAAY,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC/D,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnD,aAAa,IAAI,SAAS,MAAM,EAAE,CAAC;IACnC,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAAC;CAC1C,CAAC;AA+BF,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAwUrF"}
|