nuxt-ai-ready 2.5.2 → 3.0.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 (282) hide show
  1. package/README.md +13 -12
  2. package/dist/chunks/agent-skills.mjs +35 -12
  3. package/dist/chunks/prerender.mjs +35 -24
  4. package/dist/cli.mjs +5 -2
  5. package/dist/module.d.mts +4 -0
  6. package/dist/module.json +2 -2
  7. package/dist/module.mjs +8 -4
  8. package/dist/runtime/app/index.d.ts +3 -0
  9. package/dist/runtime/app/index.js +2 -0
  10. package/dist/runtime/cache-control.d.ts +2 -0
  11. package/dist/runtime/cache-control.js +11 -0
  12. package/dist/runtime/llms-txt-utils.js +1 -1
  13. package/dist/runtime/server/db/context.d.ts +13 -0
  14. package/dist/runtime/server/db/drizzle/client.d.ts +6 -7
  15. package/dist/runtime/server/db/drizzle/client.js +13 -2
  16. package/dist/runtime/server/db/drizzle/providers/bun.d.ts +2 -2
  17. package/dist/runtime/server/db/drizzle/providers/bun.js +2 -2
  18. package/dist/runtime/server/db/drizzle/providers/d1.d.ts +2 -2
  19. package/dist/runtime/server/db/drizzle/providers/d1.js +3 -2
  20. package/dist/runtime/server/db/drizzle/providers/libsql.d.ts +2 -2
  21. package/dist/runtime/server/db/drizzle/providers/libsql.js +2 -2
  22. package/dist/runtime/server/db/drizzle/providers/neon.d.ts +2 -2
  23. package/dist/runtime/server/db/drizzle/providers/neon.js +2 -2
  24. package/dist/runtime/server/db/drizzle/providers/node-sqlite.d.ts +2 -2
  25. package/dist/runtime/server/db/drizzle/providers/node-sqlite.js +2 -2
  26. package/dist/runtime/server/db/drizzle/providers/postgres.d.ts +2 -2
  27. package/dist/runtime/server/db/drizzle/providers/postgres.js +2 -2
  28. package/dist/runtime/server/db/drizzle/queries.d.ts +27 -27
  29. package/dist/runtime/server/db/drizzle/queries.js +6 -5
  30. package/dist/runtime/server/db/drizzle/raw.d.ts +2 -6
  31. package/dist/runtime/server/db/index.d.ts +1 -1
  32. package/dist/runtime/server/db/index.js +1 -1
  33. package/dist/runtime/server/db/queries.d.ts +36 -36
  34. package/dist/runtime/server/db/queries.js +8 -9
  35. package/dist/runtime/server/db/seed.d.ts +2 -2
  36. package/dist/runtime/server/db/seed.js +4 -3
  37. package/dist/runtime/server/db/shared.d.ts +8 -0
  38. package/dist/runtime/server/db/shared.js +8 -2
  39. package/dist/runtime/server/index.d.ts +2 -0
  40. package/dist/runtime/server/index.js +17 -0
  41. package/dist/runtime/server/mcp/tools/get-page-markdown.js +1 -1
  42. package/dist/runtime/server/mcp/tools/list-pages.js +1 -1
  43. package/dist/runtime/server/mcp/tools/search-pages.js +1 -1
  44. package/dist/runtime/server/middleware/markdown.js +3 -3
  45. package/dist/runtime/server/middleware/markdown.prerender.js +1 -1
  46. package/dist/runtime/server/plugins/db-lifecycle-nitro3.d.ts +2 -0
  47. package/dist/runtime/server/plugins/db-lifecycle-nitro3.js +16 -0
  48. package/dist/runtime/server/plugins/html-capture.prerender.js +6 -4
  49. package/dist/runtime/server/plugins/link-header-nitro3.d.ts +2 -0
  50. package/dist/runtime/server/plugins/link-header-nitro3.js +20 -0
  51. package/dist/runtime/server/plugins/link-header.d.ts +6 -0
  52. package/dist/runtime/server/plugins/link-header.js +7 -11
  53. package/dist/runtime/server/plugins/markdown-negotiation.js +8 -1
  54. package/dist/runtime/server/plugins/sitemap-seeder.js +3 -3
  55. package/dist/runtime/server/routes/agent-skills-artifact.d.ts +1 -1
  56. package/dist/runtime/server/routes/agent-skills-artifact.js +10 -10
  57. package/dist/runtime/server/routes/agent-skills-index.d.ts +1 -1
  58. package/dist/runtime/server/routes/agent-skills-index.js +7 -6
  59. package/dist/runtime/server/routes/ai-catalog.d.ts +2 -1
  60. package/dist/runtime/server/routes/ai-catalog.js +7 -8
  61. package/dist/runtime/server/routes/api-catalog.d.ts +3 -1
  62. package/dist/runtime/server/routes/api-catalog.js +12 -12
  63. package/dist/runtime/server/routes/llms-full.txt.get.js +1 -1
  64. package/dist/runtime/server/routes/mcp-server-card.d.ts +1 -1
  65. package/dist/runtime/server/routes/mcp-server-card.js +7 -8
  66. package/dist/runtime/server/utils/checkStale.d.ts +2 -2
  67. package/dist/runtime/server/utils/cloudflare-prerendered.d.ts +3 -0
  68. package/dist/runtime/server/utils/cloudflare-prerendered.js +23 -0
  69. package/dist/runtime/server/utils/cloudflare.d.ts +5 -5
  70. package/dist/runtime/server/utils/cloudflare.js +31 -7
  71. package/dist/runtime/server/utils/content-negotiation.d.ts +5 -3
  72. package/dist/runtime/server/utils/content-negotiation.js +8 -7
  73. package/dist/runtime/server/utils/context.d.ts +3 -3
  74. package/dist/runtime/server/utils/context.js +1 -1
  75. package/dist/runtime/server/utils/discovery-response.d.ts +2 -0
  76. package/dist/runtime/server/utils/link-header.d.ts +5 -3
  77. package/dist/runtime/server/utils/link-header.js +26 -2
  78. package/dist/runtime/server/utils/markdown-request.d.ts +4 -3
  79. package/dist/runtime/server/utils/markdown-request.js +15 -13
  80. package/dist/runtime/server/utils/negotiation-decision.d.ts +4 -0
  81. package/dist/runtime/server/utils/negotiation-decision.js +6 -5
  82. package/dist/runtime/server/utils/negotiation-response.d.ts +1 -1
  83. package/dist/runtime/server/utils/negotiation-response.js +63 -23
  84. package/dist/runtime/server/utils/prerender-html.d.ts +2 -1
  85. package/dist/runtime/server/utils/prerender-html.js +3 -1
  86. package/dist/runtime/types.d.ts +15 -7
  87. package/dist/shared/nuxt-ai-ready.B3hAuOLQ.mjs +29 -0
  88. package/dist/shared/{nuxt-ai-ready.CLSWou20.mjs → nuxt-ai-ready.C34F0LJo.mjs} +560 -219
  89. package/package.json +85 -20
  90. package/skills/nuxt-ai-ready/SKILL.md +26 -12
  91. package/skills/nuxt-ai-ready/references/runtime-indexing.md +7 -6
  92. package/dist/runtime/server/db/drizzle/providers/sqlite.d.ts +0 -8
  93. package/dist/runtime/server/db/drizzle/providers/sqlite.js +0 -15
  94. package/node_modules/@mdream/js/LICENSE.md +0 -9
  95. package/node_modules/@mdream/js/README.md +0 -792
  96. package/node_modules/@mdream/js/bin/mdream.mjs +0 -2
  97. package/node_modules/@mdream/js/dist/_chunks/const.mjs +0 -134
  98. package/node_modules/@mdream/js/dist/_chunks/index.d.mts +0 -9
  99. package/node_modules/@mdream/js/dist/_chunks/markdown-processor.mjs +0 -1968
  100. package/node_modules/@mdream/js/dist/_chunks/minimal.d.mts +0 -6
  101. package/node_modules/@mdream/js/dist/_chunks/parse.mjs +0 -2756
  102. package/node_modules/@mdream/js/dist/_chunks/plugins.mjs +0 -725
  103. package/node_modules/@mdream/js/dist/_chunks/resolve-plugins.mjs +0 -44
  104. package/node_modules/@mdream/js/dist/_chunks/stream.mjs +0 -37
  105. package/node_modules/@mdream/js/dist/_chunks/types.d.mts +0 -473
  106. package/node_modules/@mdream/js/dist/cli.d.mts +0 -1
  107. package/node_modules/@mdream/js/dist/cli.mjs +0 -32
  108. package/node_modules/@mdream/js/dist/core.d.mts +0 -15
  109. package/node_modules/@mdream/js/dist/core.mjs +0 -28
  110. package/node_modules/@mdream/js/dist/index.d.mts +0 -4
  111. package/node_modules/@mdream/js/dist/index.mjs +0 -58
  112. package/node_modules/@mdream/js/dist/llms-txt.d.mts +0 -86
  113. package/node_modules/@mdream/js/dist/llms-txt.mjs +0 -308
  114. package/node_modules/@mdream/js/dist/negotiate.d.mts +0 -35
  115. package/node_modules/@mdream/js/dist/negotiate.mjs +0 -121
  116. package/node_modules/@mdream/js/dist/parse.d.mts +0 -90
  117. package/node_modules/@mdream/js/dist/parse.mjs +0 -2
  118. package/node_modules/@mdream/js/dist/plugins.d.mts +0 -85
  119. package/node_modules/@mdream/js/dist/plugins.mjs +0 -2
  120. package/node_modules/@mdream/js/dist/preset/minimal.d.mts +0 -2
  121. package/node_modules/@mdream/js/dist/preset/minimal.mjs +0 -33
  122. package/node_modules/@mdream/js/dist/splitter.d.mts +0 -18
  123. package/node_modules/@mdream/js/dist/splitter.mjs +0 -194
  124. package/node_modules/@mdream/js/package.json +0 -103
  125. package/node_modules/cac/LICENSE +0 -21
  126. package/node_modules/cac/README.md +0 -492
  127. package/node_modules/cac/dist/index.d.ts +0 -196
  128. package/node_modules/cac/dist/index.js +0 -638
  129. package/node_modules/cac/package.json +0 -72
  130. package/node_modules/mdream/LICENSE.md +0 -9
  131. package/node_modules/mdream/README.md +0 -1091
  132. package/node_modules/mdream/bin/mdream.mjs +0 -46
  133. package/node_modules/mdream/dist/browser.d.mts +0 -105
  134. package/node_modules/mdream/dist/browser.mjs +0 -262
  135. package/node_modules/mdream/dist/edge.d.mts +0 -100
  136. package/node_modules/mdream/dist/edge.mjs +0 -250
  137. package/node_modules/mdream/dist/iife.js +0 -605
  138. package/node_modules/mdream/dist/index.d.mts +0 -89
  139. package/node_modules/mdream/dist/index.mjs +0 -184
  140. package/node_modules/mdream/dist/wasm.d.mts +0 -100
  141. package/node_modules/mdream/dist/wasm.mjs +0 -140
  142. package/node_modules/mdream/dist/worker.d.mts +0 -101
  143. package/node_modules/mdream/dist/worker.mjs +0 -217
  144. package/node_modules/mdream/napi/index.d.mts +0 -127
  145. package/node_modules/mdream/napi/index.d.ts +0 -127
  146. package/node_modules/mdream/napi/index.mjs +0 -725
  147. package/node_modules/mdream/napi/rust.android-arm-eabi.node +0 -0
  148. package/node_modules/mdream/napi/rust.android-arm64.node +0 -0
  149. package/node_modules/mdream/napi/rust.darwin-arm64.node +0 -0
  150. package/node_modules/mdream/napi/rust.darwin-x64.node +0 -0
  151. package/node_modules/mdream/napi/rust.freebsd-x64.node +0 -0
  152. package/node_modules/mdream/napi/rust.linux-arm-gnueabihf.node +0 -0
  153. package/node_modules/mdream/napi/rust.linux-arm64-gnu.node +0 -0
  154. package/node_modules/mdream/napi/rust.linux-arm64-musl.node +0 -0
  155. package/node_modules/mdream/napi/rust.linux-x64-gnu.node +0 -0
  156. package/node_modules/mdream/napi/rust.linux-x64-musl.node +0 -0
  157. package/node_modules/mdream/napi/rust.wasi.cjs +0 -2144
  158. package/node_modules/mdream/napi/rust.wasm32-wasi.wasm +0 -0
  159. package/node_modules/mdream/napi/rust.win32-arm64-msvc.node +0 -0
  160. package/node_modules/mdream/napi/rust.win32-x64-msvc.node +0 -0
  161. package/node_modules/mdream/node_modules/@emnapi/core/LICENSE +0 -21
  162. package/node_modules/mdream/node_modules/@emnapi/core/README.md +0 -1
  163. package/node_modules/mdream/node_modules/@emnapi/core/dist/emnapi-core.d.ts +0 -392
  164. package/node_modules/mdream/node_modules/@emnapi/core/dist/emnapi-core.full.d.ts +0 -392
  165. package/node_modules/mdream/node_modules/@emnapi/core/dist/emnapi-core.full.js +0 -8351
  166. package/node_modules/mdream/node_modules/@emnapi/core/dist/emnapi-core.js +0 -7268
  167. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/async-work.d.ts +0 -5
  168. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/async-work.js +0 -843
  169. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/index.d.ts +0 -4
  170. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/index.js +0 -3
  171. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/threadsafe-function.d.ts +0 -5
  172. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/threadsafe-function.js +0 -1010
  173. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/v8.d.ts +0 -5
  174. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/v8.js +0 -1446
  175. package/node_modules/mdream/node_modules/@emnapi/core/package.json +0 -39
  176. package/node_modules/mdream/node_modules/@emnapi/core/rollup.config.js +0 -60
  177. package/node_modules/mdream/node_modules/@emnapi/runtime/LICENSE +0 -21
  178. package/node_modules/mdream/node_modules/@emnapi/runtime/README.md +0 -1
  179. package/node_modules/mdream/node_modules/@emnapi/runtime/dist/emnapi.d.ts +0 -833
  180. package/node_modules/mdream/node_modules/@emnapi/runtime/dist/emnapi.js +0 -2306
  181. package/node_modules/mdream/node_modules/@emnapi/runtime/dist/emnapi.js.map +0 -1
  182. package/node_modules/mdream/node_modules/@emnapi/runtime/index.cjs +0 -63
  183. package/node_modules/mdream/node_modules/@emnapi/runtime/package.json +0 -39
  184. package/node_modules/mdream/node_modules/@emnapi/runtime/rollup.config.js +0 -25
  185. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/LICENSE +0 -21
  186. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/README.md +0 -203
  187. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.ts +0 -236
  188. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/dist/wasi-threads.js +0 -1086
  189. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/package.json +0 -35
  190. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/rollup.config.js +0 -6
  191. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.cjs +0 -1472
  192. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.js +0 -1470
  193. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/dist/fs-proxy.cjs +0 -237
  194. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/dist/fs.js +0 -18260
  195. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/fs-proxy.js +0 -317
  196. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/package.json +0 -67
  197. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/runtime.cjs +0 -39
  198. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/runtime.js +0 -36
  199. package/node_modules/mdream/node_modules/@tybys/wasm-util/LICENSE +0 -21
  200. package/node_modules/mdream/node_modules/@tybys/wasm-util/README.md +0 -193
  201. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/tsdoc-metadata.json +0 -11
  202. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.d.ts +0 -423
  203. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.esm-bundler.js +0 -2932
  204. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.esm.js +0 -2932
  205. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.esm.min.js +0 -1
  206. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.js +0 -2954
  207. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.min.js +0 -1
  208. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/asyncify.js +0 -158
  209. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/index.js +0 -13
  210. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/jspi.js +0 -46
  211. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/load.js +0 -97
  212. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/memory.js +0 -35
  213. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/error.js +0 -103
  214. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/fd.js +0 -268
  215. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/fs.js +0 -3
  216. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/index.js +0 -192
  217. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/path.js +0 -316
  218. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/preview1.js +0 -1599
  219. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/rights.js +0 -141
  220. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/types.js +0 -220
  221. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/util.js +0 -128
  222. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/webassembly.js +0 -13
  223. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/asyncify.mjs +0 -153
  224. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/index.mjs +0 -9
  225. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/jspi.mjs +0 -39
  226. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/load.mjs +0 -89
  227. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/memory.mjs +0 -28
  228. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/error.mjs +0 -97
  229. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/fd.mjs +0 -256
  230. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/fs.mjs +0 -1
  231. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/index.mjs +0 -186
  232. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/path.mjs +0 -310
  233. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/preview1.mjs +0 -1593
  234. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/rights.mjs +0 -135
  235. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/types.mjs +0 -216
  236. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/util.mjs +0 -113
  237. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/webassembly.mjs +0 -9
  238. package/node_modules/mdream/node_modules/@tybys/wasm-util/package.json +0 -58
  239. package/node_modules/mdream/node_modules/tslib/CopyrightNotice.txt +0 -15
  240. package/node_modules/mdream/node_modules/tslib/LICENSE.txt +0 -12
  241. package/node_modules/mdream/node_modules/tslib/README.md +0 -164
  242. package/node_modules/mdream/node_modules/tslib/SECURITY.md +0 -41
  243. package/node_modules/mdream/node_modules/tslib/modules/index.d.ts +0 -38
  244. package/node_modules/mdream/node_modules/tslib/modules/index.js +0 -70
  245. package/node_modules/mdream/node_modules/tslib/modules/package.json +0 -3
  246. package/node_modules/mdream/node_modules/tslib/package.json +0 -47
  247. package/node_modules/mdream/node_modules/tslib/tslib.d.ts +0 -460
  248. package/node_modules/mdream/node_modules/tslib/tslib.es6.html +0 -1
  249. package/node_modules/mdream/node_modules/tslib/tslib.es6.js +0 -402
  250. package/node_modules/mdream/node_modules/tslib/tslib.es6.mjs +0 -401
  251. package/node_modules/mdream/node_modules/tslib/tslib.html +0 -1
  252. package/node_modules/mdream/node_modules/tslib/tslib.js +0 -484
  253. package/node_modules/mdream/package.json +0 -110
  254. package/node_modules/mdream/skills/mdream/SKILL.md +0 -124
  255. package/node_modules/mdream/skills/mdream/references/runtimes.md +0 -49
  256. package/node_modules/mdream/wasm/mdream_edge.d.ts +0 -90
  257. package/node_modules/mdream/wasm/mdream_edge.js +0 -517
  258. package/node_modules/mdream/wasm/mdream_edge_bg.wasm +0 -0
  259. package/node_modules/mdream/wasm/mdream_edge_bg.wasm.d.ts +0 -20
  260. package/node_modules/mdream/wasm/package.json +0 -17
  261. package/node_modules/mdream/wasm-bundler/mdream_edge.d.ts +0 -45
  262. package/node_modules/mdream/wasm-bundler/mdream_edge.js +0 -13
  263. package/node_modules/mdream/wasm-bundler/mdream_edge_bg.js +0 -413
  264. package/node_modules/mdream/wasm-bundler/mdream_edge_bg.wasm +0 -0
  265. package/node_modules/mdream/wasm-bundler/mdream_edge_bg.wasm.d.ts +0 -20
  266. package/node_modules/mdream/wasm-bundler/package.json +0 -19
  267. package/node_modules/pathe/LICENSE +0 -70
  268. package/node_modules/pathe/README.md +0 -73
  269. package/node_modules/pathe/dist/index.cjs +0 -39
  270. package/node_modules/pathe/dist/index.d.cts +0 -47
  271. package/node_modules/pathe/dist/index.d.mts +0 -47
  272. package/node_modules/pathe/dist/index.d.ts +0 -47
  273. package/node_modules/pathe/dist/index.mjs +0 -19
  274. package/node_modules/pathe/dist/shared/pathe.BSlhyZSM.cjs +0 -266
  275. package/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs +0 -249
  276. package/node_modules/pathe/dist/utils.cjs +0 -82
  277. package/node_modules/pathe/dist/utils.d.cts +0 -32
  278. package/node_modules/pathe/dist/utils.d.mts +0 -32
  279. package/node_modules/pathe/dist/utils.d.ts +0 -32
  280. package/node_modules/pathe/dist/utils.mjs +0 -77
  281. package/node_modules/pathe/package.json +0 -61
  282. package/node_modules/pathe/utils.d.ts +0 -1
@@ -1,46 +0,0 @@
1
- #!/usr/bin/env node
2
- import { Readable } from 'node:stream'
3
- import { streamHtmlToMarkdown } from 'mdream'
4
-
5
- const args = process.argv.slice(2)
6
- let origin
7
- let preset
8
- let wrapWidth
9
- let format
10
- for (let i = 0; i < args.length; i++) {
11
- if (args[i] === '--origin' && args[i + 1]) {
12
- origin = args[++i]
13
- }
14
- else if (args[i] === '--preset' && args[i + 1]) {
15
- preset = args[++i]
16
- }
17
- else if (args[i] === '--wrap-width' && args[i + 1]) {
18
- wrapWidth = Number.parseInt(args[++i], 10) || undefined
19
- }
20
- else if (args[i] === '--format') {
21
- const value = args[++i]
22
- if (!value) {
23
- process.stderr.write('--format requires a value: markdown, text, or html\n')
24
- process.exit(1)
25
- }
26
- if (value !== 'markdown' && value !== 'text' && value !== 'html') {
27
- process.stderr.write(`Unknown format: ${value}\n`)
28
- process.exit(1)
29
- }
30
- format = value
31
- }
32
- else if (args[i] === '--text') {
33
- format = 'text'
34
- }
35
- else if (args[i] === '-h' || args[i] === '--help') {
36
- process.stdout.write('Usage: mdream [--origin <url>] [--preset minimal] [--wrap-width <n>] [--format markdown|text|html] [--text]\nPipe HTML via stdin, outputs Markdown, plain text, or safe HTML to stdout.\n')
37
- process.exit(0)
38
- }
39
- }
40
-
41
- const options = { origin, minimal: preset === 'minimal', wrapWidth, format }
42
- const stream = Readable.toWeb(process.stdin)
43
- for await (const chunk of streamHtmlToMarkdown(stream, options)) {
44
- if (chunk?.length)
45
- process.stdout.write(chunk)
46
- }
@@ -1,105 +0,0 @@
1
- interface CleanOptions {
2
- /** Strip tracking query parameters (utm_*, fbclid, gclid, etc.) from URLs */
3
- urls?: boolean;
4
- /** Strip fragment-only links that don't match any heading in the output */
5
- fragments?: boolean;
6
- /** Strip links with meaningless hrefs (#, javascript:void(0)) → plain text */
7
- emptyLinks?: boolean;
8
- /** Collapse 3+ consecutive blank lines to 2 */
9
- blankLines?: boolean;
10
- /** Strip links where text equals URL: [https://x.com](https://x.com) → https://x.com */
11
- redundantLinks?: boolean;
12
- /** Strip self-referencing heading anchors: ## [Title](#title) → ## Title */
13
- selfLinkHeadings?: boolean;
14
- /** Strip images with no alt text (decorative/tracking pixels) */
15
- emptyImages?: boolean;
16
- /** Drop links that produce no visible text: [](url) → nothing */
17
- emptyLinkText?: boolean;
18
- }
19
- interface ExtractedElement {
20
- selector: string;
21
- tagName: string;
22
- textContent: string;
23
- attributes: Record<string, string>;
24
- }
25
- interface FrontmatterConfig {
26
- additionalFields?: Record<string, string>;
27
- metaFields?: string[];
28
- /** Callback to receive structured frontmatter data after conversion */
29
- onExtract?: (frontmatter: Record<string, string>) => void;
30
- }
31
- interface TagOverride {
32
- enter?: string;
33
- exit?: string;
34
- spacing?: number[];
35
- isInline?: boolean;
36
- isSelfClosing?: boolean;
37
- collapsesInnerWhiteSpace?: boolean;
38
- alias?: string;
39
- }
40
- interface MdreamOptions {
41
- /** Origin URL for resolving relative image paths and internal links. */
42
- origin?: string;
43
- /**
44
- * Clean up the markdown output. Pass `true` for all cleanup or an object
45
- * to enable specific features. Both `htmlToMarkdown` and
46
- * `streamHtmlToMarkdown` apply it.
47
- */
48
- clean?: boolean | CleanOptions;
49
- /** Enable minimal preset (frontmatter, isolateMain, tailwind, filter). Default: false */
50
- minimal?: boolean;
51
- /**
52
- * Extract frontmatter from HTML head.
53
- * - `true`: enable with defaults
54
- * - `(fm) => void`: enable and receive structured data via callback
55
- * - `FrontmatterConfig`: enable with config options and optional callback
56
- */
57
- frontmatter?: boolean | ((frontmatter: Record<string, string>) => void) | FrontmatterConfig;
58
- /** Isolate main content area. Default when minimal: true */
59
- isolateMain?: boolean;
60
- /** Convert Tailwind utility classes. Default when minimal: true */
61
- tailwind?: boolean;
62
- /**
63
- * Filter elements by CSS selector. `minimal` excludes form, nav, footer, and
64
- * similar; a filter passed with `minimal` adds to those excludes. `false`
65
- * turns filtering off, including the `minimal` one.
66
- */
67
- filter?: false | {
68
- include?: string[];
69
- exclude?: string[];
70
- processChildren?: boolean;
71
- };
72
- /** Extract elements matching CSS selectors */
73
- extraction?: Record<string, (element: ExtractedElement) => void>;
74
- /** Tag overrides. String values act as aliases */
75
- tagOverrides?: Record<string, TagOverride | string>;
76
- /**
77
- * Hard-wrap prose at this many characters, breaking on word boundaries.
78
- * Applied inline during conversion (zero-cost when unset). Code blocks,
79
- * tables, and headings are never wrapped. `0` disables wrapping.
80
- */
81
- wrapWidth?: number;
82
- /**
83
- * Output format. Defaults to `markdown`; use `text` for readable plain text,
84
- * or `html` for allowlisted semantic HTML.
85
- */
86
- format?: 'markdown' | 'text' | 'html';
87
- }
88
- /**
89
- * Browser builds fetch the WASM binary on first use, so this returns a
90
- * Promise. The `browser` export condition ships types that say so.
91
- */
92
- export declare function htmlToMarkdown(html: string, options?: Partial<MdreamOptions>): Promise<string>;
93
- export declare function createMarkdownStream(options?: Partial<MdreamOptions>): Promise<MarkdownStream>;
94
- /** Streaming converter. Runs the frontmatter and extraction callbacks in `finish()`. */
95
- export declare class MarkdownStream {
96
- private _inner;
97
- private _carry;
98
- private _callbacks;
99
- constructor(options?: Partial<MdreamOptions>);
100
- processChunk(chunk: string): string;
101
- processChunkBytes(chunk: Uint8Array): string;
102
- finish(): string;
103
- }
104
- export declare function streamHtmlToMarkdown(htmlStream: ReadableStream<Uint8Array | string> | null, options?: Partial<MdreamOptions>): AsyncIterable<string>;
105
- export type { CleanOptions, ExtractedElement, FrontmatterConfig, MdreamOptions, TagOverride };
@@ -1,262 +0,0 @@
1
- import init, { MarkdownStream as MarkdownStream$1, __mdreamTakePanicMessage, htmlToMarkdownResult } from "../wasm/mdream_edge.js";
2
- const MINIMAL_FILTER_EXCLUDE = [
3
- "form",
4
- "fieldset",
5
- "object",
6
- "embed",
7
- "footer",
8
- "aside",
9
- "iframe",
10
- "input",
11
- "textarea",
12
- "select",
13
- "button",
14
- "nav"
15
- ];
16
- const CLEAN_ALL = {
17
- urls: true,
18
- fragments: true,
19
- emptyLinks: true,
20
- redundantLinks: true,
21
- selfLinkHeadings: true,
22
- emptyImages: true,
23
- emptyLinkText: true
24
- };
25
- function resolveCleanConfig(options, minimal) {
26
- const cleanUrls = options.cleanUrls === true;
27
- let cleanOpt = options.clean;
28
- if (cleanOpt === void 0) {
29
- if (!minimal) return { cleanUrls };
30
- cleanOpt = true;
31
- }
32
- if (!cleanOpt) return { cleanUrls };
33
- const resolved = cleanOpt === true ? CLEAN_ALL : cleanOpt;
34
- return {
35
- cleanUrls: cleanUrls || resolved.urls === true,
36
- clean: resolved
37
- };
38
- }
39
- function resolveFrontmatter(opt) {
40
- if (typeof opt === "function") return {
41
- config: {},
42
- callback: opt
43
- };
44
- if (opt && typeof opt === "object") {
45
- const { onExtract, ...config } = opt;
46
- return {
47
- config,
48
- callback: onExtract
49
- };
50
- }
51
- return { config: {} };
52
- }
53
- function resolveOptions(options) {
54
- if (Array.isArray(options.plugins)) throw new TypeError("Custom hook plugins require @mdream/js. Pass declarative config (e.g. { frontmatter: true }) to the Rust engine, or import { htmlToMarkdown } from '@mdream/js' for hook-based plugins. See https://mdream.dev/v1-migration#custom-plugins");
55
- const minimal = options.minimal === true;
56
- const plugins = options.plugins ? { ...options.plugins } : {};
57
- let frontmatterCallback;
58
- const frontmatterDisabled = options.frontmatter === false;
59
- if (minimal ? !frontmatterDisabled : !!options.frontmatter) {
60
- const fm = resolveFrontmatter(options.frontmatter);
61
- plugins.frontmatter = fm.config;
62
- frontmatterCallback = fm.callback;
63
- } else if (frontmatterDisabled) delete plugins.frontmatter;
64
- const isolateMainDisabled = options.isolateMain === false;
65
- if (minimal ? !isolateMainDisabled : options.isolateMain) plugins.isolateMain = true;
66
- else if (isolateMainDisabled) delete plugins.isolateMain;
67
- const tailwindDisabled = options.tailwind === false;
68
- if (minimal ? !tailwindDisabled : options.tailwind) plugins.tailwind = true;
69
- else if (tailwindDisabled) delete plugins.tailwind;
70
- if (options.filter === false) delete plugins.filter;
71
- else if (minimal) plugins.filter = {
72
- ...options.filter,
73
- exclude: [...MINIMAL_FILTER_EXCLUDE, ...options.filter?.exclude ?? []]
74
- };
75
- else if (options.filter) plugins.filter = options.filter;
76
- const extraction = options.extraction;
77
- let extractionHandlers;
78
- if (extraction) {
79
- plugins.extraction = { selectors: Object.keys(extraction) };
80
- extractionHandlers = extraction;
81
- }
82
- const tagOverrides = options.tagOverrides;
83
- if (tagOverrides) {
84
- const overrides = {};
85
- for (const tag in tagOverrides) {
86
- const value = tagOverrides[tag];
87
- if (value) overrides[tag] = typeof value === "string" ? { alias: value } : value;
88
- }
89
- plugins.tagOverrides = overrides;
90
- }
91
- const { cleanUrls, clean } = resolveCleanConfig(options, minimal);
92
- return {
93
- napiOpts: {
94
- origin: options.origin,
95
- cleanUrls,
96
- clean,
97
- plugins,
98
- wrapWidth: options.wrapWidth,
99
- format: options.format
100
- },
101
- extractionHandlers,
102
- frontmatterCallback
103
- };
104
- }
105
- function deliverPluginData(data, { frontmatterCallback, extractionHandlers }) {
106
- if (data.frontmatter && frontmatterCallback) frontmatterCallback(data.frontmatter);
107
- if (data.extracted?.length && extractionHandlers) for (const element of data.extracted) extractionHandlers[element.selector]?.(element);
108
- }
109
- function hasCallbacks({ frontmatterCallback, extractionHandlers }) {
110
- return !!frontmatterCallback || !!extractionHandlers;
111
- }
112
- function convertResult(convert, html, options = {}) {
113
- const resolved = resolveOptions(options);
114
- const result = convert(html, resolved.napiOpts);
115
- deliverPluginData(result, resolved);
116
- return result;
117
- }
118
- async function* pumpStream(stream, htmlStream, callbacks, { decodeInJs = false, mapError = (error) => error } = {}) {
119
- const reader = htmlStream.getReader();
120
- const decoder = decodeInJs ? new TextDecoder() : void 0;
121
- try {
122
- while (true) {
123
- const { done, value } = await reader.read();
124
- if (done) break;
125
- let processed;
126
- if (typeof value === "string") processed = stream.processChunk(decoder ? decoder.decode() + value : value);
127
- else processed = decoder ? stream.processChunk(decoder.decode(value, { stream: true })) : stream.processChunkBytes(value);
128
- if (processed) yield processed;
129
- }
130
- const decoderTail = decoder?.decode();
131
- if (decoderTail) {
132
- const processed = stream.processChunk(decoderTail);
133
- if (processed) yield processed;
134
- }
135
- const final_ = stream.finish();
136
- if (hasCallbacks(callbacks)) deliverPluginData(stream.takeData(), callbacks);
137
- if (final_) yield final_;
138
- } catch (error) {
139
- throw mapError(error);
140
- } finally {
141
- reader.releaseLock();
142
- }
143
- }
144
- function createSurrogateCarry() {
145
- let held = "";
146
- return {
147
- take(chunk) {
148
- if (held) {
149
- chunk = held + chunk;
150
- held = "";
151
- }
152
- const last = chunk.charCodeAt(chunk.length - 1);
153
- if (last >= 55296 && last <= 56319) {
154
- held = chunk.slice(-1);
155
- return chunk.slice(0, -1);
156
- }
157
- return chunk;
158
- },
159
- flush() {
160
- const value = held;
161
- held = "";
162
- return value;
163
- }
164
- };
165
- }
166
- function wasmPanicError(error, takeMessage) {
167
- if (!(error instanceof WebAssembly.RuntimeError)) return error;
168
- let message;
169
- try {
170
- message = takeMessage();
171
- } catch {
172
- return error;
173
- }
174
- if (!message) return error;
175
- return new Error(`mdream WASM panic, please report this at https://github.com/harlan-zw/mdream/issues\n${message}`, { cause: error });
176
- }
177
- let _initPromise;
178
- function ensureInit() {
179
- if (!_initPromise) _initPromise = init();
180
- return _initPromise;
181
- }
182
- ensureInit();
183
- function convert(html, napiOpts) {
184
- try {
185
- return htmlToMarkdownResult(html, napiOpts);
186
- } catch (error) {
187
- throw wasmPanicError(error, __mdreamTakePanicMessage);
188
- }
189
- }
190
- async function htmlToMarkdown(html, options = {}) {
191
- await ensureInit();
192
- return convertResult(convert, html, options).markdown || "";
193
- }
194
- async function createMarkdownStream(options) {
195
- await ensureInit();
196
- return new MarkdownStream(options);
197
- }
198
- var MarkdownStream = class {
199
- _inner;
200
- _carry = createSurrogateCarry();
201
- _callbacks;
202
- constructor(options = {}) {
203
- const resolved = resolveOptions(options);
204
- this._callbacks = resolved;
205
- try {
206
- this._inner = new MarkdownStream$1(resolved.napiOpts);
207
- } catch (error) {
208
- throw wasmPanicError(error, __mdreamTakePanicMessage);
209
- }
210
- }
211
- processChunk(chunk) {
212
- try {
213
- return this._inner.processChunk(this._carry.take(chunk));
214
- } catch (error) {
215
- throw wasmPanicError(error, __mdreamTakePanicMessage);
216
- }
217
- }
218
- processChunkBytes(chunk) {
219
- try {
220
- const held = this._carry.flush();
221
- return held ? this._inner.processChunk(held) + this._inner.processChunkBytes(chunk) : this._inner.processChunkBytes(chunk);
222
- } catch (error) {
223
- throw wasmPanicError(error, __mdreamTakePanicMessage);
224
- }
225
- }
226
- finish() {
227
- let markdown;
228
- try {
229
- const held = this._carry.flush();
230
- markdown = held ? this._inner.processChunk(held) + this._inner.finish() : this._inner.finish();
231
- } catch (error) {
232
- throw wasmPanicError(error, __mdreamTakePanicMessage);
233
- }
234
- if (this._callbacks.frontmatterCallback || this._callbacks.extractionHandlers) deliverPluginData(this._inner.takeData(), this._callbacks);
235
- return markdown;
236
- }
237
- };
238
- async function* streamHtmlToMarkdown(htmlStream, options = {}) {
239
- if (!htmlStream) throw new Error("Invalid HTML stream provided");
240
- await ensureInit();
241
- const resolved = resolveOptions(options);
242
- const carry = createSurrogateCarry();
243
- let stream;
244
- try {
245
- stream = new MarkdownStream$1(resolved.napiOpts);
246
- } catch (error) {
247
- throw wasmPanicError(error, __mdreamTakePanicMessage);
248
- }
249
- yield* pumpStream({
250
- processChunk: (chunk) => stream.processChunk(carry.take(chunk)),
251
- processChunkBytes: (chunk) => {
252
- const held = carry.flush();
253
- return held ? stream.processChunk(held) + stream.processChunkBytes(chunk) : stream.processChunkBytes(chunk);
254
- },
255
- finish: () => {
256
- const held = carry.flush();
257
- return held ? stream.processChunk(held) + stream.finish() : stream.finish();
258
- },
259
- takeData: () => stream.takeData()
260
- }, htmlStream, resolved, { mapError: (error) => wasmPanicError(error, __mdreamTakePanicMessage) });
261
- }
262
- export { MarkdownStream, createMarkdownStream, htmlToMarkdown, streamHtmlToMarkdown };
@@ -1,100 +0,0 @@
1
- interface CleanOptions {
2
- /** Strip tracking query parameters (utm_*, fbclid, gclid, etc.) from URLs */
3
- urls?: boolean;
4
- /** Strip fragment-only links that don't match any heading in the output */
5
- fragments?: boolean;
6
- /** Strip links with meaningless hrefs (#, javascript:void(0)) → plain text */
7
- emptyLinks?: boolean;
8
- /** Collapse 3+ consecutive blank lines to 2 */
9
- blankLines?: boolean;
10
- /** Strip links where text equals URL: [https://x.com](https://x.com) → https://x.com */
11
- redundantLinks?: boolean;
12
- /** Strip self-referencing heading anchors: ## [Title](#title) → ## Title */
13
- selfLinkHeadings?: boolean;
14
- /** Strip images with no alt text (decorative/tracking pixels) */
15
- emptyImages?: boolean;
16
- /** Drop links that produce no visible text: [](url) → nothing */
17
- emptyLinkText?: boolean;
18
- }
19
- interface ExtractedElement {
20
- selector: string;
21
- tagName: string;
22
- textContent: string;
23
- attributes: Record<string, string>;
24
- }
25
- interface FrontmatterConfig {
26
- additionalFields?: Record<string, string>;
27
- metaFields?: string[];
28
- /** Callback to receive structured frontmatter data after conversion */
29
- onExtract?: (frontmatter: Record<string, string>) => void;
30
- }
31
- interface TagOverride {
32
- enter?: string;
33
- exit?: string;
34
- spacing?: number[];
35
- isInline?: boolean;
36
- isSelfClosing?: boolean;
37
- collapsesInnerWhiteSpace?: boolean;
38
- alias?: string;
39
- }
40
- interface MdreamOptions {
41
- /** Origin URL for resolving relative image paths and internal links. */
42
- origin?: string;
43
- /**
44
- * Clean up the markdown output. Pass `true` for all cleanup or an object
45
- * to enable specific features. Both `htmlToMarkdown` and
46
- * `streamHtmlToMarkdown` apply it.
47
- */
48
- clean?: boolean | CleanOptions;
49
- /** Enable minimal preset (frontmatter, isolateMain, tailwind, filter). Default: false */
50
- minimal?: boolean;
51
- /**
52
- * Extract frontmatter from HTML head.
53
- * - `true`: enable with defaults
54
- * - `(fm) => void`: enable and receive structured data via callback
55
- * - `FrontmatterConfig`: enable with config options and optional callback
56
- */
57
- frontmatter?: boolean | ((frontmatter: Record<string, string>) => void) | FrontmatterConfig;
58
- /** Isolate main content area. Default when minimal: true */
59
- isolateMain?: boolean;
60
- /** Convert Tailwind utility classes. Default when minimal: true */
61
- tailwind?: boolean;
62
- /**
63
- * Filter elements by CSS selector. `minimal` excludes form, nav, footer, and
64
- * similar; a filter passed with `minimal` adds to those excludes. `false`
65
- * turns filtering off, including the `minimal` one.
66
- */
67
- filter?: false | {
68
- include?: string[];
69
- exclude?: string[];
70
- processChildren?: boolean;
71
- };
72
- /** Extract elements matching CSS selectors */
73
- extraction?: Record<string, (element: ExtractedElement) => void>;
74
- /** Tag overrides. String values act as aliases */
75
- tagOverrides?: Record<string, TagOverride | string>;
76
- /**
77
- * Hard-wrap prose at this many characters, breaking on word boundaries.
78
- * Applied inline during conversion (zero-cost when unset). Code blocks,
79
- * tables, and headings are never wrapped. `0` disables wrapping.
80
- */
81
- wrapWidth?: number;
82
- /**
83
- * Output format. Defaults to `markdown`; use `text` for readable plain text,
84
- * or `html` for allowlisted semantic HTML.
85
- */
86
- format?: 'markdown' | 'text' | 'html';
87
- }
88
- export declare function htmlToMarkdown(html: string, options?: Partial<MdreamOptions>): string;
89
- /** Streaming converter. Runs the frontmatter and extraction callbacks in `finish()`. */
90
- export declare class MarkdownStream {
91
- private _inner;
92
- private _carry;
93
- private _callbacks;
94
- constructor(options?: Partial<MdreamOptions>);
95
- processChunk(chunk: string): string;
96
- processChunkBytes(chunk: Uint8Array): string;
97
- finish(): string;
98
- }
99
- export declare function streamHtmlToMarkdown(htmlStream: ReadableStream<Uint8Array | string> | null, options?: Partial<MdreamOptions>): AsyncIterable<string>;
100
- export type { CleanOptions, ExtractedElement, FrontmatterConfig, MdreamOptions, TagOverride };