@nodetool-ai/base-nodes 0.7.0-rc.23 → 0.8.2

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 (367) hide show
  1. package/README.md +21 -0
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/builtin-packs.d.ts +17 -0
  4. package/dist/builtin-packs.d.ts.map +1 -0
  5. package/dist/builtin-packs.js +95 -0
  6. package/dist/builtin-packs.js.map +1 -0
  7. package/dist/index.d.ts +63 -67
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +186 -173
  10. package/dist/index.js.map +1 -1
  11. package/dist/platforms/browser.d.ts +19 -0
  12. package/dist/platforms/browser.d.ts.map +1 -0
  13. package/dist/platforms/browser.js +29 -0
  14. package/dist/platforms/browser.js.map +1 -0
  15. package/package.json +72 -65
  16. package/dist/lib/audio-wav.d.ts +0 -66
  17. package/dist/lib/audio-wav.d.ts.map +0 -1
  18. package/dist/lib/audio-wav.js +0 -215
  19. package/dist/lib/audio-wav.js.map +0 -1
  20. package/dist/nodes/agent-tool-hydration.d.ts +0 -10
  21. package/dist/nodes/agent-tool-hydration.d.ts.map +0 -1
  22. package/dist/nodes/agent-tool-hydration.js +0 -43
  23. package/dist/nodes/agent-tool-hydration.js.map +0 -1
  24. package/dist/nodes/agents.d.ts +0 -262
  25. package/dist/nodes/agents.d.ts.map +0 -1
  26. package/dist/nodes/agents.js +0 -2856
  27. package/dist/nodes/agents.js.map +0 -1
  28. package/dist/nodes/anthropic.d.ts +0 -26
  29. package/dist/nodes/anthropic.d.ts.map +0 -1
  30. package/dist/nodes/anthropic.js +0 -133
  31. package/dist/nodes/anthropic.js.map +0 -1
  32. package/dist/nodes/apify.d.ts +0 -120
  33. package/dist/nodes/apify.d.ts.map +0 -1
  34. package/dist/nodes/apify.js +0 -618
  35. package/dist/nodes/apify.js.map +0 -1
  36. package/dist/nodes/audio.d.ts +0 -301
  37. package/dist/nodes/audio.d.ts.map +0 -1
  38. package/dist/nodes/audio.js +0 -1274
  39. package/dist/nodes/audio.js.map +0 -1
  40. package/dist/nodes/code-node.d.ts +0 -34
  41. package/dist/nodes/code-node.d.ts.map +0 -1
  42. package/dist/nodes/code-node.js +0 -343
  43. package/dist/nodes/code-node.js.map +0 -1
  44. package/dist/nodes/code.d.ts +0 -301
  45. package/dist/nodes/code.d.ts.map +0 -1
  46. package/dist/nodes/code.js +0 -850
  47. package/dist/nodes/code.js.map +0 -1
  48. package/dist/nodes/compare.d.ts +0 -18
  49. package/dist/nodes/compare.d.ts.map +0 -1
  50. package/dist/nodes/compare.js +0 -122
  51. package/dist/nodes/compare.js.map +0 -1
  52. package/dist/nodes/constant.d.ts +0 -315
  53. package/dist/nodes/constant.d.ts.map +0 -1
  54. package/dist/nodes/constant.js +0 -715
  55. package/dist/nodes/constant.js.map +0 -1
  56. package/dist/nodes/control.d.ts +0 -83
  57. package/dist/nodes/control.d.ts.map +0 -1
  58. package/dist/nodes/control.js +0 -212
  59. package/dist/nodes/control.js.map +0 -1
  60. package/dist/nodes/data.d.ts +0 -369
  61. package/dist/nodes/data.d.ts.map +0 -1
  62. package/dist/nodes/data.js +0 -1590
  63. package/dist/nodes/data.js.map +0 -1
  64. package/dist/nodes/document.d.ts +0 -134
  65. package/dist/nodes/document.d.ts.map +0 -1
  66. package/dist/nodes/document.js +0 -984
  67. package/dist/nodes/document.js.map +0 -1
  68. package/dist/nodes/extended-placeholders.d.ts +0 -6
  69. package/dist/nodes/extended-placeholders.d.ts.map +0 -1
  70. package/dist/nodes/extended-placeholders.js +0 -19
  71. package/dist/nodes/extended-placeholders.js.map +0 -1
  72. package/dist/nodes/gemini.d.ts +0 -110
  73. package/dist/nodes/gemini.d.ts.map +0 -1
  74. package/dist/nodes/gemini.js +0 -871
  75. package/dist/nodes/gemini.js.map +0 -1
  76. package/dist/nodes/generators.d.ts +0 -84
  77. package/dist/nodes/generators.d.ts.map +0 -1
  78. package/dist/nodes/generators.js +0 -968
  79. package/dist/nodes/generators.js.map +0 -1
  80. package/dist/nodes/image.d.ts +0 -232
  81. package/dist/nodes/image.d.ts.map +0 -1
  82. package/dist/nodes/image.js +0 -1395
  83. package/dist/nodes/image.js.map +0 -1
  84. package/dist/nodes/input.d.ts +0 -445
  85. package/dist/nodes/input.d.ts.map +0 -1
  86. package/dist/nodes/input.js +0 -1459
  87. package/dist/nodes/input.js.map +0 -1
  88. package/dist/nodes/kie-dynamic.d.ts +0 -31
  89. package/dist/nodes/kie-dynamic.d.ts.map +0 -1
  90. package/dist/nodes/kie-dynamic.js +0 -270
  91. package/dist/nodes/kie-dynamic.js.map +0 -1
  92. package/dist/nodes/lib-audio-dsp.d.ts +0 -85
  93. package/dist/nodes/lib-audio-dsp.d.ts.map +0 -1
  94. package/dist/nodes/lib-audio-dsp.js +0 -450
  95. package/dist/nodes/lib-audio-dsp.js.map +0 -1
  96. package/dist/nodes/lib-audio-effects.d.ts +0 -116
  97. package/dist/nodes/lib-audio-effects.d.ts.map +0 -1
  98. package/dist/nodes/lib-audio-effects.js +0 -905
  99. package/dist/nodes/lib-audio-effects.js.map +0 -1
  100. package/dist/nodes/lib-browser.d.ts +0 -99
  101. package/dist/nodes/lib-browser.d.ts.map +0 -1
  102. package/dist/nodes/lib-browser.js +0 -692
  103. package/dist/nodes/lib-browser.js.map +0 -1
  104. package/dist/nodes/lib-charts.d.ts +0 -20
  105. package/dist/nodes/lib-charts.d.ts.map +0 -1
  106. package/dist/nodes/lib-charts.js +0 -245
  107. package/dist/nodes/lib-charts.js.map +0 -1
  108. package/dist/nodes/lib-datetime.d.ts +0 -108
  109. package/dist/nodes/lib-datetime.d.ts.map +0 -1
  110. package/dist/nodes/lib-datetime.js +0 -421
  111. package/dist/nodes/lib-datetime.js.map +0 -1
  112. package/dist/nodes/lib-doc-convert.d.ts +0 -19
  113. package/dist/nodes/lib-doc-convert.d.ts.map +0 -1
  114. package/dist/nodes/lib-doc-convert.js +0 -257
  115. package/dist/nodes/lib-doc-convert.js.map +0 -1
  116. package/dist/nodes/lib-doc-transform.d.ts +0 -39
  117. package/dist/nodes/lib-doc-transform.d.ts.map +0 -1
  118. package/dist/nodes/lib-doc-transform.js +0 -335
  119. package/dist/nodes/lib-doc-transform.js.map +0 -1
  120. package/dist/nodes/lib-docx.d.ts +0 -106
  121. package/dist/nodes/lib-docx.d.ts.map +0 -1
  122. package/dist/nodes/lib-docx.js +0 -595
  123. package/dist/nodes/lib-docx.js.map +0 -1
  124. package/dist/nodes/lib-epub.d.ts +0 -55
  125. package/dist/nodes/lib-epub.d.ts.map +0 -1
  126. package/dist/nodes/lib-epub.js +0 -220
  127. package/dist/nodes/lib-epub.js.map +0 -1
  128. package/dist/nodes/lib-excel.d.ts +0 -74
  129. package/dist/nodes/lib-excel.d.ts.map +0 -1
  130. package/dist/nodes/lib-excel.js +0 -448
  131. package/dist/nodes/lib-excel.js.map +0 -1
  132. package/dist/nodes/lib-graphql.d.ts +0 -66
  133. package/dist/nodes/lib-graphql.d.ts.map +0 -1
  134. package/dist/nodes/lib-graphql.js +0 -333
  135. package/dist/nodes/lib-graphql.js.map +0 -1
  136. package/dist/nodes/lib-grid.d.ts +0 -27
  137. package/dist/nodes/lib-grid.d.ts.map +0 -1
  138. package/dist/nodes/lib-grid.js +0 -172
  139. package/dist/nodes/lib-grid.js.map +0 -1
  140. package/dist/nodes/lib-html-parse.d.ts +0 -108
  141. package/dist/nodes/lib-html-parse.d.ts.map +0 -1
  142. package/dist/nodes/lib-html-parse.js +0 -365
  143. package/dist/nodes/lib-html-parse.js.map +0 -1
  144. package/dist/nodes/lib-http.d.ts +0 -98
  145. package/dist/nodes/lib-http.d.ts.map +0 -1
  146. package/dist/nodes/lib-http.js +0 -267
  147. package/dist/nodes/lib-http.js.map +0 -1
  148. package/dist/nodes/lib-image-color-grading.d.ts +0 -3
  149. package/dist/nodes/lib-image-color-grading.d.ts.map +0 -1
  150. package/dist/nodes/lib-image-color-grading.js +0 -1386
  151. package/dist/nodes/lib-image-color-grading.js.map +0 -1
  152. package/dist/nodes/lib-image-draw.d.ts +0 -3
  153. package/dist/nodes/lib-image-draw.d.ts.map +0 -1
  154. package/dist/nodes/lib-image-draw.js +0 -470
  155. package/dist/nodes/lib-image-draw.js.map +0 -1
  156. package/dist/nodes/lib-image-enhance.d.ts +0 -3
  157. package/dist/nodes/lib-image-enhance.d.ts.map +0 -1
  158. package/dist/nodes/lib-image-enhance.js +0 -731
  159. package/dist/nodes/lib-image-enhance.js.map +0 -1
  160. package/dist/nodes/lib-image-filter.d.ts +0 -3
  161. package/dist/nodes/lib-image-filter.d.ts.map +0 -1
  162. package/dist/nodes/lib-image-filter.js +0 -684
  163. package/dist/nodes/lib-image-filter.js.map +0 -1
  164. package/dist/nodes/lib-image-utils.d.ts +0 -24
  165. package/dist/nodes/lib-image-utils.d.ts.map +0 -1
  166. package/dist/nodes/lib-image-utils.js +0 -150
  167. package/dist/nodes/lib-image-utils.js.map +0 -1
  168. package/dist/nodes/lib-mail.d.ts +0 -74
  169. package/dist/nodes/lib-mail.d.ts.map +0 -1
  170. package/dist/nodes/lib-mail.js +0 -452
  171. package/dist/nodes/lib-mail.js.map +0 -1
  172. package/dist/nodes/lib-markdown.d.ts +0 -70
  173. package/dist/nodes/lib-markdown.d.ts.map +0 -1
  174. package/dist/nodes/lib-markdown.js +0 -236
  175. package/dist/nodes/lib-markdown.js.map +0 -1
  176. package/dist/nodes/lib-nlp.d.ts +0 -98
  177. package/dist/nodes/lib-nlp.d.ts.map +0 -1
  178. package/dist/nodes/lib-nlp.js +0 -374
  179. package/dist/nodes/lib-nlp.js.map +0 -1
  180. package/dist/nodes/lib-notion.d.ts +0 -99
  181. package/dist/nodes/lib-notion.d.ts.map +0 -1
  182. package/dist/nodes/lib-notion.js +0 -601
  183. package/dist/nodes/lib-notion.js.map +0 -1
  184. package/dist/nodes/lib-ocr.d.ts +0 -31
  185. package/dist/nodes/lib-ocr.d.ts.map +0 -1
  186. package/dist/nodes/lib-ocr.js +0 -143
  187. package/dist/nodes/lib-ocr.js.map +0 -1
  188. package/dist/nodes/lib-os.d.ts +0 -312
  189. package/dist/nodes/lib-os.d.ts.map +0 -1
  190. package/dist/nodes/lib-os.js +0 -909
  191. package/dist/nodes/lib-os.js.map +0 -1
  192. package/dist/nodes/lib-pdf.d.ts +0 -142
  193. package/dist/nodes/lib-pdf.d.ts.map +0 -1
  194. package/dist/nodes/lib-pdf.js +0 -871
  195. package/dist/nodes/lib-pdf.js.map +0 -1
  196. package/dist/nodes/lib-pptx.d.ts +0 -29
  197. package/dist/nodes/lib-pptx.d.ts.map +0 -1
  198. package/dist/nodes/lib-pptx.js +0 -122
  199. package/dist/nodes/lib-pptx.js.map +0 -1
  200. package/dist/nodes/lib-rss.d.ts +0 -31
  201. package/dist/nodes/lib-rss.d.ts.map +0 -1
  202. package/dist/nodes/lib-rss.js +0 -163
  203. package/dist/nodes/lib-rss.js.map +0 -1
  204. package/dist/nodes/lib-s3.d.ts +0 -112
  205. package/dist/nodes/lib-s3.d.ts.map +0 -1
  206. package/dist/nodes/lib-s3.js +0 -521
  207. package/dist/nodes/lib-s3.js.map +0 -1
  208. package/dist/nodes/lib-secret.d.ts +0 -15
  209. package/dist/nodes/lib-secret.d.ts.map +0 -1
  210. package/dist/nodes/lib-secret.js +0 -42
  211. package/dist/nodes/lib-secret.js.map +0 -1
  212. package/dist/nodes/lib-sqlite.d.ts +0 -102
  213. package/dist/nodes/lib-sqlite.d.ts.map +0 -1
  214. package/dist/nodes/lib-sqlite.js +0 -532
  215. package/dist/nodes/lib-sqlite.js.map +0 -1
  216. package/dist/nodes/lib-supabase.d.ts +0 -86
  217. package/dist/nodes/lib-supabase.d.ts.map +0 -1
  218. package/dist/nodes/lib-supabase.js +0 -425
  219. package/dist/nodes/lib-supabase.js.map +0 -1
  220. package/dist/nodes/lib-svg.d.ts +0 -199
  221. package/dist/nodes/lib-svg.d.ts.map +0 -1
  222. package/dist/nodes/lib-svg.js +0 -1027
  223. package/dist/nodes/lib-svg.js.map +0 -1
  224. package/dist/nodes/lib-tensorflow.d.ts +0 -71
  225. package/dist/nodes/lib-tensorflow.d.ts.map +0 -1
  226. package/dist/nodes/lib-tensorflow.js +0 -351
  227. package/dist/nodes/lib-tensorflow.js.map +0 -1
  228. package/dist/nodes/lib-twilio.d.ts +0 -71
  229. package/dist/nodes/lib-twilio.d.ts.map +0 -1
  230. package/dist/nodes/lib-twilio.js +0 -469
  231. package/dist/nodes/lib-twilio.js.map +0 -1
  232. package/dist/nodes/lib-validate.d.ts +0 -84
  233. package/dist/nodes/lib-validate.d.ts.map +0 -1
  234. package/dist/nodes/lib-validate.js +0 -215
  235. package/dist/nodes/lib-validate.js.map +0 -1
  236. package/dist/nodes/lib-video-download.d.ts +0 -26
  237. package/dist/nodes/lib-video-download.d.ts.map +0 -1
  238. package/dist/nodes/lib-video-download.js +0 -299
  239. package/dist/nodes/lib-video-download.js.map +0 -1
  240. package/dist/nodes/messaging.d.ts +0 -88
  241. package/dist/nodes/messaging.d.ts.map +0 -1
  242. package/dist/nodes/messaging.js +0 -418
  243. package/dist/nodes/messaging.js.map +0 -1
  244. package/dist/nodes/mistral.d.ts +0 -83
  245. package/dist/nodes/mistral.d.ts.map +0 -1
  246. package/dist/nodes/mistral.js +0 -450
  247. package/dist/nodes/mistral.js.map +0 -1
  248. package/dist/nodes/model3d/analysis.d.ts +0 -13
  249. package/dist/nodes/model3d/analysis.d.ts.map +0 -1
  250. package/dist/nodes/model3d/analysis.js +0 -36
  251. package/dist/nodes/model3d/analysis.js.map +0 -1
  252. package/dist/nodes/model3d/base.d.ts +0 -11
  253. package/dist/nodes/model3d/base.d.ts.map +0 -1
  254. package/dist/nodes/model3d/base.js +0 -20
  255. package/dist/nodes/model3d/base.js.map +0 -1
  256. package/dist/nodes/model3d/boolean-ops.d.ts +0 -2
  257. package/dist/nodes/model3d/boolean-ops.d.ts.map +0 -1
  258. package/dist/nodes/model3d/boolean-ops.js +0 -172
  259. package/dist/nodes/model3d/boolean-ops.js.map +0 -1
  260. package/dist/nodes/model3d/cleanup.d.ts +0 -47
  261. package/dist/nodes/model3d/cleanup.d.ts.map +0 -1
  262. package/dist/nodes/model3d/cleanup.js +0 -136
  263. package/dist/nodes/model3d/cleanup.js.map +0 -1
  264. package/dist/nodes/model3d/convert.d.ts +0 -14
  265. package/dist/nodes/model3d/convert.d.ts.map +0 -1
  266. package/dist/nodes/model3d/convert.js +0 -64
  267. package/dist/nodes/model3d/convert.js.map +0 -1
  268. package/dist/nodes/model3d/defaults.d.ts +0 -34
  269. package/dist/nodes/model3d/defaults.d.ts.map +0 -1
  270. package/dist/nodes/model3d/defaults.js +0 -28
  271. package/dist/nodes/model3d/defaults.js.map +0 -1
  272. package/dist/nodes/model3d/document-ops.d.ts +0 -4
  273. package/dist/nodes/model3d/document-ops.d.ts.map +0 -1
  274. package/dist/nodes/model3d/document-ops.js +0 -40
  275. package/dist/nodes/model3d/document-ops.js.map +0 -1
  276. package/dist/nodes/model3d/generation.d.ts +0 -39
  277. package/dist/nodes/model3d/generation.d.ts.map +0 -1
  278. package/dist/nodes/model3d/generation.js +0 -179
  279. package/dist/nodes/model3d/generation.js.map +0 -1
  280. package/dist/nodes/model3d/glb.d.ts +0 -29
  281. package/dist/nodes/model3d/glb.d.ts.map +0 -1
  282. package/dist/nodes/model3d/glb.js +0 -255
  283. package/dist/nodes/model3d/glb.js.map +0 -1
  284. package/dist/nodes/model3d/index.d.ts +0 -20
  285. package/dist/nodes/model3d/index.d.ts.map +0 -1
  286. package/dist/nodes/model3d/index.js +0 -38
  287. package/dist/nodes/model3d/index.js.map +0 -1
  288. package/dist/nodes/model3d/io.d.ts +0 -38
  289. package/dist/nodes/model3d/io.d.ts.map +0 -1
  290. package/dist/nodes/model3d/io.js +0 -162
  291. package/dist/nodes/model3d/io.js.map +0 -1
  292. package/dist/nodes/model3d/mesh-ops.d.ts +0 -40
  293. package/dist/nodes/model3d/mesh-ops.d.ts.map +0 -1
  294. package/dist/nodes/model3d/mesh-ops.js +0 -775
  295. package/dist/nodes/model3d/mesh-ops.js.map +0 -1
  296. package/dist/nodes/model3d/nodes.d.ts +0 -2
  297. package/dist/nodes/model3d/nodes.d.ts.map +0 -1
  298. package/dist/nodes/model3d/nodes.js +0 -2
  299. package/dist/nodes/model3d/nodes.js.map +0 -1
  300. package/dist/nodes/model3d/ops.d.ts +0 -37
  301. package/dist/nodes/model3d/ops.d.ts.map +0 -1
  302. package/dist/nodes/model3d/ops.js +0 -137
  303. package/dist/nodes/model3d/ops.js.map +0 -1
  304. package/dist/nodes/model3d/transforms.d.ts +0 -49
  305. package/dist/nodes/model3d/transforms.d.ts.map +0 -1
  306. package/dist/nodes/model3d/transforms.js +0 -142
  307. package/dist/nodes/model3d/transforms.js.map +0 -1
  308. package/dist/nodes/model3d/types.d.ts +0 -81
  309. package/dist/nodes/model3d/types.d.ts.map +0 -1
  310. package/dist/nodes/model3d/types.js +0 -2
  311. package/dist/nodes/model3d/types.js.map +0 -1
  312. package/dist/nodes/model3d/utils.d.ts +0 -34
  313. package/dist/nodes/model3d/utils.d.ts.map +0 -1
  314. package/dist/nodes/model3d/utils.js +0 -185
  315. package/dist/nodes/model3d/utils.js.map +0 -1
  316. package/dist/nodes/model3d.d.ts +0 -2
  317. package/dist/nodes/model3d.d.ts.map +0 -1
  318. package/dist/nodes/model3d.js +0 -2
  319. package/dist/nodes/model3d.js.map +0 -1
  320. package/dist/nodes/openai.d.ts +0 -172
  321. package/dist/nodes/openai.d.ts.map +0 -1
  322. package/dist/nodes/openai.js +0 -1294
  323. package/dist/nodes/openai.js.map +0 -1
  324. package/dist/nodes/output.d.ts +0 -29
  325. package/dist/nodes/output.d.ts.map +0 -1
  326. package/dist/nodes/output.js +0 -87
  327. package/dist/nodes/output.js.map +0 -1
  328. package/dist/nodes/sandbox.d.ts +0 -63
  329. package/dist/nodes/sandbox.d.ts.map +0 -1
  330. package/dist/nodes/sandbox.js +0 -633
  331. package/dist/nodes/sandbox.js.map +0 -1
  332. package/dist/nodes/search.d.ts +0 -117
  333. package/dist/nodes/search.d.ts.map +0 -1
  334. package/dist/nodes/search.js +0 -607
  335. package/dist/nodes/search.js.map +0 -1
  336. package/dist/nodes/team.d.ts +0 -74
  337. package/dist/nodes/team.d.ts.map +0 -1
  338. package/dist/nodes/team.js +0 -309
  339. package/dist/nodes/team.js.map +0 -1
  340. package/dist/nodes/text-extra.d.ts +0 -633
  341. package/dist/nodes/text-extra.d.ts.map +0 -1
  342. package/dist/nodes/text-extra.js +0 -2226
  343. package/dist/nodes/text-extra.js.map +0 -1
  344. package/dist/nodes/tool-agents.d.ts +0 -334
  345. package/dist/nodes/tool-agents.d.ts.map +0 -1
  346. package/dist/nodes/tool-agents.js +0 -1861
  347. package/dist/nodes/tool-agents.js.map +0 -1
  348. package/dist/nodes/triggers.d.ts +0 -107
  349. package/dist/nodes/triggers.d.ts.map +0 -1
  350. package/dist/nodes/triggers.js +0 -706
  351. package/dist/nodes/triggers.js.map +0 -1
  352. package/dist/nodes/vector.d.ts +0 -168
  353. package/dist/nodes/vector.d.ts.map +0 -1
  354. package/dist/nodes/vector.js +0 -1121
  355. package/dist/nodes/vector.js.map +0 -1
  356. package/dist/nodes/video.d.ts +0 -387
  357. package/dist/nodes/video.d.ts.map +0 -1
  358. package/dist/nodes/video.js +0 -2383
  359. package/dist/nodes/video.js.map +0 -1
  360. package/dist/nodes/workflow.d.ts +0 -24
  361. package/dist/nodes/workflow.d.ts.map +0 -1
  362. package/dist/nodes/workflow.js +0 -146
  363. package/dist/nodes/workflow.js.map +0 -1
  364. package/dist/nodes/workspace.d.ts +0 -203
  365. package/dist/nodes/workspace.d.ts.map +0 -1
  366. package/dist/nodes/workspace.js +0 -795
  367. package/dist/nodes/workspace.js.map +0 -1
@@ -1,257 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { BaseNode, prop } from "@nodetool-ai/node-sdk";
8
- import { execFile as execFileCb } from "node:child_process";
9
- import { promises as fs } from "node:fs";
10
- import os from "node:os";
11
- import path from "node:path";
12
- import { promisify } from "node:util";
13
- const execFile = promisify(execFileCb);
14
- /**
15
- * Resolve bytes from a ref object or raw Uint8Array.
16
- */
17
- function isByte(value) {
18
- return typeof value === "number" &&
19
- Number.isInteger(value) &&
20
- value >= 0 &&
21
- value <= 255;
22
- }
23
- function bufferFromArrayLike(value) {
24
- if (!Number.isSafeInteger(value.length) || value.length < 0) {
25
- return null;
26
- }
27
- const bytes = new Uint8Array(value.length);
28
- for (let i = 0; i < value.length; i++) {
29
- const item = value[i];
30
- if (!isByte(item)) {
31
- return null;
32
- }
33
- bytes[i] = item;
34
- }
35
- return Buffer.from(bytes);
36
- }
37
- function bufferFromNumericObject(obj) {
38
- if (!Object.hasOwn(obj, "0")) {
39
- return null;
40
- }
41
- let length = 0;
42
- while (Object.hasOwn(obj, String(length))) {
43
- if (!isByte(obj[String(length)])) {
44
- return null;
45
- }
46
- length++;
47
- }
48
- if (length === 0) {
49
- return null;
50
- }
51
- const bytes = new Uint8Array(length);
52
- let numericKeyCount = 0;
53
- for (const key in obj) {
54
- if (!Object.hasOwn(obj, key) || !/^\d+$/.test(key)) {
55
- continue;
56
- }
57
- const index = Number(key);
58
- if (index >= length) {
59
- return null;
60
- }
61
- const value = obj[key];
62
- if (!isByte(value)) {
63
- return null;
64
- }
65
- bytes[index] = value;
66
- numericKeyCount++;
67
- }
68
- if (numericKeyCount !== length) {
69
- return null;
70
- }
71
- return Buffer.from(bytes);
72
- }
73
- function bufferFromBase64(value) {
74
- const trimmed = value.trim();
75
- const dataUriMatch = trimmed.match(/^data:[^;]+;base64,(.+)$/s);
76
- const payload = dataUriMatch ? dataUriMatch[1] : trimmed;
77
- if ((!dataUriMatch && payload.length <= 20) ||
78
- payload.length % 4 !== 0 ||
79
- !/^[A-Za-z0-9+/\n\r]+=*$/.test(payload)) {
80
- return null;
81
- }
82
- return Buffer.from(payload, "base64");
83
- }
84
- function refToBytes(ref) {
85
- if (ref == null)
86
- return null;
87
- if (typeof ref === "string") {
88
- return bufferFromBase64(ref);
89
- }
90
- // Native Uint8Array/Buffer — always copy to own the memory
91
- if (ref instanceof Uint8Array)
92
- return Buffer.copyBytesFrom(ref);
93
- if (Buffer.isBuffer(ref))
94
- return Buffer.from(ref);
95
- if (ref instanceof ArrayBuffer)
96
- return Buffer.from(new Uint8Array(ref));
97
- if (ArrayBuffer.isView(ref)) {
98
- const view = ref;
99
- return Buffer.from(new Uint8Array(view.buffer, view.byteOffset, view.byteLength));
100
- }
101
- if (Array.isArray(ref)) {
102
- return bufferFromArrayLike(ref);
103
- }
104
- if (typeof ref !== "object")
105
- return null;
106
- // Cross-context Uint8Array (constructor name match, instanceof fails)
107
- const name = ref.constructor?.name;
108
- if ((name === "Uint8Array" || name === "Buffer") &&
109
- typeof ref.length === "number") {
110
- const fromArrayLike = bufferFromArrayLike(ref);
111
- if (fromArrayLike) {
112
- return fromArrayLike;
113
- }
114
- }
115
- const obj = ref;
116
- const fromNumericObject = bufferFromNumericObject(obj);
117
- if (fromNumericObject) {
118
- return fromNumericObject;
119
- }
120
- if ("data" in obj) {
121
- return refToBytes(obj.data);
122
- }
123
- return null;
124
- }
125
- async function loadFromUri(uri, context) {
126
- if (!uri)
127
- return null;
128
- if (context?.storage) {
129
- const stored = await context.storage.retrieve(uri);
130
- if (stored !== null)
131
- return Buffer.from(stored);
132
- }
133
- let filePath = uri;
134
- if (filePath.startsWith("file://")) {
135
- filePath = decodeURIComponent(new URL(filePath).pathname);
136
- }
137
- try {
138
- return Buffer.from(await fs.readFile(filePath));
139
- }
140
- catch {
141
- return null;
142
- }
143
- }
144
- // ---------------------------------------------------------------------------
145
- // PDF → Markdown
146
- // ---------------------------------------------------------------------------
147
- async function pdfToText(inputBytes) {
148
- const { LiteParse } = await import("@llamaindex/liteparse");
149
- const parser = new LiteParse({ ocrEnabled: false });
150
- const result = await parser.parse(inputBytes, true);
151
- return result.text;
152
- }
153
- // ---------------------------------------------------------------------------
154
- // DOCX → Markdown (pandoc)
155
- // ---------------------------------------------------------------------------
156
- async function docxToMarkdown(inputBytes) {
157
- const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "nodetool-docx-"));
158
- const inputPath = path.join(tmpDir, "input.docx");
159
- try {
160
- await fs.writeFile(inputPath, inputBytes);
161
- const { stdout } = await execFile("pandoc", [inputPath, "-f", "docx", "-t", "markdown", "--wrap=none"], { maxBuffer: 50 * 1024 * 1024, timeout: 60000 });
162
- return stdout;
163
- }
164
- finally {
165
- await fs.rm(tmpDir, { recursive: true, force: true });
166
- }
167
- }
168
- // ---------------------------------------------------------------------------
169
- // Shared byte format detection
170
- // ---------------------------------------------------------------------------
171
- async function convertBytes(bytes, turndown) {
172
- if (bytes.length >= 4 && bytes[0] === 0x25 && bytes[1] === 0x50 && bytes[2] === 0x44 && bytes[3] === 0x46) {
173
- return pdfToText(bytes);
174
- }
175
- if (bytes.length >= 4 && bytes[0] === 0x50 && bytes[1] === 0x4b && bytes[2] === 0x03 && bytes[3] === 0x04) {
176
- return docxToMarkdown(bytes);
177
- }
178
- const text = bytes.toString("utf-8");
179
- if (text.includes("<") && text.includes(">")) {
180
- return turndown.turndown(text);
181
- }
182
- return text;
183
- }
184
- // ---------------------------------------------------------------------------
185
- // ConvertToMarkdown node
186
- // ---------------------------------------------------------------------------
187
- export class ConvertToMarkdownLibNode extends BaseNode {
188
- static nodeType = "lib.convert.ConvertToMarkdown";
189
- static title = "Convert To Markdown";
190
- static description = "Converts PDF, DOCX, or HTML to markdown text.\n markdown, convert, document, pdf, docx, html, bytes\n\n Connect one input — document ref, raw bytes, or HTML string.";
191
- static requiredRuntimes = ["pandoc"];
192
- static metadataOutputTypes = {
193
- output: "str"
194
- };
195
- static exposeAsTool = true;
196
- async process(context) {
197
- const TurndownService = (await import("turndown")).default;
198
- const turndown = new TurndownService();
199
- // 1. Document ref input
200
- const doc = this.document;
201
- if (doc && typeof doc === "object") {
202
- const uri = typeof doc.uri === "string" ? doc.uri : "";
203
- let bytes = refToBytes(doc);
204
- if ((!bytes || bytes.length === 0) && uri) {
205
- bytes = await loadFromUri(uri, context);
206
- }
207
- if (bytes && bytes.length > 0) {
208
- return { output: await convertBytes(bytes, turndown) };
209
- }
210
- if (typeof doc.data === "string" && doc.data) {
211
- if (doc.data.includes("<") && doc.data.includes(">")) {
212
- return { output: turndown.turndown(doc.data) };
213
- }
214
- return { output: doc.data };
215
- }
216
- }
217
- // 2. Raw bytes input
218
- const rawBytes = refToBytes(this.bytes);
219
- if (rawBytes && rawBytes.length > 0) {
220
- return { output: await convertBytes(rawBytes, turndown) };
221
- }
222
- // 3. HTML string input
223
- const html = String(this.html ?? "");
224
- if (html) {
225
- return { output: turndown.turndown(html) };
226
- }
227
- throw new Error("Provide a document, bytes, or HTML input");
228
- }
229
- }
230
- __decorate([
231
- prop({
232
- type: "document",
233
- default: { type: "document", uri: "", asset_id: null, data: null, metadata: null },
234
- title: "Document",
235
- description: "A document ref (PDF, DOCX, or text file)"
236
- })
237
- ], ConvertToMarkdownLibNode.prototype, "document", void 0);
238
- __decorate([
239
- prop({
240
- type: "bytes",
241
- default: null,
242
- title: "Bytes",
243
- description: "Raw PDF or DOCX bytes (e.g. from HTTP GET Bytes)"
244
- })
245
- ], ConvertToMarkdownLibNode.prototype, "bytes", void 0);
246
- __decorate([
247
- prop({
248
- type: "str",
249
- default: "",
250
- title: "HTML",
251
- description: "HTML string to convert to markdown"
252
- })
253
- ], ConvertToMarkdownLibNode.prototype, "html", void 0);
254
- export const LIB_MARKITDOWN_NODES = [
255
- ConvertToMarkdownLibNode
256
- ];
257
- //# sourceMappingURL=lib-doc-convert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib-doc-convert.js","sourceRoot":"","sources":["../../src/nodes/lib-doc-convert.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import { BaseNode } from "@nodetool-ai/node-sdk";
2
- declare abstract class PandocBaseLibNode extends BaseNode {
3
- static readonly requiredRuntimes: string[];
4
- protected formats(): {
5
- input: string;
6
- output: string;
7
- };
8
- protected extraArgs(): string[];
9
- protected timeoutMs(): number;
10
- }
11
- export declare class ConvertTextPandocLibNode extends PandocBaseLibNode {
12
- static readonly nodeType = "lib.convert.pandoc.ConvertText";
13
- static readonly title = "Convert Text";
14
- static readonly description = "Converts text content between different document formats using pandoc.\n convert, text, format, pandoc\n\n Use cases:\n - Convert text content between various formats (Markdown, HTML, LaTeX, etc.)\n - Transform content without saving to disk\n - Process text snippets in different formats";
15
- static readonly metadataOutputTypes: {
16
- output: string;
17
- };
18
- content: any;
19
- input_format: any;
20
- output_format: any;
21
- extra_args: any;
22
- process(): Promise<Record<string, unknown>>;
23
- }
24
- export declare class ConvertFilePandocLibNode extends PandocBaseLibNode {
25
- static readonly nodeType = "lib.convert.pandoc.ConvertFile";
26
- static readonly title = "Convert File";
27
- static readonly description = "Converts between different document formats using pandoc.\n convert, document, format, pandoc\n\n Use cases:\n - Convert between various document formats (Markdown, HTML, LaTeX, etc.)\n - Generate documentation in different formats\n - Create publication-ready documents";
28
- static readonly metadataOutputTypes: {
29
- output: string;
30
- };
31
- input_path: any;
32
- input_format: any;
33
- output_format: any;
34
- extra_args: any;
35
- process(): Promise<Record<string, unknown>>;
36
- }
37
- export declare const LIB_PANDOC_NODES: readonly [typeof ConvertFilePandocLibNode, typeof ConvertTextPandocLibNode];
38
- export {};
39
- //# sourceMappingURL=lib-doc-transform.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib-doc-transform.d.ts","sourceRoot":"","sources":["../../src/nodes/lib-doc-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAQ,MAAM,uBAAuB,CAAC;AAsEvD,uBAAe,iBAAkB,SAAQ,QAAQ;IAC/C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,WAAc;IAE9C,SAAS,CAAC,OAAO,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAQtD,SAAS,CAAC,SAAS,IAAI,MAAM,EAAE;IAK/B,SAAS,CAAC,SAAS,IAAI,MAAM;CAI9B;AAED,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,oCAAoC;IAC5D,MAAM,CAAC,QAAQ,CAAC,KAAK,kBAAkB;IACvC,MAAM,CAAC,QAAQ,CAAC,WAAW,qTACyR;IACpT,MAAM,CAAC,QAAQ,CAAC,mBAAmB;;MAEjC;IAOM,OAAO,EAAE,GAAG,CAAC;IAwDb,YAAY,EAAE,GAAG,CAAC;IA8BlB,aAAa,EAAE,GAAG,CAAC;IAQnB,UAAU,EAAE,GAAG,CAAC;IAElB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAYlD;AAED,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,oCAAoC;IAC5D,MAAM,CAAC,QAAQ,CAAC,KAAK,kBAAkB;IACvC,MAAM,CAAC,QAAQ,CAAC,WAAW,mSACuQ;IAClS,MAAM,CAAC,QAAQ,CAAC,mBAAmB;;MAEjC;IAUM,UAAU,EAAE,GAAG,CAAC;IAwDhB,YAAY,EAAE,GAAG,CAAC;IA8BlB,aAAa,EAAE,GAAG,CAAC;IAQnB,UAAU,EAAE,GAAG,CAAC;IAElB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAqBlD;AAED,eAAO,MAAM,gBAAgB,6EAGnB,CAAC"}
@@ -1,335 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { BaseNode, prop } from "@nodetool-ai/node-sdk";
8
- import { promises as fs } from "node:fs";
9
- import { spawn } from "node:child_process";
10
- function pathFromInput(value) {
11
- if (!value)
12
- return "";
13
- if (typeof value === "string")
14
- return value;
15
- if (typeof value === "object") {
16
- const p = value.path;
17
- if (typeof p === "string")
18
- return p;
19
- const uri = value.uri;
20
- if (typeof uri === "string")
21
- return uri.startsWith("file://") ? uri.slice("file://".length) : uri;
22
- }
23
- return "";
24
- }
25
- async function runCommand(cmd, args, stdin, timeoutMs) {
26
- return new Promise((resolve, reject) => {
27
- const child = spawn(cmd, args, { stdio: "pipe" });
28
- let stdout = "";
29
- let stderr = "";
30
- let timedOut = false;
31
- const timer = setTimeout(() => {
32
- timedOut = true;
33
- child.kill("SIGTERM");
34
- }, timeoutMs);
35
- child.stdout.on("data", (d) => {
36
- stdout += String(d);
37
- });
38
- child.stderr.on("data", (d) => {
39
- stderr += String(d);
40
- });
41
- child.on("error", (err) => {
42
- clearTimeout(timer);
43
- reject(err);
44
- });
45
- child.on("close", (code) => {
46
- clearTimeout(timer);
47
- if (timedOut) {
48
- resolve({
49
- stdout,
50
- stderr: `${stderr}\nProcess timed out`,
51
- exitCode: 124
52
- });
53
- return;
54
- }
55
- resolve({ stdout, stderr, exitCode: code ?? 0 });
56
- });
57
- if (stdin.length > 0) {
58
- child.stdin.write(stdin);
59
- }
60
- child.stdin.end();
61
- });
62
- }
63
- class PandocBaseLibNode extends BaseNode {
64
- static requiredRuntimes = ["pandoc"];
65
- formats() {
66
- const input = String(this.input_format ?? "markdown").toLowerCase();
67
- const output = String(this.output_format ?? "plain").toLowerCase();
68
- return { input, output };
69
- }
70
- extraArgs() {
71
- const raw = this.extra_args ?? [];
72
- return Array.isArray(raw) ? raw.map(String) : [];
73
- }
74
- timeoutMs() {
75
- const sec = Number(this.timeout ?? 120);
76
- return Math.max(1, Math.trunc(sec * 1000));
77
- }
78
- }
79
- export class ConvertTextPandocLibNode extends PandocBaseLibNode {
80
- static nodeType = "lib.convert.pandoc.ConvertText";
81
- static title = "Convert Text";
82
- static description = "Converts text content between different document formats using pandoc.\n convert, text, format, pandoc\n\n Use cases:\n - Convert text content between various formats (Markdown, HTML, LaTeX, etc.)\n - Transform content without saving to disk\n - Process text snippets in different formats";
83
- static metadataOutputTypes = {
84
- output: "str"
85
- };
86
- async process() {
87
- const content = String(this.content ?? "");
88
- const { input, output } = this.formats();
89
- const args = ["-f", input, "-t", output, ...this.extraArgs()];
90
- const result = await runCommand("pandoc", args, content, this.timeoutMs());
91
- if (result.exitCode !== 0) {
92
- throw new Error(`pandoc failed: ${result.stderr || `exit ${result.exitCode}`}`);
93
- }
94
- return { output: result.stdout };
95
- }
96
- }
97
- __decorate([
98
- prop({
99
- type: "str",
100
- default: "",
101
- title: "Content",
102
- description: "Text content to convert"
103
- })
104
- ], ConvertTextPandocLibNode.prototype, "content", void 0);
105
- __decorate([
106
- prop({
107
- type: "enum",
108
- default: "markdown",
109
- title: "Input Format",
110
- description: "Input format",
111
- values: [
112
- "biblatex",
113
- "bibtex",
114
- "bits",
115
- "commonmark",
116
- "commonmark_x",
117
- "creole",
118
- "csljson",
119
- "csv",
120
- "djot",
121
- "docbook",
122
- "docx",
123
- "dokuwiki",
124
- "endnotexml",
125
- "epub",
126
- "fb2",
127
- "gfm",
128
- "haddock",
129
- "html",
130
- "ipynb",
131
- "jats",
132
- "jira",
133
- "json",
134
- "latex",
135
- "man",
136
- "markdown",
137
- "markdown_github",
138
- "markdown_mmd",
139
- "markdown_phpextra",
140
- "markdown_strict",
141
- "mdoc",
142
- "mediawiki",
143
- "muse",
144
- "native",
145
- "odt",
146
- "opml",
147
- "org",
148
- "ris",
149
- "rst",
150
- "rtf",
151
- "t2t",
152
- "textile",
153
- "tikiwiki",
154
- "tsv",
155
- "twiki",
156
- "typst",
157
- "vimwiki"
158
- ]
159
- })
160
- ], ConvertTextPandocLibNode.prototype, "input_format", void 0);
161
- __decorate([
162
- prop({
163
- type: "enum",
164
- default: "docx",
165
- title: "Output Format",
166
- description: "Output format",
167
- values: [
168
- "asciidoc",
169
- "asciidoctor",
170
- "beamer",
171
- "context",
172
- "docbook4",
173
- "docbook5",
174
- "docx",
175
- "epub2",
176
- "epub3",
177
- "pdf",
178
- "plain",
179
- "pptx",
180
- "slideous",
181
- "slidy",
182
- "dzslides",
183
- "revealjs",
184
- "s5",
185
- "tei",
186
- "texinfo",
187
- "zimwiki"
188
- ]
189
- })
190
- ], ConvertTextPandocLibNode.prototype, "output_format", void 0);
191
- __decorate([
192
- prop({
193
- type: "list[str]",
194
- default: [],
195
- title: "Extra Args",
196
- description: "Additional pandoc arguments"
197
- })
198
- ], ConvertTextPandocLibNode.prototype, "extra_args", void 0);
199
- export class ConvertFilePandocLibNode extends PandocBaseLibNode {
200
- static nodeType = "lib.convert.pandoc.ConvertFile";
201
- static title = "Convert File";
202
- static description = "Converts between different document formats using pandoc.\n convert, document, format, pandoc\n\n Use cases:\n - Convert between various document formats (Markdown, HTML, LaTeX, etc.)\n - Generate documentation in different formats\n - Create publication-ready documents";
203
- static metadataOutputTypes = {
204
- output: "str"
205
- };
206
- async process() {
207
- const inPath = pathFromInput(this.input_path);
208
- if (!inPath) {
209
- throw new Error("Input path is not set");
210
- }
211
- try {
212
- await fs.access(inPath);
213
- }
214
- catch {
215
- throw new Error(`Input file not found: ${inPath}`);
216
- }
217
- const { input, output } = this.formats();
218
- const args = [inPath, "-f", input, "-t", output, ...this.extraArgs()];
219
- const result = await runCommand("pandoc", args, "", this.timeoutMs());
220
- if (result.exitCode !== 0) {
221
- throw new Error(`pandoc failed: ${result.stderr || `exit ${result.exitCode}`}`);
222
- }
223
- return { output: result.stdout };
224
- }
225
- }
226
- __decorate([
227
- prop({
228
- type: "file_path",
229
- default: {
230
- type: "file_path",
231
- path: ""
232
- },
233
- title: "Input Path",
234
- description: "Path to the input file"
235
- })
236
- ], ConvertFilePandocLibNode.prototype, "input_path", void 0);
237
- __decorate([
238
- prop({
239
- type: "enum",
240
- default: "markdown",
241
- title: "Input Format",
242
- description: "Input format",
243
- values: [
244
- "biblatex",
245
- "bibtex",
246
- "bits",
247
- "commonmark",
248
- "commonmark_x",
249
- "creole",
250
- "csljson",
251
- "csv",
252
- "djot",
253
- "docbook",
254
- "docx",
255
- "dokuwiki",
256
- "endnotexml",
257
- "epub",
258
- "fb2",
259
- "gfm",
260
- "haddock",
261
- "html",
262
- "ipynb",
263
- "jats",
264
- "jira",
265
- "json",
266
- "latex",
267
- "man",
268
- "markdown",
269
- "markdown_github",
270
- "markdown_mmd",
271
- "markdown_phpextra",
272
- "markdown_strict",
273
- "mdoc",
274
- "mediawiki",
275
- "muse",
276
- "native",
277
- "odt",
278
- "opml",
279
- "org",
280
- "ris",
281
- "rst",
282
- "rtf",
283
- "t2t",
284
- "textile",
285
- "tikiwiki",
286
- "tsv",
287
- "twiki",
288
- "typst",
289
- "vimwiki"
290
- ]
291
- })
292
- ], ConvertFilePandocLibNode.prototype, "input_format", void 0);
293
- __decorate([
294
- prop({
295
- type: "enum",
296
- default: "pdf",
297
- title: "Output Format",
298
- description: "Output format",
299
- values: [
300
- "asciidoc",
301
- "asciidoctor",
302
- "beamer",
303
- "context",
304
- "docbook4",
305
- "docbook5",
306
- "docx",
307
- "epub2",
308
- "epub3",
309
- "pdf",
310
- "plain",
311
- "pptx",
312
- "slideous",
313
- "slidy",
314
- "dzslides",
315
- "revealjs",
316
- "s5",
317
- "tei",
318
- "texinfo",
319
- "zimwiki"
320
- ]
321
- })
322
- ], ConvertFilePandocLibNode.prototype, "output_format", void 0);
323
- __decorate([
324
- prop({
325
- type: "list[str]",
326
- default: [],
327
- title: "Extra Args",
328
- description: "Additional pandoc arguments"
329
- })
330
- ], ConvertFilePandocLibNode.prototype, "extra_args", void 0);
331
- export const LIB_PANDOC_NODES = [
332
- ConvertFilePandocLibNode,
333
- ConvertTextPandocLibNode
334
- ];
335
- //# sourceMappingURL=lib-doc-transform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib-doc-transform.js","sourceRoot":"","sources":["../../src/nodes/lib-doc-transform.ts"],"names":[],"mappings":"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"}