@agentshouse/mdruntime 0.1.0-cd507e16e5fc0 → 0.1.0-cd71aba4d0215

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 (211) hide show
  1. package/README.md +8 -8
  2. package/dist/acceptance.d.ts +0 -3
  3. package/dist/acceptance.d.ts.map +1 -1
  4. package/dist/acceptance.js +74 -145
  5. package/dist/act-lanes.d.ts +33 -0
  6. package/dist/act-lanes.d.ts.map +1 -0
  7. package/dist/act-lanes.js +177 -0
  8. package/dist/actions.d.ts +7 -2
  9. package/dist/actions.d.ts.map +1 -1
  10. package/dist/actions.js +40 -30
  11. package/dist/adapter.d.ts +27 -45
  12. package/dist/adapter.d.ts.map +1 -1
  13. package/dist/bootstrap.d.ts +1 -1
  14. package/dist/bootstrap.d.ts.map +1 -1
  15. package/dist/bootstrap.js +6 -19
  16. package/dist/change-set.d.ts +4 -0
  17. package/dist/change-set.d.ts.map +1 -1
  18. package/dist/change-set.js +6 -0
  19. package/dist/change.d.ts.map +1 -1
  20. package/dist/change.js +4 -2
  21. package/dist/client.d.ts +7 -12
  22. package/dist/client.d.ts.map +1 -1
  23. package/dist/client.js +29 -14
  24. package/dist/collection.d.ts +22 -4
  25. package/dist/collection.d.ts.map +1 -1
  26. package/dist/collection.js +12 -2
  27. package/dist/compile.d.ts.map +1 -1
  28. package/dist/compile.js +15 -21
  29. package/dist/connection.d.ts.map +1 -1
  30. package/dist/connection.js +26 -16
  31. package/dist/conversation-live.d.ts +8 -6
  32. package/dist/conversation-live.d.ts.map +1 -1
  33. package/dist/conversation-live.js +7 -6
  34. package/dist/conversation.d.ts +23 -10
  35. package/dist/conversation.d.ts.map +1 -1
  36. package/dist/conversation.js +127 -102
  37. package/dist/declaration.d.ts +10 -0
  38. package/dist/declaration.d.ts.map +1 -0
  39. package/dist/declaration.js +24 -0
  40. package/dist/discovery.d.ts.map +1 -1
  41. package/dist/discovery.js +18 -40
  42. package/dist/durability.d.ts +3 -0
  43. package/dist/durability.d.ts.map +1 -1
  44. package/dist/expectation.d.ts +4 -2
  45. package/dist/expectation.d.ts.map +1 -1
  46. package/dist/expectation.js +33 -11
  47. package/dist/failure.d.ts +3 -0
  48. package/dist/failure.d.ts.map +1 -1
  49. package/dist/failure.js +6 -0
  50. package/dist/host.d.ts +17 -2
  51. package/dist/host.d.ts.map +1 -1
  52. package/dist/host.js +39 -9
  53. package/dist/index.d.ts +9 -5
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +7 -3
  56. package/dist/install.d.ts +1 -3
  57. package/dist/install.d.ts.map +1 -1
  58. package/dist/install.js +48 -65
  59. package/dist/lifecycle.d.ts +1 -1
  60. package/dist/lifecycle.d.ts.map +1 -1
  61. package/dist/lifecycle.js +38 -27
  62. package/dist/listing.d.ts +6 -11
  63. package/dist/listing.d.ts.map +1 -1
  64. package/dist/listing.js +25 -62
  65. package/dist/live.d.ts.map +1 -1
  66. package/dist/live.js +3 -3
  67. package/dist/locks.d.ts +2 -4
  68. package/dist/locks.d.ts.map +1 -1
  69. package/dist/locks.js +10 -38
  70. package/dist/lost.d.ts.map +1 -1
  71. package/dist/lost.js +10 -21
  72. package/dist/media.d.ts +1 -1
  73. package/dist/media.d.ts.map +1 -1
  74. package/dist/media.js +4 -4
  75. package/dist/memory.d.ts +4 -2
  76. package/dist/memory.d.ts.map +1 -1
  77. package/dist/memory.js +38 -21
  78. package/dist/messages.d.ts +0 -3
  79. package/dist/messages.d.ts.map +1 -1
  80. package/dist/messages.js +13 -31
  81. package/dist/model.d.ts +0 -1
  82. package/dist/model.d.ts.map +1 -1
  83. package/dist/model.js +0 -5
  84. package/dist/models.d.ts +4 -8
  85. package/dist/models.d.ts.map +1 -1
  86. package/dist/models.js +97 -136
  87. package/dist/observation.d.ts.map +1 -1
  88. package/dist/observation.js +12 -17
  89. package/dist/opened.d.ts +1 -1
  90. package/dist/opened.d.ts.map +1 -1
  91. package/dist/opened.js +5 -5
  92. package/dist/opening.d.ts.map +1 -1
  93. package/dist/opening.js +6 -4
  94. package/dist/outcome.d.ts +3 -0
  95. package/dist/outcome.d.ts.map +1 -1
  96. package/dist/outcome.js +15 -0
  97. package/dist/overlay.d.ts +2 -1
  98. package/dist/overlay.d.ts.map +1 -1
  99. package/dist/overlay.js +32 -21
  100. package/dist/page-metadata.d.ts +8 -0
  101. package/dist/page-metadata.d.ts.map +1 -0
  102. package/dist/page-metadata.js +19 -0
  103. package/dist/parts.d.ts +3 -51
  104. package/dist/parts.d.ts.map +1 -1
  105. package/dist/parts.js +14 -111
  106. package/dist/preparation.d.ts.map +1 -1
  107. package/dist/preparation.js +22 -15
  108. package/dist/presence.d.ts +52 -0
  109. package/dist/presence.d.ts.map +1 -0
  110. package/dist/presence.js +220 -0
  111. package/dist/queries.d.ts +1 -1
  112. package/dist/queries.d.ts.map +1 -1
  113. package/dist/queries.js +5 -7
  114. package/dist/query.d.ts +0 -1
  115. package/dist/query.d.ts.map +1 -1
  116. package/dist/questions.js +1 -1
  117. package/dist/queue.d.ts +40 -0
  118. package/dist/queue.d.ts.map +1 -0
  119. package/dist/queue.js +455 -0
  120. package/dist/reach.d.ts.map +1 -1
  121. package/dist/reach.js +27 -8
  122. package/dist/react.d.ts +11 -0
  123. package/dist/react.d.ts.map +1 -1
  124. package/dist/react.js +15 -1
  125. package/dist/reads.d.ts +3 -1
  126. package/dist/reads.d.ts.map +1 -1
  127. package/dist/reads.js +9 -2
  128. package/dist/recovery.d.ts +3 -1
  129. package/dist/recovery.d.ts.map +1 -1
  130. package/dist/recovery.js +29 -7
  131. package/dist/refresh.js +2 -2
  132. package/dist/refusal.d.ts.map +1 -1
  133. package/dist/refusal.js +5 -4
  134. package/dist/replica.d.ts +5 -11
  135. package/dist/replica.d.ts.map +1 -1
  136. package/dist/replica.js +13 -15
  137. package/dist/retried.d.ts +30 -0
  138. package/dist/retried.d.ts.map +1 -0
  139. package/dist/retried.js +72 -0
  140. package/dist/room-draft.d.ts +4 -6
  141. package/dist/room-draft.d.ts.map +1 -1
  142. package/dist/room-draft.js +36 -52
  143. package/dist/room-drafts.d.ts.map +1 -1
  144. package/dist/room-drafts.js +17 -16
  145. package/dist/rows.d.ts.map +1 -1
  146. package/dist/rows.js +3 -4
  147. package/dist/runtime.d.ts +9 -16
  148. package/dist/runtime.d.ts.map +1 -1
  149. package/dist/save.d.ts +41 -90
  150. package/dist/save.d.ts.map +1 -1
  151. package/dist/save.js +233 -116
  152. package/dist/saves.d.ts +2 -40
  153. package/dist/saves.d.ts.map +1 -1
  154. package/dist/saves.js +107 -702
  155. package/dist/seed.d.ts.map +1 -1
  156. package/dist/seed.js +2 -3
  157. package/dist/shared.d.ts +0 -5
  158. package/dist/shared.d.ts.map +1 -1
  159. package/dist/shared.js +4 -90
  160. package/dist/shown.d.ts +4 -3
  161. package/dist/shown.d.ts.map +1 -1
  162. package/dist/shown.js +26 -31
  163. package/dist/socket/lanes.d.ts +2 -1
  164. package/dist/socket/lanes.d.ts.map +1 -1
  165. package/dist/socket/lanes.js +5 -2
  166. package/dist/socket/session.d.ts +0 -1
  167. package/dist/socket/session.d.ts.map +1 -1
  168. package/dist/socket.d.ts +2 -4
  169. package/dist/socket.d.ts.map +1 -1
  170. package/dist/socket.js +4 -8
  171. package/dist/source.d.ts.map +1 -1
  172. package/dist/source.js +5 -4
  173. package/dist/store/records.d.ts +3 -3
  174. package/dist/store/records.d.ts.map +1 -1
  175. package/dist/store/records.js +4 -5
  176. package/dist/store/space.d.ts +1 -1
  177. package/dist/store/space.d.ts.map +1 -1
  178. package/dist/store/space.js +0 -2
  179. package/dist/store/watchers.js +1 -2
  180. package/dist/store.d.ts +10 -5
  181. package/dist/store.d.ts.map +1 -1
  182. package/dist/store.js +38 -13
  183. package/dist/stored.d.ts +1 -1
  184. package/dist/stored.d.ts.map +1 -1
  185. package/dist/stored.js +6 -6
  186. package/dist/surface.d.ts.map +1 -1
  187. package/dist/surface.js +8 -8
  188. package/dist/sync.d.ts.map +1 -1
  189. package/dist/sync.js +86 -78
  190. package/dist/tables.d.ts +0 -5
  191. package/dist/tables.d.ts.map +1 -1
  192. package/dist/tables.js +8 -11
  193. package/dist/tallies.js +5 -5
  194. package/dist/validation.d.ts.map +1 -1
  195. package/dist/validation.js +2 -2
  196. package/dist/wire.d.ts +40 -4
  197. package/dist/wire.d.ts.map +1 -1
  198. package/dist/wire.js +12 -3
  199. package/package.json +3 -2
  200. package/dist/attempt.d.ts +0 -16
  201. package/dist/attempt.d.ts.map +0 -1
  202. package/dist/attempt.js +0 -70
  203. package/dist/job.d.ts +0 -33
  204. package/dist/job.d.ts.map +0 -1
  205. package/dist/job.js +0 -54
  206. package/dist/socket/rooms.d.ts +0 -44
  207. package/dist/socket/rooms.d.ts.map +0 -1
  208. package/dist/socket/rooms.js +0 -90
  209. package/dist/store/fences.d.ts +0 -16
  210. package/dist/store/fences.d.ts.map +0 -1
  211. package/dist/store/fences.js +0 -26
package/dist/sync.js CHANGED
@@ -1,22 +1,25 @@
1
- import { submitAll, submitLater } from './acceptance.js';
2
1
  import { resendCalls, resendLater } from './actions.js';
3
2
  import { catchUpConversations, reconcileConversations, resendConversations, } from './conversation.js';
3
+ import { declared, sameDeclaration } from './declaration.js';
4
4
  import { applyDiscovery, discoverRooms, malformed, signIn } from './discovery.js';
5
5
  import { behind, caughtUpTo, publish, pullBootstrap, pullRefresh, reachedBy, replaced, standingAt, } from './install.js';
6
- import { heldRooms, listHeld, name, readable } from './listing.js';
7
- import { declaredAsHeld, keepNaming, retainModel, revoked, scoped } from './models.js';
6
+ import { heldRooms, name } from './listing.js';
7
+ import { retainModel, revoked, scoped } from './models.js';
8
+ import { refusalError } from './failure.js';
8
9
  import { refuse } from './refusal.js';
9
- import { emitRooms, moveTo, rest, roomUnreadable, transferring, AUTHORITY_TOPIC } from './shown.js';
10
+ import { emitRooms, moveTo, rest, roomUnreadable, submissionDue, transferring, AUTHORITY_TOPIC, } from './shown.js';
10
11
  import { unconfirmed } from './transfer.js';
11
12
  export const OPENING_LANE = 'opening';
13
+ const FINISHING = 'finishing';
12
14
  async function advance(runtime, room, local, authorized, running, unheld) {
13
- const { store, socket } = runtime;
15
+ const { store, socket, presence } = runtime;
14
16
  const live = () => running() && !store.space.full();
15
17
  if (!live())
16
18
  return unconfirmed;
17
19
  const held = unheld === undefined ? await store.record(room.locator) : undefined;
18
20
  if (socket.streamed && (held !== undefined || !store.installs.of(room.locator).beyondHorizon)) {
19
- socket.rooms.stand(room.locator, { stale: false });
21
+ presence.stood(room.locator, false);
22
+ runtime.retries.succeeded('download', room.locator);
20
23
  await name(runtime, room.locator);
21
24
  return null;
22
25
  }
@@ -27,7 +30,7 @@ async function advance(runtime, room, local, authorized, running, unheld) {
27
30
  return advance(runtime, room, local, authorized, live);
28
31
  if (refreshed !== 'beyond-horizon')
29
32
  return refreshed;
30
- if (socket.rooms.standing(room.locator).reloadDue)
33
+ if (presence.standing(room.locator).reloadDue)
31
34
  return unconfirmed;
32
35
  replaced(store, [room.locator]);
33
36
  }
@@ -45,18 +48,15 @@ async function advance(runtime, room, local, authorized, running, unheld) {
45
48
  : advance(runtime, room, local, authorized, live);
46
49
  }
47
50
  async function refreshedRoom(runtime, room, local, authorized, held, live, hold, refresh) {
48
- const { store, socket } = runtime;
49
- const { rooms } = socket;
51
+ const { store, socket, presence } = runtime;
50
52
  const refreshed = await pullRefresh(runtime, authorized, held, live, hold, refresh);
51
53
  if (!live())
52
54
  return unconfirmed;
53
55
  if (refreshed.kind === 'still-current') {
54
- rooms.stand(room.locator, { stale: false });
55
- if (rooms.standing(room.locator).unreadable) {
56
- rooms.stand(room.locator, { refusal: null });
57
- readable(runtime, room);
56
+ presence.stood(room.locator, false);
57
+ runtime.retries.succeeded('download', room.locator);
58
+ if (presence.readable(room.locator))
58
59
  emitRooms(runtime);
59
- }
60
60
  return null;
61
61
  }
62
62
  if (refreshed.kind === 'advanced') {
@@ -70,7 +70,7 @@ async function refreshedRoom(runtime, room, local, authorized, held, live, hold,
70
70
  const reached = now !== undefined && socket.reads.reached(room.locator, now, refreshed.record.roomVersion);
71
71
  return reached ? null : 'behind';
72
72
  }
73
- await retainModel(runtime, local, room, null);
73
+ await retainModel(runtime, room.locator, declared(room), null);
74
74
  return null;
75
75
  }
76
76
  return refreshed.kind === 'beyond-horizon' ? 'beyond-horizon' : refreshed;
@@ -79,25 +79,29 @@ export function advanced(runtime, room, local, authorized) {
79
79
  return runtime.socket.lanes.inRoom(room.locator, (live) => advance(runtime, room, local, authorized, live));
80
80
  }
81
81
  export async function withhold(runtime, withheld, room, local, progress) {
82
- const { store, socket, journal } = runtime;
83
- const { rooms } = socket;
84
- if (withheld.kind === 'unconfirmed' || store.fences.has(room.locator))
82
+ const { presence, journal } = runtime;
83
+ if (withheld.kind === 'unconfirmed' || presence.lost(room.locator))
85
84
  return;
86
85
  if (withheld.kind === 'not-ready') {
87
86
  progress.complete = false;
88
87
  askAgain(runtime, room.locator);
89
88
  return;
90
89
  }
91
- rooms.stand(room.locator, { stale: true });
90
+ if (withheld.kind === 'transport-uncertainty') {
91
+ runtime.retries.uncertain('download', room.locator, withheld);
92
+ }
93
+ else if (withheld.kind === 'retryable-refusal') {
94
+ runtime.retries.failed('download', room.locator, refusalError(withheld));
95
+ }
92
96
  if (withheld.kind === 'transport-uncertainty' || withheld.kind === 'retryable-refusal') {
93
97
  const reset = withheld.kind === 'retryable-refusal' ? withheld.reset : undefined;
94
- rooms.stand(room.locator, { repairable: { reset } });
98
+ presence.stood(room.locator, true, { reset });
95
99
  repairLater(runtime, room.locator, reset === undefined ? { again: true } : { at: Date.parse(reset) });
96
100
  }
97
101
  else
98
- rooms.stand(room.locator, { repairable: null });
102
+ presence.stood(room.locator, true, null);
99
103
  if (withheld.kind === 'scoped-refusal') {
100
- await scoped(runtime, withheld, room, local);
104
+ await scoped(runtime, withheld, room.locator, declared(room));
101
105
  }
102
106
  else if (withheld.kind === 'transport-uncertainty') {
103
107
  progress.reachable = false;
@@ -106,16 +110,16 @@ export async function withhold(runtime, withheld, room, local, progress) {
106
110
  journal.record(`refusal ${withheld.kind} ${withheld.code}`);
107
111
  }
108
112
  else if (withheld.kind === 'room-not-readable') {
109
- roomUnreadable(runtime, room);
113
+ roomUnreadable(runtime, room.locator);
110
114
  }
111
115
  else if (withheld.kind === 'revoked-authorization') {
112
116
  await refuse(runtime, 'revoked-authorization');
113
117
  }
114
118
  }
115
119
  function askAgain(runtime, locator) {
116
- const { store, socket } = runtime;
117
- socket.rooms.askAgain(locator, () => {
118
- const room = socket.rooms.discovered(locator);
120
+ const { store, socket, presence } = runtime;
121
+ presence.askAgain(locator, () => {
122
+ const room = presence.room(locator);
119
123
  if (socket.closed() ||
120
124
  socket.stopping() ||
121
125
  (socket.streamed && !socket.isOpen()) ||
@@ -128,25 +132,22 @@ function askAgain(runtime, locator) {
128
132
  .then(() => rest(runtime, progress), () => undefined);
129
133
  });
130
134
  }
131
- async function prepareRoom(runtime, room, local, progress, prior) {
135
+ async function prepareRoom(runtime, room, progress, prior) {
132
136
  const { socket, journal } = runtime;
133
137
  const { session } = socket;
134
138
  if (socket.closed() || session.now().authorization === undefined) {
135
139
  progress.complete = false;
136
140
  return false;
137
141
  }
138
- if (prior !== undefined && prior.replica.selection !== room.replica.selection) {
139
- listHeld(runtime, room.locator);
142
+ if (prior !== undefined && prior.declaration.replica.selection !== room.replica.selection) {
140
143
  emitRooms(runtime);
141
144
  journal.record(`selection changed ${room.locator}`);
142
145
  progress.complete = false;
143
146
  return false;
144
147
  }
145
- if (prior !== undefined && !declaredAsHeld(prior, room)) {
146
- await retainModel(runtime, local, room, null);
147
- }
148
- if (prior !== undefined && (prior.name !== room.name || prior.handle !== room.handle)) {
149
- await keepNaming(runtime, local, room);
148
+ const declaration = declared(room);
149
+ if (prior !== undefined && !sameDeclaration(prior.declaration, declaration)) {
150
+ await retainModel(runtime, room.locator, declaration, null);
150
151
  }
151
152
  const { paused, authorization } = session.now();
152
153
  if (paused || authorization === undefined)
@@ -156,22 +157,22 @@ async function prepareRoom(runtime, room, local, progress, prior) {
156
157
  async function synchronize(runtime, listed, local, progress, attempt, live) {
157
158
  const { store, socket } = runtime;
158
159
  const heldNow = await store.rooms(listed.map(({ locator }) => locator));
159
- const prepared = await Promise.allSettled(listed.map((room) => prepareRoom(runtime, room, local, progress, heldNow.get(room.locator)?.record)));
160
+ const prepared = await Promise.allSettled(listed.map((room) => prepareRoom(runtime, room, progress, heldNow.get(room.locator)?.record)));
160
161
  if (!live())
161
162
  return;
162
163
  const ready = listed.filter((_, index) => {
163
164
  const outcome = prepared[index];
164
- return outcome?.status === 'fulfilled' && outcome.value;
165
+ return outcome.status === 'fulfilled' && outcome.value;
165
166
  });
166
- const held = await heldRooms(runtime, ready);
167
- if (!live())
168
- return;
169
167
  if (attempt === 'opened') {
168
+ const held = await heldRooms(runtime, ready);
169
+ if (!live())
170
+ return;
170
171
  socket.hand(held);
171
172
  }
172
- const kept = attempt === 'unstreamed'
173
- ? new Set()
174
- : new Set((await store.rooms(ready.map(({ locator }) => locator))).keys());
173
+ const kept = attempt === 'authorized'
174
+ ? new Set((await store.rooms(ready.map(({ locator }) => locator))).keys())
175
+ : new Set();
175
176
  for (const room of ready) {
176
177
  if (attempt === 'opened' || kept.has(room.locator)) {
177
178
  if (attempt === 'authorized')
@@ -204,7 +205,7 @@ export async function loadRoom(runtime, room, local, progress, live, unheld) {
204
205
  return;
205
206
  const prior = unheld === undefined ? await store.record(room.locator) : undefined;
206
207
  if (prior !== undefined) {
207
- if (!(await prepareRoom(runtime, room, local, progress, prior)))
208
+ if (!(await prepareRoom(runtime, room, progress, prior)))
208
209
  return;
209
210
  if (revoked(prior.model)) {
210
211
  await reload(runtime, room, local, progress, live);
@@ -219,10 +220,10 @@ export async function loadRoom(runtime, room, local, progress, live, unheld) {
219
220
  await caughtUp(runtime, room, local, progress, live);
220
221
  }
221
222
  export async function reload(runtime, room, local, progress, live) {
222
- const { store, socket } = runtime;
223
+ const { store, socket, presence } = runtime;
223
224
  try {
224
225
  if (live())
225
- socket.rooms.stand(room.locator, { reloadDue: false });
226
+ presence.reload(room.locator, false);
226
227
  const { authorization } = socket.session.now();
227
228
  if (!live() || authorization === undefined)
228
229
  return;
@@ -242,24 +243,23 @@ export async function reload(runtime, room, local, progress, live) {
242
243
  }
243
244
  }
244
245
  function repairLater(runtime, locator, when) {
245
- const { socket, recovery } = runtime;
246
- if (!socket.isOpen() || socket.rooms.standing(locator).repairing)
246
+ const { socket, presence, recovery } = runtime;
247
+ if (!socket.isOpen() || presence.standing(locator).repairing)
247
248
  return;
248
249
  void recovery.attempt(`repair ${locator}`, (signal) => repairPass(runtime, locator, signal), when);
249
250
  }
250
251
  async function repairPass(runtime, locator, signal) {
251
- const { store, socket } = runtime;
252
- const { rooms } = socket;
253
- const room = rooms.discovered(locator);
252
+ const { store, socket, presence } = runtime;
253
+ const room = presence.room(locator);
254
254
  if (!socket.isOpen() ||
255
255
  !socket.continuing() ||
256
256
  socket.stopping() ||
257
- !rooms.standing(locator).stale)
257
+ !presence.standing(locator).stale)
258
258
  return 'done';
259
259
  if (room === undefined || room.replica.admission !== 'admitted')
260
260
  return 'done';
261
261
  const progress = { complete: true, reachable: true };
262
- rooms.stand(locator, { repairing: true });
262
+ presence.repairing(locator, true);
263
263
  try {
264
264
  const local = await store.open();
265
265
  await socket.lanes.roomTask(locator, async (live) => {
@@ -272,36 +272,34 @@ async function repairPass(runtime, locator, signal) {
272
272
  });
273
273
  }
274
274
  catch {
275
- rooms.stand(locator, { stale: true });
275
+ presence.stood(locator, true);
276
276
  progress.reachable = false;
277
277
  }
278
278
  finally {
279
- rooms.stand(locator, { repairing: false });
279
+ presence.repairing(locator, false);
280
280
  }
281
281
  if (signal.aborted)
282
282
  return 'done';
283
283
  await rest(runtime, progress);
284
- if (!rooms.standing(locator).stale) {
285
- if ((await (await store.open()).order(locator)).length > 0)
286
- submitLater(runtime, locator);
284
+ if (!presence.standing(locator).stale) {
285
+ await submissionDue(runtime, [locator]);
287
286
  return 'done';
288
287
  }
289
- const { repairable } = rooms.standing(locator);
288
+ const { repairable } = presence.standing(locator);
290
289
  if (repairable === null)
291
290
  return 'done';
292
291
  return repairable.reset === undefined ? 'again' : { at: Date.parse(repairable.reset) };
293
292
  }
294
293
  export async function finishOpening(runtime, progress, live) {
295
- const { socket, conversations, recovery } = runtime;
294
+ const { socket, presence, conversations, recovery } = runtime;
296
295
  try {
297
296
  if (!live()) {
298
297
  progress.complete = false;
299
298
  return;
300
299
  }
301
- await submitAll(runtime);
302
- for (const locator of socket.rooms.standingWhere(({ stale, repairable }) => stale && repairable !== null)) {
300
+ await submissionDue(runtime);
301
+ for (const locator of presence.repairsOwed())
303
302
  repairLater(runtime, locator, {});
304
- }
305
303
  await reconcileConversations(conversations);
306
304
  const reading = { complete: true, reachable: true };
307
305
  await catchUpConversations(conversations, reading);
@@ -314,8 +312,10 @@ export async function finishOpening(runtime, progress, live) {
314
312
  progress.reachable = false;
315
313
  resendLater(runtime);
316
314
  }
315
+ runtime.retries.succeeded('conversations', FINISHING);
317
316
  }
318
- catch {
317
+ catch (error) {
318
+ runtime.retries.failed('conversations', FINISHING, error);
319
319
  progress.complete = false;
320
320
  }
321
321
  finally {
@@ -351,8 +351,10 @@ export function sync(runtime, attempt, found) {
351
351
  const listed = await discoverRooms(runtime, local, progress, live, found);
352
352
  if (listed !== null)
353
353
  await synchronize(runtime, listed, local, progress, attempt, live);
354
+ runtime.retries.succeeded('connection', OPENING_LANE);
354
355
  }
355
- catch {
356
+ catch (error) {
357
+ runtime.retries.failed('connection', OPENING_LANE, error);
356
358
  progress.complete = false;
357
359
  if (attempt === 'opened' && !socket.isHanded())
358
360
  progress.reachable = false;
@@ -373,7 +375,7 @@ export function sync(runtime, attempt, found) {
373
375
  });
374
376
  }
375
377
  export function resynchronize(runtime) {
376
- const { store, socket } = runtime;
378
+ const { store, socket, presence } = runtime;
377
379
  return socket.lanes.task(OPENING_LANE, async (live) => {
378
380
  if (!live() || !socket.isAnnounced())
379
381
  return;
@@ -383,9 +385,11 @@ export function resynchronize(runtime) {
383
385
  const local = await store.open();
384
386
  if (!live())
385
387
  return;
386
- await synchronize(runtime, socket.rooms.discoveredRooms(), local, progress, 'unstreamed', live);
388
+ await synchronize(runtime, presence.rooms(), local, progress, 'unstreamed', live);
389
+ runtime.retries.succeeded('download', OPENING_LANE);
387
390
  }
388
- catch {
391
+ catch (error) {
392
+ runtime.retries.failed('download', OPENING_LANE, error);
389
393
  progress.complete = false;
390
394
  }
391
395
  if (live())
@@ -423,8 +427,10 @@ export function changeAuthority(runtime, change) {
423
427
  session.set({ discoveries });
424
428
  const listed = await applyDiscovery(runtime, change.rooms, discoveries, change.left);
425
429
  await synchronize(runtime, listed, local, progress, 'authorized', live);
430
+ runtime.retries.succeeded('connection', OPENING_LANE);
426
431
  }
427
- catch {
432
+ catch (error) {
433
+ runtime.retries.failed('connection', OPENING_LANE, error);
428
434
  progress.complete = false;
429
435
  }
430
436
  if (!live())
@@ -469,8 +475,8 @@ async function installCarried(runtime, room, local, change, live, progress) {
469
475
  await publish(runtime, local, room, bootstrapped.record, { kind: 'bootstrapped', refreshed: bootstrapped.refreshed, from }, live);
470
476
  }
471
477
  export function applyRoom(runtime, change) {
472
- const { store, socket } = runtime;
473
- const { rooms, session } = socket;
478
+ const { store, socket, presence } = runtime;
479
+ const { session } = socket;
474
480
  const { locator } = change;
475
481
  if (socket.stopping())
476
482
  return Promise.resolve();
@@ -483,7 +489,7 @@ export function applyRoom(runtime, change) {
483
489
  for (;;) {
484
490
  if (!live())
485
491
  return null;
486
- const room = rooms.discovered(locator);
492
+ const room = presence.room(locator);
487
493
  if (room === undefined || room.replica.admission !== 'admitted')
488
494
  return null;
489
495
  const held = await store.record(locator);
@@ -493,7 +499,7 @@ export function applyRoom(runtime, change) {
493
499
  await installCarried(runtime, room, local, change, live, progress);
494
500
  return progress;
495
501
  }
496
- if (held.replica.selection !== room.replica.selection)
502
+ if (held.declaration.replica.selection !== room.replica.selection)
497
503
  return null;
498
504
  const at = held.roomVersion;
499
505
  if (socket.reads.reached(locator, at, change.roomVersion))
@@ -514,17 +520,19 @@ export function applyRoom(runtime, change) {
514
520
  remodelled: refreshed.remodelled,
515
521
  };
516
522
  if (await publish(runtime, local, room, refreshed.record, landing, writing)) {
517
- rooms.stand(locator, { stale: false });
518
- if (!declaredAsHeld(held, room))
519
- await retainModel(runtime, local, room, null);
523
+ presence.stood(locator, false);
524
+ const declaration = declared(room);
525
+ if (!sameDeclaration(held.declaration, declaration))
526
+ await retainModel(runtime, locator, declaration, null);
520
527
  return progress;
521
528
  }
522
529
  }
523
530
  }
524
- catch {
525
- if (!rooms.standing(locator).stale)
531
+ catch (error) {
532
+ runtime.retries.failed('download', locator, error);
533
+ if (!presence.standing(locator).stale)
526
534
  void name(runtime, locator);
527
- rooms.stand(locator, { stale: true });
535
+ presence.stood(locator, true);
528
536
  return progress;
529
537
  }
530
538
  })
package/dist/tables.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { type QueryAnswer, type QueryRoom } from './compile.js';
2
2
  import type { Composed } from './collection.js';
3
3
  import type { UnsentWork } from './durability.js';
4
- import type { JobMarker } from './job.js';
5
4
  import { type ConversationWrite, type HeldConversation, type HeldRow, type MessageWindow } from './messages.js';
6
5
  import type { GroupTotal, Plan } from './query.js';
7
6
  import { type ReadAt } from './reads.js';
@@ -249,7 +248,6 @@ export interface RuntimeRequests {
249
248
  }, readonly Referrer[]>;
250
249
  readonly 'replica.folders': Asked<{
251
250
  readonly key: number;
252
- readonly view: View;
253
251
  readonly paths: readonly string[];
254
252
  }, readonly string[]>;
255
253
  readonly 'replica.typedWithin': Asked<{
@@ -378,9 +376,6 @@ export interface RuntimeRequests {
378
376
  readonly 'conversation.rows': Asked<{
379
377
  readonly conversations: readonly string[];
380
378
  }, readonly HeldRow[]>;
381
- readonly 'conversation.jobs': Asked<{
382
- readonly conversation: string;
383
- }, readonly JobMarker[]>;
384
379
  readonly 'conversation.tallies': Asked<{
385
380
  readonly conversations: readonly string[] | null;
386
381
  readonly since: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAUL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EA6BL,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,OAAO,EACP,UAAU,EACV,WAAW,EACX,UAAU,EACV,IAAI,GACL,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjG,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;AAEjE,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,EAAE,GAAG,SAAS,GAAG,EAAE,CAAC;IAC3D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC/E;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,2BAA2B,CACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CACP,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,KACV,MAAM,EACX,OAAO,EAAE,MAAM,GACd,MAAM,CAAC;KACX,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,UAAU,CAAA;KAAE,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,OAAO,CAAC;IACxC,IAAI,IAAI,OAAO,CAAC;IAChB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;IAC9B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,YAAY,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7C,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EACnD,OAAO,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAA;KAAE,GAChE,OAAO,CAAC;IACX,IAAI,CAAC,OAAO,EAAE;QACZ,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC;QAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;QAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC;KACrC,GAAG,GAAG,EAAE,CAAC;IACV,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;CACvC;AAID,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,GAAG,UAAU,CAwE3F;AAED,eAAO,MAAM,eAAe,UAAY,CAAC;AAoBzC,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAQ3C,CAAC;AAYF,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,SAAS;IACxB,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAExF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC1E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC1F,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjF,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjF,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC;AAE7D,KAAK,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAChC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EACjD;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAC1D,CAAC;IACF,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAC9B;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EACjD,MAAM,GAAG,IAAI,CACd,CAAC;IACF,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAClF,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9D,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CACnC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,EAC7E,SAAS,MAAM,EAAE,CAClB,CAAC;IACF,QAAQ,CAAC,yBAAyB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5F,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAClE,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC7D,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9D,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IAClE,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;KAAE,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAChF,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IACvF,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAC9B;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC7E,IAAI,CACL,CAAC;IACF,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAClC;QACE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;KACvC,EACD,MAAM,GAAG,IAAI,CACd,CAAC;IACF,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAClC;QACE,QAAQ,CAAC,IAAI,EAAE,SAAS;YAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACrF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;KACrC,EACD,IAAI,CACL,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,KAAK,CAC7B;QACE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;KACvC,EACD,IAAI,CACL,CAAC;IACF,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CACjC;QAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EACvD,IAAI,CACL,CAAC;IACF,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,CAAC;IACvE,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,OAAO,CAAC,CAAC;IAC5E,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,KAAK,CAC7B;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,EAC/C,SAAS,WAAW,EAAE,CACvB,CAAC;IACF,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,YAAY,CAAC,CAAC;IAC3E,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtD,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/E,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,QAAQ,CAAC,sBAAsB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAChF,QAAQ,CAAC,eAAe,EAAE,KAAK,CAC7B;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAC7F,WAAW,CACZ,CAAC;IACF,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAC/B;QACE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,EACD,SAAS,SAAS,EAAE,CACrB,CAAC;IACF,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAC/B;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAChF,SAAS,SAAS,EAAE,CACrB,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,KAAK,CAC7B;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAChF,SAAS,UAAU,EAAE,CACtB,CAAC;IACF,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CACjC;QACE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;KACrC,EACD,SAAS,QAAQ,EAAE,CACpB,CAAC;IACF,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAC/B;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAC3D,SAAS,MAAM,EAAE,CAClB,CAAC;IACF,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CACnC;QACE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;KAC1B,EACD,OAAO,CACR,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,KAAK,CAC7B;QACE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;QACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,EACD,MAAM,GAAG,IAAI,CACd,CAAC;IACF,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAC9B;QACE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,EACD,OAAO,GAAG,IAAI,CACf,CAAC;IACF,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAC/B;QACE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;QACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QACpC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;KAC5C,EACD,IAAI,CACL,CAAC;IACF,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAC9B;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,EAC5E,cAAc,CACf,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IAChF,QAAQ,CAAC,eAAe,EAAE,KAAK,CAC7B;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAC3D;QAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAChC,CAAC;IACF,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IACtE,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC/F,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAChC;QACE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,EACD;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAClD,CAAC;IACF,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IACxF,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IAC1F,QAAQ,CAAC,aAAa,EAAE,KAAK,CAC3B;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAC9E,UAAU,GAAG,IAAI,CAClB,CAAC;IACF,QAAQ,CAAC,cAAc,EAAE,KAAK,CAC5B;QACE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,EACD,OAAO,CACR,CAAC;IACF,QAAQ,CAAC,aAAa,EAAE,KAAK,CAC3B;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;KAAE,EAC3E,OAAO,CACR,CAAC;IACF,QAAQ,CAAC,aAAa,EAAE,KAAK,CAC3B;QACE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,EACD,OAAO,CACR,CAAC;IACF,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IAC9D,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;IAChG,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CACjC;QAAE,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,EACpD,SAAS,gBAAgB,EAAE,CAC5B,CAAC;IACF,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CACnC;QACE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,EACD,aAAa,CACd,CAAC;IACF,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAClC;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EACjE,MAAM,CACP,CAAC;IACF,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CACjC;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACxD,OAAO,CACR,CAAC;IACF,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CACjC;QAAE,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAC7C,SAAS,OAAO,EAAE,CACnB,CAAC;IACF,QAAQ,CAAC,sBAAsB,EAAE,KAAK,CACpC;QAAE,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAC5E,SAAS,iBAAiB,EAAE,CAC7B,CAAC;IACF,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IACzF,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IACxE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;CACjE;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IAChE,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;CAC/E,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,WAAW,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CACnF;AA+ED,wBAAgB,SAAS,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,IAAI,cAAc,CAEvF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAExE;AAqhBD,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,SAAS,GACf,OAAO,CAgMT"}
package/dist/tables.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { sql } from '@agentshouse/mdmodel';
2
2
  import { answerQuery } from './compile.js';
3
- import { conversationRows, droppedMessages, forgottenMessages, heldConversations, jobMarkers, keptMessages, messageCount, messageWindow, MESSAGE_TABLES, turnArrived, } from './messages.js';
3
+ import { conversationRows, droppedMessages, forgottenMessages, heldConversations, keptMessages, messageCount, messageWindow, MESSAGE_TABLES, turnArrived, } from './messages.js';
4
4
  import { keptRead, READ_TABLES, readsOfOtherBuildsForgotten, storedRead, } from './reads.js';
5
5
  import { conversationTallies, roomTallies, } from './tallies.js';
6
6
  import { abandon, release, commit, covering, demoted, ended, entries, erase, facts, fenceRooms, folders, heldLocators, heldRoom, heldRooms, offlineMode, opened, overlaid, presentation, rederive, referrers, refreshing, REPLICA_TABLES, resume, stage, typed, stagedLocators, typedWithin, unrefresh, } from './stored.js';
@@ -139,7 +139,6 @@ const READS = new Set([
139
139
  'conversation.count',
140
140
  'conversation.turn',
141
141
  'conversation.rows',
142
- 'conversation.jobs',
143
142
  'conversation.tallies',
144
143
  'read.stored',
145
144
  ]);
@@ -340,7 +339,7 @@ function keptRows(connection, { locator, order, added, founded, roomDrafts, cons
340
339
  }
341
340
  }
342
341
  for (const { id, batch, state, files, paths, moving } of added ?? []) {
343
- if (before.has(id) || !after.has(id))
342
+ if (before.has(id))
344
343
  continue;
345
344
  connection.run('INSERT OR REPLACE INTO authored_pending (locator, id, batch, state, files, paths, moving) VALUES (?, ?, ?, ?, ?, ?, ?)', [locator, id, batch, state, owned(files), JSON.stringify(paths), moving ? 1 : 0]);
346
345
  }
@@ -507,9 +506,9 @@ function keptOpened(connection, { key, sha256, byteLength, parts }) {
507
506
  if (fetched === null)
508
507
  return false;
509
508
  const [held] = connection.rows('SELECT count(*) AS parts, min(part) AS first, max(part) AS last, coalesce(sum(length(bytes)), 0) AS bytes FROM file_parts WHERE key = ?', [key]);
510
- const whole = count(held?.parts) === parts &&
511
- count(held?.bytes) === byteLength &&
512
- (parts === 0 || (count(held?.first) === 0 && count(held?.last) === parts - 1));
509
+ const whole = count(held.parts) === parts &&
510
+ count(held.bytes) === byteLength &&
511
+ (parts === 0 || (count(held.first) === 0 && count(held.last) === parts - 1));
513
512
  if (!whole) {
514
513
  dropped(connection, key);
515
514
  return false;
@@ -531,11 +530,11 @@ const UNSENT = [
531
530
  ];
532
531
  function unsent(connection) {
533
532
  const [held] = connection.rows(`SELECT ${UNSENT.map(([kind, table]) => `(SELECT count(*) FROM ${table}) AS "${kind}"`).join(', ')}`);
534
- return UNSENT.map(([kind]) => ({ kind, count: count(held?.[kind]) })).filter((work) => work.count > 0);
533
+ return UNSENT.map(([kind]) => ({ kind, count: count(held[kind]) })).filter((work) => work.count > 0);
535
534
  }
536
535
  function cleanable(connection) {
537
536
  const [held] = connection.rows(CLEANABLE_BYTES);
538
- return count(held?.bytes);
537
+ return count(held.bytes);
539
538
  }
540
539
  function cleaned(connection) {
541
540
  connection.run('DELETE FROM opened_files');
@@ -649,7 +648,7 @@ export function answerRuntime(connection, request, spool) {
649
648
  case 'replica.referrers':
650
649
  return referrers(connection, request.key, request.view, request.targets);
651
650
  case 'replica.folders':
652
- return folders(connection, request.key, request.view, request.paths);
651
+ return folders(connection, request.key, request.paths);
653
652
  case 'replica.typedWithin':
654
653
  return typedWithin(connection, request.key, request.view, request.roots, request.within);
655
654
  case 'replica.stage':
@@ -716,8 +715,6 @@ export function answerRuntime(connection, request, spool) {
716
715
  return turnArrived(connection, request.conversation, request.turn);
717
716
  case 'conversation.rows':
718
717
  return conversationRows(connection, request.conversations);
719
- case 'conversation.jobs':
720
- return jobMarkers(connection, request.conversation);
721
718
  case 'conversation.tallies':
722
719
  return conversationTallies(connection, request.conversations, request.since);
723
720
  case 'conversation.drop':
package/dist/tallies.js CHANGED
@@ -94,13 +94,13 @@ const ACCEPTED = "message ->> '$.accepted_at'";
94
94
  const NEWER = 'ORDER BY n.position DESC, n.identity DESC LIMIT 1';
95
95
  const SAID = `WITH RECURSIVE
96
96
  named(conversation) AS (SELECT value FROM json_each(?)),
97
- walk(id, conversation, position, identity, at) AS (
98
- SELECT m.id, m.conversation, m.position, m.identity, m.${ACCEPTED}
97
+ walk(conversation, position, identity, at, role) AS (
98
+ SELECT m.conversation, m.position, m.identity, m.${ACCEPTED}, m.message ->> '$.role'
99
99
  FROM named JOIN conversation_messages m ON m.id = (
100
100
  SELECT n.id FROM conversation_messages n WHERE n.conversation = named.conversation ${NEWER}
101
101
  )
102
102
  UNION ALL
103
- SELECT m.id, m.conversation, m.position, m.identity, m.${ACCEPTED}
103
+ SELECT m.conversation, m.position, m.identity, m.${ACCEPTED}, m.message ->> '$.role'
104
104
  FROM walk JOIN conversation_messages m ON m.id = (
105
105
  SELECT n.id FROM conversation_messages n WHERE n.conversation = walk.conversation
106
106
  AND (n.position < walk.position OR (n.position = walk.position AND n.identity < walk.identity))
@@ -109,8 +109,8 @@ const SAID = `WITH RECURSIVE
109
109
  WHERE julianday(walk.at) >= julianday(?)
110
110
  )
111
111
  SELECT walk.conversation AS conversation, walk.at AS at
112
- FROM walk JOIN conversation_messages m ON m.id = walk.id
113
- WHERE m.message ->> '$.role' IN ('user', 'assistant') AND julianday(walk.at) >= julianday(?)`;
112
+ FROM walk
113
+ WHERE walk.role IN ('user', 'assistant') AND julianday(walk.at) >= julianday(?)`;
114
114
  export function conversationTallies(connection, conversations, since) {
115
115
  const named = conversations ??
116
116
  connection
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,UAAU,EAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM7D,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,IAAI,GAAG,CACjB,KAAK,EAAE,MAAM,GAAG,IAAI,KACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC;AAEtF,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAwBvF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,CAAC,CA6CrB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAChF,CAAC;AAkBF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,UAAU,EAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA2B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM5E,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,IAAI,GAAG,CACjB,KAAK,EAAE,MAAM,GAAG,IAAI,KACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC;AAEtF,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAwBvF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,CAAC,CA6CrB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAChF,CAAC;AAkBF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
@@ -1,5 +1,5 @@
1
1
  import { assess, parse, parseFrontmatter, verdicts, } from '@agentshouse/mdmodel';
2
- import { selected } from './collection.js';
2
+ import { definitionsAt, selected } from './collection.js';
3
3
  import { paced, ROW_WEIGHT, yielded } from './turn.js';
4
4
  const NO_TYPES = { types: {} };
5
5
  function modelOf(model) {
@@ -27,7 +27,7 @@ export async function validatedCollection(walk, lookup, composition) {
27
27
  if (content === null)
28
28
  continue;
29
29
  const part = partOf(path);
30
- const parsed = parse(content, path);
30
+ const parsed = parse(content, path, definitionsAt(composition, path));
31
31
  if (part.model.status === 'unavailable' && part.unmodeled === null && typedText(parsed)) {
32
32
  part.unmodeled = path;
33
33
  }