@agentshouse/mdruntime 0.1.0-c069136dcb4e8 → 0.1.0-c076b00ebf42a

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 (316) hide show
  1. package/README.md +21 -19
  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 +108 -85
  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 +20 -60
  16. package/dist/bootstrap.d.ts +9 -5
  17. package/dist/bootstrap.d.ts.map +1 -1
  18. package/dist/bootstrap.js +204 -85
  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 +29 -22
  34. package/dist/client.d.ts.map +1 -1
  35. package/dist/client.js +36 -20
  36. package/dist/collection.d.ts +26 -4
  37. package/dist/collection.d.ts.map +1 -1
  38. package/dist/collection.js +19 -2
  39. package/dist/compile.d.ts +8 -6
  40. package/dist/compile.d.ts.map +1 -1
  41. package/dist/compile.js +286 -336
  42. package/dist/connection.d.ts +5 -142
  43. package/dist/connection.d.ts.map +1 -1
  44. package/dist/connection.js +110 -4970
  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 +150 -0
  49. package/dist/conversation-live.d.ts.map +1 -0
  50. package/dist/conversation-live.js +259 -0
  51. package/dist/conversation-row.d.ts +35 -0
  52. package/dist/conversation-row.d.ts.map +1 -0
  53. package/dist/conversation-row.js +55 -0
  54. package/dist/conversation.d.ts +65 -44
  55. package/dist/conversation.d.ts.map +1 -1
  56. package/dist/conversation.js +999 -881
  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 -0
  64. package/dist/durability.d.ts.map +1 -1
  65. package/dist/durability.js +4 -0
  66. package/dist/entry.d.ts +2 -2
  67. package/dist/entry.d.ts.map +1 -1
  68. package/dist/entry.js +18 -8
  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 +199 -0
  78. package/dist/file.d.ts.map +1 -1
  79. package/dist/file.js +2 -1
  80. package/dist/holdings.d.ts +29 -0
  81. package/dist/holdings.d.ts.map +1 -0
  82. package/dist/holdings.js +95 -0
  83. package/dist/host.d.ts +21 -7
  84. package/dist/host.d.ts.map +1 -1
  85. package/dist/host.js +77 -41
  86. package/dist/identity.d.ts +0 -1
  87. package/dist/identity.d.ts.map +1 -1
  88. package/dist/identity.js +0 -3
  89. package/dist/index.d.ts +34 -12
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +16 -5
  92. package/dist/install.d.ts +60 -0
  93. package/dist/install.d.ts.map +1 -0
  94. package/dist/install.js +537 -0
  95. package/dist/lifecycle.d.ts +7 -0
  96. package/dist/lifecycle.d.ts.map +1 -0
  97. package/dist/lifecycle.js +278 -0
  98. package/dist/listing.d.ts +52 -0
  99. package/dist/listing.d.ts.map +1 -0
  100. package/dist/listing.js +152 -0
  101. package/dist/live.d.ts +9 -6
  102. package/dist/live.d.ts.map +1 -1
  103. package/dist/live.js +118 -36
  104. package/dist/locks.d.ts +7 -0
  105. package/dist/locks.d.ts.map +1 -0
  106. package/dist/locks.js +32 -0
  107. package/dist/lost.d.ts +5 -0
  108. package/dist/lost.d.ts.map +1 -0
  109. package/dist/lost.js +49 -0
  110. package/dist/media.d.ts +1 -1
  111. package/dist/media.d.ts.map +1 -1
  112. package/dist/media.js +10 -13
  113. package/dist/memory.d.ts +15 -6
  114. package/dist/memory.d.ts.map +1 -1
  115. package/dist/memory.js +178 -89
  116. package/dist/messages.d.ts +35 -5
  117. package/dist/messages.d.ts.map +1 -1
  118. package/dist/messages.js +108 -36
  119. package/dist/model.d.ts +2 -10
  120. package/dist/model.d.ts.map +1 -1
  121. package/dist/model.js +0 -14
  122. package/dist/models.d.ts +10 -0
  123. package/dist/models.d.ts.map +1 -0
  124. package/dist/models.js +153 -0
  125. package/dist/observation.d.ts +28 -13
  126. package/dist/observation.d.ts.map +1 -1
  127. package/dist/observation.js +185 -81
  128. package/dist/opened.d.ts +1 -1
  129. package/dist/opened.d.ts.map +1 -1
  130. package/dist/opened.js +5 -5
  131. package/dist/opening.d.ts +4 -0
  132. package/dist/opening.d.ts.map +1 -0
  133. package/dist/opening.js +53 -0
  134. package/dist/outcome.d.ts +11 -1
  135. package/dist/outcome.d.ts.map +1 -1
  136. package/dist/outcome.js +26 -2
  137. package/dist/overlay.d.ts +6 -1
  138. package/dist/overlay.d.ts.map +1 -1
  139. package/dist/overlay.js +47 -21
  140. package/dist/page-metadata.d.ts +8 -0
  141. package/dist/page-metadata.d.ts.map +1 -0
  142. package/dist/page-metadata.js +19 -0
  143. package/dist/parts.d.ts +4 -0
  144. package/dist/parts.d.ts.map +1 -0
  145. package/dist/parts.js +13 -0
  146. package/dist/paths.d.ts +1 -0
  147. package/dist/paths.d.ts.map +1 -1
  148. package/dist/paths.js +22 -0
  149. package/dist/preparation.d.ts +41 -0
  150. package/dist/preparation.d.ts.map +1 -0
  151. package/dist/preparation.js +314 -0
  152. package/dist/presence.d.ts +58 -0
  153. package/dist/presence.d.ts.map +1 -0
  154. package/dist/presence.js +233 -0
  155. package/dist/queries.d.ts +16 -0
  156. package/dist/queries.d.ts.map +1 -0
  157. package/dist/queries.js +308 -0
  158. package/dist/query.d.ts +14 -210
  159. package/dist/query.d.ts.map +1 -1
  160. package/dist/query.js +3 -505
  161. package/dist/questions.d.ts +29 -0
  162. package/dist/questions.d.ts.map +1 -0
  163. package/dist/questions.js +115 -0
  164. package/dist/queue.d.ts +40 -0
  165. package/dist/queue.d.ts.map +1 -0
  166. package/dist/queue.js +450 -0
  167. package/dist/reach.d.ts +16 -15
  168. package/dist/reach.d.ts.map +1 -1
  169. package/dist/reach.js +248 -147
  170. package/dist/react.d.ts +17 -3
  171. package/dist/react.d.ts.map +1 -1
  172. package/dist/react.js +33 -1
  173. package/dist/read.d.ts +7 -0
  174. package/dist/read.d.ts.map +1 -0
  175. package/dist/read.js +17 -0
  176. package/dist/readiness.d.ts +9 -6
  177. package/dist/readiness.d.ts.map +1 -1
  178. package/dist/readiness.js +3 -5
  179. package/dist/reads.d.ts +39 -0
  180. package/dist/reads.d.ts.map +1 -0
  181. package/dist/reads.js +178 -0
  182. package/dist/recovery.d.ts +3 -1
  183. package/dist/recovery.d.ts.map +1 -1
  184. package/dist/recovery.js +38 -8
  185. package/dist/refresh.d.ts +2 -1
  186. package/dist/refresh.d.ts.map +1 -1
  187. package/dist/refresh.js +31 -3
  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 +11 -16
  192. package/dist/replica.d.ts.map +1 -1
  193. package/dist/replica.js +64 -30
  194. package/dist/retried.d.ts +30 -0
  195. package/dist/retried.d.ts.map +1 -0
  196. package/dist/retried.js +72 -0
  197. package/dist/room-draft.d.ts +7 -8
  198. package/dist/room-draft.d.ts.map +1 -1
  199. package/dist/room-draft.js +113 -111
  200. package/dist/room-drafts.d.ts +24 -0
  201. package/dist/room-drafts.d.ts.map +1 -0
  202. package/dist/room-drafts.js +217 -0
  203. package/dist/rows.d.ts +16 -22
  204. package/dist/rows.d.ts.map +1 -1
  205. package/dist/rows.js +49 -186
  206. package/dist/runtime.d.ts +34 -0
  207. package/dist/runtime.d.ts.map +1 -0
  208. package/dist/runtime.js +1 -0
  209. package/dist/save.d.ts +42 -86
  210. package/dist/save.d.ts.map +1 -1
  211. package/dist/save.js +344 -174
  212. package/dist/saves.d.ts +32 -0
  213. package/dist/saves.d.ts.map +1 -0
  214. package/dist/saves.js +409 -0
  215. package/dist/search.d.ts +12 -63
  216. package/dist/search.d.ts.map +1 -1
  217. package/dist/search.js +9 -52
  218. package/dist/seed.d.ts +11 -2
  219. package/dist/seed.d.ts.map +1 -1
  220. package/dist/seed.js +71 -1
  221. package/dist/shared.d.ts +1 -6
  222. package/dist/shared.d.ts.map +1 -1
  223. package/dist/shared.js +13 -95
  224. package/dist/shown.d.ts +33 -0
  225. package/dist/shown.d.ts.map +1 -0
  226. package/dist/shown.js +309 -0
  227. package/dist/socket/admission.d.ts +7 -0
  228. package/dist/socket/admission.d.ts.map +1 -0
  229. package/dist/socket/admission.js +39 -0
  230. package/dist/socket/answers.d.ts +6 -0
  231. package/dist/socket/answers.d.ts.map +1 -0
  232. package/dist/socket/answers.js +20 -0
  233. package/dist/socket/lanes.d.ts +28 -0
  234. package/dist/socket/lanes.d.ts.map +1 -0
  235. package/dist/socket/lanes.js +103 -0
  236. package/dist/socket/reads.d.ts +10 -0
  237. package/dist/socket/reads.d.ts.map +1 -0
  238. package/dist/socket/reads.js +31 -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 +67 -0
  243. package/dist/socket.d.ts.map +1 -0
  244. package/dist/socket.js +164 -0
  245. package/dist/source.d.ts +54 -0
  246. package/dist/source.d.ts.map +1 -0
  247. package/dist/source.js +82 -0
  248. package/dist/status.d.ts +0 -2
  249. package/dist/status.d.ts.map +1 -1
  250. package/dist/status.js +0 -6
  251. package/dist/store/installs.d.ts +30 -0
  252. package/dist/store/installs.d.ts.map +1 -0
  253. package/dist/store/installs.js +40 -0
  254. package/dist/store/readiness.d.ts +11 -0
  255. package/dist/store/readiness.d.ts.map +1 -0
  256. package/dist/store/readiness.js +68 -0
  257. package/dist/store/records.d.ts +217 -0
  258. package/dist/store/records.d.ts.map +1 -0
  259. package/dist/store/records.js +464 -0
  260. package/dist/store/room-held.d.ts +8 -0
  261. package/dist/store/room-held.d.ts.map +1 -0
  262. package/dist/store/room-held.js +17 -0
  263. package/dist/store/rooms-shown.d.ts +8 -0
  264. package/dist/store/rooms-shown.d.ts.map +1 -0
  265. package/dist/store/rooms-shown.js +13 -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 +113 -144
  276. package/dist/store.d.ts.map +1 -1
  277. package/dist/store.js +171 -364
  278. package/dist/stored.d.ts +72 -35
  279. package/dist/stored.d.ts.map +1 -1
  280. package/dist/stored.js +340 -197
  281. package/dist/surface.d.ts +89 -0
  282. package/dist/surface.d.ts.map +1 -0
  283. package/dist/surface.js +222 -0
  284. package/dist/sync.d.ts +19 -0
  285. package/dist/sync.d.ts.map +1 -0
  286. package/dist/sync.js +535 -0
  287. package/dist/tables.d.ts +124 -30
  288. package/dist/tables.d.ts.map +1 -1
  289. package/dist/tables.js +242 -62
  290. package/dist/tallies.d.ts +18 -0
  291. package/dist/tallies.d.ts.map +1 -0
  292. package/dist/tallies.js +128 -0
  293. package/dist/validation.d.ts.map +1 -1
  294. package/dist/validation.js +9 -12
  295. package/dist/windows.d.ts +1 -12
  296. package/dist/windows.d.ts.map +1 -1
  297. package/dist/windows.js +2 -75
  298. package/dist/wire.d.ts +58 -9
  299. package/dist/wire.d.ts.map +1 -1
  300. package/dist/wire.js +21 -5
  301. package/package.json +3 -2
  302. package/dist/attempt.d.ts +0 -16
  303. package/dist/attempt.d.ts.map +0 -1
  304. package/dist/attempt.js +0 -70
  305. package/dist/fence.d.ts +0 -6
  306. package/dist/fence.d.ts.map +0 -1
  307. package/dist/fence.js +0 -10
  308. package/dist/fulltext.d.ts +0 -27
  309. package/dist/fulltext.d.ts.map +0 -1
  310. package/dist/fulltext.js +0 -370
  311. package/dist/log.d.ts +0 -5
  312. package/dist/log.d.ts.map +0 -1
  313. package/dist/log.js +0 -14
  314. package/dist/words.d.ts +0 -19
  315. package/dist/words.d.ts.map +0 -1
  316. package/dist/words.js +0 -156
package/dist/rows.d.ts CHANGED
@@ -1,14 +1,8 @@
1
+ import { type HeldValue } from '@agentshouse/mdmodel';
2
+ import type { SavedFacts } from './adapter.js';
1
3
  import { type Composition } from './collection.js';
2
- export type ValueKind = 'string' | 'number' | 'boolean' | 'null' | 'array' | 'object' | 'undefined';
3
- type HeldValue = {
4
- readonly keys: string;
5
- readonly places: string;
6
- readonly item: number;
7
- readonly kind: ValueKind;
8
- readonly value: string | number | null;
9
- readonly size: number | null;
10
- };
11
- type LinkKind = 'field' | 'section' | 'body';
4
+ import type { PlanReach } from './query.js';
5
+ type LinkKind = 'field' | 'link';
12
6
  type HeldLink = {
13
7
  readonly kind: LinkKind;
14
8
  readonly keys: string;
@@ -19,28 +13,28 @@ type HeldLink = {
19
13
  export type Described = {
20
14
  readonly type: string | null;
21
15
  readonly declared: string | null;
22
- readonly queried: boolean;
23
16
  readonly folder: string;
24
17
  readonly fields: string | null;
18
+ readonly links: string | null;
19
+ };
20
+ export type Held = {
21
+ readonly type: string | null;
22
+ readonly fields: Readonly<Record<string, unknown>> | null;
23
+ readonly links: readonly string[];
25
24
  };
26
- export type Derived = Described & {
25
+ export type Derived = {
27
26
  readonly values: readonly HeldValue[];
28
27
  readonly links: readonly HeldLink[];
29
28
  };
30
29
  export declare function documentKey(room: string, path: string): string;
31
30
  export declare function roomOfKey(key: string): string;
31
+ export declare function roomsOfReach(reach: PlanReach): ReadonlySet<string>;
32
32
  export declare function pathOfKey(key: string): string;
33
33
  export declare function markdownPath(path: string): boolean;
34
34
  export declare function folderOf(path: string): string;
35
- export type Reach = 'exact' | 'value' | 'link';
36
- export type Placed = {
37
- readonly keys: string;
38
- readonly places: string;
39
- readonly glob: boolean;
40
- };
41
- export declare function placedOf(pointer: string, reach: Reach): Placed;
42
- export declare function kindOf(value: unknown): ValueKind;
43
- export declare function described(path: string, content: string | null): Described;
44
- export declare function derived(path: string, content: string | null, composition: Composition): Derived;
35
+ export declare function writtenFacts(path: string, content: string, composition: Composition): SavedFacts | null;
36
+ export declare function described(path: string, content: string | null, facts: SavedFacts | null): Described;
37
+ export declare function heldOf(path: string, content: string | null, facts: SavedFacts | null): Held;
38
+ export declare function derived(path: string, held: Held, composition: Composition): Derived;
45
39
  export {};
46
40
  //# sourceMappingURL=rows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"AAWA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9D,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEpG,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,KAAK,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C,KAAK,QAAQ,GAAG;IACd,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC,CAAC;AAMF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAWD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhG,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAuB9D;AAwBD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAMhD;AAiJD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAEzE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAO/F"}
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjC,KAAK,QAAQ,GAAG;IACd,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC,CAAC;AAMF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAElE;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAaD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACvB,UAAU,GAAG,IAAI,CAQnB;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,KAAK,EAAE,UAAU,GAAG,IAAI,GACvB,SAAS,CAaX;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAK3F;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAYnF"}
package/dist/rows.js CHANGED
@@ -1,6 +1,5 @@
1
- import { ARRAY_INDEX, bodyAfterFrontmatter, bodyLinks, escapePointer, parseFrontmatter, references, sectionReferences, target, } from '@agentshouse/mdmodel';
2
- import { governing } from './collection.js';
3
- import { definitionOf } from './model.js';
1
+ import { byCodePoint, documentFacts, indexed, parse } from '@agentshouse/mdmodel';
2
+ import { definitionsAt, governing } from './collection.js';
4
3
  function keyOf(...parts) {
5
4
  return `${parts.join('\u0000')}\u0000`;
6
5
  }
@@ -10,6 +9,9 @@ export function documentKey(room, path) {
10
9
  export function roomOfKey(key) {
11
10
  return key.split('\u0000')[1];
12
11
  }
12
+ export function roomsOfReach(reach) {
13
+ return new Set([...reach.rooms, ...reach.documents.map(roomOfKey)]);
14
+ }
13
15
  export function pathOfKey(key) {
14
16
  return key.split('\u0000')[2];
15
17
  }
@@ -19,196 +21,57 @@ export function markdownPath(path) {
19
21
  export function folderOf(path) {
20
22
  return path.slice(0, Math.max(path.lastIndexOf('/'), 0));
21
23
  }
22
- export function placedOf(pointer, reach) {
23
- const [first = '', ...rest] = pointer.split('/').slice(1);
24
- const keys = [first];
25
- const gaps = [[]];
26
- for (const segment of rest) {
27
- if (ARRAY_INDEX.test(segment)) {
28
- gaps.at(-1).push(segment);
29
- continue;
30
- }
31
- keys.push(segment);
32
- gaps.push([]);
33
- }
34
- const places = gaps
35
- .map((gap, at) => {
36
- const open = at < gaps.length - 1 ? reach !== 'exact' : reach === 'link';
37
- return `/${gap.map((number) => `[.:]${number}`).join('')}.${open ? '*' : ''}`;
38
- })
39
- .join('');
40
- return {
41
- keys: keys.map((key) => `/${key}`).join(''),
42
- places,
43
- glob: /[[*]/u.test(places),
44
- };
45
- }
46
- function placesOf({ done, head, tail }) {
47
- return `${done}/${head}${tail}.`;
48
- }
49
- function throughOf(keys, places) {
50
- const gaps = places.split('/').slice(1);
51
- return keys
52
- .split('/')
53
- .slice(1)
54
- .map((key, at) => `/${key}${gaps[at].replace(/\.\d*/gu, '').replaceAll(':', '/')}`)
55
- .join('');
56
- }
57
- function plainObject(value) {
58
- return typeof value === 'object' && value !== null && !Array.isArray(value);
59
- }
60
- function compared(reading, exact, value) {
61
- if (!reading.references.has(exact))
24
+ function byKey(_key, value) {
25
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
62
26
  return value;
63
- return (typeof value === 'string' ? target(reading.path, value) : null) ?? undefined;
27
+ return Object.fromEntries(Object.entries(value).sort(([one], [other]) => byCodePoint(one, other)));
64
28
  }
65
- export function kindOf(value) {
66
- if (value === undefined)
67
- return 'undefined';
68
- if (value === null)
69
- return 'null';
70
- if (Array.isArray(value))
71
- return 'array';
72
- if (typeof value === 'object')
73
- return 'object';
74
- return typeof value;
75
- }
76
- function scalarOf(value) {
77
- if (typeof value === 'string' || typeof value === 'number')
78
- return value;
79
- if (typeof value === 'boolean')
80
- return value ? 1 : 0;
81
- if (Array.isArray(value))
82
- return JSON.stringify(value);
83
- return null;
29
+ function fieldsText(fields) {
30
+ return JSON.stringify(fields, byKey);
84
31
  }
85
- function held(reading, keys, places, value) {
86
- reading.values.push({
87
- keys,
88
- places,
89
- item: -1,
90
- kind: kindOf(value),
91
- value: scalarOf(value),
92
- size: Array.isArray(value) ? value.length : null,
32
+ export function writtenFacts(path, content, composition) {
33
+ const model = governing(composition, path);
34
+ const facts = documentFacts(path, parse(content, path, definitionsAt(composition, path)), {
35
+ types: model.status === 'unavailable' ? {} : model.types,
93
36
  });
94
- if (!Array.isArray(value))
95
- return;
96
- value.forEach((item, index) => {
97
- const itemKind = kindOf(item);
98
- reading.values.push({
99
- keys,
100
- places,
101
- item: index,
102
- kind: itemKind,
103
- value: itemKind === 'array' ? null : scalarOf(item),
104
- size: null,
105
- });
106
- });
107
- }
108
- function record(reading, node, at) {
109
- const value = Array.isArray(node)
110
- ? node.map((item, index) => compared(reading, `${at.exact}/${index}`, item))
111
- : compared(reading, at.exact, node);
112
- const places = placesOf(at);
113
- held(reading, at.keys, places, value);
114
- if (typeof value !== 'string' || !reading.references.has(at.exact))
115
- return;
116
- reading.links.push({
117
- kind: 'field',
118
- keys: at.keys,
119
- places,
120
- target: value,
121
- field: throughOf(at.keys, places),
122
- });
123
- }
124
- function walk(reading, node, at) {
125
- record(reading, node, at);
126
- if (Array.isArray(node)) {
127
- node.forEach((item, index) => walk(reading, item, { ...at, tail: `${at.tail}.${index}`, exact: `${at.exact}/${index}` }));
128
- return;
129
- }
130
- if (!plainObject(node))
131
- return;
132
- for (const [key, value] of Object.entries(node)) {
133
- const segment = escapePointer(key);
134
- const exact = `${at.exact}/${segment}`;
135
- walk(reading, value, ARRAY_INDEX.test(segment)
136
- ? { ...at, head: `${at.head}${at.tail.replaceAll('.', ':')}:${segment}`, tail: '', exact }
137
- : { keys: `${at.keys}/${segment}`, done: placesOf(at), head: '', tail: '', exact });
138
- }
37
+ return facts === null
38
+ ? null
39
+ : { ...facts, fields: JSON.parse(fieldsText(facts.fields)) };
139
40
  }
140
- function bodyTargets(path, content) {
141
- const seen = new Set();
142
- const found = [];
143
- for (const { target: reached } of bodyLinks(bodyAfterFrontmatter(content), path)) {
144
- if (seen.has(reached))
145
- continue;
146
- seen.add(reached);
147
- found.push({ kind: 'body', keys: '', places: '', target: reached, field: '' });
148
- }
149
- return found;
150
- }
151
- function typedRows(path, content, document, composition) {
152
- const definition = definitionOf(governing(composition, path), document.type);
153
- const reading = {
154
- path,
155
- references: new Set(definition === undefined ? [] : references(document, definition).map((one) => one.pointer)),
156
- values: [],
157
- links: [],
158
- };
159
- for (const [name, value] of Object.entries(document.fields)) {
160
- const segment = escapePointer(name);
161
- walk(reading, value, {
162
- keys: `/${segment}`,
163
- done: '',
164
- head: '',
165
- tail: '',
166
- exact: `/${segment}`,
167
- });
168
- }
169
- const links = reading.links;
170
- if (definition !== undefined) {
171
- const sectioned = new Set();
172
- for (const { target: reached } of sectionReferences(path, content, definition)) {
173
- if (reached === null || sectioned.has(reached))
174
- continue;
175
- sectioned.add(reached);
176
- links.push({ kind: 'section', keys: '', places: '', target: reached, field: '' });
177
- }
178
- }
179
- return { values: reading.values, links: [...links, ...bodyTargets(path, content)] };
180
- }
181
- function read(path, content) {
41
+ export function described(path, content, facts) {
182
42
  const folder = folderOf(path);
183
- const unread = { fields: null, folder, type: null };
184
- if (content === null) {
185
- return { described: { ...unread, declared: null, queried: true }, document: null };
186
- }
187
- const parsed = parseFrontmatter(content, path);
188
- const declared = parsed.ok ? (parsed.frontmatter.type ?? 'any') : null;
189
- if (!markdownPath(path) || !parsed.ok) {
190
- return { described: { ...unread, declared, queried: !markdownPath(path) }, document: null };
191
- }
192
- const document = parsed.frontmatter;
43
+ const unread = { type: null, fields: null, links: null, folder };
44
+ if (content === null || facts === null)
45
+ return { ...unread, declared: null };
46
+ const links = JSON.stringify(facts.links);
47
+ if (!markdownPath(path))
48
+ return { ...unread, declared: facts.type, links };
193
49
  return {
194
- described: {
195
- type: document.type ?? 'any',
196
- declared,
197
- queried: true,
198
- folder,
199
- fields: JSON.stringify(document.fields),
200
- },
201
- document,
50
+ type: facts.type,
51
+ declared: facts.type,
52
+ folder,
53
+ fields: fieldsText(facts.fields),
54
+ links,
202
55
  };
203
56
  }
204
- export function described(path, content) {
205
- return read(path, content).described;
206
- }
207
- export function derived(path, content, composition) {
208
- const { described: columns, document } = read(path, content);
209
- if (document !== null) {
210
- return { ...columns, ...typedRows(path, content, document, composition) };
211
- }
212
- const links = content === null || markdownPath(path) ? [] : bodyTargets(path, content);
213
- return { ...columns, values: [], links };
57
+ export function heldOf(path, content, facts) {
58
+ if (content === null || facts === null)
59
+ return { type: null, fields: null, links: [] };
60
+ return markdownPath(path)
61
+ ? { type: facts.type, fields: facts.fields, links: facts.links }
62
+ : { type: null, fields: null, links: facts.links };
63
+ }
64
+ export function derived(path, held, composition) {
65
+ const stored = held.links.map((target) => ({
66
+ kind: 'link',
67
+ keys: '',
68
+ places: '',
69
+ target,
70
+ field: '',
71
+ }));
72
+ if (held.type === null || held.fields === null)
73
+ return { values: [], links: stored };
74
+ const definition = definitionsAt(composition, path)(held.type);
75
+ const { values, links: fields } = indexed(path, held.fields, definition);
76
+ return { values, links: [...fields, ...stored] };
214
77
  }
@@ -0,0 +1,34 @@
1
+ import type { RoomDeclaration, TypedPath } from './adapter.js';
2
+ import type { RuntimeShell } from './durability.js';
3
+ import type { LiveConversations } from './conversation-live.js';
4
+ import type { WriteRule } from './declaration.js';
5
+ import type { FiguresRead } from './figures.js';
6
+ import type { LiveQueries } from './live.js';
7
+ import type { ModelState } from './model.js';
8
+ import type { Presence } from './presence.js';
9
+ import type { ReadAnswers } from './reads.js';
10
+ import type { Recovery } from './recovery.js';
11
+ import type { Retries } from './retried.js';
12
+ import type { RuntimeSocket } from './socket.js';
13
+ import type { HeldCover, Store } from './store.js';
14
+ import type { schemaTypes } from './attached-model.js';
15
+ export type Runtime = {
16
+ readonly store: Store;
17
+ readonly socket: RuntimeSocket;
18
+ readonly presence: Presence;
19
+ readonly recovery: Recovery;
20
+ readonly retries: Retries;
21
+ readonly shell: RuntimeShell;
22
+ readonly localSaves: boolean;
23
+ readonly roomTypes: Parameters<typeof schemaTypes>[1];
24
+ readonly builtIn: ModelState;
25
+ readonly typedPaths: readonly TypedPath[];
26
+ readonly writeRule: (declaration: RoomDeclaration) => WriteRule;
27
+ readonly usableWhenHeld: readonly string[];
28
+ readonly build: string;
29
+ readonly conversations: LiveConversations;
30
+ readonly liveQueries: LiveQueries<HeldCover>;
31
+ readonly figures: FiguresRead;
32
+ readonly lastAnswers: ReadAnswers;
33
+ };
34
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,eAAe,KAAK,SAAS,CAAC;IAChE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
package/dist/save.d.ts CHANGED
@@ -1,103 +1,59 @@
1
1
  import { type Validation } from '@agentshouse/mdmodel';
2
- import type { OperationScopes, ProviderLimit } from './adapter.js';
3
- import { type Change, type ChangeBatch, type Precondition, type WrittenBy } from './change.js';
2
+ import type { ProviderLimit } from './adapter.js';
3
+ import { type ChangeBatch, type WrittenBy } from './change.js';
4
4
  import { type Composition } from './collection.js';
5
+ import type { WriteRule } from './declaration.js';
5
6
  import { type Layer } from './overlay.js';
6
- import type { VisibleLayer } from './replica.js';
7
- import type { ChangedPart } from './room-draft.js';
7
+ import type { ReplicaRecord, VisibleLayer } from './replica.js';
8
+ import { type ChangedPart, type RoomDraftRecord, type SavedDraft } from './room-draft.js';
8
9
  export type SaveRefusal = {
9
10
  code: string;
10
11
  retryable: boolean;
11
12
  file?: string;
12
13
  location?: string;
14
+ line?: number;
13
15
  referrers?: readonly string[];
14
16
  parts?: readonly ChangedPart[];
15
17
  };
16
- export type SaveInput = {
17
- local: boolean;
18
- composition: Composition;
19
- baseRoomVersion: string;
20
- operations: import('./adapter.js').OperationScopes;
21
- providerOwnedPaths: readonly string[];
22
- providerLimits: readonly ProviderLimit[];
23
- visible: VisibleLayer;
24
- folders: ReadonlySet<string>;
25
- handle: string;
26
- changes: readonly Change[];
27
- bases: readonly Precondition[];
28
- queued?: ReadonlySet<string>;
29
- writtenBy?: WrittenBy;
30
- unmodeled: boolean;
31
- validate: Validator;
18
+ export type SaveAsk = {
19
+ readonly saved: readonly SavedDraft[];
20
+ readonly consumed: ReadonlySet<string>;
21
+ readonly writtenBy?: WrittenBy;
22
+ readonly local: boolean;
23
+ readonly providerLimits: readonly ProviderLimit[];
32
24
  };
33
- export type Validator = (resulting: Layer, touched: readonly string[]) => Promise<Validation>;
34
- type Refusing = {
35
- kind: 'refused';
36
- refusal: SaveRefusal;
25
+ export type SavingRoom = {
26
+ readonly record: ReplicaRecord;
27
+ readonly rule: WriteRule;
28
+ readonly composition: Composition;
29
+ readonly queue: readonly ChangeBatch[];
30
+ readonly changeable: ReadonlySet<string>;
31
+ readonly saved: ReadonlyMap<string, readonly SavedDraft[]>;
32
+ readonly replay: (queue: readonly ChangeBatch[]) => Generator<number, VisibleLayer, void>;
33
+ readonly folders: ReadonlySet<string>;
34
+ readonly modelled: boolean;
35
+ readonly drafts: ReadonlyMap<string, RoomDraftRecord>;
36
+ readonly validate: Validator;
37
37
  };
38
- export type BatchResult = {
39
- kind: 'batch';
40
- batch: ChangeBatch;
41
- } | Refusing;
42
- export declare function providerRewritten(batch: ChangeBatch, visible: VisibleLayer): Generator<number, ChangeBatch, void>;
43
- export declare function leavingRewritten(batch: ChangeBatch, visible: VisibleLayer): Generator<number, ChangeBatch, void>;
44
- export declare function rewriting(batch: ChangeBatch, locator: string): boolean;
45
- export declare function effectiveIn(batch: ChangeBatch, locator: string, visible: VisibleLayer): Generator<number, ChangeBatch, void>;
46
- export declare function queuedDocuments(queue: readonly ChangeBatch[]): ReadonlySet<string>;
47
- export type Requeued = {
48
- kind: 'requeued';
49
- queue: readonly ChangeBatch[];
50
- changes: readonly Change[];
51
- queued: ReadonlySet<string>;
52
- withdrawn: ReadonlyMap<string, ChangeBatch | null>;
53
- owners: ReadonlySet<string>;
54
- } | {
55
- kind: 'refused';
56
- refusal: SaveRefusal;
38
+ export type PlannedRoom = {
39
+ readonly locator: string;
40
+ readonly queue: readonly ChangeBatch[];
41
+ readonly saved: ReadonlyMap<string, readonly SavedDraft[]>;
42
+ readonly consumed: readonly string[];
43
+ readonly carried: readonly RoomDraftRecord[];
57
44
  };
58
- export type Joining = {
59
- kind: 'joined';
60
- batch: ChangeBatch;
61
- queue: readonly ChangeBatch[];
45
+ export type SavePlan = {
46
+ readonly kind: 'refused';
47
+ readonly refusal: SaveRefusal;
62
48
  } | {
63
- kind: 'refused';
64
- refusal: SaveRefusal;
65
- };
66
- type VisibleOver = (queue: readonly ChangeBatch[]) => Generator<number, VisibleLayer, void>;
67
- export declare function requeuing(queue: readonly ChangeBatch[], changes: readonly Change[], visible: VisibleLayer, changeable: (batch: ChangeBatch) => boolean, state: VisibleOver): Generator<number, Requeued, void>;
68
- export declare function joined(queue: readonly ChangeBatch[], owner: ChangeBatch, extra: ChangeBatch): Joining;
69
- export declare function limiting(queue: readonly ChangeBatch[], batch: ChangeBatch, limits: readonly ProviderLimit[], state: VisibleOver): Generator<number, SaveRefusal | null, void>;
70
- export declare const MOVE_DOCUMENTS = "move-documents";
71
- export type MoveSide = {
72
- room: string;
73
- handle: string;
74
- baseRoomVersion: string;
75
- composition: Composition;
76
- operations: OperationScopes;
77
- providerOwnedPaths: readonly string[];
78
- visible: VisibleLayer;
79
- folders: ReadonlySet<string>;
80
- queued: ReadonlySet<string>;
81
- unmodeled: boolean;
82
- validate: Validator;
49
+ readonly kind: 'planned';
50
+ readonly identifier: string;
51
+ readonly rooms: readonly PlannedRoom[];
83
52
  };
84
- export type MoveInput = {
85
- source: MoveSide;
86
- destination: MoveSide;
87
- moves: readonly {
88
- readonly path: string;
89
- readonly to: string;
90
- }[];
91
- providerLimits: readonly ProviderLimit[];
92
- local: boolean;
93
- writtenBy?: WrittenBy;
94
- };
95
- export type MoveResult = {
96
- kind: 'moved';
97
- leaving: ChangeBatch;
98
- arriving: ChangeBatch;
99
- } | Refusing;
100
- export declare function buildMove(input: MoveInput): Promise<MoveResult>;
101
- export declare function buildBatch(input: SaveInput): Promise<BatchResult>;
102
- export {};
53
+ export type Validator = (resulting: Layer, touched: readonly string[]) => Promise<Validation>;
54
+ export declare function providerRewritten(batch: ChangeBatch, visible: VisibleLayer): Generator<number, ChangeBatch, void>;
55
+ export declare function rewriting(batch: ChangeBatch, locator: string): boolean;
56
+ export declare function effectiveIn(batch: ChangeBatch, locator: string, visible: VisibleLayer): Generator<number, ChangeBatch, void>;
57
+ export declare function destination(locator: string, saved: readonly SavedDraft[]): string | null;
58
+ export declare function planSave(ask: SaveAsk, room: SavingRoom, into?: SavingRoom): Promise<SavePlan>;
103
59
  //# sourceMappingURL=save.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../src/save.ts"],"names":[],"mappings":"AACA,OAAO,EAkBL,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAKL,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EAEjB,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,OAAO,cAAc,EAAE,eAAe,CAAC;IACnD,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE9F,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG,QAAQ,CAAC;AAgN3E,wBAAiB,iBAAiB,CAChC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,YAAY,GACpB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAOtC;AAoDD,wBAAiB,gBAAgB,CAC/B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,YAAY,GACpB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAyBtC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED,wBAAiB,WAAW,CAC1B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,GACpB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAItC;AAoJD,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAYlF;AAoND,MAAM,MAAM,QAAQ,GAChB;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9B,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC;IACnD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7B,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAM9C,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAmN9C,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,KAAK,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAE5F,wBAAiB,SAAS,CACxB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,EAC3C,KAAK,EAAE,WAAW,GACjB,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAgEnC;AAUD,wBAAgB,MAAM,CACpB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,WAAW,GACjB,OAAO,CAsCT;AAED,wBAAiB,QAAQ,CACvB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,KAAK,EAAE,WAAW,GACjB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,IAAI,CAAC,CAU7C;AAsND,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,eAAe,CAAC;IAC5B,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,QAAQ,CAAC;IACtB,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjE,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,WAAW,CAAA;CAAE,GAAG,QAAQ,CAAC;AAmInG,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAE/D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAEjE"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../src/save.ts"],"names":[],"mappings":"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"}