@agentshouse/mdruntime 0.1.0-cf04ede9fb796 → 0.1.0-cf08ada271a7f

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 (172) 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 +51 -131
  5. package/dist/actions.js +2 -2
  6. package/dist/adapter.d.ts +16 -44
  7. package/dist/adapter.d.ts.map +1 -1
  8. package/dist/bootstrap.d.ts +1 -1
  9. package/dist/bootstrap.d.ts.map +1 -1
  10. package/dist/bootstrap.js +6 -19
  11. package/dist/change-set.d.ts +4 -0
  12. package/dist/change-set.d.ts.map +1 -1
  13. package/dist/change-set.js +6 -0
  14. package/dist/change.d.ts.map +1 -1
  15. package/dist/change.js +4 -2
  16. package/dist/client.d.ts +3 -1
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +6 -4
  19. package/dist/collection.d.ts +22 -4
  20. package/dist/collection.d.ts.map +1 -1
  21. package/dist/collection.js +12 -2
  22. package/dist/compile.d.ts.map +1 -1
  23. package/dist/compile.js +15 -21
  24. package/dist/connection.d.ts.map +1 -1
  25. package/dist/connection.js +13 -13
  26. package/dist/conversation-live.d.ts +3 -4
  27. package/dist/conversation-live.d.ts.map +1 -1
  28. package/dist/conversation-live.js +2 -3
  29. package/dist/conversation.d.ts +4 -6
  30. package/dist/conversation.d.ts.map +1 -1
  31. package/dist/conversation.js +43 -71
  32. package/dist/declaration.d.ts +10 -0
  33. package/dist/declaration.d.ts.map +1 -0
  34. package/dist/declaration.js +24 -0
  35. package/dist/discovery.d.ts.map +1 -1
  36. package/dist/discovery.js +5 -3
  37. package/dist/expectation.d.ts +4 -2
  38. package/dist/expectation.d.ts.map +1 -1
  39. package/dist/expectation.js +33 -11
  40. package/dist/failure.d.ts +1 -0
  41. package/dist/failure.d.ts.map +1 -1
  42. package/dist/failure.js +3 -0
  43. package/dist/host.d.ts +17 -2
  44. package/dist/host.d.ts.map +1 -1
  45. package/dist/host.js +16 -4
  46. package/dist/index.d.ts +5 -3
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +4 -2
  49. package/dist/install.d.ts +0 -1
  50. package/dist/install.d.ts.map +1 -1
  51. package/dist/install.js +46 -59
  52. package/dist/job.d.ts +1 -29
  53. package/dist/job.d.ts.map +1 -1
  54. package/dist/job.js +2 -49
  55. package/dist/lifecycle.d.ts.map +1 -1
  56. package/dist/lifecycle.js +9 -6
  57. package/dist/listing.d.ts +4 -4
  58. package/dist/listing.d.ts.map +1 -1
  59. package/dist/listing.js +15 -22
  60. package/dist/live.d.ts.map +1 -1
  61. package/dist/live.js +3 -3
  62. package/dist/locks.d.ts.map +1 -1
  63. package/dist/locks.js +2 -1
  64. package/dist/lost.d.ts.map +1 -1
  65. package/dist/lost.js +3 -3
  66. package/dist/media.d.ts +1 -1
  67. package/dist/media.d.ts.map +1 -1
  68. package/dist/media.js +3 -3
  69. package/dist/memory.d.ts +4 -2
  70. package/dist/memory.d.ts.map +1 -1
  71. package/dist/memory.js +8 -6
  72. package/dist/messages.d.ts +0 -3
  73. package/dist/messages.d.ts.map +1 -1
  74. package/dist/messages.js +9 -29
  75. package/dist/model.d.ts +0 -1
  76. package/dist/model.d.ts.map +1 -1
  77. package/dist/model.js +0 -5
  78. package/dist/models.d.ts +4 -8
  79. package/dist/models.d.ts.map +1 -1
  80. package/dist/models.js +101 -126
  81. package/dist/observation.d.ts.map +1 -1
  82. package/dist/observation.js +12 -17
  83. package/dist/opened.js +3 -3
  84. package/dist/opening.d.ts.map +1 -1
  85. package/dist/opening.js +6 -4
  86. package/dist/overlay.d.ts +2 -1
  87. package/dist/overlay.d.ts.map +1 -1
  88. package/dist/overlay.js +32 -21
  89. package/dist/parts.d.ts +3 -52
  90. package/dist/parts.d.ts.map +1 -1
  91. package/dist/parts.js +15 -120
  92. package/dist/preparation.d.ts.map +1 -1
  93. package/dist/preparation.js +12 -5
  94. package/dist/queries.js +1 -1
  95. package/dist/query.d.ts +0 -1
  96. package/dist/query.d.ts.map +1 -1
  97. package/dist/questions.js +1 -1
  98. package/dist/queue.d.ts +39 -0
  99. package/dist/queue.d.ts.map +1 -0
  100. package/dist/queue.js +455 -0
  101. package/dist/reach.d.ts.map +1 -1
  102. package/dist/reach.js +5 -4
  103. package/dist/react.d.ts +4 -0
  104. package/dist/react.d.ts.map +1 -1
  105. package/dist/react.js +10 -1
  106. package/dist/reads.d.ts.map +1 -1
  107. package/dist/reads.js +4 -1
  108. package/dist/refresh.js +2 -2
  109. package/dist/refusal.d.ts.map +1 -1
  110. package/dist/refusal.js +3 -2
  111. package/dist/replica.d.ts +5 -11
  112. package/dist/replica.d.ts.map +1 -1
  113. package/dist/replica.js +13 -15
  114. package/dist/room-draft.d.ts +4 -6
  115. package/dist/room-draft.d.ts.map +1 -1
  116. package/dist/room-draft.js +36 -52
  117. package/dist/room-drafts.d.ts.map +1 -1
  118. package/dist/room-drafts.js +17 -16
  119. package/dist/rows.d.ts.map +1 -1
  120. package/dist/rows.js +3 -4
  121. package/dist/runtime.d.ts +5 -16
  122. package/dist/runtime.d.ts.map +1 -1
  123. package/dist/save.d.ts +41 -90
  124. package/dist/save.d.ts.map +1 -1
  125. package/dist/save.js +233 -116
  126. package/dist/saves.d.ts +2 -40
  127. package/dist/saves.d.ts.map +1 -1
  128. package/dist/saves.js +102 -697
  129. package/dist/seed.d.ts.map +1 -1
  130. package/dist/seed.js +0 -1
  131. package/dist/shared.d.ts +0 -5
  132. package/dist/shared.d.ts.map +1 -1
  133. package/dist/shared.js +4 -90
  134. package/dist/shown.d.ts +2 -1
  135. package/dist/shown.d.ts.map +1 -1
  136. package/dist/shown.js +15 -11
  137. package/dist/socket/rooms.d.ts +1 -4
  138. package/dist/socket/rooms.d.ts.map +1 -1
  139. package/dist/socket/session.d.ts +0 -1
  140. package/dist/socket/session.d.ts.map +1 -1
  141. package/dist/socket.d.ts +0 -1
  142. package/dist/socket.d.ts.map +1 -1
  143. package/dist/socket.js +2 -2
  144. package/dist/source.d.ts.map +1 -1
  145. package/dist/source.js +5 -4
  146. package/dist/store/records.d.ts +1 -3
  147. package/dist/store/records.d.ts.map +1 -1
  148. package/dist/store/records.js +2 -5
  149. package/dist/store/space.d.ts +1 -1
  150. package/dist/store/space.d.ts.map +1 -1
  151. package/dist/store/space.js +0 -2
  152. package/dist/store/watchers.js +1 -2
  153. package/dist/store.d.ts +1 -1
  154. package/dist/store.d.ts.map +1 -1
  155. package/dist/store.js +1 -1
  156. package/dist/stored.d.ts +1 -1
  157. package/dist/stored.d.ts.map +1 -1
  158. package/dist/stored.js +6 -6
  159. package/dist/surface.d.ts.map +1 -1
  160. package/dist/surface.js +4 -3
  161. package/dist/sync.d.ts.map +1 -1
  162. package/dist/sync.js +25 -27
  163. package/dist/tables.d.ts +0 -5
  164. package/dist/tables.d.ts.map +1 -1
  165. package/dist/tables.js +8 -11
  166. package/dist/tallies.js +5 -5
  167. package/dist/validation.d.ts.map +1 -1
  168. package/dist/validation.js +2 -2
  169. package/dist/wire.d.ts +4 -4
  170. package/dist/wire.d.ts.map +1 -1
  171. package/dist/wire.js +3 -3
  172. package/package.json +3 -2
package/dist/index.js CHANGED
@@ -1,15 +1,17 @@
1
1
  export { heldFacts } from './conversation-row.js';
2
+ export { writeRule } from './declaration.js';
2
3
  export { CHAT_MESSAGE_TYPE, CHAT_TYPE, keptFile, keptLines } from './chat-types.js';
3
4
  export { FIGURES_DAY_MS } from './figures.js';
4
5
  export { departure } from './change.js';
6
+ export { definitionsIn, selected } from './collection.js';
5
7
  export { lineEnded, partsAfter, partsChanges } from './room-draft.js';
6
8
  export { cutName, nameFrom, transliterated } from './name.js';
7
9
  export { HISTORY_CONVERSATIONS, SESSION_STARTED } from './conversation.js';
8
10
  export { contextFigure } from './context.js';
9
- export { jobsRunning, openJobs, sessionEnded } from './job.js';
11
+ export { sessionEnded } from './job.js';
10
12
  export { changeBatchIdentity } from './identity.js';
11
13
  export { paced, ROW_WEIGHT, stepped } from './turn.js';
12
- export { authoredAt } from './paths.js';
14
+ export { authoredAt, covered } from './paths.js';
13
15
  export { untilAnswered } from './recovery.js';
14
16
  export { entriesIn, patching, sortedKeys } from './shared.js';
15
17
  export { attempts, identities, intentOf, } from './attempt.js';
package/dist/install.d.ts CHANGED
@@ -39,7 +39,6 @@ export declare function sweep({ store, socket, journal }: Runtime): void;
39
39
  export declare function forgetInstall(store: Store, locator: string): void;
40
40
  export declare function caughtUpTo(runtime: Runtime, locator: string): void;
41
41
  export declare function catching(store: Store, locator: string): void;
42
- export declare function confirmedAgain(store: Store, locator: string): void;
43
42
  export declare function standingAt(store: Store, locator: string, held: Pick<ReplicaRecord, 'key'> | undefined): Standing;
44
43
  export declare function showing(system: Runtime, locator: string, roomVersion: string, held: string | undefined): void;
45
44
  export declare function olderThan(system: Runtime, locator: string, roomVersion: string, held: string | undefined): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
package/dist/install.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import { attachedModel } from './attached-model.js';
2
2
  import { bootstrapRoom } from './bootstrap.js';
3
3
  import { refusedForSpace } from './durability.js';
4
+ import { uncaught } from './failure.js';
4
5
  import { name, usable } from './listing.js';
5
6
  import { NO_MODEL } from './model.js';
7
+ import { settle } from './queue.js';
6
8
  import { advancement } from './refresh.js';
7
- import { recoverReads, statusShown } from './shown.js';
9
+ import { recoverReads } from './shown.js';
8
10
  import { NO_INSTALL, } from './store.js';
9
11
  import { unconfirmed } from './transfer.js';
10
12
  import { ROW_WEIGHT, yielded } from './turn.js';
@@ -130,8 +132,9 @@ export function sweep({ store, socket, journal }) {
130
132
  await yielded();
131
133
  }
132
134
  }
133
- catch {
135
+ catch (error) {
134
136
  journal.record('erasure failed');
137
+ uncaught(error);
135
138
  }
136
139
  finally {
137
140
  store.device.set({ sweeping: false });
@@ -150,12 +153,6 @@ export function caughtUpTo(runtime, locator) {
150
153
  export function catching(store, locator) {
151
154
  store.installs.change(locator, (held) => ({ ...held, catching: true }));
152
155
  }
153
- export function confirmedAgain(store, locator) {
154
- store.installs.change(locator, (held) => ({
155
- ...held,
156
- confirmations: held.confirmations + 1,
157
- }));
158
- }
159
156
  export function standingAt(store, locator, held) {
160
157
  return { key: held?.key ?? null, confirmed: store.installs.of(locator).confirmations };
161
158
  }
@@ -382,8 +379,6 @@ function staging(runtime, local, liveness, unheld) {
382
379
  transfer: held,
383
380
  underived: owed,
384
381
  }));
385
- if (before.transfer === null)
386
- recoverReads(runtime);
387
382
  installing(runtime, locator);
388
383
  recoverReads(runtime);
389
384
  if (owed < store.deriveBytes())
@@ -396,7 +391,9 @@ function staging(runtime, local, liveness, unheld) {
396
391
  if (!liveness())
397
392
  return null;
398
393
  const prior = unheld === undefined ? await store.record(locator) : undefined;
399
- const published = prior !== undefined && prior.replica.selection === record.selection ? prior.key : null;
394
+ const published = prior !== undefined && prior.declaration.replica.selection === record.selection
395
+ ? prior.key
396
+ : null;
400
397
  const kept = unheld?.staged ?? (await local.held()).staged.has(locator);
401
398
  if (published === null && !kept)
402
399
  return { record: null, staged: new Set() };
@@ -481,21 +478,22 @@ export async function pullBootstrap(runtime, authorized, room, local, liveness,
481
478
  }
482
479
  export function publish(runtime, local, room, reached, landing, live) {
483
480
  const { store } = runtime;
484
- const landed = store.exclusive(async () => {
481
+ let published = true;
482
+ const landed = settle(runtime, [room.locator], async (held) => {
485
483
  if (!live()) {
486
484
  caughtUpTo(runtime, room.locator);
487
- return true;
485
+ return [];
488
486
  }
489
- const work = await store.work(room.locator);
490
- const prior = work.replica;
487
+ const prior = held.get(room.locator)?.replica;
491
488
  if (!standsAt(store, room.locator, prior?.record, landing.from)) {
489
+ published = false;
492
490
  if (landing.kind === 'refreshed') {
493
491
  await local.unrefresh(reached.key);
494
- return false;
492
+ return [];
495
493
  }
496
494
  caughtUpTo(runtime, room.locator);
497
495
  await abandoned(runtime, local, room.locator);
498
- return false;
496
+ return [];
499
497
  }
500
498
  const record = landing.kind === 'refreshed' && prior !== undefined
501
499
  ? {
@@ -504,51 +502,40 @@ export function publish(runtime, local, room, reached, landing, live) {
504
502
  ...(landing.remodelled ? { model: reached.model } : {}),
505
503
  }
506
504
  : reached;
507
- let set;
508
- try {
509
- set = await runtime.settle(local, room.locator, work, record, work.queue, landing.kind === 'refreshed'
510
- ? {
511
- room: true,
512
- view: 'refreshed',
513
- commit: { refreshed: true },
514
- }
515
- : {
516
- room: true,
517
- view: landing.refreshed ? 'refreshed' : 'confirmed',
518
- commit: {
505
+ return [
506
+ {
507
+ locator: room.locator,
508
+ record,
509
+ installed: landing.kind === 'refreshed'
510
+ ? { refreshed: true }
511
+ : {
519
512
  published: { from: prior?.record.key ?? null },
520
513
  ...(landing.refreshed ? { refreshed: true } : {}),
521
514
  },
522
- });
523
- }
524
- catch (error) {
525
- if (!refusedForSpace(error))
526
- throw error;
527
- caughtUpTo(runtime, room.locator);
528
- return true;
529
- }
530
- if (landing.kind === 'bootstrapped') {
531
- runtime.socket.rooms.readied(room.locator);
532
- store.installs.change(room.locator, (held) => ({
533
- ...transferGone(held),
534
- highest: null,
535
- beyondHorizon: false,
536
- startedOver: null,
537
- catching: false,
538
- }));
539
- runtime.socket.rooms.stand(room.locator, { unheldModel: null });
540
- if (prior !== undefined && prior.record.key !== record.key)
541
- sweep(runtime);
542
- void name(runtime, room.locator);
543
- }
544
- usable(runtime, room);
545
- void runtime.store.changed(set);
546
- await runtime.unpair(local);
547
- void statusShown(runtime);
548
- if (landing.kind === 'bootstrapped' && work.queue.length > 0) {
549
- runtime.submitLater(room.locator);
550
- }
551
- return true;
515
+ after() {
516
+ if (landing.kind === 'bootstrapped') {
517
+ runtime.socket.rooms.readied(room.locator);
518
+ store.installs.change(room.locator, (held) => ({
519
+ ...transferGone(held),
520
+ highest: null,
521
+ beyondHorizon: false,
522
+ startedOver: null,
523
+ catching: false,
524
+ }));
525
+ runtime.socket.rooms.stand(room.locator, { unheldModel: null });
526
+ if (prior !== undefined && prior.record.key !== record.key)
527
+ sweep(runtime);
528
+ void name(runtime, room.locator);
529
+ }
530
+ usable(runtime, room);
531
+ },
532
+ },
533
+ ];
534
+ }).then(() => published, (error) => {
535
+ if (!refusedForSpace(error))
536
+ throw error;
537
+ caughtUpTo(runtime, room.locator);
538
+ return published;
552
539
  });
553
540
  return landing.kind === 'refreshed'
554
541
  ? landed
package/dist/job.d.ts CHANGED
@@ -1,33 +1,5 @@
1
- type Job = {
2
- readonly label: string;
3
- readonly kind: 'started' | 'scheduled' | 'ended';
4
- readonly state: string;
5
- readonly next: string | null;
6
- };
7
1
  export type RunningJob = {
8
2
  readonly name: string;
9
- readonly running_since: string;
10
- };
11
- export type JobMarker = {
12
- readonly said: string;
13
- readonly at: string;
14
- };
15
- export type OpenJob<At = string | null> = {
16
- readonly name: string;
17
- readonly started: At;
18
3
  };
19
- export declare function jobOf(said: string): Job;
20
- export declare function closeLast(open: {
21
- readonly key: string;
22
- }[], key: string): void;
23
- export declare function markerMoved<Kept extends {
24
- readonly key: string;
25
- }>(open: Kept[], said: string, opened: (job: Job, key: string) => Kept | null): void;
26
- export declare function openJobs<At>(markers: readonly {
27
- readonly said: string;
28
- readonly at: At;
29
- }[]): readonly OpenJob<At>[];
30
- export declare function jobsRunning(jobs: readonly RunningJob[], now: number): string[];
31
- export declare function sessionEnded(jobs: readonly RunningJob[], now: number): string;
32
- export {};
4
+ export declare function sessionEnded(jobs: readonly RunningJob[]): string;
33
5
  //# sourceMappingURL=job.d.ts.map
package/dist/job.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"AAAA,KAAK,GAAG,GAAG;IACT,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,MAAM,MAAM,OAAO,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAA;CAAE,CAAC;AAQ1F,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CASvC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAG7E;AAED,wBAAgB,WAAW,CAAC,IAAI,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAC/D,IAAI,EAAE,IAAI,EAAE,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,GAC7C,IAAI,CASN;AAED,wBAAgB,QAAQ,CAAC,EAAE,EACzB,OAAO,EAAE,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,EAAE,GAC7D,SAAS,OAAO,CAAC,EAAE,CAAC,EAAE,CAQxB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAM9E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI7E"}
1
+ {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CAIhE"}
package/dist/job.js CHANGED
@@ -1,54 +1,7 @@
1
- const NEXT_RUN = 'next run ';
2
- const MINUTE = 60_000;
3
1
  const ENDED = 'Session ended.';
4
- export function jobOf(said) {
5
- const at = said.lastIndexOf(': ');
6
- const label = at === -1 ? said : said.slice(0, at);
7
- const state = at === -1 ? '' : said.slice(at + 2);
8
- if (state === 'running')
9
- return { label, kind: 'started', state, next: null };
10
- if (state === 'scheduled')
11
- return { label, kind: 'scheduled', state, next: null };
12
- return state.startsWith(NEXT_RUN)
13
- ? { label, kind: 'scheduled', state, next: state.slice(NEXT_RUN.length) }
14
- : { label, kind: 'ended', state, next: null };
15
- }
16
- export function closeLast(open, key) {
17
- const at = open.map((one) => one.key).lastIndexOf(key);
18
- if (at !== -1)
19
- open.splice(at, 1);
20
- }
21
- export function markerMoved(open, said, opened) {
22
- const job = jobOf(said);
23
- const started = `job\u0000${job.label}`;
24
- const schedule = `schedule\u0000${job.label}`;
25
- if (job.kind === 'ended')
26
- closeLast(open, started);
27
- if (job.kind !== 'started')
28
- closeLast(open, schedule);
29
- if (job.kind === 'ended')
30
- return;
31
- const kept = opened(job, job.kind === 'started' ? started : schedule);
32
- if (kept !== null)
33
- open.push(kept);
34
- }
35
- export function openJobs(markers) {
36
- const open = [];
37
- for (const { said, at } of markers) {
38
- markerMoved(open, said, (job, key) => job.kind === 'started' ? { key, name: job.label, started: at } : null);
39
- }
40
- return open.map(({ name, started }) => ({ name, started }));
41
- }
42
- export function jobsRunning(jobs, now) {
43
- return jobs.map((job) => {
44
- const since = Date.parse(job.running_since);
45
- const ran = Number.isNaN(since) ? 0 : Math.floor((now - since) / MINUTE);
46
- return ran >= 1 ? `${job.name} (${ran} min)` : job.name;
47
- });
48
- }
49
- export function sessionEnded(jobs, now) {
2
+ export function sessionEnded(jobs) {
50
3
  if (jobs.length === 0)
51
4
  return ENDED;
52
5
  const counted = jobs.length === 1 ? '1 background job' : `${jobs.length} background jobs`;
53
- return `${ENDED} ${counted} stopped: ${jobsRunning(jobs, now).join(', ')}`;
6
+ return `${ENDED} ${counted} stopped: ${jobs.map(({ name }) => name).join(', ')}`;
54
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA8M5C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAOhD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,QAS1C;AAED,wBAAgB,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,OAAO,QAQ9F;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,OAAO,iBAS1C;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,QAwCtE"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAyN5C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAOhD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,QAS1C;AAED,wBAAgB,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,OAAO,QAQ9F;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,OAAO,iBAS1C;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,QAyCtE"}
package/dist/lifecycle.js CHANGED
@@ -1,11 +1,12 @@
1
- import { submitAll } from './acceptance.js';
2
1
  import { catchUpConversations, receiveConversationEvent, reconcileConversations, } from './conversation.js';
2
+ import { declared } from './declaration.js';
3
+ import { uncaught } from './failure.js';
3
4
  import { catching, replaced } from './install.js';
4
5
  import { connectionLost } from './locks.js';
5
6
  import { fenceLive } from './lost.js';
6
7
  import { cachedModels, revoked, settleModels } from './models.js';
7
8
  import { refuse } from './refusal.js';
8
- import { moveTo, recoverReads, rest, SERVICE_MODE_TOPIC, show, transferring } from './shown.js';
9
+ import { moveTo, recoverReads, rest, SERVICE_MODE_TOPIC, show, submissionDue, transferring, } from './shown.js';
9
10
  import { applyRoom, changeAuthority, countAuthorityChange, finishOpening, loadRoom, OPENING_LANE, reload, resynchronize, sync, } from './sync.js';
10
11
  const CONVERSATION_LANE = 'conversations';
11
12
  function closing(runtime, opened) {
@@ -112,11 +113,12 @@ function caughtUpRooms(runtime, expired) {
112
113
  if (progress.reachable) {
113
114
  const stored = await held;
114
115
  const owed = await reloading;
115
- await settleModels(runtime, socket.rooms
116
+ await settleModels(runtime, new Map(socket.rooms
116
117
  .discoveredRooms()
117
118
  .filter((room) => stored.has(room.locator) &&
118
119
  !expired.includes(room.locator) &&
119
- !owed.includes(room.locator)), 'current', local);
120
+ !owed.includes(room.locator))
121
+ .map((room) => [room.locator, declared(room)])), 'current', local);
120
122
  }
121
123
  }
122
124
  catch {
@@ -145,7 +147,7 @@ function signalled(runtime, mode) {
145
147
  store.tell(SERVICE_MODE_TOPIC, mode);
146
148
  }
147
149
  if (releasing)
148
- submitAll(runtime);
150
+ void submissionDue(runtime);
149
151
  }
150
152
  async function runCurrency(runtime, live) {
151
153
  const { socket, conversations } = runtime;
@@ -260,8 +262,9 @@ export function start(runtime, signal) {
260
262
  if ((await local.facts()).capabilities.length > 0)
261
263
  socket.readyFromStore();
262
264
  })
263
- .catch(() => {
265
+ .catch((error) => {
264
266
  socket.readyFromStore();
267
+ uncaught(error);
265
268
  });
266
269
  if (!socket.streamed)
267
270
  void sync(runtime, 'unstreamed', null);
package/dist/listing.d.ts CHANGED
@@ -1,11 +1,10 @@
1
1
  import type { HeldRooms } from '@agentshouse/mdmodel';
2
- import type { DiscoveredRoom, HeldRoom, OperationScopes, ProviderRefusal, ReplicaAdmission } from './adapter.js';
2
+ import type { DiscoveredRoom, HeldRoom, OperationScopes, ProviderRefusal, ReplicaAdmission, RoomDeclaration } from './adapter.js';
3
3
  import type { Composition } from './collection.js';
4
4
  import { type ModelState, type TypesResult } from './model.js';
5
5
  import { type PortReach } from './reach.js';
6
6
  import type { ReplicaRecord } from './replica.js';
7
7
  import type { Runtime } from './runtime.js';
8
- import type { RoomDeclaration } from './socket.js';
9
8
  import type { Stored } from './store.js';
10
9
  export type AppTypedSelection = {
11
10
  roots: readonly string[];
@@ -20,6 +19,7 @@ export type AppRoom = {
20
19
  model: TypesResult;
21
20
  typedSelection: AppTypedSelection | null;
22
21
  providerOwnedPaths: readonly string[];
22
+ authoredPaths: readonly string[];
23
23
  roomVersion: string | null;
24
24
  documents: number;
25
25
  synchronizationAvailable: boolean;
@@ -42,9 +42,9 @@ export declare function patchedListing(runtime: Runtime, changed: ReadonlySet<st
42
42
  export declare function listingNow(runtime: Runtime): Promise<Listing>;
43
43
  export declare function shownRooms(runtime: Runtime, listing: Listing): readonly AppRoom[];
44
44
  export declare function roomFacts(runtime: Runtime, reach?: PortReach | null): Promise<HeldRooms>;
45
- export declare function list({ store, socket }: Runtime, room: RoomDeclaration, synchronizationAvailable: boolean): void;
45
+ export declare function list({ store, socket }: Runtime, locator: string, declaration: RoomDeclaration, synchronizationAvailable: boolean): void;
46
46
  export declare function listHeld({ store, socket }: Runtime, locator: string): void;
47
- export declare function admitted({ socket }: Runtime, room: RoomDeclaration): boolean;
47
+ export declare function admitted({ socket }: Runtime, locator: string, declaration: RoomDeclaration): boolean;
48
48
  export declare function readable(runtime: Runtime, room: DiscoveredRoom): void;
49
49
  export declare function usable(runtime: Runtime, room: DiscoveredRoom): void;
50
50
  export declare function heldRooms({ store }: Runtime, listed: readonly DiscoveredRoom[]): Promise<HeldRoom[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../src/listing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../src/listing.ts"],"names":[],"mappings":"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"}
package/dist/listing.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { declared } from './declaration.js';
1
2
  import { modelTypes, NO_MODEL } from './model.js';
2
3
  import { governs, holds } from './reach.js';
3
4
  export function modelIn({ socket }, locator, stored) {
@@ -13,7 +14,10 @@ export function compositionFor(runtime, record) {
13
14
  }
14
15
  export function declarationOf({ socket }, locator, stored) {
15
16
  const held = socket.rooms.declared(locator);
16
- const room = stored?.record ?? held?.room ?? socket.rooms.discovered(locator);
17
+ const discovered = socket.rooms.discovered(locator);
18
+ const room = stored?.record.declaration ??
19
+ held?.room ??
20
+ (discovered === undefined ? undefined : declared(discovered));
17
21
  return room === undefined ? undefined : { room, available: held?.available ?? true };
18
22
  }
19
23
  export function listedLocators({ store, socket }, held) {
@@ -33,7 +37,7 @@ function listedRoom(runtime, locator, stored) {
33
37
  if (declaration === undefined)
34
38
  return undefined;
35
39
  const { room, available } = declaration;
36
- const selection = room.typedSelection ?? null;
40
+ const selection = room.typedSelection;
37
41
  return {
38
42
  name: room.name,
39
43
  locator,
@@ -45,6 +49,7 @@ function listedRoom(runtime, locator, stored) {
45
49
  ? null
46
50
  : { roots: selection.roots, model: modelTypes(selectionModel(runtime)) },
47
51
  providerOwnedPaths: room.providerOwnedPaths,
52
+ authoredPaths: room.authoredPaths,
48
53
  roomVersion: stored?.record.roomVersion ?? null,
49
54
  synchronizationAvailable: available,
50
55
  refusal: runtime.socket.rooms.standing(locator).refusal,
@@ -113,34 +118,22 @@ export async function roomFacts(runtime, reach = null) {
113
118
  });
114
119
  return { listed: socket.session.now().roomsListed, rooms };
115
120
  }
116
- export function list({ store, socket }, room, synchronizationAvailable) {
117
- if (store.fences.has(room.locator))
121
+ export function list({ store, socket }, locator, declaration, synchronizationAvailable) {
122
+ if (store.fences.has(locator))
118
123
  return;
119
- socket.rooms.declare(room.locator, {
120
- room: {
121
- name: room.name,
122
- locator: room.locator,
123
- handle: room.handle,
124
- operations: room.operations,
125
- replica: room.replica,
126
- typedSelection: room.typedSelection ?? null,
127
- providerOwnedPaths: room.providerOwnedPaths,
128
- authoredPaths: room.authoredPaths,
129
- },
130
- available: synchronizationAvailable,
131
- });
124
+ socket.rooms.declare(locator, { room: declaration, available: synchronizationAvailable });
132
125
  }
133
126
  export function listHeld({ store, socket }, locator) {
134
127
  if (store.fences.has(locator))
135
128
  return;
136
129
  socket.rooms.declare(locator, { room: null, available: false });
137
130
  }
138
- export function admitted({ socket }, room) {
139
- return room.replica.admission === 'admitted' && !socket.rooms.standing(room.locator).unreadable;
131
+ export function admitted({ socket }, locator, declaration) {
132
+ return declaration.replica.admission === 'admitted' && !socket.rooms.standing(locator).unreadable;
140
133
  }
141
134
  export function readable(runtime, room) {
142
135
  runtime.socket.rooms.stand(room.locator, { unreadable: false });
143
- list(runtime, room, true);
136
+ list(runtime, room.locator, declared(room), true);
144
137
  }
145
138
  export function usable(runtime, room) {
146
139
  const { rooms } = runtime.socket;
@@ -148,7 +141,7 @@ export function usable(runtime, room) {
148
141
  if (rooms.standing(room.locator).unreadable) {
149
142
  rooms.stand(room.locator, { unreadable: false, refusal: null });
150
143
  }
151
- list(runtime, room, true);
144
+ list(runtime, room.locator, declared(room), true);
152
145
  }
153
146
  export async function heldRooms({ store }, listed) {
154
147
  const stored = await store.rooms(listed.map((room) => room.locator));
@@ -159,7 +152,7 @@ export async function heldRooms({ store }, listed) {
159
152
  ? [{ locator: room.locator, roomVersion: null }]
160
153
  : [];
161
154
  }
162
- if (record.replica.selection !== room.replica.selection)
155
+ if (record.declaration.replica.selection !== room.replica.selection)
163
156
  return [];
164
157
  return [{ locator: room.locator, roomVersion: record.roomVersion }];
165
158
  });
@@ -1 +1 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,GAAG,aAAa,CAAC;AAE7F,MAAM,MAAM,GAAG,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE5E,KAAK,QAAQ,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;AAchD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9B,OAAO,IAAI,IAAI,CAAC;IAChB,KAAK,CACH,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,EACzB,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,IAAI,GACX,MAAM,IAAI,CAAC;IACd,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAmCF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CA4HxF"}
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,GAAG,aAAa,CAAC;AAE7F,MAAM,MAAM,GAAG,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE5E,KAAK,QAAQ,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;AAchD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9B,OAAO,IAAI,IAAI,CAAC;IAChB,KAAK,CACH,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,EACzB,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,IAAI,GACX,MAAM,IAAI,CAAC;IACd,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAmCF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CA2HxF"}
package/dist/live.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { changeOf, digestOf, } from './observation.js';
2
+ import { uncaught } from './failure.js';
2
3
  import { roomOfKey } from './rows.js';
3
4
  function narrowed(plan) {
4
5
  return (plan.paths !== null &&
@@ -76,7 +77,6 @@ export function createLiveQueries(run, holding) {
76
77
  }
77
78
  }
78
79
  catch (error) {
79
- entry.dirty = false;
80
80
  const unanswered = [...entry.fresh.values()];
81
81
  entry.fresh.clear();
82
82
  for (const failed of unanswered)
@@ -113,8 +113,8 @@ export function createLiveQueries(run, holding) {
113
113
  }
114
114
  } while (recoverAgain && !closed);
115
115
  }
116
- catch {
117
- recoverAgain = false;
116
+ catch (error) {
117
+ uncaught(error);
118
118
  }
119
119
  finally {
120
120
  recovering = false;
@@ -1 +1 @@
1
- {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../src/locks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAa5C,wBAAsB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1F;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAW9E;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,iBAMzE;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,cAAc,EAAE,QAOlF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAa9C;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAE7E"}
1
+ {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../src/locks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAa5C,wBAAsB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1F;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAW9E;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,iBAMzE;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,cAAc,EAAE,QAOlF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAU9C;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAE7E"}
package/dist/locks.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { uncaught } from './failure.js';
1
2
  import { emitRooms, LOCKS_TOPIC } from './shown.js';
2
3
  async function offlineModes({ store, socket }) {
3
4
  const modes = new Map();
@@ -53,7 +54,7 @@ export function connectionLost(runtime) {
53
54
  void lockedRooms(runtime).then((before) => {
54
55
  socket.rooms.standAll({ confirmed: false });
55
56
  return relocked(runtime, before);
56
- }, () => { });
57
+ }, uncaught);
57
58
  });
58
59
  }
59
60
  export function watchLocks({ store }, notify) {
@@ -1 +1 @@
1
- {"version":3,"file":"lost.d.ts","sourceRoot":"","sources":["../src/lost.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAU5C,wBAAsB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,iBAIhF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,QAOtE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,iBAqC5E"}
1
+ {"version":3,"file":"lost.d.ts","sourceRoot":"","sources":["../src/lost.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAW5C,wBAAsB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,iBAIhF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,QAOtE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,iBAoC5E"}
package/dist/lost.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { changeSet, mergeChangeSets } from './change-set.js';
2
2
  import { ERASE_BATCH, forgetInstall } from './install.js';
3
- import { recoverReads, statusShown } from './shown.js';
3
+ import { unpair } from './queue.js';
4
+ import { recoverReads } from './shown.js';
4
5
  import { yielded } from './turn.js';
5
6
  function forget({ store, socket }, locator) {
6
7
  forgetInstall(store, locator);
@@ -54,8 +55,7 @@ export async function loseRooms(runtime, locators) {
54
55
  drafts: held.filter((draft) => draft.locator === locator).map(({ path }) => path),
55
56
  }))));
56
57
  recoverReads(runtime);
57
- statusShown(runtime);
58
58
  }
59
- await store.durably((local) => runtime.unpair(local));
59
+ await unpair(runtime);
60
60
  await eraseFenced(runtime, fresh);
61
61
  }
package/dist/media.d.ts CHANGED
@@ -3,6 +3,6 @@ import { type ShownAnswer } from './outcome.js';
3
3
  export declare const ROOM_MEDIA = "room-media";
4
4
  type Show = (room: string, path: string, revision?: string) => Promise<ShownAnswer>;
5
5
  export declare function shownBy(show: Show, client: MdRuntimeClient): MdRuntimeClient;
6
- export declare function defineRoomMedia(client: Promise<MdRuntimeClient> | MdRuntimeClient, registry?: CustomElementRegistry): void;
6
+ export declare function defineRoomMedia(client: Promise<MdRuntimeClient> | MdRuntimeClient): void;
7
7
  export {};
8
8
  //# sourceMappingURL=media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3D,eAAO,MAAM,UAAU,eAAe,CAAC;AAwBvC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAIpF,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe,CAG5E;AAsBD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,EAClD,QAAQ,GAAE,qBAAsC,GAC/C,IAAI,CA0LN"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3D,eAAO,MAAM,UAAU,eAAe,CAAC;AAwBvC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAIpF,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe,CAG5E;AAsBD,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,IAAI,CA0LxF"}
package/dist/media.js CHANGED
@@ -37,8 +37,8 @@ function drawnFor(mediaType) {
37
37
  return 'audio';
38
38
  return null;
39
39
  }
40
- export function defineRoomMedia(client, registry = customElements) {
41
- if (registry.get(ROOM_MEDIA) !== undefined)
40
+ export function defineRoomMedia(client) {
41
+ if (customElements.get(ROOM_MEDIA) !== undefined)
42
42
  return;
43
43
  const connected = Promise.resolve(client);
44
44
  class RoomMedia extends HTMLElement {
@@ -214,5 +214,5 @@ export function defineRoomMedia(client, registry = customElements) {
214
214
  void this.#load();
215
215
  }
216
216
  }
217
- registry.define(ROOM_MEDIA, RoomMedia);
217
+ customElements.define(ROOM_MEDIA, RoomMedia);
218
218
  }