transloadit 4.7.4 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/README.md +915 -5
  2. package/dist/Transloadit.d.ts +3 -3
  3. package/dist/Transloadit.d.ts.map +1 -1
  4. package/dist/Transloadit.js +2 -2
  5. package/dist/Transloadit.js.map +1 -1
  6. package/dist/alphalib/assembly-linter.js +1 -1
  7. package/dist/alphalib/assembly-linter.js.map +1 -1
  8. package/dist/alphalib/stepParsing.js +2 -2
  9. package/dist/alphalib/stepParsing.js.map +1 -1
  10. package/dist/alphalib/types/assembliesGet.d.ts +5 -0
  11. package/dist/alphalib/types/assembliesGet.d.ts.map +1 -1
  12. package/dist/alphalib/types/assemblyReplay.d.ts +7 -7860
  13. package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -1
  14. package/dist/alphalib/types/assemblyReplayNotification.d.ts +7 -7860
  15. package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -1
  16. package/dist/alphalib/types/assemblyStatus.d.ts +4822 -313
  17. package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
  18. package/dist/alphalib/types/assemblyStatus.js +40 -2
  19. package/dist/alphalib/types/assemblyStatus.js.map +1 -1
  20. package/dist/alphalib/types/bill.d.ts +5 -0
  21. package/dist/alphalib/types/bill.d.ts.map +1 -1
  22. package/dist/alphalib/types/builtinTemplates.d.ts +83 -0
  23. package/dist/alphalib/types/builtinTemplates.d.ts.map +1 -0
  24. package/dist/alphalib/types/builtinTemplates.js +19 -0
  25. package/dist/alphalib/types/builtinTemplates.js.map +1 -0
  26. package/dist/alphalib/types/robots/_index.d.ts +903 -72620
  27. package/dist/alphalib/types/robots/_index.d.ts.map +1 -1
  28. package/dist/alphalib/types/robots/_index.js +62 -11
  29. package/dist/alphalib/types/robots/_index.js.map +1 -1
  30. package/dist/alphalib/types/robots/_instructions-primitives.d.ts +41 -10
  31. package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -1
  32. package/dist/alphalib/types/robots/_instructions-primitives.js +89 -3
  33. package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -1
  34. package/dist/alphalib/types/robots/ai-chat.d.ts +33 -0
  35. package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -1
  36. package/dist/alphalib/types/robots/ai-chat.js +28 -4
  37. package/dist/alphalib/types/robots/ai-chat.js.map +1 -1
  38. package/dist/alphalib/types/robots/assembly-savejson.d.ts.map +1 -1
  39. package/dist/alphalib/types/robots/assembly-savejson.js +8 -0
  40. package/dist/alphalib/types/robots/assembly-savejson.js.map +1 -1
  41. package/dist/alphalib/types/robots/audio-artwork.d.ts.map +1 -1
  42. package/dist/alphalib/types/robots/audio-artwork.js +4 -5
  43. package/dist/alphalib/types/robots/audio-artwork.js.map +1 -1
  44. package/dist/alphalib/types/robots/audio-concat.d.ts.map +1 -1
  45. package/dist/alphalib/types/robots/audio-concat.js +1 -2
  46. package/dist/alphalib/types/robots/audio-concat.js.map +1 -1
  47. package/dist/alphalib/types/robots/audio-encode.d.ts.map +1 -1
  48. package/dist/alphalib/types/robots/audio-encode.js +1 -2
  49. package/dist/alphalib/types/robots/audio-encode.js.map +1 -1
  50. package/dist/alphalib/types/robots/audio-loop.d.ts.map +1 -1
  51. package/dist/alphalib/types/robots/audio-loop.js +1 -2
  52. package/dist/alphalib/types/robots/audio-loop.js.map +1 -1
  53. package/dist/alphalib/types/robots/audio-merge.d.ts.map +1 -1
  54. package/dist/alphalib/types/robots/audio-merge.js +1 -2
  55. package/dist/alphalib/types/robots/audio-merge.js.map +1 -1
  56. package/dist/alphalib/types/robots/audio-split.d.ts +2936 -0
  57. package/dist/alphalib/types/robots/audio-split.d.ts.map +1 -0
  58. package/dist/alphalib/types/robots/audio-split.js +88 -0
  59. package/dist/alphalib/types/robots/audio-split.js.map +1 -0
  60. package/dist/alphalib/types/robots/audio-waveform.d.ts +92 -6
  61. package/dist/alphalib/types/robots/audio-waveform.d.ts.map +1 -1
  62. package/dist/alphalib/types/robots/audio-waveform.js +72 -6
  63. package/dist/alphalib/types/robots/audio-waveform.js.map +1 -1
  64. package/dist/alphalib/types/robots/azure-import.d.ts.map +1 -1
  65. package/dist/alphalib/types/robots/azure-import.js +0 -1
  66. package/dist/alphalib/types/robots/azure-import.js.map +1 -1
  67. package/dist/alphalib/types/robots/azure-store.d.ts.map +1 -1
  68. package/dist/alphalib/types/robots/azure-store.js +0 -1
  69. package/dist/alphalib/types/robots/azure-store.js.map +1 -1
  70. package/dist/alphalib/types/robots/backblaze-import.d.ts.map +1 -1
  71. package/dist/alphalib/types/robots/backblaze-import.js +0 -1
  72. package/dist/alphalib/types/robots/backblaze-import.js.map +1 -1
  73. package/dist/alphalib/types/robots/backblaze-store.d.ts.map +1 -1
  74. package/dist/alphalib/types/robots/backblaze-store.js +0 -1
  75. package/dist/alphalib/types/robots/backblaze-store.js.map +1 -1
  76. package/dist/alphalib/types/robots/box-import.d.ts +150 -0
  77. package/dist/alphalib/types/robots/box-import.d.ts.map +1 -0
  78. package/dist/alphalib/types/robots/box-import.js +63 -0
  79. package/dist/alphalib/types/robots/box-import.js.map +1 -0
  80. package/dist/alphalib/types/robots/box-store.d.ts +455 -0
  81. package/dist/alphalib/types/robots/box-store.d.ts.map +1 -0
  82. package/dist/alphalib/types/robots/box-store.js +66 -0
  83. package/dist/alphalib/types/robots/box-store.js.map +1 -0
  84. package/dist/alphalib/types/robots/cloudfiles-import.d.ts.map +1 -1
  85. package/dist/alphalib/types/robots/cloudfiles-import.js +0 -1
  86. package/dist/alphalib/types/robots/cloudfiles-import.js.map +1 -1
  87. package/dist/alphalib/types/robots/cloudfiles-store.d.ts.map +1 -1
  88. package/dist/alphalib/types/robots/cloudfiles-store.js +0 -1
  89. package/dist/alphalib/types/robots/cloudfiles-store.js.map +1 -1
  90. package/dist/alphalib/types/robots/cloudflare-import.d.ts.map +1 -1
  91. package/dist/alphalib/types/robots/cloudflare-import.js +0 -1
  92. package/dist/alphalib/types/robots/cloudflare-import.js.map +1 -1
  93. package/dist/alphalib/types/robots/cloudflare-store.d.ts.map +1 -1
  94. package/dist/alphalib/types/robots/cloudflare-store.js +0 -1
  95. package/dist/alphalib/types/robots/cloudflare-store.js.map +1 -1
  96. package/dist/alphalib/types/robots/digitalocean-import.d.ts.map +1 -1
  97. package/dist/alphalib/types/robots/digitalocean-import.js +0 -1
  98. package/dist/alphalib/types/robots/digitalocean-import.js.map +1 -1
  99. package/dist/alphalib/types/robots/digitalocean-store.d.ts.map +1 -1
  100. package/dist/alphalib/types/robots/digitalocean-store.js +0 -1
  101. package/dist/alphalib/types/robots/digitalocean-store.js.map +1 -1
  102. package/dist/alphalib/types/robots/document-autorotate.d.ts.map +1 -1
  103. package/dist/alphalib/types/robots/document-autorotate.js +8 -1
  104. package/dist/alphalib/types/robots/document-autorotate.js.map +1 -1
  105. package/dist/alphalib/types/robots/document-convert.d.ts +8 -8
  106. package/dist/alphalib/types/robots/document-convert.d.ts.map +1 -1
  107. package/dist/alphalib/types/robots/document-convert.js +9 -3
  108. package/dist/alphalib/types/robots/document-convert.js.map +1 -1
  109. package/dist/alphalib/types/robots/document-merge.d.ts.map +1 -1
  110. package/dist/alphalib/types/robots/document-merge.js +0 -1
  111. package/dist/alphalib/types/robots/document-merge.js.map +1 -1
  112. package/dist/alphalib/types/robots/document-ocr.d.ts.map +1 -1
  113. package/dist/alphalib/types/robots/document-ocr.js +0 -1
  114. package/dist/alphalib/types/robots/document-ocr.js.map +1 -1
  115. package/dist/alphalib/types/robots/document-optimize.d.ts.map +1 -1
  116. package/dist/alphalib/types/robots/document-optimize.js +0 -1
  117. package/dist/alphalib/types/robots/document-optimize.js.map +1 -1
  118. package/dist/alphalib/types/robots/document-split.d.ts.map +1 -1
  119. package/dist/alphalib/types/robots/document-split.js +9 -1
  120. package/dist/alphalib/types/robots/document-split.js.map +1 -1
  121. package/dist/alphalib/types/robots/document-thumbs.d.ts +12 -0
  122. package/dist/alphalib/types/robots/document-thumbs.d.ts.map +1 -1
  123. package/dist/alphalib/types/robots/document-thumbs.js +23 -4
  124. package/dist/alphalib/types/robots/document-thumbs.js.map +1 -1
  125. package/dist/alphalib/types/robots/dropbox-import.d.ts.map +1 -1
  126. package/dist/alphalib/types/robots/dropbox-import.js +0 -1
  127. package/dist/alphalib/types/robots/dropbox-import.js.map +1 -1
  128. package/dist/alphalib/types/robots/dropbox-store.d.ts.map +1 -1
  129. package/dist/alphalib/types/robots/dropbox-store.js +0 -1
  130. package/dist/alphalib/types/robots/dropbox-store.js.map +1 -1
  131. package/dist/alphalib/types/robots/edgly-deliver.d.ts.map +1 -1
  132. package/dist/alphalib/types/robots/edgly-deliver.js +8 -1
  133. package/dist/alphalib/types/robots/edgly-deliver.js.map +1 -1
  134. package/dist/alphalib/types/robots/file-compress.d.ts +12 -0
  135. package/dist/alphalib/types/robots/file-compress.d.ts.map +1 -1
  136. package/dist/alphalib/types/robots/file-compress.js +8 -1
  137. package/dist/alphalib/types/robots/file-compress.js.map +1 -1
  138. package/dist/alphalib/types/robots/file-decompress.d.ts +24 -0
  139. package/dist/alphalib/types/robots/file-decompress.d.ts.map +1 -1
  140. package/dist/alphalib/types/robots/file-decompress.js +30 -5
  141. package/dist/alphalib/types/robots/file-decompress.js.map +1 -1
  142. package/dist/alphalib/types/robots/file-filter.d.ts.map +1 -1
  143. package/dist/alphalib/types/robots/file-filter.js +23 -6
  144. package/dist/alphalib/types/robots/file-filter.js.map +1 -1
  145. package/dist/alphalib/types/robots/file-hash.d.ts +24 -0
  146. package/dist/alphalib/types/robots/file-hash.d.ts.map +1 -1
  147. package/dist/alphalib/types/robots/file-hash.js +23 -1
  148. package/dist/alphalib/types/robots/file-hash.js.map +1 -1
  149. package/dist/alphalib/types/robots/file-preview.d.ts +12 -0
  150. package/dist/alphalib/types/robots/file-preview.d.ts.map +1 -1
  151. package/dist/alphalib/types/robots/file-preview.js +8 -1
  152. package/dist/alphalib/types/robots/file-preview.js.map +1 -1
  153. package/dist/alphalib/types/robots/file-read.d.ts.map +1 -1
  154. package/dist/alphalib/types/robots/file-read.js +9 -1
  155. package/dist/alphalib/types/robots/file-read.js.map +1 -1
  156. package/dist/alphalib/types/robots/file-serve.d.ts +12 -0
  157. package/dist/alphalib/types/robots/file-serve.d.ts.map +1 -1
  158. package/dist/alphalib/types/robots/file-serve.js +38 -7
  159. package/dist/alphalib/types/robots/file-serve.js.map +1 -1
  160. package/dist/alphalib/types/robots/file-verify.d.ts.map +1 -1
  161. package/dist/alphalib/types/robots/file-verify.js +0 -1
  162. package/dist/alphalib/types/robots/file-verify.js.map +1 -1
  163. package/dist/alphalib/types/robots/file-virusscan.d.ts.map +1 -1
  164. package/dist/alphalib/types/robots/file-virusscan.js +5 -4
  165. package/dist/alphalib/types/robots/file-virusscan.js.map +1 -1
  166. package/dist/alphalib/types/robots/file-watermark.d.ts.map +1 -1
  167. package/dist/alphalib/types/robots/file-watermark.js +10 -0
  168. package/dist/alphalib/types/robots/file-watermark.js.map +1 -1
  169. package/dist/alphalib/types/robots/ftp-import.d.ts.map +1 -1
  170. package/dist/alphalib/types/robots/ftp-import.js +0 -1
  171. package/dist/alphalib/types/robots/ftp-import.js.map +1 -1
  172. package/dist/alphalib/types/robots/ftp-store.d.ts.map +1 -1
  173. package/dist/alphalib/types/robots/ftp-store.js +0 -1
  174. package/dist/alphalib/types/robots/ftp-store.js.map +1 -1
  175. package/dist/alphalib/types/robots/google-import.d.ts.map +1 -1
  176. package/dist/alphalib/types/robots/google-import.js +0 -1
  177. package/dist/alphalib/types/robots/google-import.js.map +1 -1
  178. package/dist/alphalib/types/robots/google-store.d.ts.map +1 -1
  179. package/dist/alphalib/types/robots/google-store.js +0 -1
  180. package/dist/alphalib/types/robots/google-store.js.map +1 -1
  181. package/dist/alphalib/types/robots/html-convert.d.ts.map +1 -1
  182. package/dist/alphalib/types/robots/html-convert.js +0 -1
  183. package/dist/alphalib/types/robots/html-convert.js.map +1 -1
  184. package/dist/alphalib/types/robots/http-import.d.ts.map +1 -1
  185. package/dist/alphalib/types/robots/http-import.js +0 -1
  186. package/dist/alphalib/types/robots/http-import.js.map +1 -1
  187. package/dist/alphalib/types/robots/image-bgremove.d.ts +8 -8
  188. package/dist/alphalib/types/robots/image-bgremove.d.ts.map +1 -1
  189. package/dist/alphalib/types/robots/image-bgremove.js +4 -2
  190. package/dist/alphalib/types/robots/image-bgremove.js.map +1 -1
  191. package/dist/alphalib/types/robots/image-copyrightdetect.d.ts +465 -0
  192. package/dist/alphalib/types/robots/image-copyrightdetect.d.ts.map +1 -0
  193. package/dist/alphalib/types/robots/image-copyrightdetect.js +136 -0
  194. package/dist/alphalib/types/robots/image-copyrightdetect.js.map +1 -0
  195. package/dist/alphalib/types/robots/image-describe.d.ts.map +1 -1
  196. package/dist/alphalib/types/robots/image-describe.js +0 -1
  197. package/dist/alphalib/types/robots/image-describe.js.map +1 -1
  198. package/dist/alphalib/types/robots/image-enhance.d.ts +502 -0
  199. package/dist/alphalib/types/robots/image-enhance.d.ts.map +1 -0
  200. package/dist/alphalib/types/robots/image-enhance.js +146 -0
  201. package/dist/alphalib/types/robots/image-enhance.js.map +1 -0
  202. package/dist/alphalib/types/robots/image-facedetect.d.ts.map +1 -1
  203. package/dist/alphalib/types/robots/image-facedetect.js +0 -1
  204. package/dist/alphalib/types/robots/image-facedetect.js.map +1 -1
  205. package/dist/alphalib/types/robots/image-generate.d.ts +4 -5
  206. package/dist/alphalib/types/robots/image-generate.d.ts.map +1 -1
  207. package/dist/alphalib/types/robots/image-generate.js +62 -8
  208. package/dist/alphalib/types/robots/image-generate.js.map +1 -1
  209. package/dist/alphalib/types/robots/image-merge.d.ts +12 -12
  210. package/dist/alphalib/types/robots/image-merge.d.ts.map +1 -1
  211. package/dist/alphalib/types/robots/image-merge.js +0 -1
  212. package/dist/alphalib/types/robots/image-merge.js.map +1 -1
  213. package/dist/alphalib/types/robots/image-ocr.d.ts.map +1 -1
  214. package/dist/alphalib/types/robots/image-ocr.js +0 -1
  215. package/dist/alphalib/types/robots/image-ocr.js.map +1 -1
  216. package/dist/alphalib/types/robots/image-optimize.d.ts +12 -0
  217. package/dist/alphalib/types/robots/image-optimize.d.ts.map +1 -1
  218. package/dist/alphalib/types/robots/image-optimize.js +16 -3
  219. package/dist/alphalib/types/robots/image-optimize.js.map +1 -1
  220. package/dist/alphalib/types/robots/image-resize.d.ts +20 -8
  221. package/dist/alphalib/types/robots/image-resize.d.ts.map +1 -1
  222. package/dist/alphalib/types/robots/image-resize.js +37 -1
  223. package/dist/alphalib/types/robots/image-resize.js.map +1 -1
  224. package/dist/alphalib/types/robots/image-upscale.d.ts +447 -0
  225. package/dist/alphalib/types/robots/image-upscale.d.ts.map +1 -0
  226. package/dist/alphalib/types/robots/image-upscale.js +65 -0
  227. package/dist/alphalib/types/robots/image-upscale.js.map +1 -0
  228. package/dist/alphalib/types/robots/mega-import.d.ts +244 -0
  229. package/dist/alphalib/types/robots/mega-import.d.ts.map +1 -0
  230. package/dist/alphalib/types/robots/mega-import.js +84 -0
  231. package/dist/alphalib/types/robots/mega-import.js.map +1 -0
  232. package/dist/alphalib/types/robots/mega-store.d.ts +526 -0
  233. package/dist/alphalib/types/robots/mega-store.d.ts.map +1 -0
  234. package/dist/alphalib/types/robots/mega-store.js +82 -0
  235. package/dist/alphalib/types/robots/mega-store.js.map +1 -0
  236. package/dist/alphalib/types/robots/meta-read.d.ts.map +1 -1
  237. package/dist/alphalib/types/robots/meta-read.js +8 -0
  238. package/dist/alphalib/types/robots/meta-read.js.map +1 -1
  239. package/dist/alphalib/types/robots/meta-write.d.ts.map +1 -1
  240. package/dist/alphalib/types/robots/meta-write.js +0 -1
  241. package/dist/alphalib/types/robots/meta-write.js.map +1 -1
  242. package/dist/alphalib/types/robots/minio-import.d.ts.map +1 -1
  243. package/dist/alphalib/types/robots/minio-import.js +0 -1
  244. package/dist/alphalib/types/robots/minio-import.js.map +1 -1
  245. package/dist/alphalib/types/robots/minio-store.d.ts.map +1 -1
  246. package/dist/alphalib/types/robots/minio-store.js +0 -1
  247. package/dist/alphalib/types/robots/minio-store.js.map +1 -1
  248. package/dist/alphalib/types/robots/progress-simulate.d.ts.map +1 -1
  249. package/dist/alphalib/types/robots/progress-simulate.js +13 -0
  250. package/dist/alphalib/types/robots/progress-simulate.js.map +1 -1
  251. package/dist/alphalib/types/robots/s3-import.d.ts.map +1 -1
  252. package/dist/alphalib/types/robots/s3-import.js +0 -1
  253. package/dist/alphalib/types/robots/s3-import.js.map +1 -1
  254. package/dist/alphalib/types/robots/s3-store.d.ts.map +1 -1
  255. package/dist/alphalib/types/robots/s3-store.js +0 -1
  256. package/dist/alphalib/types/robots/s3-store.js.map +1 -1
  257. package/dist/alphalib/types/robots/script-run.d.ts.map +1 -1
  258. package/dist/alphalib/types/robots/script-run.js +10 -1
  259. package/dist/alphalib/types/robots/script-run.js.map +1 -1
  260. package/dist/alphalib/types/robots/sftp-import.d.ts.map +1 -1
  261. package/dist/alphalib/types/robots/sftp-import.js +0 -1
  262. package/dist/alphalib/types/robots/sftp-import.js.map +1 -1
  263. package/dist/alphalib/types/robots/sftp-store.d.ts.map +1 -1
  264. package/dist/alphalib/types/robots/sftp-store.js +0 -1
  265. package/dist/alphalib/types/robots/sftp-store.js.map +1 -1
  266. package/dist/alphalib/types/robots/speech-transcribe.d.ts.map +1 -1
  267. package/dist/alphalib/types/robots/speech-transcribe.js +0 -1
  268. package/dist/alphalib/types/robots/speech-transcribe.js.map +1 -1
  269. package/dist/alphalib/types/robots/supabase-import.d.ts.map +1 -1
  270. package/dist/alphalib/types/robots/supabase-import.js +0 -1
  271. package/dist/alphalib/types/robots/supabase-import.js.map +1 -1
  272. package/dist/alphalib/types/robots/supabase-store.d.ts.map +1 -1
  273. package/dist/alphalib/types/robots/supabase-store.js +0 -1
  274. package/dist/alphalib/types/robots/supabase-store.js.map +1 -1
  275. package/dist/alphalib/types/robots/swift-import.d.ts.map +1 -1
  276. package/dist/alphalib/types/robots/swift-import.js +0 -1
  277. package/dist/alphalib/types/robots/swift-import.js.map +1 -1
  278. package/dist/alphalib/types/robots/swift-store.d.ts.map +1 -1
  279. package/dist/alphalib/types/robots/swift-store.js +0 -1
  280. package/dist/alphalib/types/robots/swift-store.js.map +1 -1
  281. package/dist/alphalib/types/robots/text-speak.d.ts.map +1 -1
  282. package/dist/alphalib/types/robots/text-speak.js +0 -1
  283. package/dist/alphalib/types/robots/text-speak.js.map +1 -1
  284. package/dist/alphalib/types/robots/text-translate.d.ts.map +1 -1
  285. package/dist/alphalib/types/robots/text-translate.js +0 -1
  286. package/dist/alphalib/types/robots/text-translate.js.map +1 -1
  287. package/dist/alphalib/types/robots/tigris-import.d.ts.map +1 -1
  288. package/dist/alphalib/types/robots/tigris-import.js +0 -1
  289. package/dist/alphalib/types/robots/tigris-import.js.map +1 -1
  290. package/dist/alphalib/types/robots/tigris-store.d.ts.map +1 -1
  291. package/dist/alphalib/types/robots/tigris-store.js +0 -1
  292. package/dist/alphalib/types/robots/tigris-store.js.map +1 -1
  293. package/dist/alphalib/types/robots/tlcdn-deliver.d.ts.map +1 -1
  294. package/dist/alphalib/types/robots/tlcdn-deliver.js +8 -1
  295. package/dist/alphalib/types/robots/tlcdn-deliver.js.map +1 -1
  296. package/dist/alphalib/types/robots/tus-store.d.ts.map +1 -1
  297. package/dist/alphalib/types/robots/tus-store.js +1 -14
  298. package/dist/alphalib/types/robots/tus-store.js.map +1 -1
  299. package/dist/alphalib/types/robots/upload-handle.d.ts.map +1 -1
  300. package/dist/alphalib/types/robots/upload-handle.js +0 -1
  301. package/dist/alphalib/types/robots/upload-handle.js.map +1 -1
  302. package/dist/alphalib/types/robots/video-adaptive.d.ts +32 -8
  303. package/dist/alphalib/types/robots/video-adaptive.d.ts.map +1 -1
  304. package/dist/alphalib/types/robots/video-adaptive.js +22 -6
  305. package/dist/alphalib/types/robots/video-adaptive.js.map +1 -1
  306. package/dist/alphalib/types/robots/video-artwork.d.ts +2855 -0
  307. package/dist/alphalib/types/robots/video-artwork.d.ts.map +1 -0
  308. package/dist/alphalib/types/robots/video-artwork.js +66 -0
  309. package/dist/alphalib/types/robots/video-artwork.js.map +1 -0
  310. package/dist/alphalib/types/robots/video-concat.d.ts +36 -0
  311. package/dist/alphalib/types/robots/video-concat.d.ts.map +1 -1
  312. package/dist/alphalib/types/robots/video-concat.js +30 -1
  313. package/dist/alphalib/types/robots/video-concat.js.map +1 -1
  314. package/dist/alphalib/types/robots/video-encode.d.ts.map +1 -1
  315. package/dist/alphalib/types/robots/video-encode.js +0 -1
  316. package/dist/alphalib/types/robots/video-encode.js.map +1 -1
  317. package/dist/alphalib/types/robots/video-generate.d.ts +594 -0
  318. package/dist/alphalib/types/robots/video-generate.d.ts.map +1 -0
  319. package/dist/alphalib/types/robots/video-generate.js +90 -0
  320. package/dist/alphalib/types/robots/video-generate.js.map +1 -0
  321. package/dist/alphalib/types/robots/video-merge.d.ts +24 -0
  322. package/dist/alphalib/types/robots/video-merge.d.ts.map +1 -1
  323. package/dist/alphalib/types/robots/video-merge.js +33 -1
  324. package/dist/alphalib/types/robots/video-merge.js.map +1 -1
  325. package/dist/alphalib/types/robots/video-ondemand.d.ts.map +1 -1
  326. package/dist/alphalib/types/robots/video-ondemand.js +3 -4
  327. package/dist/alphalib/types/robots/video-ondemand.js.map +1 -1
  328. package/dist/alphalib/types/robots/video-split.d.ts +2939 -0
  329. package/dist/alphalib/types/robots/video-split.d.ts.map +1 -0
  330. package/dist/alphalib/types/robots/video-split.js +78 -0
  331. package/dist/alphalib/types/robots/video-split.js.map +1 -0
  332. package/dist/alphalib/types/robots/video-subtitle.d.ts +52 -4
  333. package/dist/alphalib/types/robots/video-subtitle.d.ts.map +1 -1
  334. package/dist/alphalib/types/robots/video-subtitle.js +61 -8
  335. package/dist/alphalib/types/robots/video-subtitle.js.map +1 -1
  336. package/dist/alphalib/types/robots/video-thumbs.d.ts.map +1 -1
  337. package/dist/alphalib/types/robots/video-thumbs.js +0 -1
  338. package/dist/alphalib/types/robots/video-thumbs.js.map +1 -1
  339. package/dist/alphalib/types/robots/vimeo-import.d.ts +4 -4
  340. package/dist/alphalib/types/robots/vimeo-import.d.ts.map +1 -1
  341. package/dist/alphalib/types/robots/vimeo-import.js +0 -1
  342. package/dist/alphalib/types/robots/vimeo-import.js.map +1 -1
  343. package/dist/alphalib/types/robots/vimeo-store.d.ts +2 -2
  344. package/dist/alphalib/types/robots/vimeo-store.d.ts.map +1 -1
  345. package/dist/alphalib/types/robots/vimeo-store.js +14 -3
  346. package/dist/alphalib/types/robots/vimeo-store.js.map +1 -1
  347. package/dist/alphalib/types/robots/wasabi-import.d.ts.map +1 -1
  348. package/dist/alphalib/types/robots/wasabi-import.js +0 -1
  349. package/dist/alphalib/types/robots/wasabi-import.js.map +1 -1
  350. package/dist/alphalib/types/robots/wasabi-store.d.ts.map +1 -1
  351. package/dist/alphalib/types/robots/wasabi-store.js +0 -1
  352. package/dist/alphalib/types/robots/wasabi-store.js.map +1 -1
  353. package/dist/alphalib/types/robots/youtube-store.d.ts.map +1 -1
  354. package/dist/alphalib/types/robots/youtube-store.js +4 -5
  355. package/dist/alphalib/types/robots/youtube-store.js.map +1 -1
  356. package/dist/alphalib/types/skillFrontmatter.d.ts +29 -0
  357. package/dist/alphalib/types/skillFrontmatter.d.ts.map +1 -0
  358. package/dist/alphalib/types/skillFrontmatter.js +19 -0
  359. package/dist/alphalib/types/skillFrontmatter.js.map +1 -0
  360. package/dist/alphalib/types/template.d.ts +77 -132175
  361. package/dist/alphalib/types/template.d.ts.map +1 -1
  362. package/dist/alphalib/types/template.js +26 -3
  363. package/dist/alphalib/types/template.js.map +1 -1
  364. package/dist/alphalib/types/templateCredential.d.ts +13 -3
  365. package/dist/alphalib/types/templateCredential.d.ts.map +1 -1
  366. package/dist/alphalib/types/templateCredential.js +1 -0
  367. package/dist/alphalib/types/templateCredential.js.map +1 -1
  368. package/dist/alphalib/zodParseWithContext.d.ts.map +1 -1
  369. package/dist/alphalib/zodParseWithContext.js +15 -11
  370. package/dist/alphalib/zodParseWithContext.js.map +1 -1
  371. package/dist/cli/commands/assemblies.d.ts +8 -2
  372. package/dist/cli/commands/assemblies.d.ts.map +1 -1
  373. package/dist/cli/commands/assemblies.js +566 -411
  374. package/dist/cli/commands/assemblies.js.map +1 -1
  375. package/dist/cli/commands/index.d.ts.map +1 -1
  376. package/dist/cli/commands/index.js +5 -0
  377. package/dist/cli/commands/index.js.map +1 -1
  378. package/dist/cli/commands/templates.d.ts.map +1 -1
  379. package/dist/cli/commands/templates.js +4 -14
  380. package/dist/cli/commands/templates.js.map +1 -1
  381. package/dist/cli/fileProcessingOptions.d.ts +35 -0
  382. package/dist/cli/fileProcessingOptions.d.ts.map +1 -0
  383. package/dist/cli/fileProcessingOptions.js +182 -0
  384. package/dist/cli/fileProcessingOptions.js.map +1 -0
  385. package/dist/cli/generateIntentDocs.d.ts +6 -0
  386. package/dist/cli/generateIntentDocs.d.ts.map +1 -0
  387. package/dist/cli/generateIntentDocs.js +337 -0
  388. package/dist/cli/generateIntentDocs.js.map +1 -0
  389. package/dist/cli/intentCommandSpecs.d.ts +36 -0
  390. package/dist/cli/intentCommandSpecs.d.ts.map +1 -0
  391. package/dist/cli/intentCommandSpecs.js +179 -0
  392. package/dist/cli/intentCommandSpecs.js.map +1 -0
  393. package/dist/cli/intentCommands.d.ts +13 -0
  394. package/dist/cli/intentCommands.d.ts.map +1 -0
  395. package/dist/cli/intentCommands.js +368 -0
  396. package/dist/cli/intentCommands.js.map +1 -0
  397. package/dist/cli/intentFields.d.ts +25 -0
  398. package/dist/cli/intentFields.d.ts.map +1 -0
  399. package/dist/cli/intentFields.js +298 -0
  400. package/dist/cli/intentFields.js.map +1 -0
  401. package/dist/cli/intentInputPolicy.d.ts +10 -0
  402. package/dist/cli/intentInputPolicy.d.ts.map +1 -0
  403. package/dist/cli/intentInputPolicy.js +2 -0
  404. package/dist/cli/intentInputPolicy.js.map +1 -0
  405. package/dist/cli/intentRuntime.d.ts +114 -0
  406. package/dist/cli/intentRuntime.d.ts.map +1 -0
  407. package/dist/cli/intentRuntime.js +464 -0
  408. package/dist/cli/intentRuntime.js.map +1 -0
  409. package/dist/cli/resultFiles.d.ts +19 -0
  410. package/dist/cli/resultFiles.d.ts.map +1 -0
  411. package/dist/cli/resultFiles.js +66 -0
  412. package/dist/cli/resultFiles.js.map +1 -0
  413. package/dist/cli/resultUrls.d.ts +19 -0
  414. package/dist/cli/resultUrls.d.ts.map +1 -0
  415. package/dist/cli/resultUrls.js +36 -0
  416. package/dist/cli/resultUrls.js.map +1 -0
  417. package/dist/cli/semanticIntents/imageDescribe.d.ts +45 -0
  418. package/dist/cli/semanticIntents/imageDescribe.d.ts.map +1 -0
  419. package/dist/cli/semanticIntents/imageDescribe.js +188 -0
  420. package/dist/cli/semanticIntents/imageDescribe.js.map +1 -0
  421. package/dist/cli/semanticIntents/imageGenerate.d.ts +94 -0
  422. package/dist/cli/semanticIntents/imageGenerate.d.ts.map +1 -0
  423. package/dist/cli/semanticIntents/imageGenerate.js +215 -0
  424. package/dist/cli/semanticIntents/imageGenerate.js.map +1 -0
  425. package/dist/cli/semanticIntents/index.d.ts +20 -0
  426. package/dist/cli/semanticIntents/index.d.ts.map +1 -0
  427. package/dist/cli/semanticIntents/index.js +20 -0
  428. package/dist/cli/semanticIntents/index.js.map +1 -0
  429. package/dist/cli/semanticIntents/markdownPdf.d.ts +4 -0
  430. package/dist/cli/semanticIntents/markdownPdf.d.ts.map +1 -0
  431. package/dist/cli/semanticIntents/markdownPdf.js +93 -0
  432. package/dist/cli/semanticIntents/markdownPdf.js.map +1 -0
  433. package/dist/cli/semanticIntents/parsing.d.ts +11 -0
  434. package/dist/cli/semanticIntents/parsing.d.ts.map +1 -0
  435. package/dist/cli/semanticIntents/parsing.js +29 -0
  436. package/dist/cli/semanticIntents/parsing.js.map +1 -0
  437. package/dist/cli/stepsInput.d.ts +4 -0
  438. package/dist/cli/stepsInput.d.ts.map +1 -0
  439. package/dist/cli/stepsInput.js +23 -0
  440. package/dist/cli/stepsInput.js.map +1 -0
  441. package/dist/cli.d.ts +1 -1
  442. package/dist/cli.d.ts.map +1 -1
  443. package/dist/cli.js +5 -4
  444. package/dist/cli.js.map +1 -1
  445. package/dist/ensureUniqueCounter.d.ts +8 -0
  446. package/dist/ensureUniqueCounter.d.ts.map +1 -0
  447. package/dist/ensureUniqueCounter.js +48 -0
  448. package/dist/ensureUniqueCounter.js.map +1 -0
  449. package/dist/inputFiles.d.ts +9 -0
  450. package/dist/inputFiles.d.ts.map +1 -1
  451. package/dist/inputFiles.js +177 -26
  452. package/dist/inputFiles.js.map +1 -1
  453. package/dist/robots.js +3 -3
  454. package/dist/robots.js.map +1 -1
  455. package/package.json +9 -7
  456. package/src/Transloadit.ts +3 -3
  457. package/src/alphalib/assembly-linter.ts +1 -1
  458. package/src/alphalib/stepParsing.ts +2 -2
  459. package/src/alphalib/types/assemblyStatus.ts +45 -3
  460. package/src/alphalib/types/builtinTemplates.ts +24 -0
  461. package/src/alphalib/types/robots/_index.ts +211 -20
  462. package/src/alphalib/types/robots/_instructions-primitives.ts +93 -3
  463. package/src/alphalib/types/robots/ai-chat.ts +35 -4
  464. package/src/alphalib/types/robots/assembly-savejson.ts +8 -0
  465. package/src/alphalib/types/robots/audio-artwork.ts +4 -5
  466. package/src/alphalib/types/robots/audio-concat.ts +1 -2
  467. package/src/alphalib/types/robots/audio-encode.ts +1 -2
  468. package/src/alphalib/types/robots/audio-loop.ts +1 -2
  469. package/src/alphalib/types/robots/audio-merge.ts +1 -2
  470. package/src/alphalib/types/robots/audio-split.ts +130 -0
  471. package/src/alphalib/types/robots/audio-waveform.ts +90 -6
  472. package/src/alphalib/types/robots/azure-import.ts +0 -1
  473. package/src/alphalib/types/robots/azure-store.ts +0 -1
  474. package/src/alphalib/types/robots/backblaze-import.ts +0 -1
  475. package/src/alphalib/types/robots/backblaze-store.ts +0 -1
  476. package/src/alphalib/types/robots/box-import.ts +97 -0
  477. package/src/alphalib/types/robots/box-store.ts +94 -0
  478. package/src/alphalib/types/robots/cloudfiles-import.ts +0 -1
  479. package/src/alphalib/types/robots/cloudfiles-store.ts +0 -1
  480. package/src/alphalib/types/robots/cloudflare-import.ts +0 -1
  481. package/src/alphalib/types/robots/cloudflare-store.ts +0 -1
  482. package/src/alphalib/types/robots/digitalocean-import.ts +0 -1
  483. package/src/alphalib/types/robots/digitalocean-store.ts +0 -1
  484. package/src/alphalib/types/robots/document-autorotate.ts +8 -1
  485. package/src/alphalib/types/robots/document-convert.ts +10 -3
  486. package/src/alphalib/types/robots/document-merge.ts +0 -1
  487. package/src/alphalib/types/robots/document-ocr.ts +0 -1
  488. package/src/alphalib/types/robots/document-optimize.ts +0 -1
  489. package/src/alphalib/types/robots/document-split.ts +9 -1
  490. package/src/alphalib/types/robots/document-thumbs.ts +26 -4
  491. package/src/alphalib/types/robots/dropbox-import.ts +0 -1
  492. package/src/alphalib/types/robots/dropbox-store.ts +0 -1
  493. package/src/alphalib/types/robots/edgly-deliver.ts +8 -1
  494. package/src/alphalib/types/robots/file-compress.ts +8 -1
  495. package/src/alphalib/types/robots/file-decompress.ts +30 -5
  496. package/src/alphalib/types/robots/file-filter.ts +23 -6
  497. package/src/alphalib/types/robots/file-hash.ts +23 -1
  498. package/src/alphalib/types/robots/file-preview.ts +8 -1
  499. package/src/alphalib/types/robots/file-read.ts +9 -1
  500. package/src/alphalib/types/robots/file-serve.ts +39 -7
  501. package/src/alphalib/types/robots/file-verify.ts +0 -1
  502. package/src/alphalib/types/robots/file-virusscan.ts +6 -4
  503. package/src/alphalib/types/robots/file-watermark.ts +10 -0
  504. package/src/alphalib/types/robots/ftp-import.ts +0 -1
  505. package/src/alphalib/types/robots/ftp-store.ts +0 -1
  506. package/src/alphalib/types/robots/google-import.ts +0 -1
  507. package/src/alphalib/types/robots/google-store.ts +0 -1
  508. package/src/alphalib/types/robots/html-convert.ts +0 -1
  509. package/src/alphalib/types/robots/http-import.ts +0 -1
  510. package/src/alphalib/types/robots/image-bgremove.ts +4 -2
  511. package/src/alphalib/types/robots/image-copyrightdetect.ts +167 -0
  512. package/src/alphalib/types/robots/image-describe.ts +0 -1
  513. package/src/alphalib/types/robots/image-enhance.ts +185 -0
  514. package/src/alphalib/types/robots/image-facedetect.ts +0 -1
  515. package/src/alphalib/types/robots/image-generate.ts +74 -8
  516. package/src/alphalib/types/robots/image-merge.ts +0 -1
  517. package/src/alphalib/types/robots/image-ocr.ts +0 -1
  518. package/src/alphalib/types/robots/image-optimize.ts +16 -3
  519. package/src/alphalib/types/robots/image-resize.ts +37 -1
  520. package/src/alphalib/types/robots/image-upscale.ts +93 -0
  521. package/src/alphalib/types/robots/mega-import.ts +123 -0
  522. package/src/alphalib/types/robots/mega-store.ts +109 -0
  523. package/src/alphalib/types/robots/meta-read.ts +8 -0
  524. package/src/alphalib/types/robots/meta-write.ts +0 -1
  525. package/src/alphalib/types/robots/minio-import.ts +0 -1
  526. package/src/alphalib/types/robots/minio-store.ts +0 -1
  527. package/src/alphalib/types/robots/progress-simulate.ts +13 -0
  528. package/src/alphalib/types/robots/s3-import.ts +0 -1
  529. package/src/alphalib/types/robots/s3-store.ts +0 -1
  530. package/src/alphalib/types/robots/script-run.ts +11 -1
  531. package/src/alphalib/types/robots/sftp-import.ts +0 -1
  532. package/src/alphalib/types/robots/sftp-store.ts +0 -1
  533. package/src/alphalib/types/robots/speech-transcribe.ts +0 -1
  534. package/src/alphalib/types/robots/supabase-import.ts +0 -1
  535. package/src/alphalib/types/robots/supabase-store.ts +0 -1
  536. package/src/alphalib/types/robots/swift-import.ts +0 -1
  537. package/src/alphalib/types/robots/swift-store.ts +0 -1
  538. package/src/alphalib/types/robots/text-speak.ts +0 -1
  539. package/src/alphalib/types/robots/text-translate.ts +0 -1
  540. package/src/alphalib/types/robots/tigris-import.ts +0 -1
  541. package/src/alphalib/types/robots/tigris-store.ts +0 -1
  542. package/src/alphalib/types/robots/tlcdn-deliver.ts +8 -1
  543. package/src/alphalib/types/robots/tus-store.ts +1 -14
  544. package/src/alphalib/types/robots/upload-handle.ts +0 -1
  545. package/src/alphalib/types/robots/video-adaptive.ts +22 -6
  546. package/src/alphalib/types/robots/video-artwork.ts +100 -0
  547. package/src/alphalib/types/robots/video-concat.ts +30 -1
  548. package/src/alphalib/types/robots/video-encode.ts +0 -1
  549. package/src/alphalib/types/robots/video-generate.ts +120 -0
  550. package/src/alphalib/types/robots/video-merge.ts +33 -1
  551. package/src/alphalib/types/robots/video-ondemand.ts +3 -4
  552. package/src/alphalib/types/robots/video-split.ts +117 -0
  553. package/src/alphalib/types/robots/video-subtitle.ts +61 -8
  554. package/src/alphalib/types/robots/video-thumbs.ts +0 -1
  555. package/src/alphalib/types/robots/vimeo-import.ts +0 -1
  556. package/src/alphalib/types/robots/vimeo-store.ts +14 -3
  557. package/src/alphalib/types/robots/wasabi-import.ts +0 -1
  558. package/src/alphalib/types/robots/wasabi-store.ts +0 -1
  559. package/src/alphalib/types/robots/youtube-store.ts +4 -5
  560. package/src/alphalib/types/skillFrontmatter.ts +24 -0
  561. package/src/alphalib/types/template.ts +61 -15
  562. package/src/alphalib/types/templateCredential.ts +1 -0
  563. package/src/alphalib/zodParseWithContext.ts +19 -12
  564. package/src/cli/commands/assemblies.ts +825 -505
  565. package/src/cli/commands/index.ts +6 -3
  566. package/src/cli/commands/templates.ts +6 -17
  567. package/src/cli/fileProcessingOptions.ts +294 -0
  568. package/src/cli/generateIntentDocs.ts +438 -0
  569. package/src/cli/intentCommandSpecs.ts +277 -0
  570. package/src/cli/intentCommands.ts +525 -0
  571. package/src/cli/intentFields.ts +403 -0
  572. package/src/cli/intentInputPolicy.ts +11 -0
  573. package/src/cli/intentRuntime.ts +739 -0
  574. package/src/cli/resultFiles.ts +105 -0
  575. package/src/cli/resultUrls.ts +72 -0
  576. package/src/cli/semanticIntents/imageDescribe.ts +257 -0
  577. package/src/cli/semanticIntents/imageGenerate.ts +254 -0
  578. package/src/cli/semanticIntents/index.ts +53 -0
  579. package/src/cli/semanticIntents/markdownPdf.ts +120 -0
  580. package/src/cli/semanticIntents/parsing.ts +56 -0
  581. package/src/cli/stepsInput.ts +32 -0
  582. package/src/cli.ts +5 -4
  583. package/src/ensureUniqueCounter.ts +75 -0
  584. package/src/inputFiles.ts +277 -26
  585. package/src/robots.ts +3 -3
@@ -0,0 +1,45 @@
1
+ declare function createImageDescribeStep(rawValues: Record<string, unknown>, _context: {
2
+ hasInputs: boolean;
3
+ }): Record<string, unknown>;
4
+ export declare const imageDescribeSemanticIntentDescriptor: {
5
+ readonly createStep: typeof createImageDescribeStep;
6
+ readonly execution: {
7
+ kind: "dynamic-step";
8
+ handler: string;
9
+ resultStepName: string;
10
+ fields: readonly [{
11
+ readonly name: "fields";
12
+ readonly kind: "string-array";
13
+ readonly propertyName: "fields";
14
+ readonly optionFlags: "--fields";
15
+ readonly description: "Describe output fields to generate, for example labels or altText,title,caption,description";
16
+ readonly required: false;
17
+ }, {
18
+ readonly name: "forProfile";
19
+ readonly kind: "string";
20
+ readonly propertyName: "forProfile";
21
+ readonly optionFlags: "--for";
22
+ readonly description: "Use a named output profile, currently: wordpress";
23
+ readonly required: false;
24
+ }, {
25
+ readonly name: "model";
26
+ readonly kind: "string";
27
+ readonly propertyName: "model";
28
+ readonly optionFlags: "--model";
29
+ readonly description: "Model to use for generated text fields (default: anthropic/claude-4-sonnet-20250514)";
30
+ readonly required: false;
31
+ }];
32
+ };
33
+ readonly inputPolicy: {
34
+ readonly kind: "required";
35
+ };
36
+ readonly outputDescription: "Write the JSON result to this path or directory";
37
+ readonly presentation: {
38
+ readonly description: "Describe images as labels or publishable text fields";
39
+ readonly details: "Generates image labels through `/image/describe`, or structured altText/title/caption/description through `/ai/chat`, then writes the JSON result to `--out`.";
40
+ readonly examples: Array<[string, string]>;
41
+ };
42
+ readonly runnerKind: "watchable";
43
+ };
44
+ export {};
45
+ //# sourceMappingURL=imageDescribe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageDescribe.d.ts","sourceRoot":"","sources":["../../../src/cli/semanticIntents/imageDescribe.ts"],"names":[],"mappings":"AAsNA,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,EAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BzB;AAED,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA3K3C,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;CAkLe,CAAA"}
@@ -0,0 +1,188 @@
1
+ import { parseStringArrayValue } from "../intentFields.js";
2
+ import { parseOptionalEnumValue, parseUniqueEnumArray } from "./parsing.js";
3
+ const imageDescribeFields = ['labels', 'altText', 'title', 'caption', 'description'];
4
+ const wordpressDescribeFields = [
5
+ 'altText',
6
+ 'title',
7
+ 'caption',
8
+ 'description',
9
+ ];
10
+ const defaultDescribeModel = 'anthropic/claude-4-sonnet-20250514';
11
+ const describeFieldDescriptions = {
12
+ altText: 'A concise accessibility-focused alt text that objectively describes the image',
13
+ title: 'A concise publishable title for the image',
14
+ caption: 'A short caption suitable for displaying below the image',
15
+ description: 'A richer description of the image suitable for CMS usage',
16
+ };
17
+ const imageDescribeExecutionDefinition = {
18
+ kind: 'dynamic-step',
19
+ handler: 'image-describe',
20
+ resultStepName: 'describe',
21
+ fields: [
22
+ {
23
+ name: 'fields',
24
+ kind: 'string-array',
25
+ propertyName: 'fields',
26
+ optionFlags: '--fields',
27
+ description: 'Describe output fields to generate, for example labels or altText,title,caption,description',
28
+ required: false,
29
+ },
30
+ {
31
+ name: 'forProfile',
32
+ kind: 'string',
33
+ propertyName: 'forProfile',
34
+ optionFlags: '--for',
35
+ description: 'Use a named output profile, currently: wordpress',
36
+ required: false,
37
+ },
38
+ {
39
+ name: 'model',
40
+ kind: 'string',
41
+ propertyName: 'model',
42
+ optionFlags: '--model',
43
+ description: 'Model to use for generated text fields (default: anthropic/claude-4-sonnet-20250514)',
44
+ required: false,
45
+ },
46
+ ],
47
+ };
48
+ const imageDescribeCommandPresentation = {
49
+ description: 'Describe images as labels or publishable text fields',
50
+ details: 'Generates image labels through `/image/describe`, or structured altText/title/caption/description through `/ai/chat`, then writes the JSON result to `--out`.',
51
+ examples: [
52
+ [
53
+ 'Describe an image as labels',
54
+ 'transloadit image describe --input hero.jpg --out labels.json',
55
+ ],
56
+ [
57
+ 'Generate WordPress-ready fields',
58
+ 'transloadit image describe --input hero.jpg --for wordpress --out fields.json',
59
+ ],
60
+ [
61
+ 'Request a custom field set',
62
+ 'transloadit image describe --input hero.jpg --fields altText,title,caption --out fields.json',
63
+ ],
64
+ ],
65
+ };
66
+ function parseDescribeFields(value) {
67
+ const rawFields = parseStringArrayValue(value ?? []);
68
+ return parseUniqueEnumArray({
69
+ flagName: '--fields',
70
+ supportedValues: imageDescribeFields,
71
+ values: rawFields,
72
+ });
73
+ }
74
+ function resolveDescribeProfile(profile) {
75
+ return parseOptionalEnumValue({
76
+ flagName: '--for',
77
+ supportedValues: ['wordpress'],
78
+ value: profile,
79
+ });
80
+ }
81
+ function resolveRequestedDescribeFields({ explicitFields, profile, }) {
82
+ if (explicitFields.length > 0) {
83
+ return explicitFields;
84
+ }
85
+ if (profile === 'wordpress') {
86
+ return [...wordpressDescribeFields];
87
+ }
88
+ return ['labels'];
89
+ }
90
+ function validateDescribeFields({ fields, model, profile, }) {
91
+ const includesLabels = fields.includes('labels');
92
+ if (includesLabels && fields.length > 1) {
93
+ throw new Error('The labels field cannot be combined with altText, title, caption, or description');
94
+ }
95
+ if (includesLabels && profile != null) {
96
+ throw new Error('--for cannot be combined with --fields labels');
97
+ }
98
+ if (includesLabels && model !== defaultDescribeModel) {
99
+ throw new Error('--model is only supported when generating altText, title, caption, or description');
100
+ }
101
+ }
102
+ function resolveImageDescribeRequest(rawValues) {
103
+ const explicitFields = parseDescribeFields(rawValues.fields);
104
+ const profile = resolveDescribeProfile(rawValues.forProfile);
105
+ const fields = resolveRequestedDescribeFields({ explicitFields, profile });
106
+ validateDescribeFields({
107
+ fields,
108
+ model: String(rawValues.model ?? defaultDescribeModel),
109
+ profile,
110
+ });
111
+ return { fields, profile };
112
+ }
113
+ function buildDescribeAiChatSchema(fields) {
114
+ const properties = Object.fromEntries(fields.map((field) => {
115
+ return [
116
+ field,
117
+ {
118
+ type: 'string',
119
+ description: describeFieldDescriptions[field],
120
+ },
121
+ ];
122
+ }));
123
+ return {
124
+ type: 'object',
125
+ additionalProperties: false,
126
+ required: [...fields],
127
+ properties,
128
+ };
129
+ }
130
+ function buildDescribeAiChatMessages({ fields, profile, }) {
131
+ const requestedFields = fields.join(', ');
132
+ const profileHint = profile === 'wordpress'
133
+ ? 'The output is for the WordPress media library.'
134
+ : 'The output is for a publishing workflow.';
135
+ return {
136
+ systemMessage: [
137
+ 'You generate accurate image copy for publishing workflows.',
138
+ profileHint,
139
+ 'Return only the schema fields requested.',
140
+ 'Be concrete, concise, and faithful to what is visibly present in the image.',
141
+ 'Do not invent facts, brands, locations, or identities that are not clearly visible.',
142
+ 'Avoid keyword stuffing, hype, and mentions of SEO or accessibility in the output itself.',
143
+ 'For altText, write one objective sentence focused on what matters to someone who cannot see the image.',
144
+ 'For title, keep it short and natural.',
145
+ 'For caption, write one short sentence suitable for publication.',
146
+ 'For description, write one or two sentences with slightly more context than the caption.',
147
+ ].join(' '),
148
+ messages: `Analyze the attached image and fill these fields: ${requestedFields}.`,
149
+ };
150
+ }
151
+ function createImageDescribeStep(rawValues, _context) {
152
+ const { fields, profile } = resolveImageDescribeRequest(rawValues);
153
+ if (fields.length === 1 && fields[0] === 'labels') {
154
+ return {
155
+ robot: '/image/describe',
156
+ use: ':original',
157
+ result: true,
158
+ provider: 'aws',
159
+ format: 'json',
160
+ granularity: 'list',
161
+ explicit_descriptions: false,
162
+ };
163
+ }
164
+ const { messages, systemMessage } = buildDescribeAiChatMessages({ fields, profile });
165
+ return {
166
+ robot: '/ai/chat',
167
+ use: ':original',
168
+ result: true,
169
+ model: String(rawValues.model ?? defaultDescribeModel),
170
+ format: 'json',
171
+ return_messages: 'last',
172
+ test_credentials: true,
173
+ schema: JSON.stringify(buildDescribeAiChatSchema(fields)),
174
+ messages,
175
+ system_message: systemMessage,
176
+ // @TODO Move these inline /ai/chat instructions into a builtin template in api2 and
177
+ // switch this command to call that builtin instead of shipping prompt logic in the CLI.
178
+ };
179
+ }
180
+ export const imageDescribeSemanticIntentDescriptor = {
181
+ createStep: createImageDescribeStep,
182
+ execution: imageDescribeExecutionDefinition,
183
+ inputPolicy: { kind: 'required' },
184
+ outputDescription: 'Write the JSON result to this path or directory',
185
+ presentation: imageDescribeCommandPresentation,
186
+ runnerKind: 'watchable',
187
+ };
188
+ //# sourceMappingURL=imageDescribe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageDescribe.js","sourceRoot":"","sources":["../../../src/cli/semanticIntents/imageDescribe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import type { PreparedIntentInputs } from '../intentRuntime.ts';
2
+ declare function createImageGenerateStep(rawValues: Record<string, unknown>, context: {
3
+ hasInputs: boolean;
4
+ }): Record<string, unknown>;
5
+ export declare const imageGenerateSemanticIntentDescriptor: {
6
+ readonly createStep: typeof createImageGenerateStep;
7
+ readonly execution: {
8
+ readonly kind: "dynamic-step";
9
+ readonly handler: "image-generate";
10
+ readonly resultStepName: "generate";
11
+ readonly fields: readonly [{
12
+ readonly name: "prompt";
13
+ readonly kind: "string";
14
+ readonly propertyName: "prompt";
15
+ readonly optionFlags: "--prompt";
16
+ readonly description: "The prompt describing the desired image content.";
17
+ readonly required: true;
18
+ readonly exampleValue: string;
19
+ }, {
20
+ readonly name: "model";
21
+ readonly kind: "string";
22
+ readonly propertyName: "model";
23
+ readonly optionFlags: "--model";
24
+ readonly description: "The AI model to use for image generation. Defaults to google/nano-banana-2.";
25
+ readonly required: false;
26
+ readonly exampleValue: "google/nano-banana-2";
27
+ }, {
28
+ readonly name: "format";
29
+ readonly kind: "string";
30
+ readonly propertyName: "format";
31
+ readonly optionFlags: "--format";
32
+ readonly description: "Format of the generated image.";
33
+ readonly required: false;
34
+ readonly exampleValue: "jpg";
35
+ }, {
36
+ readonly name: "seed";
37
+ readonly kind: "number";
38
+ readonly propertyName: "seed";
39
+ readonly optionFlags: "--seed";
40
+ readonly description: "Seed for the random number generator.";
41
+ readonly required: false;
42
+ }, {
43
+ readonly name: "aspectRatio";
44
+ readonly kind: "string";
45
+ readonly propertyName: "aspectRatio";
46
+ readonly optionFlags: "--aspect-ratio";
47
+ readonly description: "Aspect ratio of the generated image.";
48
+ readonly required: false;
49
+ }, {
50
+ readonly name: "height";
51
+ readonly kind: "number";
52
+ readonly propertyName: "height";
53
+ readonly optionFlags: "--height";
54
+ readonly description: "Height of the generated image.";
55
+ readonly required: false;
56
+ }, {
57
+ readonly name: "width";
58
+ readonly kind: "number";
59
+ readonly propertyName: "width";
60
+ readonly optionFlags: "--width";
61
+ readonly description: "Width of the generated image.";
62
+ readonly required: false;
63
+ }, {
64
+ readonly name: "style";
65
+ readonly kind: "string";
66
+ readonly propertyName: "style";
67
+ readonly optionFlags: "--style";
68
+ readonly description: "Style of the generated image.";
69
+ readonly required: false;
70
+ }, {
71
+ readonly name: "numOutputs";
72
+ readonly kind: "number";
73
+ readonly propertyName: "numOutputs";
74
+ readonly optionFlags: "--num-outputs";
75
+ readonly description: "Number of image variants to generate.";
76
+ readonly required: false;
77
+ }];
78
+ };
79
+ readonly inputPolicy: {
80
+ readonly kind: "optional";
81
+ readonly field: "prompt";
82
+ readonly attachUseWhenInputsProvided: false;
83
+ };
84
+ readonly outputDescription: "Write the result to this path";
85
+ readonly prepareInputs: (preparedInputs: PreparedIntentInputs) => Promise<PreparedIntentInputs>;
86
+ readonly presentation: {
87
+ readonly description: "Generate images from text prompts";
88
+ readonly details: "Runs `/image/generate`. Without inputs, this is text-to-image. With one or more `--input` files, the inputs are bundled into a single assembly so the prompt can refer to them by filename.";
89
+ readonly examples: Array<[string, string]>;
90
+ };
91
+ readonly runnerKind: "bundled";
92
+ };
93
+ export {};
94
+ //# sourceMappingURL=imageGenerate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageGenerate.d.ts","sourceRoot":"","sources":["../../../src/cli/semanticIntents/imageGenerate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAuJvF,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,EAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2DzB;AAoBD,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAnI3C,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;CAsJe,CAAA"}
@@ -0,0 +1,215 @@
1
+ import { basename } from 'node:path';
2
+ import { parseOptionalEnumValue } from "./parsing.js";
3
+ const defaultImageGenerateModel = 'google/nano-banana-2';
4
+ const imageGenerateFormats = ['jpeg', 'jpg', 'png', 'gif', 'webp', 'svg'];
5
+ const imageGenerateOptionDefinitions = [
6
+ {
7
+ name: 'prompt',
8
+ kind: 'string',
9
+ propertyName: 'prompt',
10
+ optionFlags: '--prompt',
11
+ description: 'The prompt describing the desired image content.',
12
+ required: true,
13
+ exampleValue: JSON.stringify('A red bicycle in a studio'),
14
+ },
15
+ {
16
+ name: 'model',
17
+ kind: 'string',
18
+ propertyName: 'model',
19
+ optionFlags: '--model',
20
+ description: `The AI model to use for image generation. Defaults to ${defaultImageGenerateModel}.`,
21
+ required: false,
22
+ exampleValue: defaultImageGenerateModel,
23
+ },
24
+ {
25
+ name: 'format',
26
+ kind: 'string',
27
+ propertyName: 'format',
28
+ optionFlags: '--format',
29
+ description: 'Format of the generated image.',
30
+ required: false,
31
+ exampleValue: 'jpg',
32
+ },
33
+ {
34
+ name: 'seed',
35
+ kind: 'number',
36
+ propertyName: 'seed',
37
+ optionFlags: '--seed',
38
+ description: 'Seed for the random number generator.',
39
+ required: false,
40
+ },
41
+ {
42
+ name: 'aspectRatio',
43
+ kind: 'string',
44
+ propertyName: 'aspectRatio',
45
+ optionFlags: '--aspect-ratio',
46
+ description: 'Aspect ratio of the generated image.',
47
+ required: false,
48
+ },
49
+ {
50
+ name: 'height',
51
+ kind: 'number',
52
+ propertyName: 'height',
53
+ optionFlags: '--height',
54
+ description: 'Height of the generated image.',
55
+ required: false,
56
+ },
57
+ {
58
+ name: 'width',
59
+ kind: 'number',
60
+ propertyName: 'width',
61
+ optionFlags: '--width',
62
+ description: 'Width of the generated image.',
63
+ required: false,
64
+ },
65
+ {
66
+ name: 'style',
67
+ kind: 'string',
68
+ propertyName: 'style',
69
+ optionFlags: '--style',
70
+ description: 'Style of the generated image.',
71
+ required: false,
72
+ },
73
+ {
74
+ name: 'numOutputs',
75
+ kind: 'number',
76
+ propertyName: 'numOutputs',
77
+ optionFlags: '--num-outputs',
78
+ description: 'Number of image variants to generate.',
79
+ required: false,
80
+ },
81
+ ];
82
+ const imageGenerateCommandPresentation = {
83
+ description: 'Generate images from text prompts',
84
+ details: 'Runs `/image/generate`. Without inputs, this is text-to-image. With one or more `--input` files, the inputs are bundled into a single assembly so the prompt can refer to them by filename.',
85
+ examples: [
86
+ [
87
+ 'Generate an image from text',
88
+ 'transloadit image generate --prompt "A red bicycle in a studio" --out output.png',
89
+ ],
90
+ [
91
+ 'Guide generation with one input image',
92
+ 'transloadit image generate --input subject.jpg --prompt "Place subject.jpg on a magazine cover" --out output.png',
93
+ ],
94
+ [
95
+ 'Guide generation with multiple input images',
96
+ 'transloadit image generate --input person1.jpg --input person2.jpg --input background.jpg --prompt "Place person1.jpg feeding person2.jpg in front of background.jpg" --out output.png',
97
+ ],
98
+ ],
99
+ };
100
+ function parseOptionalFormat(value) {
101
+ return parseOptionalEnumValue({
102
+ flagName: '--format',
103
+ supportedValues: imageGenerateFormats,
104
+ value,
105
+ });
106
+ }
107
+ function parseRequiredPrompt(value) {
108
+ if (typeof value !== 'string' || value.trim() === '') {
109
+ throw new Error('image generate requires --prompt');
110
+ }
111
+ return value;
112
+ }
113
+ function parseOptionalNumber(flagName, value) {
114
+ if (value == null || value === '') {
115
+ return undefined;
116
+ }
117
+ const numericValue = typeof value === 'number' ? value : Number(String(value).trim());
118
+ if (Number.isNaN(numericValue)) {
119
+ throw new Error(`${flagName} must be a number`);
120
+ }
121
+ return numericValue;
122
+ }
123
+ function parseOptionalIntegerRange(flagName, value, { max, min }) {
124
+ const numericValue = parseOptionalNumber(flagName, value);
125
+ if (numericValue == null) {
126
+ return undefined;
127
+ }
128
+ if (!Number.isInteger(numericValue) || numericValue < min || numericValue > max) {
129
+ throw new Error(`${flagName} must be an integer between ${min} and ${max}`);
130
+ }
131
+ return numericValue;
132
+ }
133
+ function createImageGenerateStep(rawValues, context) {
134
+ const step = {
135
+ robot: '/image/generate',
136
+ result: true,
137
+ model: defaultImageGenerateModel,
138
+ prompt: parseRequiredPrompt(rawValues.prompt),
139
+ };
140
+ if (context.hasInputs) {
141
+ step.use = {
142
+ steps: [':original'],
143
+ bundle_steps: true,
144
+ };
145
+ }
146
+ const model = rawValues.model;
147
+ if (typeof model === 'string' && model.trim() !== '') {
148
+ step.model = model;
149
+ }
150
+ const format = parseOptionalFormat(rawValues.format);
151
+ if (format != null) {
152
+ step.format = format;
153
+ }
154
+ const seed = parseOptionalNumber('--seed', rawValues.seed);
155
+ if (seed != null) {
156
+ step.seed = seed;
157
+ }
158
+ const aspectRatio = rawValues.aspectRatio;
159
+ if (typeof aspectRatio === 'string' && aspectRatio.trim() !== '') {
160
+ step.aspect_ratio = aspectRatio;
161
+ }
162
+ const height = parseOptionalNumber('--height', rawValues.height);
163
+ if (height != null) {
164
+ step.height = height;
165
+ }
166
+ const width = parseOptionalNumber('--width', rawValues.width);
167
+ if (width != null) {
168
+ step.width = width;
169
+ }
170
+ const style = rawValues.style;
171
+ if (typeof style === 'string' && style.trim() !== '') {
172
+ step.style = style;
173
+ }
174
+ const numOutputs = parseOptionalIntegerRange('--num-outputs', rawValues.numOutputs, {
175
+ min: 1,
176
+ max: 10,
177
+ });
178
+ if (numOutputs != null) {
179
+ step.num_outputs = numOutputs;
180
+ }
181
+ return step;
182
+ }
183
+ function ensureUniqueInputBasenames(preparedInputs) {
184
+ const seenBasenames = new Map();
185
+ for (const input of preparedInputs.inputs) {
186
+ const inputBasename = basename(input);
187
+ const previousInput = seenBasenames.get(inputBasename);
188
+ if (previousInput != null) {
189
+ throw new Error(`image generate requires unique input basenames when prompts refer to files; found duplicate ${inputBasename} in ${previousInput} and ${input}`);
190
+ }
191
+ seenBasenames.set(inputBasename, input);
192
+ }
193
+ return preparedInputs;
194
+ }
195
+ export const imageGenerateSemanticIntentDescriptor = {
196
+ createStep: createImageGenerateStep,
197
+ execution: {
198
+ kind: 'dynamic-step',
199
+ handler: 'image-generate',
200
+ resultStepName: 'generate',
201
+ fields: imageGenerateOptionDefinitions,
202
+ },
203
+ inputPolicy: {
204
+ kind: 'optional',
205
+ field: 'prompt',
206
+ attachUseWhenInputsProvided: false,
207
+ },
208
+ outputDescription: 'Write the result to this path',
209
+ async prepareInputs(preparedInputs) {
210
+ return await Promise.resolve(ensureUniqueInputBasenames(preparedInputs));
211
+ },
212
+ presentation: imageGenerateCommandPresentation,
213
+ runnerKind: 'bundled',
214
+ };
215
+ //# sourceMappingURL=imageGenerate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageGenerate.js","sourceRoot":"","sources":["../../../src/cli/semanticIntents/imageGenerate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAErD,MAAM,yBAAyB,GAAG,sBAAsB,CAAA;AACxD,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAU,CAAA;AAElF,MAAM,8BAA8B,GAAG;IACrC;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,kDAAkD;QAC/D,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC;KAC1D;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,OAAO;QACrB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,yDAAyD,yBAAyB,GAAG;QAClG,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,yBAAyB;KACxC;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACpB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,aAAa;QAC3B,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,OAAO;QACrB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,+BAA+B;QAC5C,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,OAAO;QACrB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,+BAA+B;QAC5C,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,KAAK;KAChB;CACmD,CAAA;AAEtD,MAAM,gCAAgC,GAAG;IACvC,WAAW,EAAE,mCAAmC;IAChD,OAAO,EACL,6LAA6L;IAC/L,QAAQ,EAAE;QACR;YACE,6BAA6B;YAC7B,kFAAkF;SACnF;QACD;YACE,uCAAuC;YACvC,kHAAkH;SACnH;QACD;YACE,6CAA6C;YAC7C,wLAAwL;SACzL;KACyB;CACiB,CAAA;AAE/C,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,sBAAsB,CAAC;QAC5B,QAAQ,EAAE,UAAU;QACpB,eAAe,EAAE,oBAAoB;QACrC,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,KAAc;IAC3D,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAClC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACrF,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,mBAAmB,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAgB,EAChB,KAAc,EACd,EAAE,GAAG,EAAE,GAAG,EAAgC;IAE1C,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACzD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,GAAG,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,+BAA+B,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,SAAS,uBAAuB,CAC9B,SAAkC,EAClC,OAA+B;IAE/B,MAAM,IAAI,GAA4B;QACpC,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,yBAAyB;QAChC,MAAM,EAAE,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC;KAC9C,CAAA;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG;YACT,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,YAAY,EAAE,IAAI;SACnB,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACpD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAC1D,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;IACzC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IAChE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IAC7D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,MAAM,UAAU,GAAG,yBAAyB,CAAC,eAAe,EAAE,SAAS,CAAC,UAAU,EAAE;QAClF,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,EAAE;KACR,CAAC,CAAA;IACF,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;IAC/B,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,0BAA0B,CAAC,cAAoC;IACtE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE/C,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACtD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,+FAA+F,aAAa,OAAO,aAAa,QAAQ,KAAK,EAAE,CAChJ,CAAA;QACH,CAAC;QAED,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,UAAU,EAAE,uBAAuB;IACnC,SAAS,EAAE;QACT,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,gBAAgB;QACzB,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,8BAA8B;KACvC;IACD,WAAW,EAAE;QACX,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,QAAQ;QACf,2BAA2B,EAAE,KAAK;KACnC;IACD,iBAAiB,EAAE,+BAA+B;IAClD,KAAK,CAAC,aAAa,CAAC,cAAc;QAChC,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,CAAA;IAC1E,CAAC;IACD,YAAY,EAAE,gCAAgC;IAC9C,UAAU,EAAE,SAAS;CACsB,CAAA"}
@@ -0,0 +1,20 @@
1
+ import type { IntentInputPolicy } from '../intentInputPolicy.ts';
2
+ import type { IntentDynamicStepExecutionDefinition, IntentRunnerKind, PreparedIntentInputs } from '../intentRuntime.ts';
3
+ export interface SemanticIntentPresentation {
4
+ description: string;
5
+ details: string;
6
+ examples: Array<[string, string]>;
7
+ }
8
+ export interface SemanticIntentDescriptor {
9
+ createStep: (rawValues: Record<string, unknown>, context: {
10
+ hasInputs: boolean;
11
+ }) => Record<string, unknown>;
12
+ execution: IntentDynamicStepExecutionDefinition;
13
+ inputPolicy: IntentInputPolicy;
14
+ outputDescription: string;
15
+ prepareInputs?: (preparedInputs: PreparedIntentInputs, rawValues: Record<string, unknown>) => Promise<PreparedIntentInputs>;
16
+ presentation: SemanticIntentPresentation;
17
+ runnerKind: IntentRunnerKind;
18
+ }
19
+ export declare function getSemanticIntentDescriptor(name: string): SemanticIntentDescriptor;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/semanticIntents/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,EACV,oCAAoC,EACpC,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAQ5B,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,CACV,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,KAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,SAAS,EAAE,oCAAoC,CAAA;IAC/C,WAAW,EAAE,iBAAiB,CAAA;IAC9B,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,CACd,cAAc,EAAE,oBAAoB,EACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAClC,YAAY,EAAE,0BAA0B,CAAA;IACxC,UAAU,EAAE,gBAAgB,CAAA;CAC7B;AAaD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAMlF"}
@@ -0,0 +1,20 @@
1
+ import { imageDescribeSemanticIntentDescriptor } from "./imageDescribe.js";
2
+ import { imageGenerateSemanticIntentDescriptor } from "./imageGenerate.js";
3
+ import { markdownDocxSemanticIntentDescriptor, markdownPdfSemanticIntentDescriptor, } from "./markdownPdf.js";
4
+ const semanticIntentDescriptors = {
5
+ 'image-describe': imageDescribeSemanticIntentDescriptor,
6
+ 'image-generate': imageGenerateSemanticIntentDescriptor,
7
+ 'markdown-pdf': {
8
+ ...markdownPdfSemanticIntentDescriptor,
9
+ },
10
+ 'markdown-docx': {
11
+ ...markdownDocxSemanticIntentDescriptor,
12
+ },
13
+ };
14
+ export function getSemanticIntentDescriptor(name) {
15
+ if (!(name in semanticIntentDescriptors)) {
16
+ throw new Error(`Semantic intent descriptor does not exist for "${name}"`);
17
+ }
18
+ return semanticIntentDescriptors[name];
19
+ }
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/semanticIntents/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qCAAqC,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,qCAAqC,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EACL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,kBAAkB,CAAA;AAwBzB,MAAM,yBAAyB,GAA6C;IAC1E,gBAAgB,EAAE,qCAAqC;IACvD,gBAAgB,EAAE,qCAAqC;IACvD,cAAc,EAAE;QACd,GAAG,mCAAmC;KACvC;IACD,eAAe,EAAE;QACf,GAAG,oCAAoC;KACxC;CACF,CAAA;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,IAAI,CAAC,CAAC,IAAI,IAAI,yBAAyB,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,GAAG,CAAC,CAAA;IAC5E,CAAC;IAED,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SemanticIntentDescriptor } from './index.ts';
2
+ export declare const markdownPdfSemanticIntentDescriptor: SemanticIntentDescriptor;
3
+ export declare const markdownDocxSemanticIntentDescriptor: SemanticIntentDescriptor;
4
+ //# sourceMappingURL=markdownPdf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdownPdf.d.ts","sourceRoot":"","sources":["../../../src/cli/semanticIntents/markdownPdf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAA8B,MAAM,YAAY,CAAA;AAsGtF,eAAO,MAAM,mCAAmC,0BAO9C,CAAA;AAEF,eAAO,MAAM,oCAAoC,0BAO/C,CAAA"}