@koda-sl/baker-cli 0.66.2 → 0.67.0-dev.3a23b0e68

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 (1032) hide show
  1. package/README.md +2 -2
  2. package/dist/chunk-5L2X6KDP.js +5662 -0
  3. package/dist/chunk-5L2X6KDP.js.map +1 -0
  4. package/dist/cli.d.ts +0 -2
  5. package/dist/cli.js +14423 -33
  6. package/dist/cli.js.map +1 -1
  7. package/dist/engine/index.d.ts +416 -27
  8. package/dist/engine/index.js +22 -103
  9. package/dist/engine/index.js.map +1 -1
  10. package/package.json +8 -4
  11. package/dist/cli-version.test.d.ts +0 -2
  12. package/dist/cli-version.test.d.ts.map +0 -1
  13. package/dist/cli-version.test.js +0 -13
  14. package/dist/cli-version.test.js.map +0 -1
  15. package/dist/cli.d.ts.map +0 -1
  16. package/dist/client.d.ts +0 -12
  17. package/dist/client.d.ts.map +0 -1
  18. package/dist/client.js +0 -153
  19. package/dist/client.js.map +0 -1
  20. package/dist/commands/actions/claim.d.ts +0 -13
  21. package/dist/commands/actions/claim.d.ts.map +0 -1
  22. package/dist/commands/actions/claim.js +0 -45
  23. package/dist/commands/actions/claim.js.map +0 -1
  24. package/dist/commands/actions/complete.d.ts +0 -18
  25. package/dist/commands/actions/complete.d.ts.map +0 -1
  26. package/dist/commands/actions/complete.js +0 -42
  27. package/dist/commands/actions/complete.js.map +0 -1
  28. package/dist/commands/actions/create.d.ts +0 -24
  29. package/dist/commands/actions/create.d.ts.map +0 -1
  30. package/dist/commands/actions/create.js +0 -68
  31. package/dist/commands/actions/create.js.map +0 -1
  32. package/dist/commands/actions/discard.d.ts +0 -18
  33. package/dist/commands/actions/discard.d.ts.map +0 -1
  34. package/dist/commands/actions/discard.js +0 -44
  35. package/dist/commands/actions/discard.js.map +0 -1
  36. package/dist/commands/actions/get.d.ts +0 -13
  37. package/dist/commands/actions/get.d.ts.map +0 -1
  38. package/dist/commands/actions/get.js +0 -34
  39. package/dist/commands/actions/get.js.map +0 -1
  40. package/dist/commands/actions/index.d.ts +0 -2
  41. package/dist/commands/actions/index.d.ts.map +0 -1
  42. package/dist/commands/actions/index.js +0 -46
  43. package/dist/commands/actions/index.js.map +0 -1
  44. package/dist/commands/actions/link.d.ts +0 -13
  45. package/dist/commands/actions/link.d.ts.map +0 -1
  46. package/dist/commands/actions/link.js +0 -43
  47. package/dist/commands/actions/link.js.map +0 -1
  48. package/dist/commands/actions/list.d.ts +0 -19
  49. package/dist/commands/actions/list.d.ts.map +0 -1
  50. package/dist/commands/actions/list.js +0 -66
  51. package/dist/commands/actions/list.js.map +0 -1
  52. package/dist/commands/actions/release.d.ts +0 -13
  53. package/dist/commands/actions/release.d.ts.map +0 -1
  54. package/dist/commands/actions/release.js +0 -38
  55. package/dist/commands/actions/release.js.map +0 -1
  56. package/dist/commands/actions/shared.d.ts +0 -6
  57. package/dist/commands/actions/shared.d.ts.map +0 -1
  58. package/dist/commands/actions/shared.js +0 -28
  59. package/dist/commands/actions/shared.js.map +0 -1
  60. package/dist/commands/actions/status.d.ts +0 -8
  61. package/dist/commands/actions/status.d.ts.map +0 -1
  62. package/dist/commands/actions/status.js +0 -38
  63. package/dist/commands/actions/status.js.map +0 -1
  64. package/dist/commands/actions/tag/add.d.ts +0 -18
  65. package/dist/commands/actions/tag/add.d.ts.map +0 -1
  66. package/dist/commands/actions/tag/add.js +0 -47
  67. package/dist/commands/actions/tag/add.js.map +0 -1
  68. package/dist/commands/actions/tag/create.d.ts +0 -23
  69. package/dist/commands/actions/tag/create.d.ts.map +0 -1
  70. package/dist/commands/actions/tag/create.js +0 -50
  71. package/dist/commands/actions/tag/create.js.map +0 -1
  72. package/dist/commands/actions/tag/delete.d.ts +0 -13
  73. package/dist/commands/actions/tag/delete.d.ts.map +0 -1
  74. package/dist/commands/actions/tag/delete.js +0 -36
  75. package/dist/commands/actions/tag/delete.js.map +0 -1
  76. package/dist/commands/actions/tag/index.d.ts +0 -2
  77. package/dist/commands/actions/tag/index.d.ts.map +0 -1
  78. package/dist/commands/actions/tag/index.js +0 -32
  79. package/dist/commands/actions/tag/index.js.map +0 -1
  80. package/dist/commands/actions/tag/list.d.ts +0 -2
  81. package/dist/commands/actions/tag/list.d.ts.map +0 -1
  82. package/dist/commands/actions/tag/list.js +0 -24
  83. package/dist/commands/actions/tag/list.js.map +0 -1
  84. package/dist/commands/actions/tag/remove.d.ts +0 -18
  85. package/dist/commands/actions/tag/remove.d.ts.map +0 -1
  86. package/dist/commands/actions/tag/remove.js +0 -48
  87. package/dist/commands/actions/tag/remove.js.map +0 -1
  88. package/dist/commands/actions/tag/update.d.ts +0 -28
  89. package/dist/commands/actions/tag/update.d.ts.map +0 -1
  90. package/dist/commands/actions/tag/update.js +0 -50
  91. package/dist/commands/actions/tag/update.js.map +0 -1
  92. package/dist/commands/actions/unlink.d.ts +0 -13
  93. package/dist/commands/actions/unlink.d.ts.map +0 -1
  94. package/dist/commands/actions/unlink.js +0 -45
  95. package/dist/commands/actions/unlink.js.map +0 -1
  96. package/dist/commands/actions/update.d.ts +0 -23
  97. package/dist/commands/actions/update.d.ts.map +0 -1
  98. package/dist/commands/actions/update.js +0 -50
  99. package/dist/commands/actions/update.js.map +0 -1
  100. package/dist/commands/ads/cache.d.ts +0 -7
  101. package/dist/commands/ads/cache.d.ts.map +0 -1
  102. package/dist/commands/ads/cache.js +0 -73
  103. package/dist/commands/ads/cache.js.map +0 -1
  104. package/dist/commands/ads/cache.test.d.ts +0 -2
  105. package/dist/commands/ads/cache.test.d.ts.map +0 -1
  106. package/dist/commands/ads/cache.test.js +0 -44
  107. package/dist/commands/ads/cache.test.js.map +0 -1
  108. package/dist/commands/ads/field-descriptions.d.ts +0 -2
  109. package/dist/commands/ads/field-descriptions.d.ts.map +0 -1
  110. package/dist/commands/ads/field-descriptions.js +0 -91
  111. package/dist/commands/ads/field-descriptions.js.map +0 -1
  112. package/dist/commands/ads/google/accounts.d.ts +0 -14
  113. package/dist/commands/ads/google/accounts.d.ts.map +0 -1
  114. package/dist/commands/ads/google/accounts.js +0 -76
  115. package/dist/commands/ads/google/accounts.js.map +0 -1
  116. package/dist/commands/ads/google/changes.d.ts +0 -34
  117. package/dist/commands/ads/google/changes.d.ts.map +0 -1
  118. package/dist/commands/ads/google/changes.js +0 -80
  119. package/dist/commands/ads/google/changes.js.map +0 -1
  120. package/dist/commands/ads/google/correction-table.d.ts +0 -3
  121. package/dist/commands/ads/google/correction-table.d.ts.map +0 -1
  122. package/dist/commands/ads/google/correction-table.js +0 -352
  123. package/dist/commands/ads/google/correction-table.js.map +0 -1
  124. package/dist/commands/ads/google/currency.d.ts +0 -13
  125. package/dist/commands/ads/google/currency.d.ts.map +0 -1
  126. package/dist/commands/ads/google/currency.js +0 -68
  127. package/dist/commands/ads/google/currency.js.map +0 -1
  128. package/dist/commands/ads/google/error-parser.d.ts +0 -3
  129. package/dist/commands/ads/google/error-parser.d.ts.map +0 -1
  130. package/dist/commands/ads/google/error-parser.js +0 -91
  131. package/dist/commands/ads/google/error-parser.js.map +0 -1
  132. package/dist/commands/ads/google/error-parser.test.d.ts +0 -2
  133. package/dist/commands/ads/google/error-parser.test.d.ts.map +0 -1
  134. package/dist/commands/ads/google/error-parser.test.js +0 -48
  135. package/dist/commands/ads/google/error-parser.test.js.map +0 -1
  136. package/dist/commands/ads/google/index.d.ts +0 -2
  137. package/dist/commands/ads/google/index.d.ts.map +0 -1
  138. package/dist/commands/ads/google/index.js +0 -34
  139. package/dist/commands/ads/google/index.js.map +0 -1
  140. package/dist/commands/ads/google/keywords/discover.d.ts +0 -49
  141. package/dist/commands/ads/google/keywords/discover.d.ts.map +0 -1
  142. package/dist/commands/ads/google/keywords/discover.js +0 -151
  143. package/dist/commands/ads/google/keywords/discover.js.map +0 -1
  144. package/dist/commands/ads/google/keywords/index.d.ts +0 -2
  145. package/dist/commands/ads/google/keywords/index.d.ts.map +0 -1
  146. package/dist/commands/ads/google/keywords/index.js +0 -24
  147. package/dist/commands/ads/google/keywords/index.js.map +0 -1
  148. package/dist/commands/ads/google/keywords/languages.d.ts +0 -2
  149. package/dist/commands/ads/google/keywords/languages.d.ts.map +0 -1
  150. package/dist/commands/ads/google/keywords/languages.js +0 -23
  151. package/dist/commands/ads/google/keywords/languages.js.map +0 -1
  152. package/dist/commands/ads/google/keywords/locations.d.ts +0 -2
  153. package/dist/commands/ads/google/keywords/locations.d.ts.map +0 -1
  154. package/dist/commands/ads/google/keywords/locations.js +0 -23
  155. package/dist/commands/ads/google/keywords/locations.js.map +0 -1
  156. package/dist/commands/ads/google/keywords/metrics.d.ts +0 -34
  157. package/dist/commands/ads/google/keywords/metrics.d.ts.map +0 -1
  158. package/dist/commands/ads/google/keywords/metrics.js +0 -123
  159. package/dist/commands/ads/google/keywords/metrics.js.map +0 -1
  160. package/dist/commands/ads/google/library/index.d.ts +0 -3
  161. package/dist/commands/ads/google/library/index.d.ts.map +0 -1
  162. package/dist/commands/ads/google/library/index.js +0 -279
  163. package/dist/commands/ads/google/library/index.js.map +0 -1
  164. package/dist/commands/ads/google/library/index.test.d.ts +0 -2
  165. package/dist/commands/ads/google/library/index.test.d.ts.map +0 -1
  166. package/dist/commands/ads/google/library/index.test.js +0 -26
  167. package/dist/commands/ads/google/library/index.test.js.map +0 -1
  168. package/dist/commands/ads/google/preflight.d.ts +0 -3
  169. package/dist/commands/ads/google/preflight.d.ts.map +0 -1
  170. package/dist/commands/ads/google/preflight.js +0 -142
  171. package/dist/commands/ads/google/preflight.js.map +0 -1
  172. package/dist/commands/ads/google/preflight.test.d.ts +0 -2
  173. package/dist/commands/ads/google/preflight.test.d.ts.map +0 -1
  174. package/dist/commands/ads/google/preflight.test.js +0 -56
  175. package/dist/commands/ads/google/preflight.test.js.map +0 -1
  176. package/dist/commands/ads/google/presets.d.ts +0 -12
  177. package/dist/commands/ads/google/presets.d.ts.map +0 -1
  178. package/dist/commands/ads/google/presets.js +0 -85
  179. package/dist/commands/ads/google/presets.js.map +0 -1
  180. package/dist/commands/ads/google/presets.test.d.ts +0 -2
  181. package/dist/commands/ads/google/presets.test.d.ts.map +0 -1
  182. package/dist/commands/ads/google/presets.test.js +0 -79
  183. package/dist/commands/ads/google/presets.test.js.map +0 -1
  184. package/dist/commands/ads/google/query.d.ts +0 -64
  185. package/dist/commands/ads/google/query.d.ts.map +0 -1
  186. package/dist/commands/ads/google/query.js +0 -304
  187. package/dist/commands/ads/google/query.js.map +0 -1
  188. package/dist/commands/ads/index.d.ts +0 -2
  189. package/dist/commands/ads/index.d.ts.map +0 -1
  190. package/dist/commands/ads/index.js +0 -34
  191. package/dist/commands/ads/index.js.map +0 -1
  192. package/dist/commands/ads/linkedin/account.d.ts +0 -20
  193. package/dist/commands/ads/linkedin/account.d.ts.map +0 -1
  194. package/dist/commands/ads/linkedin/account.js +0 -39
  195. package/dist/commands/ads/linkedin/account.js.map +0 -1
  196. package/dist/commands/ads/linkedin/accounts.d.ts +0 -20
  197. package/dist/commands/ads/linkedin/accounts.d.ts.map +0 -1
  198. package/dist/commands/ads/linkedin/accounts.js +0 -56
  199. package/dist/commands/ads/linkedin/accounts.js.map +0 -1
  200. package/dist/commands/ads/linkedin/analytics.d.ts +0 -84
  201. package/dist/commands/ads/linkedin/analytics.d.ts.map +0 -1
  202. package/dist/commands/ads/linkedin/analytics.js +0 -249
  203. package/dist/commands/ads/linkedin/analytics.js.map +0 -1
  204. package/dist/commands/ads/linkedin/audience-size.d.ts +0 -28
  205. package/dist/commands/ads/linkedin/audience-size.d.ts.map +0 -1
  206. package/dist/commands/ads/linkedin/audience-size.js +0 -75
  207. package/dist/commands/ads/linkedin/audience-size.js.map +0 -1
  208. package/dist/commands/ads/linkedin/audit.d.ts +0 -35
  209. package/dist/commands/ads/linkedin/audit.d.ts.map +0 -1
  210. package/dist/commands/ads/linkedin/audit.js +0 -136
  211. package/dist/commands/ads/linkedin/audit.js.map +0 -1
  212. package/dist/commands/ads/linkedin/bid-pricing.d.ts +0 -38
  213. package/dist/commands/ads/linkedin/bid-pricing.d.ts.map +0 -1
  214. package/dist/commands/ads/linkedin/bid-pricing.js +0 -76
  215. package/dist/commands/ads/linkedin/bid-pricing.js.map +0 -1
  216. package/dist/commands/ads/linkedin/campaign-groups.d.ts +0 -32
  217. package/dist/commands/ads/linkedin/campaign-groups.d.ts.map +0 -1
  218. package/dist/commands/ads/linkedin/campaign-groups.js +0 -50
  219. package/dist/commands/ads/linkedin/campaign-groups.js.map +0 -1
  220. package/dist/commands/ads/linkedin/campaigns.d.ts +0 -36
  221. package/dist/commands/ads/linkedin/campaigns.d.ts.map +0 -1
  222. package/dist/commands/ads/linkedin/campaigns.js +0 -57
  223. package/dist/commands/ads/linkedin/campaigns.js.map +0 -1
  224. package/dist/commands/ads/linkedin/conversation.d.ts +0 -36
  225. package/dist/commands/ads/linkedin/conversation.d.ts.map +0 -1
  226. package/dist/commands/ads/linkedin/conversation.js +0 -77
  227. package/dist/commands/ads/linkedin/conversation.js.map +0 -1
  228. package/dist/commands/ads/linkedin/conversions.d.ts +0 -2
  229. package/dist/commands/ads/linkedin/conversions.d.ts.map +0 -1
  230. package/dist/commands/ads/linkedin/conversions.js +0 -102
  231. package/dist/commands/ads/linkedin/conversions.js.map +0 -1
  232. package/dist/commands/ads/linkedin/creatives.d.ts +0 -36
  233. package/dist/commands/ads/linkedin/creatives.d.ts.map +0 -1
  234. package/dist/commands/ads/linkedin/creatives.js +0 -57
  235. package/dist/commands/ads/linkedin/creatives.js.map +0 -1
  236. package/dist/commands/ads/linkedin/demographics.d.ts +0 -40
  237. package/dist/commands/ads/linkedin/demographics.d.ts.map +0 -1
  238. package/dist/commands/ads/linkedin/demographics.js +0 -117
  239. package/dist/commands/ads/linkedin/demographics.js.map +0 -1
  240. package/dist/commands/ads/linkedin/facets.d.ts +0 -2
  241. package/dist/commands/ads/linkedin/facets.d.ts.map +0 -1
  242. package/dist/commands/ads/linkedin/facets.js +0 -95
  243. package/dist/commands/ads/linkedin/facets.js.map +0 -1
  244. package/dist/commands/ads/linkedin/forecast.d.ts +0 -50
  245. package/dist/commands/ads/linkedin/forecast.d.ts.map +0 -1
  246. package/dist/commands/ads/linkedin/forecast.js +0 -83
  247. package/dist/commands/ads/linkedin/forecast.js.map +0 -1
  248. package/dist/commands/ads/linkedin/index.d.ts +0 -19
  249. package/dist/commands/ads/linkedin/index.d.ts.map +0 -1
  250. package/dist/commands/ads/linkedin/index.js +0 -83
  251. package/dist/commands/ads/linkedin/index.js.map +0 -1
  252. package/dist/commands/ads/linkedin/leads.d.ts +0 -40
  253. package/dist/commands/ads/linkedin/leads.d.ts.map +0 -1
  254. package/dist/commands/ads/linkedin/leads.js +0 -75
  255. package/dist/commands/ads/linkedin/leads.js.map +0 -1
  256. package/dist/commands/ads/linkedin/presets.d.ts +0 -40
  257. package/dist/commands/ads/linkedin/presets.d.ts.map +0 -1
  258. package/dist/commands/ads/linkedin/presets.js +0 -193
  259. package/dist/commands/ads/linkedin/presets.js.map +0 -1
  260. package/dist/commands/ads/linkedin/presets.test.d.ts +0 -2
  261. package/dist/commands/ads/linkedin/presets.test.d.ts.map +0 -1
  262. package/dist/commands/ads/linkedin/presets.test.js +0 -98
  263. package/dist/commands/ads/linkedin/presets.test.js.map +0 -1
  264. package/dist/commands/ads/linkedin/schemas.d.ts +0 -2
  265. package/dist/commands/ads/linkedin/schemas.d.ts.map +0 -1
  266. package/dist/commands/ads/linkedin/schemas.js +0 -300
  267. package/dist/commands/ads/linkedin/schemas.js.map +0 -1
  268. package/dist/commands/ads/linkedin/shared.d.ts +0 -17
  269. package/dist/commands/ads/linkedin/shared.d.ts.map +0 -1
  270. package/dist/commands/ads/linkedin/shared.js +0 -116
  271. package/dist/commands/ads/linkedin/shared.js.map +0 -1
  272. package/dist/commands/ads/linkedin/top-companies.d.ts +0 -44
  273. package/dist/commands/ads/linkedin/top-companies.d.ts.map +0 -1
  274. package/dist/commands/ads/linkedin/top-companies.js +0 -86
  275. package/dist/commands/ads/linkedin/top-companies.js.map +0 -1
  276. package/dist/commands/ads/meta/account.d.ts +0 -11
  277. package/dist/commands/ads/meta/account.d.ts.map +0 -1
  278. package/dist/commands/ads/meta/account.js +0 -32
  279. package/dist/commands/ads/meta/account.js.map +0 -1
  280. package/dist/commands/ads/meta/accounts.d.ts +0 -20
  281. package/dist/commands/ads/meta/accounts.d.ts.map +0 -1
  282. package/dist/commands/ads/meta/accounts.js +0 -55
  283. package/dist/commands/ads/meta/accounts.js.map +0 -1
  284. package/dist/commands/ads/meta/activities.d.ts +0 -24
  285. package/dist/commands/ads/meta/activities.d.ts.map +0 -1
  286. package/dist/commands/ads/meta/activities.js +0 -44
  287. package/dist/commands/ads/meta/activities.js.map +0 -1
  288. package/dist/commands/ads/meta/ads.d.ts +0 -36
  289. package/dist/commands/ads/meta/ads.d.ts.map +0 -1
  290. package/dist/commands/ads/meta/ads.js +0 -57
  291. package/dist/commands/ads/meta/ads.js.map +0 -1
  292. package/dist/commands/ads/meta/adsets.d.ts +0 -32
  293. package/dist/commands/ads/meta/adsets.d.ts.map +0 -1
  294. package/dist/commands/ads/meta/adsets.js +0 -50
  295. package/dist/commands/ads/meta/adsets.js.map +0 -1
  296. package/dist/commands/ads/meta/audiences.d.ts +0 -20
  297. package/dist/commands/ads/meta/audiences.d.ts.map +0 -1
  298. package/dist/commands/ads/meta/audiences.js +0 -41
  299. package/dist/commands/ads/meta/audiences.js.map +0 -1
  300. package/dist/commands/ads/meta/businesses.d.ts +0 -12
  301. package/dist/commands/ads/meta/businesses.d.ts.map +0 -1
  302. package/dist/commands/ads/meta/businesses.js +0 -35
  303. package/dist/commands/ads/meta/businesses.js.map +0 -1
  304. package/dist/commands/ads/meta/campaigns.d.ts +0 -28
  305. package/dist/commands/ads/meta/campaigns.d.ts.map +0 -1
  306. package/dist/commands/ads/meta/campaigns.js +0 -51
  307. package/dist/commands/ads/meta/campaigns.js.map +0 -1
  308. package/dist/commands/ads/meta/creatives.d.ts +0 -24
  309. package/dist/commands/ads/meta/creatives.d.ts.map +0 -1
  310. package/dist/commands/ads/meta/creatives.js +0 -51
  311. package/dist/commands/ads/meta/creatives.js.map +0 -1
  312. package/dist/commands/ads/meta/index.d.ts +0 -17
  313. package/dist/commands/ads/meta/index.d.ts.map +0 -1
  314. package/dist/commands/ads/meta/index.js +0 -79
  315. package/dist/commands/ads/meta/index.js.map +0 -1
  316. package/dist/commands/ads/meta/insights.d.ts +0 -92
  317. package/dist/commands/ads/meta/insights.d.ts.map +0 -1
  318. package/dist/commands/ads/meta/insights.js +0 -260
  319. package/dist/commands/ads/meta/insights.js.map +0 -1
  320. package/dist/commands/ads/meta/pixels.d.ts +0 -33
  321. package/dist/commands/ads/meta/pixels.d.ts.map +0 -1
  322. package/dist/commands/ads/meta/pixels.js +0 -76
  323. package/dist/commands/ads/meta/pixels.js.map +0 -1
  324. package/dist/commands/ads/meta/presets.d.ts +0 -30
  325. package/dist/commands/ads/meta/presets.d.ts.map +0 -1
  326. package/dist/commands/ads/meta/presets.js +0 -86
  327. package/dist/commands/ads/meta/presets.js.map +0 -1
  328. package/dist/commands/ads/meta/preview.d.ts +0 -32
  329. package/dist/commands/ads/meta/preview.d.ts.map +0 -1
  330. package/dist/commands/ads/meta/preview.js +0 -90
  331. package/dist/commands/ads/meta/preview.js.map +0 -1
  332. package/dist/commands/ads/meta/shared.d.ts +0 -18
  333. package/dist/commands/ads/meta/shared.d.ts.map +0 -1
  334. package/dist/commands/ads/meta/shared.js +0 -86
  335. package/dist/commands/ads/meta/shared.js.map +0 -1
  336. package/dist/commands/ads/output.d.ts +0 -22
  337. package/dist/commands/ads/output.d.ts.map +0 -1
  338. package/dist/commands/ads/output.js +0 -130
  339. package/dist/commands/ads/output.js.map +0 -1
  340. package/dist/commands/ads/output.test.d.ts +0 -2
  341. package/dist/commands/ads/output.test.d.ts.map +0 -1
  342. package/dist/commands/ads/output.test.js +0 -100
  343. package/dist/commands/ads/output.test.js.map +0 -1
  344. package/dist/commands/ads/types.d.ts +0 -69
  345. package/dist/commands/ads/types.d.ts.map +0 -1
  346. package/dist/commands/ads/types.js +0 -2
  347. package/dist/commands/ads/types.js.map +0 -1
  348. package/dist/commands/ads/x/accounts.d.ts +0 -14
  349. package/dist/commands/ads/x/accounts.d.ts.map +0 -1
  350. package/dist/commands/ads/x/accounts.js +0 -73
  351. package/dist/commands/ads/x/accounts.js.map +0 -1
  352. package/dist/commands/ads/x/active-entities.d.ts +0 -43
  353. package/dist/commands/ads/x/active-entities.d.ts.map +0 -1
  354. package/dist/commands/ads/x/active-entities.js +0 -88
  355. package/dist/commands/ads/x/active-entities.js.map +0 -1
  356. package/dist/commands/ads/x/audiences.d.ts +0 -19
  357. package/dist/commands/ads/x/audiences.d.ts.map +0 -1
  358. package/dist/commands/ads/x/audiences.js +0 -65
  359. package/dist/commands/ads/x/audiences.js.map +0 -1
  360. package/dist/commands/ads/x/campaigns.d.ts +0 -34
  361. package/dist/commands/ads/x/campaigns.d.ts.map +0 -1
  362. package/dist/commands/ads/x/campaigns.js +0 -56
  363. package/dist/commands/ads/x/campaigns.js.map +0 -1
  364. package/dist/commands/ads/x/cards.d.ts +0 -19
  365. package/dist/commands/ads/x/cards.d.ts.map +0 -1
  366. package/dist/commands/ads/x/cards.js +0 -65
  367. package/dist/commands/ads/x/cards.js.map +0 -1
  368. package/dist/commands/ads/x/error-parser.d.ts +0 -3
  369. package/dist/commands/ads/x/error-parser.d.ts.map +0 -1
  370. package/dist/commands/ads/x/error-parser.js +0 -80
  371. package/dist/commands/ads/x/error-parser.js.map +0 -1
  372. package/dist/commands/ads/x/funding.d.ts +0 -19
  373. package/dist/commands/ads/x/funding.d.ts.map +0 -1
  374. package/dist/commands/ads/x/funding.js +0 -65
  375. package/dist/commands/ads/x/funding.js.map +0 -1
  376. package/dist/commands/ads/x/index.d.ts +0 -2
  377. package/dist/commands/ads/x/index.d.ts.map +0 -1
  378. package/dist/commands/ads/x/index.js +0 -50
  379. package/dist/commands/ads/x/index.js.map +0 -1
  380. package/dist/commands/ads/x/line-items.d.ts +0 -34
  381. package/dist/commands/ads/x/line-items.d.ts.map +0 -1
  382. package/dist/commands/ads/x/line-items.js +0 -55
  383. package/dist/commands/ads/x/line-items.js.map +0 -1
  384. package/dist/commands/ads/x/media.d.ts +0 -24
  385. package/dist/commands/ads/x/media.d.ts.map +0 -1
  386. package/dist/commands/ads/x/media.js +0 -70
  387. package/dist/commands/ads/x/media.js.map +0 -1
  388. package/dist/commands/ads/x/output.d.ts +0 -13
  389. package/dist/commands/ads/x/output.d.ts.map +0 -1
  390. package/dist/commands/ads/x/output.js +0 -75
  391. package/dist/commands/ads/x/output.js.map +0 -1
  392. package/dist/commands/ads/x/presets.d.ts +0 -15
  393. package/dist/commands/ads/x/presets.d.ts.map +0 -1
  394. package/dist/commands/ads/x/presets.js +0 -60
  395. package/dist/commands/ads/x/presets.js.map +0 -1
  396. package/dist/commands/ads/x/promoted-tweets.d.ts +0 -29
  397. package/dist/commands/ads/x/promoted-tweets.d.ts.map +0 -1
  398. package/dist/commands/ads/x/promoted-tweets.js +0 -74
  399. package/dist/commands/ads/x/promoted-tweets.js.map +0 -1
  400. package/dist/commands/ads/x/run-list.d.ts +0 -17
  401. package/dist/commands/ads/x/run-list.d.ts.map +0 -1
  402. package/dist/commands/ads/x/run-list.js +0 -60
  403. package/dist/commands/ads/x/run-list.js.map +0 -1
  404. package/dist/commands/ads/x/stats/index.d.ts +0 -2
  405. package/dist/commands/ads/x/stats/index.d.ts.map +0 -1
  406. package/dist/commands/ads/x/stats/index.js +0 -32
  407. package/dist/commands/ads/x/stats/index.js.map +0 -1
  408. package/dist/commands/ads/x/stats/job-create.d.ts +0 -58
  409. package/dist/commands/ads/x/stats/job-create.d.ts.map +0 -1
  410. package/dist/commands/ads/x/stats/job-create.js +0 -95
  411. package/dist/commands/ads/x/stats/job-create.js.map +0 -1
  412. package/dist/commands/ads/x/stats/job-status.d.ts +0 -18
  413. package/dist/commands/ads/x/stats/job-status.d.ts.map +0 -1
  414. package/dist/commands/ads/x/stats/job-status.js +0 -58
  415. package/dist/commands/ads/x/stats/job-status.js.map +0 -1
  416. package/dist/commands/ads/x/stats/job.d.ts +0 -63
  417. package/dist/commands/ads/x/stats/job.d.ts.map +0 -1
  418. package/dist/commands/ads/x/stats/job.js +0 -183
  419. package/dist/commands/ads/x/stats/job.js.map +0 -1
  420. package/dist/commands/ads/x/stats/sync.d.ts +0 -73
  421. package/dist/commands/ads/x/stats/sync.d.ts.map +0 -1
  422. package/dist/commands/ads/x/stats/sync.js +0 -151
  423. package/dist/commands/ads/x/stats/sync.js.map +0 -1
  424. package/dist/commands/ads/x/targeting-constants.d.ts +0 -34
  425. package/dist/commands/ads/x/targeting-constants.d.ts.map +0 -1
  426. package/dist/commands/ads/x/targeting-constants.js +0 -80
  427. package/dist/commands/ads/x/targeting-constants.js.map +0 -1
  428. package/dist/commands/ads/x/targeting-criteria.d.ts +0 -24
  429. package/dist/commands/ads/x/targeting-criteria.d.ts.map +0 -1
  430. package/dist/commands/ads/x/targeting-criteria.js +0 -69
  431. package/dist/commands/ads/x/targeting-criteria.js.map +0 -1
  432. package/dist/commands/canvas/catalog.d.ts +0 -2
  433. package/dist/commands/canvas/catalog.d.ts.map +0 -1
  434. package/dist/commands/canvas/catalog.js +0 -13
  435. package/dist/commands/canvas/catalog.js.map +0 -1
  436. package/dist/commands/canvas/index.d.ts +0 -2
  437. package/dist/commands/canvas/index.d.ts.map +0 -1
  438. package/dist/commands/canvas/index.js +0 -32
  439. package/dist/commands/canvas/index.js.map +0 -1
  440. package/dist/commands/canvas/inspect.d.ts +0 -16
  441. package/dist/commands/canvas/inspect.d.ts.map +0 -1
  442. package/dist/commands/canvas/inspect.js +0 -115
  443. package/dist/commands/canvas/inspect.js.map +0 -1
  444. package/dist/commands/canvas/run.d.ts +0 -24
  445. package/dist/commands/canvas/run.d.ts.map +0 -1
  446. package/dist/commands/canvas/run.js +0 -56
  447. package/dist/commands/canvas/run.js.map +0 -1
  448. package/dist/commands/canvas/scaffold-static-ad.d.ts +0 -40
  449. package/dist/commands/canvas/scaffold-static-ad.d.ts.map +0 -1
  450. package/dist/commands/canvas/scaffold-static-ad.js +0 -265
  451. package/dist/commands/canvas/scaffold-static-ad.js.map +0 -1
  452. package/dist/commands/canvas/scaffold-video.d.ts +0 -44
  453. package/dist/commands/canvas/scaffold-video.d.ts.map +0 -1
  454. package/dist/commands/canvas/scaffold-video.js +0 -235
  455. package/dist/commands/canvas/scaffold-video.js.map +0 -1
  456. package/dist/commands/canvas/validate.d.ts +0 -8
  457. package/dist/commands/canvas/validate.d.ts.map +0 -1
  458. package/dist/commands/canvas/validate.js +0 -37
  459. package/dist/commands/canvas/validate.js.map +0 -1
  460. package/dist/commands/ga4/audit.d.ts +0 -13
  461. package/dist/commands/ga4/audit.d.ts.map +0 -1
  462. package/dist/commands/ga4/audit.js +0 -67
  463. package/dist/commands/ga4/audit.js.map +0 -1
  464. package/dist/commands/ga4/index.d.ts +0 -2
  465. package/dist/commands/ga4/index.d.ts.map +0 -1
  466. package/dist/commands/ga4/index.js +0 -26
  467. package/dist/commands/ga4/index.js.map +0 -1
  468. package/dist/commands/ga4/presets.d.ts +0 -8
  469. package/dist/commands/ga4/presets.d.ts.map +0 -1
  470. package/dist/commands/ga4/presets.js +0 -33
  471. package/dist/commands/ga4/presets.js.map +0 -1
  472. package/dist/commands/ga4/properties.d.ts +0 -14
  473. package/dist/commands/ga4/properties.d.ts.map +0 -1
  474. package/dist/commands/ga4/properties.js +0 -61
  475. package/dist/commands/ga4/properties.js.map +0 -1
  476. package/dist/commands/ga4/query.d.ts +0 -69
  477. package/dist/commands/ga4/query.d.ts.map +0 -1
  478. package/dist/commands/ga4/query.js +0 -184
  479. package/dist/commands/ga4/query.js.map +0 -1
  480. package/dist/commands/ga4/resolve.d.ts +0 -2
  481. package/dist/commands/ga4/resolve.d.ts.map +0 -1
  482. package/dist/commands/ga4/resolve.js +0 -57
  483. package/dist/commands/ga4/resolve.js.map +0 -1
  484. package/dist/commands/gsc/index.d.ts +0 -2
  485. package/dist/commands/gsc/index.d.ts.map +0 -1
  486. package/dist/commands/gsc/index.js +0 -26
  487. package/dist/commands/gsc/index.js.map +0 -1
  488. package/dist/commands/gsc/presets.d.ts +0 -9
  489. package/dist/commands/gsc/presets.d.ts.map +0 -1
  490. package/dist/commands/gsc/presets.js +0 -34
  491. package/dist/commands/gsc/presets.js.map +0 -1
  492. package/dist/commands/gsc/query.d.ts +0 -79
  493. package/dist/commands/gsc/query.d.ts.map +0 -1
  494. package/dist/commands/gsc/query.js +0 -196
  495. package/dist/commands/gsc/query.js.map +0 -1
  496. package/dist/commands/gsc/resolve.d.ts +0 -2
  497. package/dist/commands/gsc/resolve.d.ts.map +0 -1
  498. package/dist/commands/gsc/resolve.js +0 -57
  499. package/dist/commands/gsc/resolve.js.map +0 -1
  500. package/dist/commands/gsc/sitemaps.d.ts +0 -19
  501. package/dist/commands/gsc/sitemaps.d.ts.map +0 -1
  502. package/dist/commands/gsc/sitemaps.js +0 -65
  503. package/dist/commands/gsc/sitemaps.js.map +0 -1
  504. package/dist/commands/gsc/sites.d.ts +0 -14
  505. package/dist/commands/gsc/sites.d.ts.map +0 -1
  506. package/dist/commands/gsc/sites.js +0 -61
  507. package/dist/commands/gsc/sites.js.map +0 -1
  508. package/dist/commands/images/crop.d.ts +0 -33
  509. package/dist/commands/images/crop.d.ts.map +0 -1
  510. package/dist/commands/images/crop.js +0 -90
  511. package/dist/commands/images/crop.js.map +0 -1
  512. package/dist/commands/images/delete.d.ts +0 -19
  513. package/dist/commands/images/delete.d.ts.map +0 -1
  514. package/dist/commands/images/delete.js +0 -58
  515. package/dist/commands/images/delete.js.map +0 -1
  516. package/dist/commands/images/dimensions.d.ts +0 -8
  517. package/dist/commands/images/dimensions.d.ts.map +0 -1
  518. package/dist/commands/images/dimensions.js +0 -56
  519. package/dist/commands/images/dimensions.js.map +0 -1
  520. package/dist/commands/images/extract.d.ts +0 -28
  521. package/dist/commands/images/extract.d.ts.map +0 -1
  522. package/dist/commands/images/extract.js +0 -61
  523. package/dist/commands/images/extract.js.map +0 -1
  524. package/dist/commands/images/find.d.ts +0 -38
  525. package/dist/commands/images/find.d.ts.map +0 -1
  526. package/dist/commands/images/find.js +0 -87
  527. package/dist/commands/images/find.js.map +0 -1
  528. package/dist/commands/images/get.d.ts +0 -30
  529. package/dist/commands/images/get.d.ts.map +0 -1
  530. package/dist/commands/images/get.js +0 -42
  531. package/dist/commands/images/get.js.map +0 -1
  532. package/dist/commands/images/gif.d.ts +0 -38
  533. package/dist/commands/images/gif.d.ts.map +0 -1
  534. package/dist/commands/images/gif.js +0 -89
  535. package/dist/commands/images/gif.js.map +0 -1
  536. package/dist/commands/images/google.d.ts +0 -43
  537. package/dist/commands/images/google.d.ts.map +0 -1
  538. package/dist/commands/images/google.js +0 -94
  539. package/dist/commands/images/google.js.map +0 -1
  540. package/dist/commands/images/icon.d.ts +0 -33
  541. package/dist/commands/images/icon.d.ts.map +0 -1
  542. package/dist/commands/images/icon.js +0 -74
  543. package/dist/commands/images/icon.js.map +0 -1
  544. package/dist/commands/images/index.d.ts +0 -2
  545. package/dist/commands/images/index.d.ts.map +0 -1
  546. package/dist/commands/images/index.js +0 -81
  547. package/dist/commands/images/index.js.map +0 -1
  548. package/dist/commands/images/ingest.d.ts +0 -28
  549. package/dist/commands/images/ingest.d.ts.map +0 -1
  550. package/dist/commands/images/ingest.js +0 -60
  551. package/dist/commands/images/ingest.js.map +0 -1
  552. package/dist/commands/images/library.d.ts +0 -55
  553. package/dist/commands/images/library.d.ts.map +0 -1
  554. package/dist/commands/images/library.js +0 -86
  555. package/dist/commands/images/library.js.map +0 -1
  556. package/dist/commands/images/logo.d.ts +0 -28
  557. package/dist/commands/images/logo.d.ts.map +0 -1
  558. package/dist/commands/images/logo.js +0 -71
  559. package/dist/commands/images/logo.js.map +0 -1
  560. package/dist/commands/images/normalize.d.ts +0 -54
  561. package/dist/commands/images/normalize.d.ts.map +0 -1
  562. package/dist/commands/images/normalize.js +0 -252
  563. package/dist/commands/images/normalize.js.map +0 -1
  564. package/dist/commands/images/screenshot.d.ts +0 -28
  565. package/dist/commands/images/screenshot.d.ts.map +0 -1
  566. package/dist/commands/images/screenshot.js +0 -72
  567. package/dist/commands/images/screenshot.js.map +0 -1
  568. package/dist/commands/images/search.d.ts +0 -45
  569. package/dist/commands/images/search.d.ts.map +0 -1
  570. package/dist/commands/images/search.js +0 -74
  571. package/dist/commands/images/search.js.map +0 -1
  572. package/dist/commands/images/sticker.d.ts +0 -38
  573. package/dist/commands/images/sticker.d.ts.map +0 -1
  574. package/dist/commands/images/sticker.js +0 -89
  575. package/dist/commands/images/sticker.js.map +0 -1
  576. package/dist/commands/images/stock.d.ts +0 -63
  577. package/dist/commands/images/stock.d.ts.map +0 -1
  578. package/dist/commands/images/stock.js +0 -128
  579. package/dist/commands/images/stock.js.map +0 -1
  580. package/dist/commands/images/upload.d.ts +0 -39
  581. package/dist/commands/images/upload.d.ts.map +0 -1
  582. package/dist/commands/images/upload.js +0 -159
  583. package/dist/commands/images/upload.js.map +0 -1
  584. package/dist/commands/images/upscale.d.ts +0 -13
  585. package/dist/commands/images/upscale.d.ts.map +0 -1
  586. package/dist/commands/images/upscale.js +0 -73
  587. package/dist/commands/images/upscale.js.map +0 -1
  588. package/dist/commands/images/use.d.ts +0 -23
  589. package/dist/commands/images/use.d.ts.map +0 -1
  590. package/dist/commands/images/use.js +0 -66
  591. package/dist/commands/images/use.js.map +0 -1
  592. package/dist/commands/research/advertisers.d.ts +0 -34
  593. package/dist/commands/research/advertisers.d.ts.map +0 -1
  594. package/dist/commands/research/advertisers.js +0 -78
  595. package/dist/commands/research/advertisers.js.map +0 -1
  596. package/dist/commands/research/autocomplete.d.ts +0 -34
  597. package/dist/commands/research/autocomplete.d.ts.map +0 -1
  598. package/dist/commands/research/autocomplete.js +0 -73
  599. package/dist/commands/research/autocomplete.js.map +0 -1
  600. package/dist/commands/research/countries.d.ts +0 -2
  601. package/dist/commands/research/countries.d.ts.map +0 -1
  602. package/dist/commands/research/countries.js +0 -69
  603. package/dist/commands/research/countries.js.map +0 -1
  604. package/dist/commands/research/index.d.ts +0 -2
  605. package/dist/commands/research/index.d.ts.map +0 -1
  606. package/dist/commands/research/index.js +0 -50
  607. package/dist/commands/research/index.js.map +0 -1
  608. package/dist/commands/research/intent.d.ts +0 -24
  609. package/dist/commands/research/intent.d.ts.map +0 -1
  610. package/dist/commands/research/intent.js +0 -78
  611. package/dist/commands/research/intent.js.map +0 -1
  612. package/dist/commands/research/keyword-gap.d.ts +0 -49
  613. package/dist/commands/research/keyword-gap.d.ts.map +0 -1
  614. package/dist/commands/research/keyword-gap.js +0 -107
  615. package/dist/commands/research/keyword-gap.js.map +0 -1
  616. package/dist/commands/research/keywords-for-site.d.ts +0 -44
  617. package/dist/commands/research/keywords-for-site.d.ts.map +0 -1
  618. package/dist/commands/research/keywords-for-site.js +0 -90
  619. package/dist/commands/research/keywords-for-site.js.map +0 -1
  620. package/dist/commands/research/languages.d.ts +0 -2
  621. package/dist/commands/research/languages.d.ts.map +0 -1
  622. package/dist/commands/research/languages.js +0 -42
  623. package/dist/commands/research/languages.js.map +0 -1
  624. package/dist/commands/research/lighthouse.d.ts +0 -24
  625. package/dist/commands/research/lighthouse.d.ts.map +0 -1
  626. package/dist/commands/research/lighthouse.js +0 -60
  627. package/dist/commands/research/lighthouse.js.map +0 -1
  628. package/dist/commands/research/output.d.ts +0 -29
  629. package/dist/commands/research/output.d.ts.map +0 -1
  630. package/dist/commands/research/output.js +0 -81
  631. package/dist/commands/research/output.js.map +0 -1
  632. package/dist/commands/research/relevant-pages.d.ts +0 -34
  633. package/dist/commands/research/relevant-pages.d.ts.map +0 -1
  634. package/dist/commands/research/relevant-pages.js +0 -76
  635. package/dist/commands/research/relevant-pages.js.map +0 -1
  636. package/dist/commands/research/web.d.ts +0 -19
  637. package/dist/commands/research/web.d.ts.map +0 -1
  638. package/dist/commands/research/web.js +0 -112
  639. package/dist/commands/research/web.js.map +0 -1
  640. package/dist/commands/scheduled-actions/create.d.ts +0 -50
  641. package/dist/commands/scheduled-actions/create.d.ts.map +0 -1
  642. package/dist/commands/scheduled-actions/create.js +0 -83
  643. package/dist/commands/scheduled-actions/create.js.map +0 -1
  644. package/dist/commands/scheduled-actions/delete.d.ts +0 -13
  645. package/dist/commands/scheduled-actions/delete.d.ts.map +0 -1
  646. package/dist/commands/scheduled-actions/delete.js +0 -41
  647. package/dist/commands/scheduled-actions/delete.js.map +0 -1
  648. package/dist/commands/scheduled-actions/get.d.ts +0 -13
  649. package/dist/commands/scheduled-actions/get.d.ts.map +0 -1
  650. package/dist/commands/scheduled-actions/get.js +0 -50
  651. package/dist/commands/scheduled-actions/get.js.map +0 -1
  652. package/dist/commands/scheduled-actions/index.d.ts +0 -2
  653. package/dist/commands/scheduled-actions/index.d.ts.map +0 -1
  654. package/dist/commands/scheduled-actions/index.js +0 -32
  655. package/dist/commands/scheduled-actions/index.js.map +0 -1
  656. package/dist/commands/scheduled-actions/list.d.ts +0 -2
  657. package/dist/commands/scheduled-actions/list.d.ts.map +0 -1
  658. package/dist/commands/scheduled-actions/list.js +0 -32
  659. package/dist/commands/scheduled-actions/list.js.map +0 -1
  660. package/dist/commands/scheduled-actions/shared.d.ts +0 -22
  661. package/dist/commands/scheduled-actions/shared.d.ts.map +0 -1
  662. package/dist/commands/scheduled-actions/shared.js +0 -90
  663. package/dist/commands/scheduled-actions/shared.js.map +0 -1
  664. package/dist/commands/scheduled-actions/shared.test.d.ts +0 -2
  665. package/dist/commands/scheduled-actions/shared.test.d.ts.map +0 -1
  666. package/dist/commands/scheduled-actions/shared.test.js +0 -12
  667. package/dist/commands/scheduled-actions/shared.test.js.map +0 -1
  668. package/dist/commands/scheduled-actions/trigger.d.ts +0 -13
  669. package/dist/commands/scheduled-actions/trigger.d.ts.map +0 -1
  670. package/dist/commands/scheduled-actions/trigger.js +0 -50
  671. package/dist/commands/scheduled-actions/trigger.js.map +0 -1
  672. package/dist/commands/scheduled-actions/update.d.ts +0 -58
  673. package/dist/commands/scheduled-actions/update.d.ts.map +0 -1
  674. package/dist/commands/scheduled-actions/update.js +0 -108
  675. package/dist/commands/scheduled-actions/update.js.map +0 -1
  676. package/dist/commands/schema.d.ts +0 -8
  677. package/dist/commands/schema.d.ts.map +0 -1
  678. package/dist/commands/schema.js +0 -38
  679. package/dist/commands/schema.js.map +0 -1
  680. package/dist/commands/testimonials/get.d.ts +0 -30
  681. package/dist/commands/testimonials/get.d.ts.map +0 -1
  682. package/dist/commands/testimonials/get.js +0 -42
  683. package/dist/commands/testimonials/get.js.map +0 -1
  684. package/dist/commands/testimonials/index.d.ts +0 -2
  685. package/dist/commands/testimonials/index.d.ts.map +0 -1
  686. package/dist/commands/testimonials/index.js +0 -22
  687. package/dist/commands/testimonials/index.js.map +0 -1
  688. package/dist/commands/testimonials/list.d.ts +0 -60
  689. package/dist/commands/testimonials/list.d.ts.map +0 -1
  690. package/dist/commands/testimonials/list.js +0 -84
  691. package/dist/commands/testimonials/list.js.map +0 -1
  692. package/dist/commands/testimonials/search.d.ts +0 -65
  693. package/dist/commands/testimonials/search.d.ts.map +0 -1
  694. package/dist/commands/testimonials/search.js +0 -99
  695. package/dist/commands/testimonials/search.js.map +0 -1
  696. package/dist/commands/testimonials/search.test.d.ts +0 -2
  697. package/dist/commands/testimonials/search.test.d.ts.map +0 -1
  698. package/dist/commands/testimonials/search.test.js +0 -18
  699. package/dist/commands/testimonials/search.test.js.map +0 -1
  700. package/dist/commands/videos/delete.d.ts +0 -19
  701. package/dist/commands/videos/delete.d.ts.map +0 -1
  702. package/dist/commands/videos/delete.js +0 -58
  703. package/dist/commands/videos/delete.js.map +0 -1
  704. package/dist/commands/videos/get.d.ts +0 -30
  705. package/dist/commands/videos/get.d.ts.map +0 -1
  706. package/dist/commands/videos/get.js +0 -42
  707. package/dist/commands/videos/get.js.map +0 -1
  708. package/dist/commands/videos/index.d.ts +0 -2
  709. package/dist/commands/videos/index.d.ts.map +0 -1
  710. package/dist/commands/videos/index.js +0 -25
  711. package/dist/commands/videos/index.js.map +0 -1
  712. package/dist/commands/videos/search.d.ts +0 -35
  713. package/dist/commands/videos/search.d.ts.map +0 -1
  714. package/dist/commands/videos/search.js +0 -54
  715. package/dist/commands/videos/search.js.map +0 -1
  716. package/dist/commands/videos/upload.d.ts +0 -19
  717. package/dist/commands/videos/upload.d.ts.map +0 -1
  718. package/dist/commands/videos/upload.js +0 -92
  719. package/dist/commands/videos/upload.js.map +0 -1
  720. package/dist/engine/client/backend-client.d.ts +0 -50
  721. package/dist/engine/client/backend-client.d.ts.map +0 -1
  722. package/dist/engine/client/backend-client.js +0 -20
  723. package/dist/engine/client/backend-client.js.map +0 -1
  724. package/dist/engine/client/env.d.ts +0 -7
  725. package/dist/engine/client/env.d.ts.map +0 -1
  726. package/dist/engine/client/env.js +0 -18
  727. package/dist/engine/client/env.js.map +0 -1
  728. package/dist/engine/client/http.d.ts +0 -56
  729. package/dist/engine/client/http.d.ts.map +0 -1
  730. package/dist/engine/client/http.js +0 -168
  731. package/dist/engine/client/http.js.map +0 -1
  732. package/dist/engine/engine/cache-key.d.ts +0 -19
  733. package/dist/engine/engine/cache-key.d.ts.map +0 -1
  734. package/dist/engine/engine/cache-key.js +0 -33
  735. package/dist/engine/engine/cache-key.js.map +0 -1
  736. package/dist/engine/engine/canonical.d.ts +0 -14
  737. package/dist/engine/engine/canonical.d.ts.map +0 -1
  738. package/dist/engine/engine/canonical.js +0 -53
  739. package/dist/engine/engine/canonical.js.map +0 -1
  740. package/dist/engine/engine/composition-hash.d.ts +0 -14
  741. package/dist/engine/engine/composition-hash.d.ts.map +0 -1
  742. package/dist/engine/engine/composition-hash.js +0 -51
  743. package/dist/engine/engine/composition-hash.js.map +0 -1
  744. package/dist/engine/engine/composition-meta.d.ts +0 -77
  745. package/dist/engine/engine/composition-meta.d.ts.map +0 -1
  746. package/dist/engine/engine/composition-meta.js +0 -199
  747. package/dist/engine/engine/composition-meta.js.map +0 -1
  748. package/dist/engine/engine/context.d.ts +0 -16
  749. package/dist/engine/engine/context.d.ts.map +0 -1
  750. package/dist/engine/engine/context.js +0 -2
  751. package/dist/engine/engine/context.js.map +0 -1
  752. package/dist/engine/engine/define.d.ts +0 -69
  753. package/dist/engine/engine/define.d.ts.map +0 -1
  754. package/dist/engine/engine/define.js +0 -9
  755. package/dist/engine/engine/define.js.map +0 -1
  756. package/dist/engine/engine/didyoumean.d.ts +0 -2
  757. package/dist/engine/engine/didyoumean.d.ts.map +0 -1
  758. package/dist/engine/engine/didyoumean.js +0 -58
  759. package/dist/engine/engine/didyoumean.js.map +0 -1
  760. package/dist/engine/engine/errors.d.ts +0 -41
  761. package/dist/engine/engine/errors.d.ts.map +0 -1
  762. package/dist/engine/engine/errors.js +0 -45
  763. package/dist/engine/engine/errors.js.map +0 -1
  764. package/dist/engine/engine/executor.d.ts +0 -72
  765. package/dist/engine/engine/executor.d.ts.map +0 -1
  766. package/dist/engine/engine/executor.js +0 -445
  767. package/dist/engine/engine/executor.js.map +0 -1
  768. package/dist/engine/engine/refs.d.ts +0 -12
  769. package/dist/engine/engine/refs.d.ts.map +0 -1
  770. package/dist/engine/engine/refs.js +0 -48
  771. package/dist/engine/engine/refs.js.map +0 -1
  772. package/dist/engine/engine/registry.d.ts +0 -11
  773. package/dist/engine/engine/registry.d.ts.map +0 -1
  774. package/dist/engine/engine/registry.js +0 -26
  775. package/dist/engine/engine/registry.js.map +0 -1
  776. package/dist/engine/engine/scheduler.d.ts +0 -10
  777. package/dist/engine/engine/scheduler.d.ts.map +0 -1
  778. package/dist/engine/engine/scheduler.js +0 -89
  779. package/dist/engine/engine/scheduler.js.map +0 -1
  780. package/dist/engine/engine/validator.d.ts +0 -31
  781. package/dist/engine/engine/validator.d.ts.map +0 -1
  782. package/dist/engine/engine/validator.js +0 -501
  783. package/dist/engine/engine/validator.js.map +0 -1
  784. package/dist/engine/index.d.ts.map +0 -1
  785. package/dist/engine/lib/ulid.d.ts +0 -3
  786. package/dist/engine/lib/ulid.d.ts.map +0 -1
  787. package/dist/engine/lib/ulid.js +0 -36
  788. package/dist/engine/lib/ulid.js.map +0 -1
  789. package/dist/engine/models/canvas-ad-params.test.d.ts +0 -2
  790. package/dist/engine/models/canvas-ad-params.test.d.ts.map +0 -1
  791. package/dist/engine/models/canvas-ad-params.test.js +0 -60
  792. package/dist/engine/models/canvas-ad-params.test.js.map +0 -1
  793. package/dist/engine/models/registry.d.ts +0 -63
  794. package/dist/engine/models/registry.d.ts.map +0 -1
  795. package/dist/engine/models/registry.js +0 -432
  796. package/dist/engine/models/registry.js.map +0 -1
  797. package/dist/engine/models/validateParams.d.ts +0 -38
  798. package/dist/engine/models/validateParams.d.ts.map +0 -1
  799. package/dist/engine/models/validateParams.js +0 -166
  800. package/dist/engine/models/validateParams.js.map +0 -1
  801. package/dist/engine/nodes/ingest.d.ts +0 -113
  802. package/dist/engine/nodes/ingest.d.ts.map +0 -1
  803. package/dist/engine/nodes/ingest.js +0 -555
  804. package/dist/engine/nodes/ingest.js.map +0 -1
  805. package/dist/engine/nodes/ingest.svg.test.d.ts +0 -2
  806. package/dist/engine/nodes/ingest.svg.test.d.ts.map +0 -1
  807. package/dist/engine/nodes/ingest.svg.test.js +0 -30
  808. package/dist/engine/nodes/ingest.svg.test.js.map +0 -1
  809. package/dist/engine/nodes/local/audioTimeline.d.ts +0 -82
  810. package/dist/engine/nodes/local/audioTimeline.d.ts.map +0 -1
  811. package/dist/engine/nodes/local/audioTimeline.js +0 -97
  812. package/dist/engine/nodes/local/audioTimeline.js.map +0 -1
  813. package/dist/engine/nodes/local/ffmpeg.d.ts +0 -56
  814. package/dist/engine/nodes/local/ffmpeg.d.ts.map +0 -1
  815. package/dist/engine/nodes/local/ffmpeg.js +0 -50
  816. package/dist/engine/nodes/local/ffmpeg.js.map +0 -1
  817. package/dist/engine/nodes/local/fontSpecimen.d.ts +0 -50
  818. package/dist/engine/nodes/local/fontSpecimen.d.ts.map +0 -1
  819. package/dist/engine/nodes/local/fontSpecimen.js +0 -198
  820. package/dist/engine/nodes/local/fontSpecimen.js.map +0 -1
  821. package/dist/engine/nodes/local/hyperframe-snapshot.d.ts +0 -116
  822. package/dist/engine/nodes/local/hyperframe-snapshot.d.ts.map +0 -1
  823. package/dist/engine/nodes/local/hyperframe-snapshot.js +0 -230
  824. package/dist/engine/nodes/local/hyperframe-snapshot.js.map +0 -1
  825. package/dist/engine/nodes/local/hyperframe.d.ts +0 -123
  826. package/dist/engine/nodes/local/hyperframe.d.ts.map +0 -1
  827. package/dist/engine/nodes/local/hyperframe.js +0 -367
  828. package/dist/engine/nodes/local/hyperframe.js.map +0 -1
  829. package/dist/engine/nodes/local/imagemagick.d.ts +0 -56
  830. package/dist/engine/nodes/local/imagemagick.d.ts.map +0 -1
  831. package/dist/engine/nodes/local/imagemagick.js +0 -71
  832. package/dist/engine/nodes/local/imagemagick.js.map +0 -1
  833. package/dist/engine/nodes/local/lib/assets.d.ts +0 -20
  834. package/dist/engine/nodes/local/lib/assets.d.ts.map +0 -1
  835. package/dist/engine/nodes/local/lib/assets.js +0 -40
  836. package/dist/engine/nodes/local/lib/assets.js.map +0 -1
  837. package/dist/engine/nodes/local/lib/cli-runner.d.ts +0 -78
  838. package/dist/engine/nodes/local/lib/cli-runner.d.ts.map +0 -1
  839. package/dist/engine/nodes/local/lib/cli-runner.js +0 -254
  840. package/dist/engine/nodes/local/lib/cli-runner.js.map +0 -1
  841. package/dist/engine/nodes/local/lib/ffmpeg.d.ts +0 -23
  842. package/dist/engine/nodes/local/lib/ffmpeg.d.ts.map +0 -1
  843. package/dist/engine/nodes/local/lib/ffmpeg.js +0 -75
  844. package/dist/engine/nodes/local/lib/ffmpeg.js.map +0 -1
  845. package/dist/engine/nodes/local/lib/hyperframe-errors.d.ts +0 -2
  846. package/dist/engine/nodes/local/lib/hyperframe-errors.d.ts.map +0 -1
  847. package/dist/engine/nodes/local/lib/hyperframe-errors.js +0 -47
  848. package/dist/engine/nodes/local/lib/hyperframe-errors.js.map +0 -1
  849. package/dist/engine/nodes/local/lib/templating.d.ts +0 -22
  850. package/dist/engine/nodes/local/lib/templating.d.ts.map +0 -1
  851. package/dist/engine/nodes/local/lib/templating.js +0 -85
  852. package/dist/engine/nodes/local/lib/templating.js.map +0 -1
  853. package/dist/engine/nodes/local/text.d.ts +0 -6
  854. package/dist/engine/nodes/local/text.d.ts.map +0 -1
  855. package/dist/engine/nodes/local/text.js +0 -15
  856. package/dist/engine/nodes/local/text.js.map +0 -1
  857. package/dist/engine/nodes/remote/delegate.d.ts +0 -25
  858. package/dist/engine/nodes/remote/delegate.d.ts.map +0 -1
  859. package/dist/engine/nodes/remote/delegate.js +0 -160
  860. package/dist/engine/nodes/remote/delegate.js.map +0 -1
  861. package/dist/engine/nodes/remote/dialogue.d.ts +0 -34
  862. package/dist/engine/nodes/remote/dialogue.d.ts.map +0 -1
  863. package/dist/engine/nodes/remote/dialogue.js +0 -54
  864. package/dist/engine/nodes/remote/dialogue.js.map +0 -1
  865. package/dist/engine/nodes/remote/image.d.ts +0 -42
  866. package/dist/engine/nodes/remote/image.d.ts.map +0 -1
  867. package/dist/engine/nodes/remote/image.js +0 -43
  868. package/dist/engine/nodes/remote/image.js.map +0 -1
  869. package/dist/engine/nodes/remote/imageAspectAdapt.d.ts +0 -30
  870. package/dist/engine/nodes/remote/imageAspectAdapt.d.ts.map +0 -1
  871. package/dist/engine/nodes/remote/imageAspectAdapt.js +0 -42
  872. package/dist/engine/nodes/remote/imageAspectAdapt.js.map +0 -1
  873. package/dist/engine/nodes/remote/imageBackgroundRemove.d.ts +0 -39
  874. package/dist/engine/nodes/remote/imageBackgroundRemove.d.ts.map +0 -1
  875. package/dist/engine/nodes/remote/imageBackgroundRemove.js +0 -37
  876. package/dist/engine/nodes/remote/imageBackgroundRemove.js.map +0 -1
  877. package/dist/engine/nodes/remote/imageDescribe.d.ts +0 -29
  878. package/dist/engine/nodes/remote/imageDescribe.d.ts.map +0 -1
  879. package/dist/engine/nodes/remote/imageDescribe.js +0 -25
  880. package/dist/engine/nodes/remote/imageDescribe.js.map +0 -1
  881. package/dist/engine/nodes/remote/imageReferenceSheet.d.ts +0 -34
  882. package/dist/engine/nodes/remote/imageReferenceSheet.d.ts.map +0 -1
  883. package/dist/engine/nodes/remote/imageReferenceSheet.js +0 -38
  884. package/dist/engine/nodes/remote/imageReferenceSheet.js.map +0 -1
  885. package/dist/engine/nodes/remote/imageSearch.d.ts +0 -18
  886. package/dist/engine/nodes/remote/imageSearch.d.ts.map +0 -1
  887. package/dist/engine/nodes/remote/imageSearch.js +0 -22
  888. package/dist/engine/nodes/remote/imageSearch.js.map +0 -1
  889. package/dist/engine/nodes/remote/imageSelect.d.ts +0 -39
  890. package/dist/engine/nodes/remote/imageSelect.d.ts.map +0 -1
  891. package/dist/engine/nodes/remote/imageSelect.js +0 -45
  892. package/dist/engine/nodes/remote/imageSelect.js.map +0 -1
  893. package/dist/engine/nodes/remote/music.d.ts +0 -45
  894. package/dist/engine/nodes/remote/music.d.ts.map +0 -1
  895. package/dist/engine/nodes/remote/music.js +0 -73
  896. package/dist/engine/nodes/remote/music.js.map +0 -1
  897. package/dist/engine/nodes/remote/soundEffect.d.ts +0 -21
  898. package/dist/engine/nodes/remote/soundEffect.d.ts.map +0 -1
  899. package/dist/engine/nodes/remote/soundEffect.js +0 -41
  900. package/dist/engine/nodes/remote/soundEffect.js.map +0 -1
  901. package/dist/engine/nodes/remote/textGenerate.d.ts +0 -21
  902. package/dist/engine/nodes/remote/textGenerate.d.ts.map +0 -1
  903. package/dist/engine/nodes/remote/textGenerate.js +0 -27
  904. package/dist/engine/nodes/remote/textGenerate.js.map +0 -1
  905. package/dist/engine/nodes/remote/tts.d.ts +0 -45
  906. package/dist/engine/nodes/remote/tts.d.ts.map +0 -1
  907. package/dist/engine/nodes/remote/tts.js +0 -66
  908. package/dist/engine/nodes/remote/tts.js.map +0 -1
  909. package/dist/engine/nodes/remote/video.d.ts +0 -58
  910. package/dist/engine/nodes/remote/video.d.ts.map +0 -1
  911. package/dist/engine/nodes/remote/video.js +0 -44
  912. package/dist/engine/nodes/remote/video.js.map +0 -1
  913. package/dist/engine/nodes/remote/videoBackgroundRemove.d.ts +0 -30
  914. package/dist/engine/nodes/remote/videoBackgroundRemove.d.ts.map +0 -1
  915. package/dist/engine/nodes/remote/videoBackgroundRemove.js +0 -29
  916. package/dist/engine/nodes/remote/videoBackgroundRemove.js.map +0 -1
  917. package/dist/engine/nodes/remote/videoDeconstruct.d.ts +0 -61
  918. package/dist/engine/nodes/remote/videoDeconstruct.d.ts.map +0 -1
  919. package/dist/engine/nodes/remote/videoDeconstruct.js +0 -40
  920. package/dist/engine/nodes/remote/videoDeconstruct.js.map +0 -1
  921. package/dist/engine/nodes/remote/videoLipsync.d.ts +0 -37
  922. package/dist/engine/nodes/remote/videoLipsync.d.ts.map +0 -1
  923. package/dist/engine/nodes/remote/videoLipsync.js +0 -26
  924. package/dist/engine/nodes/remote/videoLipsync.js.map +0 -1
  925. package/dist/engine/nodes/remote/videoTranscribe.d.ts +0 -116
  926. package/dist/engine/nodes/remote/videoTranscribe.d.ts.map +0 -1
  927. package/dist/engine/nodes/remote/videoTranscribe.js +0 -123
  928. package/dist/engine/nodes/remote/videoTranscribe.js.map +0 -1
  929. package/dist/engine/nodes/remote/voiceSelect.d.ts +0 -28
  930. package/dist/engine/nodes/remote/voiceSelect.d.ts.map +0 -1
  931. package/dist/engine/nodes/remote/voiceSelect.js +0 -25
  932. package/dist/engine/nodes/remote/voiceSelect.js.map +0 -1
  933. package/dist/engine/scaffold/staticAd.d.ts +0 -44
  934. package/dist/engine/scaffold/staticAd.d.ts.map +0 -1
  935. package/dist/engine/scaffold/staticAd.js +0 -243
  936. package/dist/engine/scaffold/staticAd.js.map +0 -1
  937. package/dist/engine/scaffold/video.d.ts +0 -56
  938. package/dist/engine/scaffold/video.d.ts.map +0 -1
  939. package/dist/engine/scaffold/video.js +0 -709
  940. package/dist/engine/scaffold/video.js.map +0 -1
  941. package/dist/engine/schema/canvas.d.ts +0 -41
  942. package/dist/engine/schema/canvas.d.ts.map +0 -1
  943. package/dist/engine/schema/canvas.js +0 -67
  944. package/dist/engine/schema/canvas.js.map +0 -1
  945. package/dist/engine/schema/catalog.d.ts +0 -25
  946. package/dist/engine/schema/catalog.d.ts.map +0 -1
  947. package/dist/engine/schema/catalog.js +0 -48
  948. package/dist/engine/schema/catalog.js.map +0 -1
  949. package/dist/engine/schema/primitives.d.ts +0 -6
  950. package/dist/engine/schema/primitives.d.ts.map +0 -1
  951. package/dist/engine/schema/primitives.js +0 -4
  952. package/dist/engine/schema/primitives.js.map +0 -1
  953. package/dist/engine/schema/prompts.d.ts +0 -4
  954. package/dist/engine/schema/prompts.d.ts.map +0 -1
  955. package/dist/engine/schema/prompts.js +0 -23
  956. package/dist/engine/schema/prompts.js.map +0 -1
  957. package/dist/engine/schema/refs.d.ts +0 -113
  958. package/dist/engine/schema/refs.d.ts.map +0 -1
  959. package/dist/engine/schema/refs.js +0 -35
  960. package/dist/engine/schema/refs.js.map +0 -1
  961. package/dist/engine/storage/asset-store.d.ts +0 -48
  962. package/dist/engine/storage/asset-store.d.ts.map +0 -1
  963. package/dist/engine/storage/asset-store.js +0 -166
  964. package/dist/engine/storage/asset-store.js.map +0 -1
  965. package/dist/engine/storage/cache-store.d.ts +0 -21
  966. package/dist/engine/storage/cache-store.d.ts.map +0 -1
  967. package/dist/engine/storage/cache-store.js +0 -31
  968. package/dist/engine/storage/cache-store.js.map +0 -1
  969. package/dist/engine/storage/output-writer.d.ts +0 -18
  970. package/dist/engine/storage/output-writer.d.ts.map +0 -1
  971. package/dist/engine/storage/output-writer.js +0 -52
  972. package/dist/engine/storage/output-writer.js.map +0 -1
  973. package/dist/engine/storage/sha256.d.ts +0 -2
  974. package/dist/engine/storage/sha256.d.ts.map +0 -1
  975. package/dist/engine/storage/sha256.js +0 -7
  976. package/dist/engine/storage/sha256.js.map +0 -1
  977. package/dist/env.d.ts +0 -15
  978. package/dist/env.d.ts.map +0 -1
  979. package/dist/env.js +0 -39
  980. package/dist/env.js.map +0 -1
  981. package/dist/error-handler.d.ts +0 -8
  982. package/dist/error-handler.d.ts.map +0 -1
  983. package/dist/error-handler.js +0 -46
  984. package/dist/error-handler.js.map +0 -1
  985. package/dist/geo-context.d.ts +0 -21
  986. package/dist/geo-context.d.ts.map +0 -1
  987. package/dist/geo-context.js +0 -208
  988. package/dist/geo-context.js.map +0 -1
  989. package/dist/lib/image/color-changer.d.ts +0 -18
  990. package/dist/lib/image/color-changer.d.ts.map +0 -1
  991. package/dist/lib/image/color-changer.js +0 -366
  992. package/dist/lib/image/color-changer.js.map +0 -1
  993. package/dist/lib/image/color-changer.test.d.ts +0 -2
  994. package/dist/lib/image/color-changer.test.d.ts.map +0 -1
  995. package/dist/lib/image/color-changer.test.js +0 -131
  996. package/dist/lib/image/color-changer.test.js.map +0 -1
  997. package/dist/lib/image/crop-sprite.d.ts +0 -9
  998. package/dist/lib/image/crop-sprite.d.ts.map +0 -1
  999. package/dist/lib/image/crop-sprite.js +0 -13
  1000. package/dist/lib/image/crop-sprite.js.map +0 -1
  1001. package/dist/lib/image/dimensions.d.ts +0 -9
  1002. package/dist/lib/image/dimensions.d.ts.map +0 -1
  1003. package/dist/lib/image/dimensions.js +0 -13
  1004. package/dist/lib/image/dimensions.js.map +0 -1
  1005. package/dist/lib/image/image-processor.d.ts +0 -26
  1006. package/dist/lib/image/image-processor.d.ts.map +0 -1
  1007. package/dist/lib/image/image-processor.js +0 -212
  1008. package/dist/lib/image/image-processor.js.map +0 -1
  1009. package/dist/lib/image/image-processor.test.d.ts +0 -2
  1010. package/dist/lib/image/image-processor.test.d.ts.map +0 -1
  1011. package/dist/lib/image/image-processor.test.js +0 -65
  1012. package/dist/lib/image/image-processor.test.js.map +0 -1
  1013. package/dist/lib/image/io.d.ts +0 -29
  1014. package/dist/lib/image/io.d.ts.map +0 -1
  1015. package/dist/lib/image/io.js +0 -90
  1016. package/dist/lib/image/io.js.map +0 -1
  1017. package/dist/output.d.ts +0 -43
  1018. package/dist/output.d.ts.map +0 -1
  1019. package/dist/output.js +0 -182
  1020. package/dist/output.js.map +0 -1
  1021. package/dist/output.test.d.ts +0 -2
  1022. package/dist/output.test.d.ts.map +0 -1
  1023. package/dist/output.test.js +0 -117
  1024. package/dist/output.test.js.map +0 -1
  1025. package/dist/schemas.d.ts +0 -17
  1026. package/dist/schemas.d.ts.map +0 -1
  1027. package/dist/schemas.js +0 -11
  1028. package/dist/schemas.js.map +0 -1
  1029. package/dist/version.d.ts +0 -2
  1030. package/dist/version.d.ts.map +0 -1
  1031. package/dist/version.js +0 -19
  1032. package/dist/version.js.map +0 -1
@@ -1,555 +0,0 @@
1
- import { execFile as execFileCb, spawn } from "node:child_process";
2
- import { mkdtemp, readdir, readFile, rm, stat } from "node:fs/promises";
3
- import { tmpdir } from "node:os";
4
- import path from "node:path";
5
- import { promisify } from "node:util";
6
- import { z } from "zod";
7
- import { defineNode } from "../engine/define.js";
8
- import { NodeExecutionError } from "../engine/errors.js";
9
- import { AssetRef as AssetRefSchema } from "../schema/refs.js";
10
- import { MAX_ASSET_BYTES } from "../storage/asset-store.js";
11
- import { sha256Hex } from "../storage/sha256.js";
12
- import { callBackendExec } from "./remote/delegate.js";
13
- const execFile = promisify(execFileCb);
14
- // ---------------------------------------------------------------------------
15
- // Schema — discriminated union on `source`
16
- // ---------------------------------------------------------------------------
17
- const ExpectEnum = z.enum(["image", "video", "audio", "text", "json", "font"]);
18
- const IngestParams = z.discriminatedUnion("source", [
19
- z
20
- .object({
21
- source: z.literal("url"),
22
- url: z.string().url(),
23
- expect: ExpectEnum,
24
- })
25
- .strict(),
26
- z
27
- .object({
28
- source: z.literal("path"),
29
- path: z.string().min(1),
30
- expect: ExpectEnum,
31
- })
32
- .strict(),
33
- ]);
34
- const IngestInputs = z.object({}).strict();
35
- const IngestOutputs = z.object({ asset: AssetRefSchema }).strict();
36
- const RAW_TEXT_EXTENSIONS = [".txt", ".md"];
37
- function resolveStrategy(params) {
38
- if (params.source === "path")
39
- return "local_file";
40
- switch (params.expect) {
41
- case "video":
42
- case "audio":
43
- return "yt_dlp";
44
- case "image":
45
- case "json":
46
- case "font":
47
- return "direct_fetch";
48
- case "text": {
49
- const p = safePathname(params.url);
50
- const isRawText = RAW_TEXT_EXTENSIONS.some((ext) => p.endsWith(ext));
51
- return isRawText ? "direct_fetch" : "handinger";
52
- }
53
- default: {
54
- params.expect;
55
- throw new Error(`ingest: unhandled expect=${String(params.expect)}`);
56
- }
57
- }
58
- }
59
- function safePathname(rawUrl) {
60
- try {
61
- return new URL(rawUrl).pathname.toLowerCase();
62
- }
63
- catch {
64
- return "";
65
- }
66
- }
67
- // ---------------------------------------------------------------------------
68
- // Node definition
69
- // ---------------------------------------------------------------------------
70
- export const ingestNode = defineNode({
71
- id: "ingest",
72
- version: "1.1.0",
73
- category: "io",
74
- location: "local",
75
- summary: "Ingest an external URL or a local file into the asset store. Declare the kind you expect (image/video/audio/text/json/font); the node picks the strategy. For source=url: yt-dlp for video/audio (YouTube/TikTok/Vimeo/etc. and direct file URLs), Handinger for HTML/PDF pages → markdown, direct HTTP fetch for binary URLs (images, fonts) and raw .txt/.md. For source=path: read from the local filesystem and upload to R2.",
76
- when_to_use: 'Use as the on-ramp for any external asset a canvas needs. `expect` makes the output port statically typed so downstream wiring is checked before any byte is fetched. Pick `source: "url"` for portable canvas; pick `source: "path"` for local files (canvas is not portable across machines without the file). Compose with other nodes for richer pipelines (e.g. `ingest expect=video` → `video_transcribe`).',
77
- inputs: IngestInputs,
78
- params: IngestParams,
79
- outputs: IngestOutputs,
80
- cost: () => ({ credits: 0, seconds_estimate: 5 }),
81
- // Output kind is declared in params, so validators/UI can type the port
82
- // statically without running the node.
83
- outputKinds: (params) => ({ asset: params.expect }),
84
- async execute({ params, ctx }) {
85
- const strategy = resolveStrategy(params);
86
- const source = params.source === "url" ? params.url : params.path;
87
- ctx.log(`ingest: ${strategy} (${params.expect}) ${source}`);
88
- const asset = await runStrategy(strategy, params, ctx);
89
- return { asset };
90
- },
91
- });
92
- function runStrategy(strategy, params, ctx) {
93
- if (params.source === "path") {
94
- if (strategy !== "local_file") {
95
- throw new Error(`ingest: invariant — source=path but strategy=${strategy}`);
96
- }
97
- return execLocalFile(params, ctx);
98
- }
99
- // params.source === "url" — narrowed
100
- switch (strategy) {
101
- case "direct_fetch":
102
- return execDirectFetch(params, ctx);
103
- case "handinger":
104
- return execHandinger(params, ctx);
105
- case "yt_dlp":
106
- return execYtDlp(params, ctx);
107
- case "local_file":
108
- throw new Error(`ingest: invariant — source=url but strategy=local_file`);
109
- default: {
110
- strategy;
111
- throw new Error(`ingest: unhandled strategy=${String(strategy)}`);
112
- }
113
- }
114
- }
115
- // ---------------------------------------------------------------------------
116
- // direct_fetch / handinger — both go through the backend
117
- // ---------------------------------------------------------------------------
118
- async function execDirectFetch(params, ctx) {
119
- const result = await callBackendExec({
120
- nodeType: "ingest",
121
- nodeVersion: ingestNode.version,
122
- params: { strategy: "direct_fetch", url: params.url, expect: params.expect },
123
- inputs: {},
124
- outputKinds: { asset: params.expect },
125
- ctx,
126
- });
127
- return assertAssetOutput(result, params.expect);
128
- }
129
- async function execHandinger(params, ctx) {
130
- const result = await callBackendExec({
131
- nodeType: "ingest",
132
- nodeVersion: ingestNode.version,
133
- params: { strategy: "handinger", url: params.url },
134
- inputs: {},
135
- outputKinds: { asset: "text" },
136
- ctx,
137
- });
138
- return assertAssetOutput(result, "text");
139
- }
140
- function assertAssetOutput(result, expected) {
141
- const asset = result.asset;
142
- if (!asset || typeof asset !== "object" || !("kind" in asset)) {
143
- throw new Error(`ingest: backend returned no asset (got ${JSON.stringify(result)})`);
144
- }
145
- if (asset.kind !== expected) {
146
- throw new Error(`ingest: backend returned kind=${asset.kind} but expected ${expected}`);
147
- }
148
- return asset;
149
- }
150
- // ---------------------------------------------------------------------------
151
- // local_file — read from disk, sniff mime, upload to R2 via presign
152
- // ---------------------------------------------------------------------------
153
- function resolveLocalPath(input) {
154
- if (input.startsWith("~")) {
155
- throw new Error(`ingest: ~ path expansion is not supported (got "${input}"). Use an absolute path or a cwd-relative path.`);
156
- }
157
- if (path.isAbsolute(input))
158
- return input;
159
- return path.resolve(process.cwd(), input);
160
- }
161
- const EXT_TO_MIME = {
162
- png: "image/png",
163
- jpg: "image/jpeg",
164
- jpeg: "image/jpeg",
165
- webp: "image/webp",
166
- gif: "image/gif",
167
- avif: "image/avif",
168
- mp4: "video/mp4",
169
- webm: "video/webm",
170
- mov: "video/quicktime",
171
- m4v: "video/mp4",
172
- mp3: "audio/mpeg",
173
- wav: "audio/wav",
174
- m4a: "audio/mp4",
175
- ogg: "audio/ogg",
176
- flac: "audio/flac",
177
- json: "application/json",
178
- txt: "text/plain",
179
- md: "text/markdown",
180
- markdown: "text/markdown",
181
- html: "text/html",
182
- htm: "text/html",
183
- csv: "text/csv",
184
- ttf: "font/ttf",
185
- otf: "font/otf",
186
- woff: "font/woff",
187
- woff2: "font/woff2",
188
- svg: "image/svg+xml",
189
- };
190
- const SVG_MIME = "image/svg+xml";
191
- // Crispness target for rasterized SVGs. SVGs (brand logos especially) are often authored at small
192
- // intrinsic sizes — sharp rasterizes at the intrinsic size unless we raise the render density, which
193
- // would leave a tiny, blurry logo. We measure the intrinsic size and scale the density so the longest
194
- // edge lands near SVG_TARGET_LONGEST_PX, clamped so a pathological viewBox can't blow up memory.
195
- const SVG_TARGET_LONGEST_PX = 2048;
196
- const SVG_BASE_DENSITY = 72;
197
- const SVG_MAX_DENSITY = 2400;
198
- function sniffSvg(buf) {
199
- const head = buf.subarray(0, Math.min(buf.length, 512)).toString("utf8").trimStart();
200
- return head.startsWith("<?xml") ? head.includes("<svg") : head.startsWith("<svg");
201
- }
202
- export function inferMimeFromPath(absPath, sniffBytes) {
203
- const ext = path.extname(absPath).slice(1).toLowerCase();
204
- const fromExt = EXT_TO_MIME[ext];
205
- if (fromExt)
206
- return fromExt;
207
- const fromBytes = sniffImageMime(sniffBytes);
208
- if (fromBytes)
209
- return fromBytes;
210
- if (sniffSvg(sniffBytes))
211
- return SVG_MIME;
212
- return "application/octet-stream";
213
- }
214
- // Image-generation models can't consume raw SVG markup, so an ingested SVG (e.g. a brand logo) is
215
- // rasterized to a transparent PNG here. Transparency is kept so the wordmark composites cleanly onto
216
- // any background downstream.
217
- export async function rasterizeSvgToPng(bytes) {
218
- // `sharp` is a native module that can't load in the Convex runtime. This function only runs in the
219
- // local execLocalFile path (the ingest node is location: "local"), so import it lazily — a top-level
220
- // import would drag the native binary into the Convex bundle and break `convex deploy`.
221
- const { default: sharp } = await import("sharp");
222
- const base = await sharp(bytes).metadata();
223
- const longest = Math.max(base.width ?? 0, base.height ?? 0);
224
- let density = SVG_BASE_DENSITY;
225
- if (longest > 0) {
226
- const scaled = Math.round((SVG_BASE_DENSITY * SVG_TARGET_LONGEST_PX) / longest);
227
- density = Math.min(SVG_MAX_DENSITY, Math.max(SVG_BASE_DENSITY, scaled));
228
- }
229
- return await sharp(bytes, { density }).png({ force: true, palette: false }).toBuffer();
230
- }
231
- function sniffImageMime(buf) {
232
- if (buf.length < 4)
233
- return null;
234
- if (buf[0] === 0x89 && buf[1] === 0x50 && buf[2] === 0x4e && buf[3] === 0x47)
235
- return "image/png";
236
- if (buf[0] === 0xff && buf[1] === 0xd8 && buf[2] === 0xff)
237
- return "image/jpeg";
238
- if (buf[0] === 0x47 && buf[1] === 0x49 && buf[2] === 0x46)
239
- return "image/gif";
240
- if (buf.length >= 12 &&
241
- buf[0] === 0x52 &&
242
- buf[1] === 0x49 &&
243
- buf[2] === 0x46 &&
244
- buf[3] === 0x46 &&
245
- buf[8] === 0x57 &&
246
- buf[9] === 0x45 &&
247
- buf[10] === 0x42 &&
248
- buf[11] === 0x50) {
249
- return "image/webp";
250
- }
251
- return null;
252
- }
253
- function inferKindFromMime(mime) {
254
- if (mime.startsWith("image/"))
255
- return "image";
256
- if (mime.startsWith("video/"))
257
- return "video";
258
- if (mime.startsWith("audio/"))
259
- return "audio";
260
- if (mime === "application/json")
261
- return "json";
262
- if (mime.startsWith("text/"))
263
- return "text";
264
- if (mime.startsWith("font/"))
265
- return "font";
266
- return null;
267
- }
268
- function localExecError(ctx, message) {
269
- return new NodeExecutionError(ctx.nodeId, ctx.nodeType, {
270
- kind: "local",
271
- cause: new Error(`ingest: ${message}`),
272
- });
273
- }
274
- async function execLocalFile(params, ctx) {
275
- const absPath = resolveLocalPath(params.path);
276
- let stats;
277
- try {
278
- stats = await stat(absPath);
279
- }
280
- catch (e) {
281
- const code = e.code;
282
- if (code === "ENOENT") {
283
- throw localExecError(ctx, `file_not_found: ${absPath}`);
284
- }
285
- if (code === "EACCES") {
286
- throw localExecError(ctx, `permission_denied: ${absPath}`);
287
- }
288
- throw localExecError(ctx, `stat failed for ${absPath}: ${e.message}`);
289
- }
290
- if (!stats.isFile()) {
291
- throw localExecError(ctx, `not_a_file: ${absPath} (isDirectory=${stats.isDirectory()})`);
292
- }
293
- if (stats.size > MAX_ASSET_BYTES) {
294
- throw localExecError(ctx, `file_too_large: ${absPath} is ${stats.size} bytes (limit ${MAX_ASSET_BYTES})`);
295
- }
296
- let bytes;
297
- try {
298
- bytes = await readFile(absPath);
299
- }
300
- catch (e) {
301
- if (e.code === "EACCES") {
302
- throw localExecError(ctx, `permission_denied: ${absPath}`);
303
- }
304
- throw localExecError(ctx, `read failed for ${absPath}: ${e.message}`);
305
- }
306
- const mime = inferMimeFromPath(absPath, bytes);
307
- const kind = inferKindFromMime(mime);
308
- if (kind === null) {
309
- throw localExecError(ctx, `kind_mismatch: ${absPath} has mime=${mime} which doesn't map to any ingest kind (image/video/audio/text/json/font). If this is a PDF and you want text extraction, host it via URL and use source="url".`);
310
- }
311
- if (kind !== params.expect) {
312
- throw localExecError(ctx, `kind_mismatch: expect=${params.expect} but ${absPath} has mime=${mime} (kind=${kind})`);
313
- }
314
- ctx.log(`ingest: local file ${stats.size}B mime=${mime}`);
315
- // SVG resolves to the image kind, but downstream image-generation models can't read SVG markup, so
316
- // rasterize to a transparent PNG before upload. The kind check above guarantees expect === "image".
317
- let outBytes = bytes;
318
- let outMime = mime;
319
- if (mime === SVG_MIME) {
320
- outBytes = await rasterizeSvgToPng(bytes);
321
- outMime = "image/png";
322
- ctx.log(`ingest: rasterized SVG -> PNG (${outBytes.length}B)`);
323
- }
324
- return await uploadAndIngest({
325
- bytes: outBytes,
326
- kind: params.expect,
327
- mime: outMime,
328
- metadata: {
329
- source_path: absPath,
330
- strategy: "local_file",
331
- ingested_at: new Date().toISOString(),
332
- file_size: stats.size,
333
- original_filename: path.basename(absPath),
334
- ...(mime === SVG_MIME ? { rasterized_from: "svg" } : {}),
335
- },
336
- ctx,
337
- });
338
- }
339
- // ---------------------------------------------------------------------------
340
- // yt_dlp — runs locally, then uploads to R2 via presign so remote downstream
341
- // nodes can fetch the asset by URL.
342
- // ---------------------------------------------------------------------------
343
- const YT_DLP_BIN = "yt-dlp";
344
- const YT_DLP_TIMEOUT_MS = 10 * 60 * 1000;
345
- const YT_DLP_MIME = {
346
- image: "image/png",
347
- video: "video/mp4",
348
- audio: "audio/mp4",
349
- text: "text/plain",
350
- json: "application/json",
351
- font: "font/ttf", // unreachable — resolveStrategy never routes font to yt_dlp
352
- };
353
- const YT_DLP_EXT = {
354
- image: "png",
355
- video: "mp4",
356
- audio: "m4a",
357
- text: "txt",
358
- json: "json",
359
- font: "ttf", // unreachable — resolveStrategy never routes font to yt_dlp
360
- };
361
- async function execYtDlp(params, ctx) {
362
- if (params.expect !== "video" && params.expect !== "audio") {
363
- // resolveStrategy guarantees this, but the runtime branch makes it explicit.
364
- throw new Error(`ingest: yt_dlp only handles video/audio, got expect=${params.expect}`);
365
- }
366
- const workDir = await mkdtemp(path.join(tmpdir(), "ingest-yt-"));
367
- try {
368
- const { filePath, info } = await runYtDlp({
369
- url: params.url,
370
- audioOnly: params.expect === "audio",
371
- workDir,
372
- ctx,
373
- });
374
- const downloadedStats = await stat(filePath);
375
- if (downloadedStats.size > MAX_ASSET_BYTES) {
376
- throw localExecError(ctx, `file_too_large: yt-dlp output for ${params.url} is ${downloadedStats.size} bytes (limit ${MAX_ASSET_BYTES})`);
377
- }
378
- const bytes = await readFile(filePath);
379
- const kind = params.expect;
380
- const mime = YT_DLP_MIME[kind];
381
- const metadata = buildYtDlpMetadata(params.url, info);
382
- return await uploadAndIngest({ bytes, kind, mime, metadata, ctx });
383
- }
384
- finally {
385
- await rm(workDir, { recursive: true, force: true }).catch((e) => {
386
- ctx.log(`ingest: tmp cleanup failed (${e.message})`);
387
- });
388
- }
389
- }
390
- async function runYtDlp(args) {
391
- const outTemplate = path.join(args.workDir, "out.%(ext)s");
392
- const infoPath = path.join(args.workDir, "out.info.json");
393
- const argv = [
394
- args.url,
395
- "--no-playlist",
396
- "--no-progress",
397
- "--no-warnings",
398
- "--quiet",
399
- "--write-info-json",
400
- "-o",
401
- outTemplate,
402
- ];
403
- if (args.audioOnly) {
404
- argv.push("-x", "--audio-format", "m4a");
405
- }
406
- else {
407
- argv.push("--format", "bv*+ba/b", "--merge-output-format", "mp4");
408
- }
409
- args.ctx.log(`ingest: spawning yt-dlp (${args.audioOnly ? "audio" : "video"})`);
410
- const { code, stderr } = await spawnAndWait(YT_DLP_BIN, argv, YT_DLP_TIMEOUT_MS);
411
- if (code !== 0) {
412
- throw new NodeExecutionError(args.ctx.nodeId, args.ctx.nodeType, {
413
- kind: "local",
414
- cause: new Error(`yt-dlp exited ${code}\n${tail(stderr, 40)}`),
415
- });
416
- }
417
- const files = await readdir(args.workDir);
418
- const wanted = args.audioOnly ? ".m4a" : ".mp4";
419
- const downloaded = files.find((f) => f.startsWith("out.") && f.endsWith(wanted));
420
- if (!downloaded) {
421
- throw new Error(`ingest: yt-dlp finished but no ${wanted} file in ${args.workDir} (saw: ${files.join(", ")})`);
422
- }
423
- let info = {};
424
- try {
425
- const raw = await readFile(infoPath, "utf-8");
426
- info = JSON.parse(raw);
427
- }
428
- catch {
429
- // info.json is best-effort — yt-dlp sometimes omits it for direct file URLs.
430
- }
431
- return { filePath: path.join(args.workDir, downloaded), info };
432
- }
433
- function buildYtDlpMetadata(sourceUrl, info) {
434
- const out = {
435
- source_url: sourceUrl,
436
- strategy: "yt_dlp",
437
- ingested_at: new Date().toISOString(),
438
- };
439
- if (typeof info.title === "string")
440
- out.original_title = info.title;
441
- if (typeof info.uploader === "string")
442
- out.original_uploader = info.uploader;
443
- if (typeof info.duration === "number")
444
- out.original_duration_s = info.duration;
445
- if (typeof info.webpage_url === "string")
446
- out.webpage_url = info.webpage_url;
447
- if (typeof info.width === "number")
448
- out.width = info.width;
449
- if (typeof info.height === "number")
450
- out.height = info.height;
451
- return out;
452
- }
453
- // ---------------------------------------------------------------------------
454
- // R2 upload + local ingest
455
- // ---------------------------------------------------------------------------
456
- export async function uploadAndIngest(args) {
457
- const sha = sha256Hex(args.bytes);
458
- const { putUrl, publicUrl } = await args.ctx.client.presignAssetUpload(sha, args.mime, args.ctx.signal);
459
- const putRes = await fetch(putUrl, {
460
- method: "PUT",
461
- body: new Uint8Array(args.bytes),
462
- headers: { "Content-Type": args.mime },
463
- signal: args.ctx.signal,
464
- });
465
- if (!putRes.ok) {
466
- throw new Error(`ingest: presigned PUT failed ${putRes.status} ${putRes.statusText}`);
467
- }
468
- const localRef = await args.ctx.assets.ingestBytes({
469
- bytes: args.bytes,
470
- kind: args.kind,
471
- mime: args.mime,
472
- metadata: args.metadata,
473
- });
474
- // ingestBytes leaves url undefined (LocalAssetStore is local-only). Overlay
475
- // the public R2 URL so remote downstream nodes can pull this asset.
476
- return { ...localRef, url: publicUrl };
477
- }
478
- function spawnAndWait(bin, argv, timeoutMs) {
479
- return new Promise((resolve, reject) => {
480
- const child = spawn(bin, argv, { stdio: ["ignore", "pipe", "pipe"] });
481
- const stderrChunks = [];
482
- let stderrLen = 0;
483
- const MAX_STDERR = 256 * 1024;
484
- child.stdout.on("data", () => {
485
- // discard
486
- });
487
- child.stderr.on("data", (chunk) => {
488
- if (stderrLen < MAX_STDERR) {
489
- stderrChunks.push(chunk);
490
- stderrLen += chunk.length;
491
- }
492
- });
493
- const timer = setTimeout(() => {
494
- child.kill("SIGKILL");
495
- reject(new Error(`ingest: ${bin} timed out after ${timeoutMs}ms`));
496
- }, timeoutMs);
497
- child.on("error", (err) => {
498
- clearTimeout(timer);
499
- reject(new Error(`ingest: failed to spawn "${bin}" — ${err.message}`));
500
- });
501
- child.on("close", (code) => {
502
- clearTimeout(timer);
503
- resolve({ code: code ?? -1, stderr: Buffer.concat(stderrChunks).toString("utf8") });
504
- });
505
- });
506
- }
507
- function tail(text, maxLines) {
508
- const lines = text.split("\n");
509
- return lines.slice(-maxLines).join("\n");
510
- }
511
- // Fold yt-dlp version into the cache key so upgrades bust cache automatically.
512
- async function ytDlpVersion() {
513
- try {
514
- const { stdout } = await execFile(YT_DLP_BIN, ["--version"], { encoding: "utf-8", maxBuffer: 64 * 1024 });
515
- return stdout.trim();
516
- }
517
- catch {
518
- return "yt-dlp:unknown";
519
- }
520
- }
521
- // Attach cacheKeyExtras after definition so the helper can be referenced.
522
- ingestNode.cacheKeyExtras = async ({ params }) => {
523
- const p = params;
524
- const extras = {};
525
- // For source=path: fold mtime+size into the cache key so editing the file
526
- // invalidates the cache automatically. Failures (missing file, perms) are
527
- // silently swallowed — execute will surface them with full context.
528
- if (p.source === "path" && typeof p.path === "string") {
529
- try {
530
- const abs = resolveLocalPath(p.path);
531
- const s = await stat(abs);
532
- extras.local_file_signature = `${s.mtimeMs}:${s.size}`;
533
- }
534
- catch {
535
- // ignore — execute will fail clearly
536
- }
537
- }
538
- // For source=url with yt_dlp strategy: fold tool version so upgrades bust cache.
539
- if (p.source === "url" && (p.expect === "video" || p.expect === "audio")) {
540
- extras.yt_dlp_version = await ytDlpVersion();
541
- }
542
- return extras;
543
- };
544
- // Exported for unit tests.
545
- export const _internal = {
546
- resolveStrategy,
547
- resolveLocalPath,
548
- inferMimeFromPath,
549
- inferKindFromMime,
550
- buildYtDlpMetadata,
551
- YT_DLP_EXT,
552
- YT_DLP_MIME,
553
- EXT_TO_MIME,
554
- };
555
- //# sourceMappingURL=ingest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../src/engine/nodes/ingest.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ingest.svg.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ingest.svg.test.d.ts","sourceRoot":"","sources":["../../../src/engine/nodes/ingest.svg.test.ts"],"names":[],"mappings":""}
@@ -1,30 +0,0 @@
1
- import sharp from "sharp";
2
- import { describe, expect, it } from "vitest";
3
- import { inferMimeFromPath, rasterizeSvgToPng } from "./ingest.js";
4
- const SAMPLE_SVG = Buffer.from('<svg width="126" height="28" viewBox="0 0 126 28" xmlns="http://www.w3.org/2000/svg"><rect width="126" height="28" fill="#FD4D0E"/></svg>');
5
- describe("ingest SVG support", () => {
6
- it("maps the .svg extension to image/svg+xml so it resolves to the image kind", () => {
7
- expect(inferMimeFromPath("/tmp/barkibu-logo.svg", Buffer.alloc(0))).toBe("image/svg+xml");
8
- });
9
- it("sniffs SVG content when the extension is missing", () => {
10
- expect(inferMimeFromPath("/tmp/logo", SAMPLE_SVG)).toBe("image/svg+xml");
11
- });
12
- it("rasterizes an SVG to a real PNG raster", async () => {
13
- const png = await rasterizeSvgToPng(SAMPLE_SVG);
14
- const sig = png.subarray(0, 4);
15
- expect([sig[0], sig[1], sig[2], sig[3]]).toEqual([0x89, 0x50, 0x4e, 0x47]);
16
- });
17
- it("upscales a small logo so it is crisp downstream", async () => {
18
- const png = await rasterizeSvgToPng(SAMPLE_SVG);
19
- const meta = await sharp(png).metadata();
20
- // 126x28 source should be scaled so its longest edge is well above the original.
21
- expect(meta.width ?? 0).toBeGreaterThan(1000);
22
- });
23
- it("preserves transparency around the artwork (alpha channel kept)", async () => {
24
- const transparentSvg = Buffer.from('<svg width="100" height="40" viewBox="0 0 100 40" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="20" r="10" fill="#FD4D0E"/></svg>');
25
- const png = await rasterizeSvgToPng(transparentSvg);
26
- const meta = await sharp(png).metadata();
27
- expect(meta.hasAlpha).toBe(true);
28
- });
29
- });
30
- //# sourceMappingURL=ingest.svg.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ingest.svg.test.js","sourceRoot":"","sources":["../../../src/engine/nodes/ingest.svg.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAC5B,2IAA2I,CAC5I,CAAC;AAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzC,iFAAiF;QACjF,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAChC,4IAA4I,CAC7I,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}