@agentshouse/mdruntime 0.1.0-c3903a68dcbbf → 0.1.0-c3fa75348e547

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 (206) hide show
  1. package/AGENTS.md +270 -181
  2. package/README.md +22 -12
  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 +160 -67
  7. package/dist/adapter.d.ts.map +1 -1
  8. package/dist/adapter.js +1 -9
  9. package/dist/attached-model.d.ts +11 -0
  10. package/dist/attached-model.d.ts.map +1 -0
  11. package/dist/attached-model.js +47 -0
  12. package/dist/attempt.d.ts +16 -0
  13. package/dist/attempt.d.ts.map +1 -0
  14. package/dist/attempt.js +70 -0
  15. package/dist/binary.d.ts +23 -0
  16. package/dist/binary.d.ts.map +1 -0
  17. package/dist/binary.js +8 -0
  18. package/dist/bootstrap.d.ts +21 -6
  19. package/dist/bootstrap.d.ts.map +1 -1
  20. package/dist/bootstrap.js +114 -38
  21. package/dist/change-set.d.ts +2 -0
  22. package/dist/change-set.d.ts.map +1 -1
  23. package/dist/change-set.js +50 -21
  24. package/dist/change.d.ts +15 -0
  25. package/dist/change.d.ts.map +1 -1
  26. package/dist/change.js +26 -1
  27. package/dist/chat/acts.d.ts +33 -0
  28. package/dist/chat/acts.d.ts.map +1 -0
  29. package/dist/chat/acts.js +36 -0
  30. package/dist/chat/context.d.ts +3 -0
  31. package/dist/chat/context.d.ts.map +1 -0
  32. package/dist/chat/context.js +10 -0
  33. package/dist/chat/input.d.ts +9 -0
  34. package/dist/chat/input.d.ts.map +1 -0
  35. package/dist/chat/input.js +99 -0
  36. package/dist/chat/kit.d.ts +61 -0
  37. package/dist/chat/kit.d.ts.map +1 -0
  38. package/dist/chat/kit.js +123 -0
  39. package/dist/chat/lasting.d.ts +6 -0
  40. package/dist/chat/lasting.d.ts.map +1 -0
  41. package/dist/chat/lasting.js +19 -0
  42. package/dist/chat/list.d.ts +27 -0
  43. package/dist/chat/list.d.ts.map +1 -0
  44. package/dist/chat/list.js +63 -0
  45. package/dist/chat/markdown.d.ts +20 -0
  46. package/dist/chat/markdown.d.ts.map +1 -0
  47. package/dist/chat/markdown.js +188 -0
  48. package/dist/chat/message.d.ts +6 -0
  49. package/dist/chat/message.d.ts.map +1 -0
  50. package/dist/chat/message.js +192 -0
  51. package/dist/chat/messages.d.ts +22 -0
  52. package/dist/chat/messages.d.ts.map +1 -0
  53. package/dist/chat/messages.js +155 -0
  54. package/dist/chat/name.d.ts +6 -0
  55. package/dist/chat/name.d.ts.map +1 -0
  56. package/dist/chat/name.js +37 -0
  57. package/dist/chat/opened.d.ts +11 -0
  58. package/dist/chat/opened.d.ts.map +1 -0
  59. package/dist/chat/opened.js +17 -0
  60. package/dist/chat/overlay.d.ts +31 -0
  61. package/dist/chat/overlay.d.ts.map +1 -0
  62. package/dist/chat/overlay.js +97 -0
  63. package/dist/chat/parts.d.ts +57 -0
  64. package/dist/chat/parts.d.ts.map +1 -0
  65. package/dist/chat/parts.js +119 -0
  66. package/dist/chat/process.d.ts +20 -0
  67. package/dist/chat/process.d.ts.map +1 -0
  68. package/dist/chat/process.js +32 -0
  69. package/dist/chat/provider.d.ts +63 -0
  70. package/dist/chat/provider.d.ts.map +1 -0
  71. package/dist/chat/provider.js +629 -0
  72. package/dist/chat/question.d.ts +9 -0
  73. package/dist/chat/question.d.ts.map +1 -0
  74. package/dist/chat/question.js +80 -0
  75. package/dist/chat/questions.d.ts +31 -0
  76. package/dist/chat/questions.d.ts.map +1 -0
  77. package/dist/chat/questions.js +111 -0
  78. package/dist/chat/read.d.ts +5 -0
  79. package/dist/chat/read.d.ts.map +1 -0
  80. package/dist/chat/read.js +13 -0
  81. package/dist/chat/ready.d.ts +34 -0
  82. package/dist/chat/ready.d.ts.map +1 -0
  83. package/dist/chat/ready.js +91 -0
  84. package/dist/chat/style.d.ts +4 -0
  85. package/dist/chat/style.d.ts.map +1 -0
  86. package/dist/chat/style.js +302 -0
  87. package/dist/chat.d.ts +14 -0
  88. package/dist/chat.d.ts.map +1 -0
  89. package/dist/chat.js +8 -0
  90. package/dist/client.d.ts +28 -20
  91. package/dist/client.d.ts.map +1 -1
  92. package/dist/client.js +78 -32
  93. package/dist/collection.d.ts +21 -14
  94. package/dist/collection.d.ts.map +1 -1
  95. package/dist/collection.js +270 -32
  96. package/dist/connection.d.ts +50 -38
  97. package/dist/connection.d.ts.map +1 -1
  98. package/dist/connection.js +2245 -876
  99. package/dist/conversation.d.ts +46 -19
  100. package/dist/conversation.d.ts.map +1 -1
  101. package/dist/conversation.js +632 -221
  102. package/dist/durability.d.ts +7 -1
  103. package/dist/durability.d.ts.map +1 -1
  104. package/dist/entry.d.ts +17 -0
  105. package/dist/entry.d.ts.map +1 -0
  106. package/dist/entry.js +156 -0
  107. package/dist/expectation.d.ts +21 -0
  108. package/dist/expectation.d.ts.map +1 -0
  109. package/dist/expectation.js +70 -0
  110. package/dist/failure.d.ts +13 -0
  111. package/dist/failure.d.ts.map +1 -0
  112. package/dist/failure.js +19 -0
  113. package/dist/fence.d.ts +6 -0
  114. package/dist/fence.d.ts.map +1 -0
  115. package/dist/fence.js +10 -0
  116. package/dist/host.d.ts +24 -3
  117. package/dist/host.d.ts.map +1 -1
  118. package/dist/host.js +128 -70
  119. package/dist/identity.d.ts +5 -0
  120. package/dist/identity.d.ts.map +1 -1
  121. package/dist/identity.js +19 -1
  122. package/dist/index.d.ts +16 -9
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +5 -1
  125. package/dist/memory.d.ts +21 -7
  126. package/dist/memory.d.ts.map +1 -1
  127. package/dist/memory.js +164 -47
  128. package/dist/model.d.ts +17 -14
  129. package/dist/model.d.ts.map +1 -1
  130. package/dist/model.js +16 -4
  131. package/dist/observation.d.ts +6 -1
  132. package/dist/observation.d.ts.map +1 -1
  133. package/dist/observation.js +38 -17
  134. package/dist/open.d.ts +2 -0
  135. package/dist/open.d.ts.map +1 -0
  136. package/dist/open.js +1 -0
  137. package/dist/outcome.d.ts +35 -22
  138. package/dist/outcome.d.ts.map +1 -1
  139. package/dist/outcome.js +42 -1
  140. package/dist/overlay.d.ts +16 -3
  141. package/dist/overlay.d.ts.map +1 -1
  142. package/dist/overlay.js +118 -77
  143. package/dist/paths.d.ts +0 -1
  144. package/dist/paths.d.ts.map +1 -1
  145. package/dist/paths.js +0 -16
  146. package/dist/query.d.ts +47 -6
  147. package/dist/query.d.ts.map +1 -1
  148. package/dist/query.js +86 -38
  149. package/dist/reach.d.ts +45 -0
  150. package/dist/reach.d.ts.map +1 -0
  151. package/dist/reach.js +306 -0
  152. package/dist/react.d.ts +44 -0
  153. package/dist/react.d.ts.map +1 -0
  154. package/dist/react.js +66 -0
  155. package/dist/read-side.d.ts +16 -5
  156. package/dist/read-side.d.ts.map +1 -1
  157. package/dist/read-side.js +408 -137
  158. package/dist/readiness.d.ts +53 -0
  159. package/dist/readiness.d.ts.map +1 -0
  160. package/dist/readiness.js +33 -0
  161. package/dist/reads.d.ts +11 -0
  162. package/dist/reads.d.ts.map +1 -0
  163. package/dist/reads.js +98 -0
  164. package/dist/recovery.d.ts +25 -0
  165. package/dist/recovery.d.ts.map +1 -0
  166. package/dist/recovery.js +197 -0
  167. package/dist/refresh.d.ts +13 -2
  168. package/dist/refresh.d.ts.map +1 -1
  169. package/dist/refresh.js +51 -36
  170. package/dist/replica.d.ts +10 -7
  171. package/dist/replica.d.ts.map +1 -1
  172. package/dist/replica.js +131 -79
  173. package/dist/room-draft.d.ts +41 -9
  174. package/dist/room-draft.d.ts.map +1 -1
  175. package/dist/room-draft.js +139 -28
  176. package/dist/rows.d.ts +11 -14
  177. package/dist/rows.d.ts.map +1 -1
  178. package/dist/rows.js +87 -50
  179. package/dist/save.d.ts +32 -3
  180. package/dist/save.d.ts.map +1 -1
  181. package/dist/save.js +465 -93
  182. package/dist/search.d.ts +39 -8
  183. package/dist/search.d.ts.map +1 -1
  184. package/dist/search.js +132 -46
  185. package/dist/seed.d.ts +16 -0
  186. package/dist/seed.d.ts.map +1 -0
  187. package/dist/seed.js +61 -0
  188. package/dist/shared.d.ts +11 -0
  189. package/dist/shared.d.ts.map +1 -0
  190. package/dist/shared.js +368 -0
  191. package/dist/status.d.ts +6 -2
  192. package/dist/status.d.ts.map +1 -1
  193. package/dist/status.js +0 -8
  194. package/dist/store.d.ts +87 -32
  195. package/dist/store.d.ts.map +1 -1
  196. package/dist/store.js +558 -225
  197. package/dist/turn.d.ts +7 -0
  198. package/dist/turn.d.ts.map +1 -0
  199. package/dist/turn.js +45 -0
  200. package/dist/wire.d.ts +162 -19
  201. package/dist/wire.d.ts.map +1 -1
  202. package/dist/wire.js +82 -67
  203. package/package.json +31 -7
  204. package/dist/attachment.d.ts +0 -3
  205. package/dist/attachment.d.ts.map +0 -1
  206. package/dist/attachment.js +0 -8
package/dist/host.js CHANGED
@@ -1,40 +1,37 @@
1
1
  import { composeRuntime, } from './connection.js';
2
+ import { queryKey } from './query.js';
3
+ import { described } from './failure.js';
2
4
  import { removeRuntimeStore } from './store.js';
3
- import { AUTHORIZATION_ENDED, carried, envelope, PROTOCOL_MISMATCH, request, } from './wire.js';
4
- function answered(md, app, writtenBy, member, input, deploymentFacts) {
5
+ import { AUTHORIZATION_ENDED, request, WIRE, } from './wire.js';
6
+ const NARROWED = new Set(['within', 'whole']);
7
+ function answered(md, app, writtenBy, member, input) {
5
8
  switch (member) {
6
9
  case 'rooms':
7
10
  return md.rooms();
8
- case 'slots':
9
- return md.slots();
10
11
  case 'query':
11
12
  return md.query(input[0]);
12
13
  case 'search':
13
14
  return md.search(input[0]);
14
15
  case 'types':
15
16
  return md.types(input[0]);
16
- case 'syncStatus':
17
- return md.syncStatus();
18
- case 'serviceMode':
19
- return md.serviceMode();
20
17
  case 'save':
21
18
  return md.save(input[0], input[1], writtenBy);
22
- case 'outcome':
23
- return md.outcome(input[0]);
24
19
  case 'history':
25
20
  return md.history(input[0], input[1], input[2]);
21
+ case 'binaryFile.read':
22
+ return md.binaryFile.read(input[0], input[1], input[2]);
23
+ case 'binaryFile.readReference':
24
+ return md.binaryFile.readReference(input[0]);
26
25
  case 'call':
27
26
  return md.call(input[0], input[1]);
28
27
  case 'reached':
29
28
  return md.reached(input[0], input[1], input[2]);
30
29
  case 'log':
31
30
  return md.log();
32
- case 'storageLoss':
33
- return md.storageLoss();
34
- case 'deploymentFacts':
35
- return structuredClone(deploymentFacts);
36
31
  case 'persistence':
37
32
  return md.persistence();
33
+ case 'retry':
34
+ return md.retry();
38
35
  case 'reauthorize':
39
36
  return md.reauthorize();
40
37
  case 'roomDraft.list':
@@ -56,7 +53,7 @@ function answered(md, app, writtenBy, member, input, deploymentFacts) {
56
53
  case 'conversation.create':
57
54
  return md.conversation.create(input[0]);
58
55
  case 'conversation.send':
59
- return md.conversation.send(input[0]);
56
+ return md.conversation.send(input[0], input[1], input[2]);
60
57
  case 'conversation.answer':
61
58
  return md.conversation.answer(input[0], input[1]);
62
59
  case 'conversation.interrupt':
@@ -68,13 +65,21 @@ function answered(md, app, writtenBy, member, input, deploymentFacts) {
68
65
  case 'conversation.delete':
69
66
  return md.conversation.delete(input[0]);
70
67
  case 'chatDraft.write':
71
- return md.chatDraft.write(input[0], input[1]);
68
+ return md.chatDraft.write(input[0], input[1], input[2]);
72
69
  case 'chatDraft.discard':
73
70
  return md.chatDraft.discard(input[0]);
74
71
  }
75
72
  }
73
+ function answeredResult(value) {
74
+ return typeof value === 'object' && value !== null && !('pending' in value);
75
+ }
76
+ function answeredMessage(value) {
77
+ if (typeof value !== 'object' || value === null)
78
+ return false;
79
+ return !('result' in value) || answeredResult(value.result);
80
+ }
76
81
  export function serveMdRuntime(options) {
77
- let deploymentFacts = structuredClone(options.deploymentFacts);
82
+ const deploymentFacts = structuredClone(options.deploymentFacts);
78
83
  const closing = new AbortController();
79
84
  const close = () => {
80
85
  closing.abort();
@@ -83,86 +88,92 @@ export function serveMdRuntime(options) {
83
88
  if (options.signal?.aborted === true)
84
89
  close();
85
90
  const runtime = composeRuntime({ ...options, signal: closing.signal });
86
- const { md, watch } = runtime;
91
+ const { md } = runtime;
87
92
  const attachments = new Map();
88
93
  let authorized = true;
89
- const factsObservers = new Set();
90
94
  const watchFacts = (deliver) => {
91
- factsObservers.add(deliver);
92
95
  deliver(structuredClone(deploymentFacts));
93
- return () => {
94
- factsObservers.delete(deliver);
95
- };
96
+ return () => { };
96
97
  };
97
- function attach(port, app, release) {
98
+ function attach(port, app, release, reach, code = 'stored', search = 'unused') {
98
99
  if (!authorized)
99
100
  throw new Error(AUTHORIZATION_ENDED);
100
101
  const writtenBy = release === undefined ? undefined : { app, release };
101
- const subscriptions = new Map();
102
+ let facts = { target: app, code, capacity: null, search };
103
+ const view = runtime.within(reach ?? null, facts);
104
+ const observations = new Map();
105
+ const followed = new Set();
106
+ const answeredKeys = new Set();
107
+ let awaited = null;
102
108
  let serving = true;
109
+ const answeredQuery = (query) => {
110
+ answeredKeys.add(queryKey(query));
111
+ if (awaited === null || !awaited.keys.every((key) => answeredKeys.has(key)))
112
+ return;
113
+ const { done } = awaited;
114
+ awaited = null;
115
+ done();
116
+ };
103
117
  const send = (message) => {
104
- port.postMessage(envelope(message));
118
+ port.postMessage(message);
105
119
  };
106
120
  const detach = () => {
107
121
  if (!serving)
108
122
  return;
109
123
  serving = false;
110
- for (const end of subscriptions.values())
124
+ for (const end of observations.values())
125
+ end();
126
+ observations.clear();
127
+ for (const end of [...followed])
111
128
  end();
112
- subscriptions.clear();
113
129
  attachments.delete(detach);
114
130
  };
131
+ const observe = (id, topic, input) => {
132
+ let resolved = false;
133
+ const deliver = (value) => {
134
+ if (!serving)
135
+ return;
136
+ send(resolved ? { kind: 'event', id, value } : { kind: 'result', id, value });
137
+ resolved = true;
138
+ if (topic === 'query' && answeredMessage(value))
139
+ answeredQuery(input[0]);
140
+ };
141
+ observations.set(id, topic === 'deployment-facts'
142
+ ? watchFacts(deliver)
143
+ : (NARROWED.has(WIRE.topics[topic]) ? view : runtime).watch(topic, topic === 'presentation' ? [app] : input, deliver));
144
+ };
115
145
  const serve = async (message) => {
116
146
  if (message.kind === 'hello')
117
147
  return;
118
148
  if (message.kind === 'stop') {
119
- subscriptions.get(message.id)?.();
120
- subscriptions.delete(message.id);
149
+ observations.get(message.id)?.();
150
+ observations.delete(message.id);
121
151
  return;
122
152
  }
123
153
  try {
124
154
  if (message.kind !== 'observe' || message.topic !== 'room-drafts')
125
155
  await md.loaded();
126
156
  if (message.kind === 'observe') {
127
- const { id, topic } = message;
128
- let resolved = false;
129
- const deliver = (value) => {
130
- if (!serving)
131
- return;
132
- send(resolved ? { kind: 'event', id, value } : { kind: 'result', id, value });
133
- resolved = true;
134
- };
135
- subscriptions.set(id, topic === 'deployment-facts'
136
- ? watchFacts(deliver)
137
- : watch(topic, topic === 'presentation' ? [app] : message.input, deliver));
157
+ if (serving)
158
+ observe(message.id, message.topic, message.input);
138
159
  return;
139
160
  }
140
- const value = await answered(md, app, writtenBy, message.member, message.input, deploymentFacts);
141
- if (serving)
142
- send({ kind: 'result', id: message.id, value });
161
+ const value = await answered(NARROWED.has(WIRE.members[message.member].reach) ? view.md : md, app, writtenBy, message.member, message.input);
162
+ if (!serving)
163
+ return;
164
+ send({ kind: 'result', id: message.id, value });
165
+ if (message.member === 'query' && answeredResult(value))
166
+ answeredQuery(message.input[0]);
143
167
  }
144
168
  catch (error) {
145
- if (serving) {
146
- send({
147
- kind: 'failure',
148
- id: message.id,
149
- message: error instanceof Error ? error.message : String(error),
150
- });
151
- }
169
+ if (serving)
170
+ send({ kind: 'failure', id: message.id, ...described(error) });
152
171
  }
153
172
  };
154
173
  port.addEventListener('message', (event) => {
155
174
  if (!serving)
156
175
  return;
157
- const wire = carried(event.data);
158
- if (wire === null)
159
- return;
160
- if (!wire.matching) {
161
- send({ kind: 'refusal', refusal: PROTOCOL_MISMATCH });
162
- detach();
163
- return;
164
- }
165
- const message = request(wire.message);
176
+ const message = request(event.data);
166
177
  if (message === null)
167
178
  return;
168
179
  void serve(message);
@@ -170,29 +181,76 @@ export function serveMdRuntime(options) {
170
181
  port.addEventListener('close', detach);
171
182
  port.start();
172
183
  attachments.set(detach, send);
173
- return detach;
184
+ return {
185
+ detach,
186
+ narrow(next) {
187
+ if (serving)
188
+ view.narrow(next);
189
+ },
190
+ code(next, capacity) {
191
+ if (!serving)
192
+ return;
193
+ facts = { ...facts, code: next, capacity };
194
+ view.facts(facts);
195
+ },
196
+ search(next) {
197
+ if (!serving)
198
+ return;
199
+ facts = { ...facts, search: next };
200
+ view.facts(facts);
201
+ },
202
+ answered(queries, done) {
203
+ const keys = queries.map(queryKey);
204
+ if (keys.every((key) => answeredKeys.has(key)))
205
+ done();
206
+ else
207
+ awaited = { keys, done };
208
+ },
209
+ readiness(deliver) {
210
+ if (!serving)
211
+ return () => { };
212
+ const stop = view.watch('readiness', [], (value) => {
213
+ if (serving)
214
+ deliver(value);
215
+ });
216
+ const end = () => {
217
+ followed.delete(end);
218
+ stop();
219
+ };
220
+ followed.add(end);
221
+ return end;
222
+ },
223
+ };
174
224
  }
175
225
  return {
176
226
  attach,
177
- replaceDeploymentFacts(value) {
178
- if (!authorized)
179
- throw new Error(AUTHORIZATION_ENDED);
180
- deploymentFacts = structuredClone(value);
181
- for (const deliver of factsObservers)
182
- deliver(structuredClone(deploymentFacts));
227
+ acquire(demand) {
228
+ runtime.acquire(demand);
229
+ },
230
+ seed(entry) {
231
+ runtime.seed(entry);
183
232
  },
184
- async endAuthorization() {
233
+ persisted(answer) {
234
+ runtime.persisted(answer);
235
+ },
236
+ async endAuthorization(holder) {
185
237
  authorized = false;
186
238
  for (const [detach, send] of [...attachments]) {
187
239
  send({ kind: 'ended' });
188
240
  detach();
189
241
  }
190
242
  close();
191
- await removeRuntimeStore();
192
- await options.shell.dropGeneration();
243
+ if (!(await removeRuntimeStore(holder)))
244
+ await options.shell.dropGeneration();
245
+ },
246
+ lose(locators) {
247
+ return runtime.lose(locators);
193
248
  },
194
249
  stop() {
195
250
  return runtime.stop();
196
251
  },
197
252
  };
198
253
  }
254
+ export { entrySeedOf } from './seed.js';
255
+ export { createRecovery, retryDelay, } from './recovery.js';
256
+ export { AUTHORED_SCHEMA, authoredBinding, authoredBy, authoredHolder, bindAuthored, openDatabase, STORE_SCHEMA, } from './store.js';
@@ -1,3 +1,8 @@
1
1
  export declare function changeBatchIdentity(at?: number): string;
2
+ export declare function identityTime(identity: string): number;
2
3
  export declare function roomDraftRevision(): string;
4
+ export declare function chatDraftRevision(): string;
5
+ export declare function transferIdentity(): string;
6
+ export declare function indexGeneration(): string;
7
+ export declare function binaryLocalId(): string;
3
8
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,EAAE,GAAE,MAAmB,GAAG,MAAM,CAWnE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,EAAE,GAAE,MAAmB,GAAG,MAAM,CAWnE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAQD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
package/dist/identity.js CHANGED
@@ -10,8 +10,26 @@ export function changeBatchIdentity(at = Date.now()) {
10
10
  const hex = [...bytes].map((byte) => byte.toString(16).padStart(2, '0')).join('');
11
11
  return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
12
12
  }
13
- export function roomDraftRevision() {
13
+ export function identityTime(identity) {
14
+ return Number.parseInt(identity.replaceAll('-', '').slice(0, 12), 16);
15
+ }
16
+ function randomIdentity() {
14
17
  const bytes = new Uint8Array(16);
15
18
  crypto.getRandomValues(bytes);
16
19
  return [...bytes].map((byte) => byte.toString(16).padStart(2, '0')).join('');
17
20
  }
21
+ export function roomDraftRevision() {
22
+ return randomIdentity();
23
+ }
24
+ export function chatDraftRevision() {
25
+ return randomIdentity();
26
+ }
27
+ export function transferIdentity() {
28
+ return randomIdentity();
29
+ }
30
+ export function indexGeneration() {
31
+ return randomIdentity();
32
+ }
33
+ export function binaryLocalId() {
34
+ return randomIdentity();
35
+ }
package/dist/index.d.ts CHANGED
@@ -1,18 +1,25 @@
1
- export type { AcceptedMessage, ActionDeclaration, ActionRequest, ActionResult, Adapter, AdapterFailure, Authorization, BootstrapPage, BootstrapRequest, BootstrapResult, Capability, ChangeAuthor, ContractUnavailable, ConversationAction, ConversationCards, ConversationEvent, ConversationHistories, ConversationHistoryPage, ConversationHistoryRequest, ConversationMessage, ConversationStream, DiscoverResult, DiscoveredRoom, Discovery, HistoryAuthor, HistoryRequest, HistoryResult, HistoryRetention, HistoryRevision, MdModelIdentity, ModelRequest, MutationRequest, MutationResult, PageToken, ProviderLimit, ProviderRefusal, RefreshPage, RefreshRequest, RefreshResult, Retention, RetryableRefusal, RevokedAuthorization, RoomAttachment, RoomNotReadable, RoomVersionAt, RoomVersionNotification, SelectedRooms, ServiceMode, ServiceModeSignal, TransportUncertainty, TypedSelection, WorkingNote, } from './adapter.js';
1
+ export type { AcquiredDemand, AcceptedMessage, ActionDeclaration, ActionRequest, ActionResult, Adapter, AdapterFailure, Authorization, BinaryFile, BinaryRequest, BinaryResult, ReferrerScope, BootstrapPage, BootstrapRequest, BootstrapResult, Capability, ChangeAuthor, ContractUnavailable, ConversationAction, ConversationAgents, ConversationEvent, ConversationHistories, ConversationHistoryPage, ConversationHistoryRequest, ConversationMessage, ConversationStream, DiscoverResult, DiscoveredRoom, Discovery, HistoryAuthor, HistoryRequest, HistoryResult, HistoryRetention, HistoryRevision, HeldContent, HeldRoom, KeptReceipt, ListedConversation, MdModelIdentity, Member, MutationRequest, MutationResult, PageToken, ProviderLimit, ProviderRefusal, RefreshPage, RefreshRequest, RefreshResult, Retention, RetryableRefusal, RevokedAuthorization, RoomModels, RoomNotReadable, RoomStream, RoomStreamEvent, RoomVersionAt, ServiceMode, ServiceModeSignal, StreamReceipts, TransportUncertainty, TurnContext, TurnOperation, TypedSelection, } from './adapter.js';
2
2
  export type { Change, ChangeBatch, Precondition, WrittenBy } from './change.js';
3
- export type { ChatDraft, ChatDraftSurface, ConversationEntry, ConversationOptions, ConversationSurface, ConversationView, GrowingText, } from './conversation.js';
3
+ export type { ChatDraft, ChatDraftSurface, ConversationAgent, ConversationEntry, ConversationOptions, ConversationState, ConversationSurface, ConversationView, RunningTurn, } from './conversation.js';
4
4
  export type { ChatDraftFile, FileDeclaration } from './file.js';
5
- export type { AppRoom, AppSlot, AppSlotEntry, AppTypedSelection, ConnectionRefusal, ConnectionRefusalReason, HistoryQuery, MdRuntime, MdRuntimeOptions, PresentationSurface, RoomDraftSurface, RoomTypes, SavedRoomDraft, SaveResult, } from './connection.js';
5
+ export type { AppRoom, AppTypedSelection, BinaryFileSurface, ConnectionRefusal, ConnectionRefusalCode, HistoryQuery, MdRuntime, MdRuntimeOptions, PresentationSurface, RoomDraftSurface, RoomSchemas, SavedRoomDraft, SaveResult, } from './connection.js';
6
6
  export type { Observation } from './observation.js';
7
- export type { AcceptedOutcome, AffectedState, CallResult, QueueEntry, Submission, SubmissionOutcome, } from './outcome.js';
8
- export type { ChangedPart, FieldValue, ReturnReason, RoomDraft, RoomDraftCreation, RoomDraftParts, RoomDraftWrite, } from './room-draft.js';
7
+ export type { BinaryAnswer, CallResult, Failure, HistoryAnswer, Offline, QueueEntry, Submission, } from './outcome.js';
8
+ export type { BinaryFileRecord, BinaryReference } from './binary.js';
9
+ export type { RuntimeError } from './failure.js';
10
+ export type { ChangedPart, FieldValue, ReturnReason, RoomDraft, RoomDraftCreation, RoomDraftParts, RoomDraftWrite, TextParts, } from './room-draft.js';
9
11
  export type { SaveRefusal } from './save.js';
10
- export type { DocumentHit, DocumentPart, MessageHit, SearchRequest, SearchResult, } from './search.js';
12
+ export type { DocumentHit, DocumentPart, MessageHit, PendingConversation, SearchCoverage, SearchHits, SearchPending, SearchRequest, SearchResult, SearchUndeclared, } from './search.js';
13
+ export { departure } from './change.js';
14
+ export { partsAfter } from './room-draft.js';
15
+ export { SESSION_STARTED } from './conversation.js';
11
16
  export { changeBatchIdentity } from './identity.js';
12
- export { createMdRuntime } from './connection.js';
13
- export type { RuntimeShell } from './durability.js';
17
+ export { attempts, identities, intentOf, type Answered, type Attempt, type Attempts, type Identities, } from './attempt.js';
18
+ export { expectedList, expecting, type ExpectedOf, type Expecting } from './expectation.js';
19
+ export type { RuntimeShell, StorageEstimate } from './durability.js';
20
+ export type { CapacityCause, CodeAvailability, ConnectionAvailability, ConversationCoverage, Durability, HouseOutcome, Persistence, Readiness, ReadinessStatus, RefusedRoom, RoomCoverage, RoomPreparation, SearchObligation, TargetCoverage, } from './readiness.js';
14
21
  export type { AttentionEntry, SyncStatus } from './status.js';
15
- export type { Backlink, Direction, DocumentQuery, DocumentResult, Filter, GroupQuery, GroupResult, Key, LocalQuery, OrderOptions, Predicate, QueryDocument, QueryGroup, QueryResult, Related, Select, Value, Where, } from './query.js';
22
+ export type { Awaits, Backlink, CoveredRoom, Direction, DocumentQuery, DocumentResult, Filter, GroupQuery, GroupResult, Key, LocalQuery, OrderOptions, PendingResult, PendingRoom, Predicate, QueryCoverage, QueryDocument, QueryGroup, QueryResult, QueryRows, Related, Select, Value, Where, } from './query.js';
16
23
  export type { MdType, ModelIdentity, ModelSnapshot, ModelState, ModelResult, TypesResult, ValidationReceipt, } from './model.js';
17
24
  export type { OperationScopes, ReplicaAdmission, ScopedRefusal } from './adapter.js';
18
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAChE,YAAY,EACV,OAAO,EACP,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EACV,eAAe,EACf,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,cAAc,EACd,MAAM,EACN,UAAU,EACV,WAAW,EACX,GAAG,EACH,UAAU,EACV,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,OAAO,EACP,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,MAAM,EACN,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,6 @@
1
+ export { departure } from './change.js';
2
+ export { partsAfter } from './room-draft.js';
3
+ export { SESSION_STARTED } from './conversation.js';
1
4
  export { changeBatchIdentity } from './identity.js';
2
- export { createMdRuntime } from './connection.js';
5
+ export { attempts, identities, intentOf, } from './attempt.js';
6
+ export { expectedList, expecting } from './expectation.js';
package/dist/memory.d.ts CHANGED
@@ -1,16 +1,18 @@
1
1
  import type { ModelResult } from './model.js';
2
- import { type AcceptedMessage, type ActionResult, type Adapter, type Capability, type ConversationAction, type ConversationEvent, type DiscoveredRoom, type HeadChange, type MdModelIdentity, type ProviderLimit, type Retention, type RoomAttachment, type RoomVersionNotification, type ServiceMode } from './adapter.js';
2
+ import { type AcceptedMessage, type ActionResult, type Adapter, type BinaryFile, type Capability, type ConversationAction, type ConversationEvent, type DiscoveredRoom, type HeadChange, type ListedConversation, type Member, type ProviderLimit, type Retention, type AcquiredDemand, type ServiceMode } from './adapter.js';
3
3
  export type MemoryRoom = DiscoveredRoom & {
4
4
  model?: ModelResult;
5
5
  selectionModel?: ModelResult;
6
6
  documents?: Readonly<Record<string, string>>;
7
7
  revisions?: Readonly<Record<string, string>>;
8
+ fileIds?: Readonly<Record<string, string>>;
8
9
  changes?: Readonly<Record<string, HeadChange>>;
9
- binaryTargets?: readonly string[];
10
- attachments?: readonly RoomAttachment[];
10
+ binaryFiles?: Readonly<Record<string, BinaryFile>>;
11
+ blobs?: Readonly<Record<string, Blob>>;
11
12
  };
12
13
  export type MemoryConversation = {
13
14
  conversation: string;
15
+ listed?: Omit<ListedConversation, 'conversation'>;
14
16
  messages?: readonly AcceptedMessage[];
15
17
  outcomes?: Partial<Record<ConversationAction, ActionResult>>;
16
18
  };
@@ -19,20 +21,32 @@ export type MemoryAdapterOptions = {
19
21
  conversations?: readonly MemoryConversation[];
20
22
  historyPageSize?: number;
21
23
  pageSize?: number;
22
- mdModel?: MdModelIdentity;
23
- supportedVersions?: readonly number[];
24
24
  capabilities?: readonly Capability[];
25
25
  providerLimits?: readonly ProviderLimit[];
26
26
  retention?: Retention;
27
+ member?: Member;
28
+ unopened?: boolean;
29
+ exhaustiveDiscovery?: true;
27
30
  };
28
31
  export type MemoryAdapter = Adapter & {
29
32
  setRooms(rooms: readonly MemoryRoom[]): void;
30
33
  setConversations(conversations: readonly MemoryConversation[]): void;
31
34
  script(operation: keyof Adapter, answer: unknown): void;
32
- notifyRoomVersion(notification: RoomVersionNotification): void;
35
+ open(): void;
36
+ close(closing?: {
37
+ revoked?: boolean;
38
+ lost?: boolean;
39
+ }): void;
40
+ expire(locators: readonly string[]): void;
41
+ notifyRoomVersion(notification: {
42
+ locator: string;
43
+ roomVersion: string;
44
+ }): void;
45
+ notifyAuthorityChanged(): void;
33
46
  notifyConversation(event: ConversationEvent): void;
34
47
  notifyServiceMode(mode: ServiceMode): void;
35
- selectedRooms(): readonly string[];
48
+ heldRooms(): readonly string[];
49
+ heldDemand(): AcquiredDemand | null;
36
50
  replicatedConversations(): readonly string[];
37
51
  };
38
52
  export declare function createMemoryAdapter(options?: MemoryAdapterOptions): MemoryAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAEL,KAAK,eAAe,EAEpB,KAAK,YAAY,EACjB,KAAK,OAAO,EAIZ,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAItB,KAAK,cAAc,EACnB,KAAK,UAAU,EAGf,KAAK,eAAe,EAGpB,KAAK,aAAa,EAGlB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAmBtB,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG;IACxC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IAC7C,gBAAgB,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACrE,MAAM,CAAC,SAAS,EAAE,MAAM,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACxD,iBAAiB,CAAC,YAAY,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC/D,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnD,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3C,aAAa,IAAI,SAAS,MAAM,EAAE,CAAC;IACnC,uBAAuB,IAAI,SAAS,MAAM,EAAE,CAAC;CAC9C,CAAC;AA+BF,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAkZrF"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}