@agentshouse/mdruntime 0.1.0-cb95ca2c884cf → 0.1.0-cba3c6127c178

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 (230) hide show
  1. package/README.md +19 -16
  2. package/dist/adapter.d.ts +149 -57
  3. package/dist/adapter.d.ts.map +1 -1
  4. package/dist/attached-model.d.ts +7 -10
  5. package/dist/attached-model.d.ts.map +1 -1
  6. package/dist/attached-model.js +40 -41
  7. package/dist/attempt.d.ts.map +1 -1
  8. package/dist/attempt.js +14 -1
  9. package/dist/binary.d.ts +0 -5
  10. package/dist/binary.d.ts.map +1 -1
  11. package/dist/binary.js +1 -1
  12. package/dist/bootstrap.d.ts +31 -11
  13. package/dist/bootstrap.d.ts.map +1 -1
  14. package/dist/bootstrap.js +323 -89
  15. package/dist/chain.d.ts +12 -0
  16. package/dist/chain.d.ts.map +1 -0
  17. package/dist/chain.js +64 -0
  18. package/dist/change-set.d.ts +9 -14
  19. package/dist/change-set.d.ts.map +1 -1
  20. package/dist/change-set.js +11 -63
  21. package/dist/change.d.ts +31 -1
  22. package/dist/change.d.ts.map +1 -1
  23. package/dist/change.js +10 -1
  24. package/dist/client.d.ts +32 -16
  25. package/dist/client.d.ts.map +1 -1
  26. package/dist/client.js +100 -12
  27. package/dist/collection.d.ts +11 -7
  28. package/dist/collection.d.ts.map +1 -1
  29. package/dist/collection.js +38 -79
  30. package/dist/compile.d.ts +11 -0
  31. package/dist/compile.d.ts.map +1 -0
  32. package/dist/compile.js +586 -0
  33. package/dist/connection.d.ts +47 -17
  34. package/dist/connection.d.ts.map +1 -1
  35. package/dist/connection.js +3695 -982
  36. package/dist/context.d.ts +2 -0
  37. package/dist/context.d.ts.map +1 -0
  38. package/dist/{chat/context.js → context.js} +1 -4
  39. package/dist/conversation.d.ts +39 -17
  40. package/dist/conversation.d.ts.map +1 -1
  41. package/dist/conversation.js +691 -259
  42. package/dist/digest.d.ts +7 -0
  43. package/dist/digest.d.ts.map +1 -0
  44. package/dist/digest.js +113 -0
  45. package/dist/durability.d.ts +10 -1
  46. package/dist/durability.d.ts.map +1 -1
  47. package/dist/durability.js +5 -0
  48. package/dist/entry.d.ts +20 -0
  49. package/dist/entry.d.ts.map +1 -0
  50. package/dist/entry.js +160 -0
  51. package/dist/fence.d.ts +6 -0
  52. package/dist/fence.d.ts.map +1 -0
  53. package/dist/fence.js +10 -0
  54. package/dist/file.d.ts +2 -19
  55. package/dist/file.d.ts.map +1 -1
  56. package/dist/file.js +7 -122
  57. package/dist/host.d.ts +11 -3
  58. package/dist/host.d.ts.map +1 -1
  59. package/dist/host.js +126 -19
  60. package/dist/index.d.ts +20 -11
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +8 -0
  63. package/dist/job.d.ts +14 -0
  64. package/dist/job.d.ts.map +1 -0
  65. package/dist/job.js +28 -0
  66. package/dist/live.d.ts +23 -0
  67. package/dist/live.d.ts.map +1 -0
  68. package/dist/live.js +127 -0
  69. package/dist/media.d.ts +8 -0
  70. package/dist/media.d.ts.map +1 -0
  71. package/dist/media.js +218 -0
  72. package/dist/memory.d.ts +18 -5
  73. package/dist/memory.d.ts.map +1 -1
  74. package/dist/memory.js +246 -94
  75. package/dist/messages.d.ts +28 -0
  76. package/dist/messages.d.ts.map +1 -0
  77. package/dist/messages.js +89 -0
  78. package/dist/model.d.ts +11 -9
  79. package/dist/model.d.ts.map +1 -1
  80. package/dist/model.js +8 -5
  81. package/dist/name.d.ts +4 -0
  82. package/dist/name.d.ts.map +1 -0
  83. package/dist/name.js +122 -0
  84. package/dist/observation.d.ts +22 -4
  85. package/dist/observation.d.ts.map +1 -1
  86. package/dist/observation.js +120 -14
  87. package/dist/opened.d.ts +22 -0
  88. package/dist/opened.d.ts.map +1 -0
  89. package/dist/opened.js +107 -0
  90. package/dist/outcome.d.ts +49 -7
  91. package/dist/outcome.d.ts.map +1 -1
  92. package/dist/outcome.js +40 -0
  93. package/dist/overlay.d.ts +3 -4
  94. package/dist/overlay.d.ts.map +1 -1
  95. package/dist/overlay.js +100 -182
  96. package/dist/paths.d.ts +1 -0
  97. package/dist/paths.d.ts.map +1 -1
  98. package/dist/paths.js +4 -0
  99. package/dist/query.d.ts +40 -183
  100. package/dist/query.d.ts.map +1 -1
  101. package/dist/query.js +3 -464
  102. package/dist/reach.d.ts +18 -6
  103. package/dist/reach.d.ts.map +1 -1
  104. package/dist/reach.js +223 -80
  105. package/dist/react.d.ts +10 -6
  106. package/dist/react.d.ts.map +1 -1
  107. package/dist/react.js +7 -17
  108. package/dist/readiness.d.ts +50 -0
  109. package/dist/readiness.d.ts.map +1 -0
  110. package/dist/readiness.js +27 -0
  111. package/dist/recovery.d.ts +26 -0
  112. package/dist/recovery.d.ts.map +1 -0
  113. package/dist/recovery.js +224 -0
  114. package/dist/refresh.d.ts +17 -14
  115. package/dist/refresh.d.ts.map +1 -1
  116. package/dist/refresh.js +139 -51
  117. package/dist/replica.d.ts +58 -33
  118. package/dist/replica.d.ts.map +1 -1
  119. package/dist/replica.js +315 -154
  120. package/dist/room-draft.d.ts +37 -6
  121. package/dist/room-draft.d.ts.map +1 -1
  122. package/dist/room-draft.js +161 -74
  123. package/dist/rows.d.ts +30 -37
  124. package/dist/rows.d.ts.map +1 -1
  125. package/dist/rows.js +59 -126
  126. package/dist/save.d.ts +52 -9
  127. package/dist/save.d.ts.map +1 -1
  128. package/dist/save.js +543 -173
  129. package/dist/search.d.ts +15 -55
  130. package/dist/search.d.ts.map +1 -1
  131. package/dist/search.js +10 -121
  132. package/dist/seed.d.ts +16 -0
  133. package/dist/seed.d.ts.map +1 -0
  134. package/dist/seed.js +75 -0
  135. package/dist/shared.d.ts +15 -0
  136. package/dist/shared.d.ts.map +1 -0
  137. package/dist/shared.js +421 -0
  138. package/dist/status.d.ts +5 -0
  139. package/dist/status.d.ts.map +1 -1
  140. package/dist/status.js +3 -1
  141. package/dist/store.d.ts +104 -76
  142. package/dist/store.d.ts.map +1 -1
  143. package/dist/store.js +327 -442
  144. package/dist/stored.d.ts +138 -0
  145. package/dist/stored.d.ts.map +1 -0
  146. package/dist/stored.js +576 -0
  147. package/dist/tables.d.ts +326 -0
  148. package/dist/tables.d.ts.map +1 -0
  149. package/dist/tables.js +587 -0
  150. package/dist/transfer.d.ts +0 -5
  151. package/dist/transfer.d.ts.map +1 -1
  152. package/dist/turn.d.ts +9 -0
  153. package/dist/turn.d.ts.map +1 -0
  154. package/dist/turn.js +75 -0
  155. package/dist/validation.d.ts +29 -0
  156. package/dist/validation.d.ts.map +1 -0
  157. package/dist/validation.js +104 -0
  158. package/dist/windows.d.ts +11 -0
  159. package/dist/windows.d.ts.map +1 -0
  160. package/dist/windows.js +16 -0
  161. package/dist/wire.d.ts +173 -32
  162. package/dist/wire.d.ts.map +1 -1
  163. package/dist/wire.js +58 -31
  164. package/package.json +22 -19
  165. package/AGENTS.md +0 -299
  166. package/dist/chat/acts.d.ts +0 -34
  167. package/dist/chat/acts.d.ts.map +0 -1
  168. package/dist/chat/acts.js +0 -36
  169. package/dist/chat/context.d.ts +0 -3
  170. package/dist/chat/context.d.ts.map +0 -1
  171. package/dist/chat/input.d.ts +0 -9
  172. package/dist/chat/input.d.ts.map +0 -1
  173. package/dist/chat/input.js +0 -99
  174. package/dist/chat/kit.d.ts +0 -60
  175. package/dist/chat/kit.d.ts.map +0 -1
  176. package/dist/chat/kit.js +0 -123
  177. package/dist/chat/lasting.d.ts +0 -6
  178. package/dist/chat/lasting.d.ts.map +0 -1
  179. package/dist/chat/lasting.js +0 -19
  180. package/dist/chat/list.d.ts +0 -20
  181. package/dist/chat/list.d.ts.map +0 -1
  182. package/dist/chat/list.js +0 -59
  183. package/dist/chat/markdown.d.ts +0 -19
  184. package/dist/chat/markdown.d.ts.map +0 -1
  185. package/dist/chat/markdown.js +0 -187
  186. package/dist/chat/message.d.ts +0 -6
  187. package/dist/chat/message.d.ts.map +0 -1
  188. package/dist/chat/message.js +0 -192
  189. package/dist/chat/messages.d.ts +0 -21
  190. package/dist/chat/messages.d.ts.map +0 -1
  191. package/dist/chat/messages.js +0 -151
  192. package/dist/chat/name.d.ts +0 -6
  193. package/dist/chat/name.d.ts.map +0 -1
  194. package/dist/chat/name.js +0 -37
  195. package/dist/chat/opened.d.ts +0 -11
  196. package/dist/chat/opened.d.ts.map +0 -1
  197. package/dist/chat/opened.js +0 -17
  198. package/dist/chat/overlay.d.ts +0 -31
  199. package/dist/chat/overlay.d.ts.map +0 -1
  200. package/dist/chat/overlay.js +0 -97
  201. package/dist/chat/parts.d.ts +0 -57
  202. package/dist/chat/parts.d.ts.map +0 -1
  203. package/dist/chat/parts.js +0 -119
  204. package/dist/chat/process.d.ts +0 -20
  205. package/dist/chat/process.d.ts.map +0 -1
  206. package/dist/chat/process.js +0 -32
  207. package/dist/chat/provider.d.ts +0 -63
  208. package/dist/chat/provider.d.ts.map +0 -1
  209. package/dist/chat/provider.js +0 -645
  210. package/dist/chat/question.d.ts +0 -9
  211. package/dist/chat/question.d.ts.map +0 -1
  212. package/dist/chat/question.js +0 -80
  213. package/dist/chat/questions.d.ts +0 -31
  214. package/dist/chat/questions.d.ts.map +0 -1
  215. package/dist/chat/questions.js +0 -111
  216. package/dist/chat/read.d.ts +0 -5
  217. package/dist/chat/read.d.ts.map +0 -1
  218. package/dist/chat/read.js +0 -13
  219. package/dist/chat/ready.d.ts +0 -33
  220. package/dist/chat/ready.d.ts.map +0 -1
  221. package/dist/chat/ready.js +0 -91
  222. package/dist/chat/style.d.ts +0 -4
  223. package/dist/chat/style.d.ts.map +0 -1
  224. package/dist/chat/style.js +0 -302
  225. package/dist/chat.d.ts +0 -14
  226. package/dist/chat.d.ts.map +0 -1
  227. package/dist/chat.js +0 -8
  228. package/dist/read-side.d.ts +0 -18
  229. package/dist/read-side.d.ts.map +0 -1
  230. package/dist/read-side.js +0 -440
@@ -1,8 +1,30 @@
1
- import { parse, validate, VERSION, } from '@agentshouse/mdmodel';
1
+ import { parse, VERSION } from '@agentshouse/mdmodel';
2
2
  import { beneath, normalize } from './paths.js';
3
+ import { hashed } from './observation.js';
4
+ import { sortedKeys } from './shared.js';
3
5
  export const MD_MODEL = { identity: '@agentshouse/mdmodel', version: VERSION };
4
- const NO_TYPES = { types: {} };
5
- function selected(composition, path) {
6
+ const typesPrinted = new WeakMap();
7
+ function typesPrint(model) {
8
+ if (model.status === 'unavailable')
9
+ return '';
10
+ let print = typesPrinted.get(model.types);
11
+ if (print === undefined) {
12
+ print = hashed(JSON.stringify(model.types)).toString(36);
13
+ typesPrinted.set(model.types, print);
14
+ }
15
+ return print;
16
+ }
17
+ export function composedOf(composition) {
18
+ const { model, selection } = composition;
19
+ return {
20
+ composition,
21
+ fingerprint: JSON.stringify([
22
+ typesPrint(model),
23
+ selection === null ? null : [selection.roots, typesPrint(selection.model)],
24
+ ]),
25
+ };
26
+ }
27
+ export function selected(composition, path) {
6
28
  return (composition.selection !== null &&
7
29
  composition.selection.roots.some((root) => beneath(root, path)));
8
30
  }
@@ -11,22 +33,14 @@ export function governing(composition, path) {
11
33
  ? composition.selection.model
12
34
  : composition.model;
13
35
  }
14
- const parsedIn = new WeakMap();
15
- export function collectionOf(text, composition, previous) {
36
+ export function collectionOf(text, composition) {
16
37
  const parsed = new Map();
17
- if (previous !== undefined) {
18
- for (const [path, held] of parsedIn.get(previous) ?? []) {
19
- if (previous.text[path] === text[path])
20
- parsed.set(path, held);
21
- }
22
- }
23
- const collection = {
38
+ return {
24
39
  text,
25
40
  composition,
26
41
  document(path) {
27
- const held = parsed.get(path);
28
- if (held !== undefined)
29
- return held ?? undefined;
42
+ if (parsed.has(path))
43
+ return parsed.get(path) ?? undefined;
30
44
  const content = text[path];
31
45
  if (content === undefined)
32
46
  return undefined;
@@ -35,75 +49,20 @@ export function collectionOf(text, composition, previous) {
35
49
  return read.ok ? read.document : undefined;
36
50
  },
37
51
  };
38
- parsedIn.set(collection, parsed);
39
- return collection;
40
- }
41
- export function passingDocument(collection, path) {
42
- const held = parsedIn.get(collection)?.get(path);
43
- if (held !== undefined)
44
- return held ?? undefined;
45
- const content = collection.text[path];
46
- if (content === undefined)
47
- return undefined;
48
- const read = parse(content, path);
49
- return read.ok ? read.document : undefined;
50
52
  }
51
53
  export function* documentsOf(collection) {
52
- const parsed = parsedIn.get(collection);
53
- for (const path of Object.keys(collection.text).sort()) {
54
- const held = parsed?.get(path);
55
- if (held === null)
56
- continue;
57
- if (held !== undefined) {
58
- yield [path, held];
59
- continue;
54
+ const paths = yield* sortedKeys(collection.text);
55
+ return (function* () {
56
+ for (const path of paths) {
57
+ const document = collection.document(path);
58
+ if (document !== undefined)
59
+ yield [path, document];
60
60
  }
61
- const read = parse(collection.text[path], path);
62
- if (read.ok)
63
- yield [path, read.document];
64
- }
65
- }
66
- export function unreadable(text, previous) {
67
- for (const path of Object.keys(text).sort()) {
68
- if (previous?.[path] === text[path])
69
- continue;
70
- const read = parse(text[path], path);
71
- if (!read.ok)
72
- return { kind: 'refused', refusal: read.refusal };
73
- }
74
- return null;
61
+ })();
75
62
  }
76
63
  export function validRoot(root) {
77
64
  return typeof root === 'string' && normalize(root) === root;
78
65
  }
79
- function validateAgainst(documents, binaryTargets, model) {
80
- if (model.status === 'unavailable') {
81
- const typed = Object.entries(documents).find(([, content]) => {
82
- const parsed = parse(content);
83
- return parsed.ok && parsed.document.type !== undefined && parsed.document.type !== 'any';
84
- });
85
- if (typed !== undefined)
86
- return { verdict: 'refuse', rule: 'model-unavailable', file: typed[0] };
87
- }
88
- return validate(documents, { binaryTargets }, model.status === 'unavailable' ? NO_TYPES : { types: model.types });
89
- }
90
- export function validateCollection(text, binaryTargets, composition) {
91
- const collection = {};
92
- const selection = {};
93
- for (const [path, content] of Object.entries(text)) {
94
- if (selected(composition, path))
95
- selection[path] = content;
96
- else
97
- collection[path] = content;
98
- }
99
- const verdicts = [
100
- validateAgainst(collection, binaryTargets.filter((path) => !selected(composition, path)), composition.model),
101
- ];
102
- if (composition.selection !== null) {
103
- verdicts.push(validateAgainst(selection, binaryTargets.filter((path) => selected(composition, path)), composition.selection.model));
104
- }
105
- const refusals = verdicts.filter((verdict) => verdict.verdict === 'refuse');
106
- if (refusals.length === 0)
107
- return verdicts[0];
108
- return refusals.find((refusal) => refusal.rule !== 'model-unavailable') ?? refusals[0];
66
+ export function available(composition) {
67
+ return composition.model.status !== 'unavailable';
109
68
  }
@@ -0,0 +1,11 @@
1
+ import type { Plan, QueryRows } from './query.js';
2
+ import type { Connection } from './tables.js';
3
+ export type QueryRoom = {
4
+ readonly locator: string;
5
+ readonly key: number;
6
+ };
7
+ export type QueryAnswer = QueryRows & {
8
+ readonly more?: string;
9
+ };
10
+ export declare function answerQuery(connection: Connection, plan: Plan, rooms: readonly QueryRoom[], budget?: number | null): QueryAnswer;
11
+ //# sourceMappingURL=compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,IAAI,EAAuC,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAG1D,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AA+a3E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAkUjE,wBAAgB,WAAW,CACzB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,WAAW,CAUb"}