@agentshouse/mdruntime 0.1.0-c44866799613e → 0.1.0-c44d5cc00aee5

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 (314) hide show
  1. package/README.md +18 -17
  2. package/dist/acceptance.d.ts +3 -0
  3. package/dist/acceptance.d.ts.map +1 -0
  4. package/dist/acceptance.js +299 -0
  5. package/dist/act-lanes.d.ts +30 -0
  6. package/dist/act-lanes.d.ts.map +1 -0
  7. package/dist/act-lanes.js +225 -0
  8. package/dist/actions.d.ts +26 -0
  9. package/dist/actions.d.ts.map +1 -0
  10. package/dist/actions.js +302 -0
  11. package/dist/adapter.d.ts +110 -112
  12. package/dist/adapter.d.ts.map +1 -1
  13. package/dist/attached-model.d.ts +3 -11
  14. package/dist/attached-model.d.ts.map +1 -1
  15. package/dist/attached-model.js +28 -51
  16. package/dist/bootstrap.d.ts +15 -18
  17. package/dist/bootstrap.d.ts.map +1 -1
  18. package/dist/bootstrap.js +252 -158
  19. package/dist/cell.d.ts +6 -0
  20. package/dist/cell.d.ts.map +1 -0
  21. package/dist/cell.js +9 -0
  22. package/dist/chain.d.ts +2 -1
  23. package/dist/chain.d.ts.map +1 -1
  24. package/dist/change-set.d.ts +4 -0
  25. package/dist/change-set.d.ts.map +1 -1
  26. package/dist/change-set.js +6 -0
  27. package/dist/change.d.ts +1 -0
  28. package/dist/change.d.ts.map +1 -1
  29. package/dist/change.js +4 -2
  30. package/dist/chat-types.d.ts +3 -0
  31. package/dist/chat-types.d.ts.map +1 -0
  32. package/dist/chat-types.js +11 -0
  33. package/dist/client.d.ts +27 -21
  34. package/dist/client.d.ts.map +1 -1
  35. package/dist/client.js +36 -17
  36. package/dist/collection.d.ts +23 -7
  37. package/dist/collection.d.ts.map +1 -1
  38. package/dist/collection.js +13 -19
  39. package/dist/compile.d.ts +8 -6
  40. package/dist/compile.d.ts.map +1 -1
  41. package/dist/compile.js +288 -329
  42. package/dist/connection.d.ts +5 -143
  43. package/dist/connection.d.ts.map +1 -1
  44. package/dist/connection.js +109 -5104
  45. package/dist/context.d.ts +2 -0
  46. package/dist/context.d.ts.map +1 -0
  47. package/dist/context.js +7 -0
  48. package/dist/conversation-live.d.ts +143 -0
  49. package/dist/conversation-live.d.ts.map +1 -0
  50. package/dist/conversation-live.js +254 -0
  51. package/dist/conversation-row.d.ts +33 -0
  52. package/dist/conversation-row.d.ts.map +1 -0
  53. package/dist/conversation-row.js +53 -0
  54. package/dist/conversation.d.ts +65 -48
  55. package/dist/conversation.d.ts.map +1 -1
  56. package/dist/conversation.js +987 -838
  57. package/dist/declaration.d.ts +10 -0
  58. package/dist/declaration.d.ts.map +1 -0
  59. package/dist/declaration.js +24 -0
  60. package/dist/discovery.d.ts +10 -0
  61. package/dist/discovery.d.ts.map +1 -0
  62. package/dist/discovery.js +150 -0
  63. package/dist/durability.d.ts +19 -1
  64. package/dist/durability.d.ts.map +1 -1
  65. package/dist/durability.js +4 -0
  66. package/dist/entry.d.ts +3 -2
  67. package/dist/entry.d.ts.map +1 -1
  68. package/dist/entry.js +19 -9
  69. package/dist/expectation.d.ts +26 -13
  70. package/dist/expectation.d.ts.map +1 -1
  71. package/dist/expectation.js +72 -19
  72. package/dist/failure.d.ts +3 -0
  73. package/dist/failure.d.ts.map +1 -1
  74. package/dist/failure.js +6 -0
  75. package/dist/figures.d.ts +49 -0
  76. package/dist/figures.d.ts.map +1 -0
  77. package/dist/figures.js +197 -0
  78. package/dist/holdings.d.ts +29 -0
  79. package/dist/holdings.d.ts.map +1 -0
  80. package/dist/holdings.js +95 -0
  81. package/dist/host.d.ts +21 -8
  82. package/dist/host.d.ts.map +1 -1
  83. package/dist/host.js +73 -40
  84. package/dist/identity.d.ts +0 -1
  85. package/dist/identity.d.ts.map +1 -1
  86. package/dist/identity.js +0 -3
  87. package/dist/index.d.ts +34 -12
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +16 -5
  90. package/dist/install.d.ts +54 -0
  91. package/dist/install.d.ts.map +1 -0
  92. package/dist/install.js +530 -0
  93. package/dist/lifecycle.d.ts +7 -0
  94. package/dist/lifecycle.d.ts.map +1 -0
  95. package/dist/lifecycle.js +277 -0
  96. package/dist/listing.d.ts +48 -0
  97. package/dist/listing.d.ts.map +1 -0
  98. package/dist/listing.js +139 -0
  99. package/dist/live.d.ts +5 -4
  100. package/dist/live.d.ts.map +1 -1
  101. package/dist/live.js +64 -23
  102. package/dist/locks.d.ts +7 -0
  103. package/dist/locks.d.ts.map +1 -0
  104. package/dist/locks.js +32 -0
  105. package/dist/lost.d.ts +5 -0
  106. package/dist/lost.d.ts.map +1 -0
  107. package/dist/lost.js +49 -0
  108. package/dist/media.d.ts +2 -2
  109. package/dist/media.d.ts.map +1 -1
  110. package/dist/media.js +23 -13
  111. package/dist/memory.d.ts +17 -7
  112. package/dist/memory.d.ts.map +1 -1
  113. package/dist/memory.js +210 -97
  114. package/dist/messages.d.ts +33 -5
  115. package/dist/messages.d.ts.map +1 -1
  116. package/dist/messages.js +104 -36
  117. package/dist/model.d.ts +2 -11
  118. package/dist/model.d.ts.map +1 -1
  119. package/dist/model.js +0 -23
  120. package/dist/models.d.ts +10 -0
  121. package/dist/models.d.ts.map +1 -0
  122. package/dist/models.js +153 -0
  123. package/dist/observation.d.ts +4 -3
  124. package/dist/observation.d.ts.map +1 -1
  125. package/dist/observation.js +23 -17
  126. package/dist/opened.d.ts +1 -1
  127. package/dist/opened.d.ts.map +1 -1
  128. package/dist/opened.js +5 -5
  129. package/dist/opening.d.ts +4 -0
  130. package/dist/opening.d.ts.map +1 -0
  131. package/dist/opening.js +53 -0
  132. package/dist/outcome.d.ts +7 -4
  133. package/dist/outcome.d.ts.map +1 -1
  134. package/dist/outcome.js +18 -0
  135. package/dist/overlay.d.ts +6 -1
  136. package/dist/overlay.d.ts.map +1 -1
  137. package/dist/overlay.js +47 -21
  138. package/dist/page-metadata.d.ts +8 -0
  139. package/dist/page-metadata.d.ts.map +1 -0
  140. package/dist/page-metadata.js +19 -0
  141. package/dist/parts.d.ts +4 -0
  142. package/dist/parts.d.ts.map +1 -0
  143. package/dist/parts.js +13 -0
  144. package/dist/paths.d.ts +2 -0
  145. package/dist/paths.d.ts.map +1 -1
  146. package/dist/paths.js +26 -0
  147. package/dist/preparation.d.ts +20 -0
  148. package/dist/preparation.d.ts.map +1 -0
  149. package/dist/preparation.js +227 -0
  150. package/dist/presence.d.ts +52 -0
  151. package/dist/presence.d.ts.map +1 -0
  152. package/dist/presence.js +220 -0
  153. package/dist/queries.d.ts +16 -0
  154. package/dist/queries.d.ts.map +1 -0
  155. package/dist/queries.js +282 -0
  156. package/dist/query.d.ts +14 -210
  157. package/dist/query.d.ts.map +1 -1
  158. package/dist/query.js +3 -505
  159. package/dist/questions.d.ts +29 -0
  160. package/dist/questions.d.ts.map +1 -0
  161. package/dist/questions.js +115 -0
  162. package/dist/queue.d.ts +40 -0
  163. package/dist/queue.d.ts.map +1 -0
  164. package/dist/queue.js +450 -0
  165. package/dist/reach.d.ts +15 -12
  166. package/dist/reach.d.ts.map +1 -1
  167. package/dist/reach.js +240 -149
  168. package/dist/react.d.ts +15 -2
  169. package/dist/react.d.ts.map +1 -1
  170. package/dist/react.js +33 -1
  171. package/dist/read.d.ts +7 -0
  172. package/dist/read.d.ts.map +1 -0
  173. package/dist/read.js +17 -0
  174. package/dist/readiness.d.ts +4 -19
  175. package/dist/readiness.d.ts.map +1 -1
  176. package/dist/readiness.js +4 -10
  177. package/dist/reads.d.ts +38 -10
  178. package/dist/reads.d.ts.map +1 -1
  179. package/dist/reads.js +163 -85
  180. package/dist/recovery.d.ts +3 -0
  181. package/dist/recovery.d.ts.map +1 -1
  182. package/dist/recovery.js +57 -1
  183. package/dist/refresh.d.ts +7 -5
  184. package/dist/refresh.d.ts.map +1 -1
  185. package/dist/refresh.js +35 -7
  186. package/dist/refusal.d.ts +5 -0
  187. package/dist/refusal.d.ts.map +1 -0
  188. package/dist/refusal.js +55 -0
  189. package/dist/replica.d.ts +12 -18
  190. package/dist/replica.d.ts.map +1 -1
  191. package/dist/replica.js +64 -34
  192. package/dist/retried.d.ts +30 -0
  193. package/dist/retried.d.ts.map +1 -0
  194. package/dist/retried.js +72 -0
  195. package/dist/room-draft.d.ts +24 -10
  196. package/dist/room-draft.d.ts.map +1 -1
  197. package/dist/room-draft.js +142 -106
  198. package/dist/room-drafts.d.ts +24 -0
  199. package/dist/room-drafts.d.ts.map +1 -0
  200. package/dist/room-drafts.js +217 -0
  201. package/dist/rows.d.ts +14 -21
  202. package/dist/rows.d.ts.map +1 -1
  203. package/dist/rows.js +49 -186
  204. package/dist/runtime.d.ts +34 -0
  205. package/dist/runtime.d.ts.map +1 -0
  206. package/dist/runtime.js +1 -0
  207. package/dist/save.d.ts +42 -84
  208. package/dist/save.d.ts.map +1 -1
  209. package/dist/save.js +349 -170
  210. package/dist/saves.d.ts +32 -0
  211. package/dist/saves.d.ts.map +1 -0
  212. package/dist/saves.js +410 -0
  213. package/dist/search.d.ts +12 -63
  214. package/dist/search.d.ts.map +1 -1
  215. package/dist/search.js +9 -52
  216. package/dist/seed.d.ts +11 -2
  217. package/dist/seed.d.ts.map +1 -1
  218. package/dist/seed.js +71 -1
  219. package/dist/shared.d.ts +1 -7
  220. package/dist/shared.d.ts.map +1 -1
  221. package/dist/shared.js +13 -105
  222. package/dist/shown.d.ts +33 -0
  223. package/dist/shown.d.ts.map +1 -0
  224. package/dist/shown.js +302 -0
  225. package/dist/socket/admission.d.ts +7 -0
  226. package/dist/socket/admission.d.ts.map +1 -0
  227. package/dist/socket/admission.js +39 -0
  228. package/dist/socket/answers.d.ts +6 -0
  229. package/dist/socket/answers.d.ts.map +1 -0
  230. package/dist/socket/answers.js +20 -0
  231. package/dist/socket/lanes.d.ts +28 -0
  232. package/dist/socket/lanes.d.ts.map +1 -0
  233. package/dist/socket/lanes.js +103 -0
  234. package/dist/socket/reads.d.ts +10 -0
  235. package/dist/socket/reads.d.ts.map +1 -0
  236. package/dist/socket/reads.js +31 -0
  237. package/dist/socket/session.d.ts +38 -0
  238. package/dist/socket/session.d.ts.map +1 -0
  239. package/dist/socket/session.js +23 -0
  240. package/dist/socket.d.ts +67 -0
  241. package/dist/socket.d.ts.map +1 -0
  242. package/dist/socket.js +164 -0
  243. package/dist/source.d.ts +54 -0
  244. package/dist/source.d.ts.map +1 -0
  245. package/dist/source.js +82 -0
  246. package/dist/status.d.ts +4 -5
  247. package/dist/status.d.ts.map +1 -1
  248. package/dist/status.js +3 -7
  249. package/dist/store/installs.d.ts +30 -0
  250. package/dist/store/installs.d.ts.map +1 -0
  251. package/dist/store/installs.js +34 -0
  252. package/dist/store/readiness.d.ts +10 -0
  253. package/dist/store/readiness.d.ts.map +1 -0
  254. package/dist/store/readiness.js +52 -0
  255. package/dist/store/records.d.ts +214 -0
  256. package/dist/store/records.d.ts.map +1 -0
  257. package/dist/store/records.js +438 -0
  258. package/dist/store/room-held.d.ts +8 -0
  259. package/dist/store/room-held.d.ts.map +1 -0
  260. package/dist/store/room-held.js +17 -0
  261. package/dist/store/space.d.ts +11 -0
  262. package/dist/store/space.d.ts.map +1 -0
  263. package/dist/store/space.js +41 -0
  264. package/dist/store/watchers.d.ts +17 -0
  265. package/dist/store/watchers.d.ts.map +1 -0
  266. package/dist/store/watchers.js +56 -0
  267. package/dist/store/writes.d.ts +24 -0
  268. package/dist/store/writes.d.ts.map +1 -0
  269. package/dist/store/writes.js +125 -0
  270. package/dist/store.d.ts +120 -171
  271. package/dist/store.d.ts.map +1 -1
  272. package/dist/store.js +166 -414
  273. package/dist/stored.d.ts +62 -57
  274. package/dist/stored.d.ts.map +1 -1
  275. package/dist/stored.js +317 -239
  276. package/dist/surface.d.ts +88 -0
  277. package/dist/surface.d.ts.map +1 -0
  278. package/dist/surface.js +220 -0
  279. package/dist/sync.d.ts +19 -0
  280. package/dist/sync.d.ts.map +1 -0
  281. package/dist/sync.js +535 -0
  282. package/dist/tables.d.ts +126 -65
  283. package/dist/tables.d.ts.map +1 -1
  284. package/dist/tables.js +250 -113
  285. package/dist/tallies.d.ts +18 -0
  286. package/dist/tallies.d.ts.map +1 -0
  287. package/dist/tallies.js +128 -0
  288. package/dist/transfer.d.ts +0 -5
  289. package/dist/transfer.d.ts.map +1 -1
  290. package/dist/validation.d.ts +3 -4
  291. package/dist/validation.d.ts.map +1 -1
  292. package/dist/validation.js +42 -100
  293. package/dist/windows.d.ts +1 -12
  294. package/dist/windows.d.ts.map +1 -1
  295. package/dist/windows.js +2 -75
  296. package/dist/wire.d.ts +65 -9
  297. package/dist/wire.d.ts.map +1 -1
  298. package/dist/wire.js +22 -5
  299. package/package.json +3 -2
  300. package/dist/attempt.d.ts +0 -16
  301. package/dist/attempt.d.ts.map +0 -1
  302. package/dist/attempt.js +0 -70
  303. package/dist/fence.d.ts +0 -6
  304. package/dist/fence.d.ts.map +0 -1
  305. package/dist/fence.js +0 -10
  306. package/dist/fulltext.d.ts +0 -27
  307. package/dist/fulltext.d.ts.map +0 -1
  308. package/dist/fulltext.js +0 -368
  309. package/dist/log.d.ts +0 -5
  310. package/dist/log.d.ts.map +0 -1
  311. package/dist/log.js +0 -14
  312. package/dist/words.d.ts +0 -19
  313. package/dist/words.d.ts.map +0 -1
  314. package/dist/words.js +0 -150
package/dist/source.js ADDED
@@ -0,0 +1,82 @@
1
+ import { record, text } from './read.js';
2
+ function agentFunctionOf(value) {
3
+ if (value === null)
4
+ return null;
5
+ const agentFunction = record(value);
6
+ const name = text(agentFunction, 'name');
7
+ const version = agentFunction.version;
8
+ return name === null || typeof version !== 'number' ? undefined : { name, version };
9
+ }
10
+ function requestOf(source) {
11
+ const request = text(source, 'request');
12
+ const agentFunction = agentFunctionOf(source.agent_function);
13
+ const requester = record(source.requester);
14
+ const by = text(requester, 'name');
15
+ const room = record(source.room);
16
+ const ref = text(room, 'ref');
17
+ const called = text(room, 'name');
18
+ if (request === null ||
19
+ agentFunction === undefined ||
20
+ by === null ||
21
+ ref === null ||
22
+ called === null)
23
+ return null;
24
+ return {
25
+ kind: 'request',
26
+ request,
27
+ agentFunction,
28
+ requester: { name: by, room: text(requester, 'room') !== null },
29
+ room: { ref, name: called },
30
+ approved: text(source, 'approved_at'),
31
+ };
32
+ }
33
+ export function sourceOf(value, sender) {
34
+ const source = record(value);
35
+ if (source.kind === 'request')
36
+ return requestOf(source);
37
+ if (source.kind === 'trigger') {
38
+ const trigger = text(record(source.trigger), 'description');
39
+ const room = record(source.room);
40
+ const ref = text(room, 'ref');
41
+ const called = text(room, 'name');
42
+ return trigger === null || ref === null || called === null
43
+ ? null
44
+ : {
45
+ kind: 'trigger',
46
+ customer: sender === 'customer',
47
+ trigger,
48
+ room: { ref, name: called },
49
+ };
50
+ }
51
+ if (source.kind === 'conversation') {
52
+ const conversation = record(source.conversation);
53
+ const id = text(conversation, 'id');
54
+ const name = text(conversation, 'name');
55
+ const agent = text(record(source.agent), 'name');
56
+ return id === null || name === null || agent === null
57
+ ? null
58
+ : { kind: 'conversation', conversation: { id, name }, agent };
59
+ }
60
+ if (source.kind !== 'mail' && source.kind !== 'declined')
61
+ return null;
62
+ const agent = text(record(source.agent), 'name');
63
+ const owner = text(record(source.owner), 'name');
64
+ if (agent === null || owner === null)
65
+ return null;
66
+ if (source.kind === 'declined')
67
+ return { kind: 'declined', agent, owner };
68
+ const request = text(source, 'request');
69
+ const room = text(source, 'room');
70
+ return request === null || room === null
71
+ ? null
72
+ : {
73
+ kind: 'mail',
74
+ request,
75
+ room,
76
+ report: sender === 'report',
77
+ agent,
78
+ owner,
79
+ approved: text(source, 'approved_at'),
80
+ declined: text(source, 'declined_at'),
81
+ };
82
+ }
package/dist/status.d.ts CHANGED
@@ -1,19 +1,20 @@
1
1
  import type { Open } from './open.js';
2
- import type { ProviderRefusal } from './adapter.js';
3
2
  import type { ReturnReason } from './room-draft.js';
4
3
  export type AttentionEntry = {
5
4
  room: string;
6
5
  path: string;
7
6
  returned: ReturnReason;
8
- } | {
7
+ };
8
+ export type UnsentChange = {
9
9
  room: string;
10
- refusal: ProviderRefusal;
10
+ path: string;
11
11
  };
12
12
  export type SyncStatus = {
13
13
  state: Open<'pending' | 'syncing' | 'synced'>;
14
14
  lastCompleted: string | null;
15
15
  providerUnreachable: boolean;
16
16
  attentionRequired: readonly AttentionEntry[];
17
+ unsent: readonly UnsentChange[];
17
18
  reset: string | null;
18
19
  };
19
20
  export type CycleProgress = {
@@ -21,7 +22,5 @@ export type CycleProgress = {
21
22
  reachable: boolean;
22
23
  };
23
24
  export declare const STARTING: SyncStatus;
24
- export declare function transferring(status: SyncStatus): SyncStatus;
25
- export declare function saving(status: SyncStatus): SyncStatus;
26
25
  export declare function same(one: SyncStatus, other: SyncStatus): boolean;
27
26
  //# 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,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"}
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,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,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,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC,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,UAOtB,CAAC;AAEF,wBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAShE"}
package/dist/status.js CHANGED
@@ -3,18 +3,14 @@ export const STARTING = {
3
3
  lastCompleted: null,
4
4
  providerUnreachable: false,
5
5
  attentionRequired: [],
6
+ unsent: [],
6
7
  reset: null,
7
8
  };
8
- export function transferring(status) {
9
- return { ...status, state: 'syncing' };
10
- }
11
- export function saving(status) {
12
- return { ...status, state: 'pending' };
13
- }
14
9
  export function same(one, other) {
15
10
  return (one.state === other.state &&
16
11
  one.lastCompleted === other.lastCompleted &&
17
12
  one.providerUnreachable === other.providerUnreachable &&
18
13
  one.reset === other.reset &&
19
- JSON.stringify(one.attentionRequired) === JSON.stringify(other.attentionRequired));
14
+ JSON.stringify(one.attentionRequired) === JSON.stringify(other.attentionRequired) &&
15
+ JSON.stringify(one.unsent) === JSON.stringify(other.unsent));
20
16
  }
@@ -0,0 +1,30 @@
1
+ import type { InstallationAmount } from '../readiness.js';
2
+ import type { TransferRecord } from './records.js';
3
+ type OwedIndex = {
4
+ readonly bytes: number;
5
+ readonly text: number;
6
+ };
7
+ export type RoomInstall = {
8
+ readonly transfer: TransferRecord | null;
9
+ readonly arrived: number | null;
10
+ readonly streaming: boolean;
11
+ readonly underived: number;
12
+ readonly unindexed: readonly OwedIndex[];
13
+ readonly startedOver: InstallationAmount | null;
14
+ readonly installing: boolean;
15
+ readonly catching: boolean;
16
+ readonly highest: string | null;
17
+ readonly beyondHorizon: boolean;
18
+ readonly confirmations: number;
19
+ };
20
+ export declare const NO_INSTALL: RoomInstall;
21
+ export type Installs = {
22
+ of(locator: string): RoomInstall;
23
+ change(locator: string, next: (held: RoomInstall) => RoomInstall): void;
24
+ underway(): ReadonlySet<string>;
25
+ transferring(): readonly string[];
26
+ arrivalDue(now: number, everyMs: number): boolean;
27
+ };
28
+ export declare function createInstalls(): Installs;
29
+ export {};
30
+ //# sourceMappingURL=installs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installs.d.ts","sourceRoot":"","sources":["../../src/store/installs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,KAAK,SAAS,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,WAYxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC;IACjC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,WAAW,GAAG,IAAI,CAAC;IACxE,QAAQ,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,YAAY,IAAI,SAAS,MAAM,EAAE,CAAC;IAClC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACnD,CAAC;AAEF,wBAAgB,cAAc,IAAI,QAAQ,CAqBzC"}
@@ -0,0 +1,34 @@
1
+ export const NO_INSTALL = {
2
+ transfer: null,
3
+ arrived: null,
4
+ streaming: false,
5
+ underived: 0,
6
+ unindexed: [],
7
+ startedOver: null,
8
+ installing: false,
9
+ catching: false,
10
+ highest: null,
11
+ beyondHorizon: false,
12
+ confirmations: 0,
13
+ };
14
+ export function createInstalls() {
15
+ const rooms = new Map();
16
+ let arrivalReported = 0;
17
+ function matching(held) {
18
+ return [...rooms].filter(([, room]) => held(room)).map(([locator]) => locator);
19
+ }
20
+ return {
21
+ of: (locator) => rooms.get(locator) ?? NO_INSTALL,
22
+ change(locator, next) {
23
+ rooms.set(locator, next(rooms.get(locator) ?? NO_INSTALL));
24
+ },
25
+ underway: () => new Set(matching(({ installing }) => installing)),
26
+ transferring: () => matching(({ transfer }) => transfer !== null),
27
+ arrivalDue(now, everyMs) {
28
+ if (now - arrivalReported < everyMs)
29
+ return false;
30
+ arrivalReported = now;
31
+ return true;
32
+ },
33
+ };
34
+ }
@@ -0,0 +1,10 @@
1
+ export type ReadinessQueue<W> = {
2
+ add(watch: W): () => void;
3
+ held(watch: W): boolean;
4
+ changed(watch: W, reading: string): boolean;
5
+ owe(watches: readonly W[]): void;
6
+ queue(): void;
7
+ close(): void;
8
+ };
9
+ export declare function createReadinessQueue<W>(deliver: (owed: readonly W[]) => Promise<void>, unpublished: (error: unknown) => void): ReadinessQueue<W>;
10
+ //# sourceMappingURL=readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../src/store/readiness.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;IACxB,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,IAAI,CAAC;IACd,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,EAC9C,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACpC,cAAc,CAAC,CAAC,CAAC,CAgDnB"}
@@ -0,0 +1,52 @@
1
+ export function createReadinessQueue(deliver, unpublished) {
2
+ const watches = new Set();
3
+ const owed = new Set();
4
+ const lastShown = new Map();
5
+ let queued = false;
6
+ let shown = Promise.resolve();
7
+ function owe(owing) {
8
+ const waiting = owed.size > 0;
9
+ for (const watch of owing)
10
+ owed.add(watch);
11
+ if (waiting)
12
+ return;
13
+ shown = shown
14
+ .then(async () => {
15
+ const due = [...owed];
16
+ owed.clear();
17
+ await deliver(due);
18
+ })
19
+ .catch(unpublished);
20
+ }
21
+ return {
22
+ add(watch) {
23
+ watches.add(watch);
24
+ return () => {
25
+ watches.delete(watch);
26
+ lastShown.delete(watch);
27
+ };
28
+ },
29
+ held: (watch) => watches.has(watch),
30
+ changed(watch, reading) {
31
+ if (lastShown.get(watch) === reading)
32
+ return false;
33
+ lastShown.set(watch, reading);
34
+ return true;
35
+ },
36
+ owe,
37
+ queue() {
38
+ if (queued || watches.size === 0)
39
+ return;
40
+ queued = true;
41
+ queueMicrotask(() => {
42
+ queued = false;
43
+ if (watches.size > 0)
44
+ owe([...watches]);
45
+ });
46
+ },
47
+ close() {
48
+ watches.clear();
49
+ lastShown.clear();
50
+ },
51
+ };
52
+ }
@@ -0,0 +1,214 @@
1
+ import type { BootstrapInventory, Capability, ListedConversation, Member, ProviderLimit } from '../adapter.js';
2
+ import type { ChangeBatch } from '../change.js';
3
+ import { type Composition } from '../collection.js';
4
+ import type { Plan } from '../query.js';
5
+ import type { ReplicaRecord } from '../replica.js';
6
+ import type { Submission } from '../outcome.js';
7
+ import type { RoomDraftRecord, SavedDraft } from '../room-draft.js';
8
+ import type { ModelState, StoredModel } from '../model.js';
9
+ import type { CommittedWrite, ConversationWrite, HeldConversation, HeldFact, HeldRow, HeldEntry, MessageWindow, QueryAnswer, QueryRoom, Referrer, ReplicaOpened, RoomCommit, RuntimeDatabase, StoredEntry, StoredFile, TypedEntry, View } from '../tables.js';
10
+ export type { ConversationFact, ConversationWrite, HeldConversation, MessageWindow, } from '../tables.js';
11
+ export type TransferRecord = {
12
+ readonly locator: string;
13
+ readonly transfer: string;
14
+ readonly selection: string;
15
+ readonly from: string;
16
+ readonly last: string;
17
+ readonly done: BootstrapInventory;
18
+ readonly models: {
19
+ readonly collection: ModelState;
20
+ };
21
+ readonly key: number | null;
22
+ };
23
+ export type StoredReplica = Omit<ReplicaRecord, 'model'> & {
24
+ readonly model: StoredModel;
25
+ };
26
+ export type PendingState = {
27
+ readonly drafts: readonly SavedDraft[];
28
+ readonly submission: Submission;
29
+ readonly lost: boolean;
30
+ readonly upload?: unknown;
31
+ };
32
+ export type TargetRecord = {
33
+ established: boolean;
34
+ };
35
+ export type PresentationRecord = {
36
+ app: string;
37
+ value: unknown;
38
+ };
39
+ export type ChatSubmission = {
40
+ readonly operation: string;
41
+ readonly text: string;
42
+ readonly turn: string | null;
43
+ };
44
+ export type ChatDraftRecord = {
45
+ conversation: string;
46
+ text: string;
47
+ revision: string;
48
+ submitted?: readonly ChatSubmission[];
49
+ moves?: readonly string[];
50
+ };
51
+ export type CallRecord = {
52
+ readonly operation: string;
53
+ readonly name: string;
54
+ readonly input: unknown;
55
+ };
56
+ export type AuthoredWrite = {
57
+ locator: string;
58
+ queue?: readonly ChangeBatch[];
59
+ stored?: readonly ChangeBatch[];
60
+ founded?: readonly ChangeBatch[];
61
+ saved?: ReadonlyMap<string, readonly SavedDraft[]>;
62
+ roomDrafts?: readonly RoomDraftRecord[];
63
+ consumedRoomDrafts?: readonly string[];
64
+ };
65
+ export type StagedPage = {
66
+ readonly entries: readonly StoredEntry[];
67
+ readonly folders: readonly string[];
68
+ readonly part?: string;
69
+ };
70
+ export type ResumedTransfer = {
71
+ readonly key: number | null;
72
+ readonly transfer: string;
73
+ readonly staged: readonly string[];
74
+ };
75
+ export type RefreshedPage = StagedPage & {
76
+ readonly removals: readonly string[];
77
+ readonly folderRemovals: readonly string[];
78
+ };
79
+ export type HeldRoom = {
80
+ readonly record: StoredReplica;
81
+ readonly indexed: boolean;
82
+ readonly documents: number;
83
+ };
84
+ export type QueuedChange = {
85
+ readonly batch: ChangeBatch;
86
+ readonly state: PendingState;
87
+ };
88
+ export type HeldWork = {
89
+ readonly room: (HeldRoom & {
90
+ readonly overlaid: ReadonlySet<string>;
91
+ }) | null;
92
+ readonly queue: readonly QueuedChange[];
93
+ };
94
+ export type CoveredRoom = {
95
+ readonly key: number;
96
+ readonly transfer: string;
97
+ readonly roomVersion: string;
98
+ readonly indexed: boolean;
99
+ readonly documents: number;
100
+ readonly bytes: number;
101
+ readonly offline: string;
102
+ };
103
+ export type HeldCover = {
104
+ readonly rooms: ReadonlyMap<string, CoveredRoom>;
105
+ readonly queues: ReadonlyMap<string, readonly string[]>;
106
+ };
107
+ export type HeldStatus = {
108
+ readonly queued: readonly string[];
109
+ readonly lastCompleted: string | null;
110
+ readonly unsent: readonly {
111
+ readonly room: string;
112
+ readonly path: string;
113
+ }[];
114
+ readonly resets: readonly {
115
+ readonly locator: string;
116
+ readonly reset: string;
117
+ }[];
118
+ readonly returned: readonly RoomDraftRecord[];
119
+ };
120
+ export type Facts = {
121
+ readonly lastCompleted: string | null;
122
+ readonly providerLimits: readonly ProviderLimit[];
123
+ readonly capabilities: readonly Capability[];
124
+ readonly member: Member | null;
125
+ readonly targets: Readonly<Record<string, TargetRecord>>;
126
+ readonly conversationList: readonly ListedConversation[] | null;
127
+ readonly conversationCursor: string | null;
128
+ readonly chatPins: readonly string[];
129
+ };
130
+ export type Commit = {
131
+ readonly rooms: readonly RoomCommit[];
132
+ readonly writes?: readonly AuthoredWrite[];
133
+ readonly files?: readonly StoredFile[];
134
+ readonly whole?: boolean;
135
+ };
136
+ export type RuntimeStore = {
137
+ opened(): Promise<ReplicaOpened>;
138
+ rooms(locators?: readonly string[]): Promise<readonly HeldRoom[]>;
139
+ room(locator: string): Promise<HeldWork>;
140
+ covering(): Promise<HeldCover>;
141
+ offline(locator: string): Promise<string | null>;
142
+ held(): Promise<{
143
+ readonly held: ReadonlySet<string>;
144
+ readonly staged: ReadonlySet<string>;
145
+ }>;
146
+ status(): Promise<HeldStatus>;
147
+ batch(locator: string, id: string): Promise<ChangeBatch | null>;
148
+ order(locator: string): Promise<readonly string[]>;
149
+ queued(): Promise<readonly string[]>;
150
+ moving(): Promise<{
151
+ readonly queued: ReadonlyMap<string, readonly string[]>;
152
+ readonly moving: readonly (QueuedChange & {
153
+ readonly locator: string;
154
+ })[];
155
+ }>;
156
+ pending(locator: string, id: string): Promise<{
157
+ readonly state: PendingState | undefined;
158
+ readonly room: boolean;
159
+ }>;
160
+ facts(): Promise<Facts>;
161
+ presentation(app: string): Promise<unknown>;
162
+ demote(): Promise<void>;
163
+ query(plan: Plan, rooms: readonly QueryRoom[], budget: number | null): Promise<QueryAnswer>;
164
+ changes(keys: readonly number[]): number;
165
+ entries(key: number, view: View, paths: readonly string[]): Promise<readonly HeldEntry[]>;
166
+ typed(key: number, view: View, paths: readonly string[]): Promise<readonly TypedEntry[]>;
167
+ referrers(key: number, view: View, targets: readonly string[]): Promise<readonly Referrer[]>;
168
+ folders(key: number, paths: readonly string[]): Promise<readonly string[]>;
169
+ typedWithin(key: number, view: View, roots: readonly string[], within: boolean): Promise<boolean>;
170
+ stage(record: TransferRecord, composition: Composition, page: StagedPage): Promise<number | null>;
171
+ resume(record: TransferRecord, composition: Composition, parts: readonly string[], published: number | null): Promise<ResumedTransfer | null>;
172
+ refresh(key: number, composition: Composition, page: RefreshedPage): Promise<void>;
173
+ unrefresh(key: number): Promise<void>;
174
+ commit(commit: Commit): Promise<CommittedWrite>;
175
+ fence(locators: readonly string[]): Promise<void>;
176
+ erase(locator: string | null, limit: number): Promise<boolean>;
177
+ abandon(locator: string): Promise<void>;
178
+ unfence(locators: readonly string[]): Promise<ReadonlySet<string>>;
179
+ release(key: number): Promise<void>;
180
+ rederive(key: number, composition: Composition, bytes: number, ms: number, floor: number): Promise<{
181
+ readonly done: boolean;
182
+ readonly text: number;
183
+ }>;
184
+ fact(name: string, value: unknown): Promise<void>;
185
+ submit(locator: string, id: string, submission: Submission, lost: boolean): Promise<void>;
186
+ keepUpload(locator: string, id: string, upload: unknown): Promise<void>;
187
+ roomDrafts(locator?: string, paths?: readonly string[]): Promise<readonly RoomDraftRecord[]>;
188
+ present(record: PresentationRecord): Promise<void>;
189
+ conversations(conversations?: readonly string[]): Promise<readonly HeldConversation[]>;
190
+ keepMessages(write: ConversationWrite): Promise<void>;
191
+ messageWindow(conversation: string, limit: number, before: readonly [string, string] | null, phrase?: string | null): Promise<MessageWindow>;
192
+ messageCount(conversation: string, phrase?: string | null): Promise<number>;
193
+ turnArrived(conversation: string, turn: string): Promise<boolean>;
194
+ conversationRows(conversations: readonly string[]): Promise<readonly HeldRow[]>;
195
+ conversationFacts(): Promise<readonly HeldFact[]>;
196
+ keepConversationFact(fact: HeldFact): Promise<void>;
197
+ storedConversations(): Promise<readonly string[]>;
198
+ dropConversations(conversations: readonly string[]): Promise<readonly string[]>;
199
+ chatDrafts(): Promise<readonly ChatDraftRecord[]>;
200
+ chatDraft(conversation: string): Promise<ChatDraftRecord | null>;
201
+ keepChatDrafts(records: readonly ChatDraftRecord[]): Promise<void>;
202
+ dropChatDraft(conversation: string): Promise<void>;
203
+ calls(): Promise<readonly CallRecord[]>;
204
+ keepCall(record: CallRecord): Promise<void>;
205
+ dropCall(operation: string): Promise<void>;
206
+ keepRoomDraft(record: RoomDraftRecord, files: readonly StoredFile[]): Promise<void>;
207
+ discardRoomDraft(locator: string, path: string): Promise<void>;
208
+ fences(): Promise<readonly string[]>;
209
+ generation(): Promise<string | null>;
210
+ rememberGeneration(value: string): Promise<void>;
211
+ file(key: string, type: string): Promise<Blob>;
212
+ };
213
+ export declare function openRuntimeStore(database: RuntimeDatabase): RuntimeStore;
214
+ //# sourceMappingURL=records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/store/records.ts"],"names":[],"mappings":"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"}