@agentshouse/mdruntime 0.1.0-cf24798931067 → 0.1.0-cf281e8224a5d

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 (335) hide show
  1. package/README.md +22 -10
  2. package/dist/acceptance.d.ts +6 -0
  3. package/dist/acceptance.d.ts.map +1 -0
  4. package/dist/acceptance.js +385 -0
  5. package/dist/actions.d.ts +20 -0
  6. package/dist/actions.d.ts.map +1 -0
  7. package/dist/actions.js +251 -0
  8. package/dist/adapter.d.ts +177 -54
  9. package/dist/adapter.d.ts.map +1 -1
  10. package/dist/attached-model.d.ts +7 -10
  11. package/dist/attached-model.d.ts.map +1 -1
  12. package/dist/attached-model.js +40 -41
  13. package/dist/attempt.d.ts.map +1 -1
  14. package/dist/attempt.js +14 -1
  15. package/dist/binary.d.ts +18 -0
  16. package/dist/binary.d.ts.map +1 -0
  17. package/dist/binary.js +8 -0
  18. package/dist/bootstrap.d.ts +31 -11
  19. package/dist/bootstrap.d.ts.map +1 -1
  20. package/dist/bootstrap.js +324 -92
  21. package/dist/cell.d.ts +6 -0
  22. package/dist/cell.d.ts.map +1 -0
  23. package/dist/cell.js +9 -0
  24. package/dist/chain.d.ts +12 -0
  25. package/dist/chain.d.ts.map +1 -0
  26. package/dist/chain.js +64 -0
  27. package/dist/change-set.d.ts +9 -14
  28. package/dist/change-set.d.ts.map +1 -1
  29. package/dist/change-set.js +11 -62
  30. package/dist/change.d.ts +42 -0
  31. package/dist/change.d.ts.map +1 -1
  32. package/dist/change.js +36 -0
  33. package/dist/chat-types.d.ts +5 -0
  34. package/dist/chat-types.d.ts.map +1 -0
  35. package/dist/chat-types.js +13 -0
  36. package/dist/client.d.ts +50 -15
  37. package/dist/client.d.ts.map +1 -1
  38. package/dist/client.js +110 -9
  39. package/dist/collection.d.ts +11 -7
  40. package/dist/collection.d.ts.map +1 -1
  41. package/dist/collection.js +38 -79
  42. package/dist/compile.d.ts +16 -0
  43. package/dist/compile.d.ts.map +1 -0
  44. package/dist/compile.js +711 -0
  45. package/dist/connection.d.ts +8 -111
  46. package/dist/connection.d.ts.map +1 -1
  47. package/dist/connection.js +104 -2219
  48. package/dist/context.d.ts +2 -0
  49. package/dist/context.d.ts.map +1 -0
  50. package/dist/context.js +7 -0
  51. package/dist/conversation-live.d.ts +136 -0
  52. package/dist/conversation-live.d.ts.map +1 -0
  53. package/dist/conversation-live.js +248 -0
  54. package/dist/conversation-row.d.ts +33 -0
  55. package/dist/conversation-row.d.ts.map +1 -0
  56. package/dist/conversation-row.js +53 -0
  57. package/dist/conversation.d.ts +57 -40
  58. package/dist/conversation.d.ts.map +1 -1
  59. package/dist/conversation.js +992 -543
  60. package/dist/digest.d.ts +7 -0
  61. package/dist/digest.d.ts.map +1 -0
  62. package/dist/digest.js +113 -0
  63. package/dist/discovery.d.ts +10 -0
  64. package/dist/discovery.d.ts.map +1 -0
  65. package/dist/discovery.js +175 -0
  66. package/dist/durability.d.ts +19 -1
  67. package/dist/durability.d.ts.map +1 -1
  68. package/dist/durability.js +5 -0
  69. package/dist/entry.d.ts +20 -0
  70. package/dist/entry.d.ts.map +1 -0
  71. package/dist/entry.js +161 -0
  72. package/dist/expectation.d.ts +4 -2
  73. package/dist/expectation.d.ts.map +1 -1
  74. package/dist/expectation.js +33 -11
  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/file.d.ts +2 -19
  79. package/dist/file.d.ts.map +1 -1
  80. package/dist/file.js +7 -122
  81. package/dist/holdings.d.ts +29 -0
  82. package/dist/holdings.d.ts.map +1 -0
  83. package/dist/holdings.js +95 -0
  84. package/dist/host.d.ts +12 -3
  85. package/dist/host.d.ts.map +1 -1
  86. package/dist/host.js +132 -18
  87. package/dist/identity.d.ts +1 -0
  88. package/dist/identity.d.ts.map +1 -1
  89. package/dist/identity.js +3 -0
  90. package/dist/index.d.ts +35 -10
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +13 -0
  93. package/dist/install.d.ts +56 -0
  94. package/dist/install.d.ts.map +1 -0
  95. package/dist/install.js +554 -0
  96. package/dist/job.d.ts +33 -0
  97. package/dist/job.d.ts.map +1 -0
  98. package/dist/job.js +54 -0
  99. package/dist/lifecycle.d.ts +7 -0
  100. package/dist/lifecycle.d.ts.map +1 -0
  101. package/dist/lifecycle.js +268 -0
  102. package/dist/listing.d.ts +53 -0
  103. package/dist/listing.d.ts.map +1 -0
  104. package/dist/listing.js +176 -0
  105. package/dist/live.d.ts +23 -0
  106. package/dist/live.d.ts.map +1 -0
  107. package/dist/live.js +163 -0
  108. package/dist/locks.d.ts +9 -0
  109. package/dist/locks.d.ts.map +1 -0
  110. package/dist/locks.js +61 -0
  111. package/dist/log.d.ts +1 -0
  112. package/dist/log.d.ts.map +1 -1
  113. package/dist/lost.d.ts +5 -0
  114. package/dist/lost.d.ts.map +1 -0
  115. package/dist/lost.js +61 -0
  116. package/dist/media.d.ts +8 -0
  117. package/dist/media.d.ts.map +1 -0
  118. package/dist/media.js +218 -0
  119. package/dist/memory.d.ts +21 -7
  120. package/dist/memory.d.ts.map +1 -1
  121. package/dist/memory.js +271 -91
  122. package/dist/messages.d.ts +52 -0
  123. package/dist/messages.d.ts.map +1 -0
  124. package/dist/messages.js +162 -0
  125. package/dist/model.d.ts +11 -11
  126. package/dist/model.d.ts.map +1 -1
  127. package/dist/model.js +7 -10
  128. package/dist/models.d.ts +14 -0
  129. package/dist/models.d.ts.map +1 -0
  130. package/dist/models.js +195 -0
  131. package/dist/name.d.ts +4 -0
  132. package/dist/name.d.ts.map +1 -0
  133. package/dist/name.js +122 -0
  134. package/dist/observation.d.ts +22 -4
  135. package/dist/observation.d.ts.map +1 -1
  136. package/dist/observation.js +127 -26
  137. package/dist/opened.d.ts +22 -0
  138. package/dist/opened.d.ts.map +1 -0
  139. package/dist/opened.js +107 -0
  140. package/dist/opening.d.ts +4 -0
  141. package/dist/opening.d.ts.map +1 -0
  142. package/dist/opening.js +57 -0
  143. package/dist/outcome.d.ts +56 -5
  144. package/dist/outcome.d.ts.map +1 -1
  145. package/dist/outcome.js +49 -0
  146. package/dist/overlay.d.ts +16 -5
  147. package/dist/overlay.d.ts.map +1 -1
  148. package/dist/overlay.js +140 -177
  149. package/dist/{chat/parts.d.ts → parts.d.ts} +12 -9
  150. package/dist/parts.d.ts.map +1 -0
  151. package/dist/{chat/parts.js → parts.js} +53 -46
  152. package/dist/paths.d.ts +2 -0
  153. package/dist/paths.d.ts.map +1 -1
  154. package/dist/paths.js +26 -0
  155. package/dist/preparation.d.ts +20 -0
  156. package/dist/preparation.d.ts.map +1 -0
  157. package/dist/preparation.js +226 -0
  158. package/dist/queries.d.ts +16 -0
  159. package/dist/queries.d.ts.map +1 -0
  160. package/dist/queries.js +272 -0
  161. package/dist/query.d.ts +51 -183
  162. package/dist/query.d.ts.map +1 -1
  163. package/dist/query.js +3 -464
  164. package/dist/{chat/questions.d.ts → questions.d.ts} +5 -2
  165. package/dist/questions.d.ts.map +1 -0
  166. package/dist/{chat/questions.js → questions.js} +13 -2
  167. package/dist/reach.d.ts +21 -5
  168. package/dist/reach.d.ts.map +1 -1
  169. package/dist/reach.js +291 -69
  170. package/dist/react.d.ts +20 -6
  171. package/dist/react.d.ts.map +1 -1
  172. package/dist/react.js +17 -18
  173. package/dist/{chat/read.d.ts → read.d.ts} +2 -0
  174. package/dist/read.d.ts.map +1 -0
  175. package/dist/{chat/read.js → read.js} +4 -0
  176. package/dist/readiness.d.ts +49 -0
  177. package/dist/readiness.d.ts.map +1 -0
  178. package/dist/readiness.js +27 -0
  179. package/dist/reads.d.ts +37 -0
  180. package/dist/reads.d.ts.map +1 -0
  181. package/dist/reads.js +171 -0
  182. package/dist/recovery.d.ts +26 -0
  183. package/dist/recovery.d.ts.map +1 -0
  184. package/dist/recovery.js +232 -0
  185. package/dist/refresh.d.ts +17 -14
  186. package/dist/refresh.d.ts.map +1 -1
  187. package/dist/refresh.js +143 -56
  188. package/dist/refusal.d.ts +5 -0
  189. package/dist/refusal.d.ts.map +1 -0
  190. package/dist/refusal.js +55 -0
  191. package/dist/replica.d.ts +59 -33
  192. package/dist/replica.d.ts.map +1 -1
  193. package/dist/replica.js +342 -158
  194. package/dist/room-draft.d.ts +54 -8
  195. package/dist/room-draft.d.ts.map +1 -1
  196. package/dist/room-draft.js +268 -63
  197. package/dist/room-drafts.d.ts +24 -0
  198. package/dist/room-drafts.d.ts.map +1 -0
  199. package/dist/room-drafts.js +217 -0
  200. package/dist/rows.d.ts +30 -35
  201. package/dist/rows.d.ts.map +1 -1
  202. package/dist/rows.js +59 -124
  203. package/dist/runtime.d.ts +43 -0
  204. package/dist/runtime.d.ts.map +1 -0
  205. package/dist/runtime.js +1 -0
  206. package/dist/save.d.ts +74 -3
  207. package/dist/save.d.ts.map +1 -1
  208. package/dist/save.js +812 -153
  209. package/dist/saves.d.ts +70 -0
  210. package/dist/saves.d.ts.map +1 -0
  211. package/dist/saves.js +1005 -0
  212. package/dist/search.d.ts +15 -55
  213. package/dist/search.d.ts.map +1 -1
  214. package/dist/search.js +10 -121
  215. package/dist/seed.d.ts +25 -0
  216. package/dist/seed.d.ts.map +1 -0
  217. package/dist/seed.js +145 -0
  218. package/dist/shared.d.ts +10 -0
  219. package/dist/shared.d.ts.map +1 -0
  220. package/dist/shared.js +339 -0
  221. package/dist/shown.d.ts +31 -0
  222. package/dist/shown.d.ts.map +1 -0
  223. package/dist/shown.js +292 -0
  224. package/dist/socket/admission.d.ts +7 -0
  225. package/dist/socket/admission.d.ts.map +1 -0
  226. package/dist/socket/admission.js +39 -0
  227. package/dist/socket/answers.d.ts +6 -0
  228. package/dist/socket/answers.d.ts.map +1 -0
  229. package/dist/socket/answers.js +20 -0
  230. package/dist/socket/lanes.d.ts +20 -0
  231. package/dist/socket/lanes.d.ts.map +1 -0
  232. package/dist/socket/lanes.js +77 -0
  233. package/dist/socket/reads.d.ts +10 -0
  234. package/dist/socket/reads.d.ts.map +1 -0
  235. package/dist/socket/reads.js +31 -0
  236. package/dist/socket/rooms.d.ts +44 -0
  237. package/dist/socket/rooms.d.ts.map +1 -0
  238. package/dist/socket/rooms.js +90 -0
  239. package/dist/socket/session.d.ts +38 -0
  240. package/dist/socket/session.d.ts.map +1 -0
  241. package/dist/socket/session.js +23 -0
  242. package/dist/socket.d.ts +70 -0
  243. package/dist/socket.d.ts.map +1 -0
  244. package/dist/socket.js +175 -0
  245. package/dist/source.d.ts +61 -0
  246. package/dist/source.d.ts.map +1 -0
  247. package/dist/source.js +82 -0
  248. package/dist/status.d.ts +5 -2
  249. package/dist/status.d.ts.map +1 -1
  250. package/dist/status.js +3 -7
  251. package/dist/store/fences.d.ts +16 -0
  252. package/dist/store/fences.d.ts.map +1 -0
  253. package/dist/store/fences.js +26 -0
  254. package/dist/store/installs.d.ts +30 -0
  255. package/dist/store/installs.d.ts.map +1 -0
  256. package/dist/store/installs.js +34 -0
  257. package/dist/store/readiness.d.ts +10 -0
  258. package/dist/store/readiness.d.ts.map +1 -0
  259. package/dist/store/readiness.js +52 -0
  260. package/dist/store/records.d.ts +212 -0
  261. package/dist/store/records.d.ts.map +1 -0
  262. package/dist/store/records.js +431 -0
  263. package/dist/store/room-held.d.ts +8 -0
  264. package/dist/store/room-held.d.ts.map +1 -0
  265. package/dist/store/room-held.js +17 -0
  266. package/dist/store/space.d.ts +11 -0
  267. package/dist/store/space.d.ts.map +1 -0
  268. package/dist/store/space.js +41 -0
  269. package/dist/store/watchers.d.ts +17 -0
  270. package/dist/store/watchers.d.ts.map +1 -0
  271. package/dist/store/watchers.js +56 -0
  272. package/dist/store/writes.d.ts +24 -0
  273. package/dist/store/writes.d.ts.map +1 -0
  274. package/dist/store/writes.js +125 -0
  275. package/dist/store.d.ts +106 -117
  276. package/dist/store.d.ts.map +1 -1
  277. package/dist/store.js +137 -496
  278. package/dist/stored.d.ts +156 -0
  279. package/dist/stored.d.ts.map +1 -0
  280. package/dist/stored.js +649 -0
  281. package/dist/surface.d.ts +88 -0
  282. package/dist/surface.d.ts.map +1 -0
  283. package/dist/surface.js +223 -0
  284. package/dist/sync.d.ts +19 -0
  285. package/dist/sync.d.ts.map +1 -0
  286. package/dist/sync.js +532 -0
  287. package/dist/tables.d.ts +416 -0
  288. package/dist/tables.d.ts.map +1 -0
  289. package/dist/tables.js +740 -0
  290. package/dist/tallies.d.ts +18 -0
  291. package/dist/tallies.d.ts.map +1 -0
  292. package/dist/tallies.js +129 -0
  293. package/dist/transfer.d.ts +0 -5
  294. package/dist/transfer.d.ts.map +1 -1
  295. package/dist/turn.d.ts +9 -0
  296. package/dist/turn.d.ts.map +1 -0
  297. package/dist/turn.js +75 -0
  298. package/dist/validation.d.ts +29 -0
  299. package/dist/validation.d.ts.map +1 -0
  300. package/dist/validation.js +104 -0
  301. package/dist/windows.d.ts +11 -0
  302. package/dist/windows.d.ts.map +1 -0
  303. package/dist/windows.js +16 -0
  304. package/dist/wire.d.ts +181 -31
  305. package/dist/wire.d.ts.map +1 -1
  306. package/dist/wire.js +62 -29
  307. package/package.json +26 -15
  308. package/AGENTS.md +0 -290
  309. package/dist/attachment.d.ts +0 -3
  310. package/dist/attachment.d.ts.map +0 -1
  311. package/dist/attachment.js +0 -8
  312. package/dist/chat/acts.d.ts +0 -34
  313. package/dist/chat/acts.d.ts.map +0 -1
  314. package/dist/chat/acts.js +0 -36
  315. package/dist/chat/messages.d.ts +0 -21
  316. package/dist/chat/messages.d.ts.map +0 -1
  317. package/dist/chat/messages.js +0 -151
  318. package/dist/chat/overlay.d.ts +0 -31
  319. package/dist/chat/overlay.d.ts.map +0 -1
  320. package/dist/chat/overlay.js +0 -97
  321. package/dist/chat/parts.d.ts.map +0 -1
  322. package/dist/chat/process.d.ts +0 -20
  323. package/dist/chat/process.d.ts.map +0 -1
  324. package/dist/chat/process.js +0 -32
  325. package/dist/chat/provider.d.ts +0 -57
  326. package/dist/chat/provider.d.ts.map +0 -1
  327. package/dist/chat/provider.js +0 -637
  328. package/dist/chat/questions.d.ts.map +0 -1
  329. package/dist/chat/read.d.ts.map +0 -1
  330. package/dist/chat.d.ts +0 -7
  331. package/dist/chat.d.ts.map +0 -1
  332. package/dist/chat.js +0 -2
  333. package/dist/read-side.d.ts +0 -18
  334. package/dist/read-side.d.ts.map +0 -1
  335. package/dist/read-side.js +0 -433
@@ -32,11 +32,24 @@ export type RoomDraftParts = {
32
32
  readonly creation?: RoomDraftCreation;
33
33
  readonly move?: {
34
34
  readonly to: string;
35
+ readonly room?: string;
35
36
  readonly base?: string | null;
36
37
  };
37
38
  readonly removal?: {
38
39
  readonly base?: string | null;
39
40
  };
41
+ readonly file?: {
42
+ readonly blob: Blob;
43
+ readonly base?: string | null;
44
+ };
45
+ };
46
+ export type HeldFile = {
47
+ readonly localId: string;
48
+ readonly name?: string;
49
+ readonly byteLength: number;
50
+ readonly mediaType: string;
51
+ readonly sha256: string;
52
+ readonly base: string | null;
40
53
  };
41
54
  type HeldParts = {
42
55
  readonly fields?: Readonly<Record<string, {
@@ -58,11 +71,13 @@ type HeldParts = {
58
71
  readonly creation?: RoomDraftCreation;
59
72
  readonly move?: {
60
73
  readonly to: string;
74
+ readonly room?: string;
61
75
  readonly base: string | null;
62
76
  };
63
77
  readonly removal?: {
64
78
  readonly base: string | null;
65
79
  };
80
+ readonly file?: HeldFile;
66
81
  };
67
82
  type ChangedUnderneath = {
68
83
  readonly fields?: Readonly<Record<string, FieldValue>>;
@@ -72,11 +87,12 @@ type ChangedUnderneath = {
72
87
  readonly creation?: string;
73
88
  readonly move?: string | null;
74
89
  readonly removal?: string | null;
90
+ readonly file?: string | null;
75
91
  };
76
92
  export type ReturnReason = ProviderRefusal & {
77
- readonly kind: 'conflicted' | 'rejected' | 'expired' | 'withdrawn';
93
+ readonly kind: Open<'conflicted' | 'rejected' | 'withdrawn'>;
78
94
  };
79
- export declare function returnedBy(kind: 'expired' | 'withdrawn'): ReturnReason;
95
+ export declare function returnedBy(): ReturnReason;
80
96
  export type RoomDraft = {
81
97
  readonly room: string;
82
98
  readonly path: string;
@@ -90,14 +106,12 @@ export type RoomDraftWrite = {
90
106
  readonly roomDraft: RoomDraft | null;
91
107
  } | {
92
108
  readonly outcome: 'stale';
93
- readonly code: string;
94
- readonly retryable: boolean;
95
109
  readonly current: RoomDraft | null;
96
110
  };
97
111
  export declare function staleWrite(current: RoomDraft | null): RoomDraftWrite;
98
112
  export type ChangedPart = {
99
113
  readonly path: string;
100
- readonly part: Open<'field' | 'section' | 'preamble' | 'markdown' | 'creation' | 'move' | 'removal'>;
114
+ readonly part: Open<'field' | 'section' | 'preamble' | 'markdown' | 'move' | 'removal' | 'file'>;
101
115
  readonly name?: string;
102
116
  };
103
117
  export type RoomDraftRecord = {
@@ -111,17 +125,49 @@ export type SavedDraft = {
111
125
  readonly path: string;
112
126
  readonly parts: HeldParts;
113
127
  };
114
- export declare function readParts(value: unknown): RoomDraftParts;
115
- export declare function held(current: HeldParts | undefined, parts: RoomDraftParts): HeldParts;
128
+ export declare function readParts(value: unknown, path: string): RoomDraftParts;
129
+ export declare function gatheredParts(earlier: unknown, later: unknown): unknown;
130
+ export declare function held(current: HeldParts | undefined, parts: RoomDraftParts, file?: HeldFile): HeldParts;
116
131
  export declare function underneath(parts: HeldParts, path: string, visible: VisibleLayer | undefined): ChangedUnderneath;
117
- export declare function changedParts(path: string, report: ChangedUnderneath): readonly ChangedPart[];
132
+ export declare function heldFile(blob: Blob, base: string | null): Promise<HeldFile>;
133
+ export declare function binaryBase(visible: VisibleLayer | undefined, path: string): string | null;
134
+ export declare function changedParts(path: string, parts: HeldParts, visible: VisibleLayer | undefined): readonly ChangedPart[];
135
+ export declare function lineEnded(text: string): string;
136
+ export type TextParts = {
137
+ readonly fields?: Readonly<Record<string, {
138
+ readonly value: unknown;
139
+ }>>;
140
+ readonly sections?: Readonly<Record<string, {
141
+ readonly value: string;
142
+ }>>;
143
+ readonly preamble?: {
144
+ readonly value: string;
145
+ };
146
+ };
147
+ export declare function partsAfter(markdown: string, parts: TextParts): string;
118
148
  export declare function returnedInto(existing: HeldParts | undefined, returned: HeldParts): HeldParts;
119
149
  export declare function moveTarget(move: {
120
150
  readonly to: string;
121
151
  }): string;
152
+ export declare function readSavedParts(named: readonly {
153
+ readonly path: string;
154
+ readonly parts: unknown;
155
+ }[]): readonly {
156
+ readonly path: string;
157
+ readonly parts: RoomDraftParts;
158
+ }[];
159
+ export declare function partsChanges(named: readonly {
160
+ readonly path: string;
161
+ readonly parts: unknown;
162
+ }[]): {
163
+ readonly changes: readonly Change[];
164
+ readonly preconditions: readonly Precondition[];
165
+ };
122
166
  export declare function changesOf(path: string, parts: HeldParts): {
123
167
  changes: readonly Change[];
124
168
  bases: readonly Precondition[];
125
169
  };
170
+ export declare function joinedDraft(carried: SavedDraft, saved: readonly SavedDraft[]): SavedDraft;
171
+ export declare function withdrawnDrafts(drafts: readonly SavedDraft[], changes: readonly Change[]): readonly SavedDraft[];
126
172
  export {};
127
173
  //# sourceMappingURL=room-draft.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"room-draft.d.ts","sourceRoot":"","sources":["../src/room-draft.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room-draft.d.ts","sourceRoot":"","sources":["../src/room-draft.ts"],"names":[],"mappings":"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"}
@@ -1,58 +1,68 @@
1
- import { apply, equalValue, frontmatterValue, parse, serialize } from '@agentshouse/mdmodel';
1
+ import { apply, equalValue, frontmatterValue, parse, serialize, } from '@agentshouse/mdmodel';
2
2
  import { runtimeError } from './failure.js';
3
+ import { sha256 } from './digest.js';
4
+ import { binaryLocalId } from './identity.js';
3
5
  import { normalize } from './paths.js';
4
- export function returnedBy(kind) {
5
- return { kind, code: kind, fields: {}, retryable: false };
6
+ export function returnedBy() {
7
+ return { kind: 'withdrawn', code: 'withdrawn', fields: {}, retryable: false };
6
8
  }
7
9
  export function staleWrite(current) {
8
- return { outcome: 'stale', code: 'stale', retryable: false, current };
10
+ return { outcome: 'stale', current };
9
11
  }
10
- function malformed() {
11
- throw runtimeError('room-draft-malformed');
12
+ function malformed(at, needs) {
13
+ throw runtimeError('room-draft-malformed', at === undefined ? 'room-draft-malformed' : `room-draft-malformed at ${at}: ${needs}`);
12
14
  }
13
15
  function plain(value) {
14
16
  return typeof value === 'object' && value !== null && !Array.isArray(value);
15
17
  }
16
- function text(value) {
17
- return typeof value === 'string' ? value : malformed();
18
+ function text(value, at) {
19
+ return typeof value === 'string' ? value : malformed(at, 'text');
18
20
  }
19
- function optionalText(value) {
20
- return value === undefined ? undefined : text(value);
21
+ function optionalText(value, at) {
22
+ return value === undefined ? undefined : text(value, at);
21
23
  }
22
- function markdownBase(value) {
23
- return value === null ? null : optionalText(value);
24
+ function markdownBase(value, at) {
25
+ return value === null ? null : optionalText(value, at);
24
26
  }
25
- function entries(value, each) {
27
+ function entries(value, at, each) {
26
28
  if (!plain(value))
27
- malformed();
29
+ malformed(at, 'an object of named values');
28
30
  const read = {};
29
31
  for (const [name, item] of Object.entries(value))
30
- read[name] = each(item);
32
+ read[name] = each(item, `${at}.${name}`);
31
33
  return read;
32
34
  }
33
- function fieldValue(value) {
35
+ function frontmatter(item, at) {
36
+ return frontmatterValue(item) ? item : malformed(at, 'a frontmatter value');
37
+ }
38
+ function fieldValue(value, at) {
34
39
  if (value === null)
35
40
  return null;
36
41
  if (!plain(value) || !Object.hasOwn(value, 'value') || !frontmatterValue(value.value)) {
37
- malformed();
42
+ malformed(at, '{ value } with a frontmatter value, or null where the document lacks it');
38
43
  }
39
44
  return { value: value.value };
40
45
  }
41
- function textPart(value) {
46
+ function textPart(value, at) {
42
47
  if (!plain(value))
43
- malformed();
44
- const base = optionalText(value.base);
45
- return { value: text(value.value), ...(base === undefined ? {} : { base }) };
48
+ malformed(at, '{ value, base }');
49
+ const base = optionalText(value.base, `${at}.base`);
50
+ return { value: text(value.value, `${at}.value`), ...(base === undefined ? {} : { base }) };
46
51
  }
47
- function creationOf(value) {
52
+ function creationOf(value, at) {
48
53
  if (!plain(value))
49
- malformed();
54
+ malformed(at, '{ type, fields, sections }, or { markdown }');
50
55
  if (Object.hasOwn(value, 'markdown'))
51
- return { markdown: text(value.markdown) };
52
- const fields = entries(value.fields, (item) => (frontmatterValue(item) ? item : malformed()));
53
- return { type: text(value.type), fields, sections: entries(value.sections, text) };
56
+ return { markdown: text(value.markdown, `${at}.markdown`) };
57
+ if (typeof value.type !== 'string')
58
+ malformed(`${at}.type`, 'a type name, or markdown in place of type, fields and sections');
59
+ return {
60
+ type: value.type,
61
+ fields: entries(value.fields, `${at}.fields`, frontmatter),
62
+ sections: entries(value.sections, `${at}.sections`, text),
63
+ };
54
64
  }
55
- const PART_NAMES = new Set([
65
+ const PART_NAMES = [
56
66
  'fields',
57
67
  'sections',
58
68
  'preamble',
@@ -60,41 +70,59 @@ const PART_NAMES = new Set([
60
70
  'creation',
61
71
  'move',
62
72
  'removal',
63
- ]);
64
- export function readParts(value) {
65
- if (!plain(value) || Object.keys(value).some((name) => !PART_NAMES.has(name)))
66
- malformed();
73
+ 'file',
74
+ ];
75
+ const NAMED_PARTS = `a part named ${PART_NAMES.slice(0, -1).join(', ')} or ${PART_NAMES.at(-1)}`;
76
+ export function readParts(value, path) {
77
+ if (!plain(value))
78
+ malformed(path, 'an object of parts');
79
+ const unknown = Object.keys(value).find((name) => !PART_NAMES.includes(name));
80
+ if (unknown !== undefined)
81
+ malformed(`${path} ${unknown}`, NAMED_PARTS);
67
82
  const parts = {};
68
83
  if (value.fields !== undefined) {
69
- parts.fields = entries(value.fields, (item) => {
84
+ parts.fields = entries(value.fields, `${path} fields`, (item, at) => {
70
85
  if (!plain(item) || !Object.hasOwn(item, 'value') || !frontmatterValue(item.value)) {
71
- malformed();
86
+ malformed(at, '{ value, base } with a frontmatter value');
72
87
  }
73
88
  return item.base === undefined
74
89
  ? { value: item.value }
75
- : { value: item.value, base: fieldValue(item.base) };
90
+ : { value: item.value, base: fieldValue(item.base, `${at}.base`) };
76
91
  });
77
92
  }
78
93
  if (value.sections !== undefined)
79
- parts.sections = entries(value.sections, textPart);
94
+ parts.sections = entries(value.sections, `${path} sections`, textPart);
80
95
  if (value.preamble !== undefined)
81
- parts.preamble = textPart(value.preamble);
96
+ parts.preamble = textPart(value.preamble, `${path} preamble`);
82
97
  if (value.markdown !== undefined)
83
- parts.markdown = textPart(value.markdown);
98
+ parts.markdown = textPart(value.markdown, `${path} markdown`);
84
99
  if (value.creation !== undefined)
85
- parts.creation = creationOf(value.creation);
100
+ parts.creation = creationOf(value.creation, `${path} creation`);
86
101
  if (value.move !== undefined) {
87
102
  if (!plain(value.move))
88
- malformed();
89
- const base = markdownBase(value.move.base);
90
- parts.move = { to: text(value.move.to), ...(base === undefined ? {} : { base }) };
103
+ malformed(`${path} move`, '{ to, room, base }');
104
+ const base = markdownBase(value.move.base, `${path} move.base`);
105
+ const room = optionalText(value.move.room, `${path} move.room`);
106
+ parts.move = {
107
+ to: text(value.move.to, `${path} move.to`),
108
+ ...(room === undefined ? {} : { room }),
109
+ ...(base === undefined ? {} : { base }),
110
+ };
91
111
  }
92
112
  if (value.removal !== undefined) {
93
113
  if (!plain(value.removal))
94
- malformed();
95
- const base = markdownBase(value.removal.base);
114
+ malformed(`${path} removal`, '{ base }');
115
+ const base = markdownBase(value.removal.base, `${path} removal.base`);
96
116
  parts.removal = base === undefined ? {} : { base };
97
117
  }
118
+ if (value.file !== undefined) {
119
+ if (!plain(value.file) || !(value.file.blob instanceof Blob))
120
+ malformed(`${path} file`, '{ blob, base } with a Blob');
121
+ if (Object.keys(value).length > 1)
122
+ throw runtimeError('room-draft-file-exclusive');
123
+ const base = markdownBase(value.file.base, `${path} file.base`);
124
+ parts.file = base === undefined ? { blob: value.file.blob } : { blob: value.file.blob, base };
125
+ }
98
126
  return parts;
99
127
  }
100
128
  function named(record) {
@@ -110,15 +138,76 @@ function kept(prior, base) {
110
138
  throw runtimeError('room-draft-base-missing');
111
139
  return base;
112
140
  }
141
+ function movePart(current, move) {
142
+ return {
143
+ to: move.to,
144
+ ...(move.room === undefined ? {} : { room: move.room }),
145
+ base: kept(current, move.base),
146
+ };
147
+ }
113
148
  function editsText(parts) {
114
149
  return (parts.preamble !== undefined ||
115
150
  named(parts.fields).length > 0 ||
116
151
  named(parts.sections).length > 0);
117
152
  }
118
- export function held(current, parts) {
153
+ function partNames(parts) {
154
+ const names = [];
155
+ for (const [name, part] of Object.entries(parts)) {
156
+ if (name === 'preamble' || name === 'markdown')
157
+ names.push(name);
158
+ else if ((name === 'fields' || name === 'sections') && plain(part))
159
+ names.push(...Object.keys(part).map((one) => `${name}/${one}`));
160
+ else
161
+ return null;
162
+ }
163
+ return names.sort().join('\u0000');
164
+ }
165
+ function withBaseOf(prior, part) {
166
+ return plain(part) && plain(prior) && Object.hasOwn(prior, 'base')
167
+ ? { ...part, base: prior.base }
168
+ : part;
169
+ }
170
+ export function gatheredParts(earlier, later) {
171
+ if (!plain(earlier) || !plain(later))
172
+ return null;
173
+ const named = partNames(earlier);
174
+ if (named === null || named !== partNames(later))
175
+ return null;
176
+ return Object.fromEntries(Object.entries(later).map(([name, part]) => [
177
+ name,
178
+ name === 'fields' || name === 'sections'
179
+ ? Object.fromEntries(Object.entries(part).map(([one, value]) => [
180
+ one,
181
+ withBaseOf(earlier[name][one], value),
182
+ ]))
183
+ : withBaseOf(earlier[name], part),
184
+ ]));
185
+ }
186
+ export function held(current, parts, file) {
119
187
  if (parts.markdown !== undefined && editsText(parts)) {
120
188
  throw runtimeError('room-draft-markdown-exclusive');
121
189
  }
190
+ if (file !== undefined) {
191
+ if (current !== undefined && current.file === undefined) {
192
+ throw runtimeError('room-draft-file-exclusive');
193
+ }
194
+ return { file: { ...file, base: current?.file === undefined ? file.base : current.file.base } };
195
+ }
196
+ if (current?.file !== undefined) {
197
+ if (editsText(parts) ||
198
+ parts.markdown !== undefined ||
199
+ parts.creation !== undefined ||
200
+ (parts.move === undefined && parts.removal === undefined)) {
201
+ throw runtimeError('room-draft-file-exclusive');
202
+ }
203
+ return {
204
+ file: current.file,
205
+ ...(parts.move === undefined ? {} : { move: movePart(current.move, parts.move) }),
206
+ ...(parts.removal === undefined
207
+ ? {}
208
+ : { removal: { base: kept(current.removal, parts.removal.base) } }),
209
+ };
210
+ }
122
211
  const next = {};
123
212
  const fields = named(parts.fields);
124
213
  if (fields.length > 0) {
@@ -148,9 +237,8 @@ export function held(current, parts) {
148
237
  }
149
238
  if (parts.creation !== undefined)
150
239
  next.creation = parts.creation;
151
- if (parts.move !== undefined) {
152
- next.move = { to: parts.move.to, base: kept(current?.move, parts.move.base) };
153
- }
240
+ if (parts.move !== undefined)
241
+ next.move = movePart(current?.move, parts.move);
154
242
  if (parts.removal !== undefined) {
155
243
  next.removal = { base: kept(current?.removal, parts.removal.base) };
156
244
  }
@@ -198,17 +286,41 @@ export function underneath(parts, path, visible) {
198
286
  report.move = markdown;
199
287
  if (parts.removal !== undefined && markdown !== parts.removal.base)
200
288
  report.removal = markdown;
289
+ if (parts.file !== undefined) {
290
+ const file = binaryBase(visible, path);
291
+ if (file !== parts.file.base || markdown !== null)
292
+ report.file = file;
293
+ }
201
294
  return report;
202
295
  }
203
- export function changedParts(path, report) {
296
+ const UNTYPED_MEDIA_TYPE = 'application/octet-stream';
297
+ export async function heldFile(blob, base) {
298
+ return {
299
+ localId: binaryLocalId(),
300
+ ...(blob instanceof File ? { name: blob.name } : {}),
301
+ byteLength: blob.size,
302
+ mediaType: blob.type === '' ? UNTYPED_MEDIA_TYPE : blob.type,
303
+ sha256: await sha256(blob),
304
+ base,
305
+ };
306
+ }
307
+ export function binaryBase(visible, path) {
308
+ const binary = visible?.binaries[path];
309
+ if (binary === undefined)
310
+ return null;
311
+ return visible?.revisions[path] ?? (binary.state === 'pending' ? binary.localId : null);
312
+ }
313
+ export function changedParts(path, parts, visible) {
314
+ const report = underneath(parts, path, visible);
315
+ const made = parts.file?.base === null;
204
316
  return [
205
- ...(report.creation === undefined ? [] : [{ path, part: 'creation' }]),
206
317
  ...named(report.fields).map(([name]) => ({ path, part: 'field', name })),
207
318
  ...named(report.sections).map(([name]) => ({ path, part: 'section', name })),
208
319
  ...(report.preamble === undefined ? [] : [{ path, part: 'preamble' }]),
209
320
  ...(report.markdown === undefined ? [] : [{ path, part: 'markdown' }]),
210
321
  ...(report.move === undefined ? [] : [{ path, part: 'move' }]),
211
322
  ...(report.removal === undefined ? [] : [{ path, part: 'removal' }]),
323
+ ...(report.file === undefined || made ? [] : [{ path, part: 'file' }]),
212
324
  ];
213
325
  }
214
326
  function joined(existing, returned) {
@@ -218,23 +330,22 @@ function joined(existing, returned) {
218
330
  merged[name] = part;
219
331
  return Object.keys(merged).length === 0 ? undefined : merged;
220
332
  }
221
- function ended(text) {
333
+ export function lineEnded(text) {
222
334
  return text === '' || text.endsWith('\n') ? text : `${text}\n`;
223
335
  }
224
336
  function frontmatterOf(fields) {
225
337
  const opened = parse('---\n---\n');
226
338
  if (!opened.ok)
227
339
  return malformed();
228
- let document = opened.document;
229
- for (const [name, part] of fields) {
230
- const next = apply(document, { kind: 'field', name, value: part.value, prior: undefined });
231
- if (next.outcome !== 'applied')
232
- return malformed();
233
- document = next.document;
234
- }
235
- return serialize(document);
340
+ const next = apply(opened.document, fields.map(([name, part]) => ({
341
+ kind: 'field',
342
+ name,
343
+ value: part.value,
344
+ prior: undefined,
345
+ })));
346
+ return next.outcome === 'applied' ? serialize(next.document) : malformed();
236
347
  }
237
- function concatenated(markdown, parts) {
348
+ export function partsAfter(markdown, parts) {
238
349
  const fields = named(parts.fields);
239
350
  const pieces = [
240
351
  ...(fields.length === 0 ? [] : [frontmatterOf(fields)]),
@@ -243,7 +354,7 @@ function concatenated(markdown, parts) {
243
354
  ];
244
355
  if (pieces.length === 0)
245
356
  return markdown;
246
- return `${ended(markdown)}\n${pieces.map(ended).join('')}`;
357
+ return `${lineEnded(markdown)}\n${pieces.map(lineEnded).join('')}`;
247
358
  }
248
359
  export function returnedInto(existing, returned) {
249
360
  if (existing === undefined)
@@ -265,24 +376,57 @@ export function returnedInto(existing, returned) {
265
376
  delete next.fields;
266
377
  delete next.sections;
267
378
  delete next.preamble;
268
- const value = concatenated(whole.value, existing.markdown === undefined ? existing : returned);
379
+ const value = partsAfter(whole.value, existing.markdown === undefined ? existing : returned);
269
380
  next.markdown = { value, base: whole.base };
270
381
  }
271
382
  const creation = existing.creation ?? returned.creation;
272
383
  const move = existing.move ?? returned.move;
273
384
  const removal = existing.removal ?? returned.removal;
385
+ const file = existing.file ?? returned.file;
274
386
  if (creation !== undefined)
275
387
  next.creation = creation;
276
388
  if (move !== undefined)
277
389
  next.move = move;
278
390
  if (removal !== undefined)
279
391
  next.removal = removal;
392
+ if (file !== undefined)
393
+ next.file = file;
280
394
  return next;
281
395
  }
282
396
  export function moveTarget(move) {
283
397
  const to = normalize(move.to);
284
398
  return to === null || to === '' ? move.to : to;
285
399
  }
400
+ export function readSavedParts(named) {
401
+ const read = named.map(({ path, parts }) => ({ path, parts: readParts(parts, path) }));
402
+ read.forEach(({ path }, at) => {
403
+ if (path === '' || normalize(path) !== path)
404
+ malformed(path, 'a path inside the Room, such as notes/a.md');
405
+ if (read.findIndex((one) => one.path === path) !== at)
406
+ malformed(path, 'each path once in one save');
407
+ });
408
+ return read;
409
+ }
410
+ export function partsChanges(named) {
411
+ const changes = [];
412
+ const preconditions = [];
413
+ for (const { path, parts } of readSavedParts(named)) {
414
+ const parted = held(undefined, parts);
415
+ const made = changesOf(path, parted);
416
+ changes.push(...made.changes);
417
+ preconditions.push(...made.bases);
418
+ for (const change of made.changes) {
419
+ if (change.kind === 'create')
420
+ preconditions.push({ kind: 'absent', path });
421
+ if (change.kind === 'move')
422
+ preconditions.push({ kind: 'absent', path: change.to });
423
+ }
424
+ const revision = parted.markdown?.base ?? parted.move?.base ?? parted.removal?.base;
425
+ if (typeof revision === 'string')
426
+ preconditions.push({ kind: 'revision', path, revision });
427
+ }
428
+ return { changes, preconditions };
429
+ }
286
430
  export function changesOf(path, parts) {
287
431
  const changes = [];
288
432
  const bases = [];
@@ -302,19 +446,80 @@ export function changesOf(path, parts) {
302
446
  bases.push({ kind: 'field', path, name, value: part.base?.value });
303
447
  }
304
448
  for (const [name, part] of named(parts.sections)) {
305
- changes.push({ kind: 'section', path, name, value: part.value });
449
+ changes.push({ kind: 'section', path, name, value: lineEnded(part.value) });
306
450
  bases.push({ kind: 'section', path, name, value: part.base });
307
451
  }
308
452
  if (parts.preamble !== undefined) {
309
- changes.push({ kind: 'preamble', path, value: parts.preamble.value });
453
+ changes.push({ kind: 'preamble', path, value: lineEnded(parts.preamble.value) });
310
454
  bases.push({ kind: 'preamble', path, value: parts.preamble.base });
311
455
  }
312
456
  if (parts.markdown !== undefined) {
313
457
  changes.push({ kind: 'replace', path, content: parts.markdown.value });
314
458
  }
459
+ if (parts.file !== undefined && parts.removal === undefined) {
460
+ const { base, name: _name, ...file } = parts.file;
461
+ const at = parts.move === undefined ? path : moveTarget(parts.move);
462
+ if (base !== null && at !== path)
463
+ changes.push({ kind: 'move', path, to: at });
464
+ changes.push({ kind: 'binary', path: at, ...file });
465
+ if (base === null)
466
+ bases.push({ kind: 'absent', path: at });
467
+ return { changes, bases };
468
+ }
469
+ if (parts.file?.base === null)
470
+ return { changes, bases };
315
471
  if (parts.move !== undefined)
316
472
  changes.push({ kind: 'move', path, to: moveTarget(parts.move) });
317
473
  if (parts.removal !== undefined)
318
474
  changes.push({ kind: 'remove', path });
319
475
  return { changes, bases };
320
476
  }
477
+ function rebased(before, after) {
478
+ return before === undefined ? after : { ...after, base: before.base };
479
+ }
480
+ function rebasedAll(before, after) {
481
+ return {
482
+ ...before,
483
+ ...Object.fromEntries(Object.entries(after).map(([name, part]) => [name, rebased(before?.[name], part)])),
484
+ };
485
+ }
486
+ export function joinedDraft(carried, saved) {
487
+ const draft = saved.find((item) => item.path === carried.path);
488
+ if (draft === undefined)
489
+ return carried;
490
+ const held = carried.parts;
491
+ const next = draft.parts;
492
+ return {
493
+ path: carried.path,
494
+ parts: {
495
+ ...held,
496
+ ...next,
497
+ ...(next.fields === undefined ? {} : { fields: rebasedAll(held.fields, next.fields) }),
498
+ ...(next.sections === undefined
499
+ ? {}
500
+ : { sections: rebasedAll(held.sections, next.sections) }),
501
+ ...(next.preamble === undefined ? {} : { preamble: rebased(held.preamble, next.preamble) }),
502
+ ...(next.markdown === undefined ? {} : { markdown: rebased(held.markdown, next.markdown) }),
503
+ },
504
+ };
505
+ }
506
+ export function withdrawnDrafts(drafts, changes) {
507
+ return drafts.flatMap((draft) => {
508
+ const file = draft.parts.file;
509
+ const at = draft.parts.move?.to ?? draft.path;
510
+ const change = changes.find((item) => (item.kind === 'move' || item.kind === 'remove') && item.path === at);
511
+ if (file === undefined || change === undefined)
512
+ return [draft];
513
+ if (change.kind === 'move') {
514
+ return [
515
+ {
516
+ path: draft.path,
517
+ parts: change.to === draft.path ? { file } : { file, move: { to: change.to, base: null } },
518
+ },
519
+ ];
520
+ }
521
+ return file.base === null
522
+ ? []
523
+ : [{ path: draft.path, parts: { file, removal: { base: null } } }];
524
+ });
525
+ }
@@ -0,0 +1,24 @@
1
+ import { type ChangeSet } from './change-set.js';
2
+ import { type VisibleLayer } from './replica.js';
3
+ import { type RoomDraft, type RoomDraftWrite } from './room-draft.js';
4
+ import type { Runtime } from './runtime.js';
5
+ import type { Store } from './store.js';
6
+ export type RoomDraftSurface = {
7
+ list(): Promise<readonly RoomDraft[]>;
8
+ read(room: string, path: string): Promise<RoomDraft | null>;
9
+ write(room: string, path: string, revision: string | null, parts: unknown, next?: string): Promise<RoomDraftWrite>;
10
+ discard(room: string, path: string, revision: string): Promise<RoomDraftWrite>;
11
+ };
12
+ export type PresentationSurface = {
13
+ read(app: string): Promise<unknown>;
14
+ write(app: string, value: unknown): Promise<void>;
15
+ edit(app: string, members: Readonly<Record<string, unknown>>): Promise<void>;
16
+ };
17
+ export declare function visibleOf(store: Store, locator: string, paths: readonly string[]): Promise<VisibleLayer | undefined>;
18
+ export declare function publishRoomDrafts({ store, socket }: Runtime, waitingOnly: boolean, touched?: ChangeSet['documents'] | null): Promise<void>;
19
+ export declare function emitPresentation({ store, socket }: Runtime, app: string): Promise<void>;
20
+ export declare function roomDraftSurface(runtime: Runtime): RoomDraftSurface;
21
+ export declare function presentationSurface(runtime: Runtime): PresentationSurface;
22
+ export declare function watchRoomDrafts({ store, socket }: Runtime, deliver: (value: unknown) => void): () => void;
23
+ export declare function watchPresentation({ store, socket }: Runtime, app: string, deliver: (value: unknown) => void): () => void;
24
+ //# sourceMappingURL=room-drafts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room-drafts.d.ts","sourceRoot":"","sources":["../src/room-drafts.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5D,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAQL,KAAK,SAAS,EAEd,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,IAAI,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC5D,KAAK,CACH,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAChF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAMF,wBAAsB,SAAS,CAC7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAMnC;AA0CD,wBAAgB,iBAAiB,CAC/B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAC1B,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,SAAS,CAAC,WAAW,CAAC,GAAG,IAAW,GAC5C,OAAO,CAAC,IAAI,CAAC,CAuBf;AAOD,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvF;AAoDD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAkDnE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,CA8BzE;AAED,wBAAgB,eAAe,CAC7B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAChC,MAAM,IAAI,CAiBZ;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAC1B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAChC,MAAM,IAAI,CASZ"}