@laminapdf/sdk 0.2.0-alpha.3 → 0.2.0-alpha.5

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 (421) hide show
  1. package/README.md +21 -1
  2. package/dist/api.d.ts +5 -2
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +1 -0
  5. package/dist/api.js.map +1 -1
  6. package/dist/builder.d.ts +8 -3
  7. package/dist/builder.d.ts.map +1 -1
  8. package/dist/builder.js +8 -3
  9. package/dist/builder.js.map +1 -1
  10. package/dist/document.d.ts +78 -1
  11. package/dist/document.d.ts.map +1 -1
  12. package/dist/document.js +112 -0
  13. package/dist/document.js.map +1 -1
  14. package/dist/extract-job.d.ts +100 -0
  15. package/dist/extract-job.d.ts.map +1 -0
  16. package/dist/extract-job.js +177 -0
  17. package/dist/extract-job.js.map +1 -0
  18. package/dist/extract.d.ts +1 -1
  19. package/dist/extract.d.ts.map +1 -1
  20. package/dist/extract.js.map +1 -1
  21. package/dist/generated/builder-enums.d.ts +3 -3
  22. package/dist/generated/builder-enums.d.ts.map +1 -1
  23. package/dist/generated/builder-enums.js +10 -0
  24. package/dist/generated/builder-enums.js.map +1 -1
  25. package/dist/generated/codes.d.ts +2 -2
  26. package/dist/generated/codes.d.ts.map +1 -1
  27. package/dist/generated/codes.js +55 -1
  28. package/dist/generated/codes.js.map +1 -1
  29. package/dist/generated/explain.d.ts.map +1 -1
  30. package/dist/generated/explain.js +19 -2
  31. package/dist/generated/explain.js.map +1 -1
  32. package/dist/generated/extract.d.ts +50 -3
  33. package/dist/generated/extract.d.ts.map +1 -1
  34. package/dist/reflow.d.ts +88 -0
  35. package/dist/reflow.d.ts.map +1 -0
  36. package/dist/reflow.js +4 -0
  37. package/dist/reflow.js.map +1 -0
  38. package/dist/source/http.d.ts +1 -1
  39. package/dist/source/http.js +1 -1
  40. package/dist/types.d.ts +35 -1
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/version.d.ts +1 -1
  43. package/dist/version.js +1 -1
  44. package/dist/worker/support.d.ts +10 -1
  45. package/dist/worker/support.d.ts.map +1 -1
  46. package/dist/worker/support.js +7 -0
  47. package/dist/worker/support.js.map +1 -1
  48. package/docs/AGENTS.md +1 -1
  49. package/docs/api/README.md +29 -1
  50. package/docs/api/classes/Builder.md +1 -1
  51. package/docs/api/classes/Document.md +186 -1
  52. package/docs/api/classes/ExtractJob.md +236 -0
  53. package/docs/api/classes/Font.md +1 -1
  54. package/docs/api/classes/Image.md +1 -1
  55. package/docs/api/classes/LaminaPdfError.md +1 -1
  56. package/docs/api/classes/Page.md +1 -1
  57. package/docs/api/classes/PageRef.md +1 -1
  58. package/docs/api/classes/PageText.md +1 -1
  59. package/docs/api/classes/PageTextRun.md +1 -1
  60. package/docs/api/classes/PendingPath.md +1 -1
  61. package/docs/api/classes/SaveJob.md +1 -1
  62. package/docs/api/classes/Surface.md +10 -5
  63. package/docs/api/classes/Transaction.md +1 -1
  64. package/docs/api/functions/callbackSource.md +1 -1
  65. package/docs/api/functions/extractWithModels.md +70 -0
  66. package/docs/api/functions/httpRangeSource.md +2 -2
  67. package/docs/api/functions/init.md +1 -1
  68. package/docs/api/functions/isExtractLoaded.md +1 -1
  69. package/docs/api/functions/isInitialized.md +1 -1
  70. package/docs/api/functions/isLaminaPdfError.md +1 -1
  71. package/docs/api/functions/isTextLoaded.md +1 -1
  72. package/docs/api/functions/loadExtract.md +1 -1
  73. package/docs/api/functions/loadText.md +1 -1
  74. package/docs/api/functions/onLeak.md +1 -1
  75. package/docs/api/functions/reset.md +1 -1
  76. package/docs/api/functions/wasmMemory.md +1 -1
  77. package/docs/api/interfaces/BuilderOptions.md +1 -1
  78. package/docs/api/interfaces/ByteRange.md +1 -1
  79. package/docs/api/interfaces/ChunkOptions.md +1 -1
  80. package/docs/api/interfaces/Diagnostic.md +1 -1
  81. package/docs/api/interfaces/ExtractOptions.md +1 -1
  82. package/docs/api/interfaces/ExtractResult.md +1 -1
  83. package/docs/api/interfaces/FontInfo.md +1 -1
  84. package/docs/api/interfaces/HostModels.md +57 -0
  85. package/docs/api/interfaces/HttpRangeOptions.md +1 -1
  86. package/docs/api/interfaces/InitOptions.md +1 -1
  87. package/docs/api/interfaces/LayoutRegion.md +38 -0
  88. package/docs/api/interfaces/Leak.md +1 -1
  89. package/docs/api/interfaces/Location.md +1 -1
  90. package/docs/api/interfaces/ModelInfo.md +45 -0
  91. package/docs/api/interfaces/ModelRequest.md +45 -0
  92. package/docs/api/interfaces/Models.md +45 -0
  93. package/docs/api/interfaces/OcrWord.md +37 -0
  94. package/docs/api/interfaces/OpLog.md +1 -1
  95. package/docs/api/interfaces/OpenOptions.md +1 -1
  96. package/docs/api/interfaces/PageTextOptions.md +1 -1
  97. package/docs/api/interfaces/PathBuilder.md +1 -1
  98. package/docs/api/interfaces/QuadPoint.md +1 -1
  99. package/docs/api/interfaces/RangeOptions.md +1 -1
  100. package/docs/api/interfaces/RangeSource.md +1 -1
  101. package/docs/api/interfaces/Reflow.md +61 -0
  102. package/docs/api/interfaces/ReflowChecks.md +69 -0
  103. package/docs/api/interfaces/StrokeStyle.md +1 -1
  104. package/docs/api/interfaces/TagSpec.md +3 -3
  105. package/docs/api/interfaces/TextBoxOptions.md +1 -1
  106. package/docs/api/interfaces/TextGlyph.md +1 -1
  107. package/docs/api/interfaces/TextOptions.md +1 -1
  108. package/docs/api/interfaces/WasmMemory.md +1 -1
  109. package/docs/api/type-aliases/AfRelationship.md +1 -1
  110. package/docs/api/type-aliases/Align.md +1 -1
  111. package/docs/api/type-aliases/ArtifactKind.md +2 -2
  112. package/docs/api/type-aliases/AttachmentOptions.md +1 -1
  113. package/docs/api/type-aliases/BlendMode.md +1 -1
  114. package/docs/api/type-aliases/BoxRect.md +1 -1
  115. package/docs/api/type-aliases/BuildOptions.md +1 -1
  116. package/docs/api/type-aliases/Cell.md +1 -1
  117. package/docs/api/type-aliases/Chunk.md +1 -1
  118. package/docs/api/type-aliases/Color.md +1 -1
  119. package/docs/api/type-aliases/Coordinates.md +1 -1
  120. package/docs/api/type-aliases/Direction.md +1 -1
  121. package/docs/api/type-aliases/DocumentInfo.md +1 -1
  122. package/docs/api/type-aliases/DocumentProperties.md +18 -0
  123. package/docs/api/type-aliases/DropReason.md +2 -2
  124. package/docs/api/type-aliases/Dropped.md +1 -1
  125. package/docs/api/type-aliases/Edited.md +1 -1
  126. package/docs/api/type-aliases/ErrorCode.md +2 -2
  127. package/docs/api/type-aliases/ErrorKind.md +1 -1
  128. package/docs/api/type-aliases/ExtractFormat.md +1 -1
  129. package/docs/api/type-aliases/ExtractJobOptions.md +31 -0
  130. package/docs/api/type-aliases/ExtractStep.md +61 -0
  131. package/docs/api/type-aliases/ExtractedBlock.md +13 -1
  132. package/docs/api/type-aliases/ExtractedPage.md +9 -1
  133. package/docs/api/type-aliases/ExtractedSource.md +1 -1
  134. package/docs/api/type-aliases/Extraction.md +1 -1
  135. package/docs/api/type-aliases/FillRule.md +1 -1
  136. package/docs/api/type-aliases/Fit.md +1 -1
  137. package/docs/api/type-aliases/Flags.md +1 -1
  138. package/docs/api/type-aliases/Generator.md +5 -3
  139. package/docs/api/type-aliases/GlyphQuad.md +1 -1
  140. package/docs/api/type-aliases/InfoPatch.md +1 -1
  141. package/docs/api/type-aliases/LaminaPdfWarning.md +1 -1
  142. package/docs/api/type-aliases/LimitName.md +1 -1
  143. package/docs/api/type-aliases/Limits.md +1 -1
  144. package/docs/api/type-aliases/LineBox.md +1 -1
  145. package/docs/api/type-aliases/LineCap.md +1 -1
  146. package/docs/api/type-aliases/LineJoin.md +1 -1
  147. package/docs/api/type-aliases/LinkTarget.md +1 -1
  148. package/docs/api/type-aliases/Metadata.md +1 -1
  149. package/docs/api/type-aliases/ModelResult.md +15 -0
  150. package/docs/api/type-aliases/Op.md +1 -1
  151. package/docs/api/type-aliases/OutlineEntry.md +1 -1
  152. package/docs/api/type-aliases/OutlineNode.md +15 -0
  153. package/docs/api/type-aliases/Overflow.md +1 -1
  154. package/docs/api/type-aliases/PageImageReason.md +15 -0
  155. package/docs/api/type-aliases/PageInfo.md +1 -1
  156. package/docs/api/type-aliases/PageLabel.md +1 -1
  157. package/docs/api/type-aliases/PageLink.md +20 -0
  158. package/docs/api/type-aliases/PageSizeName.md +1 -1
  159. package/docs/api/type-aliases/Point.md +1 -1
  160. package/docs/api/type-aliases/Profile.md +1 -1
  161. package/docs/api/type-aliases/Progress.md +1 -1
  162. package/docs/api/type-aliases/ReadingOrder.md +1 -1
  163. package/docs/api/type-aliases/Rect.md +1 -1
  164. package/docs/api/type-aliases/ReflowBlock.md +44 -0
  165. package/docs/api/type-aliases/ReflowKind.md +15 -0
  166. package/docs/api/type-aliases/ReflowRefusal.md +16 -0
  167. package/docs/api/type-aliases/ReflowSource.md +15 -0
  168. package/docs/api/type-aliases/Region.md +1 -1
  169. package/docs/api/type-aliases/RegionLabel.md +15 -0
  170. package/docs/api/type-aliases/RenderMode.md +1 -1
  171. package/docs/api/type-aliases/Rotation.md +1 -1
  172. package/docs/api/type-aliases/SaveOptions.md +1 -1
  173. package/docs/api/type-aliases/SaveReport.md +1 -1
  174. package/docs/api/type-aliases/Span.md +12 -1
  175. package/docs/api/type-aliases/SplitOn.md +1 -1
  176. package/docs/api/type-aliases/Standard14.md +1 -1
  177. package/docs/api/type-aliases/StructRef.md +1 -1
  178. package/docs/api/type-aliases/StructSource.md +1 -1
  179. package/docs/api/type-aliases/StructureKid.md +15 -0
  180. package/docs/api/type-aliases/StructureNode.md +16 -0
  181. package/docs/api/type-aliases/TableDetector.md +1 -1
  182. package/docs/api/type-aliases/TableMode.md +1 -1
  183. package/docs/api/type-aliases/TableScope.md +1 -1
  184. package/docs/api/type-aliases/Tag.md +1 -1
  185. package/docs/api/type-aliases/TagName.md +1 -1
  186. package/docs/api/type-aliases/Target.md +15 -0
  187. package/docs/api/type-aliases/TargetView.md +18 -0
  188. package/docs/api/type-aliases/TextLayer.md +72 -0
  189. package/docs/api/type-aliases/TextLayerStatus.md +15 -0
  190. package/docs/api/type-aliases/TextLayout.md +1 -1
  191. package/docs/api/type-aliases/TextRange.md +1 -1
  192. package/docs/api/type-aliases/TextRunInfo.md +1 -1
  193. package/docs/api/type-aliases/Transform.md +1 -1
  194. package/docs/api/type-aliases/UndoOutcome.md +1 -1
  195. package/docs/api/type-aliases/ViewerPreferences.md +1 -1
  196. package/docs/api/type-aliases/WarningCode.md +2 -2
  197. package/docs/api/type-aliases/WasmSource.md +1 -1
  198. package/docs/api/variables/Matrix.md +1 -1
  199. package/docs/api/variables/PAGE_SIZES.md +1 -1
  200. package/docs/api/variables/TAG_NAMES.md +2 -2
  201. package/docs/errors/README.md +18 -1
  202. package/docs/errors/aes-padding-invalid.md +1 -1
  203. package/docs/errors/already-initialized.md +1 -1
  204. package/docs/errors/binary-output-to-terminal.md +1 -1
  205. package/docs/errors/builder-finished.md +1 -1
  206. package/docs/errors/cancelled.md +1 -1
  207. package/docs/errors/cmap-invalid.md +1 -1
  208. package/docs/errors/collection-index.md +1 -1
  209. package/docs/errors/color-components.md +1 -1
  210. package/docs/errors/content-bad-operands.md +1 -1
  211. package/docs/errors/content-path-unpainted.md +1 -1
  212. package/docs/errors/content-resource-missing.md +1 -1
  213. package/docs/errors/content-syntax.md +1 -1
  214. package/docs/errors/content-unbalanced-bt.md +1 -1
  215. package/docs/errors/content-unbalanced-marked.md +1 -1
  216. package/docs/errors/content-unbalanced-q.md +1 -1
  217. package/docs/errors/content-unknown-operator.md +1 -1
  218. package/docs/errors/covered-text.md +33 -0
  219. package/docs/errors/data-pending.md +1 -1
  220. package/docs/errors/decompress.md +1 -1
  221. package/docs/errors/device-color-without-output-intent.md +1 -1
  222. package/docs/errors/direct-page.md +1 -1
  223. package/docs/errors/disposed.md +1 -1
  224. package/docs/errors/document-changed.md +1 -1
  225. package/docs/errors/embedded-file-forbidden.md +1 -1
  226. package/docs/errors/embedded-file-without-mime-type.md +1 -1
  227. package/docs/errors/encoding-full.md +1 -1
  228. package/docs/errors/encrypted-base.md +1 -1
  229. package/docs/errors/extract-column-order-uncertain.md +38 -0
  230. package/docs/errors/extract-limit-blocks.md +1 -1
  231. package/docs/errors/extract-module-not-loaded.md +1 -1
  232. package/docs/errors/extract-needs-ocr.md +37 -0
  233. package/docs/errors/extract-reading-order-ambiguous.md +1 -1
  234. package/docs/errors/extract-struct-tree-ignored.md +1 -1
  235. package/docs/errors/extract-table-ambiguous.md +1 -1
  236. package/docs/errors/extract-table-limit.md +1 -1
  237. package/docs/errors/extract-untagged-content.md +1 -1
  238. package/docs/errors/fetch-failed.md +3 -3
  239. package/docs/errors/flate-truncated.md +1 -1
  240. package/docs/errors/flow-content-too-large.md +34 -0
  241. package/docs/errors/flow-keep-broken.md +34 -0
  242. package/docs/errors/flow-layout-unstable.md +38 -0
  243. package/docs/errors/font-invalid.md +1 -1
  244. package/docs/errors/font-mismatch.md +1 -1
  245. package/docs/errors/font-not-embeddable.md +1 -1
  246. package/docs/errors/font-not-embedded.md +1 -1
  247. package/docs/errors/font-not-shapable.md +1 -1
  248. package/docs/errors/glyph-out-of-range.md +1 -1
  249. package/docs/errors/glyph-without-unicode.md +7 -5
  250. package/docs/errors/heading-level-skipped.md +1 -1
  251. package/docs/errors/image-data-length.md +1 -1
  252. package/docs/errors/image-too-large.md +1 -1
  253. package/docs/errors/inline-image-unterminated.md +1 -1
  254. package/docs/errors/input-unreadable.md +1 -1
  255. package/docs/errors/instance-reset.md +1 -1
  256. package/docs/errors/invalid-argument.md +1 -1
  257. package/docs/errors/invalid-axis-value.md +1 -1
  258. package/docs/errors/invalid-box.md +1 -1
  259. package/docs/errors/invalid-color.md +1 -1
  260. package/docs/errors/invalid-command-line.md +1 -1
  261. package/docs/errors/invalid-date.md +1 -1
  262. package/docs/errors/invalid-entry.md +1 -1
  263. package/docs/errors/invalid-feature.md +1 -1
  264. package/docs/errors/invalid-font.md +1 -1
  265. package/docs/errors/invalid-geometry.md +1 -1
  266. package/docs/errors/invalid-icc-profile.md +1 -1
  267. package/docs/errors/invalid-image.md +1 -1
  268. package/docs/errors/invalid-op-log.md +1 -1
  269. package/docs/errors/invalid-page-label.md +1 -1
  270. package/docs/errors/invalid-page-labels.md +1 -1
  271. package/docs/errors/invalid-page-range.md +1 -1
  272. package/docs/errors/invalid-rotate.md +1 -1
  273. package/docs/errors/invalid-spans.md +39 -0
  274. package/docs/errors/invalid-structure-nesting.md +1 -1
  275. package/docs/errors/invalid-structure.md +1 -1
  276. package/docs/errors/invalid-text-range.md +1 -1
  277. package/docs/errors/job-finished.md +1 -1
  278. package/docs/errors/limit-exceeded.md +1 -1
  279. package/docs/errors/link-without-contents.md +1 -1
  280. package/docs/errors/link-without-structure.md +1 -1
  281. package/docs/errors/markdown-html-ignored.md +33 -0
  282. package/docs/errors/markdown-image-missing.md +34 -0
  283. package/docs/errors/missing-alt-text.md +1 -1
  284. package/docs/errors/missing-glyph.md +1 -1
  285. package/docs/errors/missing-header.md +1 -1
  286. package/docs/errors/missing-lang.md +1 -1
  287. package/docs/errors/missing-root.md +1 -1
  288. package/docs/errors/missing-title.md +1 -1
  289. package/docs/errors/model-failed.md +33 -0
  290. package/docs/errors/model-needs-host.md +40 -0
  291. package/docs/errors/model-result-unexpected.md +36 -0
  292. package/docs/errors/name-tree-node-skipped.md +1 -1
  293. package/docs/errors/nested-transaction.md +1 -1
  294. package/docs/errors/no-pending-save.md +1 -1
  295. package/docs/errors/no-transaction.md +1 -1
  296. package/docs/errors/not-initialized.md +1 -1
  297. package/docs/errors/not-pdf.md +1 -1
  298. package/docs/errors/not-rebased.md +1 -1
  299. package/docs/errors/object-number-out-of-range.md +1 -1
  300. package/docs/errors/objstm-index-mismatch.md +1 -1
  301. package/docs/errors/out-of-memory.md +1 -1
  302. package/docs/errors/outline-cycle.md +1 -1
  303. package/docs/errors/outline-item-skipped.md +1 -1
  304. package/docs/errors/output-unwritable.md +1 -1
  305. package/docs/errors/overwrite-refused.md +1 -1
  306. package/docs/errors/page-count-mismatch.md +1 -1
  307. package/docs/errors/page-index-out-of-range.md +1 -1
  308. package/docs/errors/page-tree-node-skipped.md +1 -1
  309. package/docs/errors/password-required.md +1 -1
  310. package/docs/errors/path-outside-roots.md +1 -1
  311. package/docs/errors/perms-mismatch.md +1 -1
  312. package/docs/errors/profile-version-conflict.md +1 -1
  313. package/docs/errors/redaction-not-applied.md +32 -0
  314. package/docs/errors/reference-cycle.md +1 -1
  315. package/docs/errors/render-backend-unavailable.md +1 -1
  316. package/docs/errors/render-failed.md +1 -1
  317. package/docs/errors/render-too-large.md +1 -1
  318. package/docs/errors/repaired-base.md +1 -1
  319. package/docs/errors/requires-rewrite.md +1 -1
  320. package/docs/errors/revision-index-out-of-range.md +34 -0
  321. package/docs/errors/saved-not-rebased.md +1 -1
  322. package/docs/errors/sink-not-empty.md +1 -1
  323. package/docs/errors/sink.md +1 -1
  324. package/docs/errors/source-budget-exceeded.md +1 -1
  325. package/docs/errors/source-changed.md +1 -1
  326. package/docs/errors/source.md +1 -1
  327. package/docs/errors/stale-generation.md +1 -1
  328. package/docs/errors/stream-length-recovered.md +1 -1
  329. package/docs/errors/strict.md +1 -1
  330. package/docs/errors/subset-failed.md +1 -1
  331. package/docs/errors/syntax.md +1 -1
  332. package/docs/errors/tag-element-not-open.md +41 -0
  333. package/docs/errors/tag-element-unclosed.md +34 -0
  334. package/docs/errors/text-in-earlier-revision.md +36 -0
  335. package/docs/errors/text-module-not-loaded.md +1 -1
  336. package/docs/errors/text-overflow.md +1 -1
  337. package/docs/errors/tounicode-conflict.md +1 -1
  338. package/docs/errors/type.md +1 -1
  339. package/docs/errors/unexpected-eof.md +1 -1
  340. package/docs/errors/unknown-axis.md +1 -1
  341. package/docs/errors/unknown-code.md +1 -1
  342. package/docs/errors/unknown-destination.md +1 -1
  343. package/docs/errors/unknown-font.md +1 -1
  344. package/docs/errors/unknown-option.md +1 -1
  345. package/docs/errors/unknown-page.md +1 -1
  346. package/docs/errors/unmapped-glyph.md +1 -1
  347. package/docs/errors/unnumbered-heading-misused.md +1 -1
  348. package/docs/errors/unset-object.md +1 -1
  349. package/docs/errors/unsupported-filter.md +1 -1
  350. package/docs/errors/unsupported-image.md +1 -1
  351. package/docs/errors/unsupported-layout-option.md +1 -1
  352. package/docs/errors/unsupported-security-handler.md +1 -1
  353. package/docs/errors/unsupported-version.md +1 -1
  354. package/docs/errors/untagged-content.md +1 -1
  355. package/docs/errors/warnings-truncated.md +1 -1
  356. package/docs/errors/wasm-trap.md +1 -1
  357. package/docs/errors/whole-font-rebuilt.md +1 -1
  358. package/docs/errors/worker-crashed.md +1 -1
  359. package/docs/errors/worker-failed.md +1 -1
  360. package/docs/errors/worker-version-mismatch.md +1 -1
  361. package/docs/errors/would-invalidate-signatures.md +1 -1
  362. package/docs/errors/wrong-document.md +1 -1
  363. package/docs/errors/wrong-password.md +1 -1
  364. package/docs/errors/xobject-cycle.md +1 -1
  365. package/docs/errors/xref-repaired.md +1 -1
  366. package/docs/errors/xrefstm-ignored.md +1 -1
  367. package/docs/llms.txt +7 -1
  368. package/docs/pages/concepts/dependencies.md +2 -2
  369. package/docs/pages/concepts/drawing-pages.md +76 -0
  370. package/docs/pages/concepts/errors-and-warnings.md +6 -2
  371. package/docs/pages/concepts/how-lamina-thinks.md +13 -1
  372. package/docs/pages/concepts/pages-and-coordinates.md +9 -1
  373. package/docs/pages/guides/accessible-pdfs.md +3 -1
  374. package/docs/pages/guides/archival-pdfs.md +5 -1
  375. package/docs/pages/guides/edit-a-pdf.md +8 -2
  376. package/docs/pages/guides/flowing-pages.md +379 -0
  377. package/docs/pages/guides/fonts-and-text.md +3 -1
  378. package/docs/pages/guides/images-and-vectors.md +3 -1
  379. package/docs/pages/guides/keep-the-page-responsive.md +8 -4
  380. package/docs/pages/guides/links-outlines-and-metadata.md +3 -1
  381. package/docs/pages/guides/open-large-files.md +69 -0
  382. package/docs/pages/guides/password-protected-files.md +1 -1
  383. package/docs/pages/guides/save-a-pdf.md +12 -2
  384. package/docs/pages/guides/test-generated-pdfs.md +324 -0
  385. package/docs/pages/guides/untrusted-files.md +3 -1
  386. package/docs/pages/index.md +2 -2
  387. package/docs/pages/install.md +9 -5
  388. package/docs/pages/quick-start/browser.md +5 -1
  389. package/docs/pages/quick-start/bun.md +5 -1
  390. package/docs/pages/quick-start/deno.md +5 -1
  391. package/docs/pages/quick-start/node.md +5 -1
  392. package/docs/pages/quick-start/rust.md +6 -2
  393. package/docs/pages/quick-start/workers.md +2 -2
  394. package/docs/pages/recipes/cloudflare-worker.md +1 -1
  395. package/docs/pages/recipes/element-flow.md +248 -0
  396. package/docs/pages/recipes/extract-markdown.md +44 -6
  397. package/docs/pages/recipes/generate-then-edit.md +13 -6
  398. package/docs/pages/recipes/hello.md +13 -6
  399. package/docs/pages/recipes/images-and-vectors.md +13 -6
  400. package/docs/pages/recipes/invoice.md +13 -6
  401. package/docs/pages/recipes/links-and-outlines.md +13 -6
  402. package/docs/pages/recipes/multilingual.md +13 -6
  403. package/docs/pages/recipes/open-untrusted.md +1 -1
  404. package/docs/pages/recipes/pdf-a-archive.md +13 -6
  405. package/docs/pages/recipes/pdf-a3-invoice-with-xml.md +13 -6
  406. package/docs/pages/recipes/pdf-ua-report.md +13 -6
  407. package/docs/pages/recipes/report.md +2 -2
  408. package/docs/pages/recipes/web-worker-client.md +1 -1
  409. package/docs/pages/recipes.md +3 -2
  410. package/docs/pages/reference/benchmarks.md +93 -0
  411. package/docs/pages/reference/changelog.md +77 -1
  412. package/docs/pages/reference/codes.md +1 -1
  413. package/docs/pages/reference/glossary.md +1 -1
  414. package/docs/pages/reference/rust.md +11 -11
  415. package/docs/pages/reference/stability.md +3 -3
  416. package/docs/pages/start/coding-agents.md +1 -1
  417. package/docs/pages/start/first-pdf.md +6 -2
  418. package/docs/pages/troubleshooting.md +1 -1
  419. package/docs/schemas/error.schema.json +18 -1
  420. package/package.json +5 -3
  421. package/schemas/error.schema.json +18 -1
@@ -0,0 +1,100 @@
1
+ import type { RegionInit as LayoutRegion, ModelInfoInit as ModelInfo, ModelRequestJs as ModelRequest, ModelsInit as Models, WordInit as OcrWord, RegionLabelName as RegionLabel, WasmExtractJob } from "@laminapdf/wasm/extract";
2
+ import type { Document } from "./document.js";
3
+ import type { ExtractFormat, ExtractOptions, ExtractResult } from "./extract.js";
4
+ import type { BaseGlue } from "./init.js";
5
+ import { Handle } from "./internal/handle.js";
6
+ import type { Instance } from "./internal/instance.js";
7
+ export type { LayoutRegion, ModelInfo, ModelRequest, Models, OcrWord, RegionLabel };
8
+ /** Options for {@link Document.extractJob}: {@link ExtractOptions} and the models the host runs. */
9
+ export type ExtractJobOptions<F extends ExtractFormat = ExtractFormat> = ExtractOptions<F> & {
10
+ /**
11
+ * The models the host runs, each named as the output's `generator.models` records it: a
12
+ * `layout` model is asked for every page's regions, an `ocr` engine for the pages with no
13
+ * visible text. `dpi` (150 by default) is the resolution pages are asked for at.
14
+ */
15
+ readonly models?: Models;
16
+ };
17
+ /** What {@link ExtractJob.step} returns. */
18
+ export type ExtractStep<F extends ExtractFormat> = {
19
+ readonly state: "progress";
20
+ /** Pages done. */
21
+ readonly done: number;
22
+ /** Pages asked for. */
23
+ readonly total?: number;
24
+ /** `"extract"`, or `"model"` while {@link request} is set. */
25
+ readonly phase: string;
26
+ /** The model result the job waits for: answer it with {@link ExtractJob.provide}. */
27
+ readonly request?: ModelRequest;
28
+ } | {
29
+ readonly state: "done";
30
+ readonly output: ExtractResult[F];
31
+ };
32
+ /** A model's result for {@link ExtractJob.provide}, boxes as `[x, y, width, height]` in top-left points. */
33
+ export type ModelResult = {
34
+ readonly kind: "layout";
35
+ readonly regions: readonly LayoutRegion[];
36
+ } | {
37
+ readonly kind: "ocr";
38
+ readonly words: readonly OcrWord[];
39
+ };
40
+ /**
41
+ * An extraction in progress, from {@link Document.extractJob}. It holds WebAssembly memory and is
42
+ * freed with its document, or earlier with `free()` or `using`.
43
+ */
44
+ export declare class ExtractJob<F extends ExtractFormat = ExtractFormat> extends Handle<BaseGlue> {
45
+ #private;
46
+ /** @internal */
47
+ constructor(job: WasmExtractJob, format: F, doc: Document, instance: Instance<BaseGlue>);
48
+ /**
49
+ * Extracts up to `budget` pages. While a model's result is awaited, the step returns
50
+ * `{ state: "progress", phase: "model", request }` and does nothing more until
51
+ * {@link provide} answers it.
52
+ *
53
+ * @returns progress, or `{ state: "done", output }` with the output in the job's format.
54
+ * @throws {@link LaminaPdfError} `cancelled`, `document-changed`, `job-finished`, the reading errors.
55
+ */
56
+ step(budget?: number): ExtractStep<F>;
57
+ /**
58
+ * Hands the job the result of its open request.
59
+ *
60
+ * @throws {@link LaminaPdfError} `model-result-unexpected` when nothing was asked for or `result`
61
+ * is the other model's; `invalid-argument` / `unknown-option` for a malformed result.
62
+ */
63
+ provide(result: ModelResult): void;
64
+ /** Stops the job: its next step fails with `cancelled`. */
65
+ cancel(): void;
66
+ protected release(): void;
67
+ }
68
+ /** The host's models for {@link extractWithModels}: each renders the page it is asked for and runs. */
69
+ export interface HostModels {
70
+ /** A layout model's regions on `request.page`, rendered at `request.dpi`. */
71
+ readonly layout?: (request: ModelRequest, signal: AbortSignal | undefined) => Promise<readonly LayoutRegion[]>;
72
+ /** An OCR engine's words on `request.page`, rendered at `request.dpi`, in `request.langs`. */
73
+ readonly ocr?: (request: ModelRequest, signal: AbortSignal | undefined) => Promise<readonly OcrWord[]>;
74
+ }
75
+ /**
76
+ * Runs an extraction whose models the host runs asynchronously: steps a job, and for each
77
+ * request awaits the matching function of `models`, then hands its result back.
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const json = await extractWithModels(
82
+ * doc,
83
+ * { format: "json", models: { layout: { name: "my-layout", version: "1", sha256, licence: "Apache-2.0" } } },
84
+ * { layout: async ({ page, dpi }) => myModel.detect(await render(page, dpi)) },
85
+ * );
86
+ * ```
87
+ * On a document opened with `Document.openRange`, a step that needs bytes not yet fetched ends
88
+ * the job with `data-pending`, as every error ends a job; fetch the file first (`await
89
+ * doc.ensure(() => doc.pages)` reads only the page tree, so read the whole file for a long
90
+ * extraction), or wrap the call in `doc.ensure`, which runs it again, models included.
91
+ *
92
+ * @throws {@link LaminaPdfError} as {@link ExtractJob.step}; `invalid-argument` when
93
+ * `options.models` names a model `models` has no function for; `cancelled` once `signal`
94
+ * aborts, also when the model rejects because of it (the model's error is the `cause`).
95
+ */
96
+ export declare function extractWithModels<F extends ExtractFormat>(doc: Document, options: ExtractJobOptions<F>, models: HostModels, { signal, budget }?: {
97
+ readonly signal?: AbortSignal;
98
+ readonly budget?: number;
99
+ }): Promise<ExtractResult[F]>;
100
+ //# sourceMappingURL=extract-job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-job.d.ts","sourceRoot":"","sources":["../src/extract-job.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,IAAI,YAAY,EAC1B,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,YAAY,EAC9B,UAAU,IAAI,MAAM,EACpB,QAAQ,IAAI,OAAO,EACnB,eAAe,IAAI,WAAW,EAC9B,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAEpF,oGAAoG;AACpG,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG;IAC3F;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,IAC3C;IACE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,kBAAkB;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uBAAuB;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;CACjC,GACD;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAElE,4GAA4G;AAC5G,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;CAAE,GACtE;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,CAAC;AAEjE;;;GAGG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,CAAE,SAAQ,MAAM,CAAC,QAAQ,CAAC;;IAIvF,gBAAgB;IAChB,YAAY,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAItF;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,SAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAK/B;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAEjC;IAED,2DAA2D;IAC3D,MAAM,IAAI,IAAI,CAEb;IAED,SAAS,CAAC,OAAO,IAAI,IAAI,CAExB;CACF;AAED,uGAAuG;AACvG,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,KAAK,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IAC/G,8FAA8F;IAC9F,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,KAAK,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;CACxG;AAiBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAC7D,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,MAAM,EAAE,UAAU,EAClB,EAAE,MAAM,EAAE,MAAW,EAAE,GAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACxF,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAkB3B"}
@@ -0,0 +1,177 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
53
+ import { packageError } from "./errors.js";
54
+ import { parseExtract } from "./extract.js";
55
+ import { Handle } from "./internal/handle.js";
56
+ /**
57
+ * An extraction in progress, from {@link Document.extractJob}. It holds WebAssembly memory and is
58
+ * freed with its document, or earlier with `free()` or `using`.
59
+ */
60
+ export class ExtractJob extends Handle {
61
+ #job;
62
+ #format;
63
+ /** @internal */
64
+ constructor(job, format, doc, instance) {
65
+ super("ExtractJob", instance, doc);
66
+ this.#job = job;
67
+ this.#format = format;
68
+ }
69
+ /**
70
+ * Extracts up to `budget` pages. While a model's result is awaited, the step returns
71
+ * `{ state: "progress", phase: "model", request }` and does nothing more until
72
+ * {@link provide} answers it.
73
+ *
74
+ * @returns progress, or `{ state: "done", output }` with the output in the job's format.
75
+ * @throws {@link LaminaPdfError} `cancelled`, `document-changed`, `job-finished`, the reading errors.
76
+ */
77
+ step(budget = 1) {
78
+ const out = this.call(() => this.#job.step(budget));
79
+ return out.state === "done" ? { state: "done", output: parseExtract(this.#format, out.output) } : out;
80
+ }
81
+ /**
82
+ * Hands the job the result of its open request.
83
+ *
84
+ * @throws {@link LaminaPdfError} `model-result-unexpected` when nothing was asked for or `result`
85
+ * is the other model's; `invalid-argument` / `unknown-option` for a malformed result.
86
+ */
87
+ provide(result) {
88
+ this.call(() => this.#job.provide(result));
89
+ }
90
+ /** Stops the job: its next step fails with `cancelled`. */
91
+ cancel() {
92
+ this.call(() => this.#job.cancel());
93
+ }
94
+ release() {
95
+ this.#job.free();
96
+ }
97
+ }
98
+ /** The host's answer to one request. */
99
+ async function answer(request, models, signal) {
100
+ if (request.kind === "layout" && models.layout !== undefined) {
101
+ return { kind: "layout", regions: await models.layout(request, signal) };
102
+ }
103
+ if (request.kind === "ocr" && models.ocr !== undefined) {
104
+ return { kind: "ocr", words: await models.ocr(request, signal) };
105
+ }
106
+ throw packageError("invalid-argument", `no function in models answers a ${request.kind} request`);
107
+ }
108
+ /**
109
+ * Runs an extraction whose models the host runs asynchronously: steps a job, and for each
110
+ * request awaits the matching function of `models`, then hands its result back.
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * const json = await extractWithModels(
115
+ * doc,
116
+ * { format: "json", models: { layout: { name: "my-layout", version: "1", sha256, licence: "Apache-2.0" } } },
117
+ * { layout: async ({ page, dpi }) => myModel.detect(await render(page, dpi)) },
118
+ * );
119
+ * ```
120
+ * On a document opened with `Document.openRange`, a step that needs bytes not yet fetched ends
121
+ * the job with `data-pending`, as every error ends a job; fetch the file first (`await
122
+ * doc.ensure(() => doc.pages)` reads only the page tree, so read the whole file for a long
123
+ * extraction), or wrap the call in `doc.ensure`, which runs it again, models included.
124
+ *
125
+ * @throws {@link LaminaPdfError} as {@link ExtractJob.step}; `invalid-argument` when
126
+ * `options.models` names a model `models` has no function for; `cancelled` once `signal`
127
+ * aborts, also when the model rejects because of it (the model's error is the `cause`).
128
+ */
129
+ export async function extractWithModels(doc, options, models, { signal, budget = 16 } = {}) {
130
+ const env_1 = { stack: [], error: void 0, hasError: false };
131
+ try {
132
+ for (const kind of ["layout", "ocr"]) {
133
+ if (options.models?.[kind] !== undefined && models[kind] === undefined) {
134
+ throw packageError("invalid-argument", `options.models names a ${kind} model, but models has no ${kind} function`);
135
+ }
136
+ }
137
+ const job = __addDisposableResource(env_1, doc.extractJob(options), false);
138
+ // The job only moves between awaits, so the signal is read there: no listener that could
139
+ // outlive the job or its document.
140
+ for (;;) {
141
+ if (signal?.aborted)
142
+ throw cancelled();
143
+ const step = job.step(budget);
144
+ if (step.state === "done")
145
+ return step.output;
146
+ if (step.request !== undefined)
147
+ job.provide(await answerUnlessAborted(step.request, models, signal));
148
+ }
149
+ }
150
+ catch (e_1) {
151
+ env_1.error = e_1;
152
+ env_1.hasError = true;
153
+ }
154
+ finally {
155
+ __disposeResources(env_1);
156
+ }
157
+ }
158
+ function cancelled(cause) {
159
+ return packageError("cancelled", "the signal aborted the extraction", cause === undefined ? {} : { cause });
160
+ }
161
+ /** The host's answer, or `cancelled` when the signal aborted before or while the model ran. */
162
+ async function answerUnlessAborted(request, models, signal) {
163
+ let result;
164
+ try {
165
+ result = await answer(request, models, signal);
166
+ }
167
+ catch (e) {
168
+ // A model that honours the signal rejects with its own AbortError.
169
+ if (signal?.aborted)
170
+ throw cancelled(e);
171
+ throw e;
172
+ }
173
+ if (signal?.aborted)
174
+ throw cancelled();
175
+ return result;
176
+ }
177
+ //# sourceMappingURL=extract-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-job.js","sourceRoot":"","sources":["../src/extract-job.ts"],"names":[],"mappings":"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"}
package/dist/extract.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { ExtractFormat, ReadingOrderName as ReadingOrder, SplitOnName as SplitOn, TableModeName as TableMode } from "@laminapdf/wasm/extract";
2
2
  import type { LaminaPdfWarning } from "./errors.js";
3
3
  import type { Chunk, Extraction as ExtractionJson } from "./generated/extract.js";
4
- export type { Cell, Coordinates, Dropped, DropReason, ExtractedPage, ExtractedSource, Flags, Generator, JsonBlock as ExtractedBlock, Region, Span, StructRef, StructSource, TableDetector, TextRange, } from "./generated/extract.js";
4
+ export type { Cell, Coordinates, Dropped, DropReason, ExtractedPage, ExtractedSource, Flags, Generator, JsonBlock as ExtractedBlock, Region, Span, StructRef, StructSource, TableDetector, TextLayer, TextLayerStatus, TextRange, } from "./generated/extract.js";
5
5
  /**
6
6
  * The `laminapdf.extract/1` document: the schema's type, with the file's warnings as the
7
7
  * {@link LaminaPdfWarning}s they are (the schema leaves their shape to ADR 0026's).
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,IAAI,YAAY,EAChC,WAAW,IAAI,OAAO,EACtB,aAAa,IAAI,SAAS,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAElF,YAAY,EACV,IAAI,EACJ,WAAW,EACX,OAAO,EACP,UAAU,EACV,aAAa,EACb,eAAe,EACf,KAAK,EACL,SAAS,EACT,SAAS,IAAI,cAAc,EAC3B,MAAM,EACN,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAI7F,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAEhE,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,qGAAqG;IACrG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IACrE,gHAAgH;IAChH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/E,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,4GAA4G;IAC5G,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;CAC1B;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAE9F;AAED,YAAY,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,IAAI,YAAY,EAChC,WAAW,IAAI,OAAO,EACtB,aAAa,IAAI,SAAS,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAElF,YAAY,EACV,IAAI,EACJ,WAAW,EACX,OAAO,EACP,UAAU,EACV,aAAa,EACb,eAAe,EACf,KAAK,EACL,SAAS,EACT,SAAS,IAAI,cAAc,EAC3B,MAAM,EACN,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,aAAa,EACb,SAAS,EACT,eAAe,EACf,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAI7F,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAEhE,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,qGAAqG;IACrG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IACrE,gHAAgH;IAChH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/E,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,4GAA4G;IAC5G,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;CAC1B;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAE9F;AAED,YAAY,EAAE,KAAK,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAkFA,uDAAuD;AACvD,MAAM,UAAU,YAAY,CAA0B,MAAS,EAAE,GAAW;IAC1E,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAqB,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAoFA,uDAAuD;AACvD,MAAM,UAAU,YAAY,CAA0B,MAAS,EAAE,GAAW;IAC1E,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAqB,CAAC;AAChG,CAAC"}
@@ -15,15 +15,15 @@ export declare const BLEND_MODES: readonly ["normal", "multiply", "screen", "ove
15
15
  /** Blend modes (`/BM`), camelCase. */
16
16
  export type BlendMode = (typeof BLEND_MODES)[number];
17
17
  /** Every ArtifactKind, as the WASM module names it. */
18
- export declare const ARTIFACT_KINDS: readonly ["layout", "page", "pagination", "background"];
19
- /** What kind of artifact (content outside the logical structure). */
18
+ export declare const ARTIFACT_KINDS: readonly ["layout", "page", "pagination", "background", "header", "footer", "watermark"];
19
+ /** What kind of artifact (content outside the logical structure); `header`, `footer` and `watermark` are pagination artifacts that say which. */
20
20
  export type ArtifactKind = (typeof ARTIFACT_KINDS)[number];
21
21
  /** Every TableScope, as the WASM module names it. */
22
22
  export declare const TABLE_SCOPES: readonly ["row", "column", "both"];
23
23
  /** Which header cells a `TH` heads (`/Scope`). */
24
24
  export type TableScope = (typeof TABLE_SCOPES)[number];
25
25
  /** Every TagName, as the WASM module names it. */
26
- export declare const TAG_NAMES: readonly ["Document", "Part", "Sect", "H1", "H2", "H3", "H4", "H5", "H6", "P", "L", "LI", "Lbl", "LBody", "Table", "TR", "TH", "TD", "Figure", "Caption", "Link", "Span", "Quote", "Note", "Code"];
26
+ export declare const TAG_NAMES: readonly ["Document", "Part", "Sect", "H1", "H2", "H3", "H4", "H5", "H6", "P", "L", "LI", "Lbl", "LBody", "Table", "TR", "TH", "TD", "Figure", "Caption", "Link", "Span", "Quote", "Note", "Code", "THead", "TBody", "TFoot", "TOC", "TOCI", "Reference", "BlockQuote"];
27
27
  /** A standard structure type (ISO 32000-1 §14.8.4). */
28
28
  export type TagName = (typeof TAG_NAMES)[number];
29
29
  //# sourceMappingURL=builder-enums.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder-enums.d.ts","sourceRoot":"","sources":["../../src/generated/builder-enums.ts"],"names":[],"mappings":"AAGA,mDAAmD;AACnD,eAAO,MAAM,UAAU,YACrB,SAAS,EACT,SAAS,CACD,CAAC;AAEX,2DAA2D;AAC3D,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,kDAAkD;AAClD,eAAO,MAAM,SAAS,YACpB,MAAM,EACN,OAAO,EACP,QAAQ,CACA,CAAC;AAEX,oCAAoC;AACpC,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,mDAAmD;AACnD,eAAO,MAAM,UAAU,YACrB,OAAO,EACP,OAAO,EACP,OAAO,CACC,CAAC;AAEX,6BAA6B;AAC7B,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,oDAAoD;AACpD,eAAO,MAAM,WAAW,YACtB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,YAAY,CACJ,CAAC;AAEX,sCAAsC;AACtC,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,uDAAuD;AACvD,eAAO,MAAM,cAAc,YACzB,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,YAAY,CACJ,CAAC;AAEX,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,qDAAqD;AACrD,eAAO,MAAM,YAAY,YACvB,KAAK,EACL,QAAQ,EACR,MAAM,CACE,CAAC;AAEX,kDAAkD;AAClD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,kDAAkD;AAClD,eAAO,MAAM,SAAS,YACpB,UAAU,EACV,MAAM,EACN,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,GAAG,EACH,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,CACE,CAAC;AAEX,uDAAuD;AACvD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"builder-enums.d.ts","sourceRoot":"","sources":["../../src/generated/builder-enums.ts"],"names":[],"mappings":"AAGA,mDAAmD;AACnD,eAAO,MAAM,UAAU,YACrB,SAAS,EACT,SAAS,CACD,CAAC;AAEX,2DAA2D;AAC3D,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,kDAAkD;AAClD,eAAO,MAAM,SAAS,YACpB,MAAM,EACN,OAAO,EACP,QAAQ,CACA,CAAC;AAEX,oCAAoC;AACpC,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,mDAAmD;AACnD,eAAO,MAAM,UAAU,YACrB,OAAO,EACP,OAAO,EACP,OAAO,CACC,CAAC;AAEX,6BAA6B;AAC7B,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,oDAAoD;AACpD,eAAO,MAAM,WAAW,YACtB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,YAAY,CACJ,CAAC;AAEX,sCAAsC;AACtC,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,uDAAuD;AACvD,eAAO,MAAM,cAAc,YACzB,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,CACH,CAAC;AAEX,iJAAiJ;AACjJ,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,qDAAqD;AACrD,eAAO,MAAM,YAAY,YACvB,KAAK,EACL,QAAQ,EACR,MAAM,CACE,CAAC;AAEX,kDAAkD;AAClD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,kDAAkD;AAClD,eAAO,MAAM,SAAS,YACpB,UAAU,EACV,MAAM,EACN,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,GAAG,EACH,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,YAAY,CACJ,CAAC;AAEX,uDAAuD;AACvD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -42,6 +42,9 @@ export const ARTIFACT_KINDS = [
42
42
  "page",
43
43
  "pagination",
44
44
  "background",
45
+ "header",
46
+ "footer",
47
+ "watermark",
45
48
  ];
46
49
  /** Every TableScope, as the WASM module names it. */
47
50
  export const TABLE_SCOPES = [
@@ -76,5 +79,12 @@ export const TAG_NAMES = [
76
79
  "Quote",
77
80
  "Note",
78
81
  "Code",
82
+ "THead",
83
+ "TBody",
84
+ "TFoot",
85
+ "TOC",
86
+ "TOCI",
87
+ "Reference",
88
+ "BlockQuote",
79
89
  ];
80
90
  //# sourceMappingURL=builder-enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder-enums.js","sourceRoot":"","sources":["../../src/generated/builder-enums.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,4HAA4H;AAE5H,mDAAmD;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS;IACT,SAAS;CACD,CAAC;AAKX,kDAAkD;AAClD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM;IACN,OAAO;IACP,QAAQ;CACA,CAAC;AAKX,mDAAmD;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO;IACP,OAAO;IACP,OAAO;CACC,CAAC;AAKX,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,KAAK;IACL,YAAY;IACZ,OAAO;IACP,YAAY;CACJ,CAAC;AAKX,uDAAuD;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,YAAY;CACJ,CAAC;AAKX,qDAAqD;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK;IACL,QAAQ;IACR,MAAM;CACE,CAAC;AAKX,kDAAkD;AAClD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU;IACV,MAAM;IACN,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,KAAK;IACL,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;CACE,CAAC"}
1
+ {"version":3,"file":"builder-enums.js","sourceRoot":"","sources":["../../src/generated/builder-enums.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,4HAA4H;AAE5H,mDAAmD;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS;IACT,SAAS;CACD,CAAC;AAKX,kDAAkD;AAClD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM;IACN,OAAO;IACP,QAAQ;CACA,CAAC;AAKX,mDAAmD;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO;IACP,OAAO;IACP,OAAO;CACC,CAAC;AAKX,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,KAAK;IACL,YAAY;IACZ,OAAO;IACP,YAAY;CACJ,CAAC;AAKX,uDAAuD;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,WAAW;CACH,CAAC;AAKX,qDAAqD;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK;IACL,QAAQ;IACR,MAAM;CACE,CAAC;AAKX,kDAAkD;AAClD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU;IACV,MAAM;IACN,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,KAAK;IACL,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,YAAY;CACJ,CAAC"}
@@ -1,9 +1,9 @@
1
1
  /** The nine kinds of ADR 0026 §2: what the caller can do about an error. */
2
2
  export type ErrorKind = "input" | "io" | "unsupported" | "limit" | "security" | "usage" | "state" | "cancelled" | "internal";
3
3
  /** Every error code (ADR 0026 §3; `fixtures/codes.json`). */
4
- export type ErrorCode = "not-pdf" | "missing-root" | "reference-cycle" | "limit-exceeded" | "strict" | "data-pending" | "source" | "type" | "invalid-structure" | "unset-object" | "repaired-base" | "encrypted-base" | "password-required" | "wrong-password" | "unsupported-security-handler" | "unexpected-eof" | "syntax" | "unsupported-filter" | "decompress" | "nested-transaction" | "no-transaction" | "unknown-page" | "direct-page" | "unsupported-version" | "invalid-op-log" | "saved-not-rebased" | "no-pending-save" | "sink" | "not-rebased" | "sink-not-empty" | "would-invalidate-signatures" | "requires-rewrite" | "invalid-font" | "collection-index" | "unknown-axis" | "font-not-embeddable" | "missing-glyph" | "glyph-out-of-range" | "unknown-font" | "subset-failed" | "invalid-axis-value" | "wrong-document" | "invalid-feature" | "invalid-text-range" | "unsupported-layout-option" | "font-mismatch" | "encoding-full" | "font-not-shapable" | "invalid-image" | "unsupported-image" | "image-too-large" | "image-data-length" | "invalid-icc-profile" | "color-components" | "invalid-color" | "invalid-geometry" | "text-overflow" | "page-index-out-of-range" | "unknown-destination" | "invalid-page-labels" | "profile-version-conflict" | "missing-title" | "missing-lang" | "missing-alt-text" | "untagged-content" | "heading-level-skipped" | "unnumbered-heading-misused" | "invalid-structure-nesting" | "link-without-structure" | "link-without-contents" | "font-not-embedded" | "glyph-without-unicode" | "device-color-without-output-intent" | "embedded-file-forbidden" | "embedded-file-without-mime-type" | "render-too-large" | "render-failed" | "render-backend-unavailable" | "cancelled" | "job-finished" | "document-changed" | "builder-finished" | "disposed" | "invalid-argument" | "source-budget-exceeded" | "unknown-option" | "already-initialized" | "extract-module-not-loaded" | "fetch-failed" | "not-initialized" | "source-changed" | "text-module-not-loaded" | "worker-version-mismatch" | "worker-crashed" | "worker-failed" | "wasm-trap" | "out-of-memory" | "instance-reset" | "invalid-command-line" | "invalid-page-range" | "binary-output-to-terminal" | "unknown-code" | "overwrite-refused" | "input-unreadable" | "output-unwritable" | "path-outside-roots";
4
+ export type ErrorCode = "not-pdf" | "missing-root" | "reference-cycle" | "limit-exceeded" | "strict" | "data-pending" | "source" | "type" | "invalid-structure" | "unset-object" | "repaired-base" | "encrypted-base" | "password-required" | "wrong-password" | "unsupported-security-handler" | "unexpected-eof" | "syntax" | "unsupported-filter" | "decompress" | "nested-transaction" | "no-transaction" | "unknown-page" | "direct-page" | "unsupported-version" | "invalid-op-log" | "saved-not-rebased" | "no-pending-save" | "sink" | "not-rebased" | "sink-not-empty" | "would-invalidate-signatures" | "requires-rewrite" | "invalid-font" | "collection-index" | "unknown-axis" | "font-not-embeddable" | "missing-glyph" | "glyph-out-of-range" | "unknown-font" | "subset-failed" | "invalid-axis-value" | "wrong-document" | "invalid-feature" | "invalid-text-range" | "invalid-spans" | "unsupported-layout-option" | "font-mismatch" | "encoding-full" | "font-not-shapable" | "invalid-image" | "unsupported-image" | "image-too-large" | "image-data-length" | "invalid-icc-profile" | "color-components" | "invalid-color" | "invalid-geometry" | "text-overflow" | "page-index-out-of-range" | "unknown-destination" | "invalid-page-labels" | "tag-element-not-open" | "tag-element-unclosed" | "profile-version-conflict" | "missing-title" | "missing-lang" | "missing-alt-text" | "untagged-content" | "heading-level-skipped" | "unnumbered-heading-misused" | "invalid-structure-nesting" | "link-without-structure" | "link-without-contents" | "font-not-embedded" | "glyph-without-unicode" | "device-color-without-output-intent" | "embedded-file-forbidden" | "embedded-file-without-mime-type" | "flow-content-too-large" | "flow-layout-unstable" | "render-too-large" | "render-failed" | "render-backend-unavailable" | "model-failed" | "model-result-unexpected" | "model-needs-host" | "cancelled" | "job-finished" | "document-changed" | "revision-index-out-of-range" | "builder-finished" | "disposed" | "invalid-argument" | "source-budget-exceeded" | "unknown-option" | "already-initialized" | "extract-module-not-loaded" | "fetch-failed" | "not-initialized" | "source-changed" | "text-module-not-loaded" | "worker-version-mismatch" | "worker-crashed" | "worker-failed" | "wasm-trap" | "out-of-memory" | "instance-reset" | "invalid-command-line" | "invalid-page-range" | "binary-output-to-terminal" | "unknown-code" | "overwrite-refused" | "input-unreadable" | "output-unwritable" | "path-outside-roots";
5
5
  /** Every warning code (ADR 0026 §3; `fixtures/codes.json`). */
6
- export type WarningCode = "missing-header" | "xref-repaired" | "xrefstm-ignored" | "stream-length-recovered" | "stale-generation" | "page-tree-node-skipped" | "page-count-mismatch" | "flate-truncated" | "objstm-index-mismatch" | "object-number-out-of-range" | "aes-padding-invalid" | "perms-mismatch" | "warnings-truncated" | "invalid-box" | "invalid-rotate" | "name-tree-node-skipped" | "outline-cycle" | "outline-item-skipped" | "invalid-date" | "invalid-page-label" | "invalid-entry" | "content-unknown-operator" | "content-bad-operands" | "content-unbalanced-q" | "content-unbalanced-bt" | "content-unbalanced-marked" | "content-syntax" | "content-resource-missing" | "inline-image-unterminated" | "xobject-cycle" | "content-path-unpainted" | "font-invalid" | "cmap-invalid" | "unmapped-glyph" | "extract-limit-blocks" | "extract-reading-order-ambiguous" | "extract-table-ambiguous" | "extract-table-limit" | "extract-struct-tree-ignored" | "extract-untagged-content" | "tounicode-conflict" | "whole-font-rebuilt";
6
+ export type WarningCode = "missing-header" | "xref-repaired" | "xrefstm-ignored" | "stream-length-recovered" | "stale-generation" | "page-tree-node-skipped" | "page-count-mismatch" | "flate-truncated" | "objstm-index-mismatch" | "object-number-out-of-range" | "aes-padding-invalid" | "perms-mismatch" | "warnings-truncated" | "invalid-box" | "invalid-rotate" | "name-tree-node-skipped" | "outline-cycle" | "outline-item-skipped" | "invalid-date" | "invalid-page-label" | "invalid-entry" | "content-unknown-operator" | "content-bad-operands" | "content-unbalanced-q" | "content-unbalanced-bt" | "content-unbalanced-marked" | "content-syntax" | "content-resource-missing" | "inline-image-unterminated" | "xobject-cycle" | "content-path-unpainted" | "font-invalid" | "cmap-invalid" | "unmapped-glyph" | "extract-limit-blocks" | "extract-reading-order-ambiguous" | "extract-table-ambiguous" | "extract-table-limit" | "extract-struct-tree-ignored" | "extract-untagged-content" | "extract-needs-ocr" | "extract-column-order-uncertain" | "tounicode-conflict" | "whole-font-rebuilt" | "flow-keep-broken" | "markdown-html-ignored" | "markdown-image-missing" | "covered-text" | "redaction-not-applied" | "text-in-earlier-revision";
7
7
  /** The names of the `Limits` (ADR 0003 §3), as `data.limit` of `limit-exceeded`. */
8
8
  export type LimitName = "max_nesting_depth" | "max_stream_decoded" | "max_decoded_total" | "max_filter_chain" | "max_resolve_depth" | "max_page_tree_depth" | "max_tree_depth" | "max_string_length" | "max_content_operators" | "max_xobject_depth" | "max_image_pixels" | "max_read_window";
9
9
  /** Every error code, in `codes.json` order. */
@@ -1 +1 @@
1
- {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/generated/codes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/generated/codes.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ export const ERROR_CODES = [
46
46
  "wrong-document",
47
47
  "invalid-feature",
48
48
  "invalid-text-range",
49
+ "invalid-spans",
49
50
  "unsupported-layout-option",
50
51
  "font-mismatch",
51
52
  "encoding-full",
@@ -62,6 +63,8 @@ export const ERROR_CODES = [
62
63
  "page-index-out-of-range",
63
64
  "unknown-destination",
64
65
  "invalid-page-labels",
66
+ "tag-element-not-open",
67
+ "tag-element-unclosed",
65
68
  "profile-version-conflict",
66
69
  "missing-title",
67
70
  "missing-lang",
@@ -77,12 +80,18 @@ export const ERROR_CODES = [
77
80
  "device-color-without-output-intent",
78
81
  "embedded-file-forbidden",
79
82
  "embedded-file-without-mime-type",
83
+ "flow-content-too-large",
84
+ "flow-layout-unstable",
80
85
  "render-too-large",
81
86
  "render-failed",
82
87
  "render-backend-unavailable",
88
+ "model-failed",
89
+ "model-result-unexpected",
90
+ "model-needs-host",
83
91
  "cancelled",
84
92
  "job-finished",
85
93
  "document-changed",
94
+ "revision-index-out-of-range",
86
95
  "builder-finished",
87
96
  "disposed",
88
97
  "invalid-argument",
@@ -151,8 +160,16 @@ export const WARNING_CODES = [
151
160
  "extract-table-limit",
152
161
  "extract-struct-tree-ignored",
153
162
  "extract-untagged-content",
163
+ "extract-needs-ocr",
164
+ "extract-column-order-uncertain",
154
165
  "tounicode-conflict",
155
166
  "whole-font-rebuilt",
167
+ "flow-keep-broken",
168
+ "markdown-html-ignored",
169
+ "markdown-image-missing",
170
+ "covered-text",
171
+ "redaction-not-applied",
172
+ "text-in-earlier-revision",
156
173
  ];
157
174
  /** The kind of every code. */
158
175
  export const KINDS = {
@@ -196,6 +213,8 @@ export const KINDS = {
196
213
  "extract-table-limit": "limit",
197
214
  "extract-struct-tree-ignored": "input",
198
215
  "extract-untagged-content": "input",
216
+ "extract-needs-ocr": "unsupported",
217
+ "extract-column-order-uncertain": "unsupported",
199
218
  "not-pdf": "input",
200
219
  "missing-root": "input",
201
220
  "reference-cycle": "input",
@@ -240,6 +259,7 @@ export const KINDS = {
240
259
  "wrong-document": "usage",
241
260
  "invalid-feature": "usage",
242
261
  "invalid-text-range": "usage",
262
+ "invalid-spans": "usage",
243
263
  "unsupported-layout-option": "unsupported",
244
264
  "font-mismatch": "usage",
245
265
  "encoding-full": "limit",
@@ -258,6 +278,8 @@ export const KINDS = {
258
278
  "page-index-out-of-range": "usage",
259
279
  "unknown-destination": "usage",
260
280
  "invalid-page-labels": "usage",
281
+ "tag-element-not-open": "usage",
282
+ "tag-element-unclosed": "usage",
261
283
  "profile-version-conflict": "usage",
262
284
  "missing-title": "usage",
263
285
  "missing-lang": "usage",
@@ -273,12 +295,24 @@ export const KINDS = {
273
295
  "device-color-without-output-intent": "usage",
274
296
  "embedded-file-forbidden": "usage",
275
297
  "embedded-file-without-mime-type": "usage",
298
+ "flow-content-too-large": "usage",
299
+ "flow-layout-unstable": "internal",
300
+ "flow-keep-broken": "usage",
301
+ "markdown-html-ignored": "unsupported",
302
+ "markdown-image-missing": "usage",
276
303
  "render-too-large": "limit",
277
304
  "render-failed": "input",
278
305
  "render-backend-unavailable": "io",
306
+ "model-failed": "internal",
307
+ "model-result-unexpected": "usage",
308
+ "model-needs-host": "usage",
279
309
  "cancelled": "cancelled",
280
310
  "job-finished": "state",
281
311
  "document-changed": "state",
312
+ "revision-index-out-of-range": "usage",
313
+ "covered-text": "security",
314
+ "redaction-not-applied": "security",
315
+ "text-in-earlier-revision": "security",
282
316
  "builder-finished": "state",
283
317
  "disposed": "state",
284
318
  "invalid-argument": "usage",
@@ -347,6 +381,8 @@ export const HINTS = {
347
381
  "extract-table-limit": "raise ExtractLimits::max_table_cells if the page really has a table that big",
348
382
  "extract-struct-tree-ignored": "nothing to do; ReadingOrder::Tagged uses the tree anyway",
349
383
  "extract-untagged-content": "nothing to do; tag that text in the file to give it a place in the reading order",
384
+ "extract-needs-ocr": "run OCR or a vision model on this page; the page's textLayer in the JSON says which case it is",
385
+ "extract-column-order-uncertain": "check the page, or send it to a layout model; the warning's reason says which guess was made",
350
386
  "not-pdf": "check that the bytes passed to open are a PDF file",
351
387
  "missing-root": "use another copy of the file: this one has no usable catalog",
352
388
  "reference-cycle": "use another copy of the file, or repair it with another tool",
@@ -391,6 +427,7 @@ export const HINTS = {
391
427
  "wrong-document": "use one FontRegistry per document and finish it with that document",
392
428
  "invalid-feature": "write it as liga=0, -liga, smcp or aalt=2 (HarfBuzz syntax without ranges)",
393
429
  "invalid-text-range": "take ranges from Lamina PDF's results (line_breaks, itemize, break_lines) and pass the same text",
430
+ "invalid-spans": "give spans in text order, each starting where the one before ends, from byte 0 to the end of the text, between grapheme clusters, each with at least one font from the list",
394
431
  "unsupported-layout-option": "leave the option at its default; justification comes with a later release",
395
432
  "font-mismatch": "pass the key of the font the run was shaped with (the font index of each line run maps to your keys)",
396
433
  "encoding-full": "embed a font with Font::from_bytes, or split the text across two registrations of the standard font",
@@ -409,6 +446,8 @@ export const HINTS = {
409
446
  "page-index-out-of-range": "use a 0-based index below the document's page count",
410
447
  "unknown-destination": "define it with Builder::destination before the build finishes, or link to a page",
411
448
  "invalid-page-labels": "give ranges sorted by first page, the first at page 0, numbered from 1",
449
+ "tag-element-not-open": "resume and close only elements this builder's pages opened with open_element, and close each once",
450
+ "tag-element-unclosed": "close each element from open_element with Builder::close_element once its last page is finished",
412
451
  "profile-version-conflict": "leave the version at 1.7 (the default) or lower; PDF 2.0 needs PDF/A-4 or PDF/UA-2, which Lamina PDF doesn't write yet",
413
452
  "missing-title": "set a title with Builder::metadata (Metadata::with_title)",
414
453
  "missing-lang": "set the language with Builder::lang, such as \"en-GB\"",
@@ -420,16 +459,28 @@ export const HINTS = {
420
459
  "link-without-structure": "draw links outside artifacts, so the builder gives each one a Link element",
421
460
  "link-without-contents": "pass a description as the link's contents",
422
461
  "font-not-embedded": "load a font file with Builder::font instead of Builder::standard_font",
423
- "glyph-without-unicode": "use text whose glyphs each stand for characters, or choose PDF/A-2b, which doesn't need Unicode",
462
+ "glyph-without-unicode": "remove NUL characters (U+0000) from the text, or choose PDF/A-2b, which doesn't need Unicode",
424
463
  "device-color-without-output-intent": "use RGB or gray colours, or a CMYK colour with an ICC profile (Color::icc)",
425
464
  "embedded-file-forbidden": "choose PDF/A-3b, which allows attached files of any kind",
426
465
  "embedded-file-without-mime-type": "pass the file's MIME type, such as text/xml or application/octet-stream",
466
+ "flow-content-too-large": "make the figure smaller, the text size smaller or the page's margins narrower",
467
+ "flow-layout-unstable": "report the flow that fails; a page break after the contents block may avoid it until it is fixed",
468
+ "flow-keep-broken": "split the keep group or drop keep-with-next on a heading chain, or use a taller page",
469
+ "markdown-html-ignored": "write the content in Markdown instead of HTML, or remove the HTML",
470
+ "markdown-image-missing": "pass the image's bytes with MarkdownBuildOptions::with_image under the path the Markdown uses",
427
471
  "render-too-large": "request smaller tiles (256 to 512 pixels at high zoom) or raise RenderLimits if the larger bitmap is intended",
428
472
  "render-failed": "the file may be damaged or use a feature this engine can't draw; try the other backend, or report the file",
429
473
  "render-backend-unavailable": "run cargo xtask fetch-pdfium or set LAMINA_PDF_PDFIUM_DIR to the folder holding the PDFium library",
474
+ "model-failed": "check the plug-in's own logs; extract without the model to get the rules-only result",
475
+ "model-result-unexpected": "call provide only while request() returns a request, with the result its kind asks for",
476
+ "model-needs-host": "step an extraction job and hand it each result with provide, or give the plug-in a page renderer",
430
477
  "cancelled": "nothing to do: this is the outcome the caller asked for; start a new job to try again",
431
478
  "job-finished": "stop stepping a job once a step returned its result or an error; create a new job",
432
479
  "document-changed": "pass the document the job was created from, and don't change it while the job runs; create a new job",
480
+ "revision-index-out-of-range": "ask for an index below the document's revision count",
481
+ "covered-text": "remove the text itself with a tool that deletes what a redaction covers, then save a full rewrite",
482
+ "redaction-not-applied": "apply the redactions in a tool that removes what they cover, then save a full rewrite",
483
+ "text-in-earlier-revision": "save the file as a full rewrite, which keeps only the latest revision",
433
484
  "builder-finished": "create a new builder or page: a finished one takes no more drawing, pages, fonts or settings",
434
485
  "disposed": "free a handle only after its last use; to keep working, open the document again or create a new builder",
435
486
  "invalid-argument": "pass the value the type declarations describe; the data field says what was wrong",
@@ -470,6 +521,7 @@ export const ERROR_GROUPS = [
470
521
  "textErrors",
471
522
  "buildErrors",
472
523
  "renderErrors",
524
+ "extractErrors",
473
525
  "facadeErrors",
474
526
  "bindingErrors",
475
527
  "packageErrors",
@@ -479,6 +531,8 @@ export const ERROR_GROUPS = [
479
531
  export const WARNING_GROUPS = [
480
532
  "warnings",
481
533
  "textWarnings",
534
+ "buildWarnings",
535
+ "facadeWarnings",
482
536
  ];
483
537
  /** The groups whose codes only `@laminapdf/sdk` raises (not in the Rust enums or the WASM). */
484
538
  export const TS_ONLY_GROUPS = [