@bendyline/squisq 2.1.0 → 2.2.0

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 (446) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +24 -0
  3. package/dist/{ContentContainer-BXUlIf18.d.ts → ContentContainer-B2w9sUoL.d.ts} +15 -0
  4. package/dist/{Doc-DynJleo-.d.ts → Doc-BubIpWsp.d.ts} +1 -1
  5. package/dist/{ImageEditDoc-Ca4Tr9uN.d.ts → ImageEditDoc-CGxk5CHc.d.ts} +1 -1
  6. package/dist/{annotationCoercion-Dr_DY9Hx.d.ts → annotationCoercion-PtRQhk5V.d.ts} +1 -1
  7. package/dist/chunk-2L55443L.js +0 -0
  8. package/dist/{chunk-VWCJ2WXC.js → chunk-2ZWIXGAC.js} +0 -1
  9. package/dist/{chunk-VYFRI7R6.js → chunk-32R2RZAO.js} +72 -3
  10. package/dist/chunk-3IGPAPQ7.js +645 -0
  11. package/dist/{chunk-QE7TWGVT.js → chunk-4VOD55SX.js} +0 -1
  12. package/dist/{chunk-3E5F2XMR.js → chunk-67L6WRJN.js} +0 -1
  13. package/dist/{chunk-5DKBFXPY.js → chunk-6ECMNUIP.js} +26 -18
  14. package/dist/{chunk-JI77MGAK.js → chunk-7ARJZYQY.js} +159 -120
  15. package/dist/{chunk-DBS6RIFL.js → chunk-7N4G32LG.js} +0 -1
  16. package/dist/{chunk-JOQYPRDZ.js → chunk-7YEZFHLS.js} +10 -8
  17. package/dist/{chunk-2UQOHYE2.js → chunk-7ZAAICW4.js} +0 -1
  18. package/dist/{chunk-66QO7XFB.js → chunk-ACZOVWX3.js} +117 -7
  19. package/dist/{chunk-5J4HKRJF.js → chunk-BAOV476U.js} +0 -1
  20. package/dist/chunk-BCCXTMN5.js +699 -0
  21. package/dist/{chunk-JHZWYRSW.js → chunk-C33GTPUZ.js} +11 -4
  22. package/dist/{chunk-QUUPYOSP.js → chunk-CB45YGAM.js} +2 -3
  23. package/dist/{chunk-XNLB57UD.js → chunk-DYPMOPIW.js} +18 -2
  24. package/dist/{chunk-VR7UPJ7C.js → chunk-FCG3BIZN.js} +12 -1
  25. package/dist/{chunk-5UYI3RJB.js → chunk-FDYDYL77.js} +54 -40
  26. package/dist/{chunk-OTKVFVL6.js → chunk-I2O6W7DX.js} +116 -44
  27. package/dist/{chunk-Q7LROV2H.js → chunk-NKNMGIIN.js} +0 -1
  28. package/dist/chunk-OPO5K4DZ.js +241 -0
  29. package/dist/{chunk-TUWMK62B.js → chunk-PUS54YU6.js} +45 -2
  30. package/dist/chunk-QKPXHDLR.js +0 -0
  31. package/dist/{chunk-GZY66SDN.js → chunk-R3KTTOMS.js} +0 -1
  32. package/dist/{chunk-ILWDXLUK.js → chunk-RS5AP3J4.js} +49 -10
  33. package/dist/chunk-WV5ARNDA.js +0 -0
  34. package/dist/{chunk-4X3JQXNM.js → chunk-XOFT65EX.js} +1 -2
  35. package/dist/{chunk-FVTQSNR7.js → chunk-XRW6P7IF.js} +13 -5
  36. package/dist/chunk-XWNNA3KE.js +0 -0
  37. package/dist/chunk-YZNGMV3G.js +0 -0
  38. package/dist/{chunk-R2YZTCLO.js → chunk-ZQKZSJAX.js} +1 -2
  39. package/dist/doc/index.d.ts +27 -12
  40. package/dist/doc/index.js +16 -17
  41. package/dist/generate/index.d.ts +2 -2
  42. package/dist/generate/index.js +2 -3
  43. package/dist/icons/index.js +3 -4
  44. package/dist/icons/inlineIconMarker.js +1 -2
  45. package/dist/imageEdit/index.d.ts +48 -17
  46. package/dist/imageEdit/index.js +3 -4
  47. package/dist/index.d.ts +11 -11
  48. package/dist/index.js +60 -33
  49. package/dist/jsonForm/index.d.ts +10 -3
  50. package/dist/jsonForm/index.js +8 -7
  51. package/dist/markdown/index.d.ts +75 -11
  52. package/dist/markdown/index.js +32 -7
  53. package/dist/{materializePageSection-DDzubQXo.d.ts → materializePageSection-wSLA2A1g.d.ts} +2 -2
  54. package/dist/narration/index.d.ts +16 -3
  55. package/dist/narration/index.js +13 -14
  56. package/dist/random/index.d.ts +11 -2
  57. package/dist/random/index.js +2 -3
  58. package/dist/recommend/index.d.ts +1 -1
  59. package/dist/recommend/index.js +3 -4
  60. package/dist/schemas/index.d.ts +5 -5
  61. package/dist/schemas/index.js +5 -6
  62. package/dist/spatial/index.d.ts +2 -1
  63. package/dist/spatial/index.js +1 -2
  64. package/dist/storage/index.d.ts +4 -2
  65. package/dist/storage/index.js +1 -2
  66. package/dist/{themeLibrary-B72m0W1y.d.ts → themeLibrary-DU9mUmVl.d.ts} +1 -1
  67. package/dist/timing/index.js +3 -4
  68. package/dist/transform/index.d.ts +3 -3
  69. package/dist/transform/index.js +6 -7
  70. package/dist/{types-C4kiRn_k.d.ts → types-8QjefM9J.d.ts} +38 -2
  71. package/dist/{types-BwMPl2CB.d.ts → types-CUNc9biN.d.ts} +24 -1
  72. package/dist/versions/index.d.ts +14 -11
  73. package/dist/versions/index.js +2 -3
  74. package/package.json +4 -2
  75. package/dist/chunk-2UQOHYE2.js.map +0 -1
  76. package/dist/chunk-3E5F2XMR.js.map +0 -1
  77. package/dist/chunk-4X3JQXNM.js.map +0 -1
  78. package/dist/chunk-5DKBFXPY.js.map +0 -1
  79. package/dist/chunk-5J4HKRJF.js.map +0 -1
  80. package/dist/chunk-5UYI3RJB.js.map +0 -1
  81. package/dist/chunk-66QO7XFB.js.map +0 -1
  82. package/dist/chunk-AMIR72JP.js +0 -380
  83. package/dist/chunk-AMIR72JP.js.map +0 -1
  84. package/dist/chunk-DBS6RIFL.js.map +0 -1
  85. package/dist/chunk-DNJKBAI7.js +0 -1
  86. package/dist/chunk-DNJKBAI7.js.map +0 -1
  87. package/dist/chunk-ET53IIEP.js +0 -1
  88. package/dist/chunk-ET53IIEP.js.map +0 -1
  89. package/dist/chunk-FVTQSNR7.js.map +0 -1
  90. package/dist/chunk-GZY66SDN.js.map +0 -1
  91. package/dist/chunk-ILWDXLUK.js.map +0 -1
  92. package/dist/chunk-JHZWYRSW.js.map +0 -1
  93. package/dist/chunk-JI77MGAK.js.map +0 -1
  94. package/dist/chunk-JOQYPRDZ.js.map +0 -1
  95. package/dist/chunk-OTKVFVL6.js.map +0 -1
  96. package/dist/chunk-PGGGKYWG.js +0 -1
  97. package/dist/chunk-PGGGKYWG.js.map +0 -1
  98. package/dist/chunk-Q7LROV2H.js.map +0 -1
  99. package/dist/chunk-QE7TWGVT.js.map +0 -1
  100. package/dist/chunk-QUUPYOSP.js.map +0 -1
  101. package/dist/chunk-R2GC6RLD.js +0 -344
  102. package/dist/chunk-R2GC6RLD.js.map +0 -1
  103. package/dist/chunk-R2YZTCLO.js.map +0 -1
  104. package/dist/chunk-S7A5D7ZJ.js +0 -174
  105. package/dist/chunk-S7A5D7ZJ.js.map +0 -1
  106. package/dist/chunk-TUWMK62B.js.map +0 -1
  107. package/dist/chunk-V543AI2F.js +0 -1
  108. package/dist/chunk-V543AI2F.js.map +0 -1
  109. package/dist/chunk-VR7UPJ7C.js.map +0 -1
  110. package/dist/chunk-VWCJ2WXC.js.map +0 -1
  111. package/dist/chunk-VYFRI7R6.js.map +0 -1
  112. package/dist/chunk-XNLB57UD.js.map +0 -1
  113. package/dist/chunk-ZLQKNOZQ.js +0 -1
  114. package/dist/chunk-ZLQKNOZQ.js.map +0 -1
  115. package/dist/doc/index.js.map +0 -1
  116. package/dist/generate/index.js.map +0 -1
  117. package/dist/icons/index.js.map +0 -1
  118. package/dist/icons/inlineIconMarker.js.map +0 -1
  119. package/dist/imageEdit/index.js.map +0 -1
  120. package/dist/index.js.map +0 -1
  121. package/dist/jsonForm/index.js.map +0 -1
  122. package/dist/markdown/index.js.map +0 -1
  123. package/dist/narration/index.js.map +0 -1
  124. package/dist/random/index.js.map +0 -1
  125. package/dist/recommend/index.js.map +0 -1
  126. package/dist/schemas/index.js.map +0 -1
  127. package/dist/spatial/index.js.map +0 -1
  128. package/dist/storage/index.js.map +0 -1
  129. package/dist/timing/index.js.map +0 -1
  130. package/dist/transform/index.js.map +0 -1
  131. package/dist/versions/index.js.map +0 -1
  132. package/src/__tests__/animationUtils.test.ts +0 -117
  133. package/src/__tests__/annotationCoercion.test.ts +0 -243
  134. package/src/__tests__/applyNarrationTiming.test.ts +0 -190
  135. package/src/__tests__/applyRenderStyle.test.ts +0 -146
  136. package/src/__tests__/asciiDiagramBattle.test.ts +0 -246
  137. package/src/__tests__/asciiDiagramDetect.test.ts +0 -162
  138. package/src/__tests__/asciiDiagramMapping.test.ts +0 -38
  139. package/src/__tests__/asciiDiagramParse.test.ts +0 -233
  140. package/src/__tests__/asciiDiagramPipeline.test.ts +0 -273
  141. package/src/__tests__/asciiDiagramRender.test.ts +0 -162
  142. package/src/__tests__/asciiDiagramRepair.test.ts +0 -84
  143. package/src/__tests__/asciiTimelineDetect.test.ts +0 -157
  144. package/src/__tests__/asciiTimelineParse.test.ts +0 -205
  145. package/src/__tests__/asciiTimelinePipeline.test.ts +0 -349
  146. package/src/__tests__/asciiTimelineRender.test.ts +0 -376
  147. package/src/__tests__/atmosphereLayers.test.ts +0 -108
  148. package/src/__tests__/attrTokens.test.ts +0 -167
  149. package/src/__tests__/colorUtils.test.ts +0 -112
  150. package/src/__tests__/contentContainer.test.ts +0 -325
  151. package/src/__tests__/contentExtractor.test.ts +0 -243
  152. package/src/__tests__/coverBlock.test.ts +0 -310
  153. package/src/__tests__/customTemplateSample.test.ts +0 -144
  154. package/src/__tests__/customTemplatesFrontmatter.test.ts +0 -221
  155. package/src/__tests__/customThemesFrontmatter.test.ts +0 -146
  156. package/src/__tests__/dataTable.test.ts +0 -145
  157. package/src/__tests__/diagramBlock.test.ts +0 -122
  158. package/src/__tests__/diagramLayout.test.ts +0 -134
  159. package/src/__tests__/diagramText.test.ts +0 -26
  160. package/src/__tests__/docToMarkdownMedia.test.ts +0 -83
  161. package/src/__tests__/drawing.test.ts +0 -109
  162. package/src/__tests__/drawingBlock.test.ts +0 -124
  163. package/src/__tests__/drawingLayout.test.ts +0 -171
  164. package/src/__tests__/fixtures/asciiDiagramBattle.ts +0 -512
  165. package/src/__tests__/fixtures/asciiDiagrams.ts +0 -287
  166. package/src/__tests__/fixtures/asciiTimelines.ts +0 -35
  167. package/src/__tests__/fixtures/treeviewFixtures.ts +0 -243
  168. package/src/__tests__/geohash.test.ts +0 -110
  169. package/src/__tests__/getLayers.test.ts +0 -243
  170. package/src/__tests__/getLayersFallback.test.ts +0 -103
  171. package/src/__tests__/haversine.test.ts +0 -63
  172. package/src/__tests__/iconResolve.test.ts +0 -122
  173. package/src/__tests__/imageEditExportSvg.test.ts +0 -70
  174. package/src/__tests__/imageEditState.test.ts +0 -74
  175. package/src/__tests__/imageEditVersions.test.ts +0 -243
  176. package/src/__tests__/inferDocumentTitle.test.ts +0 -50
  177. package/src/__tests__/inlineIconMarker.test.ts +0 -36
  178. package/src/__tests__/inputDescriptors.test.ts +0 -162
  179. package/src/__tests__/jsonForm.chooseControl.test.ts +0 -86
  180. package/src/__tests__/jsonForm.evaluateWhen.test.ts +0 -59
  181. package/src/__tests__/jsonForm.inferSchema.test.ts +0 -25
  182. package/src/__tests__/jsonForm.pointer.test.ts +0 -149
  183. package/src/__tests__/jsonForm.tokens.test.ts +0 -84
  184. package/src/__tests__/layoutBlock.test.ts +0 -83
  185. package/src/__tests__/layoutLayout.test.ts +0 -169
  186. package/src/__tests__/localForageAdapter.test.ts +0 -155
  187. package/src/__tests__/majorApiTypes.test.ts +0 -18
  188. package/src/__tests__/markdown.test.ts +0 -1009
  189. package/src/__tests__/markdownIcons.test.ts +0 -104
  190. package/src/__tests__/markdownSanitize.test.ts +0 -81
  191. package/src/__tests__/markdownToDoc.test.ts +0 -957
  192. package/src/__tests__/matchFontFamily.test.ts +0 -114
  193. package/src/__tests__/materializeBlockLayers.test.ts +0 -167
  194. package/src/__tests__/materializePageSections.test.ts +0 -404
  195. package/src/__tests__/materializeTestUtils.ts +0 -17
  196. package/src/__tests__/mediaAnnotations.test.ts +0 -91
  197. package/src/__tests__/mediaSchedule.test.ts +0 -118
  198. package/src/__tests__/narrationAlign.test.ts +0 -150
  199. package/src/__tests__/narrationFeatures.test.ts +0 -71
  200. package/src/__tests__/narrationNuclei.test.ts +0 -45
  201. package/src/__tests__/narrationPacing.test.ts +0 -189
  202. package/src/__tests__/narrationScript.test.ts +0 -149
  203. package/src/__tests__/narrationSessionRepro.test.ts +0 -62
  204. package/src/__tests__/narrationSidecar.test.ts +0 -88
  205. package/src/__tests__/narrationSyllables.test.ts +0 -65
  206. package/src/__tests__/narrationTestSignals.ts +0 -167
  207. package/src/__tests__/narrationVad.test.ts +0 -66
  208. package/src/__tests__/pageStyle.test.ts +0 -258
  209. package/src/__tests__/pandocAttrParse.test.ts +0 -187
  210. package/src/__tests__/recommendTemplates.test.ts +0 -183
  211. package/src/__tests__/resolveDocTheme.test.ts +0 -69
  212. package/src/__tests__/rootExports.test.ts +0 -61
  213. package/src/__tests__/scopedContentContainer.test.ts +0 -109
  214. package/src/__tests__/seededRandom.test.ts +0 -142
  215. package/src/__tests__/shapeGeometry.test.ts +0 -138
  216. package/src/__tests__/shapeVocabulary.test.ts +0 -133
  217. package/src/__tests__/storage.test.ts +0 -60
  218. package/src/__tests__/structuredData.test.ts +0 -249
  219. package/src/__tests__/surface.test.ts +0 -68
  220. package/src/__tests__/templateAnnotationParse.test.ts +0 -173
  221. package/src/__tests__/templateInputs.test.ts +0 -69
  222. package/src/__tests__/templateMetadata.test.ts +0 -32
  223. package/src/__tests__/templates.test.ts +0 -710
  224. package/src/__tests__/themeCompile.test.ts +0 -225
  225. package/src/__tests__/themeValidator.test.ts +0 -131
  226. package/src/__tests__/timing.test.ts +0 -167
  227. package/src/__tests__/transformProvenance.test.ts +0 -160
  228. package/src/__tests__/transformV2.test.ts +0 -163
  229. package/src/__tests__/transitionNormalize.test.ts +0 -61
  230. package/src/__tests__/treeviewBattle.test.ts +0 -76
  231. package/src/__tests__/treeviewDetect.test.ts +0 -168
  232. package/src/__tests__/treeviewParse.test.ts +0 -118
  233. package/src/__tests__/treeviewPipeline.test.ts +0 -183
  234. package/src/__tests__/treeviewRender.test.ts +0 -91
  235. package/src/__tests__/validateDoc.test.ts +0 -260
  236. package/src/__tests__/versions.test.ts +0 -459
  237. package/src/doc/annotationBlocks.ts +0 -117
  238. package/src/doc/applyNarrationTiming.ts +0 -244
  239. package/src/doc/asciiDiagram/chars.ts +0 -210
  240. package/src/doc/asciiDiagram/detect.ts +0 -175
  241. package/src/doc/asciiDiagram/index.ts +0 -38
  242. package/src/doc/asciiDiagram/mapping.ts +0 -225
  243. package/src/doc/asciiDiagram/parse.ts +0 -1095
  244. package/src/doc/asciiDiagram/render.ts +0 -963
  245. package/src/doc/asciiDiagram/repair.ts +0 -400
  246. package/src/doc/asciiDiagram/types.ts +0 -65
  247. package/src/doc/asciiTimeline/detect.ts +0 -138
  248. package/src/doc/asciiTimeline/index.ts +0 -26
  249. package/src/doc/asciiTimeline/mapping.ts +0 -43
  250. package/src/doc/asciiTimeline/parse.ts +0 -870
  251. package/src/doc/asciiTimeline/render.ts +0 -427
  252. package/src/doc/asciiTimeline/types.ts +0 -73
  253. package/src/doc/asciiTimeline/wrappedFlow.ts +0 -427
  254. package/src/doc/audioMapping.ts +0 -442
  255. package/src/doc/customTemplatesFrontmatter.ts +0 -273
  256. package/src/doc/customThemesFrontmatter.ts +0 -95
  257. package/src/doc/docToMarkdown.ts +0 -284
  258. package/src/doc/index.ts +0 -161
  259. package/src/doc/markdownToDoc.ts +0 -1054
  260. package/src/doc/materializeBlockLayers.ts +0 -465
  261. package/src/doc/mediaAnnotations.ts +0 -120
  262. package/src/doc/page/PageSection.ts +0 -174
  263. package/src/doc/page/materializePageSection.ts +0 -616
  264. package/src/doc/page/resolvePageBlock.ts +0 -108
  265. package/src/doc/page/sectionExtractors.ts +0 -466
  266. package/src/doc/pageCss.ts +0 -628
  267. package/src/doc/resolveDocTheme.ts +0 -56
  268. package/src/doc/standaloneAnnotation.ts +0 -58
  269. package/src/doc/structuredData.ts +0 -301
  270. package/src/doc/templateInputs.ts +0 -424
  271. package/src/doc/templates/__tests__/customTemplate.test.ts +0 -170
  272. package/src/doc/templates/__tests__/customTemplateRegistry.test.ts +0 -124
  273. package/src/doc/templates/__tests__/listBlock.test.ts +0 -64
  274. package/src/doc/templates/accentImage.ts +0 -362
  275. package/src/doc/templates/captionUtils.ts +0 -56
  276. package/src/doc/templates/comparisonBar.ts +0 -173
  277. package/src/doc/templates/coverBlock.ts +0 -255
  278. package/src/doc/templates/customTemplate.ts +0 -51
  279. package/src/doc/templates/dataTable.ts +0 -102
  280. package/src/doc/templates/dateEvent.ts +0 -147
  281. package/src/doc/templates/definitionCard.ts +0 -140
  282. package/src/doc/templates/diagramBlock.ts +0 -403
  283. package/src/doc/templates/diagramLayout.ts +0 -159
  284. package/src/doc/templates/drawingBlock.ts +0 -325
  285. package/src/doc/templates/drawingLayout.ts +0 -539
  286. package/src/doc/templates/factCard.ts +0 -146
  287. package/src/doc/templates/fallbackBlock.ts +0 -123
  288. package/src/doc/templates/featureBlock.ts +0 -209
  289. package/src/doc/templates/fullBleedQuote.ts +0 -83
  290. package/src/doc/templates/imageWithCaption.ts +0 -186
  291. package/src/doc/templates/index.ts +0 -642
  292. package/src/doc/templates/inputDescriptors.ts +0 -451
  293. package/src/doc/templates/layoutBlock.ts +0 -43
  294. package/src/doc/templates/layoutLayout.ts +0 -243
  295. package/src/doc/templates/listBlock.ts +0 -207
  296. package/src/doc/templates/mapBlock.ts +0 -138
  297. package/src/doc/templates/metadata.ts +0 -130
  298. package/src/doc/templates/persistentLayers.ts +0 -526
  299. package/src/doc/templates/photoGrid.ts +0 -190
  300. package/src/doc/templates/pullQuote.ts +0 -141
  301. package/src/doc/templates/quoteBlock.ts +0 -141
  302. package/src/doc/templates/registry.ts +0 -88
  303. package/src/doc/templates/sectionHeader.ts +0 -120
  304. package/src/doc/templates/statHighlight.ts +0 -146
  305. package/src/doc/templates/templateNames.ts +0 -22
  306. package/src/doc/templates/timelineBlock.ts +0 -613
  307. package/src/doc/templates/titleBlock.ts +0 -150
  308. package/src/doc/templates/tokens/__tests__/resolveTokens.test.ts +0 -487
  309. package/src/doc/templates/tokens/resolveTokens.ts +0 -453
  310. package/src/doc/templates/treeBlock.ts +0 -131
  311. package/src/doc/templates/twoColumn.ts +0 -263
  312. package/src/doc/templates/videoPullQuote.ts +0 -142
  313. package/src/doc/templates/videoWithCaption.ts +0 -135
  314. package/src/doc/treeview/chars.ts +0 -72
  315. package/src/doc/treeview/detect.ts +0 -145
  316. package/src/doc/treeview/index.ts +0 -30
  317. package/src/doc/treeview/mapping.ts +0 -95
  318. package/src/doc/treeview/parse.ts +0 -201
  319. package/src/doc/treeview/render.ts +0 -41
  320. package/src/doc/treeview/types.ts +0 -43
  321. package/src/doc/utils/animationUtils.ts +0 -399
  322. package/src/doc/utils/applyRenderStyle.ts +0 -106
  323. package/src/doc/utils/diagramText.ts +0 -78
  324. package/src/doc/utils/imageTreatment.ts +0 -70
  325. package/src/doc/utils/nearest.ts +0 -59
  326. package/src/doc/utils/shapeGeometry.ts +0 -614
  327. package/src/doc/utils/themeUtils.ts +0 -243
  328. package/src/doc/validate.ts +0 -575
  329. package/src/generate/contentExtractor.ts +0 -921
  330. package/src/generate/index.ts +0 -18
  331. package/src/generate/templateMapper.ts +0 -177
  332. package/src/icons/iconData.ts +0 -31
  333. package/src/icons/index.ts +0 -26
  334. package/src/icons/inlineIconMarker.ts +0 -73
  335. package/src/icons/resolve.ts +0 -139
  336. package/src/imageEdit/ImageEditVersionManager.ts +0 -73
  337. package/src/imageEdit/export.ts +0 -410
  338. package/src/imageEdit/index.ts +0 -72
  339. package/src/imageEdit/persistence.ts +0 -113
  340. package/src/imageEdit/state.ts +0 -112
  341. package/src/imageEdit/versionPaths.ts +0 -44
  342. package/src/imageEdit/versions.ts +0 -152
  343. package/src/index.ts +0 -15
  344. package/src/internal/immutable.ts +0 -58
  345. package/src/jsonForm/chooseControl.ts +0 -88
  346. package/src/jsonForm/evaluateWhen.ts +0 -59
  347. package/src/jsonForm/index.ts +0 -32
  348. package/src/jsonForm/inferSchema.ts +0 -25
  349. package/src/jsonForm/pointer.ts +0 -154
  350. package/src/jsonForm/tokens.ts +0 -78
  351. package/src/jsonForm/types.ts +0 -167
  352. package/src/markdown/annotationCoercion.ts +0 -295
  353. package/src/markdown/attrTokens.ts +0 -243
  354. package/src/markdown/convert.ts +0 -1353
  355. package/src/markdown/htmlParse.ts +0 -212
  356. package/src/markdown/index.ts +0 -152
  357. package/src/markdown/parse.ts +0 -103
  358. package/src/markdown/sanitize.ts +0 -318
  359. package/src/markdown/stringify.ts +0 -207
  360. package/src/markdown/types.ts +0 -710
  361. package/src/markdown/utils.ts +0 -459
  362. package/src/narration/align.ts +0 -514
  363. package/src/narration/features.ts +0 -231
  364. package/src/narration/index.ts +0 -86
  365. package/src/narration/nuclei.ts +0 -118
  366. package/src/narration/pacing.ts +0 -211
  367. package/src/narration/script.ts +0 -239
  368. package/src/narration/session.ts +0 -100
  369. package/src/narration/sidecar.ts +0 -187
  370. package/src/narration/syllables.ts +0 -85
  371. package/src/narration/trace.ts +0 -50
  372. package/src/narration/types.ts +0 -299
  373. package/src/narration/vad.ts +0 -131
  374. package/src/ngeohash.d.ts +0 -11
  375. package/src/random/SeededRandom.ts +0 -127
  376. package/src/random/index.ts +0 -1
  377. package/src/recommend/index.ts +0 -16
  378. package/src/recommend/numberHighlight.ts +0 -25
  379. package/src/recommend/templates.ts +0 -393
  380. package/src/schemas/BlockTemplates.ts +0 -1046
  381. package/src/schemas/CustomTemplates.ts +0 -126
  382. package/src/schemas/Doc.ts +0 -1073
  383. package/src/schemas/ImageEditDoc.ts +0 -102
  384. package/src/schemas/LayoutStrategy.ts +0 -178
  385. package/src/schemas/Media.ts +0 -179
  386. package/src/schemas/MediaProvider.ts +0 -70
  387. package/src/schemas/PageStyle.ts +0 -213
  388. package/src/schemas/Theme.ts +0 -413
  389. package/src/schemas/Transitions.ts +0 -224
  390. package/src/schemas/Types.ts +0 -15
  391. package/src/schemas/Viewport.ts +0 -91
  392. package/src/schemas/colorUtils.ts +0 -219
  393. package/src/schemas/fontStacks.ts +0 -339
  394. package/src/schemas/index.ts +0 -31
  395. package/src/schemas/pageStyleDefaults.ts +0 -204
  396. package/src/schemas/themeCompile.ts +0 -244
  397. package/src/schemas/themeConstants.ts +0 -2
  398. package/src/schemas/themeLibrary.ts +0 -60
  399. package/src/schemas/themeValidator.ts +0 -609
  400. package/src/schemas/themes/bold.json +0 -77
  401. package/src/schemas/themes/cinematic.json +0 -143
  402. package/src/schemas/themes/documentary.json +0 -125
  403. package/src/schemas/themes/gezellig.json +0 -123
  404. package/src/schemas/themes/index.ts +0 -53
  405. package/src/schemas/themes/magazine.json +0 -126
  406. package/src/schemas/themes/minimalist.json +0 -74
  407. package/src/schemas/themes/morning-light.json +0 -117
  408. package/src/schemas/themes/standard-dark.json +0 -109
  409. package/src/schemas/themes/standard.json +0 -98
  410. package/src/schemas/themes/tech-dark.json +0 -143
  411. package/src/schemas/themes/warm-earth.json +0 -74
  412. package/src/spatial/Geohash.ts +0 -196
  413. package/src/spatial/Haversine.ts +0 -59
  414. package/src/spatial/index.ts +0 -2
  415. package/src/storage/ContentContainer.ts +0 -220
  416. package/src/storage/LocalForageAdapter.ts +0 -103
  417. package/src/storage/LocalStorageAdapter.ts +0 -57
  418. package/src/storage/MediaProviderFromContainer.ts +0 -92
  419. package/src/storage/MemoryStorageAdapter.ts +0 -37
  420. package/src/storage/ScopedContentContainer.ts +0 -143
  421. package/src/storage/Storage.ts +0 -28
  422. package/src/storage/index.ts +0 -9
  423. package/src/timing/index.ts +0 -17
  424. package/src/timing/narrationTiming.ts +0 -220
  425. package/src/timing/readingTime.ts +0 -94
  426. package/src/transform/applyTransform.ts +0 -122
  427. package/src/transform/blockAnalyzer.ts +0 -181
  428. package/src/transform/index.ts +0 -23
  429. package/src/transform/registry.ts +0 -217
  430. package/src/transform/styles/dataDriven.ts +0 -18
  431. package/src/transform/styles/documentary.ts +0 -18
  432. package/src/transform/styles/index.ts +0 -5
  433. package/src/transform/styles/magazine.ts +0 -19
  434. package/src/transform/styles/minimal.ts +0 -18
  435. package/src/transform/styles/narrative.ts +0 -19
  436. package/src/transform/templateSelector.ts +0 -389
  437. package/src/transform/timingAllocator.ts +0 -257
  438. package/src/transform/types.ts +0 -158
  439. package/src/versions/DocumentVersionManager.ts +0 -70
  440. package/src/versions/gitignore.ts +0 -34
  441. package/src/versions/index.ts +0 -56
  442. package/src/versions/operations.ts +0 -144
  443. package/src/versions/paths.ts +0 -51
  444. package/src/versions/snapshotStore.ts +0 -202
  445. package/src/versions/timestamp.ts +0 -48
  446. package/src/versions/types.ts +0 -93
package/dist/index.js CHANGED
@@ -23,8 +23,8 @@ import {
23
23
  reanchorSession,
24
24
  traceWordPosAt,
25
25
  vadStep
26
- } from "./chunk-XNLB57UD.js";
27
- import "./chunk-ET53IIEP.js";
26
+ } from "./chunk-DYPMOPIW.js";
27
+ import "./chunk-2L55443L.js";
28
28
  import {
29
29
  DEFAULT_TRANSFORM_STYLE_ID,
30
30
  analyzeBlocks,
@@ -34,12 +34,12 @@ import {
34
34
  getTransformStyleIds,
35
35
  getTransformStyleSummaries,
36
36
  resolveTransformStyle
37
- } from "./chunk-ILWDXLUK.js";
37
+ } from "./chunk-RS5AP3J4.js";
38
38
  import {
39
39
  extractContent,
40
40
  mapElementToBlock,
41
41
  stripMarkdown
42
- } from "./chunk-Q7LROV2H.js";
42
+ } from "./chunk-NKNMGIIN.js";
43
43
  import {
44
44
  DocumentVersionManager,
45
45
  VERSIONS_PREFIX,
@@ -52,7 +52,7 @@ import {
52
52
  readVersion,
53
53
  revertToVersion,
54
54
  saveVersion
55
- } from "./chunk-JOQYPRDZ.js";
55
+ } from "./chunk-7YEZFHLS.js";
56
56
  import {
57
57
  appendPointer,
58
58
  arrayItemKind,
@@ -62,6 +62,7 @@ import {
62
62
  evaluateWhen,
63
63
  getByPointer,
64
64
  inferSchema,
65
+ isSafeConditionRegex,
65
66
  pointerSegments,
66
67
  primaryType,
67
68
  resolveFlag,
@@ -69,7 +70,7 @@ import {
69
70
  resolveRef,
70
71
  setByPointer,
71
72
  toPointer
72
- } from "./chunk-VYFRI7R6.js";
73
+ } from "./chunk-32R2RZAO.js";
73
74
  import {
74
75
  IMAGE_EDIT_ASSETS_PREFIX,
75
76
  IMAGE_EDIT_DEFAULT_BASENAME,
@@ -96,21 +97,21 @@ import {
96
97
  touch,
97
98
  updateLayer,
98
99
  writeImageEditDoc
99
- } from "./chunk-5DKBFXPY.js";
100
+ } from "./chunk-6ECMNUIP.js";
100
101
  import {
101
102
  VERSION_TIMESTAMP_PATTERN,
102
103
  formatVersionTimestamp,
103
104
  parseVersionTimestamp
104
- } from "./chunk-S7A5D7ZJ.js";
105
- import "./chunk-PGGGKYWG.js";
105
+ } from "./chunk-OPO5K4DZ.js";
106
+ import "./chunk-WV5ARNDA.js";
106
107
  import {
107
108
  hasIconMarker,
108
109
  iconClass,
109
110
  iconMarker,
110
111
  splitIconMarkers,
111
112
  stripIconMarkers
112
- } from "./chunk-2UQOHYE2.js";
113
- import "./chunk-ZLQKNOZQ.js";
113
+ } from "./chunk-7ZAAICW4.js";
114
+ import "./chunk-XWNNA3KE.js";
114
115
  import {
115
116
  STARTER_THEME,
116
117
  accentToColorScheme,
@@ -122,7 +123,7 @@ import {
122
123
  getSegmentAtTime,
123
124
  parseTheme,
124
125
  serializeTheme
125
- } from "./chunk-QUUPYOSP.js";
126
+ } from "./chunk-CB45YGAM.js";
126
127
  import {
127
128
  calculateBearing,
128
129
  decodeGeohash,
@@ -134,7 +135,7 @@ import {
134
135
  getGeohashPrefix,
135
136
  getNeighbors,
136
137
  haversineDistance
137
- } from "./chunk-GZY66SDN.js";
138
+ } from "./chunk-R3KTTOMS.js";
138
139
  import {
139
140
  PAGE_BASE_CSS,
140
141
  applyNarrationTiming,
@@ -163,7 +164,7 @@ import {
163
164
  sectionExtractors,
164
165
  validateMarkdownDoc,
165
166
  validateMarkdownSource
166
- } from "./chunk-OTKVFVL6.js";
167
+ } from "./chunk-I2O6W7DX.js";
167
168
  import {
168
169
  ASCII_CHAR_H,
169
170
  ASCII_CHAR_W,
@@ -284,7 +285,7 @@ import {
284
285
  wrapWithPersistentLayers,
285
286
  writeCustomTemplatesToFrontmatter,
286
287
  writeCustomThemesToFrontmatter
287
- } from "./chunk-JI77MGAK.js";
288
+ } from "./chunk-7ARJZYQY.js";
288
289
  import {
289
290
  PATH_SHAPE_KINDS,
290
291
  anchorPoint,
@@ -297,7 +298,7 @@ import {
297
298
  shapePath,
298
299
  snapEndpoints,
299
300
  snapPoints
300
- } from "./chunk-TUWMK62B.js";
301
+ } from "./chunk-PUS54YU6.js";
301
302
  import {
302
303
  ASCII_DIAGRAM_FENCE_LANGS,
303
304
  ASCII_TIMELINE_FENCE_LANGS,
@@ -322,12 +323,12 @@ import {
322
323
  parseWrappedFlowTimeline,
323
324
  profileBlockContents,
324
325
  recommendTemplatesForBlock
325
- } from "./chunk-5UYI3RJB.js";
326
+ } from "./chunk-FDYDYL77.js";
326
327
  import {
327
328
  defaultPageStyle,
328
329
  getDocPlaybackDuration,
329
330
  resolveMediaSchedule
330
- } from "./chunk-VWCJ2WXC.js";
331
+ } from "./chunk-2ZWIXGAC.js";
331
332
  import {
332
333
  AVAILABLE_FONT_STACKS,
333
334
  DARK_SURFACE,
@@ -381,7 +382,7 @@ import {
381
382
  resolveTheme,
382
383
  validateTheme,
383
384
  withAlpha
384
- } from "./chunk-JHZWYRSW.js";
385
+ } from "./chunk-C33GTPUZ.js";
385
386
  import {
386
387
  DEFAULT_DOC_FONT,
387
388
  DEFAULT_TITLE_FONT,
@@ -398,7 +399,7 @@ import {
398
399
  isTemplateBlock,
399
400
  scaledFontSize,
400
401
  scaledFontSize2
401
- } from "./chunk-5J4HKRJF.js";
402
+ } from "./chunk-BAOV476U.js";
402
403
  import {
403
404
  LocalForageAdapter,
404
405
  LocalStorageAdapter,
@@ -408,19 +409,31 @@ import {
408
409
  createMediaProviderFromContainer,
409
410
  findDocumentPath,
410
411
  scopeContainer
411
- } from "./chunk-VR7UPJ7C.js";
412
+ } from "./chunk-FCG3BIZN.js";
412
413
  import {
414
+ DEFAULT_INTERACTIVE_RESOURCE_POLICY,
415
+ DEFAULT_RESOURCE_MAX_BYTES,
416
+ DEFAULT_RESOURCE_TIMEOUT_MS,
417
+ LOCAL_ONLY_RESOURCE_POLICY,
418
+ ResourcePolicyError,
419
+ fetchResourceBytes,
420
+ isResourceUrlAllowed,
413
421
  sanitizeHtmlNodes,
414
422
  sanitizeUrl,
415
423
  stringifyMarkdown
416
- } from "./chunk-R2GC6RLD.js";
424
+ } from "./chunk-3IGPAPQ7.js";
417
425
  import {
426
+ DEFAULT_MARKDOWN_SAFETY_LIMITS,
427
+ MarkdownLimitError,
428
+ assertMarkdownDocumentWithinLimits,
429
+ assertMarkdownSourceWithinLimits,
418
430
  fromMdast,
419
431
  parseMarkdown,
420
432
  parsePandocAttrTokens,
433
+ resolveMarkdownSafetyLimits,
421
434
  serializePandocAttributes,
422
435
  toMdast
423
- } from "./chunk-66QO7XFB.js";
436
+ } from "./chunk-ACZOVWX3.js";
424
437
  import {
425
438
  BLOCK_META_KEY_DESCRIPTORS,
426
439
  KNOWN_BLOCK_META_KEYS,
@@ -432,7 +445,7 @@ import {
432
445
  splitKeyValueToken,
433
446
  tokenizeAttrTokens,
434
447
  unquoteAttrValue
435
- } from "./chunk-R2YZTCLO.js";
448
+ } from "./chunk-ZQKZSJAX.js";
436
449
  import {
437
450
  ICONS,
438
451
  canonicalIconToken,
@@ -440,7 +453,7 @@ import {
440
453
  looksLikeIconToken,
441
454
  resolveIcon,
442
455
  suggestIcons
443
- } from "./chunk-DBS6RIFL.js";
456
+ } from "./chunk-7N4G32LG.js";
444
457
  import {
445
458
  countNodes,
446
459
  createDocument,
@@ -448,6 +461,7 @@ import {
448
461
  findNodesByType,
449
462
  formatBlockScalar,
450
463
  formatFrontmatterValue,
464
+ formatFrontmatterYaml,
451
465
  getChildren,
452
466
  inferDocumentTitle,
453
467
  parseFrontmatter,
@@ -457,7 +471,7 @@ import {
457
471
  setFrontmatterValues,
458
472
  stringifyHtmlNodes,
459
473
  walkMarkdownTree
460
- } from "./chunk-AMIR72JP.js";
474
+ } from "./chunk-BCCXTMN5.js";
461
475
  import {
462
476
  DEFAULT_TRANSITION_DURATION_SECONDS,
463
477
  TRANSITION_DIRECTIONS,
@@ -467,12 +481,12 @@ import {
467
481
  normalizeTransitionType,
468
482
  resolveBlockTransition,
469
483
  resolveTransitionDuration
470
- } from "./chunk-QE7TWGVT.js";
471
- import "./chunk-DNJKBAI7.js";
484
+ } from "./chunk-4VOD55SX.js";
485
+ import "./chunk-YZNGMV3G.js";
472
486
  import {
473
487
  estimateNarrationTime,
474
488
  estimateReadingTime
475
- } from "./chunk-4X3JQXNM.js";
489
+ } from "./chunk-XOFT65EX.js";
476
490
  import {
477
491
  DEFAULT_WORDS_PER_SECOND,
478
492
  calculatePrefixDuration,
@@ -480,12 +494,12 @@ import {
480
494
  estimateNarrationDuration,
481
495
  estimateSpokenWordCount,
482
496
  estimateTimeFromText
483
- } from "./chunk-3E5F2XMR.js";
484
- import "./chunk-V543AI2F.js";
497
+ } from "./chunk-67L6WRJN.js";
498
+ import "./chunk-QKPXHDLR.js";
485
499
  import {
486
500
  SeededRandom,
487
501
  hashString
488
- } from "./chunk-FVTQSNR7.js";
502
+ } from "./chunk-XRW6P7IF.js";
489
503
  export {
490
504
  ASCII_CHAR_H,
491
505
  ASCII_CHAR_W,
@@ -499,9 +513,13 @@ export {
499
513
  DEFAULT_ALIGN_CONFIG,
500
514
  DEFAULT_DOC_FONT,
501
515
  DEFAULT_FEATURE_CONFIG,
516
+ DEFAULT_INTERACTIVE_RESOURCE_POLICY,
502
517
  DEFAULT_LAYOUT,
518
+ DEFAULT_MARKDOWN_SAFETY_LIMITS,
503
519
  DEFAULT_NUCLEI_CONFIG,
504
520
  DEFAULT_PACING_CONFIG,
521
+ DEFAULT_RESOURCE_MAX_BYTES,
522
+ DEFAULT_RESOURCE_TIMEOUT_MS,
505
523
  DEFAULT_THEME,
506
524
  DEFAULT_THEME_ID,
507
525
  DEFAULT_TITLE_FONT,
@@ -525,8 +543,10 @@ export {
525
543
  ImageEditVersionManager,
526
544
  KNOWN_BLOCK_META_KEYS,
527
545
  LIGHT_SURFACE,
546
+ LOCAL_ONLY_RESOURCE_POLICY,
528
547
  LocalForageAdapter,
529
548
  LocalStorageAdapter,
549
+ MarkdownLimitError,
530
550
  MemoryContentContainer,
531
551
  MemoryStorageAdapter,
532
552
  PAGE_ACCENT_STRATEGIES,
@@ -549,6 +569,7 @@ export {
549
569
  PAGE_SECTION_SPACINGS,
550
570
  PAGE_SHADOWS,
551
571
  PATH_SHAPE_KINDS,
572
+ ResourcePolicyError,
552
573
  SHAPE_NAMES,
553
574
  STARTER_THEME,
554
575
  ScopedContentContainer,
@@ -580,6 +601,8 @@ export {
580
601
  asciiDiagramFromTemplateData,
581
602
  asciiDiagramToTemplateData,
582
603
  asciiTimelineToTemplateData,
604
+ assertMarkdownDocumentWithinLimits,
605
+ assertMarkdownSourceWithinLimits,
583
606
  assertTheme,
584
607
  bandpassRun,
585
608
  buildGoogleFontsUrl,
@@ -674,6 +697,7 @@ export {
674
697
  factCard,
675
698
  fallbackBlockLayers,
676
699
  featureStep,
700
+ fetchResourceBytes,
677
701
  findDocumentPath,
678
702
  findFirstList,
679
703
  findFirstTable,
@@ -684,6 +708,7 @@ export {
684
708
  fontStack,
685
709
  formatBlockScalar,
686
710
  formatFrontmatterValue,
711
+ formatFrontmatterYaml,
687
712
  formatVersionTimestamp,
688
713
  fromMdast,
689
714
  fullBleedQuote,
@@ -750,6 +775,8 @@ export {
750
775
  isHex,
751
776
  isPersistentLayerTemplate,
752
777
  isRepairableDiagram,
778
+ isResourceUrlAllowed,
779
+ isSafeConditionRegex,
753
780
  isShapeName,
754
781
  isTemplateBlock,
755
782
  isTemplatedPageBlock,
@@ -840,6 +867,7 @@ export {
840
867
  resolveFontFamily,
841
868
  resolveIcon,
842
869
  resolveJsonFormTheme,
870
+ resolveMarkdownSafetyLimits,
843
871
  resolveMediaSchedule,
844
872
  resolvePageBlock,
845
873
  resolvePageStyle,
@@ -917,4 +945,3 @@ export {
917
945
  writeCustomThemesToFrontmatter,
918
946
  writeImageEditDoc
919
947
  };
920
- //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import { b1 as Theme, aT as SurfaceScheme } from '../Doc-DynJleo-.js';
2
- import '../types-BwMPl2CB.js';
1
+ import { b1 as Theme, aT as SurfaceScheme } from '../Doc-BubIpWsp.js';
2
+ import '../types-CUNc9biN.js';
3
3
 
4
4
  /**
5
5
  * JSON Form types — Squisq's hint vocabulary layered on JSON Schema.
@@ -146,6 +146,13 @@ declare function arrayItemKind(schema: SquisqAnnotatedSchema): 'object' | 'primi
146
146
  * renderers call this on every render with fresh data.
147
147
  */
148
148
 
149
+ /**
150
+ * Reject regex features that cannot be evaluated with a predictable cost in
151
+ * JavaScript's backtracking engine. JSON Form conditions are intended for
152
+ * small validation-style matches, so a conservative false negative is safer
153
+ * than allowing authored schemas to freeze the render thread.
154
+ */
155
+ declare function isSafeConditionRegex(pattern: string): boolean;
149
156
  declare function evaluateWhen(when: SquisqWhen, rootData: unknown): boolean;
150
157
  /**
151
158
  * Resolve a `boolean | SquisqWhen` flag (used by `hidden`/`disabled`)
@@ -233,4 +240,4 @@ declare function buildJsonFormTokens(theme: Theme | undefined, surface: SurfaceS
233
240
  */
234
241
  declare function resolveJsonFormTheme(theme: Theme | undefined, surface: SurfaceScheme | undefined): Theme;
235
242
 
236
- export { type BuildJsonFormTokensOptions, type ControlKind, type InferSchemaOptions, type JsonFormValidationError, type JsonFormValidator, type SquisqAnnotatedSchema, type SquisqHints, type SquisqWhen, appendPointer, arrayItemKind, buildJsonFormTokens, chooseControl, escapePointerSegment, evaluateWhen, getByPointer, inferSchema, pointerSegments, primaryType, resolveFlag, resolveJsonFormTheme, resolveRef, setByPointer, toPointer };
243
+ export { type BuildJsonFormTokensOptions, type ControlKind, type InferSchemaOptions, type JsonFormValidationError, type JsonFormValidator, type SquisqAnnotatedSchema, type SquisqHints, type SquisqWhen, appendPointer, arrayItemKind, buildJsonFormTokens, chooseControl, escapePointerSegment, evaluateWhen, getByPointer, inferSchema, isSafeConditionRegex, pointerSegments, primaryType, resolveFlag, resolveJsonFormTheme, resolveRef, setByPointer, toPointer };
@@ -7,6 +7,7 @@ import {
7
7
  evaluateWhen,
8
8
  getByPointer,
9
9
  inferSchema,
10
+ isSafeConditionRegex,
10
11
  pointerSegments,
11
12
  primaryType,
12
13
  resolveFlag,
@@ -14,12 +15,12 @@ import {
14
15
  resolveRef,
15
16
  setByPointer,
16
17
  toPointer
17
- } from "../chunk-VYFRI7R6.js";
18
- import "../chunk-QUUPYOSP.js";
19
- import "../chunk-VWCJ2WXC.js";
20
- import "../chunk-JHZWYRSW.js";
21
- import "../chunk-5J4HKRJF.js";
22
- import "../chunk-QE7TWGVT.js";
18
+ } from "../chunk-32R2RZAO.js";
19
+ import "../chunk-CB45YGAM.js";
20
+ import "../chunk-2ZWIXGAC.js";
21
+ import "../chunk-C33GTPUZ.js";
22
+ import "../chunk-BAOV476U.js";
23
+ import "../chunk-4VOD55SX.js";
23
24
  export {
24
25
  appendPointer,
25
26
  arrayItemKind,
@@ -29,6 +30,7 @@ export {
29
30
  evaluateWhen,
30
31
  getByPointer,
31
32
  inferSchema,
33
+ isSafeConditionRegex,
32
34
  pointerSegments,
33
35
  primaryType,
34
36
  resolveFlag,
@@ -37,4 +39,3 @@ export {
37
39
  setByPointer,
38
40
  toPointer
39
41
  };
40
- //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
- import { V as ParseOptions, m as MarkdownDocument, W as StringifyOptions, H as HeadingAttributes, d as HtmlNode, I as MarkdownNode } from '../types-BwMPl2CB.js';
2
- export { a as HeadingTemplateAnnotation, b as HtmlComment, c as HtmlElement, e as HtmlText, M as MarkdownBlockNode, f as MarkdownBlockquote, g as MarkdownBreak, h as MarkdownCodeBlock, i as MarkdownContainerDirective, j as MarkdownDefinitionDescription, k as MarkdownDefinitionList, l as MarkdownDefinitionTerm, n as MarkdownEmphasis, o as MarkdownFootnoteDefinition, p as MarkdownFootnoteReference, q as MarkdownHeading, r as MarkdownHtmlBlock, s as MarkdownImage, t as MarkdownImageReference, u as MarkdownInlineCode, v as MarkdownInlineHtml, w as MarkdownInlineMath, x as MarkdownInlineNode, y as MarkdownLeafDirective, z as MarkdownLink, A as MarkdownLinkDefinition, B as MarkdownLinkReference, C as MarkdownList, E as MarkdownListItem, F as MarkdownMathBlock, G as MarkdownMention, J as MarkdownParagraph, K as MarkdownPoint, L as MarkdownSourcePosition, N as MarkdownStrikethrough, O as MarkdownStrong, P as MarkdownTable, Q as MarkdownTableCell, R as MarkdownTableRow, S as MarkdownText, T as MarkdownTextDirective, U as MarkdownThematicBreak } from '../types-BwMPl2CB.js';
3
- export { B as BLOCK_META_KEY_DESCRIPTORS, a as BlockMetaKeyDescriptor, K as KNOWN_BLOCK_META_KEYS, b as KnownBlockMetaKey, p as parseTimeSeconds } from '../annotationCoercion-Dr_DY9Hx.js';
1
+ import { Y as ParseOptions, n as MarkdownDocument, Z as StringifyOptions, H as HeadingAttributes, e as HtmlNode, K as MarkdownNode } from '../types-CUNc9biN.js';
2
+ export { D as DEFAULT_MARKDOWN_SAFETY_LIMITS, b as HeadingTemplateAnnotation, c as HtmlComment, d as HtmlElement, f as HtmlText, M as MarkdownBlockNode, g as MarkdownBlockquote, h as MarkdownBreak, i as MarkdownCodeBlock, j as MarkdownContainerDirective, k as MarkdownDefinitionDescription, l as MarkdownDefinitionList, m as MarkdownDefinitionTerm, o as MarkdownEmphasis, p as MarkdownFootnoteDefinition, q as MarkdownFootnoteReference, r as MarkdownHeading, s as MarkdownHtmlBlock, t as MarkdownImage, u as MarkdownImageReference, v as MarkdownInlineCode, w as MarkdownInlineHtml, x as MarkdownInlineMath, y as MarkdownInlineNode, z as MarkdownLeafDirective, A as MarkdownLimitError, B as MarkdownLink, C as MarkdownLinkDefinition, E as MarkdownLinkReference, F as MarkdownList, G as MarkdownListItem, I as MarkdownMathBlock, J as MarkdownMention, L as MarkdownParagraph, N as MarkdownPoint, O as MarkdownSafetyLimits, P as MarkdownSourcePosition, Q as MarkdownStrikethrough, R as MarkdownStrong, S as MarkdownTable, T as MarkdownTableCell, U as MarkdownTableRow, V as MarkdownText, W as MarkdownTextDirective, X as MarkdownThematicBreak, a3 as assertMarkdownDocumentWithinLimits, a4 as assertMarkdownSourceWithinLimits, a9 as resolveMarkdownSafetyLimits } from '../types-CUNc9biN.js';
3
+ export { B as BLOCK_META_KEY_DESCRIPTORS, a as BlockMetaKeyDescriptor, K as KNOWN_BLOCK_META_KEYS, b as KnownBlockMetaKey, p as parseTimeSeconds } from '../annotationCoercion-PtRQhk5V.js';
4
4
 
5
5
  /**
6
6
  * Markdown → JSON Parser
@@ -296,6 +296,59 @@ declare function sanitizeUrl(url: string | null | undefined, kind?: UrlKind, opt
296
296
  */
297
297
  declare function sanitizeHtmlNodes(nodes: HtmlNode[]): HtmlNode[];
298
298
 
299
+ /**
300
+ * Caller-owned policy for resources referenced by a document.
301
+ *
302
+ * The core package deliberately does not decide whether a document is trusted.
303
+ * Interactive hosts can keep the browser-compatible default, restrict remote
304
+ * hosts, or provide a local-only policy. Headless/server callers should use the
305
+ * local-only policy unless they have an explicit, audited allow-list.
306
+ */
307
+ interface ResourcePolicy {
308
+ /** Permit http(s) and protocol-relative URLs. Default: true. */
309
+ allowRemote?: boolean;
310
+ /** Permit relative and root-relative URLs. Default: true. */
311
+ allowRelative?: boolean;
312
+ /** Permit blob: URLs. Default: true. */
313
+ allowBlob?: boolean;
314
+ /** Permit image/audio/video data: URLs. Default: true. */
315
+ allowData?: boolean;
316
+ /** Exact hosts or `*.example.com` suffixes allowed for remote URLs. */
317
+ allowedHosts?: readonly string[];
318
+ /** Maximum bytes read by one bounded fetch. Default: 64 MiB. */
319
+ maxBytes?: number;
320
+ /** Maximum time for one bounded fetch. Default: 15 seconds. */
321
+ timeoutMs?: number;
322
+ }
323
+ declare const DEFAULT_RESOURCE_MAX_BYTES: number;
324
+ declare const DEFAULT_RESOURCE_TIMEOUT_MS = 15000;
325
+ declare const DEFAULT_INTERACTIVE_RESOURCE_POLICY: Readonly<Required<ResourcePolicy>>;
326
+ declare const LOCAL_ONLY_RESOURCE_POLICY: Readonly<Required<ResourcePolicy>>;
327
+ declare class ResourcePolicyError extends Error {
328
+ readonly code: 'RESOURCE_BLOCKED' | 'RESOURCE_TOO_LARGE' | 'RESOURCE_TIMEOUT';
329
+ constructor(code: ResourcePolicyError['code'], message: string);
330
+ }
331
+ interface FetchResourceBytesOptions {
332
+ policy?: ResourcePolicy;
333
+ signal?: AbortSignal;
334
+ /** Optional fetch implementation for tests or non-browser runtimes. */
335
+ fetch?: typeof globalThis.fetch;
336
+ /** Reject successful responses whose Content-Type does not match a prefix. */
337
+ contentTypePrefixes?: readonly string[];
338
+ }
339
+ interface FetchedResource {
340
+ bytes: Uint8Array;
341
+ contentType: string;
342
+ finalUrl: string;
343
+ }
344
+ /** Return whether a document resource URL is admitted by a policy. */
345
+ declare function isResourceUrlAllowed(input: string | null | undefined, policy?: ResourcePolicy): boolean;
346
+ /**
347
+ * Fetch a document-controlled resource without buffering unbounded data.
348
+ * Redirect destinations are revalidated after fetch follows them.
349
+ */
350
+ declare function fetchResourceBytes(input: string, options?: FetchResourceBytesOptions): Promise<FetchedResource>;
351
+
299
352
  /**
300
353
  * Markdown Tree Utilities
301
354
  *
@@ -360,9 +413,10 @@ declare function countNodes(node: MarkdownNode): number;
360
413
  /**
361
414
  * Parse a YAML frontmatter string into a key-value record.
362
415
  *
363
- * Handles simple `key: value` pairs common in markdown frontmatter.
364
- * Values are trimmed; quoted strings have their quotes removed.
365
- * Returns `null` if parsing fails or the input is empty.
416
+ * Handles the subset documented above: nested mappings, block sequences,
417
+ * quoted and block scalars, booleans/null, and conservatively-coerced
418
+ * numbers. Returns `null` when the input is empty or carries no mapping
419
+ * keys at all.
366
420
  *
367
421
  * @param yaml - The raw YAML string (without the `---` delimiters)
368
422
  * @returns A record of string keys to parsed values, or null
@@ -378,6 +432,15 @@ declare function parseFrontmatter(yaml: string): Record<string, unknown> | null;
378
432
  declare function formatBlockScalar(value: string): string;
379
433
  /** Quote a frontmatter scalar so it round-trips cleanly through `parseFrontmatter`. */
380
434
  declare function formatFrontmatterValue(value: string | number | boolean): string;
435
+ /**
436
+ * Serialize a frontmatter record to YAML (without the `---` delimiters).
437
+ *
438
+ * The write half of the round-trip pair documented above: nested objects
439
+ * become nested block mappings and arrays become block sequences, so
440
+ * structured frontmatter reads back as the same structure with the same
441
+ * types. Returns an empty string when nothing is writable.
442
+ */
443
+ declare function formatFrontmatterYaml(frontmatter: Record<string, unknown>): string;
381
444
  /**
382
445
  * Update a markdown source string's YAML frontmatter block, applying the
383
446
  * given key/value updates. A `null` or `undefined` value removes the key.
@@ -386,10 +449,11 @@ declare function formatFrontmatterValue(value: string | number | boolean): strin
386
449
  * exists, the source is returned unchanged.
387
450
  *
388
451
  * Existing key order is preserved; new keys are appended in the order
389
- * they appear in `updates`. The simple parser used here handles plain
390
- * `key: value` pairs only comments, multi-line scalars, and nested
391
- * structures are left untouched (we only rewrite lines whose key matches
392
- * one in `updates`).
452
+ * they appear in `updates`. Rewriting is **node-aware**: a key whose value
453
+ * is a block scalar or a nested map/sequence owns its indented body, so
454
+ * removing or replacing it takes the whole node with it, and body lines are
455
+ * never mistaken for top-level keys (an indented `name: X` inside another
456
+ * key's block scalar stays put even when `name` is being updated).
393
457
  *
394
458
  * @param source - The markdown source string.
395
459
  * @param updates - Map of key → new value (or null/undefined to remove).
@@ -435,4 +499,4 @@ declare function readFrontmatterThemeId(frontmatter: Record<string, unknown> | u
435
499
  */
436
500
  declare function plainTextFromInlineHtml(html: string): string;
437
501
 
438
- export { HeadingAttributes, HtmlNode, type HtmlPolicy, MarkdownDocument, MarkdownNode, ParseOptions, type SanitizeUrlOptions, StringifyOptions, type TrailingAnnotationMatch, type UrlKind, countNodes, createDocument, extractPlainText, findNodesByType, formatBlockScalar, formatFrontmatterValue, fromMdast, getChildren, inferDocumentTitle, matchTrailingPandocAttr, matchTrailingTemplateAnnotation, needsQuoting, parseFrontmatter, parseHtmlToNodes, parseMarkdown, parsePandocAttrTokens, plainTextFromInlineHtml, quoteAttrValue, readFrontmatterThemeId, sanitizeHtmlNodes, sanitizeUrl, serializePandocAttributes, setFrontmatterValues, splitKeyValueToken, stringifyHtmlNodes, stringifyMarkdown, toMdast, tokenizeAttrTokens, unquoteAttrValue, walkMarkdownTree };
502
+ export { DEFAULT_INTERACTIVE_RESOURCE_POLICY, DEFAULT_RESOURCE_MAX_BYTES, DEFAULT_RESOURCE_TIMEOUT_MS, type FetchResourceBytesOptions, type FetchedResource, HeadingAttributes, HtmlNode, type HtmlPolicy, LOCAL_ONLY_RESOURCE_POLICY, MarkdownDocument, MarkdownNode, ParseOptions, type ResourcePolicy, ResourcePolicyError, type SanitizeUrlOptions, StringifyOptions, type TrailingAnnotationMatch, type UrlKind, countNodes, createDocument, extractPlainText, fetchResourceBytes, findNodesByType, formatBlockScalar, formatFrontmatterValue, formatFrontmatterYaml, fromMdast, getChildren, inferDocumentTitle, isResourceUrlAllowed, matchTrailingPandocAttr, matchTrailingTemplateAnnotation, needsQuoting, parseFrontmatter, parseHtmlToNodes, parseMarkdown, parsePandocAttrTokens, plainTextFromInlineHtml, quoteAttrValue, readFrontmatterThemeId, sanitizeHtmlNodes, sanitizeUrl, serializePandocAttributes, setFrontmatterValues, splitKeyValueToken, stringifyHtmlNodes, stringifyMarkdown, toMdast, tokenizeAttrTokens, unquoteAttrValue, walkMarkdownTree };
@@ -1,15 +1,27 @@
1
1
  import {
2
+ DEFAULT_INTERACTIVE_RESOURCE_POLICY,
3
+ DEFAULT_RESOURCE_MAX_BYTES,
4
+ DEFAULT_RESOURCE_TIMEOUT_MS,
5
+ LOCAL_ONLY_RESOURCE_POLICY,
6
+ ResourcePolicyError,
7
+ fetchResourceBytes,
8
+ isResourceUrlAllowed,
2
9
  sanitizeHtmlNodes,
3
10
  sanitizeUrl,
4
11
  stringifyMarkdown
5
- } from "../chunk-R2GC6RLD.js";
12
+ } from "../chunk-3IGPAPQ7.js";
6
13
  import {
14
+ DEFAULT_MARKDOWN_SAFETY_LIMITS,
15
+ MarkdownLimitError,
16
+ assertMarkdownDocumentWithinLimits,
17
+ assertMarkdownSourceWithinLimits,
7
18
  fromMdast,
8
19
  parseMarkdown,
9
20
  parsePandocAttrTokens,
21
+ resolveMarkdownSafetyLimits,
10
22
  serializePandocAttributes,
11
23
  toMdast
12
- } from "../chunk-66QO7XFB.js";
24
+ } from "../chunk-ACZOVWX3.js";
13
25
  import {
14
26
  BLOCK_META_KEY_DESCRIPTORS,
15
27
  KNOWN_BLOCK_META_KEYS,
@@ -21,8 +33,8 @@ import {
21
33
  splitKeyValueToken,
22
34
  tokenizeAttrTokens,
23
35
  unquoteAttrValue
24
- } from "../chunk-R2YZTCLO.js";
25
- import "../chunk-DBS6RIFL.js";
36
+ } from "../chunk-ZQKZSJAX.js";
37
+ import "../chunk-7N4G32LG.js";
26
38
  import {
27
39
  countNodes,
28
40
  createDocument,
@@ -30,6 +42,7 @@ import {
30
42
  findNodesByType,
31
43
  formatBlockScalar,
32
44
  formatFrontmatterValue,
45
+ formatFrontmatterYaml,
33
46
  getChildren,
34
47
  inferDocumentTitle,
35
48
  parseFrontmatter,
@@ -39,20 +52,32 @@ import {
39
52
  setFrontmatterValues,
40
53
  stringifyHtmlNodes,
41
54
  walkMarkdownTree
42
- } from "../chunk-AMIR72JP.js";
43
- import "../chunk-QE7TWGVT.js";
55
+ } from "../chunk-BCCXTMN5.js";
56
+ import "../chunk-4VOD55SX.js";
44
57
  export {
45
58
  BLOCK_META_KEY_DESCRIPTORS,
59
+ DEFAULT_INTERACTIVE_RESOURCE_POLICY,
60
+ DEFAULT_MARKDOWN_SAFETY_LIMITS,
61
+ DEFAULT_RESOURCE_MAX_BYTES,
62
+ DEFAULT_RESOURCE_TIMEOUT_MS,
46
63
  KNOWN_BLOCK_META_KEYS,
64
+ LOCAL_ONLY_RESOURCE_POLICY,
65
+ MarkdownLimitError,
66
+ ResourcePolicyError,
67
+ assertMarkdownDocumentWithinLimits,
68
+ assertMarkdownSourceWithinLimits,
47
69
  countNodes,
48
70
  createDocument,
49
71
  extractPlainText,
72
+ fetchResourceBytes,
50
73
  findNodesByType,
51
74
  formatBlockScalar,
52
75
  formatFrontmatterValue,
76
+ formatFrontmatterYaml,
53
77
  fromMdast,
54
78
  getChildren,
55
79
  inferDocumentTitle,
80
+ isResourceUrlAllowed,
56
81
  matchTrailingPandocAttr,
57
82
  matchTrailingTemplateAnnotation,
58
83
  needsQuoting,
@@ -64,6 +89,7 @@ export {
64
89
  plainTextFromInlineHtml,
65
90
  quoteAttrValue,
66
91
  readFrontmatterThemeId,
92
+ resolveMarkdownSafetyLimits,
67
93
  sanitizeHtmlNodes,
68
94
  sanitizeUrl,
69
95
  serializePandocAttributes,
@@ -76,4 +102,3 @@ export {
76
102
  unquoteAttrValue,
77
103
  walkMarkdownTree
78
104
  };
79
- //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import { B as Block, at as PageSectionKind, ar as PageEmphasis, b3 as ThemeColorScheme, ap as PageBackground, b1 as Theme, bq as ViewportConfig, p as CustomTemplateDefinition, aR as StartBlockConfig, F as Doc, b4 as ThemePageStyle } from './Doc-DynJleo-.js';
2
- import { M as MarkdownBlockNode } from './types-BwMPl2CB.js';
1
+ import { B as Block, at as PageSectionKind, ar as PageEmphasis, b3 as ThemeColorScheme, ap as PageBackground, b1 as Theme, bq as ViewportConfig, p as CustomTemplateDefinition, aR as StartBlockConfig, F as Doc, b4 as ThemePageStyle } from './Doc-BubIpWsp.js';
2
+ import { M as MarkdownBlockNode } from './types-CUNc9biN.js';
3
3
 
4
4
  /**
5
5
  * PageSection — the framework-agnostic block model for Page (linear) mode.
@@ -1,5 +1,5 @@
1
- import { F as Doc, e as AudioBookmark } from '../Doc-DynJleo-.js';
2
- import '../types-BwMPl2CB.js';
1
+ import { F as Doc, e as AudioBookmark } from '../Doc-BubIpWsp.js';
2
+ import '../types-CUNc9biN.js';
3
3
 
4
4
  /**
5
5
  * Shared types + tuning configs for the narration engine.
@@ -175,6 +175,12 @@ interface PacingConfig {
175
175
  }
176
176
  declare const DEFAULT_PACING_CONFIG: PacingConfig;
177
177
  interface AlignConfig {
178
+ /** Maximum take duration accepted by the batch aligner. */
179
+ maxDurationSec: number;
180
+ /** Maximum PCM samples accepted by the batch aligner. */
181
+ maxPcmSamples: number;
182
+ /** Maximum script tokens accepted by the batch aligner. */
183
+ maxScriptTokens: number;
178
184
  /** Fine analysis hop for the offline pass (s). */
179
185
  hopSec: number;
180
186
  /** Non-speech runs at least this long become GAP events (s). */
@@ -549,6 +555,8 @@ interface AlignInput {
549
555
  script: NarrationScript;
550
556
  /** Live prompter trace recorded during the take, if any. */
551
557
  trace?: NarrationTrace;
558
+ /** Cancel before expensive alignment phases. */
559
+ signal?: AbortSignal;
552
560
  }
553
561
  declare function alignNarration(input: AlignInput, config?: Partial<AlignConfig>): NarrationAlignment;
554
562
 
@@ -592,7 +600,12 @@ interface NarrationTimingJsonV3 {
592
600
  /** Per-word timings: { id: `word-${i}`, time, charOffset, textFragment }. */
593
601
  bookmarks: AudioBookmark[];
594
602
  blocks: NarrationTimingBlock[];
595
- /** Start skew of the companion camera recording, when one exists. */
603
+ /**
604
+ * SIGNED start skew of the companion camera recording, when one exists:
605
+ * `cameraStart - audioStart`, in seconds. Negative when the camera pipeline
606
+ * began first — which is reachable, since the two `MediaRecorder`s report
607
+ * their start asynchronously and independently.
608
+ */
596
609
  cameraOffsetSec?: number;
597
610
  /** Provenance of the timing data. */
598
611
  generator?: {