@agentshouse/mdruntime 0.1.0-c0ffc146f48dd → 0.1.0-c112fd663ab59

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 (289) hide show
  1. package/README.md +10 -10
  2. package/dist/acceptance.d.ts +6 -0
  3. package/dist/acceptance.d.ts.map +1 -0
  4. package/dist/acceptance.js +385 -0
  5. package/dist/actions.d.ts +20 -0
  6. package/dist/actions.d.ts.map +1 -0
  7. package/dist/actions.js +251 -0
  8. package/dist/adapter.d.ts +45 -25
  9. package/dist/adapter.d.ts.map +1 -1
  10. package/dist/attached-model.d.ts +3 -10
  11. package/dist/attached-model.d.ts.map +1 -1
  12. package/dist/attached-model.js +21 -56
  13. package/dist/bootstrap.d.ts +8 -4
  14. package/dist/bootstrap.d.ts.map +1 -1
  15. package/dist/bootstrap.js +210 -78
  16. package/dist/cell.d.ts +6 -0
  17. package/dist/cell.d.ts.map +1 -0
  18. package/dist/cell.js +9 -0
  19. package/dist/chain.d.ts +2 -1
  20. package/dist/chain.d.ts.map +1 -1
  21. package/dist/change.d.ts +1 -0
  22. package/dist/change.d.ts.map +1 -1
  23. package/dist/change.js +4 -2
  24. package/dist/chat-types.d.ts +5 -0
  25. package/dist/chat-types.d.ts.map +1 -0
  26. package/dist/chat-types.js +13 -0
  27. package/dist/client.d.ts +22 -5
  28. package/dist/client.d.ts.map +1 -1
  29. package/dist/client.js +7 -2
  30. package/dist/collection.d.ts +2 -1
  31. package/dist/collection.d.ts.map +1 -1
  32. package/dist/compile.d.ts +6 -6
  33. package/dist/compile.d.ts.map +1 -1
  34. package/dist/compile.js +240 -315
  35. package/dist/connection.d.ts +5 -142
  36. package/dist/connection.d.ts.map +1 -1
  37. package/dist/connection.js +103 -5071
  38. package/dist/context.d.ts +2 -0
  39. package/dist/context.d.ts.map +1 -0
  40. package/dist/context.js +7 -0
  41. package/dist/conversation-live.d.ts +136 -0
  42. package/dist/conversation-live.d.ts.map +1 -0
  43. package/dist/conversation-live.js +248 -0
  44. package/dist/conversation-row.d.ts +33 -0
  45. package/dist/conversation-row.d.ts.map +1 -0
  46. package/dist/conversation-row.js +53 -0
  47. package/dist/conversation.d.ts +34 -38
  48. package/dist/conversation.d.ts.map +1 -1
  49. package/dist/conversation.js +861 -850
  50. package/dist/discovery.d.ts +10 -0
  51. package/dist/discovery.d.ts.map +1 -0
  52. package/dist/discovery.js +175 -0
  53. package/dist/durability.d.ts +15 -0
  54. package/dist/durability.d.ts.map +1 -1
  55. package/dist/entry.d.ts +2 -2
  56. package/dist/entry.d.ts.map +1 -1
  57. package/dist/entry.js +17 -7
  58. package/dist/expectation.d.ts +4 -2
  59. package/dist/expectation.d.ts.map +1 -1
  60. package/dist/expectation.js +33 -11
  61. package/dist/failure.d.ts +1 -0
  62. package/dist/failure.d.ts.map +1 -1
  63. package/dist/failure.js +3 -0
  64. package/dist/figures.d.ts +49 -0
  65. package/dist/figures.d.ts.map +1 -0
  66. package/dist/figures.js +197 -0
  67. package/dist/holdings.d.ts +29 -0
  68. package/dist/holdings.d.ts.map +1 -0
  69. package/dist/holdings.js +95 -0
  70. package/dist/host.d.ts +4 -5
  71. package/dist/host.d.ts.map +1 -1
  72. package/dist/host.js +23 -22
  73. package/dist/identity.d.ts +0 -1
  74. package/dist/identity.d.ts.map +1 -1
  75. package/dist/identity.js +0 -3
  76. package/dist/index.d.ts +25 -8
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +7 -1
  79. package/dist/install.d.ts +56 -0
  80. package/dist/install.d.ts.map +1 -0
  81. package/dist/install.js +556 -0
  82. package/dist/job.d.ts +33 -0
  83. package/dist/job.d.ts.map +1 -0
  84. package/dist/job.js +54 -0
  85. package/dist/lifecycle.d.ts +7 -0
  86. package/dist/lifecycle.d.ts.map +1 -0
  87. package/dist/lifecycle.js +270 -0
  88. package/dist/listing.d.ts +53 -0
  89. package/dist/listing.d.ts.map +1 -0
  90. package/dist/listing.js +176 -0
  91. package/dist/live.d.ts +5 -4
  92. package/dist/live.d.ts.map +1 -1
  93. package/dist/live.js +63 -21
  94. package/dist/locks.d.ts +9 -0
  95. package/dist/locks.d.ts.map +1 -0
  96. package/dist/locks.js +62 -0
  97. package/dist/log.d.ts +1 -0
  98. package/dist/log.d.ts.map +1 -1
  99. package/dist/lost.d.ts +5 -0
  100. package/dist/lost.d.ts.map +1 -0
  101. package/dist/lost.js +61 -0
  102. package/dist/media.d.ts +1 -1
  103. package/dist/media.d.ts.map +1 -1
  104. package/dist/media.js +3 -3
  105. package/dist/memory.d.ts +5 -1
  106. package/dist/memory.d.ts.map +1 -1
  107. package/dist/memory.js +50 -10
  108. package/dist/messages.d.ts +27 -3
  109. package/dist/messages.d.ts.map +1 -1
  110. package/dist/messages.js +103 -31
  111. package/dist/model.d.ts +2 -9
  112. package/dist/model.d.ts.map +1 -1
  113. package/dist/model.js +0 -9
  114. package/dist/models.d.ts +14 -0
  115. package/dist/models.d.ts.map +1 -0
  116. package/dist/models.js +197 -0
  117. package/dist/observation.d.ts +2 -2
  118. package/dist/observation.d.ts.map +1 -1
  119. package/dist/observation.js +14 -14
  120. package/dist/opened.js +3 -3
  121. package/dist/opening.d.ts +4 -0
  122. package/dist/opening.d.ts.map +1 -0
  123. package/dist/opening.js +60 -0
  124. package/dist/outcome.d.ts +4 -1
  125. package/dist/outcome.d.ts.map +1 -1
  126. package/dist/outcome.js +3 -0
  127. package/dist/overlay.d.ts +1 -0
  128. package/dist/overlay.d.ts.map +1 -1
  129. package/dist/overlay.js +11 -0
  130. package/dist/parts.d.ts +60 -0
  131. package/dist/parts.d.ts.map +1 -0
  132. package/dist/parts.js +126 -0
  133. package/dist/paths.d.ts +1 -0
  134. package/dist/paths.d.ts.map +1 -1
  135. package/dist/paths.js +22 -0
  136. package/dist/preparation.d.ts +20 -0
  137. package/dist/preparation.d.ts.map +1 -0
  138. package/dist/preparation.js +233 -0
  139. package/dist/queries.d.ts +16 -0
  140. package/dist/queries.d.ts.map +1 -0
  141. package/dist/queries.js +272 -0
  142. package/dist/query.d.ts +13 -209
  143. package/dist/query.d.ts.map +1 -1
  144. package/dist/query.js +3 -505
  145. package/dist/questions.d.ts +34 -0
  146. package/dist/questions.d.ts.map +1 -0
  147. package/dist/questions.js +122 -0
  148. package/dist/reach.d.ts +14 -12
  149. package/dist/reach.d.ts.map +1 -1
  150. package/dist/reach.js +167 -114
  151. package/dist/react.d.ts +13 -2
  152. package/dist/react.d.ts.map +1 -1
  153. package/dist/react.js +10 -1
  154. package/dist/read.d.ts +7 -0
  155. package/dist/read.d.ts.map +1 -0
  156. package/dist/read.js +17 -0
  157. package/dist/readiness.d.ts +0 -3
  158. package/dist/readiness.d.ts.map +1 -1
  159. package/dist/reads.d.ts +37 -0
  160. package/dist/reads.d.ts.map +1 -0
  161. package/dist/reads.js +174 -0
  162. package/dist/recovery.d.ts.map +1 -1
  163. package/dist/recovery.js +9 -1
  164. package/dist/refresh.d.ts +1 -1
  165. package/dist/refresh.d.ts.map +1 -1
  166. package/dist/refresh.js +7 -0
  167. package/dist/refusal.d.ts +5 -0
  168. package/dist/refusal.d.ts.map +1 -0
  169. package/dist/refusal.js +57 -0
  170. package/dist/replica.d.ts +9 -8
  171. package/dist/replica.d.ts.map +1 -1
  172. package/dist/replica.js +53 -17
  173. package/dist/room-draft.d.ts +3 -4
  174. package/dist/room-draft.d.ts.map +1 -1
  175. package/dist/room-draft.js +7 -7
  176. package/dist/room-drafts.d.ts +24 -0
  177. package/dist/room-drafts.d.ts.map +1 -0
  178. package/dist/room-drafts.js +217 -0
  179. package/dist/rows.d.ts +14 -21
  180. package/dist/rows.d.ts.map +1 -1
  181. package/dist/rows.js +48 -184
  182. package/dist/runtime.d.ts +43 -0
  183. package/dist/runtime.d.ts.map +1 -0
  184. package/dist/runtime.js +1 -0
  185. package/dist/save.d.ts +5 -1
  186. package/dist/save.d.ts.map +1 -1
  187. package/dist/save.js +34 -21
  188. package/dist/saves.d.ts +70 -0
  189. package/dist/saves.d.ts.map +1 -0
  190. package/dist/saves.js +1005 -0
  191. package/dist/search.d.ts +12 -63
  192. package/dist/search.d.ts.map +1 -1
  193. package/dist/search.js +9 -52
  194. package/dist/seed.d.ts +11 -2
  195. package/dist/seed.d.ts.map +1 -1
  196. package/dist/seed.js +71 -1
  197. package/dist/shared.d.ts +1 -6
  198. package/dist/shared.d.ts.map +1 -1
  199. package/dist/shared.js +13 -95
  200. package/dist/shown.d.ts +31 -0
  201. package/dist/shown.d.ts.map +1 -0
  202. package/dist/shown.js +290 -0
  203. package/dist/socket/admission.d.ts +7 -0
  204. package/dist/socket/admission.d.ts.map +1 -0
  205. package/dist/socket/admission.js +39 -0
  206. package/dist/socket/answers.d.ts +6 -0
  207. package/dist/socket/answers.d.ts.map +1 -0
  208. package/dist/socket/answers.js +20 -0
  209. package/dist/socket/lanes.d.ts +20 -0
  210. package/dist/socket/lanes.d.ts.map +1 -0
  211. package/dist/socket/lanes.js +77 -0
  212. package/dist/socket/reads.d.ts +10 -0
  213. package/dist/socket/reads.d.ts.map +1 -0
  214. package/dist/socket/reads.js +31 -0
  215. package/dist/socket/rooms.d.ts +44 -0
  216. package/dist/socket/rooms.d.ts.map +1 -0
  217. package/dist/socket/rooms.js +90 -0
  218. package/dist/socket/session.d.ts +38 -0
  219. package/dist/socket/session.d.ts.map +1 -0
  220. package/dist/socket/session.js +23 -0
  221. package/dist/socket.d.ts +70 -0
  222. package/dist/socket.d.ts.map +1 -0
  223. package/dist/socket.js +175 -0
  224. package/dist/source.d.ts +61 -0
  225. package/dist/source.d.ts.map +1 -0
  226. package/dist/source.js +82 -0
  227. package/dist/status.d.ts +0 -2
  228. package/dist/status.d.ts.map +1 -1
  229. package/dist/status.js +0 -6
  230. package/dist/store/fences.d.ts +16 -0
  231. package/dist/store/fences.d.ts.map +1 -0
  232. package/dist/store/fences.js +26 -0
  233. package/dist/store/installs.d.ts +30 -0
  234. package/dist/store/installs.d.ts.map +1 -0
  235. package/dist/store/installs.js +34 -0
  236. package/dist/store/readiness.d.ts +10 -0
  237. package/dist/store/readiness.d.ts.map +1 -0
  238. package/dist/store/readiness.js +52 -0
  239. package/dist/store/records.d.ts +212 -0
  240. package/dist/store/records.d.ts.map +1 -0
  241. package/dist/store/records.js +431 -0
  242. package/dist/store/room-held.d.ts +8 -0
  243. package/dist/store/room-held.d.ts.map +1 -0
  244. package/dist/store/room-held.js +17 -0
  245. package/dist/store/space.d.ts +11 -0
  246. package/dist/store/space.d.ts.map +1 -0
  247. package/dist/store/space.js +41 -0
  248. package/dist/store/watchers.d.ts +17 -0
  249. package/dist/store/watchers.d.ts.map +1 -0
  250. package/dist/store/watchers.js +56 -0
  251. package/dist/store/writes.d.ts +24 -0
  252. package/dist/store/writes.d.ts.map +1 -0
  253. package/dist/store/writes.js +125 -0
  254. package/dist/store.d.ts +107 -145
  255. package/dist/store.d.ts.map +1 -1
  256. package/dist/store.js +143 -366
  257. package/dist/stored.d.ts +59 -33
  258. package/dist/stored.d.ts.map +1 -1
  259. package/dist/stored.js +278 -189
  260. package/dist/surface.d.ts +88 -0
  261. package/dist/surface.d.ts.map +1 -0
  262. package/dist/surface.js +224 -0
  263. package/dist/sync.d.ts +19 -0
  264. package/dist/sync.d.ts.map +1 -0
  265. package/dist/sync.js +532 -0
  266. package/dist/tables.d.ts +120 -29
  267. package/dist/tables.d.ts.map +1 -1
  268. package/dist/tables.js +216 -54
  269. package/dist/tallies.d.ts +18 -0
  270. package/dist/tallies.d.ts.map +1 -0
  271. package/dist/tallies.js +129 -0
  272. package/dist/validation.d.ts.map +1 -1
  273. package/dist/validation.js +7 -4
  274. package/dist/windows.d.ts +1 -12
  275. package/dist/windows.d.ts.map +1 -1
  276. package/dist/windows.js +2 -75
  277. package/dist/wire.d.ts +16 -1
  278. package/dist/wire.d.ts.map +1 -1
  279. package/dist/wire.js +6 -0
  280. package/package.json +2 -2
  281. package/dist/fence.d.ts +0 -6
  282. package/dist/fence.d.ts.map +0 -1
  283. package/dist/fence.js +0 -10
  284. package/dist/fulltext.d.ts +0 -27
  285. package/dist/fulltext.d.ts.map +0 -1
  286. package/dist/fulltext.js +0 -370
  287. package/dist/words.d.ts +0 -19
  288. package/dist/words.d.ts.map +0 -1
  289. package/dist/words.js +0 -156
@@ -0,0 +1,197 @@
1
+ import { instantKey } from '@agentshouse/mdmodel';
2
+ export const HOUSE_DIRECTORY = 'house';
3
+ export const ROOM_TOTALS = {
4
+ outside: [HOUSE_DIRECTORY],
5
+ groupBy: ['room'],
6
+ select: { size: true },
7
+ };
8
+ // Today's Last 24 hours is the day that ends as the read answers.
9
+ export const FIGURES_DAY_MS = 86_400_000;
10
+ // An install or a catch-up commits many times a second, so the figures answer again once changes rest this long, never per commit.
11
+ const SETTLED_MS = 1_000;
12
+ // Changes that never rest, such as an Agent writing all afternoon, still reach the figures this long after the first of them.
13
+ const LONGEST_UNSETTLED_MS = 5_000;
14
+ function dayOf(tally, since) {
15
+ const after = (at) => at !== null && at >= since;
16
+ return {
17
+ created: tally.documentTimes.filter(([created]) => after(created)).length,
18
+ changed: tally.documentTimes.filter(([created, changed]) => !after(created) && after(changed))
19
+ .length,
20
+ chats: tally.chatTimes.filter(after).length,
21
+ messages: tally.messageTimes.filter(after).length,
22
+ };
23
+ }
24
+ function figuresOf(rooms, held, since) {
25
+ return {
26
+ rooms: rooms.map(({ locator }) => {
27
+ const tally = held.rooms.get(locator);
28
+ return {
29
+ room: locator,
30
+ day: dayOf(tally, since),
31
+ total: { documents: tally.documents, files: tally.files },
32
+ };
33
+ }),
34
+ agentMessages: [...held.said.values()].reduce((sum, said) => sum + said.filter((at) => at >= since).length, 0),
35
+ };
36
+ }
37
+ function unheld() {
38
+ return {
39
+ rooms: new Map(),
40
+ said: new Map(),
41
+ staleRooms: new Set(),
42
+ staleConversations: new Set(),
43
+ everyConversation: true,
44
+ };
45
+ }
46
+ export function createFigures(sources) {
47
+ const listeners = new Map();
48
+ const answered = new Set();
49
+ let held = unheld();
50
+ let shown = null;
51
+ let running = false;
52
+ let again = false;
53
+ let quiet = null;
54
+ let longest = null;
55
+ let closed = false;
56
+ function unscheduled() {
57
+ if (quiet !== null)
58
+ clearTimeout(quiet);
59
+ if (longest !== null)
60
+ clearTimeout(longest);
61
+ quiet = null;
62
+ longest = null;
63
+ }
64
+ function deliver(answer) {
65
+ const text = JSON.stringify(answer);
66
+ const changed = text !== shown;
67
+ shown = text;
68
+ for (const listener of listeners.keys()) {
69
+ if (changed || !answered.has(listener))
70
+ listener(structuredClone(answer));
71
+ answered.add(listener);
72
+ }
73
+ }
74
+ async function tallied(rooms, since) {
75
+ for (const locator of held.rooms.keys()) {
76
+ if (!rooms.some((room) => room.locator === locator))
77
+ held.rooms.delete(locator);
78
+ }
79
+ const asked = rooms.filter(({ locator, key }) => held.staleRooms.has(locator) || held.rooms.get(locator)?.key !== key);
80
+ for (const { locator } of asked)
81
+ held.staleRooms.delete(locator);
82
+ const every = held.everyConversation;
83
+ const conversations = every ? null : [...held.staleConversations];
84
+ held.everyConversation = false;
85
+ held.staleConversations.clear();
86
+ const kept = held;
87
+ const [roomTallies, said] = await Promise.all([
88
+ asked.length === 0 ? [] : sources.rooms(asked, since),
89
+ conversations?.length === 0 ? [] : sources.conversations(conversations, since),
90
+ ]);
91
+ if (kept !== held)
92
+ return false;
93
+ for (const tally of roomTallies) {
94
+ const room = asked.find(({ key }) => key === tally.key);
95
+ if (room !== undefined)
96
+ held.rooms.set(room.locator, tally);
97
+ }
98
+ if (every)
99
+ held.said.clear();
100
+ for (const { conversation, said: times } of said) {
101
+ if (times.length === 0)
102
+ held.said.delete(conversation);
103
+ else
104
+ held.said.set(conversation, times);
105
+ }
106
+ return true;
107
+ }
108
+ async function answer() {
109
+ const window = new Date(Date.now() - FIGURES_DAY_MS).toISOString();
110
+ const cover = await sources.cover();
111
+ if ('pending' in cover)
112
+ return cover;
113
+ if (!(await tallied(cover.rooms, window)))
114
+ return null;
115
+ return figuresOf(cover.rooms, held, instantKey(window));
116
+ }
117
+ async function run() {
118
+ if (running) {
119
+ again = true;
120
+ return;
121
+ }
122
+ running = true;
123
+ try {
124
+ do {
125
+ again = false;
126
+ const result = await answer();
127
+ if (closed || listeners.size === 0)
128
+ return;
129
+ if (result === null)
130
+ again = true;
131
+ else
132
+ deliver(result);
133
+ } while (again && !closed && listeners.size > 0);
134
+ }
135
+ catch (error) {
136
+ for (const [listener, failed] of listeners) {
137
+ if (!answered.has(listener))
138
+ failed(error);
139
+ }
140
+ }
141
+ finally {
142
+ running = false;
143
+ }
144
+ }
145
+ function stop(listener) {
146
+ return () => {
147
+ listeners.delete(listener);
148
+ answered.delete(listener);
149
+ if (listeners.size > 0)
150
+ return;
151
+ unscheduled();
152
+ held = unheld();
153
+ shown = null;
154
+ };
155
+ }
156
+ function settle() {
157
+ if (closed || listeners.size === 0)
158
+ return;
159
+ const now = () => {
160
+ unscheduled();
161
+ void run();
162
+ };
163
+ if (quiet !== null)
164
+ clearTimeout(quiet);
165
+ quiet = setTimeout(now, SETTLED_MS);
166
+ longest ??= setTimeout(now, LONGEST_UNSETTLED_MS);
167
+ }
168
+ return {
169
+ watch(listener, failed) {
170
+ listeners.set(listener, failed);
171
+ void run();
172
+ return stop(listener);
173
+ },
174
+ touched(set) {
175
+ if (listeners.size === 0)
176
+ return;
177
+ for (const { locator } of set.documents)
178
+ held.staleRooms.add(locator);
179
+ for (const locator of set.rooms)
180
+ held.staleRooms.add(locator);
181
+ for (const conversation of set.conversations)
182
+ held.staleConversations.add(conversation);
183
+ if (set.documents.length + set.rooms.length + set.conversations.length > 0)
184
+ settle();
185
+ },
186
+ recover() {
187
+ if (listeners.size > 0)
188
+ settle();
189
+ },
190
+ close() {
191
+ closed = true;
192
+ unscheduled();
193
+ listeners.clear();
194
+ answered.clear();
195
+ },
196
+ };
197
+ }
@@ -0,0 +1,29 @@
1
+ import type { AppCode } from './durability.js';
2
+ import type { GroupTotal, PendingResult } from './query.js';
3
+ import type { Deliver, Fail } from './reach.js';
4
+ import type { Runtime } from './runtime.js';
5
+ import type { OpenedRoom } from './tables.js';
6
+ export type RoomDocuments = {
7
+ readonly room: string;
8
+ readonly documents: GroupTotal;
9
+ };
10
+ export type HeldApp = ({
11
+ readonly app: string;
12
+ readonly state: 'measured';
13
+ } & AppCode) | {
14
+ readonly app: string;
15
+ readonly state: 'asking' | 'unknown';
16
+ };
17
+ export type Holdings = {
18
+ readonly rooms: readonly RoomDocuments[] | PendingResult;
19
+ readonly opened: GroupTotal & {
20
+ readonly rooms: readonly OpenedRoom[];
21
+ };
22
+ readonly apps: readonly HeldApp[];
23
+ readonly house: number | null;
24
+ readonly total: number | null;
25
+ readonly cleanUp: number | null;
26
+ };
27
+ export declare const CLEANED_TOPIC = "cleaned";
28
+ export declare function watchHoldings({ store, figures, shell }: Runtime, deliver: Deliver, fail: Fail): () => void;
29
+ //# sourceMappingURL=holdings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holdings.d.ts","sourceRoot":"","sources":["../src/holdings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAA;CAAE,CAAC;AAEtF,MAAM,MAAM,OAAO,GACf,CAAC;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG,OAAO,CAAC,GAChE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,aAAa,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,CAAC;IACxE,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAIF,eAAO,MAAM,aAAa,YAAY,CAAC;AA6CvC,wBAAgB,aAAa,CAC3B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAClC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,GACT,MAAM,IAAI,CA4DZ"}
@@ -0,0 +1,95 @@
1
+ const NO_CODE = { house: 0, apps: [] };
2
+ export const CLEANED_TOPIC = 'cleaned';
3
+ function heldRooms(figures) {
4
+ if ('pending' in figures)
5
+ return figures;
6
+ return figures.rooms.map(({ room, total }) => ({ room, documents: total.documents }));
7
+ }
8
+ function heldApp(app, measured) {
9
+ if (!measured.has(app))
10
+ return { app, state: 'asking' };
11
+ const code = measured.get(app) ?? null;
12
+ return code === null ? { app, state: 'unknown' } : { app, state: 'measured', ...code };
13
+ }
14
+ function summed(values) {
15
+ return values.reduce((sum, value) => sum + value, 0);
16
+ }
17
+ function holdingsOf(rooms, opened, code, measured) {
18
+ const apps = code.apps.map((app) => heldApp(app, measured));
19
+ const known = apps.flatMap((app) => (app.state === 'measured' ? [app] : []));
20
+ const whole = known.length === apps.length;
21
+ const files = {
22
+ count: summed(opened.rooms.map(({ count }) => count)),
23
+ size: summed(opened.rooms.map(({ size }) => size)),
24
+ };
25
+ const documents = 'pending' in rooms ? null : summed(rooms.map(({ documents: d }) => d.size));
26
+ const older = whole ? summed(known.map((app) => app.older)) : null;
27
+ return {
28
+ rooms,
29
+ opened: { ...files, rooms: opened.rooms },
30
+ apps,
31
+ house: code.house,
32
+ total: documents === null || code.house === null || older === null
33
+ ? null
34
+ : documents + files.size + summed(known.map((app) => app.running)) + older + code.house,
35
+ cleanUp: older === null ? null : opened.cleanable + older,
36
+ };
37
+ }
38
+ export function watchHoldings({ store, figures, shell }, deliver, fail) {
39
+ let open = true;
40
+ let asked = 0;
41
+ let rooms = null;
42
+ let opened = null;
43
+ let code = null;
44
+ let measured = new Map();
45
+ function told() {
46
+ if (open && rooms !== null && opened !== null && code !== null) {
47
+ deliver(holdingsOf(rooms, opened, code, measured));
48
+ }
49
+ }
50
+ function failed(error) {
51
+ if (!open)
52
+ return;
53
+ stop();
54
+ fail(error);
55
+ }
56
+ function ask() {
57
+ asked += 1;
58
+ const at = asked;
59
+ const current = () => open && at === asked;
60
+ opened = null;
61
+ code = null;
62
+ measured = new Map();
63
+ store.ask({ kind: 'opened.held' }).then((held) => {
64
+ if (!current())
65
+ return;
66
+ opened = held;
67
+ told();
68
+ }, failed);
69
+ const answers = measured;
70
+ const measuring = shell.measure?.((app, answer) => {
71
+ if (!current())
72
+ return;
73
+ answers.set(app, answer);
74
+ told();
75
+ }) ?? Promise.resolve(NO_CODE);
76
+ measuring.then((held) => {
77
+ if (!current())
78
+ return;
79
+ code = held;
80
+ told();
81
+ }, failed);
82
+ }
83
+ const stopFigures = figures.watch((answer) => {
84
+ rooms = heldRooms(answer);
85
+ told();
86
+ }, failed);
87
+ const cleaned = store.watch(CLEANED_TOPIC, ask);
88
+ function stop() {
89
+ open = false;
90
+ stopFigures();
91
+ cleaned.stop();
92
+ }
93
+ ask();
94
+ return stop;
95
+ }
package/dist/host.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type MdRuntimeOptions } from './connection.js';
2
2
  import type { PortReach } from './reach.js';
3
- import type { CodeAvailability, Persistence, Readiness, SearchObligation, Space } from './readiness.js';
3
+ import type { CodeAvailability, Persistence, Readiness } from './readiness.js';
4
4
  import type { EntrySeed } from './seed.js';
5
5
  import { type RuntimePort } from './wire.js';
6
6
  export type MdRuntimeHostOptions = MdRuntimeOptions & {
@@ -11,11 +11,10 @@ export type AttachedPort = {
11
11
  narrow(reach: PortReach): void;
12
12
  readiness(deliver: (readiness: Readiness) => void): () => void;
13
13
  answered(queries: readonly unknown[], done: () => void): void;
14
- code(code: CodeAvailability, space: Space | null): void;
15
- search(search: SearchObligation): void;
16
14
  };
17
15
  export type MdRuntimeHost = {
18
- attach(port: RuntimePort, app: string, release?: string, reach?: PortReach, code?: CodeAvailability, search?: SearchObligation): AttachedPort;
16
+ attach(port: RuntimePort, app: string, release?: string, reach?: PortReach, code?: CodeAvailability): AttachedPort;
17
+ present(app: string, members: Readonly<Record<string, unknown>>): Promise<void>;
19
18
  seed(entry: EntrySeed): void;
20
19
  persisted(answer: Persistence): void;
21
20
  endAuthorization(holder?: string): Promise<void>;
@@ -24,7 +23,7 @@ export type MdRuntimeHost = {
24
23
  export declare function serveMdRuntime(options: MdRuntimeHostOptions): MdRuntimeHost;
25
24
  export { entrySeedOf, type EntrySeed } from './seed.js';
26
25
  export type { PortReach, ReachedDocument } from './reach.js';
27
- export type { CodeAvailability, Persistence, SearchObligation, Space } from './readiness.js';
26
+ export type { CodeAvailability, Persistence, Space } from './readiness.js';
28
27
  export { createRecovery, retryDelay, type Attempt, type Attempted, type AttemptOptions, type Recovery, type RecoveryOptions, } from './recovery.js';
29
28
  export type { RuntimePort } from './wire.js';
30
29
  //# sourceMappingURL=host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EAItB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,KAAK,EACN,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAGL,KAAK,WAAW,EAOjB,MAAM,WAAW,CAAC;AAInB,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC9D,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IACxD,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CACJ,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,IAAI,CAAC,EAAE,gBAAgB,EACvB,MAAM,CAAC,EAAE,gBAAgB,GACxB,YAAY,CAAC;IAChB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAAC;AAoIF,wBAAgB,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAoL3E;AAED,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EACL,cAAc,EACd,UAAU,EACV,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAIxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,EAGL,KAAK,WAAW,EAOjB,MAAM,WAAW,CAAC;AAInB,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CACJ,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,IAAI,CAAC,EAAE,gBAAgB,GACtB,YAAY,CAAC;IAChB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAAC;AAsIF,wBAAgB,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAuL3E;AAED,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,UAAU,EACV,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
package/dist/host.js CHANGED
@@ -1,7 +1,8 @@
1
- import { composeRuntime, } from './connection.js';
2
- import { queryKey } from './query.js';
1
+ import { queryKey } from '@agentshouse/mdmodel';
2
+ import { composeRuntime } from './connection.js';
3
3
  import { untilAnswered } from './recovery.js';
4
4
  import { described } from './failure.js';
5
+ import { answeredResult } from './outcome.js';
5
6
  import { AUTHORIZATION_ENDED, request, WIRE, } from './wire.js';
6
7
  const NARROWED = new Set(['within', 'whole']);
7
8
  function answered(md, app, writtenBy, member, input) {
@@ -40,6 +41,12 @@ function answered(md, app, writtenBy, member, input) {
40
41
  return md.log();
41
42
  case 'cleanUp':
42
43
  return md.cleanUp();
44
+ case 'unsent':
45
+ return md.unsent();
46
+ case 'reset':
47
+ return md.reset();
48
+ case 'readAgain':
49
+ return md.readAgain();
43
50
  case 'persistence':
44
51
  return md.persistence();
45
52
  case 'retry':
@@ -92,9 +99,6 @@ function attempted(work) {
92
99
  return Promise.reject(error);
93
100
  }
94
101
  }
95
- function answeredResult(value) {
96
- return typeof value === 'object' && value !== null && !('pending' in value);
97
- }
98
102
  function answeredMessage(value) {
99
103
  if (typeof value !== 'object' || value === null)
100
104
  return false;
@@ -119,12 +123,11 @@ export function serveMdRuntime(options) {
119
123
  deliver(structuredClone(deploymentFacts));
120
124
  return () => { };
121
125
  };
122
- function attach(port, app, release, reach, code = 'stored', search = 'unused') {
126
+ function attach(port, app, release, reach, code = 'stored') {
123
127
  if (!authorized)
124
128
  throw new Error(AUTHORIZATION_ENDED);
125
129
  const writtenBy = release === undefined ? undefined : { app, release };
126
- let facts = { target: app, code, space: null, search };
127
- const view = runtime.within(reach ?? null, facts);
130
+ const view = runtime.within(reach ?? null, { target: app, code });
128
131
  const observations = new Map();
129
132
  const followed = new Set();
130
133
  const answeredKeys = new Set();
@@ -162,9 +165,16 @@ export function serveMdRuntime(options) {
162
165
  if (topic === 'query' && answeredMessage(value))
163
166
  answeredQuery(input[0]);
164
167
  };
168
+ const fail = (error) => {
169
+ if (!serving || resolved)
170
+ return;
171
+ observations.get(id)?.();
172
+ observations.delete(id);
173
+ send({ kind: 'failure', id, ...described(error) });
174
+ };
165
175
  observations.set(id, topic === 'deployment-facts'
166
176
  ? watchFacts(deliver)
167
- : (NARROWED.has(WIRE.topics[topic]) ? view : runtime).watch(topic, topic === 'presentation' ? [app] : input, deliver));
177
+ : (NARROWED.has(WIRE.topics[topic]) ? view : runtime).watch(topic, topic === 'presentation' ? [app] : input, deliver, fail));
168
178
  };
169
179
  const reply = async (id, query, pending) => {
170
180
  try {
@@ -225,18 +235,6 @@ export function serveMdRuntime(options) {
225
235
  if (serving)
226
236
  view.narrow(next);
227
237
  },
228
- code(next, space) {
229
- if (!serving)
230
- return;
231
- facts = { ...facts, code: next, space };
232
- view.facts(facts);
233
- },
234
- search(next) {
235
- if (!serving)
236
- return;
237
- facts = { ...facts, search: next };
238
- view.facts(facts);
239
- },
240
238
  answered(queries, done) {
241
239
  const keys = queries.map(queryKey);
242
240
  if (keys.every((key) => answeredKeys.has(key)))
@@ -250,7 +248,7 @@ export function serveMdRuntime(options) {
250
248
  const stop = view.watch('readiness', [], (value) => {
251
249
  if (serving)
252
250
  deliver(value);
253
- });
251
+ }, () => { });
254
252
  const end = () => {
255
253
  followed.delete(end);
256
254
  stop();
@@ -262,6 +260,9 @@ export function serveMdRuntime(options) {
262
260
  }
263
261
  return {
264
262
  attach,
263
+ present(app, members) {
264
+ return md.presentation.edit(app, members);
265
+ },
265
266
  seed(entry) {
266
267
  runtime.seed(entry);
267
268
  },
@@ -1,5 +1,4 @@
1
1
  export declare function changeBatchIdentity(at?: number): string;
2
- export declare function identityTime(identity: string): number;
3
2
  export declare function roomDraftRevision(): string;
4
3
  export declare function chatDraftRevision(): string;
5
4
  export declare function transferIdentity(): string;
@@ -1 +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;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAQD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,EAAE,GAAE,MAAmB,GAAG,MAAM,CAWnE;AAQD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
package/dist/identity.js CHANGED
@@ -10,9 +10,6 @@ export function changeBatchIdentity(at = Date.now()) {
10
10
  const hex = [...bytes].map((byte) => byte.toString(16).padStart(2, '0')).join('');
11
11
  return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
12
12
  }
13
- export function identityTime(identity) {
14
- return Number.parseInt(identity.replaceAll('-', '').slice(0, 12), 16);
15
- }
16
13
  function randomIdentity() {
17
14
  const bytes = new Uint8Array(16);
18
15
  crypto.getRandomValues(bytes);
package/dist/index.d.ts CHANGED
@@ -1,28 +1,45 @@
1
- export type { AcceptedMessage, AcceptedRoom, ActionDeclaration, ActionRequest, ActionResult, Adapter, AdapterFailure, AttachRequest, AttachResult, AuthorityChange, Authorization, BinaryFile, BinaryLinkResult, BinaryRequest, BinaryResult, BootstrapPage, BootstrapRequest, BootstrapResult, Capability, ChangeAuthor, ContractUnavailable, ConversationAction, ConversationEvent, ConversationHistories, ConversationHistoryPage, ConversationHistoryRequest, ConversationMessage, ConversationStream, DiscoverResult, DiscoveredRoom, Discovery, HistoryAuthor, HistoryRequest, HistoryResult, HistoryRetention, HistoryRevision, HeldContent, HeldFile, HeldRoom, ListedAgent, ListedConversation, MdModelIdentity, Member, MutationRequest, MutationResult, PageToken, ProviderLimit, ProviderRefusal, RefreshPage, RefreshRequest, RefreshResult, Retention, RetryableRefusal, RevokedAuthorization, RoomChange, RoomModels, RoomNotReadable, RoomStream, RoomStreamEvent, RoomVersionAt, ServiceMode, ServiceModeSignal, TransportUncertainty, TurnContext, TurnOperation, TypedSelection, } from './adapter.js';
1
+ export type { AcceptedMessage, AcceptedRoom, ActionDeclaration, ActionRequest, ActionResult, Adapter, AdapterFailure, AttachRequest, AttachResult, AuthorityChange, Authorization, BinaryFile, BinaryLinkResult, BinaryRequest, BinaryResult, BootstrapPage, BootstrapRequest, BootstrapResult, Capability, ChangeAuthor, ContractUnavailable, ConversationAction, ConversationEvent, ConversationHistories, ConversationHistoryPage, ConversationHistoryRequest, ConversationMessage, ConversationStream, DiscoverResult, DiscoveredRoom, Discovery, SavedFacts, HistoryAuthor, HistoryRequest, HistoryResult, HistoryRetention, HistoryRevision, BootstrapPart, NotReady, HeldRoom, ListedAgent, ListedConversation, MdModelIdentity, Member, MutationRequest, MutationResult, PageToken, ProviderLimit, ProviderRefusal, RefreshPage, RefreshRequest, RefreshResult, Retention, RetryableRefusal, RevokedAuthorization, RoomChange, RoomModels, RoomNotReadable, RoomStream, RoomStreamEvent, RoomVersionAt, SearchAnswer, SearchAsk, ServiceMode, ServiceModeSignal, TransportUncertainty, TurnContext, TurnOperation, TypedPath, TypedSelection, } from './adapter.js';
2
2
  export type { Change, ChangeBatch, Precondition, RoomMove, WrittenBy } from './change.js';
3
- export type { ChatDraft, ChatDraftSurface, ConversationAgent, ConversationAnswer, ConversationEntry, ConversationOptions, ConversationState, ConversationSurface, ConversationView, RunningTurn, } from './conversation.js';
4
- export type { AppRoom, AppTypedSelection, BinaryFileSurface, ConnectionRefusal, ConnectionRefusalCode, HistoryQuery, MdRuntime, MdRuntimeOptions, PresentationSurface, RoomDraftSurface, RoomSchemas, SavedParts, SavedRoomDraft, SaveResult, } from './connection.js';
3
+ export { heldFacts } from './conversation-row.js';
4
+ export type { ConversationAsk, ConversationHeld, ConversationLast, ConversationStart, } from './conversation-row.js';
5
+ export type { ChatDraft, ChatDraftSurface, ConversationAgent, ConversationAnswer, ConversationEntry, ConversationOptions, ConversationRead, ConversationState, ConversationSurface, ConversationView, RunningTurn, } from './conversation.js';
6
+ export type { MdRuntimeOptions } from './connection.js';
7
+ export type { HistoryQuery } from './actions.js';
8
+ export type { AppRoom, AppTypedSelection } from './listing.js';
9
+ export type { ConnectionRefusal, ConnectionRefusalCode } from './socket.js';
10
+ export type { MdRuntime, RoomSchemas } from './surface.js';
11
+ export type { BinaryFileSurface, SavedParts, SavedRoomDraft, SaveResult } from './saves.js';
5
12
  export type { Observation } from './observation.js';
13
+ export type { DayFigures, Figures, FiguresResult, RoomFigures } from './figures.js';
14
+ export type { HeldApp, Holdings, RoomDocuments } from './holdings.js';
15
+ export type { PresentationSurface, RoomDraftSurface } from './room-drafts.js';
6
16
  export type { AttachAnswer, BinaryAnswer, BinaryLinkAnswer, CallResult, DownloadAnswer, Failure, HistoryAnswer, Offline, QueueEntry, Resolution, Submission, } from './outcome.js';
7
17
  export type { BinaryFileRecord } from './binary.js';
8
18
  export type { RuntimeError } from './failure.js';
9
19
  export type { ChangedPart, FieldValue, ReturnReason, RoomDraft, RoomDraftCreation, RoomDraftParts, RoomDraftWrite, TextParts, } from './room-draft.js';
10
20
  export type { SaveRefusal } from './save.js';
11
- export type { DocumentHit, DocumentPart, MessageHit, MessagePart, SearchCoverage, SearchHits, SearchPending, SearchRequest, SearchResult, SearchUndeclared, Snippet, } from './search.js';
21
+ export type { SearchFound, SearchHit, SearchRequest, SearchResult } from './search.js';
22
+ export { CHAT_MESSAGE_TYPE, CHAT_TYPE, keptFile, keptLines } from './chat-types.js';
23
+ export { FIGURES_DAY_MS } from './figures.js';
12
24
  export { departure } from './change.js';
13
- export { partsAfter, partsChanges } from './room-draft.js';
25
+ export { lineEnded, partsAfter, partsChanges } from './room-draft.js';
14
26
  export { cutName, nameFrom, transliterated } from './name.js';
15
27
  export { HISTORY_CONVERSATIONS, SESSION_STARTED } from './conversation.js';
28
+ export { contextFigure } from './context.js';
29
+ export { jobsRunning, openJobs, sessionEnded, type OpenJob, type RunningJob } from './job.js';
16
30
  export { changeBatchIdentity } from './identity.js';
17
31
  export { paced, ROW_WEIGHT, stepped } from './turn.js';
32
+ export { authoredAt } from './paths.js';
18
33
  export { untilAnswered } from './recovery.js';
19
34
  export { entriesIn, patching, sortedKeys } from './shared.js';
20
35
  export { attempts, identities, intentOf, type Answered, type Attempt, type Attempts, type Identities, } from './attempt.js';
21
36
  export { expectedList, expecting, type ExpectedOf, type Expecting } from './expectation.js';
22
- export type { RuntimeShell } from './durability.js';
23
- export type { CodeAvailability, ConnectionAvailability, ConversationCoverage, Durability, HouseOutcome, Installation, InstallationAmount, InstallationStep, Persistence, Readiness, ReadinessStatus, RoomCoverage, RoomPreparation, SearchObligation, Space, TargetCoverage, } from './readiness.js';
37
+ export type { AppCode, HeldCode, RuntimeShell, UnsentKind, UnsentWork } from './durability.js';
38
+ export type { CodeAvailability, ConnectionAvailability, ConversationCoverage, Durability, HouseOutcome, Installation, InstallationAmount, InstallationStep, Persistence, Readiness, ReadinessStatus, RoomCoverage, RoomPreparation, Space, TargetCoverage, } from './readiness.js';
39
+ export type { ObservedRead } from './reads.js';
24
40
  export type { AttentionEntry, SyncStatus } from './status.js';
25
- export type { Awaits, Backlink, CoveredRoom, Direction, DocumentQuery, DocumentResult, Filter, GroupQuery, GroupResult, Key, LocalQuery, OrderOptions, PendingResult, PendingRoom, Predicate, QueryCoverage, QueryDocument, QueryGroup, QueryResult, QueryRows, Related, Select, Value, Where, } from './query.js';
41
+ export type { Direction, DocumentQuery, Filter, GroupKey, GroupOrder, GroupQuery, GroupSelect, Key, LocalQuery, OrderOptions, Predicate, Related, Select, Value, Where, } from '@agentshouse/mdmodel';
42
+ export type { Awaits, Backlink, CoveredRoom, DocumentResult, GroupResult, GroupTotal, PendingResult, PendingRoom, QueryCoverage, QueryDocument, QueryGroup, QueryResult, QueryRows, } from './query.js';
26
43
  export type { MdType, ModelIdentity, ModelSnapshot, ModelState, ModelResult, TypesResult, ValidationReceipt, } from './model.js';
27
44
  export type { OperationScopes, ReplicaAdmission, ScopedRefusal } from './adapter.js';
28
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,9 +1,15 @@
1
+ export { heldFacts } from './conversation-row.js';
2
+ export { CHAT_MESSAGE_TYPE, CHAT_TYPE, keptFile, keptLines } from './chat-types.js';
3
+ export { FIGURES_DAY_MS } from './figures.js';
1
4
  export { departure } from './change.js';
2
- export { partsAfter, partsChanges } from './room-draft.js';
5
+ export { lineEnded, partsAfter, partsChanges } from './room-draft.js';
3
6
  export { cutName, nameFrom, transliterated } from './name.js';
4
7
  export { HISTORY_CONVERSATIONS, SESSION_STARTED } from './conversation.js';
8
+ export { contextFigure } from './context.js';
9
+ export { jobsRunning, openJobs, sessionEnded } from './job.js';
5
10
  export { changeBatchIdentity } from './identity.js';
6
11
  export { paced, ROW_WEIGHT, stepped } from './turn.js';
12
+ export { authoredAt } from './paths.js';
7
13
  export { untilAnswered } from './recovery.js';
8
14
  export { entriesIn, patching, sortedKeys } from './shared.js';
9
15
  export { attempts, identities, intentOf, } from './attempt.js';
@@ -0,0 +1,56 @@
1
+ import type { AdapterFailure, Authorization, DiscoveredRoom, NotReady, RetryableRefusal } from './adapter.js';
2
+ import { type Reads } from './bootstrap.js';
3
+ import type { Installation, RoomCoverage } from './readiness.js';
4
+ import { advancement, type Refresher } from './refresh.js';
5
+ import type { ReplicaRecord } from './replica.js';
6
+ import type { Runtime } from './runtime.js';
7
+ import type { Live } from './socket.js';
8
+ import { type CoveredRoom, type InstallHold, type RuntimeStore, type Store } from './store.js';
9
+ import { type Unconfirmed } from './transfer.js';
10
+ type Standing = {
11
+ readonly key: number | null;
12
+ readonly confirmed: number;
13
+ };
14
+ export type Unheld = {
15
+ readonly staged: boolean;
16
+ };
17
+ export type Withheld = AdapterFailure | RetryableRefusal | NotReady | Unconfirmed;
18
+ type Landing = {
19
+ readonly kind: 'refreshed';
20
+ readonly from: Standing;
21
+ readonly remodelled: boolean;
22
+ } | {
23
+ readonly kind: 'bootstrapped';
24
+ readonly refreshed: boolean;
25
+ readonly from: Standing;
26
+ };
27
+ type Refreshed = {
28
+ kind: 'advanced';
29
+ record: ReplicaRecord;
30
+ from: Standing;
31
+ remodelled: boolean;
32
+ } | Exclude<Awaited<ReturnType<typeof advancement>>, {
33
+ kind: 'advanced';
34
+ }>;
35
+ export declare const ERASE_BATCH = 512;
36
+ export declare function installationOf(store: Store, coverage: readonly RoomCoverage[], held: ReadonlyMap<string, CoveredRoom>): Installation;
37
+ export declare function roomInFlight(store: Store, locator: string): boolean;
38
+ export declare function sweep({ store, socket, journal }: Runtime): void;
39
+ export declare function forgetInstall(store: Store, locator: string): void;
40
+ export declare function caughtUpTo(runtime: Runtime, locator: string): void;
41
+ export declare function catching(store: Store, locator: string): void;
42
+ export declare function confirmedAgain(store: Store, locator: string): void;
43
+ export declare function standingAt(store: Store, locator: string, held: Pick<ReplicaRecord, 'key'> | undefined): Standing;
44
+ export declare function showing(system: Runtime, locator: string, roomVersion: string, held: string | undefined): void;
45
+ export declare function olderThan(system: Runtime, locator: string, roomVersion: string, held: string | undefined): boolean;
46
+ export declare function replaced(store: Store, locators: readonly string[]): void;
47
+ export declare function reachedBy({ store, socket }: Runtime, locator: string, roomVersion: string): Promise<boolean>;
48
+ export declare function behind({ store, socket }: Runtime, room: DiscoveredRoom): Promise<boolean>;
49
+ export declare function writtenAfter({ store, socket }: Runtime, locator: string, roomVersion: string, path: string): Promise<boolean>;
50
+ export declare function pullRefresh(runtime: Runtime, authorized: Authorization, record: ReplicaRecord, liveness: Live, hold: InstallHold, refresh: Refresher): Promise<Refreshed>;
51
+ export declare function pullBootstrap(runtime: Runtime, authorized: Authorization, room: DiscoveredRoom, local: RuntimeStore, liveness: Live, prior: ReplicaRecord | undefined, from?: Reads, unheld?: Unheld): Promise<import("./bootstrap.js").Bootstrapped | NotReady | import("./adapter.js").RevokedAuthorization | import("./adapter.js").RoomNotReadable | Unconfirmed | {
52
+ readonly kind: 'transport-uncertainty';
53
+ } | RetryableRefusal | import("./adapter.js").ScopedRefusal>;
54
+ export declare function publish(runtime: Runtime, local: RuntimeStore, room: DiscoveredRoom, reached: ReplicaRecord, landing: Landing, live: Live): Promise<boolean>;
55
+ export {};
56
+ //# sourceMappingURL=install.d.ts.map