@agentshouse/mdruntime-adapter 0.1.0-alpha.3 → 0.1.0-alpha.30
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 +122 -22
- package/dist/actions.d.ts +3 -11
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +119 -224
- package/dist/actions.js.map +1 -1
- package/dist/adapter.d.ts +3 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +48 -104
- package/dist/adapter.js.map +1 -1
- package/dist/discovery.d.ts +35 -8
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +136 -32
- package/dist/discovery.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts +19 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +64 -0
- package/dist/model.js.map +1 -0
- package/dist/read.d.ts +20 -15
- package/dist/read.d.ts.map +1 -1
- package/dist/read.js +118 -39
- package/dist/read.js.map +1 -1
- package/dist/refusal.d.ts +4 -1
- package/dist/refusal.d.ts.map +1 -1
- package/dist/refusal.js +13 -0
- package/dist/refusal.js.map +1 -1
- package/dist/site.d.ts +4 -0
- package/dist/site.d.ts.map +1 -0
- package/dist/site.js +205 -0
- package/dist/site.js.map +1 -0
- package/dist/stream.d.ts +6 -5
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +107 -119
- package/dist/stream.js.map +1 -1
- package/dist/transport.d.ts +16 -25
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +5 -1
- package/dist/transport.js.map +1 -1
- package/dist/version.d.ts +14 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +29 -0
- package/dist/version.js.map +1 -0
- package/dist/write.d.ts +6 -0
- package/dist/write.d.ts.map +1 -1
- package/dist/write.js +24 -7
- package/dist/write.js.map +1 -1
- package/package.json +3 -3
package/dist/discovery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,SAAS,EACT,cAAc,EACf,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/discovery.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { declaredActions, HOUSE_CONVERSATION_CARDS } from './actions.js';
|
|
2
|
-
import {
|
|
2
|
+
import { PRIVATE_LOCATOR } from './transport.js';
|
|
3
|
+
import { readPosition, roomVersion } from './version.js';
|
|
3
4
|
export const ROOM_CONTRACT_VERSION = 1;
|
|
4
5
|
export const MD_MODEL_IDENTITY = '@agentshouse/mdmodel';
|
|
5
6
|
export const ROOM_VERSION_NOTIFICATIONS = 'room-version-notifications';
|
|
6
7
|
export const PROVIDER_ACTIONS = 'provider-actions';
|
|
8
|
+
export const MOVE_REFERENCE_REWRITES = 'move-reference-rewrites';
|
|
7
9
|
export const DISCOVER_PREFIXES = [
|
|
8
10
|
'/'
|
|
9
11
|
];
|
|
10
12
|
export const PROVIDER_SELECTION_ROOTS = [
|
|
11
13
|
'agents',
|
|
12
|
-
'house'
|
|
14
|
+
'house',
|
|
15
|
+
'settings/apps'
|
|
13
16
|
];
|
|
14
|
-
export const
|
|
17
|
+
export const HOUSE_TYPES_ROOT = 'house/types';
|
|
15
18
|
const BOUND_KEYS = [
|
|
16
19
|
'max_authored_file_bytes',
|
|
17
20
|
'max_batch_operations',
|
|
@@ -57,34 +60,19 @@ function parseOperations(value) {
|
|
|
57
60
|
function parseAuthority(value) {
|
|
58
61
|
if (typeof value !== 'object' || value === null) return null;
|
|
59
62
|
const held = value;
|
|
60
|
-
if (held.kind !== 'room'
|
|
63
|
+
if (held.kind !== 'room') return null;
|
|
61
64
|
if (typeof held.name !== 'string' || held.name.length === 0) return null;
|
|
62
65
|
if (typeof held.collection_root !== 'string' || typeof held.model_root !== 'string') return null;
|
|
63
66
|
if (held.managed_replication !== 'admitted' && held.managed_replication !== 'unavailable') {
|
|
64
67
|
return null;
|
|
65
68
|
}
|
|
66
|
-
|
|
69
|
+
const at = readPosition(held);
|
|
67
70
|
const protectedPaths = stringList(held.protected_paths);
|
|
68
71
|
const operations = parseOperations(held.operations);
|
|
69
|
-
if (protectedPaths === null || operations === null) return null;
|
|
70
|
-
if (held.kind === 'private') {
|
|
71
|
-
return {
|
|
72
|
-
kind: 'private',
|
|
73
|
-
roomRef: PRIVATE_AUTHORITY,
|
|
74
|
-
roomHandle: null,
|
|
75
|
-
name: held.name,
|
|
76
|
-
collectionRoot: held.collection_root,
|
|
77
|
-
modelRoot: held.model_root,
|
|
78
|
-
managedReplication: held.managed_replication,
|
|
79
|
-
protectedPaths,
|
|
80
|
-
operations,
|
|
81
|
-
position: held.position
|
|
82
|
-
};
|
|
83
|
-
}
|
|
72
|
+
if (at === null || protectedPaths === null || operations === null) return null;
|
|
84
73
|
if (typeof held.room_ref !== 'string' || held.room_ref.length === 0) return null;
|
|
85
|
-
if (typeof held.room_handle !== 'string' || held.room_handle.length === 0) return null;
|
|
74
|
+
if (held.room_handle !== null && (typeof held.room_handle !== 'string' || held.room_handle.length === 0)) return null;
|
|
86
75
|
return {
|
|
87
|
-
kind: 'room',
|
|
88
76
|
roomRef: held.room_ref,
|
|
89
77
|
roomHandle: held.room_handle,
|
|
90
78
|
name: held.name,
|
|
@@ -93,7 +81,7 @@ function parseAuthority(value) {
|
|
|
93
81
|
managedReplication: held.managed_replication,
|
|
94
82
|
protectedPaths,
|
|
95
83
|
operations,
|
|
96
|
-
|
|
84
|
+
...at
|
|
97
85
|
};
|
|
98
86
|
}
|
|
99
87
|
export function parseDiscovery(body) {
|
|
@@ -102,6 +90,8 @@ export function parseDiscovery(body) {
|
|
|
102
90
|
const bounds = parseBounds(held.bounds);
|
|
103
91
|
if (bounds === null) return null;
|
|
104
92
|
if (typeof held.md_model_version !== 'string' || held.md_model_version.length === 0) return null;
|
|
93
|
+
const actions = stringList(held.actions);
|
|
94
|
+
if (actions === null || new Set(actions).size !== actions.length || actions.some((name)=>name.length === 0)) return null;
|
|
105
95
|
if (!Array.isArray(held.authorities)) return null;
|
|
106
96
|
const authorities = [];
|
|
107
97
|
for (const entry of held.authorities){
|
|
@@ -112,11 +102,104 @@ export function parseDiscovery(body) {
|
|
|
112
102
|
return {
|
|
113
103
|
bounds,
|
|
114
104
|
mdModelVersion: held.md_model_version,
|
|
105
|
+
authorities,
|
|
106
|
+
actions
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function parseSiteEntry(value) {
|
|
110
|
+
if (typeof value !== 'object' || value === null) return null;
|
|
111
|
+
const held = value;
|
|
112
|
+
if (typeof held.room_ref !== 'string' || held.room_ref.length === 0) return null;
|
|
113
|
+
if (typeof held.segment !== 'string' || held.segment.length === 0) return null;
|
|
114
|
+
return {
|
|
115
|
+
roomRef: held.room_ref,
|
|
116
|
+
segment: held.segment
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function parseSiteSlot(value) {
|
|
120
|
+
if (typeof value !== 'object' || value === null) return null;
|
|
121
|
+
const held = value;
|
|
122
|
+
if (typeof held.slot !== 'string' || held.slot.length === 0) return null;
|
|
123
|
+
if (!Array.isArray(held.entries)) return null;
|
|
124
|
+
const entries = [];
|
|
125
|
+
for (const entry of held.entries){
|
|
126
|
+
const parsed = parseSiteEntry(entry);
|
|
127
|
+
if (parsed === null) return null;
|
|
128
|
+
entries.push(parsed);
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
slot: held.slot,
|
|
132
|
+
entries
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
function parseSiteAuthority(value) {
|
|
136
|
+
if (typeof value !== 'object' || value === null) return null;
|
|
137
|
+
const held = value;
|
|
138
|
+
if (held.kind !== 'room') return null;
|
|
139
|
+
if (typeof held.room_ref !== 'string' || held.room_ref.length === 0) return null;
|
|
140
|
+
if (typeof held.room_handle !== 'string' || held.room_handle.length === 0) return null;
|
|
141
|
+
if (typeof held.collection_root !== 'string' || typeof held.model_root !== 'string') return null;
|
|
142
|
+
const at = readPosition(held);
|
|
143
|
+
if (at === null) return null;
|
|
144
|
+
return {
|
|
145
|
+
roomRef: held.room_ref,
|
|
146
|
+
roomHandle: held.room_handle,
|
|
147
|
+
collectionRoot: held.collection_root,
|
|
148
|
+
modelRoot: held.model_root,
|
|
149
|
+
...at
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
export function parseSiteDiscovery(body) {
|
|
153
|
+
if (typeof body !== 'object' || body === null) return null;
|
|
154
|
+
const held = body;
|
|
155
|
+
const bounds = parseBounds(held.bounds);
|
|
156
|
+
if (bounds === null) return null;
|
|
157
|
+
if (typeof held.md_model_version !== 'string' || held.md_model_version.length === 0) return null;
|
|
158
|
+
if (!Array.isArray(held.slots) || !Array.isArray(held.authorities)) return null;
|
|
159
|
+
const slots = [];
|
|
160
|
+
for (const entry of held.slots){
|
|
161
|
+
const slot = parseSiteSlot(entry);
|
|
162
|
+
if (slot === null) return null;
|
|
163
|
+
slots.push(slot);
|
|
164
|
+
}
|
|
165
|
+
const authorities = [];
|
|
166
|
+
for (const entry of held.authorities){
|
|
167
|
+
const authority = parseSiteAuthority(entry);
|
|
168
|
+
if (authority === null) return null;
|
|
169
|
+
authorities.push(authority);
|
|
170
|
+
}
|
|
171
|
+
return {
|
|
172
|
+
bounds,
|
|
173
|
+
mdModelVersion: held.md_model_version,
|
|
174
|
+
slots,
|
|
115
175
|
authorities
|
|
116
176
|
};
|
|
117
177
|
}
|
|
178
|
+
export function siteTracked(document) {
|
|
179
|
+
return document.authorities.map((authority)=>({
|
|
180
|
+
locator: authority.roomRef,
|
|
181
|
+
authority: authority.roomRef,
|
|
182
|
+
handle: authority.roomHandle,
|
|
183
|
+
collectionRoot: authority.collectionRoot,
|
|
184
|
+
modelRoot: authority.modelRoot,
|
|
185
|
+
modelRoots: [
|
|
186
|
+
authority.modelRoot
|
|
187
|
+
],
|
|
188
|
+
position: authority.position,
|
|
189
|
+
logEpoch: authority.logEpoch
|
|
190
|
+
}));
|
|
191
|
+
}
|
|
192
|
+
export function siteSlots(document) {
|
|
193
|
+
return document.slots.map(({ slot, entries })=>({
|
|
194
|
+
slot,
|
|
195
|
+
entries: entries.map(({ roomRef, segment })=>({
|
|
196
|
+
locator: roomRef,
|
|
197
|
+
segment
|
|
198
|
+
}))
|
|
199
|
+
}));
|
|
200
|
+
}
|
|
118
201
|
export function locatorOf(authority) {
|
|
119
|
-
return authority.roomHandle
|
|
202
|
+
return authority.roomHandle === null ? PRIVATE_LOCATOR : authority.roomRef;
|
|
120
203
|
}
|
|
121
204
|
export function trackedFrom(document) {
|
|
122
205
|
return document.authorities.map((authority)=>({
|
|
@@ -125,13 +208,14 @@ export function trackedFrom(document) {
|
|
|
125
208
|
handle: authority.roomHandle ?? undefined,
|
|
126
209
|
collectionRoot: authority.collectionRoot,
|
|
127
210
|
modelRoot: authority.modelRoot,
|
|
128
|
-
modelRoots: authority.
|
|
211
|
+
modelRoots: authority.roomHandle === null ? [
|
|
129
212
|
authority.modelRoot,
|
|
130
|
-
|
|
213
|
+
HOUSE_TYPES_ROOT
|
|
131
214
|
] : [
|
|
132
215
|
authority.modelRoot
|
|
133
216
|
],
|
|
134
|
-
|
|
217
|
+
position: authority.position,
|
|
218
|
+
logEpoch: authority.logEpoch
|
|
135
219
|
}));
|
|
136
220
|
}
|
|
137
221
|
export function providerLimits(bounds) {
|
|
@@ -169,15 +253,35 @@ export function declaredRetention(bounds) {
|
|
|
169
253
|
refreshHorizon: bounds.change_retention_seconds
|
|
170
254
|
};
|
|
171
255
|
}
|
|
172
|
-
export function capabilities() {
|
|
256
|
+
export function capabilities(actions) {
|
|
173
257
|
return [
|
|
174
258
|
{
|
|
175
259
|
name: ROOM_VERSION_NOTIFICATIONS
|
|
176
260
|
},
|
|
177
261
|
{
|
|
178
262
|
name: PROVIDER_ACTIONS,
|
|
179
|
-
actions: declaredActions(),
|
|
263
|
+
actions: declaredActions(actions),
|
|
180
264
|
conversationCards: HOUSE_CONVERSATION_CARDS
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
name: MOVE_REFERENCE_REWRITES
|
|
268
|
+
}
|
|
269
|
+
];
|
|
270
|
+
}
|
|
271
|
+
export function siteCapabilities() {
|
|
272
|
+
return [
|
|
273
|
+
{
|
|
274
|
+
name: ROOM_VERSION_NOTIFICATIONS
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
name: PROVIDER_ACTIONS,
|
|
278
|
+
actions: [
|
|
279
|
+
{
|
|
280
|
+
name: 'submit',
|
|
281
|
+
inputShape: {},
|
|
282
|
+
resultKind: 'house'
|
|
283
|
+
}
|
|
284
|
+
]
|
|
181
285
|
}
|
|
182
286
|
];
|
|
183
287
|
}
|
|
@@ -194,7 +298,7 @@ export function discoveredRoom(authority, attachedModel, typedSelection) {
|
|
|
194
298
|
name: authority.name,
|
|
195
299
|
locator: locatorOf(authority),
|
|
196
300
|
collectionRoot: authority.collectionRoot,
|
|
197
|
-
roomVersion: authority
|
|
301
|
+
roomVersion: roomVersion(authority),
|
|
198
302
|
operations: {
|
|
199
303
|
read: [
|
|
200
304
|
...authority.operations.read
|
|
@@ -222,7 +326,7 @@ export function discoveredRoom(authority, attachedModel, typedSelection) {
|
|
|
222
326
|
]
|
|
223
327
|
};
|
|
224
328
|
}
|
|
225
|
-
export function mapDiscovery(document, rooms) {
|
|
329
|
+
export function mapDiscovery(document, rooms, declared) {
|
|
226
330
|
return {
|
|
227
331
|
kind: 'discovery',
|
|
228
332
|
supportedVersions: [
|
|
@@ -233,7 +337,7 @@ export function mapDiscovery(document, rooms) {
|
|
|
233
337
|
version: document.mdModelVersion
|
|
234
338
|
},
|
|
235
339
|
rooms,
|
|
236
|
-
capabilities:
|
|
340
|
+
capabilities: declared,
|
|
237
341
|
providerLimits: providerLimits(document.bounds),
|
|
238
342
|
retention: declaredRetention(document.bounds)
|
|
239
343
|
};
|
package/dist/discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/workspace/packages/mdruntime-adapter/src/discovery.ts"],"sourcesContent":["import type {\n Capability,\n DiscoveredRoom,\n Discovery,\n ProviderLimit,\n Retention,\n TypedSelection,\n} from '@agentshouse/mdruntime';\nimport { declaredActions, HOUSE_CONVERSATION_CARDS } from './actions.js';\nimport { PRIVATE_AUTHORITY } from './transport.js';\n\nexport const ROOM_CONTRACT_VERSION = 1;\n\nexport const MD_MODEL_IDENTITY = '@agentshouse/mdmodel';\n\nexport const ROOM_VERSION_NOTIFICATIONS = 'room-version-notifications';\n\nexport const PROVIDER_ACTIONS = 'provider-actions';\n\nexport const DISCOVER_PREFIXES: readonly string[] = ['/'];\n\nexport const PROVIDER_SELECTION_ROOTS: readonly string[] = ['agents', 'house'];\n\nexport const PROVIDER_SELECTION_MODEL_ROOT = 'house/settings/model';\n\nexport type HouseBounds = {\n max_authored_file_bytes: number;\n max_batch_operations: number;\n max_path_length: number;\n max_path_depth: number;\n max_mount_files: number;\n max_mount_bytes: number;\n change_retention_seconds: number;\n operation_retention_seconds: number;\n};\n\nexport type HouseOperations = {\n read: readonly string[];\n sync: readonly string[];\n write: readonly string[];\n delete: readonly string[];\n};\n\nexport type HouseAuthority = {\n kind: 'room' | 'private';\n roomRef: string;\n roomHandle: string | null;\n name: string;\n collectionRoot: string;\n modelRoot: string;\n managedReplication: 'admitted' | 'unavailable';\n protectedPaths: readonly string[];\n operations: HouseOperations;\n position: string;\n};\n\nexport type HouseDiscoveryDocument = {\n bounds: HouseBounds;\n mdModelVersion: string;\n authorities: readonly HouseAuthority[];\n};\n\nexport type TrackedAuthority = {\n locator: string;\n authority: string;\n handle: string | undefined;\n collectionRoot: string;\n modelRoot: string;\n modelRoots: readonly string[];\n roomVersion: string;\n};\n\nconst BOUND_KEYS: readonly (keyof HouseBounds)[] = [\n 'max_authored_file_bytes',\n 'max_batch_operations',\n 'max_path_length',\n 'max_path_depth',\n 'max_mount_files',\n 'max_mount_bytes',\n 'change_retention_seconds',\n 'operation_retention_seconds',\n];\n\nconst OPERATION_KEYS: readonly (keyof HouseOperations)[] = ['read', 'sync', 'write', 'delete'];\n\nfunction stringList(value: unknown): readonly string[] | null {\n if (!Array.isArray(value)) return null;\n return value.every((entry) => typeof entry === 'string') ? (value as string[]) : null;\n}\n\nfunction parseBounds(value: unknown): HouseBounds | null {\n if (typeof value !== 'object' || value === null) return null;\n const held = value as Record<string, unknown>;\n const bounds: Partial<HouseBounds> = {};\n for (const key of BOUND_KEYS) {\n const amount = held[key];\n if (typeof amount !== 'number' || !Number.isFinite(amount)) return null;\n bounds[key] = amount;\n }\n return bounds as HouseBounds;\n}\n\nfunction parseOperations(value: unknown): HouseOperations | null {\n if (typeof value !== 'object' || value === null) return null;\n const held = value as Record<string, unknown>;\n const operations: Partial<Record<keyof HouseOperations, readonly string[]>> = {};\n for (const key of OPERATION_KEYS) {\n const scopes = stringList(held[key]);\n if (scopes === null) return null;\n operations[key] = scopes;\n }\n return operations as HouseOperations;\n}\n\nfunction parseAuthority(value: unknown): HouseAuthority | null {\n if (typeof value !== 'object' || value === null) return null;\n const held = value as Record<string, unknown>;\n if (held.kind !== 'room' && held.kind !== 'private') return null;\n if (typeof held.name !== 'string' || held.name.length === 0) return null;\n if (typeof held.collection_root !== 'string' || typeof held.model_root !== 'string') return null;\n if (held.managed_replication !== 'admitted' && held.managed_replication !== 'unavailable') {\n return null;\n }\n if (typeof held.position !== 'string' || held.position.length === 0) return null;\n const protectedPaths = stringList(held.protected_paths);\n const operations = parseOperations(held.operations);\n if (protectedPaths === null || operations === null) return null;\n if (held.kind === 'private') {\n return {\n kind: 'private',\n roomRef: PRIVATE_AUTHORITY,\n roomHandle: null,\n name: held.name,\n collectionRoot: held.collection_root,\n modelRoot: held.model_root,\n managedReplication: held.managed_replication,\n protectedPaths,\n operations,\n position: held.position,\n };\n }\n if (typeof held.room_ref !== 'string' || held.room_ref.length === 0) return null;\n if (typeof held.room_handle !== 'string' || held.room_handle.length === 0) return null;\n return {\n kind: 'room',\n roomRef: held.room_ref,\n roomHandle: held.room_handle,\n name: held.name,\n collectionRoot: held.collection_root,\n modelRoot: held.model_root,\n managedReplication: held.managed_replication,\n protectedPaths,\n operations,\n position: held.position,\n };\n}\n\nexport function parseDiscovery(body: unknown): HouseDiscoveryDocument | null {\n if (typeof body !== 'object' || body === null) return null;\n const held = body as Record<string, unknown>;\n const bounds = parseBounds(held.bounds);\n if (bounds === null) return null;\n if (typeof held.md_model_version !== 'string' || held.md_model_version.length === 0) return null;\n if (!Array.isArray(held.authorities)) return null;\n const authorities: HouseAuthority[] = [];\n for (const entry of held.authorities) {\n const authority = parseAuthority(entry);\n if (authority === null) return null;\n authorities.push(authority);\n }\n return { bounds, mdModelVersion: held.md_model_version, authorities };\n}\n\nexport function locatorOf(authority: HouseAuthority): string {\n return authority.roomHandle ?? PRIVATE_AUTHORITY;\n}\n\nexport function trackedFrom(document: HouseDiscoveryDocument): TrackedAuthority[] {\n return document.authorities.map((authority) => ({\n locator: locatorOf(authority),\n authority: authority.roomRef,\n handle: authority.roomHandle ?? undefined,\n collectionRoot: authority.collectionRoot,\n modelRoot: authority.modelRoot,\n modelRoots:\n authority.kind === 'private'\n ? [authority.modelRoot, PROVIDER_SELECTION_MODEL_ROOT]\n : [authority.modelRoot],\n roomVersion: authority.position,\n }));\n}\n\nexport function providerLimits(bounds: HouseBounds): readonly ProviderLimit[] {\n return [\n { name: 'document-size', value: bounds.max_authored_file_bytes },\n { name: 'change-batch-operations', value: bounds.max_batch_operations },\n { name: 'path-length', value: bounds.max_path_length },\n { name: 'path-depth', value: bounds.max_path_depth },\n { name: 'write-rate' },\n { name: 'content-ceiling' },\n ];\n}\n\nexport function declaredRetention(bounds: HouseBounds): Retention {\n return {\n history: { kind: 'no-declared-time-bound' },\n outcome: bounds.operation_retention_seconds,\n refreshHorizon: bounds.change_retention_seconds,\n };\n}\n\nexport function capabilities(): readonly Capability[] {\n return [\n { name: ROOM_VERSION_NOTIFICATIONS },\n {\n name: PROVIDER_ACTIONS,\n actions: declaredActions(),\n conversationCards: HOUSE_CONVERSATION_CARDS,\n },\n ];\n}\n\nexport function providerSelection(attachedModel: TypedSelection['attachedModel']): TypedSelection {\n return { roots: [...PROVIDER_SELECTION_ROOTS], attachedModel };\n}\n\nexport function discoveredRoom(\n authority: HouseAuthority,\n attachedModel: DiscoveredRoom['attachedModel'],\n typedSelection: TypedSelection | undefined,\n): DiscoveredRoom {\n return {\n name: authority.name,\n locator: locatorOf(authority),\n collectionRoot: authority.collectionRoot,\n roomVersion: authority.position,\n operations: {\n read: [...authority.operations.read],\n sync: [...authority.operations.sync],\n write: [...authority.operations.write],\n delete: [...authority.operations.delete],\n },\n replica: { selection: locatorOf(authority), admission: authority.managedReplication },\n attachedModel,\n ...(typedSelection === undefined ? {} : { typedSelection }),\n providerOwnedPaths: [...authority.protectedPaths],\n };\n}\n\nexport function mapDiscovery(\n document: HouseDiscoveryDocument,\n rooms: readonly DiscoveredRoom[],\n): Discovery {\n return {\n kind: 'discovery',\n supportedVersions: [ROOM_CONTRACT_VERSION],\n mdModel: { identity: MD_MODEL_IDENTITY, version: document.mdModelVersion },\n rooms,\n capabilities: capabilities(),\n providerLimits: providerLimits(document.bounds),\n retention: declaredRetention(document.bounds),\n };\n}\n"],"names":["declaredActions","HOUSE_CONVERSATION_CARDS","PRIVATE_AUTHORITY","ROOM_CONTRACT_VERSION","MD_MODEL_IDENTITY","ROOM_VERSION_NOTIFICATIONS","PROVIDER_ACTIONS","DISCOVER_PREFIXES","PROVIDER_SELECTION_ROOTS","PROVIDER_SELECTION_MODEL_ROOT","BOUND_KEYS","OPERATION_KEYS","stringList","value","Array","isArray","every","entry","parseBounds","held","bounds","key","amount","Number","isFinite","parseOperations","operations","scopes","parseAuthority","kind","name","length","collection_root","model_root","managed_replication","position","protectedPaths","protected_paths","roomRef","roomHandle","collectionRoot","modelRoot","managedReplication","room_ref","room_handle","parseDiscovery","body","md_model_version","authorities","authority","push","mdModelVersion","locatorOf","trackedFrom","document","map","locator","handle","undefined","modelRoots","roomVersion","providerLimits","max_authored_file_bytes","max_batch_operations","max_path_length","max_path_depth","declaredRetention","history","outcome","operation_retention_seconds","refreshHorizon","change_retention_seconds","capabilities","actions","conversationCards","providerSelection","attachedModel","roots","discoveredRoom","typedSelection","read","sync","write","delete","replica","selection","admission","providerOwnedPaths","mapDiscovery","rooms","supportedVersions","mdModel","identity","version","retention"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime-adapter/src/discovery.ts"],"sourcesContent":["import type {\n Capability,\n DiscoveredRoom,\n Discovery,\n ProviderLimit,\n Retention,\n TypedSelection,\n} from '@agentshouse/mdruntime';\nimport { declaredActions, HOUSE_CONVERSATION_CARDS } from './actions.js';\nimport { PRIVATE_LOCATOR } from './transport.js';\nimport { readPosition, roomVersion, type LogPosition } from './version.js';\n\nexport const ROOM_CONTRACT_VERSION = 1;\n\nexport const MD_MODEL_IDENTITY = '@agentshouse/mdmodel';\n\nexport const ROOM_VERSION_NOTIFICATIONS = 'room-version-notifications';\n\nexport const PROVIDER_ACTIONS = 'provider-actions';\n\nexport const MOVE_REFERENCE_REWRITES = 'move-reference-rewrites';\n\nexport const DISCOVER_PREFIXES: readonly string[] = ['/'];\n\nexport const PROVIDER_SELECTION_ROOTS: readonly string[] = ['agents', 'house', 'settings/apps'];\n\nexport const HOUSE_TYPES_ROOT = 'house/types';\n\nexport type HouseBounds = {\n max_authored_file_bytes: number;\n max_batch_operations: number;\n max_path_length: number;\n max_path_depth: number;\n max_mount_files: number;\n max_mount_bytes: number;\n change_retention_seconds: number;\n operation_retention_seconds: number;\n};\n\nexport type HouseOperations = {\n read: readonly string[];\n sync: readonly string[];\n write: readonly string[];\n delete: readonly string[];\n};\n\nexport type HouseAuthority = LogPosition & {\n roomRef: string;\n roomHandle: string | null;\n name: string;\n collectionRoot: string;\n modelRoot: string;\n managedReplication: 'admitted' | 'unavailable';\n protectedPaths: readonly string[];\n operations: HouseOperations;\n};\n\nexport type HouseDiscoveryDocument = {\n bounds: HouseBounds;\n mdModelVersion: string;\n authorities: readonly HouseAuthority[];\n actions: readonly string[];\n};\n\nexport type TrackedAuthority = LogPosition & {\n locator: string;\n authority: string;\n handle: string | undefined;\n collectionRoot: string;\n modelRoot: string;\n modelRoots: readonly string[];\n};\n\nexport type HouseSiteEntry = {\n roomRef: string;\n segment: string;\n};\n\nexport type HouseSiteSlot = {\n slot: string;\n entries: readonly HouseSiteEntry[];\n};\n\nexport type HouseSiteAuthority = LogPosition & {\n roomRef: string;\n roomHandle: string;\n collectionRoot: string;\n modelRoot: string;\n};\n\nexport type HouseSiteDiscovery = {\n bounds: HouseBounds;\n mdModelVersion: string;\n slots: readonly HouseSiteSlot[];\n authorities: readonly HouseSiteAuthority[];\n};\n\nexport type SiteTracked = TrackedAuthority & { handle: string };\n\nconst BOUND_KEYS: readonly (keyof HouseBounds)[] = [\n 'max_authored_file_bytes',\n 'max_batch_operations',\n 'max_path_length',\n 'max_path_depth',\n 'max_mount_files',\n 'max_mount_bytes',\n 'change_retention_seconds',\n 'operation_retention_seconds',\n];\n\nconst OPERATION_KEYS: readonly (keyof HouseOperations)[] = ['read', 'sync', 'write', 'delete'];\n\nfunction stringList(value: unknown): readonly string[] | null {\n if (!Array.isArray(value)) return null;\n return value.every((entry) => typeof entry === 'string') ? (value as string[]) : null;\n}\n\nfunction parseBounds(value: unknown): HouseBounds | null {\n if (typeof value !== 'object' || value === null) return null;\n const held = value as Record<string, unknown>;\n const bounds: Partial<HouseBounds> = {};\n for (const key of BOUND_KEYS) {\n const amount = held[key];\n if (typeof amount !== 'number' || !Number.isFinite(amount)) return null;\n bounds[key] = amount;\n }\n return bounds as HouseBounds;\n}\n\nfunction parseOperations(value: unknown): HouseOperations | null {\n if (typeof value !== 'object' || value === null) return null;\n const held = value as Record<string, unknown>;\n const operations: Partial<Record<keyof HouseOperations, readonly string[]>> = {};\n for (const key of OPERATION_KEYS) {\n const scopes = stringList(held[key]);\n if (scopes === null) return null;\n operations[key] = scopes;\n }\n return operations as HouseOperations;\n}\n\nfunction parseAuthority(value: unknown): HouseAuthority | null {\n if (typeof value !== 'object' || value === null) return null;\n const held = value as Record<string, unknown>;\n if (held.kind !== 'room') return null;\n if (typeof held.name !== 'string' || held.name.length === 0) return null;\n if (typeof held.collection_root !== 'string' || typeof held.model_root !== 'string') return null;\n if (held.managed_replication !== 'admitted' && held.managed_replication !== 'unavailable') {\n return null;\n }\n const at = readPosition(held);\n const protectedPaths = stringList(held.protected_paths);\n const operations = parseOperations(held.operations);\n if (at === null || protectedPaths === null || operations === null) return null;\n if (typeof held.room_ref !== 'string' || held.room_ref.length === 0) return null;\n if (\n held.room_handle !== null &&\n (typeof held.room_handle !== 'string' || held.room_handle.length === 0)\n )\n return null;\n return {\n roomRef: held.room_ref,\n roomHandle: held.room_handle,\n name: held.name,\n collectionRoot: held.collection_root,\n modelRoot: held.model_root,\n managedReplication: held.managed_replication,\n protectedPaths,\n operations,\n ...at,\n };\n}\n\nexport function parseDiscovery(body: unknown): HouseDiscoveryDocument | null {\n if (typeof body !== 'object' || body === null) return null;\n const held = body as Record<string, unknown>;\n const bounds = parseBounds(held.bounds);\n if (bounds === null) return null;\n if (typeof held.md_model_version !== 'string' || held.md_model_version.length === 0) return null;\n const actions = stringList(held.actions);\n if (\n actions === null ||\n new Set(actions).size !== actions.length ||\n actions.some((name) => name.length === 0)\n )\n return null;\n if (!Array.isArray(held.authorities)) return null;\n const authorities: HouseAuthority[] = [];\n for (const entry of held.authorities) {\n const authority = parseAuthority(entry);\n if (authority === null) return null;\n authorities.push(authority);\n }\n return { bounds, mdModelVersion: held.md_model_version, authorities, actions };\n}\n\nfunction parseSiteEntry(value: unknown): HouseSiteEntry | null {\n if (typeof value !== 'object' || value === null) return null;\n const held = value as Record<string, unknown>;\n if (typeof held.room_ref !== 'string' || held.room_ref.length === 0) return null;\n if (typeof held.segment !== 'string' || held.segment.length === 0) return null;\n return { roomRef: held.room_ref, segment: held.segment };\n}\n\nfunction parseSiteSlot(value: unknown): HouseSiteSlot | null {\n if (typeof value !== 'object' || value === null) return null;\n const held = value as Record<string, unknown>;\n if (typeof held.slot !== 'string' || held.slot.length === 0) return null;\n if (!Array.isArray(held.entries)) return null;\n const entries: HouseSiteEntry[] = [];\n for (const entry of held.entries) {\n const parsed = parseSiteEntry(entry);\n if (parsed === null) return null;\n entries.push(parsed);\n }\n return { slot: held.slot, entries };\n}\n\nfunction parseSiteAuthority(value: unknown): HouseSiteAuthority | null {\n if (typeof value !== 'object' || value === null) return null;\n const held = value as Record<string, unknown>;\n if (held.kind !== 'room') return null;\n if (typeof held.room_ref !== 'string' || held.room_ref.length === 0) return null;\n if (typeof held.room_handle !== 'string' || held.room_handle.length === 0) return null;\n if (typeof held.collection_root !== 'string' || typeof held.model_root !== 'string') return null;\n const at = readPosition(held);\n if (at === null) return null;\n return {\n roomRef: held.room_ref,\n roomHandle: held.room_handle,\n collectionRoot: held.collection_root,\n modelRoot: held.model_root,\n ...at,\n };\n}\n\nexport function parseSiteDiscovery(body: unknown): HouseSiteDiscovery | null {\n if (typeof body !== 'object' || body === null) return null;\n const held = body as Record<string, unknown>;\n const bounds = parseBounds(held.bounds);\n if (bounds === null) return null;\n if (typeof held.md_model_version !== 'string' || held.md_model_version.length === 0) return null;\n if (!Array.isArray(held.slots) || !Array.isArray(held.authorities)) return null;\n const slots: HouseSiteSlot[] = [];\n for (const entry of held.slots) {\n const slot = parseSiteSlot(entry);\n if (slot === null) return null;\n slots.push(slot);\n }\n const authorities: HouseSiteAuthority[] = [];\n for (const entry of held.authorities) {\n const authority = parseSiteAuthority(entry);\n if (authority === null) return null;\n authorities.push(authority);\n }\n return { bounds, mdModelVersion: held.md_model_version, slots, authorities };\n}\n\nexport function siteTracked(document: HouseSiteDiscovery): SiteTracked[] {\n return document.authorities.map((authority) => ({\n locator: authority.roomRef,\n authority: authority.roomRef,\n handle: authority.roomHandle,\n collectionRoot: authority.collectionRoot,\n modelRoot: authority.modelRoot,\n modelRoots: [authority.modelRoot],\n position: authority.position,\n logEpoch: authority.logEpoch,\n }));\n}\n\nexport function siteSlots(document: HouseSiteDiscovery): Discovery['slots'] {\n return document.slots.map(({ slot, entries }) => ({\n slot,\n entries: entries.map(({ roomRef, segment }) => ({ locator: roomRef, segment })),\n }));\n}\n\nexport function locatorOf(authority: HouseAuthority): string {\n return authority.roomHandle === null ? PRIVATE_LOCATOR : authority.roomRef;\n}\n\nexport function trackedFrom(document: HouseDiscoveryDocument): TrackedAuthority[] {\n return document.authorities.map((authority) => ({\n locator: locatorOf(authority),\n authority: authority.roomRef,\n handle: authority.roomHandle ?? undefined,\n collectionRoot: authority.collectionRoot,\n modelRoot: authority.modelRoot,\n modelRoots:\n authority.roomHandle === null\n ? [authority.modelRoot, HOUSE_TYPES_ROOT]\n : [authority.modelRoot],\n position: authority.position,\n logEpoch: authority.logEpoch,\n }));\n}\n\nexport function providerLimits(bounds: HouseBounds): readonly ProviderLimit[] {\n return [\n { name: 'document-size', value: bounds.max_authored_file_bytes },\n { name: 'change-batch-operations', value: bounds.max_batch_operations },\n { name: 'path-length', value: bounds.max_path_length },\n { name: 'path-depth', value: bounds.max_path_depth },\n { name: 'write-rate' },\n { name: 'content-ceiling' },\n ];\n}\n\nexport function declaredRetention(bounds: HouseBounds): Retention {\n return {\n history: { kind: 'no-declared-time-bound' },\n outcome: bounds.operation_retention_seconds,\n refreshHorizon: bounds.change_retention_seconds,\n };\n}\n\nexport function capabilities(actions: readonly string[]): readonly Capability[] {\n return [\n { name: ROOM_VERSION_NOTIFICATIONS },\n {\n name: PROVIDER_ACTIONS,\n actions: declaredActions(actions),\n conversationCards: HOUSE_CONVERSATION_CARDS,\n },\n { name: MOVE_REFERENCE_REWRITES },\n ];\n}\n\nexport function siteCapabilities(): readonly Capability[] {\n return [\n { name: ROOM_VERSION_NOTIFICATIONS },\n { name: PROVIDER_ACTIONS, actions: [{ name: 'submit', inputShape: {}, resultKind: 'house' }] },\n ];\n}\n\nexport function providerSelection(attachedModel: TypedSelection['attachedModel']): TypedSelection {\n return { roots: [...PROVIDER_SELECTION_ROOTS], attachedModel };\n}\n\nexport function discoveredRoom(\n authority: HouseAuthority,\n attachedModel: DiscoveredRoom['attachedModel'],\n typedSelection: TypedSelection | undefined,\n): DiscoveredRoom {\n return {\n name: authority.name,\n locator: locatorOf(authority),\n collectionRoot: authority.collectionRoot,\n roomVersion: roomVersion(authority),\n operations: {\n read: [...authority.operations.read],\n sync: [...authority.operations.sync],\n write: [...authority.operations.write],\n delete: [...authority.operations.delete],\n },\n replica: { selection: locatorOf(authority), admission: authority.managedReplication },\n attachedModel,\n ...(typedSelection === undefined ? {} : { typedSelection }),\n providerOwnedPaths: [...authority.protectedPaths],\n };\n}\n\nexport function mapDiscovery(\n document: Pick<HouseDiscoveryDocument, 'bounds' | 'mdModelVersion'>,\n rooms: readonly DiscoveredRoom[],\n declared: readonly Capability[],\n): Discovery {\n return {\n kind: 'discovery',\n supportedVersions: [ROOM_CONTRACT_VERSION],\n mdModel: { identity: MD_MODEL_IDENTITY, version: document.mdModelVersion },\n rooms,\n capabilities: declared,\n providerLimits: providerLimits(document.bounds),\n retention: declaredRetention(document.bounds),\n };\n}\n"],"names":["declaredActions","HOUSE_CONVERSATION_CARDS","PRIVATE_LOCATOR","readPosition","roomVersion","ROOM_CONTRACT_VERSION","MD_MODEL_IDENTITY","ROOM_VERSION_NOTIFICATIONS","PROVIDER_ACTIONS","MOVE_REFERENCE_REWRITES","DISCOVER_PREFIXES","PROVIDER_SELECTION_ROOTS","HOUSE_TYPES_ROOT","BOUND_KEYS","OPERATION_KEYS","stringList","value","Array","isArray","every","entry","parseBounds","held","bounds","key","amount","Number","isFinite","parseOperations","operations","scopes","parseAuthority","kind","name","length","collection_root","model_root","managed_replication","at","protectedPaths","protected_paths","room_ref","room_handle","roomRef","roomHandle","collectionRoot","modelRoot","managedReplication","parseDiscovery","body","md_model_version","actions","Set","size","some","authorities","authority","push","mdModelVersion","parseSiteEntry","segment","parseSiteSlot","slot","entries","parsed","parseSiteAuthority","parseSiteDiscovery","slots","siteTracked","document","map","locator","handle","modelRoots","position","logEpoch","siteSlots","locatorOf","trackedFrom","undefined","providerLimits","max_authored_file_bytes","max_batch_operations","max_path_length","max_path_depth","declaredRetention","history","outcome","operation_retention_seconds","refreshHorizon","change_retention_seconds","capabilities","conversationCards","siteCapabilities","inputShape","resultKind","providerSelection","attachedModel","roots","discoveredRoom","typedSelection","read","sync","write","delete","replica","selection","admission","providerOwnedPaths","mapDiscovery","rooms","declared","supportedVersions","mdModel","identity","version","retention"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createAgentsHouseAdapter, type AgentsHouseAdapterOptions } from './adapter.js';
|
|
2
2
|
export { nativePath, roomLocalPath } from './map.js';
|
|
3
|
-
export type { HouseByteAct, HouseByteTransfer, HouseDoorAnswer, HouseStream,
|
|
3
|
+
export type { HouseByteAct, HouseByteTransfer, HouseDoorAnswer, HouseStream, HouseStreamEntry, HouseStreamFrame, HouseSiteTransport, HouseTransport, } from './transport.js';
|
|
4
4
|
//# 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,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,
|
|
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,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/workspace/packages/mdruntime-adapter/src/index.ts"],"sourcesContent":["export { createAgentsHouseAdapter, type AgentsHouseAdapterOptions } from './adapter.js';\nexport { nativePath, roomLocalPath } from './map.js';\nexport type {\n HouseByteAct,\n HouseByteTransfer,\n HouseDoorAnswer,\n HouseStream,\n
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime-adapter/src/index.ts"],"sourcesContent":["export { createAgentsHouseAdapter, type AgentsHouseAdapterOptions } from './adapter.js';\nexport { nativePath, roomLocalPath } from './map.js';\nexport type {\n HouseByteAct,\n HouseByteTransfer,\n HouseDoorAnswer,\n HouseStream,\n HouseStreamEntry,\n HouseStreamFrame,\n HouseSiteTransport,\n HouseTransport,\n} from './transport.js';\n"],"names":["createAgentsHouseAdapter","nativePath","roomLocalPath"],"mappings":"AAAA,SAASA,wBAAwB,QAAwC,eAAe;AACxF,SAASC,UAAU,EAAEC,aAAa,QAAQ,WAAW"}
|
package/dist/model.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AdapterFailure, ModelIdentity, ModelRequest, ModelResult } from '@agentshouse/mdruntime';
|
|
2
|
+
import type { HouseDefinitions } from './read.js';
|
|
3
|
+
export type HeldModel = {
|
|
4
|
+
snapshot: ModelResult;
|
|
5
|
+
identity: ModelIdentity | null;
|
|
6
|
+
};
|
|
7
|
+
export declare const MODEL_ABSENT: ModelResult;
|
|
8
|
+
export declare function failedModel(failure: AdapterFailure | {
|
|
9
|
+
kind: 'beyond-horizon';
|
|
10
|
+
}): ModelResult;
|
|
11
|
+
export declare function modelKey(locator: string, attached: ModelRequest['attached']): string;
|
|
12
|
+
export declare function heldModel(read: HouseDefinitions | null, identity: string, failure: ModelResult): Promise<HeldModel>;
|
|
13
|
+
export type ModelShelf = {
|
|
14
|
+
retain(key: string, acquired: HeldModel | undefined): HeldModel | undefined;
|
|
15
|
+
answer(request: ModelRequest): ModelResult;
|
|
16
|
+
keep(locators: readonly string[]): void;
|
|
17
|
+
};
|
|
18
|
+
export declare function modelShelf(): ModelShelf;
|
|
19
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,CAAC;AAElF,eAAO,MAAM,YAAY,EAAE,WAAmE,CAAC;AAE/F,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAAG,WAAW,CAI7F;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,MAAM,CAEpF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC,CAOpB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5E,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,wBAAgB,UAAU,IAAI,UAAU,CAqBvC"}
|
package/dist/model.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { sha256Hex } from './digest.js';
|
|
2
|
+
export const MODEL_ABSENT = {
|
|
3
|
+
kind: 'model-unavailable',
|
|
4
|
+
reason: 'not-readable'
|
|
5
|
+
};
|
|
6
|
+
export function failedModel(failure) {
|
|
7
|
+
if (failure.kind === 'revoked-authorization') return {
|
|
8
|
+
kind: 'revoked-authorization'
|
|
9
|
+
};
|
|
10
|
+
if (failure.kind === 'transport-uncertainty') return {
|
|
11
|
+
kind: 'transport-uncertainty'
|
|
12
|
+
};
|
|
13
|
+
return MODEL_ABSENT;
|
|
14
|
+
}
|
|
15
|
+
export function modelKey(locator, attached) {
|
|
16
|
+
return `${locator} ${attached}`;
|
|
17
|
+
}
|
|
18
|
+
export async function heldModel(read, identity, failure) {
|
|
19
|
+
if (read === null) return {
|
|
20
|
+
snapshot: failure,
|
|
21
|
+
identity: null
|
|
22
|
+
};
|
|
23
|
+
const version = await sha256Hex(JSON.stringify(read.versions));
|
|
24
|
+
return {
|
|
25
|
+
snapshot: {
|
|
26
|
+
kind: 'model',
|
|
27
|
+
snapshot: {
|
|
28
|
+
identity,
|
|
29
|
+
version,
|
|
30
|
+
definitions: read.definitions
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
identity: {
|
|
34
|
+
identity,
|
|
35
|
+
version
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export function modelShelf() {
|
|
40
|
+
const models = new Map();
|
|
41
|
+
return {
|
|
42
|
+
retain (key, acquired) {
|
|
43
|
+
if (acquired === undefined) return models.get(key);
|
|
44
|
+
if (acquired.snapshot.kind === 'transport-uncertainty') {
|
|
45
|
+
const previous = models.get(key);
|
|
46
|
+
if (previous !== undefined && previous.identity !== null) return previous;
|
|
47
|
+
}
|
|
48
|
+
models.set(key, acquired);
|
|
49
|
+
return acquired;
|
|
50
|
+
},
|
|
51
|
+
answer (request) {
|
|
52
|
+
return models.get(modelKey(request.locator, request.attached))?.snapshot ?? MODEL_ABSENT;
|
|
53
|
+
},
|
|
54
|
+
keep (locators) {
|
|
55
|
+
for (const key of [
|
|
56
|
+
...models.keys()
|
|
57
|
+
]){
|
|
58
|
+
if (!locators.some((locator)=>key.startsWith(`${locator} `))) models.delete(key);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime-adapter/src/model.ts"],"sourcesContent":["import type {\n AdapterFailure,\n ModelIdentity,\n ModelRequest,\n ModelResult,\n} from '@agentshouse/mdruntime';\nimport { sha256Hex } from './digest.js';\nimport type { HouseDefinitions } from './read.js';\n\nexport type HeldModel = { snapshot: ModelResult; identity: ModelIdentity | null };\n\nexport const MODEL_ABSENT: ModelResult = { kind: 'model-unavailable', reason: 'not-readable' };\n\nexport function failedModel(failure: AdapterFailure | { kind: 'beyond-horizon' }): ModelResult {\n if (failure.kind === 'revoked-authorization') return { kind: 'revoked-authorization' };\n if (failure.kind === 'transport-uncertainty') return { kind: 'transport-uncertainty' };\n return MODEL_ABSENT;\n}\n\nexport function modelKey(locator: string, attached: ModelRequest['attached']): string {\n return `${locator} ${attached}`;\n}\n\nexport async function heldModel(\n read: HouseDefinitions | null,\n identity: string,\n failure: ModelResult,\n): Promise<HeldModel> {\n if (read === null) return { snapshot: failure, identity: null };\n const version = await sha256Hex(JSON.stringify(read.versions));\n return {\n snapshot: { kind: 'model', snapshot: { identity, version, definitions: read.definitions } },\n identity: { identity, version },\n };\n}\n\nexport type ModelShelf = {\n retain(key: string, acquired: HeldModel | undefined): HeldModel | undefined;\n answer(request: ModelRequest): ModelResult;\n keep(locators: readonly string[]): void;\n};\n\nexport function modelShelf(): ModelShelf {\n const models = new Map<string, HeldModel>();\n return {\n retain(key, acquired) {\n if (acquired === undefined) return models.get(key);\n if (acquired.snapshot.kind === 'transport-uncertainty') {\n const previous = models.get(key);\n if (previous !== undefined && previous.identity !== null) return previous;\n }\n models.set(key, acquired);\n return acquired;\n },\n answer(request) {\n return models.get(modelKey(request.locator, request.attached))?.snapshot ?? MODEL_ABSENT;\n },\n keep(locators) {\n for (const key of [...models.keys()]) {\n if (!locators.some((locator) => key.startsWith(`${locator} `))) models.delete(key);\n }\n },\n };\n}\n"],"names":["sha256Hex","MODEL_ABSENT","kind","reason","failedModel","failure","modelKey","locator","attached","heldModel","read","identity","snapshot","version","JSON","stringify","versions","definitions","modelShelf","models","Map","retain","key","acquired","undefined","get","previous","set","answer","request","keep","locators","keys","some","startsWith","delete"],"mappings":"AAMA,SAASA,SAAS,QAAQ,cAAc;AAKxC,OAAO,MAAMC,eAA4B;IAAEC,MAAM;IAAqBC,QAAQ;AAAe,EAAE;AAE/F,OAAO,SAASC,YAAYC,OAAoD;IAC9E,IAAIA,QAAQH,IAAI,KAAK,yBAAyB,OAAO;QAAEA,MAAM;IAAwB;IACrF,IAAIG,QAAQH,IAAI,KAAK,yBAAyB,OAAO;QAAEA,MAAM;IAAwB;IACrF,OAAOD;AACT;AAEA,OAAO,SAASK,SAASC,OAAe,EAAEC,QAAkC;IAC1E,OAAO,GAAGD,QAAQ,CAAC,EAAEC,UAAU;AACjC;AAEA,OAAO,eAAeC,UACpBC,IAA6B,EAC7BC,QAAgB,EAChBN,OAAoB;IAEpB,IAAIK,SAAS,MAAM,OAAO;QAAEE,UAAUP;QAASM,UAAU;IAAK;IAC9D,MAAME,UAAU,MAAMb,UAAUc,KAAKC,SAAS,CAACL,KAAKM,QAAQ;IAC5D,OAAO;QACLJ,UAAU;YAAEV,MAAM;YAASU,UAAU;gBAAED;gBAAUE;gBAASI,aAAaP,KAAKO,WAAW;YAAC;QAAE;QAC1FN,UAAU;YAAEA;YAAUE;QAAQ;IAChC;AACF;AAQA,OAAO,SAASK;IACd,MAAMC,SAAS,IAAIC;IACnB,OAAO;QACLC,QAAOC,GAAG,EAAEC,QAAQ;YAClB,IAAIA,aAAaC,WAAW,OAAOL,OAAOM,GAAG,CAACH;YAC9C,IAAIC,SAASX,QAAQ,CAACV,IAAI,KAAK,yBAAyB;gBACtD,MAAMwB,WAAWP,OAAOM,GAAG,CAACH;gBAC5B,IAAII,aAAaF,aAAaE,SAASf,QAAQ,KAAK,MAAM,OAAOe;YACnE;YACAP,OAAOQ,GAAG,CAACL,KAAKC;YAChB,OAAOA;QACT;QACAK,QAAOC,OAAO;YACZ,OAAOV,OAAOM,GAAG,CAACnB,SAASuB,QAAQtB,OAAO,EAAEsB,QAAQrB,QAAQ,IAAII,YAAYX;QAC9E;QACA6B,MAAKC,QAAQ;YACX,KAAK,MAAMT,OAAO;mBAAIH,OAAOa,IAAI;aAAG,CAAE;gBACpC,IAAI,CAACD,SAASE,IAAI,CAAC,CAAC1B,UAAYe,IAAIY,UAAU,CAAC,GAAG3B,QAAQ,CAAC,CAAC,IAAIY,OAAOgB,MAAM,CAACb;YAChF;QACF;IACF;AACF"}
|
package/dist/read.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import type { BootstrapResult, RefreshResult } from '@agentshouse/mdruntime';
|
|
1
|
+
import type { BootstrapPage, BootstrapResult, RefreshResult } from '@agentshouse/mdruntime';
|
|
2
2
|
import { type TrackedAuthority } from './discovery.js';
|
|
3
|
+
import type { HouseMode } from './transport.js';
|
|
4
|
+
import { type LogPosition } from './version.js';
|
|
3
5
|
export type HouseManifestFile = {
|
|
4
6
|
path: string;
|
|
5
|
-
revision: string;
|
|
7
|
+
revision: string | undefined;
|
|
8
|
+
version: string;
|
|
6
9
|
};
|
|
7
10
|
export type HouseContent = {
|
|
8
11
|
path: string;
|
|
9
12
|
content: string;
|
|
10
13
|
};
|
|
11
|
-
export type HouseScope = {
|
|
12
|
-
scope: 'room' | 'private';
|
|
14
|
+
export type HouseScope = LogPosition & {
|
|
13
15
|
anchor: string;
|
|
14
|
-
roomHandle: string | undefined;
|
|
15
|
-
position: string;
|
|
16
16
|
files: readonly HouseManifestFile[];
|
|
17
17
|
contents: readonly HouseContent[];
|
|
18
18
|
};
|
|
@@ -20,7 +20,10 @@ export type HouseEnvelope = {
|
|
|
20
20
|
scopes: readonly HouseScope[];
|
|
21
21
|
};
|
|
22
22
|
export type HouseGrant = {
|
|
23
|
-
method: 'GET'
|
|
23
|
+
method: 'GET';
|
|
24
|
+
url: string;
|
|
25
|
+
} | {
|
|
26
|
+
method: 'POST';
|
|
24
27
|
operation: string;
|
|
25
28
|
url: string;
|
|
26
29
|
};
|
|
@@ -30,7 +33,8 @@ export type HouseChange = {
|
|
|
30
33
|
} | {
|
|
31
34
|
path: string;
|
|
32
35
|
content: string;
|
|
33
|
-
revision: string;
|
|
36
|
+
revision: string | undefined;
|
|
37
|
+
version: string;
|
|
34
38
|
} | {
|
|
35
39
|
path: string;
|
|
36
40
|
reference: {
|
|
@@ -38,11 +42,10 @@ export type HouseChange = {
|
|
|
38
42
|
};
|
|
39
43
|
};
|
|
40
44
|
export type HouseEnumeration = {
|
|
41
|
-
authorities: readonly {
|
|
45
|
+
authorities: readonly (LogPosition & {
|
|
42
46
|
authority: string;
|
|
43
|
-
position: string;
|
|
44
47
|
changes: readonly HouseChange[];
|
|
45
|
-
}[];
|
|
48
|
+
})[];
|
|
46
49
|
};
|
|
47
50
|
export declare function authorityRoot(handle: string | undefined): string;
|
|
48
51
|
export declare const ROOM_README = "ROOM.md";
|
|
@@ -51,17 +54,19 @@ export declare function contentPrefixes(tracked: TrackedAuthority): readonly str
|
|
|
51
54
|
export declare function modelPrefix(tracked: TrackedAuthority, modelRoot: string): string;
|
|
52
55
|
export declare function parseGrant(body: unknown): HouseGrant | null;
|
|
53
56
|
export declare function parseEnvelope(body: unknown): HouseEnvelope | null;
|
|
54
|
-
export declare function
|
|
57
|
+
export declare function parseSiteBootstrap(body: unknown): HouseScope | null;
|
|
58
|
+
export declare function parseEnumeration(body: unknown, mode: HouseMode): HouseEnumeration | null;
|
|
59
|
+
export declare function advancedScope(scope: HouseScope, view: HouseEnumeration['authorities'][number]): HouseScope;
|
|
55
60
|
export declare function matchesScope(scope: HouseScope, tracked: TrackedAuthority): boolean;
|
|
56
61
|
export declare function withinRoot(path: string, root: string): boolean;
|
|
57
62
|
export declare function selects(tracked: TrackedAuthority, path: string): boolean;
|
|
58
63
|
export declare function bootstrapFrom(envelope: HouseEnvelope, tracked: TrackedAuthority): BootstrapResult;
|
|
64
|
+
export declare function bootstrapOf(scope: HouseScope, tracked: TrackedAuthority): BootstrapPage;
|
|
59
65
|
export type HouseDefinitions = {
|
|
60
66
|
definitions: Readonly<Record<string, string>>;
|
|
61
|
-
|
|
67
|
+
versions: readonly string[];
|
|
62
68
|
};
|
|
63
|
-
export declare const MODEL_DEFINITION_ADDRESS = "types";
|
|
64
|
-
export declare function definitionAddress(path: string): string;
|
|
65
69
|
export declare function definitionsFrom(envelope: HouseEnvelope, tracked: TrackedAuthority, modelRoot: string): HouseDefinitions | null;
|
|
70
|
+
export declare function definitionsOf(scope: HouseScope, modelRoot: string): HouseDefinitions | null;
|
|
66
71
|
export declare function refreshFrom(enumeration: HouseEnumeration, tracked: TrackedAuthority, fromRoomVersion: string): RefreshResult;
|
|
67
72
|
//# 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,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../src/read.ts"],"names":[],"mappings":"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"}
|