@bendyline/squisq 1.4.0 → 1.4.1

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 (588) hide show
  1. package/dist/doc/index.d.ts +5 -10
  2. package/dist/doc/index.js +145 -7
  3. package/dist/doc/index.js.map +1 -1
  4. package/dist/generate/index.d.ts +99 -7
  5. package/dist/generate/index.js +16 -3
  6. package/dist/generate/index.js.map +1 -1
  7. package/dist/icons/index.d.ts +84 -9
  8. package/dist/icons/index.js +16 -9
  9. package/dist/icons/index.js.map +1 -1
  10. package/dist/imageEdit/index.d.ts +213 -11
  11. package/dist/imageEdit/index.js +53 -21
  12. package/dist/imageEdit/index.js.map +1 -1
  13. package/dist/index.d.ts +21 -13
  14. package/dist/index.js +461 -12
  15. package/dist/index.js.map +1 -1
  16. package/dist/jsonForm/index.d.ts +189 -12
  17. package/dist/jsonForm/index.js +26 -11
  18. package/dist/jsonForm/index.js.map +1 -1
  19. package/dist/markdown/index.d.ts +265 -19
  20. package/dist/markdown/index.js +39 -33
  21. package/dist/markdown/index.js.map +1 -1
  22. package/dist/random/index.d.ts +51 -2
  23. package/dist/random/index.js +9 -1
  24. package/dist/random/index.js.map +1 -1
  25. package/dist/recommend/index.d.ts +39 -13
  26. package/dist/recommend/index.js +9 -14
  27. package/dist/recommend/index.js.map +1 -1
  28. package/dist/schemas/index.d.ts +188 -15
  29. package/dist/schemas/index.js +120 -11
  30. package/dist/schemas/index.js.map +1 -1
  31. package/dist/spatial/index.d.ts +111 -3
  32. package/dist/spatial/index.js +24 -2
  33. package/dist/spatial/index.js.map +1 -1
  34. package/dist/storage/index.d.ts +159 -10
  35. package/dist/storage/index.js +20 -6
  36. package/dist/storage/index.js.map +1 -1
  37. package/dist/timing/index.d.ts +109 -4
  38. package/dist/timing/index.js +23 -2
  39. package/dist/timing/index.js.map +1 -1
  40. package/dist/transform/index.d.ts +175 -6
  41. package/dist/transform/index.js +490 -3
  42. package/dist/transform/index.js.map +1 -1
  43. package/dist/versions/index.d.ts +123 -24
  44. package/dist/versions/index.js +34 -27
  45. package/dist/versions/index.js.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/__tests__/animationUtils.test.d.ts +0 -2
  48. package/dist/__tests__/animationUtils.test.d.ts.map +0 -1
  49. package/dist/__tests__/animationUtils.test.js +0 -60
  50. package/dist/__tests__/animationUtils.test.js.map +0 -1
  51. package/dist/__tests__/colorUtils.test.d.ts +0 -2
  52. package/dist/__tests__/colorUtils.test.d.ts.map +0 -1
  53. package/dist/__tests__/colorUtils.test.js +0 -94
  54. package/dist/__tests__/colorUtils.test.js.map +0 -1
  55. package/dist/__tests__/contentContainer.test.d.ts +0 -2
  56. package/dist/__tests__/contentContainer.test.d.ts.map +0 -1
  57. package/dist/__tests__/contentContainer.test.js +0 -234
  58. package/dist/__tests__/contentContainer.test.js.map +0 -1
  59. package/dist/__tests__/contentExtractor.test.d.ts +0 -2
  60. package/dist/__tests__/contentExtractor.test.d.ts.map +0 -1
  61. package/dist/__tests__/contentExtractor.test.js +0 -151
  62. package/dist/__tests__/contentExtractor.test.js.map +0 -1
  63. package/dist/__tests__/coverBlock.test.d.ts +0 -2
  64. package/dist/__tests__/coverBlock.test.d.ts.map +0 -1
  65. package/dist/__tests__/coverBlock.test.js +0 -197
  66. package/dist/__tests__/coverBlock.test.js.map +0 -1
  67. package/dist/__tests__/dataTable.test.d.ts +0 -2
  68. package/dist/__tests__/dataTable.test.d.ts.map +0 -1
  69. package/dist/__tests__/dataTable.test.js +0 -110
  70. package/dist/__tests__/dataTable.test.js.map +0 -1
  71. package/dist/__tests__/geohash.test.d.ts +0 -2
  72. package/dist/__tests__/geohash.test.d.ts.map +0 -1
  73. package/dist/__tests__/geohash.test.js +0 -87
  74. package/dist/__tests__/geohash.test.js.map +0 -1
  75. package/dist/__tests__/getLayers.test.d.ts +0 -2
  76. package/dist/__tests__/getLayers.test.d.ts.map +0 -1
  77. package/dist/__tests__/getLayers.test.js +0 -191
  78. package/dist/__tests__/getLayers.test.js.map +0 -1
  79. package/dist/__tests__/haversine.test.d.ts +0 -2
  80. package/dist/__tests__/haversine.test.d.ts.map +0 -1
  81. package/dist/__tests__/haversine.test.js +0 -56
  82. package/dist/__tests__/haversine.test.js.map +0 -1
  83. package/dist/__tests__/iconResolve.test.d.ts +0 -2
  84. package/dist/__tests__/iconResolve.test.d.ts.map +0 -1
  85. package/dist/__tests__/iconResolve.test.js +0 -99
  86. package/dist/__tests__/iconResolve.test.js.map +0 -1
  87. package/dist/__tests__/imageEditState.test.d.ts +0 -2
  88. package/dist/__tests__/imageEditState.test.d.ts.map +0 -1
  89. package/dist/__tests__/imageEditState.test.js +0 -61
  90. package/dist/__tests__/imageEditState.test.js.map +0 -1
  91. package/dist/__tests__/imageEditVersions.test.d.ts +0 -2
  92. package/dist/__tests__/imageEditVersions.test.d.ts.map +0 -1
  93. package/dist/__tests__/imageEditVersions.test.js +0 -141
  94. package/dist/__tests__/imageEditVersions.test.js.map +0 -1
  95. package/dist/__tests__/inferDocumentTitle.test.d.ts +0 -2
  96. package/dist/__tests__/inferDocumentTitle.test.d.ts.map +0 -1
  97. package/dist/__tests__/inferDocumentTitle.test.js +0 -42
  98. package/dist/__tests__/inferDocumentTitle.test.js.map +0 -1
  99. package/dist/__tests__/jsonForm.chooseControl.test.d.ts +0 -2
  100. package/dist/__tests__/jsonForm.chooseControl.test.d.ts.map +0 -1
  101. package/dist/__tests__/jsonForm.chooseControl.test.js +0 -74
  102. package/dist/__tests__/jsonForm.chooseControl.test.js.map +0 -1
  103. package/dist/__tests__/jsonForm.evaluateWhen.test.d.ts +0 -2
  104. package/dist/__tests__/jsonForm.evaluateWhen.test.d.ts.map +0 -1
  105. package/dist/__tests__/jsonForm.evaluateWhen.test.js +0 -51
  106. package/dist/__tests__/jsonForm.evaluateWhen.test.js.map +0 -1
  107. package/dist/__tests__/jsonForm.inferSchema.test.d.ts +0 -2
  108. package/dist/__tests__/jsonForm.inferSchema.test.d.ts.map +0 -1
  109. package/dist/__tests__/jsonForm.inferSchema.test.js +0 -23
  110. package/dist/__tests__/jsonForm.inferSchema.test.js.map +0 -1
  111. package/dist/__tests__/jsonForm.pointer.test.d.ts +0 -2
  112. package/dist/__tests__/jsonForm.pointer.test.d.ts.map +0 -1
  113. package/dist/__tests__/jsonForm.pointer.test.js +0 -94
  114. package/dist/__tests__/jsonForm.pointer.test.js.map +0 -1
  115. package/dist/__tests__/localForageAdapter.test.d.ts +0 -8
  116. package/dist/__tests__/localForageAdapter.test.d.ts.map +0 -1
  117. package/dist/__tests__/localForageAdapter.test.js +0 -130
  118. package/dist/__tests__/localForageAdapter.test.js.map +0 -1
  119. package/dist/__tests__/markdown.test.d.ts +0 -2
  120. package/dist/__tests__/markdown.test.d.ts.map +0 -1
  121. package/dist/__tests__/markdown.test.js +0 -715
  122. package/dist/__tests__/markdown.test.js.map +0 -1
  123. package/dist/__tests__/markdownIcons.test.d.ts +0 -2
  124. package/dist/__tests__/markdownIcons.test.d.ts.map +0 -1
  125. package/dist/__tests__/markdownIcons.test.js +0 -93
  126. package/dist/__tests__/markdownIcons.test.js.map +0 -1
  127. package/dist/__tests__/markdownToDoc.test.d.ts +0 -2
  128. package/dist/__tests__/markdownToDoc.test.d.ts.map +0 -1
  129. package/dist/__tests__/markdownToDoc.test.js +0 -458
  130. package/dist/__tests__/markdownToDoc.test.js.map +0 -1
  131. package/dist/__tests__/recommendTemplates.test.d.ts +0 -2
  132. package/dist/__tests__/recommendTemplates.test.d.ts.map +0 -1
  133. package/dist/__tests__/recommendTemplates.test.js +0 -158
  134. package/dist/__tests__/recommendTemplates.test.js.map +0 -1
  135. package/dist/__tests__/scopedContentContainer.test.d.ts +0 -2
  136. package/dist/__tests__/scopedContentContainer.test.d.ts.map +0 -1
  137. package/dist/__tests__/scopedContentContainer.test.js +0 -74
  138. package/dist/__tests__/scopedContentContainer.test.js.map +0 -1
  139. package/dist/__tests__/seededRandom.test.d.ts +0 -2
  140. package/dist/__tests__/seededRandom.test.d.ts.map +0 -1
  141. package/dist/__tests__/seededRandom.test.js +0 -125
  142. package/dist/__tests__/seededRandom.test.js.map +0 -1
  143. package/dist/__tests__/slideshowGenerator.test.d.ts +0 -2
  144. package/dist/__tests__/slideshowGenerator.test.d.ts.map +0 -1
  145. package/dist/__tests__/slideshowGenerator.test.js +0 -114
  146. package/dist/__tests__/slideshowGenerator.test.js.map +0 -1
  147. package/dist/__tests__/storage.test.d.ts +0 -2
  148. package/dist/__tests__/storage.test.d.ts.map +0 -1
  149. package/dist/__tests__/storage.test.js +0 -51
  150. package/dist/__tests__/storage.test.js.map +0 -1
  151. package/dist/__tests__/surface.test.d.ts +0 -2
  152. package/dist/__tests__/surface.test.d.ts.map +0 -1
  153. package/dist/__tests__/surface.test.js +0 -57
  154. package/dist/__tests__/surface.test.js.map +0 -1
  155. package/dist/__tests__/templateAnnotationParse.test.d.ts +0 -2
  156. package/dist/__tests__/templateAnnotationParse.test.d.ts.map +0 -1
  157. package/dist/__tests__/templateAnnotationParse.test.js +0 -42
  158. package/dist/__tests__/templateAnnotationParse.test.js.map +0 -1
  159. package/dist/__tests__/templates.test.d.ts +0 -2
  160. package/dist/__tests__/templates.test.d.ts.map +0 -1
  161. package/dist/__tests__/templates.test.js +0 -298
  162. package/dist/__tests__/templates.test.js.map +0 -1
  163. package/dist/__tests__/themeCompile.test.d.ts +0 -2
  164. package/dist/__tests__/themeCompile.test.d.ts.map +0 -1
  165. package/dist/__tests__/themeCompile.test.js +0 -134
  166. package/dist/__tests__/themeCompile.test.js.map +0 -1
  167. package/dist/__tests__/themeValidator.test.d.ts +0 -2
  168. package/dist/__tests__/themeValidator.test.d.ts.map +0 -1
  169. package/dist/__tests__/themeValidator.test.js +0 -107
  170. package/dist/__tests__/themeValidator.test.js.map +0 -1
  171. package/dist/__tests__/timing.test.d.ts +0 -2
  172. package/dist/__tests__/timing.test.d.ts.map +0 -1
  173. package/dist/__tests__/timing.test.js +0 -131
  174. package/dist/__tests__/timing.test.js.map +0 -1
  175. package/dist/__tests__/versions.test.d.ts +0 -2
  176. package/dist/__tests__/versions.test.d.ts.map +0 -1
  177. package/dist/__tests__/versions.test.js +0 -339
  178. package/dist/__tests__/versions.test.js.map +0 -1
  179. package/dist/doc/audioMapping.d.ts +0 -36
  180. package/dist/doc/audioMapping.d.ts.map +0 -1
  181. package/dist/doc/audioMapping.js +0 -350
  182. package/dist/doc/audioMapping.js.map +0 -1
  183. package/dist/doc/docToMarkdown.d.ts +0 -41
  184. package/dist/doc/docToMarkdown.d.ts.map +0 -1
  185. package/dist/doc/docToMarkdown.js +0 -88
  186. package/dist/doc/docToMarkdown.js.map +0 -1
  187. package/dist/doc/getLayers.d.ts +0 -65
  188. package/dist/doc/getLayers.d.ts.map +0 -1
  189. package/dist/doc/getLayers.js +0 -114
  190. package/dist/doc/getLayers.js.map +0 -1
  191. package/dist/doc/index.d.ts.map +0 -1
  192. package/dist/doc/markdownToDoc.d.ts +0 -75
  193. package/dist/doc/markdownToDoc.d.ts.map +0 -1
  194. package/dist/doc/markdownToDoc.js +0 -432
  195. package/dist/doc/markdownToDoc.js.map +0 -1
  196. package/dist/doc/templates/accentImage.d.ts +0 -59
  197. package/dist/doc/templates/accentImage.d.ts.map +0 -1
  198. package/dist/doc/templates/accentImage.js +0 -275
  199. package/dist/doc/templates/accentImage.js.map +0 -1
  200. package/dist/doc/templates/captionUtils.d.ts +0 -20
  201. package/dist/doc/templates/captionUtils.d.ts.map +0 -1
  202. package/dist/doc/templates/captionUtils.js +0 -29
  203. package/dist/doc/templates/captionUtils.js.map +0 -1
  204. package/dist/doc/templates/comparisonBar.d.ts +0 -13
  205. package/dist/doc/templates/comparisonBar.d.ts.map +0 -1
  206. package/dist/doc/templates/comparisonBar.js +0 -145
  207. package/dist/doc/templates/comparisonBar.js.map +0 -1
  208. package/dist/doc/templates/coverBlock.d.ts +0 -51
  209. package/dist/doc/templates/coverBlock.d.ts.map +0 -1
  210. package/dist/doc/templates/coverBlock.js +0 -153
  211. package/dist/doc/templates/coverBlock.js.map +0 -1
  212. package/dist/doc/templates/dataTable.d.ts +0 -14
  213. package/dist/doc/templates/dataTable.d.ts.map +0 -1
  214. package/dist/doc/templates/dataTable.js +0 -73
  215. package/dist/doc/templates/dataTable.js.map +0 -1
  216. package/dist/doc/templates/dateEvent.d.ts +0 -15
  217. package/dist/doc/templates/dateEvent.d.ts.map +0 -1
  218. package/dist/doc/templates/dateEvent.js +0 -114
  219. package/dist/doc/templates/dateEvent.js.map +0 -1
  220. package/dist/doc/templates/definitionCard.d.ts +0 -13
  221. package/dist/doc/templates/definitionCard.d.ts.map +0 -1
  222. package/dist/doc/templates/definitionCard.js +0 -117
  223. package/dist/doc/templates/definitionCard.js.map +0 -1
  224. package/dist/doc/templates/factCard.d.ts +0 -15
  225. package/dist/doc/templates/factCard.d.ts.map +0 -1
  226. package/dist/doc/templates/factCard.js +0 -104
  227. package/dist/doc/templates/factCard.js.map +0 -1
  228. package/dist/doc/templates/featureBlock.d.ts +0 -18
  229. package/dist/doc/templates/featureBlock.d.ts.map +0 -1
  230. package/dist/doc/templates/featureBlock.js +0 -180
  231. package/dist/doc/templates/featureBlock.js.map +0 -1
  232. package/dist/doc/templates/fullBleedQuote.d.ts +0 -25
  233. package/dist/doc/templates/fullBleedQuote.d.ts.map +0 -1
  234. package/dist/doc/templates/fullBleedQuote.js +0 -67
  235. package/dist/doc/templates/fullBleedQuote.js.map +0 -1
  236. package/dist/doc/templates/imageWithCaption.d.ts +0 -13
  237. package/dist/doc/templates/imageWithCaption.d.ts.map +0 -1
  238. package/dist/doc/templates/imageWithCaption.js +0 -146
  239. package/dist/doc/templates/imageWithCaption.js.map +0 -1
  240. package/dist/doc/templates/index.d.ts +0 -129
  241. package/dist/doc/templates/index.d.ts.map +0 -1
  242. package/dist/doc/templates/index.js +0 -478
  243. package/dist/doc/templates/index.js.map +0 -1
  244. package/dist/doc/templates/listBlock.d.ts +0 -13
  245. package/dist/doc/templates/listBlock.d.ts.map +0 -1
  246. package/dist/doc/templates/listBlock.js +0 -109
  247. package/dist/doc/templates/listBlock.js.map +0 -1
  248. package/dist/doc/templates/mapBlock.d.ts +0 -17
  249. package/dist/doc/templates/mapBlock.d.ts.map +0 -1
  250. package/dist/doc/templates/mapBlock.js +0 -115
  251. package/dist/doc/templates/mapBlock.js.map +0 -1
  252. package/dist/doc/templates/persistentLayers.d.ts +0 -39
  253. package/dist/doc/templates/persistentLayers.d.ts.map +0 -1
  254. package/dist/doc/templates/persistentLayers.js +0 -447
  255. package/dist/doc/templates/persistentLayers.js.map +0 -1
  256. package/dist/doc/templates/photoGrid.d.ts +0 -20
  257. package/dist/doc/templates/photoGrid.d.ts.map +0 -1
  258. package/dist/doc/templates/photoGrid.js +0 -175
  259. package/dist/doc/templates/photoGrid.js.map +0 -1
  260. package/dist/doc/templates/pullQuote.d.ts +0 -13
  261. package/dist/doc/templates/pullQuote.d.ts.map +0 -1
  262. package/dist/doc/templates/pullQuote.js +0 -113
  263. package/dist/doc/templates/pullQuote.js.map +0 -1
  264. package/dist/doc/templates/quoteBlock.d.ts +0 -15
  265. package/dist/doc/templates/quoteBlock.d.ts.map +0 -1
  266. package/dist/doc/templates/quoteBlock.js +0 -101
  267. package/dist/doc/templates/quoteBlock.js.map +0 -1
  268. package/dist/doc/templates/sectionHeader.d.ts +0 -14
  269. package/dist/doc/templates/sectionHeader.d.ts.map +0 -1
  270. package/dist/doc/templates/sectionHeader.js +0 -97
  271. package/dist/doc/templates/sectionHeader.js.map +0 -1
  272. package/dist/doc/templates/statHighlight.d.ts +0 -27
  273. package/dist/doc/templates/statHighlight.d.ts.map +0 -1
  274. package/dist/doc/templates/statHighlight.js +0 -114
  275. package/dist/doc/templates/statHighlight.js.map +0 -1
  276. package/dist/doc/templates/titleBlock.d.ts +0 -24
  277. package/dist/doc/templates/titleBlock.d.ts.map +0 -1
  278. package/dist/doc/templates/titleBlock.js +0 -103
  279. package/dist/doc/templates/titleBlock.js.map +0 -1
  280. package/dist/doc/templates/twoColumn.d.ts +0 -15
  281. package/dist/doc/templates/twoColumn.d.ts.map +0 -1
  282. package/dist/doc/templates/twoColumn.js +0 -225
  283. package/dist/doc/templates/twoColumn.js.map +0 -1
  284. package/dist/doc/templates/videoPullQuote.d.ts +0 -20
  285. package/dist/doc/templates/videoPullQuote.d.ts.map +0 -1
  286. package/dist/doc/templates/videoPullQuote.js +0 -122
  287. package/dist/doc/templates/videoPullQuote.js.map +0 -1
  288. package/dist/doc/templates/videoWithCaption.d.ts +0 -20
  289. package/dist/doc/templates/videoWithCaption.d.ts.map +0 -1
  290. package/dist/doc/templates/videoWithCaption.js +0 -107
  291. package/dist/doc/templates/videoWithCaption.js.map +0 -1
  292. package/dist/doc/utils/animationUtils.d.ts +0 -34
  293. package/dist/doc/utils/animationUtils.d.ts.map +0 -1
  294. package/dist/doc/utils/animationUtils.js +0 -110
  295. package/dist/doc/utils/animationUtils.js.map +0 -1
  296. package/dist/doc/utils/themeUtils.d.ts +0 -64
  297. package/dist/doc/utils/themeUtils.d.ts.map +0 -1
  298. package/dist/doc/utils/themeUtils.js +0 -136
  299. package/dist/doc/utils/themeUtils.js.map +0 -1
  300. package/dist/generate/contentExtractor.d.ts +0 -112
  301. package/dist/generate/contentExtractor.d.ts.map +0 -1
  302. package/dist/generate/contentExtractor.js +0 -638
  303. package/dist/generate/contentExtractor.js.map +0 -1
  304. package/dist/generate/index.d.ts.map +0 -1
  305. package/dist/generate/slideshowGenerator.d.ts +0 -72
  306. package/dist/generate/slideshowGenerator.d.ts.map +0 -1
  307. package/dist/generate/slideshowGenerator.js +0 -159
  308. package/dist/generate/slideshowGenerator.js.map +0 -1
  309. package/dist/generate/templateMapper.d.ts +0 -23
  310. package/dist/generate/templateMapper.d.ts.map +0 -1
  311. package/dist/generate/templateMapper.js +0 -114
  312. package/dist/generate/templateMapper.js.map +0 -1
  313. package/dist/icons/iconData.d.ts +0 -26
  314. package/dist/icons/iconData.d.ts.map +0 -1
  315. package/dist/icons/iconData.js +0 -12
  316. package/dist/icons/iconData.js.map +0 -1
  317. package/dist/icons/index.d.ts.map +0 -1
  318. package/dist/icons/resolve.d.ts +0 -61
  319. package/dist/icons/resolve.d.ts.map +0 -1
  320. package/dist/icons/resolve.js +0 -130
  321. package/dist/icons/resolve.js.map +0 -1
  322. package/dist/imageEdit/ImageEditVersionManager.d.ts +0 -31
  323. package/dist/imageEdit/ImageEditVersionManager.d.ts.map +0 -1
  324. package/dist/imageEdit/ImageEditVersionManager.js +0 -39
  325. package/dist/imageEdit/ImageEditVersionManager.js.map +0 -1
  326. package/dist/imageEdit/export.d.ts +0 -33
  327. package/dist/imageEdit/export.d.ts.map +0 -1
  328. package/dist/imageEdit/export.js +0 -253
  329. package/dist/imageEdit/export.js.map +0 -1
  330. package/dist/imageEdit/index.d.ts.map +0 -1
  331. package/dist/imageEdit/persistence.d.ts +0 -15
  332. package/dist/imageEdit/persistence.d.ts.map +0 -1
  333. package/dist/imageEdit/persistence.js +0 -49
  334. package/dist/imageEdit/persistence.js.map +0 -1
  335. package/dist/imageEdit/state.d.ts +0 -42
  336. package/dist/imageEdit/state.d.ts.map +0 -1
  337. package/dist/imageEdit/state.js +0 -98
  338. package/dist/imageEdit/state.js.map +0 -1
  339. package/dist/imageEdit/versionPaths.d.ts +0 -27
  340. package/dist/imageEdit/versionPaths.d.ts.map +0 -1
  341. package/dist/imageEdit/versionPaths.js +0 -57
  342. package/dist/imageEdit/versionPaths.js.map +0 -1
  343. package/dist/imageEdit/versions.d.ts +0 -67
  344. package/dist/imageEdit/versions.d.ts.map +0 -1
  345. package/dist/imageEdit/versions.js +0 -161
  346. package/dist/imageEdit/versions.js.map +0 -1
  347. package/dist/index.d.ts.map +0 -1
  348. package/dist/jsonForm/chooseControl.d.ts +0 -20
  349. package/dist/jsonForm/chooseControl.d.ts.map +0 -1
  350. package/dist/jsonForm/chooseControl.js +0 -82
  351. package/dist/jsonForm/chooseControl.js.map +0 -1
  352. package/dist/jsonForm/evaluateWhen.d.ts +0 -12
  353. package/dist/jsonForm/evaluateWhen.d.ts.map +0 -1
  354. package/dist/jsonForm/evaluateWhen.js +0 -65
  355. package/dist/jsonForm/evaluateWhen.js.map +0 -1
  356. package/dist/jsonForm/index.d.ts.map +0 -1
  357. package/dist/jsonForm/inferSchema.d.ts +0 -12
  358. package/dist/jsonForm/inferSchema.d.ts.map +0 -1
  359. package/dist/jsonForm/inferSchema.js +0 -15
  360. package/dist/jsonForm/inferSchema.js.map +0 -1
  361. package/dist/jsonForm/pointer.d.ts +0 -26
  362. package/dist/jsonForm/pointer.d.ts.map +0 -1
  363. package/dist/jsonForm/pointer.js +0 -102
  364. package/dist/jsonForm/pointer.js.map +0 -1
  365. package/dist/jsonForm/types.d.ts +0 -120
  366. package/dist/jsonForm/types.d.ts.map +0 -1
  367. package/dist/jsonForm/types.js +0 -10
  368. package/dist/jsonForm/types.js.map +0 -1
  369. package/dist/markdown/convert.d.ts +0 -81
  370. package/dist/markdown/convert.d.ts.map +0 -1
  371. package/dist/markdown/convert.js +0 -975
  372. package/dist/markdown/convert.js.map +0 -1
  373. package/dist/markdown/htmlParse.d.ts +0 -26
  374. package/dist/markdown/htmlParse.d.ts.map +0 -1
  375. package/dist/markdown/htmlParse.js +0 -195
  376. package/dist/markdown/htmlParse.js.map +0 -1
  377. package/dist/markdown/index.d.ts.map +0 -1
  378. package/dist/markdown/parse.d.ts +0 -27
  379. package/dist/markdown/parse.d.ts.map +0 -1
  380. package/dist/markdown/parse.js +0 -90
  381. package/dist/markdown/parse.js.map +0 -1
  382. package/dist/markdown/stringify.d.ts +0 -32
  383. package/dist/markdown/stringify.d.ts.map +0 -1
  384. package/dist/markdown/stringify.js +0 -108
  385. package/dist/markdown/stringify.js.map +0 -1
  386. package/dist/markdown/types.d.ts +0 -531
  387. package/dist/markdown/types.d.ts.map +0 -1
  388. package/dist/markdown/types.js +0 -17
  389. package/dist/markdown/types.js.map +0 -1
  390. package/dist/markdown/utils.d.ts +0 -118
  391. package/dist/markdown/utils.d.ts.map +0 -1
  392. package/dist/markdown/utils.js +0 -308
  393. package/dist/markdown/utils.js.map +0 -1
  394. package/dist/random/SeededRandom.d.ts +0 -50
  395. package/dist/random/SeededRandom.d.ts.map +0 -1
  396. package/dist/random/SeededRandom.js +0 -115
  397. package/dist/random/SeededRandom.js.map +0 -1
  398. package/dist/random/index.d.ts.map +0 -1
  399. package/dist/recommend/index.d.ts.map +0 -1
  400. package/dist/recommend/templates.d.ts +0 -39
  401. package/dist/recommend/templates.d.ts.map +0 -1
  402. package/dist/recommend/templates.js +0 -235
  403. package/dist/recommend/templates.js.map +0 -1
  404. package/dist/schemas/BlockTemplates.d.ts +0 -638
  405. package/dist/schemas/BlockTemplates.d.ts.map +0 -1
  406. package/dist/schemas/BlockTemplates.js +0 -72
  407. package/dist/schemas/BlockTemplates.js.map +0 -1
  408. package/dist/schemas/Doc.d.ts +0 -503
  409. package/dist/schemas/Doc.d.ts.map +0 -1
  410. package/dist/schemas/Doc.js +0 -90
  411. package/dist/schemas/Doc.js.map +0 -1
  412. package/dist/schemas/ImageEditDoc.d.ts +0 -81
  413. package/dist/schemas/ImageEditDoc.d.ts.map +0 -1
  414. package/dist/schemas/ImageEditDoc.js +0 -20
  415. package/dist/schemas/ImageEditDoc.js.map +0 -1
  416. package/dist/schemas/LayoutStrategy.d.ts +0 -84
  417. package/dist/schemas/LayoutStrategy.d.ts.map +0 -1
  418. package/dist/schemas/LayoutStrategy.js +0 -123
  419. package/dist/schemas/LayoutStrategy.js.map +0 -1
  420. package/dist/schemas/MediaProvider.d.ts +0 -65
  421. package/dist/schemas/MediaProvider.d.ts.map +0 -1
  422. package/dist/schemas/MediaProvider.js +0 -13
  423. package/dist/schemas/MediaProvider.js.map +0 -1
  424. package/dist/schemas/Theme.d.ts +0 -233
  425. package/dist/schemas/Theme.d.ts.map +0 -1
  426. package/dist/schemas/Theme.js +0 -129
  427. package/dist/schemas/Theme.js.map +0 -1
  428. package/dist/schemas/Types.d.ts +0 -14
  429. package/dist/schemas/Types.d.ts.map +0 -1
  430. package/dist/schemas/Types.js +0 -5
  431. package/dist/schemas/Types.js.map +0 -1
  432. package/dist/schemas/Viewport.d.ts +0 -74
  433. package/dist/schemas/Viewport.d.ts.map +0 -1
  434. package/dist/schemas/Viewport.js +0 -63
  435. package/dist/schemas/Viewport.js.map +0 -1
  436. package/dist/schemas/colorUtils.d.ts +0 -51
  437. package/dist/schemas/colorUtils.d.ts.map +0 -1
  438. package/dist/schemas/colorUtils.js +0 -154
  439. package/dist/schemas/colorUtils.js.map +0 -1
  440. package/dist/schemas/fontStacks.d.ts +0 -57
  441. package/dist/schemas/fontStacks.d.ts.map +0 -1
  442. package/dist/schemas/fontStacks.js +0 -227
  443. package/dist/schemas/fontStacks.js.map +0 -1
  444. package/dist/schemas/index.d.ts.map +0 -1
  445. package/dist/schemas/themeCompile.d.ts +0 -45
  446. package/dist/schemas/themeCompile.d.ts.map +0 -1
  447. package/dist/schemas/themeCompile.js +0 -160
  448. package/dist/schemas/themeCompile.js.map +0 -1
  449. package/dist/schemas/themeLibrary.d.ts +0 -37
  450. package/dist/schemas/themeLibrary.d.ts.map +0 -1
  451. package/dist/schemas/themeLibrary.js +0 -49
  452. package/dist/schemas/themeLibrary.js.map +0 -1
  453. package/dist/schemas/themeValidator.d.ts +0 -26
  454. package/dist/schemas/themeValidator.d.ts.map +0 -1
  455. package/dist/schemas/themeValidator.js +0 -352
  456. package/dist/schemas/themeValidator.js.map +0 -1
  457. package/dist/schemas/themes/bold.json +0 -48
  458. package/dist/schemas/themes/cinematic.json +0 -54
  459. package/dist/schemas/themes/documentary.json +0 -49
  460. package/dist/schemas/themes/gezellig.json +0 -44
  461. package/dist/schemas/themes/index.d.ts +0 -26
  462. package/dist/schemas/themes/index.d.ts.map +0 -1
  463. package/dist/schemas/themes/index.js +0 -49
  464. package/dist/schemas/themes/index.js.map +0 -1
  465. package/dist/schemas/themes/magazine.json +0 -44
  466. package/dist/schemas/themes/minimalist.json +0 -45
  467. package/dist/schemas/themes/morning-light.json +0 -42
  468. package/dist/schemas/themes/standard-dark.json +0 -50
  469. package/dist/schemas/themes/standard.json +0 -42
  470. package/dist/schemas/themes/tech-dark.json +0 -48
  471. package/dist/schemas/themes/warm-earth.json +0 -50
  472. package/dist/spatial/Geohash.d.ts +0 -85
  473. package/dist/spatial/Geohash.d.ts.map +0 -1
  474. package/dist/spatial/Geohash.js +0 -142
  475. package/dist/spatial/Geohash.js.map +0 -1
  476. package/dist/spatial/Haversine.d.ts +0 -24
  477. package/dist/spatial/Haversine.d.ts.map +0 -1
  478. package/dist/spatial/Haversine.js +0 -48
  479. package/dist/spatial/Haversine.js.map +0 -1
  480. package/dist/spatial/index.d.ts.map +0 -1
  481. package/dist/storage/ContentContainer.d.ts +0 -87
  482. package/dist/storage/ContentContainer.d.ts.map +0 -1
  483. package/dist/storage/ContentContainer.js +0 -131
  484. package/dist/storage/ContentContainer.js.map +0 -1
  485. package/dist/storage/LocalForageAdapter.d.ts +0 -36
  486. package/dist/storage/LocalForageAdapter.d.ts.map +0 -1
  487. package/dist/storage/LocalForageAdapter.js +0 -82
  488. package/dist/storage/LocalForageAdapter.js.map +0 -1
  489. package/dist/storage/LocalStorageAdapter.d.ts +0 -16
  490. package/dist/storage/LocalStorageAdapter.d.ts.map +0 -1
  491. package/dist/storage/LocalStorageAdapter.js +0 -50
  492. package/dist/storage/LocalStorageAdapter.js.map +0 -1
  493. package/dist/storage/MediaProviderFromContainer.d.ts +0 -21
  494. package/dist/storage/MediaProviderFromContainer.d.ts.map +0 -1
  495. package/dist/storage/MediaProviderFromContainer.js +0 -79
  496. package/dist/storage/MediaProviderFromContainer.js.map +0 -1
  497. package/dist/storage/MemoryStorageAdapter.d.ts +0 -15
  498. package/dist/storage/MemoryStorageAdapter.d.ts.map +0 -1
  499. package/dist/storage/MemoryStorageAdapter.js +0 -34
  500. package/dist/storage/MemoryStorageAdapter.js.map +0 -1
  501. package/dist/storage/ScopedContentContainer.d.ts +0 -44
  502. package/dist/storage/ScopedContentContainer.d.ts.map +0 -1
  503. package/dist/storage/ScopedContentContainer.js +0 -94
  504. package/dist/storage/ScopedContentContainer.js.map +0 -1
  505. package/dist/storage/Storage.d.ts +0 -23
  506. package/dist/storage/Storage.d.ts.map +0 -1
  507. package/dist/storage/Storage.js +0 -9
  508. package/dist/storage/Storage.js.map +0 -1
  509. package/dist/storage/index.d.ts.map +0 -1
  510. package/dist/timing/index.d.ts.map +0 -1
  511. package/dist/timing/narrationTiming.d.ts +0 -54
  512. package/dist/timing/narrationTiming.d.ts.map +0 -1
  513. package/dist/timing/narrationTiming.js +0 -190
  514. package/dist/timing/narrationTiming.js.map +0 -1
  515. package/dist/timing/readingTime.d.ts +0 -54
  516. package/dist/timing/readingTime.d.ts.map +0 -1
  517. package/dist/timing/readingTime.js +0 -49
  518. package/dist/timing/readingTime.js.map +0 -1
  519. package/dist/transform/applyTransform.d.ts +0 -22
  520. package/dist/transform/applyTransform.d.ts.map +0 -1
  521. package/dist/transform/applyTransform.js +0 -68
  522. package/dist/transform/applyTransform.js.map +0 -1
  523. package/dist/transform/blockAnalyzer.d.ts +0 -48
  524. package/dist/transform/blockAnalyzer.d.ts.map +0 -1
  525. package/dist/transform/blockAnalyzer.js +0 -135
  526. package/dist/transform/blockAnalyzer.js.map +0 -1
  527. package/dist/transform/index.d.ts.map +0 -1
  528. package/dist/transform/registry.d.ts +0 -19
  529. package/dist/transform/registry.d.ts.map +0 -1
  530. package/dist/transform/registry.js +0 -41
  531. package/dist/transform/registry.js.map +0 -1
  532. package/dist/transform/styles/dataDriven.d.ts +0 -4
  533. package/dist/transform/styles/dataDriven.d.ts.map +0 -1
  534. package/dist/transform/styles/dataDriven.js +0 -15
  535. package/dist/transform/styles/dataDriven.js.map +0 -1
  536. package/dist/transform/styles/documentary.d.ts +0 -4
  537. package/dist/transform/styles/documentary.d.ts.map +0 -1
  538. package/dist/transform/styles/documentary.js +0 -15
  539. package/dist/transform/styles/documentary.js.map +0 -1
  540. package/dist/transform/styles/index.d.ts +0 -6
  541. package/dist/transform/styles/index.d.ts.map +0 -1
  542. package/dist/transform/styles/index.js +0 -6
  543. package/dist/transform/styles/index.js.map +0 -1
  544. package/dist/transform/styles/magazine.d.ts +0 -4
  545. package/dist/transform/styles/magazine.d.ts.map +0 -1
  546. package/dist/transform/styles/magazine.js +0 -15
  547. package/dist/transform/styles/magazine.js.map +0 -1
  548. package/dist/transform/styles/minimal.d.ts +0 -4
  549. package/dist/transform/styles/minimal.d.ts.map +0 -1
  550. package/dist/transform/styles/minimal.js +0 -15
  551. package/dist/transform/styles/minimal.js.map +0 -1
  552. package/dist/transform/styles/narrative.d.ts +0 -4
  553. package/dist/transform/styles/narrative.d.ts.map +0 -1
  554. package/dist/transform/styles/narrative.js +0 -15
  555. package/dist/transform/styles/narrative.js.map +0 -1
  556. package/dist/transform/templateSelector.d.ts +0 -30
  557. package/dist/transform/templateSelector.d.ts.map +0 -1
  558. package/dist/transform/templateSelector.js +0 -218
  559. package/dist/transform/templateSelector.js.map +0 -1
  560. package/dist/transform/timingAllocator.d.ts +0 -21
  561. package/dist/transform/timingAllocator.d.ts.map +0 -1
  562. package/dist/transform/timingAllocator.js +0 -111
  563. package/dist/transform/timingAllocator.js.map +0 -1
  564. package/dist/transform/types.d.ts +0 -86
  565. package/dist/transform/types.d.ts.map +0 -1
  566. package/dist/transform/types.js +0 -9
  567. package/dist/transform/types.js.map +0 -1
  568. package/dist/versions/DocumentVersionManager.d.ts +0 -31
  569. package/dist/versions/DocumentVersionManager.d.ts.map +0 -1
  570. package/dist/versions/DocumentVersionManager.js +0 -33
  571. package/dist/versions/DocumentVersionManager.js.map +0 -1
  572. package/dist/versions/index.d.ts.map +0 -1
  573. package/dist/versions/operations.d.ts +0 -44
  574. package/dist/versions/operations.d.ts.map +0 -1
  575. package/dist/versions/operations.js +0 -190
  576. package/dist/versions/operations.js.map +0 -1
  577. package/dist/versions/paths.d.ts +0 -29
  578. package/dist/versions/paths.d.ts.map +0 -1
  579. package/dist/versions/paths.js +0 -66
  580. package/dist/versions/paths.js.map +0 -1
  581. package/dist/versions/timestamp.d.ts +0 -22
  582. package/dist/versions/timestamp.d.ts.map +0 -1
  583. package/dist/versions/timestamp.js +0 -44
  584. package/dist/versions/timestamp.js.map +0 -1
  585. package/dist/versions/types.d.ts +0 -92
  586. package/dist/versions/types.d.ts.map +0 -1
  587. package/dist/versions/types.js +0 -11
  588. package/dist/versions/types.js.map +0 -1
@@ -1,190 +0,0 @@
1
- /**
2
- * Pure-ish version operations against a {@link ContentContainer}.
3
- *
4
- * These functions are the canonical implementation. {@link DocumentVersionManager}
5
- * is a thin wrapper that captures a container reference for ergonomics.
6
- */
7
- import { buildVersionPath, getDocBasename, parseVersionPath, VERSIONS_PREFIX } from './paths.js';
8
- const decoder = new TextDecoder();
9
- const encoder = new TextEncoder();
10
- async function resolveBasename(container, override) {
11
- if (override)
12
- return override;
13
- const docPath = await container.getDocumentPath();
14
- if (!docPath)
15
- return null;
16
- return getDocBasename(docPath);
17
- }
18
- async function resolveDocPath(container) {
19
- // Default to `index.md` when the container has no document yet — matches
20
- // `MemoryContentContainer.writeDocument`'s default.
21
- const docPath = await container.getDocumentPath();
22
- return docPath ?? 'index.md';
23
- }
24
- /**
25
- * List all snapshots in the container, newest-first.
26
- *
27
- * @param basename Optional filter: when set, only versions whose basename
28
- * matches are returned.
29
- */
30
- export async function listVersions(container, basename) {
31
- const entries = await container.listFiles(VERSIONS_PREFIX);
32
- const versions = [];
33
- for (const entry of entries) {
34
- const parsed = parseVersionPath(entry.path);
35
- if (!parsed)
36
- continue;
37
- if (basename !== undefined && parsed.basename !== basename)
38
- continue;
39
- versions.push({
40
- path: entry.path,
41
- basename: parsed.basename,
42
- timestamp: parsed.timestamp,
43
- size: entry.size,
44
- collision: parsed.collision,
45
- });
46
- }
47
- // Newest first. Tie-break on collision (higher = newer). Compare the
48
- // numeric collision rather than the path string: lexicographically a path
49
- // with no suffix sorts *after* one with `-N`, because `.` (0x2E) is
50
- // greater than `-` (0x2D), which would invert the order.
51
- versions.sort((a, b) => {
52
- const dt = b.timestamp.getTime() - a.timestamp.getTime();
53
- if (dt !== 0)
54
- return dt;
55
- return b.collision - a.collision;
56
- });
57
- return versions;
58
- }
59
- /**
60
- * Read the markdown content of a snapshot. Returns null if the snapshot
61
- * doesn't exist.
62
- */
63
- export async function readVersion(container, version) {
64
- const path = typeof version === 'string' ? version : version.path;
65
- const data = await container.readFile(path);
66
- if (!data)
67
- return null;
68
- return decoder.decode(data);
69
- }
70
- /**
71
- * Save a new snapshot of the document if its content differs from the
72
- * latest existing snapshot.
73
- */
74
- export async function saveVersion(container, options = {}) {
75
- const content = options.content ?? (await container.readDocument());
76
- if (content === null || content === undefined) {
77
- return { saved: false, version: null, reason: 'no-document' };
78
- }
79
- if (content.length === 0) {
80
- return { saved: false, version: null, reason: 'empty' };
81
- }
82
- const basename = await resolveBasename(container, options.basename);
83
- if (!basename) {
84
- return { saved: false, version: null, reason: 'no-document' };
85
- }
86
- const versions = await listVersions(container, basename);
87
- if (!options.force && versions.length > 0) {
88
- const latest = versions[0];
89
- const existing = await readVersion(container, latest);
90
- if (existing === content) {
91
- return { saved: false, version: null, reason: 'unchanged' };
92
- }
93
- }
94
- const now = options.now ?? new Date();
95
- let collision = 0;
96
- let path = buildVersionPath(basename, now, collision);
97
- while (await container.exists(path)) {
98
- collision += 1;
99
- path = buildVersionPath(basename, now, collision);
100
- }
101
- const data = encoder.encode(content);
102
- await container.writeFile(path, data, 'text/markdown');
103
- const version = {
104
- path,
105
- basename,
106
- timestamp: now,
107
- size: data.byteLength,
108
- collision,
109
- };
110
- return { saved: true, version, reason: 'saved' };
111
- }
112
- /**
113
- * Revert the document to a prior snapshot. By default, the *current*
114
- * document is snapshotted first so the revert is itself recoverable.
115
- */
116
- export async function revertToVersion(container, version, options = {}) {
117
- const content = await readVersion(container, version);
118
- if (content === null) {
119
- return { reverted: false, snapshotted: null };
120
- }
121
- let snapshotted = null;
122
- if (options.snapshotCurrent !== false) {
123
- const result = await saveVersion(container);
124
- snapshotted = result.version;
125
- }
126
- const docPath = await resolveDocPath(container);
127
- await container.writeDocument(content, docPath);
128
- return { reverted: true, snapshotted };
129
- }
130
- /**
131
- * Delete snapshots that don't satisfy the policy. Returns the deleted
132
- * versions in their original (newest-first) order.
133
- */
134
- export async function pruneVersions(container, policy, basename) {
135
- const versions = await listVersions(container, basename);
136
- const toDelete = [];
137
- if (policy.type === 'keep-last-n') {
138
- const n = Math.max(0, Math.floor(policy.n));
139
- toDelete.push(...versions.slice(n));
140
- }
141
- else if (policy.type === 'older-than') {
142
- const cutoff = policy.date.getTime();
143
- for (const v of versions) {
144
- if (v.timestamp.getTime() < cutoff)
145
- toDelete.push(v);
146
- }
147
- }
148
- else {
149
- for (const v of versions) {
150
- if (!policy.keep(v, versions))
151
- toDelete.push(v);
152
- }
153
- }
154
- for (const v of toDelete) {
155
- await container.removeFile(v.path);
156
- }
157
- return toDelete;
158
- }
159
- /**
160
- * Collapse adjacent snapshots that occurred close together — keeping the
161
- * newer one — to keep history readable across rapid edits.
162
- */
163
- export async function coalesceVersions(container, options = {}, basename) {
164
- const windowMs = options.windowMs ?? 60000;
165
- const versions = await listVersions(container, basename);
166
- const toDelete = [];
167
- // Walk newest -> oldest, anchored to the last *kept* snapshot. Any
168
- // candidate within `windowMs` of the anchor is dropped; the first one
169
- // outside the window becomes the new anchor. Comparing each pair against
170
- // its previous neighbor instead would chain through deleted snapshots
171
- // and over-prune any tightly-clustered run (e.g. 30s apart with a 60s
172
- // window collapses to a single survivor).
173
- if (versions.length > 0) {
174
- let anchor = versions[0];
175
- for (let i = 1; i < versions.length; i++) {
176
- const candidate = versions[i];
177
- if (anchor.timestamp.getTime() - candidate.timestamp.getTime() <= windowMs) {
178
- toDelete.push(candidate);
179
- }
180
- else {
181
- anchor = candidate;
182
- }
183
- }
184
- }
185
- for (const v of toDelete) {
186
- await container.removeFile(v.path);
187
- }
188
- return toDelete;
189
- }
190
- //# sourceMappingURL=operations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/versions/operations.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Path conventions for version snapshots.
3
- *
4
- * Snapshots live at `<VERSIONS_PREFIX><basename>.<timestamp>[<-suffix>].md`.
5
- * The optional numeric suffix (`-2`, `-3`, ...) is appended only when two
6
- * snapshots collide on the same UTC second.
7
- */
8
- /** Subfolder (inside the ContentContainer) that holds version snapshots. */
9
- export declare const VERSIONS_PREFIX = ".versions/";
10
- /**
11
- * Strip the directory and extension from a document path to produce the
12
- * basename used in version filenames. `subdir/index.md` -> `index`.
13
- */
14
- export declare function getDocBasename(documentPath: string): string;
15
- /**
16
- * Build a version snapshot path. Optionally append a collision suffix
17
- * (e.g. `2`, `3`) when two saves land on the same UTC second.
18
- */
19
- export declare function buildVersionPath(basename: string, date: Date, collision?: number): string;
20
- /**
21
- * Parse a version snapshot path. Returns null if it doesn't match the
22
- * convention (so unrelated files stored under `.versions/` are ignored).
23
- */
24
- export declare function parseVersionPath(path: string): {
25
- basename: string;
26
- timestamp: Date;
27
- collision: number;
28
- } | null;
29
- //# sourceMappingURL=paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/versions/paths.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,4EAA4E;AAC5E,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,SAAI,GAAG,MAAM,CAIpF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GACX;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAyBjE"}
@@ -1,66 +0,0 @@
1
- /**
2
- * Path conventions for version snapshots.
3
- *
4
- * Snapshots live at `<VERSIONS_PREFIX><basename>.<timestamp>[<-suffix>].md`.
5
- * The optional numeric suffix (`-2`, `-3`, ...) is appended only when two
6
- * snapshots collide on the same UTC second.
7
- */
8
- import { formatVersionTimestamp, parseVersionTimestamp } from './timestamp.js';
9
- /** Subfolder (inside the ContentContainer) that holds version snapshots. */
10
- export const VERSIONS_PREFIX = '.versions/';
11
- /**
12
- * Strip the directory and extension from a document path to produce the
13
- * basename used in version filenames. `subdir/index.md` -> `index`.
14
- */
15
- export function getDocBasename(documentPath) {
16
- const slash = documentPath.lastIndexOf('/');
17
- const file = slash >= 0 ? documentPath.slice(slash + 1) : documentPath;
18
- const dot = file.lastIndexOf('.');
19
- return dot > 0 ? file.slice(0, dot) : file;
20
- }
21
- /**
22
- * Build a version snapshot path. Optionally append a collision suffix
23
- * (e.g. `2`, `3`) when two saves land on the same UTC second.
24
- */
25
- export function buildVersionPath(basename, date, collision = 0) {
26
- const stamp = formatVersionTimestamp(date);
27
- const suffix = collision > 0 ? `-${collision + 1}` : '';
28
- return `${VERSIONS_PREFIX}${basename}.${stamp}${suffix}.md`;
29
- }
30
- /**
31
- * Parse a version snapshot path. Returns null if it doesn't match the
32
- * convention (so unrelated files stored under `.versions/` are ignored).
33
- */
34
- export function parseVersionPath(path) {
35
- if (!path.startsWith(VERSIONS_PREFIX))
36
- return null;
37
- const rest = path.slice(VERSIONS_PREFIX.length);
38
- if (!rest.endsWith('.md'))
39
- return null;
40
- const stem = rest.slice(0, -'.md'.length);
41
- // basename can contain dots; the timestamp is always the *last* dot-segment
42
- // (optionally followed by a `-N` collision suffix).
43
- const lastDot = stem.lastIndexOf('.');
44
- if (lastDot <= 0)
45
- return null;
46
- const basename = stem.slice(0, lastDot);
47
- const tail = stem.slice(lastDot + 1);
48
- const dash = tail.indexOf('-');
49
- let stamp;
50
- let collision = 0;
51
- if (dash >= 0) {
52
- stamp = tail.slice(0, dash);
53
- const n = Number(tail.slice(dash + 1));
54
- if (!Number.isInteger(n) || n < 2)
55
- return null;
56
- collision = n - 1;
57
- }
58
- else {
59
- stamp = tail;
60
- }
61
- const timestamp = parseVersionTimestamp(stamp);
62
- if (!timestamp)
63
- return null;
64
- return { basename, timestamp, collision };
65
- }
66
- //# sourceMappingURL=paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/versions/paths.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Sortable, human-readable timestamps for version filenames.
3
- *
4
- * Format: ISO 8601 basic, UTC, second precision, `Z` suffix —
5
- * e.g. `20260430T152030Z`. Lexicographic order matches chronological order,
6
- * so `listFiles` returns versions in time order without parsing.
7
- */
8
- /**
9
- * Format a Date as a sortable, filename-safe UTC timestamp string.
10
- */
11
- export declare function formatVersionTimestamp(date: Date): string;
12
- /**
13
- * Parse a version timestamp string back to a Date. Returns null if the input
14
- * doesn't match the expected format.
15
- */
16
- export declare function parseVersionTimestamp(stamp: string): Date | null;
17
- /**
18
- * The pattern a valid version timestamp matches. Exported so other modules
19
- * can validate filenames without re-deriving the regex.
20
- */
21
- export declare const VERSION_TIMESTAMP_PATTERN: RegExp;
22
- //# sourceMappingURL=timestamp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../src/versions/timestamp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAWzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAOhE;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAAe,CAAC"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Sortable, human-readable timestamps for version filenames.
3
- *
4
- * Format: ISO 8601 basic, UTC, second precision, `Z` suffix —
5
- * e.g. `20260430T152030Z`. Lexicographic order matches chronological order,
6
- * so `listFiles` returns versions in time order without parsing.
7
- */
8
- const TIMESTAMP_RE = /^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/;
9
- function pad2(n) {
10
- return n < 10 ? `0${n}` : String(n);
11
- }
12
- /**
13
- * Format a Date as a sortable, filename-safe UTC timestamp string.
14
- */
15
- export function formatVersionTimestamp(date) {
16
- return (String(date.getUTCFullYear()).padStart(4, '0') +
17
- pad2(date.getUTCMonth() + 1) +
18
- pad2(date.getUTCDate()) +
19
- 'T' +
20
- pad2(date.getUTCHours()) +
21
- pad2(date.getUTCMinutes()) +
22
- pad2(date.getUTCSeconds()) +
23
- 'Z');
24
- }
25
- /**
26
- * Parse a version timestamp string back to a Date. Returns null if the input
27
- * doesn't match the expected format.
28
- */
29
- export function parseVersionTimestamp(stamp) {
30
- const m = TIMESTAMP_RE.exec(stamp);
31
- if (!m)
32
- return null;
33
- const [, y, mo, d, h, mi, s] = m;
34
- const ms = Date.UTC(Number(y), Number(mo) - 1, Number(d), Number(h), Number(mi), Number(s));
35
- if (Number.isNaN(ms))
36
- return null;
37
- return new Date(ms);
38
- }
39
- /**
40
- * The pattern a valid version timestamp matches. Exported so other modules
41
- * can validate filenames without re-deriving the regex.
42
- */
43
- export const VERSION_TIMESTAMP_PATTERN = TIMESTAMP_RE;
44
- //# sourceMappingURL=timestamp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/versions/timestamp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,YAAY,GAAG,gDAAgD,CAAC;AAEtE,SAAS,IAAI,CAAC,CAAS;IACrB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAU;IAC/C,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACvB,GAAG;QACH,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1B,GAAG,CACJ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC"}
@@ -1,92 +0,0 @@
1
- /**
2
- * Public types for the document version-history feature.
3
- *
4
- * Versions are snapshots of the primary markdown document stored alongside
5
- * the document inside the same {@link ContentContainer}. They live under
6
- * `.versions/<docBasename>.<sortableTimestamp>.md`. The container is the
7
- * unit of persistence — when the host serializes the container to a ZIP,
8
- * a real folder, or anywhere else, the version snapshots ride along.
9
- */
10
- /**
11
- * A single version snapshot record.
12
- */
13
- export interface Version {
14
- /** Container-relative path, e.g. `.versions/index.20260430T152030Z.md`. */
15
- path: string;
16
- /** Document basename without extension, e.g. `index`. */
17
- basename: string;
18
- /** Parsed timestamp from the filename, in UTC. */
19
- timestamp: Date;
20
- /** Snapshot size in bytes. */
21
- size: number;
22
- /**
23
- * Collision suffix index. `0` for a path with no `-N` suffix, `1` for `-2`,
24
- * `2` for `-3`, and so on. Used as the tie-break for ordering snapshots
25
- * that share the same UTC second.
26
- */
27
- collision: number;
28
- }
29
- /**
30
- * Result of a {@link saveVersion} call.
31
- */
32
- export interface SaveVersionResult {
33
- /** True when a new snapshot file was actually written. */
34
- saved: boolean;
35
- /** The newly stamped version (only when `saved` is true). */
36
- version: Version | null;
37
- /**
38
- * Why the save behaved the way it did:
39
- * - `'saved'` — a new snapshot was written.
40
- * - `'unchanged'` — current content matches the latest snapshot byte-for-byte.
41
- * - `'no-document'` — the container has no primary markdown document.
42
- * - `'empty'` — the resolved content was empty.
43
- */
44
- reason: 'saved' | 'unchanged' | 'no-document' | 'empty';
45
- }
46
- /**
47
- * Options for {@link saveVersion}.
48
- */
49
- export interface SaveVersionOptions {
50
- /** Override the document content; otherwise the container's primary doc is read. */
51
- content?: string;
52
- /** Override the timestamp; defaults to `new Date()`. Useful for tests. */
53
- now?: Date;
54
- /** Skip the diff-vs-latest check and force a write. */
55
- force?: boolean;
56
- /** Override the document basename used to build the version filename. */
57
- basename?: string;
58
- }
59
- /**
60
- * Pruning policy passed to {@link pruneVersions}.
61
- */
62
- export type PrunePolicy = {
63
- type: 'keep-last-n';
64
- n: number;
65
- } | {
66
- type: 'older-than';
67
- date: Date;
68
- } | {
69
- type: 'predicate';
70
- keep: (v: Version, all: Version[]) => boolean;
71
- };
72
- /**
73
- * Options for {@link revertToVersion}.
74
- */
75
- export interface RevertOptions {
76
- /**
77
- * Whether to snapshot the current document content before replacing it.
78
- * Defaults to `true` so a revert is always recoverable.
79
- */
80
- snapshotCurrent?: boolean;
81
- }
82
- /**
83
- * Options for {@link coalesceVersions}.
84
- */
85
- export interface CoalesceOptions {
86
- /**
87
- * Two adjacent snapshots whose timestamps are within `windowMs` collapse
88
- * to the newer one. Defaults to 60_000 (one minute).
89
- */
90
- windowMs?: number;
91
- }
92
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/versions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,SAAS,EAAE,IAAI,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,KAAK,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;CAAE,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Public types for the document version-history feature.
3
- *
4
- * Versions are snapshots of the primary markdown document stored alongside
5
- * the document inside the same {@link ContentContainer}. They live under
6
- * `.versions/<docBasename>.<sortableTimestamp>.md`. The container is the
7
- * unit of persistence — when the host serializes the container to a ZIP,
8
- * a real folder, or anywhere else, the version snapshots ride along.
9
- */
10
- export {};
11
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/versions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}