@nodaro/sdk 2.28.0 → 2.31.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 (716) hide show
  1. package/README.md +33 -2
  2. package/dist/chunk-2DZWWIJ4.cjs +32 -0
  3. package/dist/chunk-2DZWWIJ4.cjs.map +1 -0
  4. package/dist/chunk-34PU2DAT.cjs +118 -0
  5. package/dist/chunk-34PU2DAT.cjs.map +1 -0
  6. package/dist/chunk-37Y5QAVA.js +3 -0
  7. package/dist/chunk-37Y5QAVA.js.map +1 -0
  8. package/dist/chunk-37YCKZX4.cjs +4 -0
  9. package/dist/chunk-37YCKZX4.cjs.map +1 -0
  10. package/dist/chunk-3B47IHB3.cjs +65 -0
  11. package/dist/chunk-3B47IHB3.cjs.map +1 -0
  12. package/dist/chunk-3BELHJBN.cjs +4 -0
  13. package/dist/chunk-3BELHJBN.cjs.map +1 -0
  14. package/dist/chunk-3PPSGM5X.js +3 -0
  15. package/dist/chunk-3PPSGM5X.js.map +1 -0
  16. package/dist/chunk-3QBH2VE2.cjs +80 -0
  17. package/dist/chunk-3QBH2VE2.cjs.map +1 -0
  18. package/dist/chunk-3QFTP5P5.js +102 -0
  19. package/dist/chunk-3QFTP5P5.js.map +1 -0
  20. package/dist/chunk-43FVH6LJ.cjs +123 -0
  21. package/dist/chunk-43FVH6LJ.cjs.map +1 -0
  22. package/dist/chunk-43NO4SGC.cjs +4 -0
  23. package/dist/chunk-43NO4SGC.cjs.map +1 -0
  24. package/dist/chunk-45CK55BH.cjs +4 -0
  25. package/dist/chunk-45CK55BH.cjs.map +1 -0
  26. package/dist/chunk-4NLVBYMW.js +280 -0
  27. package/dist/chunk-4NLVBYMW.js.map +1 -0
  28. package/dist/chunk-4WRDR4GN.js +102 -0
  29. package/dist/chunk-4WRDR4GN.js.map +1 -0
  30. package/dist/chunk-4WWSHV5G.cjs +4 -0
  31. package/dist/chunk-4WWSHV5G.cjs.map +1 -0
  32. package/dist/chunk-53SXNN3A.js +80 -0
  33. package/dist/chunk-53SXNN3A.js.map +1 -0
  34. package/dist/chunk-5ALNFATQ.cjs +27 -0
  35. package/dist/chunk-5ALNFATQ.cjs.map +1 -0
  36. package/dist/chunk-5UQNMNUE.cjs +4 -0
  37. package/dist/chunk-5UQNMNUE.cjs.map +1 -0
  38. package/dist/chunk-5WAI7VGO.js +184 -0
  39. package/dist/chunk-5WAI7VGO.js.map +1 -0
  40. package/dist/chunk-65E3JBFZ.js +52 -0
  41. package/dist/chunk-65E3JBFZ.js.map +1 -0
  42. package/dist/chunk-6JFNBAKV.js +3 -0
  43. package/dist/chunk-6JFNBAKV.js.map +1 -0
  44. package/dist/chunk-6OC6OKLY.cjs +4 -0
  45. package/dist/chunk-6OC6OKLY.cjs.map +1 -0
  46. package/dist/chunk-6OGGJQVA.js +25 -0
  47. package/dist/chunk-6OGGJQVA.js.map +1 -0
  48. package/dist/chunk-7A7HYFGM.js +3 -0
  49. package/dist/chunk-7A7HYFGM.js.map +1 -0
  50. package/dist/chunk-7ISSKQ6S.cjs +106 -0
  51. package/dist/chunk-7ISSKQ6S.cjs.map +1 -0
  52. package/dist/chunk-7LSFG2AF.js +194 -0
  53. package/dist/chunk-7LSFG2AF.js.map +1 -0
  54. package/dist/chunk-7MYKT2L4.cjs +4 -0
  55. package/dist/chunk-7MYKT2L4.cjs.map +1 -0
  56. package/dist/chunk-7QOCWJKD.cjs +25 -0
  57. package/dist/chunk-7QOCWJKD.cjs.map +1 -0
  58. package/dist/chunk-A2ZAFAWC.cjs +4 -0
  59. package/dist/chunk-A2ZAFAWC.cjs.map +1 -0
  60. package/dist/chunk-A3S55XGF.cjs +54 -0
  61. package/dist/chunk-A3S55XGF.cjs.map +1 -0
  62. package/dist/chunk-A3THLBFG.js +3 -0
  63. package/dist/chunk-A3THLBFG.js.map +1 -0
  64. package/dist/chunk-AJVSMNPZ.js +78 -0
  65. package/dist/chunk-AJVSMNPZ.js.map +1 -0
  66. package/dist/chunk-ALSLZG3U.js +124 -0
  67. package/dist/chunk-ALSLZG3U.js.map +1 -0
  68. package/dist/chunk-ALUUBPDG.cjs +4 -0
  69. package/dist/chunk-ALUUBPDG.cjs.map +1 -0
  70. package/dist/chunk-AO3W45LT.cjs +4 -0
  71. package/dist/chunk-AO3W45LT.cjs.map +1 -0
  72. package/dist/chunk-AUDHV3OE.js +3 -0
  73. package/dist/chunk-AUDHV3OE.js.map +1 -0
  74. package/dist/chunk-BAL576G2.cjs +4 -0
  75. package/dist/chunk-BAL576G2.cjs.map +1 -0
  76. package/dist/chunk-BFMKPELU.cjs +212 -0
  77. package/dist/chunk-BFMKPELU.cjs.map +1 -0
  78. package/dist/chunk-BKP6F2IX.js +3 -0
  79. package/dist/chunk-BKP6F2IX.js.map +1 -0
  80. package/dist/chunk-BLA44UCM.js +32 -0
  81. package/dist/chunk-BLA44UCM.js.map +1 -0
  82. package/dist/chunk-BPWUWUZ3.cjs +20 -0
  83. package/dist/chunk-BPWUWUZ3.cjs.map +1 -0
  84. package/dist/chunk-BRV7Z4GD.cjs +17 -0
  85. package/dist/chunk-BRV7Z4GD.cjs.map +1 -0
  86. package/dist/chunk-BU5A6K4C.js +122 -0
  87. package/dist/chunk-BU5A6K4C.js.map +1 -0
  88. package/dist/chunk-C22RJDW3.js +3 -0
  89. package/dist/chunk-C22RJDW3.js.map +1 -0
  90. package/dist/chunk-CGNVHN4V.js +3 -0
  91. package/dist/chunk-CGNVHN4V.js.map +1 -0
  92. package/dist/chunk-CJFIOVBA.js +3 -0
  93. package/dist/chunk-CJFIOVBA.js.map +1 -0
  94. package/dist/chunk-CJLLIVSB.cjs +4 -0
  95. package/dist/chunk-CJLLIVSB.cjs.map +1 -0
  96. package/dist/chunk-CK3AMMSC.js +194 -0
  97. package/dist/chunk-CK3AMMSC.js.map +1 -0
  98. package/dist/chunk-COCKKMNP.cjs +205 -0
  99. package/dist/chunk-COCKKMNP.cjs.map +1 -0
  100. package/dist/chunk-CR5E2SF3.cjs +212 -0
  101. package/dist/chunk-CR5E2SF3.cjs.map +1 -0
  102. package/dist/chunk-CRCPRZFN.js +3 -0
  103. package/dist/chunk-CRCPRZFN.js.map +1 -0
  104. package/dist/chunk-CYRFD6KR.cjs +4 -0
  105. package/dist/chunk-CYRFD6KR.cjs.map +1 -0
  106. package/dist/chunk-D3PW7AHZ.js +3 -0
  107. package/dist/chunk-D3PW7AHZ.js.map +1 -0
  108. package/dist/chunk-DKEYSJCE.cjs +82 -0
  109. package/dist/chunk-DKEYSJCE.cjs.map +1 -0
  110. package/dist/chunk-DPSMVOM3.js +15 -0
  111. package/dist/chunk-DPSMVOM3.js.map +1 -0
  112. package/dist/chunk-E2ZXHS6E.js +20 -0
  113. package/dist/chunk-E2ZXHS6E.js.map +1 -0
  114. package/dist/chunk-E37CVHWW.js +33 -0
  115. package/dist/chunk-E37CVHWW.js.map +1 -0
  116. package/dist/chunk-E5BM4BLO.js +78 -0
  117. package/dist/chunk-E5BM4BLO.js.map +1 -0
  118. package/dist/chunk-EHRWTYGR.cjs +4 -0
  119. package/dist/chunk-EHRWTYGR.cjs.map +1 -0
  120. package/dist/chunk-EJSGJDZY.js +212 -0
  121. package/dist/chunk-EJSGJDZY.js.map +1 -0
  122. package/dist/chunk-ELSOVJPF.js +3 -0
  123. package/dist/chunk-ELSOVJPF.js.map +1 -0
  124. package/dist/chunk-ERLXU47J.js +29 -0
  125. package/dist/chunk-ERLXU47J.js.map +1 -0
  126. package/dist/chunk-ES2E65HT.js +3 -0
  127. package/dist/chunk-ES2E65HT.js.map +1 -0
  128. package/dist/chunk-EXLAHZKF.js +3 -0
  129. package/dist/chunk-EXLAHZKF.js.map +1 -0
  130. package/dist/chunk-FHEYAW5H.js +3 -0
  131. package/dist/chunk-FHEYAW5H.js.map +1 -0
  132. package/dist/chunk-GA4LZZKQ.cjs +104 -0
  133. package/dist/chunk-GA4LZZKQ.cjs.map +1 -0
  134. package/dist/chunk-GAZJ2PA3.js +3 -0
  135. package/dist/chunk-GAZJ2PA3.js.map +1 -0
  136. package/dist/chunk-GB6C5OEZ.cjs +32 -0
  137. package/dist/chunk-GB6C5OEZ.cjs.map +1 -0
  138. package/dist/chunk-GD24ZRFD.js +3 -0
  139. package/dist/chunk-GD24ZRFD.js.map +1 -0
  140. package/dist/chunk-GI7LROLL.cjs +4 -0
  141. package/dist/chunk-GI7LROLL.cjs.map +1 -0
  142. package/dist/chunk-GRFLPEM2.cjs +16 -0
  143. package/dist/chunk-GRFLPEM2.cjs.map +1 -0
  144. package/dist/chunk-GVIFLUYZ.cjs +40 -0
  145. package/dist/chunk-GVIFLUYZ.cjs.map +1 -0
  146. package/dist/chunk-H7VQTG4M.js +35 -0
  147. package/dist/chunk-H7VQTG4M.js.map +1 -0
  148. package/dist/chunk-HAKYPZLB.cjs +242 -0
  149. package/dist/chunk-HAKYPZLB.cjs.map +1 -0
  150. package/dist/chunk-HFBR6G36.js +3 -0
  151. package/dist/chunk-HFBR6G36.js.map +1 -0
  152. package/dist/chunk-HGCVWOGK.cjs +209 -0
  153. package/dist/chunk-HGCVWOGK.cjs.map +1 -0
  154. package/dist/chunk-HLHR3R4P.js +3 -0
  155. package/dist/chunk-HLHR3R4P.js.map +1 -0
  156. package/dist/chunk-HRXXGGSJ.js +3 -0
  157. package/dist/chunk-HRXXGGSJ.js.map +1 -0
  158. package/dist/chunk-I3TYBAOX.js +3 -0
  159. package/dist/chunk-I3TYBAOX.js.map +1 -0
  160. package/dist/chunk-I4A5VJRL.js +352 -0
  161. package/dist/chunk-I4A5VJRL.js.map +1 -0
  162. package/dist/chunk-I6CXC345.js +102 -0
  163. package/dist/chunk-I6CXC345.js.map +1 -0
  164. package/dist/chunk-IGOPUMEX.cjs +4 -0
  165. package/dist/chunk-IGOPUMEX.cjs.map +1 -0
  166. package/dist/chunk-IHKIYVZQ.js +30 -0
  167. package/dist/chunk-IHKIYVZQ.js.map +1 -0
  168. package/dist/chunk-IMC2M5YM.cjs +12 -0
  169. package/dist/chunk-IMC2M5YM.cjs.map +1 -0
  170. package/dist/chunk-IQ6KWSXP.js +3 -0
  171. package/dist/chunk-IQ6KWSXP.js.map +1 -0
  172. package/dist/chunk-IS26FJO7.cjs +4 -0
  173. package/dist/chunk-IS26FJO7.cjs.map +1 -0
  174. package/dist/chunk-J4WFSKY6.js +50 -0
  175. package/dist/chunk-J4WFSKY6.js.map +1 -0
  176. package/dist/chunk-J5LGGCAS.cjs +126 -0
  177. package/dist/chunk-J5LGGCAS.cjs.map +1 -0
  178. package/dist/chunk-JDEZHITT.js +43 -0
  179. package/dist/chunk-JDEZHITT.js.map +1 -0
  180. package/dist/chunk-JGS6YBDW.js +260 -0
  181. package/dist/chunk-JGS6YBDW.js.map +1 -0
  182. package/dist/chunk-JMOKD6ZP.js +46 -0
  183. package/dist/chunk-JMOKD6ZP.js.map +1 -0
  184. package/dist/chunk-JOX5BJ6K.cjs +4 -0
  185. package/dist/chunk-JOX5BJ6K.cjs.map +1 -0
  186. package/dist/chunk-JTAW54UM.js +116 -0
  187. package/dist/chunk-JTAW54UM.js.map +1 -0
  188. package/dist/chunk-K4RQOSJH.js +203 -0
  189. package/dist/chunk-K4RQOSJH.js.map +1 -0
  190. package/dist/chunk-KAIE6WJB.cjs +4 -0
  191. package/dist/chunk-KAIE6WJB.cjs.map +1 -0
  192. package/dist/chunk-KEDPGWIK.cjs +4 -0
  193. package/dist/chunk-KEDPGWIK.cjs.map +1 -0
  194. package/dist/chunk-KG4R454Z.js +18 -0
  195. package/dist/chunk-KG4R454Z.js.map +1 -0
  196. package/dist/chunk-KGKCAGRD.cjs +22 -0
  197. package/dist/chunk-KGKCAGRD.cjs.map +1 -0
  198. package/dist/chunk-KNMW722T.cjs +48 -0
  199. package/dist/chunk-KNMW722T.cjs.map +1 -0
  200. package/dist/chunk-KTTL7BND.cjs +4 -0
  201. package/dist/chunk-KTTL7BND.cjs.map +1 -0
  202. package/dist/chunk-KXEWTYS4.cjs +80 -0
  203. package/dist/chunk-KXEWTYS4.cjs.map +1 -0
  204. package/dist/chunk-KZQKFBRN.js +3 -0
  205. package/dist/chunk-KZQKFBRN.js.map +1 -0
  206. package/dist/chunk-LAWYFC4G.cjs +37 -0
  207. package/dist/chunk-LAWYFC4G.cjs.map +1 -0
  208. package/dist/chunk-LHP2CWHD.js +228 -0
  209. package/dist/chunk-LHP2CWHD.js.map +1 -0
  210. package/dist/chunk-LHRQXWI5.js +3 -0
  211. package/dist/chunk-LHRQXWI5.js.map +1 -0
  212. package/dist/chunk-LKH5M44B.cjs +114 -0
  213. package/dist/chunk-LKH5M44B.cjs.map +1 -0
  214. package/dist/chunk-LLNNHLCE.cjs +4 -0
  215. package/dist/chunk-LLNNHLCE.cjs.map +1 -0
  216. package/dist/chunk-LWZLWSXD.cjs +4 -0
  217. package/dist/chunk-LWZLWSXD.cjs.map +1 -0
  218. package/dist/chunk-M6Y5TOYE.js +3 -0
  219. package/dist/chunk-M6Y5TOYE.js.map +1 -0
  220. package/dist/chunk-MBFUMWI5.cjs +31 -0
  221. package/dist/chunk-MBFUMWI5.cjs.map +1 -0
  222. package/dist/chunk-MEKI37WI.js +3 -0
  223. package/dist/chunk-MEKI37WI.js.map +1 -0
  224. package/dist/chunk-MQ74AKA2.cjs +200 -0
  225. package/dist/chunk-MQ74AKA2.cjs.map +1 -0
  226. package/dist/chunk-N6GLZOE4.cjs +282 -0
  227. package/dist/chunk-N6GLZOE4.cjs.map +1 -0
  228. package/dist/chunk-NBVARNVA.cjs +38 -0
  229. package/dist/chunk-NBVARNVA.cjs.map +1 -0
  230. package/dist/chunk-NCCBS6GU.js +42 -0
  231. package/dist/chunk-NCCBS6GU.js.map +1 -0
  232. package/dist/chunk-NGKODS3J.cjs +52 -0
  233. package/dist/chunk-NGKODS3J.cjs.map +1 -0
  234. package/dist/chunk-NJVSKUL2.cjs +4 -0
  235. package/dist/chunk-NJVSKUL2.cjs.map +1 -0
  236. package/dist/chunk-NLQQHJ25.cjs +104 -0
  237. package/dist/chunk-NLQQHJ25.cjs.map +1 -0
  238. package/dist/chunk-NNHWH7ER.js +181 -0
  239. package/dist/chunk-NNHWH7ER.js.map +1 -0
  240. package/dist/chunk-NX67YIF3.js +3 -0
  241. package/dist/chunk-NX67YIF3.js.map +1 -0
  242. package/dist/chunk-OA6FWYZF.cjs +4 -0
  243. package/dist/chunk-OA6FWYZF.cjs.map +1 -0
  244. package/dist/chunk-OJDBSKC2.js +3 -0
  245. package/dist/chunk-OJDBSKC2.js.map +1 -0
  246. package/dist/chunk-OLPA44QJ.js +3 -0
  247. package/dist/chunk-OLPA44QJ.js.map +1 -0
  248. package/dist/chunk-OMH7ATOQ.js +3 -0
  249. package/dist/chunk-OMH7ATOQ.js.map +1 -0
  250. package/dist/chunk-OPR4TULG.js +3 -0
  251. package/dist/chunk-OPR4TULG.js.map +1 -0
  252. package/dist/chunk-OSX2GVZ2.cjs +34 -0
  253. package/dist/chunk-OSX2GVZ2.cjs.map +1 -0
  254. package/dist/chunk-OXQKE5EG.cjs +282 -0
  255. package/dist/chunk-OXQKE5EG.cjs.map +1 -0
  256. package/dist/chunk-P6E4QDJN.js +30 -0
  257. package/dist/chunk-P6E4QDJN.js.map +1 -0
  258. package/dist/chunk-PEMLIAPZ.cjs +64 -0
  259. package/dist/chunk-PEMLIAPZ.cjs.map +1 -0
  260. package/dist/chunk-PGYQ754I.js +3 -0
  261. package/dist/chunk-PGYQ754I.js.map +1 -0
  262. package/dist/chunk-PHKYIWE4.cjs +16 -0
  263. package/dist/chunk-PHKYIWE4.cjs.map +1 -0
  264. package/dist/chunk-PMTM26LL.js +3 -0
  265. package/dist/chunk-PMTM26LL.js.map +1 -0
  266. package/dist/chunk-PY4OEKNX.cjs +4 -0
  267. package/dist/chunk-PY4OEKNX.cjs.map +1 -0
  268. package/dist/chunk-PZS2EXDR.cjs +4 -0
  269. package/dist/chunk-PZS2EXDR.cjs.map +1 -0
  270. package/dist/chunk-QITJGSFA.js +210 -0
  271. package/dist/chunk-QITJGSFA.js.map +1 -0
  272. package/dist/chunk-QRHJEITQ.cjs +4 -0
  273. package/dist/chunk-QRHJEITQ.cjs.map +1 -0
  274. package/dist/chunk-QUFU5RJ7.cjs +4 -0
  275. package/dist/chunk-QUFU5RJ7.cjs.map +1 -0
  276. package/dist/chunk-QVQCKOBM.js +3 -0
  277. package/dist/chunk-QVQCKOBM.js.map +1 -0
  278. package/dist/chunk-R63TTR35.cjs +200 -0
  279. package/dist/chunk-R63TTR35.cjs.map +1 -0
  280. package/dist/chunk-RA42NMWV.cjs +4 -0
  281. package/dist/chunk-RA42NMWV.cjs.map +1 -0
  282. package/dist/chunk-RAZN6C5R.cjs +12 -0
  283. package/dist/chunk-RAZN6C5R.cjs.map +1 -0
  284. package/dist/chunk-REUFPWM7.cjs +233 -0
  285. package/dist/chunk-REUFPWM7.cjs.map +1 -0
  286. package/dist/chunk-RHETJOUM.cjs +4 -0
  287. package/dist/chunk-RHETJOUM.cjs.map +1 -0
  288. package/dist/chunk-RJIJVVXS.js +3 -0
  289. package/dist/chunk-RJIJVVXS.js.map +1 -0
  290. package/dist/chunk-RKVRCNMB.js +3 -0
  291. package/dist/chunk-RKVRCNMB.js.map +1 -0
  292. package/dist/chunk-SBV5MWEL.cjs +53 -0
  293. package/dist/chunk-SBV5MWEL.cjs.map +1 -0
  294. package/dist/chunk-SFB4YLCS.js +121 -0
  295. package/dist/chunk-SFB4YLCS.js.map +1 -0
  296. package/dist/chunk-SLPD47SR.js +3 -0
  297. package/dist/chunk-SLPD47SR.js.map +1 -0
  298. package/dist/chunk-SS3B6PHT.cjs +35 -0
  299. package/dist/chunk-SS3B6PHT.cjs.map +1 -0
  300. package/dist/chunk-SUCHGNYT.js +3 -0
  301. package/dist/chunk-SUCHGNYT.js.map +1 -0
  302. package/dist/chunk-SYVNY3AH.cjs +44 -0
  303. package/dist/chunk-SYVNY3AH.cjs.map +1 -0
  304. package/dist/chunk-T3SYREY4.js +29 -0
  305. package/dist/chunk-T3SYREY4.js.map +1 -0
  306. package/dist/chunk-T7N7DFQJ.js +198 -0
  307. package/dist/chunk-T7N7DFQJ.js.map +1 -0
  308. package/dist/chunk-TRCENAIY.cjs +4 -0
  309. package/dist/chunk-TRCENAIY.cjs.map +1 -0
  310. package/dist/chunk-TVENC6PH.js +186 -0
  311. package/dist/chunk-TVENC6PH.js.map +1 -0
  312. package/dist/chunk-U4T3Z3K7.cjs +325 -0
  313. package/dist/chunk-U4T3Z3K7.cjs.map +1 -0
  314. package/dist/chunk-UI2NXUML.cjs +187 -0
  315. package/dist/chunk-UI2NXUML.cjs.map +1 -0
  316. package/dist/chunk-UIFFNTUX.js +3 -0
  317. package/dist/chunk-UIFFNTUX.js.map +1 -0
  318. package/dist/chunk-V4GPQ6Y2.js +3 -0
  319. package/dist/chunk-V4GPQ6Y2.js.map +1 -0
  320. package/dist/chunk-VGTRKXF2.js +93 -0
  321. package/dist/chunk-VGTRKXF2.js.map +1 -0
  322. package/dist/chunk-VGWOIWRQ.cjs +202 -0
  323. package/dist/chunk-VGWOIWRQ.cjs.map +1 -0
  324. package/dist/chunk-VLCNNA76.cjs +4 -0
  325. package/dist/chunk-VLCNNA76.cjs.map +1 -0
  326. package/dist/chunk-VPAUN75Q.js +3 -0
  327. package/dist/chunk-VPAUN75Q.js.map +1 -0
  328. package/dist/chunk-VT237QF2.js +3 -0
  329. package/dist/chunk-VT237QF2.js.map +1 -0
  330. package/dist/chunk-VV4TZG5S.js +321 -0
  331. package/dist/chunk-VV4TZG5S.js.map +1 -0
  332. package/dist/chunk-VYK6MBL4.cjs +4 -0
  333. package/dist/chunk-VYK6MBL4.cjs.map +1 -0
  334. package/dist/chunk-W33CKW6Q.cjs +4 -0
  335. package/dist/chunk-W33CKW6Q.cjs.map +1 -0
  336. package/dist/chunk-W5VHATSR.cjs +31 -0
  337. package/dist/chunk-W5VHATSR.cjs.map +1 -0
  338. package/dist/chunk-W7YI5UT3.js +3 -0
  339. package/dist/chunk-W7YI5UT3.js.map +1 -0
  340. package/dist/chunk-WEQWU2IC.js +34 -0
  341. package/dist/chunk-WEQWU2IC.js.map +1 -0
  342. package/dist/chunk-WK4VXPPZ.cjs +104 -0
  343. package/dist/chunk-WK4VXPPZ.cjs.map +1 -0
  344. package/dist/chunk-WSA4LMWR.cjs +96 -0
  345. package/dist/chunk-WSA4LMWR.cjs.map +1 -0
  346. package/dist/chunk-WUIEZ6Z4.cjs +360 -0
  347. package/dist/chunk-WUIEZ6Z4.cjs.map +1 -0
  348. package/dist/chunk-WUKIJJG2.cjs +45 -0
  349. package/dist/chunk-WUKIJJG2.cjs.map +1 -0
  350. package/dist/chunk-WVFAQBS7.js +29 -0
  351. package/dist/chunk-WVFAQBS7.js.map +1 -0
  352. package/dist/chunk-X7RDNMN7.js +3 -0
  353. package/dist/chunk-X7RDNMN7.js.map +1 -0
  354. package/dist/chunk-X7XP5WBP.cjs +4 -0
  355. package/dist/chunk-X7XP5WBP.cjs.map +1 -0
  356. package/dist/chunk-XQAIEPAZ.js +104 -0
  357. package/dist/chunk-XQAIEPAZ.js.map +1 -0
  358. package/dist/chunk-XWKNE6DH.cjs +4 -0
  359. package/dist/chunk-XWKNE6DH.cjs.map +1 -0
  360. package/dist/chunk-Y6V6CBY5.js +23 -0
  361. package/dist/chunk-Y6V6CBY5.js.map +1 -0
  362. package/dist/chunk-Y6VDCZPB.js +62 -0
  363. package/dist/chunk-Y6VDCZPB.js.map +1 -0
  364. package/dist/chunk-YDRXBRW2.cjs +184 -0
  365. package/dist/chunk-YDRXBRW2.cjs.map +1 -0
  366. package/dist/chunk-YFS2LMG4.cjs +124 -0
  367. package/dist/chunk-YFS2LMG4.cjs.map +1 -0
  368. package/dist/chunk-YN6CBIIB.js +63 -0
  369. package/dist/chunk-YN6CBIIB.js.map +1 -0
  370. package/dist/chunk-YOJ2XNQX.cjs +4 -0
  371. package/dist/chunk-YOJ2XNQX.cjs.map +1 -0
  372. package/dist/chunk-YOOZB4RL.js +3 -0
  373. package/dist/chunk-YOOZB4RL.js.map +1 -0
  374. package/dist/chunk-YVU2M7MI.js +34 -0
  375. package/dist/chunk-YVU2M7MI.js.map +1 -0
  376. package/dist/chunk-YXBZRB5H.cjs +4 -0
  377. package/dist/chunk-YXBZRB5H.cjs.map +1 -0
  378. package/dist/chunk-Z3ZKFI2M.js +43 -0
  379. package/dist/chunk-Z3ZKFI2M.js.map +1 -0
  380. package/dist/chunk-Z5GLY4R3.js +112 -0
  381. package/dist/chunk-Z5GLY4R3.js.map +1 -0
  382. package/dist/chunk-Z5OMWAQX.js +3 -0
  383. package/dist/chunk-Z5OMWAQX.js.map +1 -0
  384. package/dist/chunk-Z7LGWNI7.js +38 -0
  385. package/dist/chunk-Z7LGWNI7.js.map +1 -0
  386. package/dist/chunk-ZCWKX4V6.cjs +38 -0
  387. package/dist/chunk-ZCWKX4V6.cjs.map +1 -0
  388. package/dist/chunk-ZE5RISBZ.cjs +4 -0
  389. package/dist/chunk-ZE5RISBZ.cjs.map +1 -0
  390. package/dist/chunk-ZH4F2P2G.js +3 -0
  391. package/dist/chunk-ZH4F2P2G.js.map +1 -0
  392. package/dist/chunk-ZJGFLJ2Z.cjs +4 -0
  393. package/dist/chunk-ZJGFLJ2Z.cjs.map +1 -0
  394. package/dist/chunk-ZKBHD27K.cjs +4 -0
  395. package/dist/chunk-ZKBHD27K.cjs.map +1 -0
  396. package/dist/chunk-ZQPLRNKX.cjs +4 -0
  397. package/dist/chunk-ZQPLRNKX.cjs.map +1 -0
  398. package/dist/chunk-ZQQABQMH.cjs +31 -0
  399. package/dist/chunk-ZQQABQMH.cjs.map +1 -0
  400. package/dist/chunk-ZXJQSFIA.js +200 -0
  401. package/dist/chunk-ZXJQSFIA.js.map +1 -0
  402. package/dist/developer-apps-zSQXWmEG.d.cts +294 -0
  403. package/dist/developer-apps-zSQXWmEG.d.ts +294 -0
  404. package/dist/entries/apps.cjs +13 -0
  405. package/dist/entries/apps.cjs.map +1 -0
  406. package/dist/entries/apps.d.cts +300 -0
  407. package/dist/entries/apps.d.ts +300 -0
  408. package/dist/entries/apps.js +4 -0
  409. package/dist/entries/apps.js.map +1 -0
  410. package/dist/entries/audio.cjs +13 -0
  411. package/dist/entries/audio.cjs.map +1 -0
  412. package/dist/entries/audio.d.cts +200 -0
  413. package/dist/entries/audio.d.ts +200 -0
  414. package/dist/entries/audio.js +4 -0
  415. package/dist/entries/audio.js.map +1 -0
  416. package/dist/entries/billing.cjs +13 -0
  417. package/dist/entries/billing.cjs.map +1 -0
  418. package/dist/entries/billing.d.cts +208 -0
  419. package/dist/entries/billing.d.ts +208 -0
  420. package/dist/entries/billing.js +4 -0
  421. package/dist/entries/billing.js.map +1 -0
  422. package/dist/entries/catalogs.cjs +13 -0
  423. package/dist/entries/catalogs.cjs.map +1 -0
  424. package/dist/entries/catalogs.d.cts +82 -0
  425. package/dist/entries/catalogs.d.ts +82 -0
  426. package/dist/entries/catalogs.js +4 -0
  427. package/dist/entries/catalogs.js.map +1 -0
  428. package/dist/entries/characters.cjs +45 -0
  429. package/dist/entries/characters.cjs.map +1 -0
  430. package/dist/entries/characters.d.cts +741 -0
  431. package/dist/entries/characters.d.ts +741 -0
  432. package/dist/entries/characters.js +4 -0
  433. package/dist/entries/characters.js.map +1 -0
  434. package/dist/entries/client.cjs +78 -0
  435. package/dist/entries/client.cjs.map +1 -0
  436. package/dist/entries/client.d.cts +147 -0
  437. package/dist/entries/client.d.ts +147 -0
  438. package/dist/entries/client.js +53 -0
  439. package/dist/entries/client.js.map +1 -0
  440. package/dist/entries/collections.cjs +13 -0
  441. package/dist/entries/collections.cjs.map +1 -0
  442. package/dist/entries/collections.d.cts +77 -0
  443. package/dist/entries/collections.d.ts +77 -0
  444. package/dist/entries/collections.js +4 -0
  445. package/dist/entries/collections.js.map +1 -0
  446. package/dist/entries/community.cjs +13 -0
  447. package/dist/entries/community.cjs.map +1 -0
  448. package/dist/entries/community.d.cts +87 -0
  449. package/dist/entries/community.d.ts +87 -0
  450. package/dist/entries/community.js +4 -0
  451. package/dist/entries/community.js.map +1 -0
  452. package/dist/entries/competitors.cjs +13 -0
  453. package/dist/entries/competitors.cjs.map +1 -0
  454. package/dist/entries/competitors.d.cts +96 -0
  455. package/dist/entries/competitors.d.ts +96 -0
  456. package/dist/entries/competitors.js +4 -0
  457. package/dist/entries/competitors.js.map +1 -0
  458. package/dist/entries/copilot.cjs +15 -0
  459. package/dist/entries/copilot.cjs.map +1 -0
  460. package/dist/entries/copilot.d.cts +296 -0
  461. package/dist/entries/copilot.d.ts +296 -0
  462. package/dist/entries/copilot.js +6 -0
  463. package/dist/entries/copilot.js.map +1 -0
  464. package/dist/entries/core.cjs +26 -0
  465. package/dist/entries/core.cjs.map +1 -0
  466. package/dist/entries/core.d.cts +3 -0
  467. package/dist/entries/core.d.ts +3 -0
  468. package/dist/entries/core.js +5 -0
  469. package/dist/entries/core.js.map +1 -0
  470. package/dist/entries/creatures.cjs +29 -0
  471. package/dist/entries/creatures.cjs.map +1 -0
  472. package/dist/entries/creatures.d.cts +594 -0
  473. package/dist/entries/creatures.d.ts +594 -0
  474. package/dist/entries/creatures.js +4 -0
  475. package/dist/entries/creatures.js.map +1 -0
  476. package/dist/entries/credits.cjs +13 -0
  477. package/dist/entries/credits.cjs.map +1 -0
  478. package/dist/entries/credits.d.cts +229 -0
  479. package/dist/entries/credits.d.ts +229 -0
  480. package/dist/entries/credits.js +4 -0
  481. package/dist/entries/credits.js.map +1 -0
  482. package/dist/entries/developer-apps.cjs +13 -0
  483. package/dist/entries/developer-apps.cjs.map +1 -0
  484. package/dist/entries/developer-apps.d.cts +3 -0
  485. package/dist/entries/developer-apps.d.ts +3 -0
  486. package/dist/entries/developer-apps.js +4 -0
  487. package/dist/entries/developer-apps.js.map +1 -0
  488. package/dist/entries/edit.cjs +34 -0
  489. package/dist/entries/edit.cjs.map +1 -0
  490. package/dist/entries/edit.d.cts +705 -0
  491. package/dist/entries/edit.d.ts +705 -0
  492. package/dist/entries/edit.js +5 -0
  493. package/dist/entries/edit.js.map +1 -0
  494. package/dist/entries/errors.cjs +93 -0
  495. package/dist/entries/errors.cjs.map +1 -0
  496. package/dist/entries/errors.d.cts +338 -0
  497. package/dist/entries/errors.d.ts +338 -0
  498. package/dist/entries/errors.js +4 -0
  499. package/dist/entries/errors.js.map +1 -0
  500. package/dist/entries/executions.cjs +21 -0
  501. package/dist/entries/executions.cjs.map +1 -0
  502. package/dist/entries/executions.d.cts +120 -0
  503. package/dist/entries/executions.d.ts +120 -0
  504. package/dist/entries/executions.js +4 -0
  505. package/dist/entries/executions.js.map +1 -0
  506. package/dist/entries/gallery.cjs +13 -0
  507. package/dist/entries/gallery.cjs.map +1 -0
  508. package/dist/entries/gallery.d.cts +85 -0
  509. package/dist/entries/gallery.d.ts +85 -0
  510. package/dist/entries/gallery.js +4 -0
  511. package/dist/entries/gallery.js.map +1 -0
  512. package/dist/entries/jobs.cjs +13 -0
  513. package/dist/entries/jobs.cjs.map +1 -0
  514. package/dist/entries/jobs.d.cts +252 -0
  515. package/dist/entries/jobs.d.ts +252 -0
  516. package/dist/entries/jobs.js +4 -0
  517. package/dist/entries/jobs.js.map +1 -0
  518. package/dist/entries/library.cjs +13 -0
  519. package/dist/entries/library.cjs.map +1 -0
  520. package/dist/entries/library.d.cts +109 -0
  521. package/dist/entries/library.d.ts +109 -0
  522. package/dist/entries/library.js +4 -0
  523. package/dist/entries/library.js.map +1 -0
  524. package/dist/entries/llm.cjs +13 -0
  525. package/dist/entries/llm.cjs.map +1 -0
  526. package/dist/entries/llm.d.cts +98 -0
  527. package/dist/entries/llm.d.ts +98 -0
  528. package/dist/entries/llm.js +4 -0
  529. package/dist/entries/llm.js.map +1 -0
  530. package/dist/entries/locations.cjs +25 -0
  531. package/dist/entries/locations.cjs.map +1 -0
  532. package/dist/entries/locations.d.cts +573 -0
  533. package/dist/entries/locations.d.ts +573 -0
  534. package/dist/entries/locations.js +4 -0
  535. package/dist/entries/locations.js.map +1 -0
  536. package/dist/entries/media.cjs +15 -0
  537. package/dist/entries/media.cjs.map +1 -0
  538. package/dist/entries/media.d.cts +548 -0
  539. package/dist/entries/media.d.ts +548 -0
  540. package/dist/entries/media.js +6 -0
  541. package/dist/entries/media.js.map +1 -0
  542. package/dist/entries/models.cjs +13 -0
  543. package/dist/entries/models.cjs.map +1 -0
  544. package/dist/entries/models.d.cts +92 -0
  545. package/dist/entries/models.d.ts +92 -0
  546. package/dist/entries/models.js +4 -0
  547. package/dist/entries/models.js.map +1 -0
  548. package/dist/entries/moodboards.cjs +21 -0
  549. package/dist/entries/moodboards.cjs.map +1 -0
  550. package/dist/entries/moodboards.d.cts +77 -0
  551. package/dist/entries/moodboards.d.ts +77 -0
  552. package/dist/entries/moodboards.js +4 -0
  553. package/dist/entries/moodboards.js.map +1 -0
  554. package/dist/entries/node-presets.cjs +13 -0
  555. package/dist/entries/node-presets.cjs.map +1 -0
  556. package/dist/entries/node-presets.d.cts +217 -0
  557. package/dist/entries/node-presets.d.ts +217 -0
  558. package/dist/entries/node-presets.js +4 -0
  559. package/dist/entries/node-presets.js.map +1 -0
  560. package/dist/entries/nodes.cjs +22 -0
  561. package/dist/entries/nodes.cjs.map +1 -0
  562. package/dist/entries/nodes.d.cts +18 -0
  563. package/dist/entries/nodes.d.ts +18 -0
  564. package/dist/entries/nodes.js +5 -0
  565. package/dist/entries/nodes.js.map +1 -0
  566. package/dist/entries/oauth.cjs +13 -0
  567. package/dist/entries/oauth.cjs.map +1 -0
  568. package/dist/entries/oauth.d.cts +69 -0
  569. package/dist/entries/oauth.d.ts +69 -0
  570. package/dist/entries/oauth.js +4 -0
  571. package/dist/entries/oauth.js.map +1 -0
  572. package/dist/entries/objects.cjs +29 -0
  573. package/dist/entries/objects.cjs.map +1 -0
  574. package/dist/entries/objects.d.cts +544 -0
  575. package/dist/entries/objects.d.ts +544 -0
  576. package/dist/entries/objects.js +4 -0
  577. package/dist/entries/objects.js.map +1 -0
  578. package/dist/entries/organizations.cjs +21 -0
  579. package/dist/entries/organizations.cjs.map +1 -0
  580. package/dist/entries/organizations.d.cts +164 -0
  581. package/dist/entries/organizations.d.ts +164 -0
  582. package/dist/entries/organizations.js +4 -0
  583. package/dist/entries/organizations.js.map +1 -0
  584. package/dist/entries/palettes.cjs +21 -0
  585. package/dist/entries/palettes.cjs.map +1 -0
  586. package/dist/entries/palettes.d.cts +69 -0
  587. package/dist/entries/palettes.d.ts +69 -0
  588. package/dist/entries/palettes.js +4 -0
  589. package/dist/entries/palettes.js.map +1 -0
  590. package/dist/entries/picker-catalogs.cjs +13 -0
  591. package/dist/entries/picker-catalogs.cjs.map +1 -0
  592. package/dist/entries/picker-catalogs.d.cts +148 -0
  593. package/dist/entries/picker-catalogs.d.ts +148 -0
  594. package/dist/entries/picker-catalogs.js +4 -0
  595. package/dist/entries/picker-catalogs.js.map +1 -0
  596. package/dist/entries/pipelines.cjs +13 -0
  597. package/dist/entries/pipelines.cjs.map +1 -0
  598. package/dist/entries/pipelines.d.cts +255 -0
  599. package/dist/entries/pipelines.d.ts +255 -0
  600. package/dist/entries/pipelines.js +4 -0
  601. package/dist/entries/pipelines.js.map +1 -0
  602. package/dist/entries/projects.cjs +13 -0
  603. package/dist/entries/projects.cjs.map +1 -0
  604. package/dist/entries/projects.d.cts +49 -0
  605. package/dist/entries/projects.d.ts +49 -0
  606. package/dist/entries/projects.js +4 -0
  607. package/dist/entries/projects.js.map +1 -0
  608. package/dist/entries/prompt-helper.cjs +13 -0
  609. package/dist/entries/prompt-helper.cjs.map +1 -0
  610. package/dist/entries/prompt-helper.d.cts +73 -0
  611. package/dist/entries/prompt-helper.d.ts +73 -0
  612. package/dist/entries/prompt-helper.js +4 -0
  613. package/dist/entries/prompt-helper.js.map +1 -0
  614. package/dist/entries/recast.cjs +17 -0
  615. package/dist/entries/recast.cjs.map +1 -0
  616. package/dist/entries/recast.d.cts +229 -0
  617. package/dist/entries/recast.d.ts +229 -0
  618. package/dist/entries/recast.js +4 -0
  619. package/dist/entries/recast.js.map +1 -0
  620. package/dist/entries/reduce.cjs +13 -0
  621. package/dist/entries/reduce.cjs.map +1 -0
  622. package/dist/entries/reduce.d.cts +56 -0
  623. package/dist/entries/reduce.d.ts +56 -0
  624. package/dist/entries/reduce.js +4 -0
  625. package/dist/entries/reduce.js.map +1 -0
  626. package/dist/entries/saved-posts.cjs +13 -0
  627. package/dist/entries/saved-posts.cjs.map +1 -0
  628. package/dist/entries/saved-posts.d.cts +33 -0
  629. package/dist/entries/saved-posts.d.ts +33 -0
  630. package/dist/entries/saved-posts.js +4 -0
  631. package/dist/entries/saved-posts.js.map +1 -0
  632. package/dist/entries/scene3d.cjs +17 -0
  633. package/dist/entries/scene3d.cjs.map +1 -0
  634. package/dist/entries/scene3d.d.cts +131 -0
  635. package/dist/entries/scene3d.d.ts +131 -0
  636. package/dist/entries/scene3d.js +4 -0
  637. package/dist/entries/scene3d.js.map +1 -0
  638. package/dist/entries/sessions.cjs +13 -0
  639. package/dist/entries/sessions.cjs.map +1 -0
  640. package/dist/entries/sessions.d.cts +122 -0
  641. package/dist/entries/sessions.d.ts +122 -0
  642. package/dist/entries/sessions.js +4 -0
  643. package/dist/entries/sessions.js.map +1 -0
  644. package/dist/entries/shots.cjs +13 -0
  645. package/dist/entries/shots.cjs.map +1 -0
  646. package/dist/entries/shots.d.cts +78 -0
  647. package/dist/entries/shots.d.ts +78 -0
  648. package/dist/entries/shots.js +4 -0
  649. package/dist/entries/shots.js.map +1 -0
  650. package/dist/entries/studio.cjs +22 -0
  651. package/dist/entries/studio.cjs.map +1 -0
  652. package/dist/entries/studio.d.cts +281 -0
  653. package/dist/entries/studio.d.ts +281 -0
  654. package/dist/entries/studio.js +5 -0
  655. package/dist/entries/studio.js.map +1 -0
  656. package/dist/entries/templates.cjs +13 -0
  657. package/dist/entries/templates.cjs.map +1 -0
  658. package/dist/entries/templates.d.cts +110 -0
  659. package/dist/entries/templates.d.ts +110 -0
  660. package/dist/entries/templates.js +4 -0
  661. package/dist/entries/templates.js.map +1 -0
  662. package/dist/entries/tutorials.cjs +13 -0
  663. package/dist/entries/tutorials.cjs.map +1 -0
  664. package/dist/entries/tutorials.d.cts +63 -0
  665. package/dist/entries/tutorials.d.ts +63 -0
  666. package/dist/entries/tutorials.js +4 -0
  667. package/dist/entries/tutorials.js.map +1 -0
  668. package/dist/entries/uploads.cjs +13 -0
  669. package/dist/entries/uploads.cjs.map +1 -0
  670. package/dist/entries/uploads.d.cts +44 -0
  671. package/dist/entries/uploads.d.ts +44 -0
  672. package/dist/entries/uploads.js +4 -0
  673. package/dist/entries/uploads.js.map +1 -0
  674. package/dist/entries/video-pro.cjs +13 -0
  675. package/dist/entries/video-pro.cjs.map +1 -0
  676. package/dist/entries/video-pro.d.cts +60 -0
  677. package/dist/entries/video-pro.d.ts +60 -0
  678. package/dist/entries/video-pro.js +4 -0
  679. package/dist/entries/video-pro.js.map +1 -0
  680. package/dist/entries/voices.cjs +13 -0
  681. package/dist/entries/voices.cjs.map +1 -0
  682. package/dist/entries/voices.d.cts +498 -0
  683. package/dist/entries/voices.d.ts +498 -0
  684. package/dist/entries/voices.js +4 -0
  685. package/dist/entries/voices.js.map +1 -0
  686. package/dist/entries/webhooks.cjs +21 -0
  687. package/dist/entries/webhooks.cjs.map +1 -0
  688. package/dist/entries/webhooks.d.cts +64 -0
  689. package/dist/entries/webhooks.d.ts +64 -0
  690. package/dist/entries/webhooks.js +4 -0
  691. package/dist/entries/webhooks.js.map +1 -0
  692. package/dist/entries/workflows.cjs +13 -0
  693. package/dist/entries/workflows.cjs.map +1 -0
  694. package/dist/entries/workflows.d.cts +393 -0
  695. package/dist/entries/workflows.d.ts +393 -0
  696. package/dist/entries/workflows.js +4 -0
  697. package/dist/entries/workflows.js.map +1 -0
  698. package/dist/entries/workspaces.cjs +13 -0
  699. package/dist/entries/workspaces.cjs.map +1 -0
  700. package/dist/entries/workspaces.d.cts +124 -0
  701. package/dist/entries/workspaces.d.ts +124 -0
  702. package/dist/entries/workspaces.js +4 -0
  703. package/dist/entries/workspaces.js.map +1 -0
  704. package/dist/index.cjs +501 -4618
  705. package/dist/index.cjs.map +1 -1
  706. package/dist/index.d.cts +66 -9651
  707. package/dist/index.d.ts +66 -9651
  708. package/dist/index.js +100 -4511
  709. package/dist/index.js.map +1 -1
  710. package/dist/nodes-BPvrAoUs.d.cts +1264 -0
  711. package/dist/nodes-C2zu3uqn.d.ts +1264 -0
  712. package/dist/studio-productions-DUHvdSvk.d.cts +572 -0
  713. package/dist/studio-productions-vbCNSbtf.d.ts +572 -0
  714. package/dist/webhooks-BJawEIz8.d.ts +198 -0
  715. package/dist/webhooks-Dn_DtNTD.d.cts +198 -0
  716. package/package.json +253 -3
@@ -0,0 +1,78 @@
1
+ // src/resources/recast.ts
2
+ var RecastResource = class {
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ client;
7
+ // ── Authored-script lane (all three endpoints are free) ────────────────
8
+ /** The generated authoring guide (markdown): document contract, enum
9
+ * vocabularies, bounds, audio rules, and a validated worked example. */
10
+ async authoringSkill() {
11
+ const res = await this.client.request(
12
+ "GET",
13
+ "/v1/video-analysis/authoring-skill"
14
+ );
15
+ return res.markdown ?? "";
16
+ }
17
+ /** FREE validation of an authored script. Loop until `valid: true`. */
18
+ validateScript(script) {
19
+ return this.client.request("POST", "/v1/video-analysis/import/validate", {
20
+ body: { script }
21
+ });
22
+ }
23
+ /**
24
+ * Import a VALIDATED authored script as a completed analysis job.
25
+ * `rightsAttested: true` is required (403 otherwise) — authored recasts
26
+ * render Faithful, exactly as written, so only import work you own.
27
+ */
28
+ importScript(script, opts) {
29
+ return this.client.request("POST", "/v1/video-analysis/import", {
30
+ body: { script, rightsAttested: opts.rightsAttested }
31
+ });
32
+ }
33
+ // ── Run lane ───────────────────────────────────────────────────────────
34
+ /** Quote a run (credits) before buying the plan. */
35
+ estimate(input) {
36
+ return this.client.request("POST", "/v1/recast/estimate", { body: input });
37
+ }
38
+ /** Create a run (buys the plan). Returns `{ recastId }`. */
39
+ create(input) {
40
+ return this.client.request("POST", "/v1/recast", { body: input });
41
+ }
42
+ /** Poll the run — status plus any pending interactive step. */
43
+ get(recastId) {
44
+ return this.client.request("GET", `/v1/recast/${encodeURIComponent(recastId)}`);
45
+ }
46
+ /** Quote a revisioned Music replacement and/or complete desired mix. Free. */
47
+ estimateRescore(recastId, input) {
48
+ return this.client.request(
49
+ "POST",
50
+ `/v1/recast/${encodeURIComponent(recastId)}/estimate-rescore`,
51
+ { body: input }
52
+ );
53
+ }
54
+ /** Apply a quoted audio operation. Reuse its request id only for a transport retry. */
55
+ rescore(recastId, input) {
56
+ return this.client.request(
57
+ "POST",
58
+ `/v1/recast/${encodeURIComponent(recastId)}/rescore`,
59
+ { body: input }
60
+ );
61
+ }
62
+ /** Start rendering a `planned` run. Idempotent server-side. */
63
+ start(recastId, opts = {}) {
64
+ return this.client.request("POST", `/v1/recast/${encodeURIComponent(recastId)}/start`, {
65
+ body: opts
66
+ });
67
+ }
68
+ /** Answer a pending interactive gate (the pick itself is free). */
69
+ resolveGate(recastId, input) {
70
+ return this.client.request("POST", `/v1/recast/${encodeURIComponent(recastId)}/select`, {
71
+ body: input
72
+ });
73
+ }
74
+ };
75
+
76
+ export { RecastResource };
77
+ //# sourceMappingURL=chunk-AJVSMNPZ.js.map
78
+ //# sourceMappingURL=chunk-AJVSMNPZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/resources/recast.ts"],"names":[],"mappings":";AA6KO,IAAM,iBAAN,MAAqB;AAAA,EAC1B,YAAoB,MAAA,EAA0B;AAA1B,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAAA,EAA2B;AAAA,EAA3B,MAAA;AAAA;AAAA;AAAA;AAAA,EAMpB,MAAM,cAAA,GAAkC;AACtC,IAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,MAAA,CAAO,OAAA;AAAA,MAC5B,KAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,OAAO,IAAI,QAAA,IAAY,EAAA;AAAA,EACzB;AAAA;AAAA,EAGA,eAAe,MAAA,EAAkE;AAC/E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,MAAA,EAAQ,oCAAA,EAAsC;AAAA,MACvE,IAAA,EAAM,EAAE,MAAA;AAAO,KAChB,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAA,CACE,QACA,IAAA,EACmC;AACnC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,MAAA,EAAQ,2BAAA,EAA6B;AAAA,MAC9D,IAAA,EAAM,EAAE,MAAA,EAAQ,cAAA,EAAgB,KAAK,cAAA;AAAe,KACrD,CAAA;AAAA,EACH;AAAA;AAAA;AAAA,EAKA,SAAS,KAAA,EAAqD;AAC5D,IAAA,OAAO,IAAA,CAAK,OAAO,OAAA,CAAQ,MAAA,EAAQ,uBAAuB,EAAE,IAAA,EAAM,OAAO,CAAA;AAAA,EAC3E;AAAA;AAAA,EAGA,OAAO,KAAA,EAAyD;AAC9D,IAAA,OAAO,IAAA,CAAK,OAAO,OAAA,CAAQ,MAAA,EAAQ,cAAc,EAAE,IAAA,EAAM,OAAO,CAAA;AAAA,EAClE;AAAA;AAAA,EAGA,IAAI,QAAA,EAA8C;AAChD,IAAA,OAAO,IAAA,CAAK,OAAO,OAAA,CAAQ,KAAA,EAAO,cAAc,kBAAA,CAAmB,QAAQ,CAAC,CAAA,CAAE,CAAA;AAAA,EAChF;AAAA;AAAA,EAGA,eAAA,CACE,UACA,KAAA,EAC6B;AAC7B,IAAA,OAAO,KAAK,MAAA,CAAO,OAAA;AAAA,MACjB,MAAA;AAAA,MACA,CAAA,WAAA,EAAc,kBAAA,CAAmB,QAAQ,CAAC,CAAA,iBAAA,CAAA;AAAA,MAC1C,EAAE,MAAM,KAAA;AAAM,KAChB;AAAA,EACF;AAAA;AAAA,EAGA,OAAA,CACE,UACA,KAAA,EACgC;AAChC,IAAA,OAAO,KAAK,MAAA,CAAO,OAAA;AAAA,MACjB,MAAA;AAAA,MACA,CAAA,WAAA,EAAc,kBAAA,CAAmB,QAAQ,CAAC,CAAA,QAAA,CAAA;AAAA,MAC1C,EAAE,MAAM,KAAA;AAAM,KAChB;AAAA,EACF;AAAA;AAAA,EAGA,KAAA,CACE,QAAA,EACA,IAAA,GAA8D,EAAC,EAC/B;AAChC,IAAA,OAAO,IAAA,CAAK,OAAO,OAAA,CAAQ,MAAA,EAAQ,cAAc,kBAAA,CAAmB,QAAQ,CAAC,CAAA,MAAA,CAAA,EAAU;AAAA,MACrF,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AAAA;AAAA,EAGA,WAAA,CAAY,UAAkB,KAAA,EAAiE;AAC7F,IAAA,OAAO,IAAA,CAAK,OAAO,OAAA,CAAQ,MAAA,EAAQ,cAAc,kBAAA,CAAmB,QAAQ,CAAC,CAAA,OAAA,CAAA,EAAW;AAAA,MACtF,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AACF","file":"chunk-AJVSMNPZ.js","sourcesContent":["import type { RecastSegmentPack } from \"@nodaro/shared/apps\"\n/** How a recast render packs scenes into parts — `RECAST_SEGMENT_PACKS` in `@nodaro/shared`. */\nexport type { RecastSegmentPack } from \"@nodaro/shared/apps\"\nimport type { NodaroClientCore } from \"../core.js\"\n\n/**\n * Recast — regenerate an analyzed source video with your own cast (the engine\n * behind recast.nodaro.ai), plus the authored-script import lane (\"movie as\n * JSON\", no source video).\n *\n * Cloud edition only: the `/v1/recast/*` and `/v1/video-analysis/import*`\n * routes are served by the cloud plugin and 404 on self-hosted installs.\n * Wire contract: docs/api-integration.md §13c/§13d and\n * docs/mcp/recast-authoring.md. The interactive run is server-driven — poll\n * `get()` and answer gates with `resolveGate()`; the platform advances every\n * non-gate step itself.\n */\n\nexport interface RecastScriptValidationError {\n path: string\n message: string\n /** Written for an LLM repair loop — fix `path` using this and re-validate. */\n hint?: string\n}\n\nexport interface RecastScriptValidation {\n valid: boolean\n errors: RecastScriptValidationError[]\n warnings: string[]\n}\n\nexport interface RecastScriptImportResult {\n /** A standard completed analysis job — feed it to `create()` as `analysisJobId`. */\n jobId: string\n /** false when an identical script was already imported (idempotent re-import). */\n created: boolean\n warnings: string[]\n /** The document of record — WITH the server-derived fields; always prefer it\n * over your input. */\n json: Record<string, unknown>\n}\n\nexport interface CreateRecastInput {\n /** Required: an existing workflow you own that the run attaches to. */\n workflowId: string\n /** The source analysis job (from a video analysis or an authored-script import). */\n analysisJobId: string\n /** Authored imports render `\"faithful\"` — exactly as written. */\n fidelity?: string\n /** Required (`true`) for faithful renders of authored scripts. */\n rightsAttested?: boolean\n resolution?: string\n /** How the render packs scenes into parts — a name, not seconds. */\n segmentSec?: RecastSegmentPack\n renderMethod?: string\n /** Opt in to the interactive walk (pick-1-of-3 gates surfaced via `get()`). */\n interactive?: boolean\n provider?: string\n /**\n * Interactive gates the CLIENT can answer, e.g. `[\"sheet-gate\"]`. The\n * platform only opens a gate kind for runs whose create declared support\n * for it — undeclared kinds are decided automatically.\n */\n clientCapabilities?: string[]\n}\n\nexport type EstimateRecastInput = Omit<CreateRecastInput, \"workflowId\" | \"rightsAttested\" | \"clientCapabilities\">\n\nexport interface RecastEstimate {\n totalCredits?: number\n breakdown?: Record<string, number>\n [key: string]: unknown\n}\n\nexport type RecastAudioLayerName = \"music\" | \"video\"\n\nexport interface RecastAudioMixControl {\n /** Linear gain percentage. The server rounds and clamps this to 0–200. */\n gain: number\n /** A muted lane has an effective wire gain of zero. */\n muted: boolean\n}\n\n/** Complete desired controls for the logical lanes addressed by an operation. */\nexport interface RecastAudioMix {\n music?: RecastAudioMixControl\n video?: RecastAudioMixControl\n}\n\nexport interface RecastAudioManifestV1 {\n version: 1\n /** Opaque server-minted identity of the currently published audio delivery. */\n revision: string\n mode: \"bed\" | \"replace\"\n /** Logical layers in the delivery, including layers whose preview derivative failed. */\n present: { music?: true; video?: true }\n /** Browser-ready, CORS-enabled audio-only derivatives. */\n layers: { music?: { url: string }; video?: { url: string } }\n /** Effective integer gain percentages baked into the current `resultUrl`. */\n bakedEffectiveGain: { music?: number; video?: number }\n /** Present only while a paid audio operation is genuinely live. */\n pendingRescore?: {\n jobId: string\n requestId: string\n state: \"pending\" | \"running\"\n expectedAudioRevision: string\n requestedEffectiveGain: { music?: number; video?: number }\n }\n}\n\nexport interface RecastAudioSectionReplacement {\n index: number\n brief: string\n}\n\n/** Exactly one replacement lane may be combined with a mix. */\nexport type RecastRescoreReplacement =\n | { audioUrl: string; sections?: never }\n | { sections: RecastAudioSectionReplacement[]; audioUrl?: never }\n\ntype RecastNoReplacement = { audioUrl?: never; sections?: never }\n\n/** A mix, one Music replacement, or a replacement and its complete desired mix. */\nexport type RecastRescoreOperation =\n | ({ mix: RecastAudioMix } & (RecastRescoreReplacement | RecastNoReplacement))\n | (RecastRescoreReplacement & { mix?: RecastAudioMix })\n\n/** Free quote input. `requestId` is deliberately absent because quoting has no side effects. */\nexport type EstimateRecastRescoreInput = RecastRescoreOperation & {\n expectedAudioRevision: string\n}\n\n/** Revision-safe paid operation. Reuse `requestId` only for transport retries. */\nexport type RecastRescoreRequestV2 = EstimateRecastRescoreInput & {\n requestId: string\n}\n\nexport interface RecastRescoreQuote {\n credits: number\n audioRevision: string\n noOp: boolean\n}\n\nexport type RecastRescoreResponse =\n | { recastId: string; jobId: string; noOp?: false }\n | { recastId: string; noOp: true; audioRevision: string }\n\n/** Run snapshot — `status` plus, on interactive runs, the pending step. */\nexport interface RecastRunSnapshot {\n status: string\n interactive?: Record<string, unknown>\n /** Presence of `audioLayers: 1` opts a client into the revisioned audio contract. */\n capabilities?: { audioLayers?: 1; [key: string]: unknown }\n /** Server-authored manifest for the selected completed take. */\n audio?: RecastAudioManifestV1\n [key: string]: unknown\n}\n\nexport interface ResolveRecastGateInput {\n /** Which gate the picks answer. Defaults server-side to `\"cast\"`. */\n gate?: \"cast\" | \"sheet\" | \"anchors\" | \"music\"\n /** cast / sheet gates: the pick payload as surfaced by the pending gate. */\n picks?: unknown\n /** anchors gate: which segment the anchor picks apply to. */\n segment?: number\n anchorPicks?: { start?: number; end?: number }\n /** music gate: which section the pick applies to. */\n section?: number\n musicPick?: number | string\n /** Let the critic decide this and every remaining gate automatically. */\n finishAuto?: boolean\n}\n\nexport class RecastResource {\n constructor(private client: NodaroClientCore) {}\n\n // ── Authored-script lane (all three endpoints are free) ────────────────\n\n /** The generated authoring guide (markdown): document contract, enum\n * vocabularies, bounds, audio rules, and a validated worked example. */\n async authoringSkill(): Promise<string> {\n const res = await this.client.request<{ markdown?: string }>(\n \"GET\",\n \"/v1/video-analysis/authoring-skill\",\n )\n return res.markdown ?? \"\"\n }\n\n /** FREE validation of an authored script. Loop until `valid: true`. */\n validateScript(script: Record<string, unknown>): Promise<RecastScriptValidation> {\n return this.client.request(\"POST\", \"/v1/video-analysis/import/validate\", {\n body: { script },\n })\n }\n\n /**\n * Import a VALIDATED authored script as a completed analysis job.\n * `rightsAttested: true` is required (403 otherwise) — authored recasts\n * render Faithful, exactly as written, so only import work you own.\n */\n importScript(\n script: Record<string, unknown>,\n opts: { rightsAttested: true },\n ): Promise<RecastScriptImportResult> {\n return this.client.request(\"POST\", \"/v1/video-analysis/import\", {\n body: { script, rightsAttested: opts.rightsAttested },\n })\n }\n\n // ── Run lane ───────────────────────────────────────────────────────────\n\n /** Quote a run (credits) before buying the plan. */\n estimate(input: EstimateRecastInput): Promise<RecastEstimate> {\n return this.client.request(\"POST\", \"/v1/recast/estimate\", { body: input })\n }\n\n /** Create a run (buys the plan). Returns `{ recastId }`. */\n create(input: CreateRecastInput): Promise<{ recastId: string }> {\n return this.client.request(\"POST\", \"/v1/recast\", { body: input })\n }\n\n /** Poll the run — status plus any pending interactive step. */\n get(recastId: string): Promise<RecastRunSnapshot> {\n return this.client.request(\"GET\", `/v1/recast/${encodeURIComponent(recastId)}`)\n }\n\n /** Quote a revisioned Music replacement and/or complete desired mix. Free. */\n estimateRescore(\n recastId: string,\n input: EstimateRecastRescoreInput,\n ): Promise<RecastRescoreQuote> {\n return this.client.request(\n \"POST\",\n `/v1/recast/${encodeURIComponent(recastId)}/estimate-rescore`,\n { body: input },\n )\n }\n\n /** Apply a quoted audio operation. Reuse its request id only for a transport retry. */\n rescore(\n recastId: string,\n input: RecastRescoreRequestV2,\n ): Promise<RecastRescoreResponse> {\n return this.client.request(\n \"POST\",\n `/v1/recast/${encodeURIComponent(recastId)}/rescore`,\n { body: input },\n )\n }\n\n /** Start rendering a `planned` run. Idempotent server-side. */\n start(\n recastId: string,\n opts: { segmentSec?: RecastSegmentPack; provider?: string } = {},\n ): Promise<{ gvpJobId?: string }> {\n return this.client.request(\"POST\", `/v1/recast/${encodeURIComponent(recastId)}/start`, {\n body: opts,\n })\n }\n\n /** Answer a pending interactive gate (the pick itself is free). */\n resolveGate(recastId: string, input: ResolveRecastGateInput): Promise<Record<string, unknown>> {\n return this.client.request(\"POST\", `/v1/recast/${encodeURIComponent(recastId)}/select`, {\n body: input,\n })\n }\n}\n"]}
@@ -0,0 +1,124 @@
1
+ // src/resources/organizations.ts
2
+ var OrganizationsResource = class {
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ client;
7
+ /** The organizations this account belongs to. */
8
+ list() {
9
+ return this.client.request("GET", "/v1/orgs");
10
+ }
11
+ get(id) {
12
+ return this.client.request("GET", `/v1/orgs/${encodeURIComponent(id)}`);
13
+ }
14
+ /**
15
+ * Create an organization. On instances that require it, `acceptTerms` must
16
+ * be true or the server answers `terms_required` — the SDK does not decide
17
+ * whether terms apply, because only the instance knows.
18
+ *
19
+ * A new organization may come back `pending`: some instances hold new
20
+ * organizations for a platform admin to approve, and a pending one grants
21
+ * nothing until it is active.
22
+ */
23
+ create(input) {
24
+ return this.client.request("POST", "/v1/orgs", { body: input });
25
+ }
26
+ update(id, input) {
27
+ return this.client.request("PATCH", `/v1/orgs/${encodeURIComponent(id)}`, { body: input });
28
+ }
29
+ /** Soft-delete. The organization stops granting context; nothing is destroyed. */
30
+ delete(id) {
31
+ return this.client.request("DELETE", `/v1/orgs/${encodeURIComponent(id)}`);
32
+ }
33
+ /** Hand the organization to another member. The caller becomes an admin. */
34
+ transferOwnership(id, userId) {
35
+ return this.client.request("POST", `/v1/orgs/${encodeURIComponent(id)}/transfer-ownership`, {
36
+ body: { userId }
37
+ });
38
+ }
39
+ /** Leave. An owner cannot — transfer ownership first (`owner_cannot_leave`). */
40
+ leave(id) {
41
+ return this.client.request("POST", `/v1/orgs/${encodeURIComponent(id)}/leave`);
42
+ }
43
+ // -- members --------------------------------------------------------------
44
+ listMembers(orgId, opts = {}) {
45
+ return this.client.request("GET", `/v1/orgs/${encodeURIComponent(orgId)}/members`, { query: { ...opts } });
46
+ }
47
+ updateMember(orgId, userId, input) {
48
+ return this.client.request(
49
+ "PATCH",
50
+ `/v1/orgs/${encodeURIComponent(orgId)}/members/${encodeURIComponent(userId)}`,
51
+ { body: input }
52
+ );
53
+ }
54
+ removeMember(orgId, userId) {
55
+ return this.client.request(
56
+ "DELETE",
57
+ `/v1/orgs/${encodeURIComponent(orgId)}/members/${encodeURIComponent(userId)}`
58
+ );
59
+ }
60
+ // -- invitations ----------------------------------------------------------
61
+ /**
62
+ * Invite by email. Returns ONE ROW PER ADDRESS, and a row whose `status` is
63
+ * not `sent` carries a `link` instead.
64
+ *
65
+ * Surface that link. An install with no mail provider — every fresh
66
+ * self-host — delivers nothing, and an integration that reports "invited"
67
+ * without showing the link creates invitations nobody can ever reach.
68
+ */
69
+ invite(orgId, input) {
70
+ return this.client.request("POST", `/v1/orgs/${encodeURIComponent(orgId)}/invitations`, { body: input });
71
+ }
72
+ listInvitations(orgId, opts = {}) {
73
+ return this.client.request("GET", `/v1/orgs/${encodeURIComponent(orgId)}/invitations`, {
74
+ query: { ...opts }
75
+ });
76
+ }
77
+ revokeInvitation(id) {
78
+ return this.client.request("DELETE", `/v1/invitations/${encodeURIComponent(id)}`);
79
+ }
80
+ resendInvitation(id) {
81
+ return this.client.request("POST", `/v1/invitations/${encodeURIComponent(id)}/resend`);
82
+ }
83
+ /**
84
+ * What an invitee sees before signing in — the one organization read that
85
+ * needs no token, so it works while the recipient is still signed out.
86
+ */
87
+ previewInvitation(token) {
88
+ return this.client.request("GET", `/v1/invitations/by-token/${encodeURIComponent(token)}`);
89
+ }
90
+ /** Accept. Requires an authenticated caller whose email matches the invite. */
91
+ acceptInvitation(token) {
92
+ return this.client.request("POST", `/v1/invitations/${encodeURIComponent(token)}/accept`);
93
+ }
94
+ // -- audit ----------------------------------------------------------------
95
+ /**
96
+ * The organization's audit log, newest first. Owner and admins only, and
97
+ * readable while the organization is suspended — the record of what
98
+ * happened is exactly what someone needs when things have gone wrong.
99
+ */
100
+ audit(orgId, opts = {}) {
101
+ return this.client.request("GET", `/v1/orgs/${encodeURIComponent(orgId)}/audit`, { query: { ...opts } });
102
+ }
103
+ // -- usage ----------------------------------------------------------------
104
+ /**
105
+ * Credits by workspace, member, model or day. Owner and org admins only.
106
+ * Inclusive dates (`from`/`to`), IANA `tz` (default UTC), ≤ 366 days
107
+ * (default last 30).
108
+ */
109
+ usage(orgId, opts = {}) {
110
+ return this.client.request("GET", `/v1/orgs/${encodeURIComponent(orgId)}/usage`, { query: { ...opts } });
111
+ }
112
+ /** The individual runs behind a report, newest first, cursor-paged. */
113
+ usageRows(orgId, opts = {}) {
114
+ return this.client.request("GET", `/v1/orgs/${encodeURIComponent(orgId)}/usage`, { query: { ...opts, groupBy: "none" } });
115
+ }
116
+ /** The same report (or the rows, with `groupBy: "none"`) as CSV text. */
117
+ usageCsv(orgId, opts = {}) {
118
+ return this.client.requestText("GET", `/v1/orgs/${encodeURIComponent(orgId)}/usage`, { query: { ...opts, format: "csv" } });
119
+ }
120
+ };
121
+
122
+ export { OrganizationsResource };
123
+ //# sourceMappingURL=chunk-ALSLZG3U.js.map
124
+ //# sourceMappingURL=chunk-ALSLZG3U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/resources/organizations.ts"],"names":[],"mappings":"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","file":"chunk-ALSLZG3U.js","sourcesContent":["import type {\n InvitationDelivery,\n InvitationPreview,\n InvitationState,\n InvitationView,\n MemberStatus,\n OrganizationView,\n OrgKind,\n OrgAuditEntry,\n OrgMemberView,\n OrgPage,\n OrgRole,\n OrgSettings,\n UsageLogEntry,\n UsageQuery,\n UsageReport,\n WorkspaceRole,\n} from \"@nodaro/shared/organizations\"\nimport type { NodaroClientCore } from \"../core.js\"\n\n/**\n * Organizations, their members, and the invitations that fill them.\n *\n * Every shape here comes from `@nodaro/shared` rather than being restated:\n * the app, the CLI and this SDK all read the same wire, and a shape written\n * out three times is one that drifts in two of them.\n *\n * Nothing in this file decides anything. Whether a caller may invite, remove\n * or rename is the server's answer, delivered as a typed error code, and an\n * SDK that guessed would be wrong the first time a setting changed.\n */\n\nexport interface CreateOrgInput {\n name: string\n kind: OrgKind\n /** Derived from the name when omitted; the server resolves collisions. */\n slug?: string\n acceptTerms?: boolean\n settings?: OrgSettings\n}\n\nexport interface InviteInput {\n emails: string[]\n orgRole?: \"admin\" | \"member\"\n /** Also places the invitee in this workspace on accept. */\n workspaceId?: string\n workspaceRole?: WorkspaceRole\n}\n\nexport interface ListInvitationsOptions {\n status?: InvitationState\n workspaceId?: string\n cursor?: string\n limit?: number\n}\n\nexport class OrganizationsResource {\n constructor(private client: NodaroClientCore) {}\n\n /** The organizations this account belongs to. */\n list(): Promise<{ data: OrganizationView[] }> {\n return this.client.request(\"GET\", \"/v1/orgs\")\n }\n\n get(id: string): Promise<{ data: OrganizationView }> {\n return this.client.request(\"GET\", `/v1/orgs/${encodeURIComponent(id)}`)\n }\n\n /**\n * Create an organization. On instances that require it, `acceptTerms` must\n * be true or the server answers `terms_required` — the SDK does not decide\n * whether terms apply, because only the instance knows.\n *\n * A new organization may come back `pending`: some instances hold new\n * organizations for a platform admin to approve, and a pending one grants\n * nothing until it is active.\n */\n create(input: CreateOrgInput): Promise<{ data: OrganizationView }> {\n return this.client.request(\"POST\", \"/v1/orgs\", { body: input })\n }\n\n update(id: string, input: { name?: string; settings?: OrgSettings }): Promise<{ data: OrganizationView }> {\n return this.client.request(\"PATCH\", `/v1/orgs/${encodeURIComponent(id)}`, { body: input })\n }\n\n /** Soft-delete. The organization stops granting context; nothing is destroyed. */\n delete(id: string): Promise<{ data: { id: string; status: string } }> {\n return this.client.request(\"DELETE\", `/v1/orgs/${encodeURIComponent(id)}`)\n }\n\n /** Hand the organization to another member. The caller becomes an admin. */\n transferOwnership(id: string, userId: string): Promise<{ data: { orgId: string; ownerUserId: string } }> {\n return this.client.request(\"POST\", `/v1/orgs/${encodeURIComponent(id)}/transfer-ownership`, {\n body: { userId },\n })\n }\n\n /** Leave. An owner cannot — transfer ownership first (`owner_cannot_leave`). */\n leave(id: string): Promise<{ data: { orgId: string; left: boolean } }> {\n return this.client.request(\"POST\", `/v1/orgs/${encodeURIComponent(id)}/leave`)\n }\n\n // -- members --------------------------------------------------------------\n\n listMembers(orgId: string, opts: { cursor?: string; limit?: number } = {}): Promise<OrgPage<OrgMemberView>> {\n return this.client.request(\"GET\", `/v1/orgs/${encodeURIComponent(orgId)}/members`, { query: { ...opts } })\n }\n\n updateMember(\n orgId: string,\n userId: string,\n input: { role?: \"admin\" | \"member\"; status?: MemberStatus },\n ): Promise<{ data: OrgMemberView }> {\n return this.client.request(\n \"PATCH\",\n `/v1/orgs/${encodeURIComponent(orgId)}/members/${encodeURIComponent(userId)}`,\n { body: input },\n )\n }\n\n removeMember(orgId: string, userId: string): Promise<{ data: { removed: boolean } }> {\n return this.client.request(\n \"DELETE\",\n `/v1/orgs/${encodeURIComponent(orgId)}/members/${encodeURIComponent(userId)}`,\n )\n }\n\n // -- invitations ----------------------------------------------------------\n\n /**\n * Invite by email. Returns ONE ROW PER ADDRESS, and a row whose `status` is\n * not `sent` carries a `link` instead.\n *\n * Surface that link. An install with no mail provider — every fresh\n * self-host — delivers nothing, and an integration that reports \"invited\"\n * without showing the link creates invitations nobody can ever reach.\n */\n invite(orgId: string, input: InviteInput): Promise<{ data: InvitationDelivery[] }> {\n return this.client.request(\"POST\", `/v1/orgs/${encodeURIComponent(orgId)}/invitations`, { body: input })\n }\n\n listInvitations(orgId: string, opts: ListInvitationsOptions = {}): Promise<OrgPage<InvitationView>> {\n return this.client.request(\"GET\", `/v1/orgs/${encodeURIComponent(orgId)}/invitations`, {\n query: { ...opts },\n })\n }\n\n revokeInvitation(id: string): Promise<{ data: { id: string; revoked: boolean } }> {\n return this.client.request(\"DELETE\", `/v1/invitations/${encodeURIComponent(id)}`)\n }\n\n resendInvitation(id: string): Promise<{ data: InvitationDelivery & { id: string } }> {\n return this.client.request(\"POST\", `/v1/invitations/${encodeURIComponent(id)}/resend`)\n }\n\n /**\n * What an invitee sees before signing in — the one organization read that\n * needs no token, so it works while the recipient is still signed out.\n */\n previewInvitation(token: string): Promise<{ data: InvitationPreview }> {\n return this.client.request(\"GET\", `/v1/invitations/by-token/${encodeURIComponent(token)}`)\n }\n\n /** Accept. Requires an authenticated caller whose email matches the invite. */\n acceptInvitation(token: string): Promise<{ data: { orgId: string; workspaceId: string | null } }> {\n return this.client.request(\"POST\", `/v1/invitations/${encodeURIComponent(token)}/accept`)\n }\n\n // -- audit ----------------------------------------------------------------\n\n /**\n * The organization's audit log, newest first. Owner and admins only, and\n * readable while the organization is suspended — the record of what\n * happened is exactly what someone needs when things have gone wrong.\n */\n audit(\n orgId: string,\n opts: { cursor?: string; limit?: number } = {},\n ): Promise<OrgPage<OrgAuditEntry>> {\n return this.client.request(\"GET\", `/v1/orgs/${encodeURIComponent(orgId)}/audit`, { query: { ...opts } })\n }\n\n // -- usage ----------------------------------------------------------------\n\n /**\n * Credits by workspace, member, model or day. Owner and org admins only.\n * Inclusive dates (`from`/`to`), IANA `tz` (default UTC), ≤ 366 days\n * (default last 30).\n */\n usage(\n orgId: string,\n opts: Omit<UsageQuery, \"cursor\" | \"limit\" | \"groupBy\"> & { groupBy?: \"workspace\" | \"member\" | \"model\" | \"day\" } = {},\n ): Promise<{ data: UsageReport }> {\n return this.client.request(\"GET\", `/v1/orgs/${encodeURIComponent(orgId)}/usage`, { query: { ...opts } })\n }\n\n /** The individual runs behind a report, newest first, cursor-paged. */\n usageRows(orgId: string, opts: Omit<UsageQuery, \"groupBy\"> = {}): Promise<OrgPage<UsageLogEntry>> {\n return this.client.request(\"GET\", `/v1/orgs/${encodeURIComponent(orgId)}/usage`, { query: { ...opts, groupBy: \"none\" } })\n }\n\n /** The same report (or the rows, with `groupBy: \"none\"`) as CSV text. */\n usageCsv(orgId: string, opts: Omit<UsageQuery, \"cursor\" | \"limit\"> = {}): Promise<string> {\n return this.client.requestText(\"GET\", `/v1/orgs/${encodeURIComponent(orgId)}/usage`, { query: { ...opts, format: \"csv\" } })\n }\n}\n\nexport type { OrgAuditEntry, OrgRole }\n"]}
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=chunk-ALUUBPDG.cjs.map
4
+ //# sourceMappingURL=chunk-ALUUBPDG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-ALUUBPDG.cjs"}
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=chunk-AO3W45LT.cjs.map
4
+ //# sourceMappingURL=chunk-AO3W45LT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-AO3W45LT.cjs"}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=chunk-AUDHV3OE.js.map
3
+ //# sourceMappingURL=chunk-AUDHV3OE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-AUDHV3OE.js"}
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=chunk-BAL576G2.cjs.map
4
+ //# sourceMappingURL=chunk-BAL576G2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-BAL576G2.cjs"}
@@ -0,0 +1,212 @@
1
+ 'use strict';
2
+
3
+ var chunkN6GLZOE4_cjs = require('./chunk-N6GLZOE4.cjs');
4
+ var nodes = require('@nodaro/shared/nodes');
5
+ var social = require('@nodaro/shared/social');
6
+
7
+ var DEFAULT_POLL_MS = 2e3;
8
+ var DEFAULT_MAX_MS = 15 * 60 * 1e3;
9
+ var sleep = (ms, signal) => new Promise((resolve, reject) => {
10
+ if (signal?.aborted) {
11
+ reject(new chunkN6GLZOE4_cjs.JobAbortedError());
12
+ return;
13
+ }
14
+ const timer = setTimeout(() => {
15
+ signal?.removeEventListener("abort", onAbort);
16
+ resolve();
17
+ }, ms);
18
+ function onAbort() {
19
+ clearTimeout(timer);
20
+ reject(new chunkN6GLZOE4_cjs.JobAbortedError());
21
+ }
22
+ signal?.addEventListener("abort", onAbort, { once: true });
23
+ });
24
+ function notRunnable(type, why) {
25
+ return new chunkN6GLZOE4_cjs.NodaroError(`Node type "${type}" has no route of its own to run it directly: ${why}.`, "node_not_runnable", 0);
26
+ }
27
+ var isRouteNotFound = (err) => err instanceof chunkN6GLZOE4_cjs.NotFoundError && /^Route\b.*\bnot found\b/i.test(err.message);
28
+ function extractJobId(result, label) {
29
+ if (result && typeof result === "object" && "jobId" in result) {
30
+ const jobId = result.jobId;
31
+ if (typeof jobId === "string") return jobId;
32
+ }
33
+ throw new chunkN6GLZOE4_cjs.JobFailedError(`${label} did not return a jobId`, "");
34
+ }
35
+ function isImageBatchRequest(type, params) {
36
+ if (type !== "generate-image") return false;
37
+ return typeof params.count === "number" && params.count > 1 || Array.isArray(params.models);
38
+ }
39
+ function batchJobIds(result) {
40
+ const ids = result?.jobIds;
41
+ return Array.isArray(ids) && ids.every((id) => typeof id === "string") ? ids : null;
42
+ }
43
+ function batchRefusal(detail) {
44
+ return new chunkN6GLZOE4_cjs.NodaroError(
45
+ `${detail}: this waits for one job \u2014 use nodes.runBatchAndWait() for a batch (count above 1, or models).`,
46
+ "batch_requires_run_batch_and_wait",
47
+ 0
48
+ );
49
+ }
50
+ function batchResultOf(result) {
51
+ const r = result;
52
+ if (!r || typeof r.batchId !== "string" || !batchJobIds(result) || !Array.isArray(r.groups)) return null;
53
+ return r;
54
+ }
55
+ var NodesResource = class {
56
+ /** Runs poll through `jobs`, so the client must carry that resource too. */
57
+ constructor(client) {
58
+ this.client = client;
59
+ }
60
+ client;
61
+ /** List all known node descriptors. Server caches publicly for 5 minutes. */
62
+ list() {
63
+ return this.client.request("GET", "/v1/nodes");
64
+ }
65
+ /** Get a single node descriptor by type slug (e.g. "generate-image"). */
66
+ get(type) {
67
+ return this.client.request("GET", `/v1/nodes/${encodeURIComponent(type)}`);
68
+ }
69
+ run(type, params = {}, options = {}) {
70
+ const route = type === "render-video" && typeof params.planType === "string" ? "/v1/render-video/plan" : nodes.nodeRunRoute(type);
71
+ if (!route) return Promise.reject(notRunnable(type, nodes.NODE_TYPES_WITHOUT_RUN_ROUTE[type]));
72
+ const platform = social.SOCIAL_POST_NODE_PLATFORM[type];
73
+ const body = platform && params.platform === void 0 ? { ...params, platform } : params;
74
+ const conventional = !Object.prototype.hasOwnProperty.call(nodes.NODE_RUN_ROUTES, type);
75
+ return this.client.request("POST", route, {
76
+ body,
77
+ // Transport-level retry safety, opt-in per call. The platform reads the
78
+ // standard header, so a caller that reuses a key on a retry gets the
79
+ // same run back instead of a second charge.
80
+ ...options.idempotencyKey ? { headers: { "Idempotency-Key": options.idempotencyKey } } : {}
81
+ }).catch((err) => {
82
+ if (conventional && isRouteNotFound(err)) throw notRunnable(type, "it runs only inside a workflow (client.workflows.run)");
83
+ throw err;
84
+ });
85
+ }
86
+ async runAndWait(type, params = {}, opts = {}) {
87
+ if (opts.signal?.aborted) throw new chunkN6GLZOE4_cjs.JobAbortedError();
88
+ if (isImageBatchRequest(type, params)) throw batchRefusal(`${type} with count above 1 or models makes several jobs`);
89
+ const result = await this.run(type, params, { idempotencyKey: opts.idempotencyKey });
90
+ const ids = batchJobIds(result);
91
+ if (ids && ids.length > 1) throw batchRefusal(`${type} started ${ids.length} jobs (${ids.join(", ")}), which keep running`);
92
+ const jobId = extractJobId(result, type);
93
+ return this.pollJob(jobId, type, opts);
94
+ }
95
+ /**
96
+ * Run a generate-image BATCH — `count` above 1 and/or `models` — to the end:
97
+ * submit it once ({@link run}, with your `idempotencyKey` if any), then wait
98
+ * for every job at once, each the way {@link runAndWait} waits.
99
+ *
100
+ * Resolves `{ batch, results }`: the submit's answer
101
+ * ({@link GenerateImageBatchResult} — ids, groups by model, credits) and one
102
+ * {@link BatchJobOutcome} per job, in `batch.jobIds` order — its output, or the
103
+ * typed error that ended the wait for it. One image failing never discards the
104
+ * others. Rejects only before any job exists (the submit's own errors, e.g.
105
+ * `InsufficientCreditsError` with the batch total as `required`), and on
106
+ * `signal` ({@link JobAbortedError}; `cancelOnAbort` cancels every job).
107
+ *
108
+ * A request for one image is refused before anything is sent (code
109
+ * `not_a_batch`) — wait for it with {@link runAndWait}.
110
+ */
111
+ async runBatchAndWait(type, params, opts = {}) {
112
+ if (opts.signal?.aborted) throw new chunkN6GLZOE4_cjs.JobAbortedError();
113
+ if (!isImageBatchRequest(type, params)) {
114
+ throw new chunkN6GLZOE4_cjs.NodaroError(
115
+ "runBatchAndWait waits for a batch \u2014 count above 1, or models; wait for one image with nodes.runAndWait().",
116
+ "not_a_batch",
117
+ 0
118
+ );
119
+ }
120
+ const result = await this.run(type, params, { idempotencyKey: opts.idempotencyKey });
121
+ const batch = batchResultOf(result);
122
+ if (!batch) throw new chunkN6GLZOE4_cjs.JobFailedError(`${type} did not answer with a batch`, "");
123
+ const modelOf = new Map(batch.groups.flatMap((group) => group.jobIds.map((id) => [id, group.model])));
124
+ const results = await Promise.all(
125
+ batch.jobIds.map(async (jobId) => {
126
+ const model = modelOf.get(jobId) ?? "";
127
+ try {
128
+ return { jobId, model, status: "completed", output: await this.pollJob(jobId, type, opts) };
129
+ } catch (err) {
130
+ if (err instanceof chunkN6GLZOE4_cjs.JobAbortedError || !(err instanceof chunkN6GLZOE4_cjs.NodaroError)) throw err;
131
+ return { jobId, model, status: "error", error: err };
132
+ }
133
+ })
134
+ );
135
+ return { batch, results };
136
+ }
137
+ /**
138
+ * Fan out N async runs of the same node `type` to completion concurrently —
139
+ * the candidate-grid path (generate N stills/clips in parallel). Each runs
140
+ * via {@link runAndWait}; resolves once ALL settle, to an array of
141
+ * `{ jobId, output }` in input order. Rejects (and the rejection wins) if any
142
+ * single run rejects — same typed errors as {@link runAndWait}, including
143
+ * {@link JobHeldError} when one candidate is held for review while the
144
+ * others complete. A shared `signal` aborts the whole batch.
145
+ *
146
+ * @param type Node type slug, applied to every entry.
147
+ * @param paramsList One request body per candidate.
148
+ * @param opts Shared `signal` / `cancelOnAbort` / `onProgress` / `pollMs` / `maxMs`.
149
+ */
150
+ async runMany(type, paramsList, opts = {}) {
151
+ if (opts.signal?.aborted) throw new chunkN6GLZOE4_cjs.JobAbortedError();
152
+ if (paramsList.some((params) => isImageBatchRequest(type, params))) {
153
+ throw batchRefusal(`a ${type} entry with count above 1 or models makes several jobs`);
154
+ }
155
+ return Promise.all(
156
+ paramsList.map(async (params) => {
157
+ if (opts.signal?.aborted) throw new chunkN6GLZOE4_cjs.JobAbortedError();
158
+ const result = await this.run(type, params);
159
+ const jobId = extractJobId(result, type);
160
+ const output = await this.pollJob(jobId, type, opts);
161
+ return { jobId, output };
162
+ })
163
+ );
164
+ }
165
+ /** {@link pollUntilSettled}, plus what an abort does to the job: it keeps
166
+ * running unless `cancelOnAbort` asks to cancel it too, and the rejection
167
+ * always names it (an abort landing mid-sleep carries no id of its own). */
168
+ async pollJob(jobId, label, opts) {
169
+ try {
170
+ return await this.pollUntilSettled(jobId, label, opts);
171
+ } catch (err) {
172
+ if (!(err instanceof chunkN6GLZOE4_cjs.JobAbortedError)) throw err;
173
+ if (opts.cancelOnAbort) await this.client.jobs.cancel(jobId).catch(() => void 0);
174
+ throw err.jobId ? err : new chunkN6GLZOE4_cjs.JobAbortedError(err.message, jobId);
175
+ }
176
+ }
177
+ /** Poll an already-kicked job id until it stops moving; resolve output_data
178
+ * or throw. Two non-terminal statuses end the loop: an abort, and
179
+ * `pending_review` (a job policy held the output for a human — see
180
+ * {@link JobHeldError}). */
181
+ async pollUntilSettled(jobId, label, opts) {
182
+ const pollMs = opts.pollMs ?? DEFAULT_POLL_MS;
183
+ const maxMs = opts.maxMs ?? DEFAULT_MAX_MS;
184
+ const deadline = Date.now() + maxMs;
185
+ for (; ; ) {
186
+ if (opts.signal?.aborted) throw new chunkN6GLZOE4_cjs.JobAbortedError(void 0, jobId);
187
+ const { data } = await this.client.jobs.getStatus(jobId);
188
+ opts.onProgress?.(data);
189
+ if (data.status === "completed") {
190
+ return data.output_data ?? {};
191
+ }
192
+ if (data.status === "failed" || data.status === "cancelled") {
193
+ throw new chunkN6GLZOE4_cjs.JobFailedError(
194
+ data.error_message ?? `${label} ${data.status}`,
195
+ jobId,
196
+ data.status
197
+ );
198
+ }
199
+ if (data.status === "pending_review") {
200
+ throw new chunkN6GLZOE4_cjs.JobHeldError(`${label} is awaiting review`, jobId);
201
+ }
202
+ if (Date.now() > deadline) {
203
+ throw new chunkN6GLZOE4_cjs.JobTimeoutError(`${label} timed out`, jobId, maxMs);
204
+ }
205
+ await sleep(pollMs, opts.signal);
206
+ }
207
+ }
208
+ };
209
+
210
+ exports.NodesResource = NodesResource;
211
+ //# sourceMappingURL=chunk-BFMKPELU.cjs.map
212
+ //# sourceMappingURL=chunk-BFMKPELU.cjs.map