@agentshouse/mdruntime 0.1.0-c5b50992a4193 → 0.1.0-c5d3fa6fb67bc

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 (193) hide show
  1. package/AGENTS.md +265 -210
  2. package/README.md +13 -3
  3. package/dist/acquisition.d.ts +14 -0
  4. package/dist/acquisition.d.ts.map +1 -0
  5. package/dist/acquisition.js +24 -0
  6. package/dist/adapter.d.ts +80 -20
  7. package/dist/adapter.d.ts.map +1 -1
  8. package/dist/attempt.d.ts +16 -0
  9. package/dist/attempt.d.ts.map +1 -0
  10. package/dist/attempt.js +70 -0
  11. package/dist/binary.d.ts +23 -0
  12. package/dist/binary.d.ts.map +1 -0
  13. package/dist/binary.js +8 -0
  14. package/dist/bootstrap.d.ts +17 -5
  15. package/dist/bootstrap.d.ts.map +1 -1
  16. package/dist/bootstrap.js +113 -37
  17. package/dist/change-set.d.ts +2 -0
  18. package/dist/change-set.d.ts.map +1 -1
  19. package/dist/change-set.js +49 -16
  20. package/dist/change.d.ts +15 -0
  21. package/dist/change.d.ts.map +1 -1
  22. package/dist/change.js +26 -1
  23. package/dist/chat/acts.d.ts +33 -0
  24. package/dist/chat/acts.d.ts.map +1 -0
  25. package/dist/chat/acts.js +36 -0
  26. package/dist/chat/context.d.ts +3 -0
  27. package/dist/chat/context.d.ts.map +1 -0
  28. package/dist/chat/context.js +10 -0
  29. package/dist/chat/input.d.ts +9 -0
  30. package/dist/chat/input.d.ts.map +1 -0
  31. package/dist/chat/input.js +99 -0
  32. package/dist/chat/kit.d.ts +61 -0
  33. package/dist/chat/kit.d.ts.map +1 -0
  34. package/dist/chat/kit.js +123 -0
  35. package/dist/chat/lasting.d.ts +6 -0
  36. package/dist/chat/lasting.d.ts.map +1 -0
  37. package/dist/chat/lasting.js +19 -0
  38. package/dist/chat/list.d.ts +27 -0
  39. package/dist/chat/list.d.ts.map +1 -0
  40. package/dist/chat/list.js +63 -0
  41. package/dist/chat/markdown.d.ts +20 -0
  42. package/dist/chat/markdown.d.ts.map +1 -0
  43. package/dist/chat/markdown.js +188 -0
  44. package/dist/chat/message.d.ts +6 -0
  45. package/dist/chat/message.d.ts.map +1 -0
  46. package/dist/chat/message.js +192 -0
  47. package/dist/chat/messages.d.ts +22 -0
  48. package/dist/chat/messages.d.ts.map +1 -0
  49. package/dist/chat/messages.js +155 -0
  50. package/dist/chat/name.d.ts +6 -0
  51. package/dist/chat/name.d.ts.map +1 -0
  52. package/dist/chat/name.js +37 -0
  53. package/dist/chat/opened.d.ts +11 -0
  54. package/dist/chat/opened.d.ts.map +1 -0
  55. package/dist/chat/opened.js +17 -0
  56. package/dist/chat/overlay.d.ts +31 -0
  57. package/dist/chat/overlay.d.ts.map +1 -0
  58. package/dist/chat/overlay.js +97 -0
  59. package/dist/chat/parts.d.ts +57 -0
  60. package/dist/chat/parts.d.ts.map +1 -0
  61. package/dist/chat/parts.js +119 -0
  62. package/dist/chat/process.d.ts +20 -0
  63. package/dist/chat/process.d.ts.map +1 -0
  64. package/dist/chat/process.js +32 -0
  65. package/dist/chat/provider.d.ts +63 -0
  66. package/dist/chat/provider.d.ts.map +1 -0
  67. package/dist/chat/provider.js +629 -0
  68. package/dist/chat/question.d.ts +9 -0
  69. package/dist/chat/question.d.ts.map +1 -0
  70. package/dist/chat/question.js +80 -0
  71. package/dist/chat/questions.d.ts +31 -0
  72. package/dist/chat/questions.d.ts.map +1 -0
  73. package/dist/chat/questions.js +111 -0
  74. package/dist/chat/read.d.ts +5 -0
  75. package/dist/chat/read.d.ts.map +1 -0
  76. package/dist/chat/read.js +13 -0
  77. package/dist/chat/ready.d.ts +34 -0
  78. package/dist/chat/ready.d.ts.map +1 -0
  79. package/dist/chat/ready.js +91 -0
  80. package/dist/chat/style.d.ts +4 -0
  81. package/dist/chat/style.d.ts.map +1 -0
  82. package/dist/chat/style.js +302 -0
  83. package/dist/chat.d.ts +14 -0
  84. package/dist/chat.d.ts.map +1 -0
  85. package/dist/chat.js +8 -0
  86. package/dist/client.d.ts +25 -12
  87. package/dist/client.d.ts.map +1 -1
  88. package/dist/client.js +68 -16
  89. package/dist/collection.d.ts +21 -12
  90. package/dist/collection.d.ts.map +1 -1
  91. package/dist/collection.js +271 -23
  92. package/dist/connection.d.ts +42 -15
  93. package/dist/connection.d.ts.map +1 -1
  94. package/dist/connection.js +1636 -378
  95. package/dist/conversation.d.ts +25 -10
  96. package/dist/conversation.d.ts.map +1 -1
  97. package/dist/conversation.js +374 -143
  98. package/dist/durability.d.ts +7 -1
  99. package/dist/durability.d.ts.map +1 -1
  100. package/dist/entry.d.ts +17 -0
  101. package/dist/entry.d.ts.map +1 -0
  102. package/dist/entry.js +156 -0
  103. package/dist/expectation.d.ts +21 -0
  104. package/dist/expectation.d.ts.map +1 -0
  105. package/dist/expectation.js +70 -0
  106. package/dist/failure.d.ts +13 -0
  107. package/dist/failure.d.ts.map +1 -0
  108. package/dist/failure.js +19 -0
  109. package/dist/fence.d.ts +6 -0
  110. package/dist/fence.d.ts.map +1 -0
  111. package/dist/fence.js +10 -0
  112. package/dist/host.d.ts +14 -2
  113. package/dist/host.d.ts.map +1 -1
  114. package/dist/host.js +60 -17
  115. package/dist/identity.d.ts +5 -0
  116. package/dist/identity.d.ts.map +1 -1
  117. package/dist/identity.js +19 -1
  118. package/dist/index.d.ts +14 -7
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +4 -0
  121. package/dist/memory.d.ts +7 -3
  122. package/dist/memory.d.ts.map +1 -1
  123. package/dist/memory.js +77 -22
  124. package/dist/model.d.ts +7 -4
  125. package/dist/model.d.ts.map +1 -1
  126. package/dist/model.js +10 -1
  127. package/dist/observation.d.ts +5 -2
  128. package/dist/observation.d.ts.map +1 -1
  129. package/dist/observation.js +22 -11
  130. package/dist/open.d.ts +2 -0
  131. package/dist/open.d.ts.map +1 -0
  132. package/dist/open.js +1 -0
  133. package/dist/outcome.d.ts +32 -3
  134. package/dist/outcome.d.ts.map +1 -1
  135. package/dist/outcome.js +42 -1
  136. package/dist/overlay.d.ts +16 -3
  137. package/dist/overlay.d.ts.map +1 -1
  138. package/dist/overlay.js +118 -77
  139. package/dist/query.d.ts +36 -3
  140. package/dist/query.d.ts.map +1 -1
  141. package/dist/query.js +6 -1
  142. package/dist/reach.d.ts +8 -3
  143. package/dist/reach.d.ts.map +1 -1
  144. package/dist/reach.js +60 -24
  145. package/dist/react.d.ts +28 -17
  146. package/dist/react.d.ts.map +1 -1
  147. package/dist/react.js +8 -6
  148. package/dist/read-side.d.ts +13 -6
  149. package/dist/read-side.d.ts.map +1 -1
  150. package/dist/read-side.js +294 -85
  151. package/dist/readiness.d.ts +53 -0
  152. package/dist/readiness.d.ts.map +1 -0
  153. package/dist/readiness.js +33 -0
  154. package/dist/recovery.d.ts +25 -0
  155. package/dist/recovery.d.ts.map +1 -0
  156. package/dist/recovery.js +197 -0
  157. package/dist/refresh.d.ts +10 -0
  158. package/dist/refresh.d.ts.map +1 -1
  159. package/dist/refresh.js +49 -38
  160. package/dist/replica.d.ts +8 -5
  161. package/dist/replica.d.ts.map +1 -1
  162. package/dist/replica.js +124 -67
  163. package/dist/room-draft.d.ts +26 -9
  164. package/dist/room-draft.d.ts.map +1 -1
  165. package/dist/room-draft.js +132 -23
  166. package/dist/rows.d.ts +9 -13
  167. package/dist/rows.d.ts.map +1 -1
  168. package/dist/rows.js +14 -14
  169. package/dist/save.d.ts +31 -1
  170. package/dist/save.d.ts.map +1 -1
  171. package/dist/save.js +376 -45
  172. package/dist/search.d.ts +37 -8
  173. package/dist/search.d.ts.map +1 -1
  174. package/dist/search.js +116 -45
  175. package/dist/shared.d.ts +11 -0
  176. package/dist/shared.d.ts.map +1 -0
  177. package/dist/shared.js +368 -0
  178. package/dist/status.d.ts +6 -2
  179. package/dist/status.d.ts.map +1 -1
  180. package/dist/status.js +0 -8
  181. package/dist/store.d.ts +75 -18
  182. package/dist/store.d.ts.map +1 -1
  183. package/dist/store.js +539 -200
  184. package/dist/turn.d.ts +7 -0
  185. package/dist/turn.d.ts.map +1 -0
  186. package/dist/turn.js +45 -0
  187. package/dist/wire.d.ts +141 -33
  188. package/dist/wire.d.ts.map +1 -1
  189. package/dist/wire.js +61 -31
  190. package/package.json +26 -14
  191. package/dist/attachment.d.ts +0 -3
  192. package/dist/attachment.d.ts.map +0 -1
  193. package/dist/attachment.js +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAkC,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,SAAS,WAAW,EAAE,CAAC;IAClC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,IAAI,SAAS,gBAAgB,EAAE,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAC9D,QAAQ,IAAI,SAAS,eAAe,EAAE,CAAC;IACvC,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9B,MAAM,CACJ,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,GAC1D,YAAY,CAAC;CACjB,CAAC;AA4BF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAiBvD;AAMD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CAyGnE"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
package/dist/search.js CHANGED
@@ -1,5 +1,15 @@
1
1
  import MiniSearch from 'minisearch';
2
- import { invalid, known, limitOf, plain } from './query.js';
2
+ import { indexGeneration } from './identity.js';
3
+ import { invalid, known, limitOf, plain, } from './query.js';
4
+ import { inUnits, ROW_WEIGHT } from './turn.js';
5
+ export function undeclaredSearch() {
6
+ return {
7
+ kind: 'undeclared',
8
+ code: 'search-undeclared',
9
+ fields: { name: 'local_search' },
10
+ retryable: false,
11
+ };
12
+ }
3
13
  const FIELDS = ['fields', 'sections', 'preamble', 'path', 'text'];
4
14
  function documentId(room, path) {
5
15
  return JSON.stringify(['document', room, path]);
@@ -35,15 +45,20 @@ export function searchPlanOf(input) {
35
45
  };
36
46
  }
37
47
  export function createSearchIndex(source) {
38
- let index = null;
48
+ const generation = indexGeneration();
49
+ const index = new MiniSearch({ fields: FIELDS });
39
50
  const documents = new Map();
40
51
  const messages = new Map();
52
+ const rooms = new Set();
53
+ const filling = new Set();
54
+ const conversations = new Set();
55
+ const acquiring = new Set();
41
56
  const changedDocuments = new Map();
42
- const changedMessages = new Map();
43
- function addDocument(built, document) {
57
+ let changes = 0;
58
+ function addDocument(document) {
44
59
  const id = documentId(document.room, document.path);
45
- documents.set(id, { room: document.room, path: document.path, type: document.type });
46
- built.add({
60
+ discard(id, documents);
61
+ index.add({
47
62
  id,
48
63
  fields: scalars(document.fields).join('\n'),
49
64
  sections: Object.entries(document.sections)
@@ -52,43 +67,48 @@ export function createSearchIndex(source) {
52
67
  preamble: document.preamble,
53
68
  path: document.path,
54
69
  });
70
+ documents.set(id, { room: document.room, path: document.path, type: document.type });
55
71
  }
56
- function addMessage(built, message) {
72
+ function addMessage(message) {
57
73
  const id = messageId(message.conversation, message.identity);
74
+ discard(id, messages);
75
+ index.add({ id, text: message.text });
58
76
  messages.set(id, { conversation: message.conversation, identity: message.identity });
59
- built.add({ id, text: message.text });
60
77
  }
61
- function current() {
62
- if (index === null) {
63
- const built = new MiniSearch({ fields: FIELDS });
64
- for (const document of source.documents())
65
- addDocument(built, document);
66
- for (const message of source.messages())
67
- addMessage(built, message);
68
- index = built;
69
- return built;
78
+ function discard(id, entries) {
79
+ if (entries.delete(id))
80
+ index.discard(id);
81
+ }
82
+ function* pending() {
83
+ for (;;) {
84
+ const next = changedDocuments.entries().next();
85
+ if (next.done === true)
86
+ return;
87
+ changedDocuments.delete(next.value[0]);
88
+ yield next.value;
70
89
  }
71
- const built = index;
72
- for (const [id, { room, path }] of changedDocuments) {
73
- if (documents.delete(id))
74
- built.discard(id);
90
+ }
91
+ let catching = null;
92
+ function caughtUp() {
93
+ if (catching !== null)
94
+ return catching;
95
+ const running = inUnits(pending(), ([id, { room, path }]) => {
96
+ discard(id, documents);
75
97
  const document = source.document(room, path);
76
- if (document !== null)
77
- addDocument(built, document);
78
- }
79
- changedDocuments.clear();
80
- for (const [id, { conversation, identity }] of changedMessages) {
81
- if (messages.delete(id))
82
- built.discard(id);
83
- const message = source.message(conversation, identity);
84
- if (message !== null)
85
- addMessage(built, message);
86
- }
87
- changedMessages.clear();
88
- return built;
98
+ if (document === null)
99
+ return ROW_WEIGHT;
100
+ addDocument(document);
101
+ return Object.values(document.sections).reduce((total, text) => total + text.length, ROW_WEIGHT + document.preamble.length);
102
+ });
103
+ if (!(running instanceof Promise))
104
+ return Promise.resolve();
105
+ catching = running.finally(() => {
106
+ catching = null;
107
+ });
108
+ return catching;
89
109
  }
90
- function ranked(built, text, entries, keep, limit) {
91
- const found = built.search(text, {
110
+ function ranked(text, entries, keep, limit) {
111
+ const found = index.search(text, {
92
112
  filter: ({ id }) => {
93
113
  const entry = entries.get(id);
94
114
  return entry !== undefined && keep(entry, id);
@@ -101,24 +121,75 @@ export function createSearchIndex(source) {
101
121
  }));
102
122
  }
103
123
  return {
104
- changed(set) {
105
- if (index === null)
124
+ generation: () => generation,
125
+ rooms: () => rooms,
126
+ conversations: () => conversations,
127
+ async indexRoom(room) {
128
+ if (rooms.has(room) || filling.has(room))
129
+ return;
130
+ filling.add(room);
131
+ try {
132
+ await inUnits(source.room(room), (path) => {
133
+ const document = filling.has(room) ? source.document(room, path) : null;
134
+ if (document === null)
135
+ return ROW_WEIGHT;
136
+ addDocument(document);
137
+ return Object.values(document.sections).reduce((total, text) => total + text.length, ROW_WEIGHT + document.preamble.length);
138
+ });
139
+ if (filling.has(room))
140
+ rooms.add(room);
141
+ }
142
+ finally {
143
+ filling.delete(room);
144
+ }
145
+ },
146
+ indexMessages(conversation, arriving, whole) {
147
+ for (const message of arriving)
148
+ addMessage(message);
149
+ if (!whole) {
150
+ acquiring.add(conversation);
106
151
  return;
152
+ }
153
+ acquiring.delete(conversation);
154
+ conversations.add(conversation);
155
+ },
156
+ forget(leaving) {
157
+ const gone = new Set(leaving);
158
+ for (const [id, entry] of documents)
159
+ if (gone.has(entry.room))
160
+ discard(id, documents);
161
+ for (const room of leaving) {
162
+ rooms.delete(room);
163
+ filling.delete(room);
164
+ }
165
+ },
166
+ changed(set) {
167
+ changes += 1;
107
168
  for (const { locator, path } of set.documents) {
108
- changedDocuments.set(documentId(locator, path), { room: locator, path });
169
+ if (rooms.has(locator) || filling.has(locator)) {
170
+ changedDocuments.set(documentId(locator, path), { room: locator, path });
171
+ }
109
172
  }
110
- for (const { conversation, identity } of set.messages) {
111
- changedMessages.set(messageId(conversation, identity), { conversation, identity });
173
+ for (const { conversation, identity, text } of set.messages) {
174
+ if (!conversations.has(conversation) && !acquiring.has(conversation))
175
+ continue;
176
+ const id = messageId(conversation, identity);
177
+ if (text === null)
178
+ discard(id, messages);
179
+ else
180
+ addMessage({ conversation, identity, text });
112
181
  }
113
182
  },
114
- search({ text, conversations, limit }, selected) {
115
- const built = current();
183
+ changes: () => changes,
184
+ caughtUp,
185
+ search({ text, limit }, selected, named, within) {
116
186
  const chosen = selected === null
117
187
  ? null
118
188
  : new Set(selected.map(({ room, path }) => documentId(room, path)));
189
+ const asked = new Set(named);
119
190
  return {
120
- documents: ranked(built, text, documents, (_entry, id) => chosen === null || chosen.has(id), limit).map(({ match, ...hit }) => ({ ...hit, matches: match })),
121
- messages: ranked(built, text, messages, ({ conversation }) => conversations === null || conversations.includes(conversation), limit).map(({ match, ...hit }) => ({ ...hit, matches: match })),
191
+ documents: ranked(text, documents, ({ room }, id) => (chosen === null || chosen.has(id)) && (within === null || within.has(room)), limit).map(({ match, ...hit }) => ({ ...hit, matches: match })),
192
+ messages: ranked(text, messages, ({ conversation }) => asked.has(conversation), limit).map(({ match, ...hit }) => ({ ...hit, matches: match })),
122
193
  };
123
194
  },
124
195
  };
@@ -0,0 +1,11 @@
1
+ export type Paths<V> = Readonly<Record<string, V>>;
2
+ type Weigh<V> = (key: string, value: V) => number;
3
+ export declare function shared<V>(map: Paths<V>): Paths<V>;
4
+ export declare function patched<V>(base: Paths<V>, set: Iterable<readonly [string, V]>, removed?: Iterable<string>): Paths<V>;
5
+ export declare function tally<V>(map: Paths<V>, weigh: Weigh<V>): number;
6
+ export declare function sizeOf<V>(map: Paths<V>): number;
7
+ export declare function differing<V>(left: Paths<V>, right: Paths<V>, same?: (left: V, right: V) => boolean): ReadonlySet<string>;
8
+ export declare function drafted<V>(base: Paths<V>): Record<string, V>;
9
+ export declare function settled<V>(draft: Record<string, V>): Paths<V>;
10
+ export {};
11
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAkBnD,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;AA6LlD,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAEjD;AAED,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACnC,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAM,GAC7B,KAAK,CAAC,CAAC,CAAC,CA8BV;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAY/D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAE/C;AAuCD,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EACd,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,IAAI,GAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAmB,GAC/C,WAAW,CAAC,MAAM,CAAC,CAcrB;AAMD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAiD5D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAS7D"}
package/dist/shared.js ADDED
@@ -0,0 +1,368 @@
1
+ const BITS = 5;
2
+ const MASK = (1 << BITS) - 1;
3
+ const roots = new WeakMap();
4
+ const tallies = new WeakMap();
5
+ function hashOf(key) {
6
+ let hash = 0x811c9dc5;
7
+ for (let index = 0; index < key.length; index += 1) {
8
+ hash ^= key.charCodeAt(index);
9
+ hash = Math.imul(hash, 0x01000193);
10
+ }
11
+ return hash >>> 0;
12
+ }
13
+ function isLeaf(node) {
14
+ return 'key' in node;
15
+ }
16
+ function isCollision(node) {
17
+ return 'leaves' in node;
18
+ }
19
+ function fragment(hash, shift) {
20
+ return (hash >>> shift) & MASK;
21
+ }
22
+ function count(bits) {
23
+ let left = bits - ((bits >>> 1) & 0x55555555);
24
+ left = (left & 0x33333333) + ((left >>> 2) & 0x33333333);
25
+ return (((left + (left >>> 4)) & 0x0f0f0f0f) * 0x01010101) >>> 24;
26
+ }
27
+ function slot(bitmap, bit) {
28
+ return count(bitmap & (bit - 1));
29
+ }
30
+ function lookup(root, key) {
31
+ const hash = hashOf(key);
32
+ let node = root.node;
33
+ let shift = 0;
34
+ while (node !== undefined) {
35
+ if (isLeaf(node))
36
+ return node.key === key ? node : undefined;
37
+ if (isCollision(node))
38
+ return node.leaves.find((leaf) => leaf.key === key);
39
+ const bit = 1 << fragment(hash, shift);
40
+ if ((node.bitmap & bit) === 0)
41
+ return undefined;
42
+ node = node.children[slot(node.bitmap, bit)];
43
+ shift += BITS;
44
+ }
45
+ return undefined;
46
+ }
47
+ function branchOf(node, shift) {
48
+ return { bitmap: 1 << fragment(node.hash, shift), children: [node] };
49
+ }
50
+ function joined(left, right, shift) {
51
+ if (left.hash === right.hash) {
52
+ const leaves = isCollision(left) ? left.leaves : [left];
53
+ return { hash: right.hash, leaves: [...leaves, right] };
54
+ }
55
+ return put(branchOf(left, shift), right, shift);
56
+ }
57
+ function put(node, leaf, shift) {
58
+ if (node === undefined)
59
+ return leaf;
60
+ if (isLeaf(node)) {
61
+ if (node.key !== leaf.key)
62
+ return joined(node, leaf, shift);
63
+ return node.value === leaf.value ? node : leaf;
64
+ }
65
+ if (isCollision(node)) {
66
+ if (node.hash !== leaf.hash)
67
+ return joined(node, leaf, shift);
68
+ const at = node.leaves.findIndex((held) => held.key === leaf.key);
69
+ if (at === -1)
70
+ return { hash: node.hash, leaves: [...node.leaves, leaf] };
71
+ if (node.leaves[at].value === leaf.value)
72
+ return node;
73
+ return {
74
+ hash: node.hash,
75
+ leaves: node.leaves.map((held, index) => (index === at ? leaf : held)),
76
+ };
77
+ }
78
+ const bit = 1 << fragment(leaf.hash, shift);
79
+ const at = slot(node.bitmap, bit);
80
+ if ((node.bitmap & bit) === 0) {
81
+ return {
82
+ bitmap: node.bitmap | bit,
83
+ children: [...node.children.slice(0, at), leaf, ...node.children.slice(at)],
84
+ };
85
+ }
86
+ const child = node.children[at];
87
+ const next = put(child, leaf, shift + BITS);
88
+ if (next === child)
89
+ return node;
90
+ return {
91
+ bitmap: node.bitmap,
92
+ children: node.children.map((held, index) => (index === at ? next : held)),
93
+ };
94
+ }
95
+ function lone(node) {
96
+ if (node.children.length !== 1)
97
+ return null;
98
+ const [only] = node.children;
99
+ return isLeaf(only) || isCollision(only) ? only : null;
100
+ }
101
+ function taken(node, hash, key, shift) {
102
+ if (isLeaf(node))
103
+ return node.key === key ? undefined : node;
104
+ if (isCollision(node)) {
105
+ const leaves = node.leaves.filter((leaf) => leaf.key !== key);
106
+ if (leaves.length === node.leaves.length)
107
+ return node;
108
+ return leaves.length === 1 ? leaves[0] : { hash: node.hash, leaves };
109
+ }
110
+ const bit = 1 << fragment(hash, shift);
111
+ if ((node.bitmap & bit) === 0)
112
+ return node;
113
+ const at = slot(node.bitmap, bit);
114
+ const child = node.children[at];
115
+ const next = taken(child, hash, key, shift + BITS);
116
+ if (next === child)
117
+ return node;
118
+ if (next === undefined) {
119
+ if (node.children.length === 1)
120
+ return undefined;
121
+ const rest = {
122
+ bitmap: node.bitmap & ~bit,
123
+ children: node.children.filter((_, index) => index !== at),
124
+ };
125
+ return lone(rest) ?? rest;
126
+ }
127
+ const replaced = {
128
+ bitmap: node.bitmap,
129
+ children: node.children.map((held, index) => (index === at ? next : held)),
130
+ };
131
+ return lone(replaced) ?? replaced;
132
+ }
133
+ function* leavesOf(node) {
134
+ if (node === undefined)
135
+ return;
136
+ if (isLeaf(node)) {
137
+ yield node;
138
+ return;
139
+ }
140
+ if (isCollision(node)) {
141
+ yield* node.leaves;
142
+ return;
143
+ }
144
+ for (const child of node.children)
145
+ yield* leavesOf(child);
146
+ }
147
+ function facade(root) {
148
+ let keys;
149
+ const target = {};
150
+ const map = new Proxy(target, {
151
+ get(held, property, receiver) {
152
+ if (typeof property === 'string') {
153
+ const leaf = lookup(root, property);
154
+ if (leaf !== undefined)
155
+ return leaf.value;
156
+ }
157
+ return Reflect.get(held, property, receiver);
158
+ },
159
+ has(held, property) {
160
+ return ((typeof property === 'string' && lookup(root, property) !== undefined) ||
161
+ Reflect.has(held, property));
162
+ },
163
+ ownKeys() {
164
+ keys ??= [...leavesOf(root.node)].map((leaf) => leaf.key);
165
+ return keys;
166
+ },
167
+ getOwnPropertyDescriptor(_held, property) {
168
+ if (typeof property !== 'string')
169
+ return undefined;
170
+ const leaf = lookup(root, property);
171
+ if (leaf === undefined)
172
+ return undefined;
173
+ return { value: leaf.value, writable: false, enumerable: true, configurable: true };
174
+ },
175
+ set: () => false,
176
+ defineProperty: () => false,
177
+ deleteProperty: () => false,
178
+ });
179
+ roots.set(map, root);
180
+ return map;
181
+ }
182
+ function rootOf(map) {
183
+ const held = roots.get(map);
184
+ if (held !== undefined)
185
+ return held;
186
+ let node;
187
+ let size = 0;
188
+ for (const [key, value] of Object.entries(map)) {
189
+ node = put(node, { key, hash: hashOf(key), value }, 0);
190
+ size += 1;
191
+ }
192
+ return { node, size };
193
+ }
194
+ export function shared(map) {
195
+ return roots.has(map) ? map : facade(rootOf(map));
196
+ }
197
+ export function patched(base, set, removed = []) {
198
+ const root = rootOf(base);
199
+ const weighed = [...(tallies.get(base) ?? [])];
200
+ let node = root.node;
201
+ let size = root.size;
202
+ const shift = (key, before, after) => {
203
+ for (const entry of weighed) {
204
+ entry[1] +=
205
+ (after === undefined ? 0 : entry[0](key, after)) -
206
+ (before === undefined ? 0 : entry[0](key, before.value));
207
+ }
208
+ };
209
+ for (const key of removed) {
210
+ if (node === undefined)
211
+ break;
212
+ const before = lookup({ node, size }, key);
213
+ if (before === undefined)
214
+ continue;
215
+ node = taken(node, before.hash, key, 0);
216
+ size -= 1;
217
+ shift(key, before, undefined);
218
+ }
219
+ for (const [key, value] of set) {
220
+ const before = lookup({ node, size }, key);
221
+ node = put(node, { key, hash: hashOf(key), value }, 0);
222
+ if (before === undefined)
223
+ size += 1;
224
+ shift(key, before, value);
225
+ }
226
+ if (node === root.node && roots.has(base))
227
+ return base;
228
+ const map = facade({ node, size });
229
+ if (weighed.length > 0)
230
+ tallies.set(map, new Map(weighed));
231
+ return map;
232
+ }
233
+ export function tally(map, weigh) {
234
+ const held = tallies.get(map);
235
+ const known = held?.get(weigh);
236
+ if (known !== undefined)
237
+ return known;
238
+ let total = 0;
239
+ for (const [key, value] of Object.entries(map))
240
+ total += weigh(key, value);
241
+ if (roots.has(map)) {
242
+ const kept = held ?? new Map();
243
+ kept.set(weigh, total);
244
+ tallies.set(map, kept);
245
+ }
246
+ return total;
247
+ }
248
+ export function sizeOf(map) {
249
+ return roots.get(map)?.size ?? Object.keys(map).length;
250
+ }
251
+ function collect(node, into) {
252
+ for (const leaf of leavesOf(node))
253
+ into.add(leaf.key);
254
+ }
255
+ function compared(left, right, shift, same, into) {
256
+ if (left === right)
257
+ return;
258
+ if (left === undefined)
259
+ return collect(right, into);
260
+ if (right === undefined)
261
+ return collect(left, into);
262
+ if (!isLeaf(left) && !isCollision(left) && !isLeaf(right) && !isCollision(right)) {
263
+ const bits = left.bitmap | right.bitmap;
264
+ for (let remaining = bits; remaining !== 0; remaining &= remaining - 1) {
265
+ const bit = remaining & -remaining;
266
+ compared((left.bitmap & bit) === 0 ? undefined : left.children[slot(left.bitmap, bit)], (right.bitmap & bit) === 0 ? undefined : right.children[slot(right.bitmap, bit)], shift + BITS, same, into);
267
+ }
268
+ return;
269
+ }
270
+ const before = new Map([...leavesOf(left)].map((leaf) => [leaf.key, leaf.value]));
271
+ for (const leaf of leavesOf(right)) {
272
+ const held = before.get(leaf.key);
273
+ before.delete(leaf.key);
274
+ if (held === undefined || !same(held, leaf.value))
275
+ into.add(leaf.key);
276
+ }
277
+ for (const key of before.keys())
278
+ into.add(key);
279
+ }
280
+ export function differing(left, right, same = Object.is) {
281
+ const into = new Set();
282
+ if (left === right)
283
+ return into;
284
+ const leftRoot = roots.get(left);
285
+ const rightRoot = roots.get(right);
286
+ if (leftRoot !== undefined && rightRoot !== undefined) {
287
+ compared(leftRoot.node, rightRoot.node, 0, same, into);
288
+ return into;
289
+ }
290
+ for (const key of Object.keys(left)) {
291
+ if (!Object.hasOwn(right, key) || !same(left[key], right[key]))
292
+ into.add(key);
293
+ }
294
+ for (const key of Object.keys(right))
295
+ if (!Object.hasOwn(left, key))
296
+ into.add(key);
297
+ return into;
298
+ }
299
+ const drafts = new WeakMap();
300
+ const GONE = Symbol('gone');
301
+ export function drafted(base) {
302
+ const written = new Map();
303
+ const read = (key) => {
304
+ const held = written.get(key);
305
+ if (held === GONE)
306
+ return undefined;
307
+ return held ?? (Object.hasOwn(base, key) ? base[key] : undefined);
308
+ };
309
+ const draft = new Proxy({}, {
310
+ get(held, property, receiver) {
311
+ if (typeof property === 'string') {
312
+ const value = read(property);
313
+ if (value !== undefined)
314
+ return value;
315
+ }
316
+ return Reflect.get(held, property, receiver);
317
+ },
318
+ has(held, property) {
319
+ return ((typeof property === 'string' && read(property) !== undefined) ||
320
+ Reflect.has(held, property));
321
+ },
322
+ ownKeys() {
323
+ const keys = new Set(Object.keys(base));
324
+ for (const [key, value] of written) {
325
+ if (value === GONE)
326
+ keys.delete(key);
327
+ else
328
+ keys.add(key);
329
+ }
330
+ return [...keys];
331
+ },
332
+ getOwnPropertyDescriptor(_held, property) {
333
+ if (typeof property !== 'string')
334
+ return undefined;
335
+ const value = read(property);
336
+ if (value === undefined)
337
+ return undefined;
338
+ return { value, writable: true, enumerable: true, configurable: true };
339
+ },
340
+ set(_held, property, value) {
341
+ if (typeof property !== 'string')
342
+ return false;
343
+ written.set(property, value);
344
+ return true;
345
+ },
346
+ deleteProperty(_held, property) {
347
+ if (typeof property !== 'string')
348
+ return false;
349
+ written.set(property, GONE);
350
+ return true;
351
+ },
352
+ defineProperty: () => false,
353
+ });
354
+ drafts.set(draft, { base, written });
355
+ return draft;
356
+ }
357
+ export function settled(draft) {
358
+ const held = drafts.get(draft);
359
+ const set = [];
360
+ const removed = [];
361
+ for (const [key, value] of held.written) {
362
+ if (value === GONE)
363
+ removed.push(key);
364
+ else
365
+ set.push([key, value]);
366
+ }
367
+ return patched(held.base, set, removed);
368
+ }
package/dist/status.d.ts CHANGED
@@ -1,11 +1,16 @@
1
+ import type { Open } from './open.js';
2
+ import type { ProviderRefusal } from './adapter.js';
1
3
  import type { ReturnReason } from './room-draft.js';
2
4
  export type AttentionEntry = {
3
5
  room: string;
4
6
  path: string;
5
7
  returned: ReturnReason;
8
+ } | {
9
+ room: string;
10
+ refusal: ProviderRefusal;
6
11
  };
7
12
  export type SyncStatus = {
8
- state: 'pending' | 'syncing' | 'synced';
13
+ state: Open<'pending' | 'syncing' | 'synced'>;
9
14
  lastCompleted: string | null;
10
15
  providerUnreachable: boolean;
11
16
  attentionRequired: readonly AttentionEntry[];
@@ -17,7 +22,6 @@ export type CycleProgress = {
17
22
  };
18
23
  export declare const STARTING: SyncStatus;
19
24
  export declare function transferring(status: SyncStatus): SyncStatus;
20
- export declare function settled(status: SyncStatus, progress: CycleProgress, at: string | null, queued: boolean, attention: Pick<SyncStatus, 'attentionRequired' | 'reset'>): SyncStatus;
21
25
  export declare function saving(status: SyncStatus): SyncStatus;
22
26
  export declare function same(one: SyncStatus, other: SyncStatus): boolean;
23
27
  //# sourceMappingURL=status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,UAMtB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAED,wBAAgB,OAAO,CACrB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,aAAa,EACvB,EAAE,EAAE,MAAM,GAAG,IAAI,EACjB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,GACzD,UAAU,CAOZ;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAErD;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAQhE"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE/C,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,UAMtB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAErD;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAQhE"}
package/dist/status.js CHANGED
@@ -8,14 +8,6 @@ export const STARTING = {
8
8
  export function transferring(status) {
9
9
  return { ...status, state: 'syncing' };
10
10
  }
11
- export function settled(status, progress, at, queued, attention) {
12
- return {
13
- state: queued ? 'pending' : progress.complete ? 'synced' : status.state,
14
- lastCompleted: progress.complete ? at : status.lastCompleted,
15
- providerUnreachable: !progress.reachable,
16
- ...attention,
17
- };
18
- }
19
11
  export function saving(status) {
20
12
  return { ...status, state: 'pending' };
21
13
  }