@agentshouse/mdruntime-adapter 0.1.0-cb6436097e8a2 → 0.1.0-cb8fc491b1a92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +2 -2
  2. package/dist/actions.d.ts +122 -23
  3. package/dist/actions.d.ts.map +1 -1
  4. package/dist/actions.js +27 -141
  5. package/dist/adapter.d.ts.map +1 -1
  6. package/dist/adapter.js +220 -337
  7. package/dist/app-reference.d.ts +2 -0
  8. package/dist/app-reference.d.ts.map +1 -0
  9. package/dist/app-reference.js +2 -0
  10. package/dist/crockford.d.ts +4 -0
  11. package/dist/crockford.d.ts.map +1 -0
  12. package/dist/crockford.js +3 -0
  13. package/dist/discovery.d.ts +6 -10
  14. package/dist/discovery.d.ts.map +1 -1
  15. package/dist/discovery.js +36 -40
  16. package/dist/house-model.d.ts +2983 -0
  17. package/dist/house-model.d.ts.map +1 -0
  18. package/dist/house-model.js +1643 -0
  19. package/dist/index.d.ts +9 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +8 -1
  22. package/dist/model.d.ts +5 -2
  23. package/dist/model.d.ts.map +1 -1
  24. package/dist/model.js +10 -29
  25. package/dist/part.d.ts +14 -0
  26. package/dist/part.d.ts.map +1 -0
  27. package/dist/part.js +90 -0
  28. package/dist/read.d.ts +46 -63
  29. package/dist/read.d.ts.map +1 -1
  30. package/dist/read.js +216 -283
  31. package/dist/refusal.d.ts +0 -3
  32. package/dist/refusal.d.ts.map +1 -1
  33. package/dist/refusal.js +0 -5
  34. package/dist/room-stream.d.ts +19 -0
  35. package/dist/room-stream.d.ts.map +1 -0
  36. package/dist/room-stream.js +57 -0
  37. package/dist/room-types.d.ts +7 -0
  38. package/dist/room-types.d.ts.map +1 -0
  39. package/dist/room-types.js +126 -0
  40. package/dist/site.d.ts.map +1 -1
  41. package/dist/site.js +80 -179
  42. package/dist/stream.d.ts +4 -14
  43. package/dist/stream.d.ts.map +1 -1
  44. package/dist/stream.js +125 -413
  45. package/dist/transport.d.ts +53 -43
  46. package/dist/transport.d.ts.map +1 -1
  47. package/dist/transport.js +49 -11
  48. package/dist/upload.d.ts +12 -0
  49. package/dist/upload.d.ts.map +1 -0
  50. package/dist/upload.js +63 -0
  51. package/dist/write.d.ts +16 -1
  52. package/dist/write.d.ts.map +1 -1
  53. package/dist/write.js +101 -56
  54. package/package.json +8 -4
  55. package/AGENTS.md +0 -299
  56. package/dist/gather.d.ts +0 -4
  57. package/dist/gather.d.ts.map +0 -1
  58. package/dist/gather.js +0 -45
  59. package/dist/handed.d.ts +0 -15
  60. package/dist/handed.d.ts.map +0 -1
  61. package/dist/handed.js +0 -38
  62. package/dist/referrer.d.ts +0 -7
  63. package/dist/referrer.d.ts.map +0 -1
  64. package/dist/referrer.js +0 -35
@@ -0,0 +1,2 @@
1
+ export declare const APP_REFERENCE_PATTERN: RegExp;
2
+ //# sourceMappingURL=app-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-reference.d.ts","sourceRoot":"","sources":["../src/app-reference.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,QAEjC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { CROCKFORD_CHARACTER } from './crockford.js';
2
+ export const APP_REFERENCE_PATTERN = new RegExp(`^a_(${CROCKFORD_CHARACTER}+)\\.(${CROCKFORD_CHARACTER})$`);
@@ -0,0 +1,4 @@
1
+ export declare const CROCKFORD_ALPHABET = "0123456789abcdefghjkmnpqrstvwxyz";
2
+ export declare const CROCKFORD_CHARACTER = "[0123456789abcdefghjkmnpqrstvwxyz]";
3
+ export declare const CROCKFORD_LEADING_CHARACTER: string;
4
+ //# sourceMappingURL=crockford.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crockford.d.ts","sourceRoot":"","sources":["../src/crockford.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,qCAAqC,CAAC;AAErE,eAAO,MAAM,mBAAmB,uCAA4B,CAAC;AAE7D,eAAO,MAAM,2BAA2B,QAAqC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const CROCKFORD_ALPHABET = '0123456789abcdefghjkmnpqrstvwxyz';
2
+ export const CROCKFORD_CHARACTER = `[${CROCKFORD_ALPHABET}]`;
3
+ export const CROCKFORD_LEADING_CHARACTER = `[${CROCKFORD_ALPHABET.slice(1)}]`;
@@ -16,25 +16,22 @@ export type HouseBounds = {
16
16
  max_held_files: number;
17
17
  change_retention_seconds: number;
18
18
  operation_retention_seconds: number;
19
+ max_move_documents?: number;
19
20
  };
20
21
  export type HouseOperations = {
21
- read: readonly string[];
22
- sync: readonly string[];
23
22
  write: readonly string[];
24
23
  delete: readonly string[];
25
24
  };
26
- export type HouseModel = {
27
- root: string;
28
- paths: readonly string[];
29
- };
25
+ export type HouseAccessLevel = 'search' | 'open' | 'keep';
30
26
  export type HouseAuthority = LogPosition & {
31
27
  roomRef: string;
32
28
  roomHandle: string;
33
29
  name: string;
34
30
  schema: string;
35
- houseModel: HouseModel | null;
31
+ typedSelection: readonly string[] | null;
36
32
  managedReplication: 'admitted' | 'unavailable';
37
33
  protectedPaths: readonly string[];
34
+ level: HouseAccessLevel;
38
35
  operations: HouseOperations;
39
36
  };
40
37
  export type HouseDiscoveryDocument = {
@@ -48,8 +45,7 @@ export type TrackedAuthority = LogPosition & {
48
45
  authority: string;
49
46
  handle: string;
50
47
  schema: string;
51
- houseModel: HouseModel | null;
52
- schemas: readonly string[];
48
+ typedSelection: readonly string[] | null;
53
49
  };
54
50
  export type HouseSiteAuthority = LogPosition & {
55
51
  roomRef: string;
@@ -66,7 +62,7 @@ export declare function siteTracked(document: HouseSiteDiscovery): TrackedAuthor
66
62
  export declare function trackedFrom(document: HouseDiscoveryDocument): TrackedAuthority[];
67
63
  export declare function providerLimits(bounds: HouseBounds): readonly ProviderLimit[];
68
64
  export declare function declaredRetention(bounds: HouseBounds): Retention;
69
- export declare function capabilities(document: HouseDiscoveryDocument): readonly Capability[];
65
+ export declare function capabilities(actions: HouseDiscoveryDocument['actions']): readonly Capability[];
70
66
  export declare function siteCapabilities(): readonly Capability[];
71
67
  export declare function discoveredRoom(authority: HouseAuthority): DiscoveredRoom;
72
68
  export declare function mapDiscovery(document: Pick<HouseDiscoveryDocument, 'bounds'>, rooms: readonly DiscoveredRoom[], declared: readonly Capability[]): Discovery;
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
package/dist/discovery.js CHANGED
@@ -1,4 +1,4 @@
1
- import { declaredActions, houseConversationAgents, SITE_SUBMIT } from './actions.js';
1
+ import { declaredActions, SITE_SUBMIT } from './actions.js';
2
2
  import { readPosition, roomVersion } from './version.js';
3
3
  export const PROVIDER_ACTIONS = 'provider-actions';
4
4
  export const DISCOVER_PREFIXES = ['/'];
@@ -17,7 +17,8 @@ const BOUND_KEYS = [
17
17
  'change_retention_seconds',
18
18
  'operation_retention_seconds',
19
19
  ];
20
- const OPERATION_KEYS = ['read', 'sync', 'write', 'delete'];
20
+ const OPERATION_KEYS = ['write', 'delete'];
21
+ const ACCESS_LEVELS = ['search', 'open', 'keep'];
21
22
  function stringList(value) {
22
23
  if (!Array.isArray(value))
23
24
  return null;
@@ -34,18 +35,18 @@ function parseBounds(value) {
34
35
  return null;
35
36
  bounds[key] = amount;
36
37
  }
38
+ const moves = held.max_move_documents;
39
+ if (moves !== undefined) {
40
+ if (typeof moves !== 'number' || !Number.isFinite(moves))
41
+ return null;
42
+ bounds.max_move_documents = moves;
43
+ }
37
44
  return bounds;
38
45
  }
39
- function parseHouseModel(value) {
46
+ function parseTypedSelection(value) {
40
47
  if (value === undefined)
41
48
  return null;
42
- if (typeof value !== 'object' || value === null)
43
- return undefined;
44
- const held = value;
45
- const paths = stringList(held.paths);
46
- if (typeof held.root !== 'string' || held.root.length === 0 || paths === null)
47
- return undefined;
48
- return { root: held.root, paths };
49
+ return stringList(value) ?? undefined;
49
50
  }
50
51
  function parseMember(value) {
51
52
  if (typeof value !== 'object' || value === null)
@@ -82,10 +83,15 @@ function parseAuthority(value) {
82
83
  return null;
83
84
  }
84
85
  const at = readPosition(held);
85
- const houseModel = parseHouseModel(held.house_model);
86
+ const typedSelection = parseTypedSelection(held.typed_selection);
86
87
  const protectedPaths = stringList(held.protected_paths);
87
88
  const operations = parseOperations(held.operations);
88
- if (at === null || houseModel === undefined || protectedPaths === null || operations === null)
89
+ const level = ACCESS_LEVELS.find((one) => one === held.level);
90
+ if (at === null ||
91
+ typedSelection === undefined ||
92
+ protectedPaths === null ||
93
+ level === undefined ||
94
+ operations === null)
89
95
  return null;
90
96
  if (typeof held.room_ref !== 'string' || held.room_ref.length === 0)
91
97
  return null;
@@ -96,9 +102,10 @@ function parseAuthority(value) {
96
102
  roomHandle: held.room_handle,
97
103
  name: held.name,
98
104
  schema: held.model_root,
99
- houseModel,
105
+ typedSelection,
100
106
  managedReplication: held.managed_replication,
101
107
  protectedPaths,
108
+ level,
102
109
  operations,
103
110
  ...at,
104
111
  };
@@ -175,25 +182,18 @@ export function siteTracked(document) {
175
182
  authority: authority.roomRef,
176
183
  handle: authority.roomHandle,
177
184
  schema: authority.schema,
178
- houseModel: null,
179
- schemas: [authority.schema],
185
+ typedSelection: null,
180
186
  position: authority.position,
181
187
  logEpoch: authority.logEpoch,
182
188
  }));
183
189
  }
184
- function schemasOf(authority) {
185
- return authority.houseModel === null
186
- ? [authority.schema]
187
- : [authority.schema, authority.houseModel.root];
188
- }
189
190
  export function trackedFrom(document) {
190
191
  return document.authorities.map((authority) => ({
191
192
  locator: authority.roomRef,
192
193
  authority: authority.roomRef,
193
194
  handle: authority.roomHandle,
194
195
  schema: authority.schema,
195
- houseModel: authority.houseModel,
196
- schemas: schemasOf(authority),
196
+ typedSelection: authority.typedSelection,
197
197
  position: authority.position,
198
198
  logEpoch: authority.logEpoch,
199
199
  }));
@@ -205,8 +205,11 @@ export function providerLimits(bounds) {
205
205
  { name: 'change-documents', value: bounds.max_batch_documents },
206
206
  { name: 'path-length', value: bounds.max_path_length },
207
207
  { name: 'path-depth', value: bounds.max_path_depth },
208
+ ...(bounds.max_move_documents === undefined
209
+ ? []
210
+ : [{ name: 'move-documents', value: bounds.max_move_documents }]),
208
211
  { name: 'write-rate' },
209
- { name: 'content-ceiling' },
212
+ { name: 'storage-limit' },
210
213
  ];
211
214
  }
212
215
  export function declaredRetention(bounds) {
@@ -216,17 +219,8 @@ export function declaredRetention(bounds) {
216
219
  refreshHorizon: bounds.change_retention_seconds,
217
220
  };
218
221
  }
219
- export function capabilities(document) {
220
- const house = document.authorities.find((authority) => authority.houseModel !== null);
221
- return [
222
- {
223
- name: PROVIDER_ACTIONS,
224
- actions: declaredActions(document.actions),
225
- ...(house === undefined
226
- ? {}
227
- : { conversationAgents: houseConversationAgents(house.roomRef) }),
228
- },
229
- ];
222
+ export function capabilities(actions) {
223
+ return [{ name: PROVIDER_ACTIONS, actions: declaredActions(actions) }];
230
224
  }
231
225
  export function siteCapabilities() {
232
226
  return [
@@ -244,16 +238,18 @@ export function discoveredRoom(authority) {
244
238
  handle: authority.roomHandle,
245
239
  roomVersion: roomVersion(authority),
246
240
  operations: {
247
- read: [...authority.operations.read],
248
- sync: [...authority.operations.sync],
249
241
  write: [...authority.operations.write],
250
242
  delete: [...authority.operations.delete],
251
243
  },
252
- replica: { selection: locator, admission: authority.managedReplication },
253
- ...(authority.houseModel === null
244
+ replica: {
245
+ selection: locator,
246
+ admission: authority.managedReplication,
247
+ offline: authority.level === 'open' ? 'locked' : 'open',
248
+ },
249
+ ...(authority.typedSelection === null
254
250
  ? {}
255
- : { typedSelection: { roots: [...authority.houseModel.paths] } }),
256
- providerOwnedPaths: [...authority.protectedPaths, ...schemasOf(authority)],
251
+ : { typedSelection: { roots: [...authority.typedSelection] } }),
252
+ providerOwnedPaths: [...authority.protectedPaths, authority.schema],
257
253
  };
258
254
  }
259
255
  export function mapDiscovery(document, rooms, declared) {