@fastpix/fastpix-node 2.0.5 → 2.0.6

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 (524) hide show
  1. package/FUNCTIONS.md +1 -1
  2. package/README.md +11 -11
  3. package/dist/commonjs/funcs/aiFeaturesGenerateNamedEntities.d.ts +2 -2
  4. package/dist/commonjs/funcs/aiFeaturesGenerateNamedEntities.js +2 -2
  5. package/dist/commonjs/funcs/aiFeaturesUpdateSummary.d.ts +2 -2
  6. package/dist/commonjs/funcs/aiFeaturesUpdateSummary.js +2 -2
  7. package/dist/commonjs/funcs/dimensionsList.d.ts +2 -2
  8. package/dist/commonjs/funcs/dimensionsList.js +2 -2
  9. package/dist/commonjs/funcs/dimensionsListFilterValues.d.ts +2 -2
  10. package/dist/commonjs/funcs/dimensionsListFilterValues.js +2 -2
  11. package/dist/commonjs/funcs/drmConfigurationsGet.d.ts +1 -1
  12. package/dist/commonjs/funcs/drmConfigurationsGet.js +1 -1
  13. package/dist/commonjs/funcs/drmConfigurationsList.d.ts +1 -1
  14. package/dist/commonjs/funcs/drmConfigurationsList.js +1 -1
  15. package/dist/commonjs/funcs/errorsList.d.ts +1 -1
  16. package/dist/commonjs/funcs/errorsList.js +1 -1
  17. package/dist/commonjs/funcs/inVideoAIUpdateModeration.d.ts +2 -2
  18. package/dist/commonjs/funcs/inVideoAIUpdateModeration.js +2 -2
  19. package/dist/commonjs/funcs/inVideoAIfeaturesGenerateChapters.d.ts +2 -2
  20. package/dist/commonjs/funcs/inVideoAIfeaturesGenerateChapters.js +2 -2
  21. package/dist/commonjs/funcs/inputVideoCreate.d.ts +4 -4
  22. package/dist/commonjs/funcs/inputVideoCreate.js +4 -4
  23. package/dist/commonjs/funcs/inputVideoUpload.d.ts +5 -5
  24. package/dist/commonjs/funcs/inputVideoUpload.js +5 -5
  25. package/dist/commonjs/funcs/liveStreamsCreate.d.ts +3 -3
  26. package/dist/commonjs/funcs/liveStreamsCreate.js +3 -3
  27. package/dist/commonjs/funcs/liveStreamsDelete.d.ts +2 -2
  28. package/dist/commonjs/funcs/liveStreamsDelete.js +2 -2
  29. package/dist/commonjs/funcs/liveStreamsEnable.d.ts +1 -1
  30. package/dist/commonjs/funcs/liveStreamsEnable.js +1 -1
  31. package/dist/commonjs/funcs/liveStreamsListClips.d.ts +1 -1
  32. package/dist/commonjs/funcs/liveStreamsListClips.js +1 -1
  33. package/dist/commonjs/funcs/manageLiveStreamComplete.d.ts +1 -1
  34. package/dist/commonjs/funcs/manageLiveStreamComplete.js +1 -1
  35. package/dist/commonjs/funcs/manageLiveStreamDisable.d.ts +1 -1
  36. package/dist/commonjs/funcs/manageLiveStreamDisable.js +1 -1
  37. package/dist/commonjs/funcs/manageLiveStreamGet.d.ts +1 -1
  38. package/dist/commonjs/funcs/manageLiveStreamGet.js +1 -1
  39. package/dist/commonjs/funcs/manageLiveStreamGetViewerCount.d.ts +1 -1
  40. package/dist/commonjs/funcs/manageLiveStreamGetViewerCount.js +1 -1
  41. package/dist/commonjs/funcs/manageLiveStreamUpdate.d.ts +2 -2
  42. package/dist/commonjs/funcs/manageLiveStreamUpdate.js +2 -2
  43. package/dist/commonjs/funcs/manageVideosAddTrack.d.ts +5 -5
  44. package/dist/commonjs/funcs/manageVideosAddTrack.js +5 -5
  45. package/dist/commonjs/funcs/manageVideosCancelUpload.d.ts +1 -1
  46. package/dist/commonjs/funcs/manageVideosCancelUpload.js +1 -1
  47. package/dist/commonjs/funcs/manageVideosDelete.d.ts +1 -1
  48. package/dist/commonjs/funcs/manageVideosDelete.js +1 -1
  49. package/dist/commonjs/funcs/manageVideosGenerateSubtitleTrack.d.ts +3 -3
  50. package/dist/commonjs/funcs/manageVideosGenerateSubtitleTrack.js +3 -3
  51. package/dist/commonjs/funcs/manageVideosGet.d.ts +1 -1
  52. package/dist/commonjs/funcs/manageVideosGet.js +1 -1
  53. package/dist/commonjs/funcs/manageVideosUpdate.d.ts +1 -1
  54. package/dist/commonjs/funcs/manageVideosUpdate.js +1 -1
  55. package/dist/commonjs/funcs/manageVideosUpdateMp4Support.d.ts +3 -3
  56. package/dist/commonjs/funcs/manageVideosUpdateMp4Support.js +3 -3
  57. package/dist/commonjs/funcs/manageVideosUpdateTrack.d.ts +4 -4
  58. package/dist/commonjs/funcs/manageVideosUpdateTrack.js +4 -4
  59. package/dist/commonjs/funcs/mediaDeleteTrack.d.ts +2 -2
  60. package/dist/commonjs/funcs/mediaDeleteTrack.js +2 -2
  61. package/dist/commonjs/funcs/mediaGetClips.d.ts +1 -1
  62. package/dist/commonjs/funcs/mediaGetClips.js +1 -1
  63. package/dist/commonjs/funcs/mediaUpdateSourceAccess.d.ts +1 -1
  64. package/dist/commonjs/funcs/mediaUpdateSourceAccess.js +1 -1
  65. package/dist/commonjs/funcs/metricsListBreakdownValues.d.ts +2 -2
  66. package/dist/commonjs/funcs/metricsListBreakdownValues.js +2 -2
  67. package/dist/commonjs/funcs/metricsListCompares.d.ts +2 -2
  68. package/dist/commonjs/funcs/metricsListCompares.js +2 -2
  69. package/dist/commonjs/funcs/metricsListOverallValues.d.ts +2 -2
  70. package/dist/commonjs/funcs/metricsListOverallValues.js +2 -2
  71. package/dist/commonjs/funcs/playbackCreate.d.ts +1 -1
  72. package/dist/commonjs/funcs/playbackCreate.js +1 -1
  73. package/dist/commonjs/funcs/playlistCreate.d.ts +1 -1
  74. package/dist/commonjs/funcs/playlistCreate.js +1 -1
  75. package/dist/commonjs/funcs/signingKeysCreate.d.ts +1 -1
  76. package/dist/commonjs/funcs/signingKeysCreate.js +1 -1
  77. package/dist/commonjs/funcs/signingKeysGetById.d.ts +2 -2
  78. package/dist/commonjs/funcs/signingKeysGetById.js +2 -2
  79. package/dist/commonjs/funcs/simulcastStreamsDelete.d.ts +1 -1
  80. package/dist/commonjs/funcs/simulcastStreamsDelete.js +1 -1
  81. package/dist/commonjs/funcs/simulcastsCreate.d.ts +2 -2
  82. package/dist/commonjs/funcs/simulcastsCreate.js +2 -2
  83. package/dist/commonjs/funcs/simulcastsUpdate.d.ts +1 -1
  84. package/dist/commonjs/funcs/simulcastsUpdate.js +1 -1
  85. package/dist/commonjs/funcs/viewsGetDetails.d.ts +1 -1
  86. package/dist/commonjs/funcs/viewsGetDetails.js +1 -1
  87. package/dist/commonjs/funcs/viewsList.d.ts +3 -3
  88. package/dist/commonjs/funcs/viewsList.js +3 -3
  89. package/dist/commonjs/funcs/viewsListTopContent.d.ts +1 -1
  90. package/dist/commonjs/funcs/viewsListTopContent.js +1 -1
  91. package/dist/commonjs/lib/config.d.ts +1 -1
  92. package/dist/commonjs/lib/config.d.ts.map +1 -1
  93. package/dist/commonjs/lib/config.js +1 -1
  94. package/dist/commonjs/lib/config.js.map +1 -1
  95. package/dist/commonjs/models/addtrackrequest.js +1 -1
  96. package/dist/commonjs/models/addtrackrequest.js.map +1 -1
  97. package/dist/commonjs/models/createmediarequest.d.ts +1 -1
  98. package/dist/commonjs/models/deletesigningkeyresponse.d.ts +10 -0
  99. package/dist/commonjs/models/deletesigningkeyresponse.d.ts.map +1 -1
  100. package/dist/commonjs/models/deletesigningkeyresponse.js +1 -0
  101. package/dist/commonjs/models/deletesigningkeyresponse.js.map +1 -1
  102. package/dist/commonjs/models/operations/directuploadvideomedia.d.ts +2 -2
  103. package/dist/commonjs/models/pullvideoinput.js +1 -1
  104. package/dist/commonjs/models/pullvideoinput.js.map +1 -1
  105. package/dist/commonjs/models/videotrackforgetall.d.ts +4 -0
  106. package/dist/commonjs/models/videotrackforgetall.d.ts.map +1 -1
  107. package/dist/commonjs/models/videotrackforgetall.js +1 -0
  108. package/dist/commonjs/models/videotrackforgetall.js.map +1 -1
  109. package/dist/commonjs/models/views.d.ts +3 -3
  110. package/dist/commonjs/models/views.d.ts.map +1 -1
  111. package/dist/commonjs/models/views.js +2 -7
  112. package/dist/commonjs/models/views.js.map +1 -1
  113. package/dist/commonjs/models/viewslist.d.ts +7 -1
  114. package/dist/commonjs/models/viewslist.d.ts.map +1 -1
  115. package/dist/commonjs/models/viewslist.js +3 -7
  116. package/dist/commonjs/models/viewslist.js.map +1 -1
  117. package/dist/commonjs/models/watermarkinput.d.ts +1 -1
  118. package/dist/commonjs/sdk/aifeatures.d.ts +4 -4
  119. package/dist/commonjs/sdk/aifeatures.js +4 -4
  120. package/dist/commonjs/sdk/dimensions.d.ts +4 -4
  121. package/dist/commonjs/sdk/dimensions.js +4 -4
  122. package/dist/commonjs/sdk/drmconfigurations.d.ts +2 -2
  123. package/dist/commonjs/sdk/drmconfigurations.js +2 -2
  124. package/dist/commonjs/sdk/errors.d.ts +1 -1
  125. package/dist/commonjs/sdk/errors.js +1 -1
  126. package/dist/commonjs/sdk/inputvideo.d.ts +9 -9
  127. package/dist/commonjs/sdk/inputvideo.js +9 -9
  128. package/dist/commonjs/sdk/invideoai.d.ts +2 -2
  129. package/dist/commonjs/sdk/invideoai.js +2 -2
  130. package/dist/commonjs/sdk/invideoaifeatures.d.ts +2 -2
  131. package/dist/commonjs/sdk/invideoaifeatures.js +2 -2
  132. package/dist/commonjs/sdk/livestreams.d.ts +7 -7
  133. package/dist/commonjs/sdk/livestreams.js +7 -7
  134. package/dist/commonjs/sdk/managelivestream.d.ts +6 -6
  135. package/dist/commonjs/sdk/managelivestream.js +6 -6
  136. package/dist/commonjs/sdk/managevideos.d.ts +19 -19
  137. package/dist/commonjs/sdk/managevideos.js +19 -19
  138. package/dist/commonjs/sdk/media.d.ts +4 -4
  139. package/dist/commonjs/sdk/media.js +4 -4
  140. package/dist/commonjs/sdk/metrics.d.ts +6 -6
  141. package/dist/commonjs/sdk/metrics.js +6 -6
  142. package/dist/commonjs/sdk/playback.d.ts +1 -1
  143. package/dist/commonjs/sdk/playback.js +1 -1
  144. package/dist/commonjs/sdk/playlist.d.ts +1 -1
  145. package/dist/commonjs/sdk/playlist.js +1 -1
  146. package/dist/commonjs/sdk/signingkeys.d.ts +3 -3
  147. package/dist/commonjs/sdk/signingkeys.js +3 -3
  148. package/dist/commonjs/sdk/simulcasts.d.ts +3 -3
  149. package/dist/commonjs/sdk/simulcasts.js +3 -3
  150. package/dist/commonjs/sdk/simulcaststreams.d.ts +1 -1
  151. package/dist/commonjs/sdk/simulcaststreams.js +1 -1
  152. package/dist/commonjs/sdk/views.d.ts +5 -5
  153. package/dist/commonjs/sdk/views.js +5 -5
  154. package/dist/esm/funcs/aiFeaturesGenerateNamedEntities.d.ts +2 -2
  155. package/dist/esm/funcs/aiFeaturesGenerateNamedEntities.js +2 -2
  156. package/dist/esm/funcs/aiFeaturesUpdateSummary.d.ts +2 -2
  157. package/dist/esm/funcs/aiFeaturesUpdateSummary.js +2 -2
  158. package/dist/esm/funcs/dimensionsList.d.ts +2 -2
  159. package/dist/esm/funcs/dimensionsList.js +2 -2
  160. package/dist/esm/funcs/dimensionsListFilterValues.d.ts +2 -2
  161. package/dist/esm/funcs/dimensionsListFilterValues.js +2 -2
  162. package/dist/esm/funcs/drmConfigurationsGet.d.ts +1 -1
  163. package/dist/esm/funcs/drmConfigurationsGet.js +1 -1
  164. package/dist/esm/funcs/drmConfigurationsList.d.ts +1 -1
  165. package/dist/esm/funcs/drmConfigurationsList.js +1 -1
  166. package/dist/esm/funcs/errorsList.d.ts +1 -1
  167. package/dist/esm/funcs/errorsList.js +1 -1
  168. package/dist/esm/funcs/inVideoAIUpdateModeration.d.ts +2 -2
  169. package/dist/esm/funcs/inVideoAIUpdateModeration.js +2 -2
  170. package/dist/esm/funcs/inVideoAIfeaturesGenerateChapters.d.ts +2 -2
  171. package/dist/esm/funcs/inVideoAIfeaturesGenerateChapters.js +2 -2
  172. package/dist/esm/funcs/inputVideoCreate.d.ts +4 -4
  173. package/dist/esm/funcs/inputVideoCreate.js +4 -4
  174. package/dist/esm/funcs/inputVideoUpload.d.ts +5 -5
  175. package/dist/esm/funcs/inputVideoUpload.js +5 -5
  176. package/dist/esm/funcs/liveStreamsCreate.d.ts +3 -3
  177. package/dist/esm/funcs/liveStreamsCreate.js +3 -3
  178. package/dist/esm/funcs/liveStreamsDelete.d.ts +2 -2
  179. package/dist/esm/funcs/liveStreamsDelete.js +2 -2
  180. package/dist/esm/funcs/liveStreamsEnable.d.ts +1 -1
  181. package/dist/esm/funcs/liveStreamsEnable.js +1 -1
  182. package/dist/esm/funcs/liveStreamsListClips.d.ts +1 -1
  183. package/dist/esm/funcs/liveStreamsListClips.js +1 -1
  184. package/dist/esm/funcs/manageLiveStreamComplete.d.ts +1 -1
  185. package/dist/esm/funcs/manageLiveStreamComplete.js +1 -1
  186. package/dist/esm/funcs/manageLiveStreamDisable.d.ts +1 -1
  187. package/dist/esm/funcs/manageLiveStreamDisable.js +1 -1
  188. package/dist/esm/funcs/manageLiveStreamGet.d.ts +1 -1
  189. package/dist/esm/funcs/manageLiveStreamGet.js +1 -1
  190. package/dist/esm/funcs/manageLiveStreamGetViewerCount.d.ts +1 -1
  191. package/dist/esm/funcs/manageLiveStreamGetViewerCount.js +1 -1
  192. package/dist/esm/funcs/manageLiveStreamUpdate.d.ts +2 -2
  193. package/dist/esm/funcs/manageLiveStreamUpdate.js +2 -2
  194. package/dist/esm/funcs/manageVideosAddTrack.d.ts +5 -5
  195. package/dist/esm/funcs/manageVideosAddTrack.js +5 -5
  196. package/dist/esm/funcs/manageVideosCancelUpload.d.ts +1 -1
  197. package/dist/esm/funcs/manageVideosCancelUpload.js +1 -1
  198. package/dist/esm/funcs/manageVideosDelete.d.ts +1 -1
  199. package/dist/esm/funcs/manageVideosDelete.js +1 -1
  200. package/dist/esm/funcs/manageVideosGenerateSubtitleTrack.d.ts +3 -3
  201. package/dist/esm/funcs/manageVideosGenerateSubtitleTrack.js +3 -3
  202. package/dist/esm/funcs/manageVideosGet.d.ts +1 -1
  203. package/dist/esm/funcs/manageVideosGet.js +1 -1
  204. package/dist/esm/funcs/manageVideosUpdate.d.ts +1 -1
  205. package/dist/esm/funcs/manageVideosUpdate.js +1 -1
  206. package/dist/esm/funcs/manageVideosUpdateMp4Support.d.ts +3 -3
  207. package/dist/esm/funcs/manageVideosUpdateMp4Support.js +3 -3
  208. package/dist/esm/funcs/manageVideosUpdateTrack.d.ts +4 -4
  209. package/dist/esm/funcs/manageVideosUpdateTrack.js +4 -4
  210. package/dist/esm/funcs/mediaDeleteTrack.d.ts +2 -2
  211. package/dist/esm/funcs/mediaDeleteTrack.js +2 -2
  212. package/dist/esm/funcs/mediaGetClips.d.ts +1 -1
  213. package/dist/esm/funcs/mediaGetClips.js +1 -1
  214. package/dist/esm/funcs/mediaUpdateSourceAccess.d.ts +1 -1
  215. package/dist/esm/funcs/mediaUpdateSourceAccess.js +1 -1
  216. package/dist/esm/funcs/metricsListBreakdownValues.d.ts +2 -2
  217. package/dist/esm/funcs/metricsListBreakdownValues.js +2 -2
  218. package/dist/esm/funcs/metricsListCompares.d.ts +2 -2
  219. package/dist/esm/funcs/metricsListCompares.js +2 -2
  220. package/dist/esm/funcs/metricsListOverallValues.d.ts +2 -2
  221. package/dist/esm/funcs/metricsListOverallValues.js +2 -2
  222. package/dist/esm/funcs/playbackCreate.d.ts +1 -1
  223. package/dist/esm/funcs/playbackCreate.js +1 -1
  224. package/dist/esm/funcs/playlistCreate.d.ts +1 -1
  225. package/dist/esm/funcs/playlistCreate.js +1 -1
  226. package/dist/esm/funcs/signingKeysCreate.d.ts +1 -1
  227. package/dist/esm/funcs/signingKeysCreate.js +1 -1
  228. package/dist/esm/funcs/signingKeysGetById.d.ts +2 -2
  229. package/dist/esm/funcs/signingKeysGetById.js +2 -2
  230. package/dist/esm/funcs/simulcastStreamsDelete.d.ts +1 -1
  231. package/dist/esm/funcs/simulcastStreamsDelete.js +1 -1
  232. package/dist/esm/funcs/simulcastsCreate.d.ts +2 -2
  233. package/dist/esm/funcs/simulcastsCreate.js +2 -2
  234. package/dist/esm/funcs/simulcastsUpdate.d.ts +1 -1
  235. package/dist/esm/funcs/simulcastsUpdate.js +1 -1
  236. package/dist/esm/funcs/viewsGetDetails.d.ts +1 -1
  237. package/dist/esm/funcs/viewsGetDetails.js +1 -1
  238. package/dist/esm/funcs/viewsList.d.ts +3 -3
  239. package/dist/esm/funcs/viewsList.js +3 -3
  240. package/dist/esm/funcs/viewsListTopContent.d.ts +1 -1
  241. package/dist/esm/funcs/viewsListTopContent.js +1 -1
  242. package/dist/esm/lib/config.d.ts +1 -1
  243. package/dist/esm/lib/config.d.ts.map +1 -1
  244. package/dist/esm/lib/config.js +1 -1
  245. package/dist/esm/lib/config.js.map +1 -1
  246. package/dist/esm/models/addtrackrequest.js +1 -1
  247. package/dist/esm/models/addtrackrequest.js.map +1 -1
  248. package/dist/esm/models/createmediarequest.d.ts +1 -1
  249. package/dist/esm/models/deletesigningkeyresponse.d.ts +10 -0
  250. package/dist/esm/models/deletesigningkeyresponse.d.ts.map +1 -1
  251. package/dist/esm/models/deletesigningkeyresponse.js +1 -0
  252. package/dist/esm/models/deletesigningkeyresponse.js.map +1 -1
  253. package/dist/esm/models/operations/directuploadvideomedia.d.ts +2 -2
  254. package/dist/esm/models/pullvideoinput.js +1 -1
  255. package/dist/esm/models/pullvideoinput.js.map +1 -1
  256. package/dist/esm/models/videotrackforgetall.d.ts +4 -0
  257. package/dist/esm/models/videotrackforgetall.d.ts.map +1 -1
  258. package/dist/esm/models/videotrackforgetall.js +1 -0
  259. package/dist/esm/models/videotrackforgetall.js.map +1 -1
  260. package/dist/esm/models/views.d.ts +3 -3
  261. package/dist/esm/models/views.d.ts.map +1 -1
  262. package/dist/esm/models/views.js +2 -7
  263. package/dist/esm/models/views.js.map +1 -1
  264. package/dist/esm/models/viewslist.d.ts +7 -1
  265. package/dist/esm/models/viewslist.d.ts.map +1 -1
  266. package/dist/esm/models/viewslist.js +3 -7
  267. package/dist/esm/models/viewslist.js.map +1 -1
  268. package/dist/esm/models/watermarkinput.d.ts +1 -1
  269. package/dist/esm/sdk/aifeatures.d.ts +4 -4
  270. package/dist/esm/sdk/aifeatures.js +4 -4
  271. package/dist/esm/sdk/dimensions.d.ts +4 -4
  272. package/dist/esm/sdk/dimensions.js +4 -4
  273. package/dist/esm/sdk/drmconfigurations.d.ts +2 -2
  274. package/dist/esm/sdk/drmconfigurations.js +2 -2
  275. package/dist/esm/sdk/errors.d.ts +1 -1
  276. package/dist/esm/sdk/errors.js +1 -1
  277. package/dist/esm/sdk/inputvideo.d.ts +9 -9
  278. package/dist/esm/sdk/inputvideo.js +9 -9
  279. package/dist/esm/sdk/invideoai.d.ts +2 -2
  280. package/dist/esm/sdk/invideoai.js +2 -2
  281. package/dist/esm/sdk/invideoaifeatures.d.ts +2 -2
  282. package/dist/esm/sdk/invideoaifeatures.js +2 -2
  283. package/dist/esm/sdk/livestreams.d.ts +7 -7
  284. package/dist/esm/sdk/livestreams.js +7 -7
  285. package/dist/esm/sdk/managelivestream.d.ts +6 -6
  286. package/dist/esm/sdk/managelivestream.js +6 -6
  287. package/dist/esm/sdk/managevideos.d.ts +19 -19
  288. package/dist/esm/sdk/managevideos.js +19 -19
  289. package/dist/esm/sdk/media.d.ts +4 -4
  290. package/dist/esm/sdk/media.js +4 -4
  291. package/dist/esm/sdk/metrics.d.ts +6 -6
  292. package/dist/esm/sdk/metrics.js +6 -6
  293. package/dist/esm/sdk/playback.d.ts +1 -1
  294. package/dist/esm/sdk/playback.js +1 -1
  295. package/dist/esm/sdk/playlist.d.ts +1 -1
  296. package/dist/esm/sdk/playlist.js +1 -1
  297. package/dist/esm/sdk/signingkeys.d.ts +3 -3
  298. package/dist/esm/sdk/signingkeys.js +3 -3
  299. package/dist/esm/sdk/simulcasts.d.ts +3 -3
  300. package/dist/esm/sdk/simulcasts.js +3 -3
  301. package/dist/esm/sdk/simulcaststreams.d.ts +1 -1
  302. package/dist/esm/sdk/simulcaststreams.js +1 -1
  303. package/dist/esm/sdk/views.d.ts +5 -5
  304. package/dist/esm/sdk/views.js +5 -5
  305. package/examples/inputVideoCreate.example.ts +1 -1
  306. package/package.json +6 -3
  307. package/src/funcs/aiFeaturesGenerateNamedEntities.ts +2 -2
  308. package/src/funcs/aiFeaturesUpdateSummary.ts +2 -2
  309. package/src/funcs/dimensionsList.ts +2 -2
  310. package/src/funcs/dimensionsListFilterValues.ts +2 -2
  311. package/src/funcs/drmConfigurationsGet.ts +1 -1
  312. package/src/funcs/drmConfigurationsList.ts +1 -1
  313. package/src/funcs/errorsList.ts +1 -1
  314. package/src/funcs/inVideoAIUpdateModeration.ts +2 -2
  315. package/src/funcs/inVideoAIfeaturesGenerateChapters.ts +2 -2
  316. package/src/funcs/inputVideoCreate.ts +4 -4
  317. package/src/funcs/inputVideoUpload.ts +5 -5
  318. package/src/funcs/liveStreamsCreate.ts +3 -3
  319. package/src/funcs/liveStreamsDelete.ts +2 -2
  320. package/src/funcs/liveStreamsEnable.ts +1 -1
  321. package/src/funcs/liveStreamsListClips.ts +1 -1
  322. package/src/funcs/manageLiveStreamComplete.ts +1 -1
  323. package/src/funcs/manageLiveStreamDisable.ts +1 -1
  324. package/src/funcs/manageLiveStreamGet.ts +1 -1
  325. package/src/funcs/manageLiveStreamGetViewerCount.ts +1 -1
  326. package/src/funcs/manageLiveStreamUpdate.ts +2 -2
  327. package/src/funcs/manageVideosAddTrack.ts +5 -5
  328. package/src/funcs/manageVideosCancelUpload.ts +1 -1
  329. package/src/funcs/manageVideosDelete.ts +1 -1
  330. package/src/funcs/manageVideosGenerateSubtitleTrack.ts +3 -3
  331. package/src/funcs/manageVideosGet.ts +1 -1
  332. package/src/funcs/manageVideosUpdate.ts +1 -1
  333. package/src/funcs/manageVideosUpdateMp4Support.ts +3 -3
  334. package/src/funcs/manageVideosUpdateTrack.ts +4 -4
  335. package/src/funcs/mediaDeleteTrack.ts +2 -2
  336. package/src/funcs/mediaGetClips.ts +1 -1
  337. package/src/funcs/mediaUpdateSourceAccess.ts +1 -1
  338. package/src/funcs/metricsListBreakdownValues.ts +2 -2
  339. package/src/funcs/metricsListCompares.ts +2 -2
  340. package/src/funcs/metricsListOverallValues.ts +2 -2
  341. package/src/funcs/playbackCreate.ts +1 -1
  342. package/src/funcs/playlistCreate.ts +1 -1
  343. package/src/funcs/signingKeysCreate.ts +1 -1
  344. package/src/funcs/signingKeysGetById.ts +2 -2
  345. package/src/funcs/simulcastStreamsDelete.ts +1 -1
  346. package/src/funcs/simulcastsCreate.ts +2 -2
  347. package/src/funcs/simulcastsUpdate.ts +1 -1
  348. package/src/funcs/viewsGetDetails.ts +1 -1
  349. package/src/funcs/viewsList.ts +3 -3
  350. package/src/funcs/viewsListTopContent.ts +1 -1
  351. package/src/lib/config.ts +1 -1
  352. package/src/models/addtrackrequest.ts +1 -1
  353. package/src/models/createmediarequest.ts +1 -1
  354. package/src/models/deletesigningkeyresponse.ts +14 -0
  355. package/src/models/operations/directuploadvideomedia.ts +2 -2
  356. package/src/models/pullvideoinput.ts +1 -1
  357. package/src/models/videotrackforgetall.ts +5 -0
  358. package/src/models/views.ts +5 -13
  359. package/src/models/viewslist.ts +21 -22
  360. package/src/models/watermarkinput.ts +1 -1
  361. package/src/sdk/aifeatures.ts +4 -4
  362. package/src/sdk/dimensions.ts +4 -4
  363. package/src/sdk/drmconfigurations.ts +2 -2
  364. package/src/sdk/errors.ts +1 -1
  365. package/src/sdk/inputvideo.ts +9 -9
  366. package/src/sdk/invideoai.ts +2 -2
  367. package/src/sdk/invideoaifeatures.ts +2 -2
  368. package/src/sdk/livestreams.ts +7 -7
  369. package/src/sdk/managelivestream.ts +6 -6
  370. package/src/sdk/managevideos.ts +19 -19
  371. package/src/sdk/media.ts +4 -4
  372. package/src/sdk/metrics.ts +6 -6
  373. package/src/sdk/playback.ts +1 -1
  374. package/src/sdk/playlist.ts +1 -1
  375. package/src/sdk/signingkeys.ts +3 -3
  376. package/src/sdk/simulcasts.ts +3 -3
  377. package/src/sdk/simulcaststreams.ts +1 -1
  378. package/src/sdk/views.ts +5 -5
  379. package/tests/artifacts/get-all-playlists.api.json +26 -0
  380. package/tests/artifacts/get-all-playlists.sdk.json +26 -0
  381. package/tests/artifacts/get-all-streams.api.json +76 -0
  382. package/tests/artifacts/get-all-streams.sdk.json +76 -0
  383. package/tests/artifacts/get-live-stream-by-id.api.json +43 -0
  384. package/tests/artifacts/get-live-stream-by-id.sdk.json +43 -0
  385. package/tests/artifacts/get-live-stream-playback-id.api.json +7 -0
  386. package/tests/artifacts/get-live-stream-playback-id.sdk.json +7 -0
  387. package/tests/artifacts/get-live-stream-viewer-count-by-id.api.json +6 -0
  388. package/tests/artifacts/get-live-stream-viewer-count-by-id.sdk.json +6 -0
  389. package/tests/artifacts/get-media-clips.api.json +9 -0
  390. package/tests/artifacts/get-media-clips.sdk.json +9 -0
  391. package/tests/artifacts/get-media-summary.api.json +8 -0
  392. package/tests/artifacts/get-media-summary.sdk.json +26 -0
  393. package/tests/artifacts/get-media.api.json +57 -0
  394. package/tests/artifacts/get-media.sdk.json +57 -0
  395. package/tests/artifacts/get-playback-id.api.json +19 -0
  396. package/tests/artifacts/get-playback-id.sdk.json +19 -0
  397. package/tests/artifacts/get-playlist-by-id.api.json +15 -0
  398. package/tests/artifacts/get-playlist-by-id.sdk.json +15 -0
  399. package/tests/artifacts/get-signing_key_by_id.api.json +8 -0
  400. package/tests/artifacts/get-signing_key_by_id.sdk.json +8 -0
  401. package/tests/artifacts/get-specific-simulcast-of-stream.api.json +12 -0
  402. package/tests/artifacts/get-specific-simulcast-of-stream.sdk.json +12 -0
  403. package/tests/artifacts/getDrmConfiguration.api.json +8 -0
  404. package/tests/artifacts/getDrmConfiguration.sdk.json +26 -0
  405. package/tests/artifacts/getDrmConfigurationById.api.json +13 -0
  406. package/tests/artifacts/getDrmConfigurationById.sdk.json +31 -0
  407. package/tests/artifacts/get_timeseries_data.api.json +18 -0
  408. package/tests/artifacts/get_timeseries_data.sdk.json +18 -0
  409. package/tests/artifacts/get_video_view_details.api.json +213 -0
  410. package/tests/artifacts/get_video_view_details.sdk.json +213 -0
  411. package/tests/artifacts/list-live-clips.api.json +9 -0
  412. package/tests/artifacts/list-live-clips.sdk.json +9 -0
  413. package/tests/artifacts/list-media.api.json +65 -0
  414. package/tests/artifacts/list-media.sdk.json +65 -0
  415. package/tests/artifacts/list-playback-ids.api.json +21 -0
  416. package/tests/artifacts/list-playback-ids.sdk.json +21 -0
  417. package/tests/artifacts/list-uploads.api.json +43 -0
  418. package/tests/artifacts/list-uploads.sdk.json +43 -0
  419. package/tests/artifacts/list_breakdown_values.api.json +24 -0
  420. package/tests/artifacts/list_breakdown_values.sdk.json +24 -0
  421. package/tests/artifacts/list_by_top_content.api.json +19 -0
  422. package/tests/artifacts/list_by_top_content.sdk.json +19 -0
  423. package/tests/artifacts/list_comparison_values.api.json +350 -0
  424. package/tests/artifacts/list_comparison_values.sdk.json +350 -0
  425. package/tests/artifacts/list_dimensions.api.json +61 -0
  426. package/tests/artifacts/list_dimensions.sdk.json +61 -0
  427. package/tests/artifacts/list_errors.api.json +51 -0
  428. package/tests/artifacts/list_errors.sdk.json +51 -0
  429. package/tests/artifacts/list_filter_values_for_dimension.api.json +14 -0
  430. package/tests/artifacts/list_filter_values_for_dimension.sdk.json +14 -0
  431. package/tests/artifacts/list_overall_values.api.json +18 -0
  432. package/tests/artifacts/list_overall_values.sdk.json +18 -0
  433. package/tests/artifacts/list_signing_keys.api.json +22 -0
  434. package/tests/artifacts/list_signing_keys.sdk.json +22 -0
  435. package/tests/artifacts/list_video_views.api.json +84 -0
  436. package/tests/artifacts/list_video_views.sdk.json +84 -0
  437. package/tests/artifacts/retrieveMediaInputInfo.api.json +28 -0
  438. package/tests/artifacts/retrieveMediaInputInfo.sdk.json +28 -0
  439. package/tests/artifacts-non-get/Add-media-track.raw.json +10 -0
  440. package/tests/artifacts-non-get/Add-media-track.sdk.json +10 -0
  441. package/tests/artifacts-non-get/Generate-subtitle-track.raw.json +9 -0
  442. package/tests/artifacts-non-get/Generate-subtitle-track.sdk.json +9 -0
  443. package/tests/artifacts-non-get/add-media-to-playlist.raw.json +24 -0
  444. package/tests/artifacts-non-get/add-media-to-playlist.sdk.json +24 -0
  445. package/tests/artifacts-non-get/cancel-upload.raw.json +15 -0
  446. package/tests/artifacts-non-get/cancel-upload.sdk.json +15 -0
  447. package/tests/artifacts-non-get/change-media-order-in-playlist.raw.json +24 -0
  448. package/tests/artifacts-non-get/change-media-order-in-playlist.sdk.json +24 -0
  449. package/tests/artifacts-non-get/complete-live-stream.raw.json +8 -0
  450. package/tests/artifacts-non-get/complete-live-stream.sdk.json +13 -0
  451. package/tests/artifacts-non-get/create-a-playlist.raw.json +15 -0
  452. package/tests/artifacts-non-get/create-a-playlist.sdk.json +15 -0
  453. package/tests/artifacts-non-get/create-media-playback-id.raw.json +20 -0
  454. package/tests/artifacts-non-get/create-media-playback-id.sdk.json +19 -0
  455. package/tests/artifacts-non-get/create-media.raw.json +41 -0
  456. package/tests/artifacts-non-get/create-media.sdk.json +41 -0
  457. package/tests/artifacts-non-get/create-new-stream.raw.json +32 -0
  458. package/tests/artifacts-non-get/create-new-stream.sdk.json +32 -0
  459. package/tests/artifacts-non-get/create-playbackId-of-stream.raw.json +7 -0
  460. package/tests/artifacts-non-get/create-playbackId-of-stream.sdk.json +7 -0
  461. package/tests/artifacts-non-get/create-simulcast-of-stream.raw.json +9 -0
  462. package/tests/artifacts-non-get/create-simulcast-of-stream.sdk.json +9 -0
  463. package/tests/artifacts-non-get/create_signing_key.raw.json +8 -0
  464. package/tests/artifacts-non-get/create_signing_key.sdk.json +8 -0
  465. package/tests/artifacts-non-get/delete-a-playlist.raw.json +3 -0
  466. package/tests/artifacts-non-get/delete-a-playlist.sdk.json +3 -0
  467. package/tests/artifacts-non-get/delete-live-stream.raw.json +3 -0
  468. package/tests/artifacts-non-get/delete-live-stream.sdk.json +3 -0
  469. package/tests/artifacts-non-get/delete-media-from-playlist.raw.json +15 -0
  470. package/tests/artifacts-non-get/delete-media-from-playlist.sdk.json +15 -0
  471. package/tests/artifacts-non-get/delete-media-playback-id.raw.json +3 -0
  472. package/tests/artifacts-non-get/delete-media-playback-id.sdk.json +3 -0
  473. package/tests/artifacts-non-get/delete-media-track.raw.json +3 -0
  474. package/tests/artifacts-non-get/delete-media-track.sdk.json +3 -0
  475. package/tests/artifacts-non-get/delete-media.raw.json +3 -0
  476. package/tests/artifacts-non-get/delete-media.sdk.json +3 -0
  477. package/tests/artifacts-non-get/delete-playbackId-of-stream.raw.json +3 -0
  478. package/tests/artifacts-non-get/delete-playbackId-of-stream.sdk.json +3 -0
  479. package/tests/artifacts-non-get/delete-simulcast-of-stream.raw.json +3 -0
  480. package/tests/artifacts-non-get/delete-simulcast-of-stream.sdk.json +3 -0
  481. package/tests/artifacts-non-get/delete_signing_key.raw.json +6 -0
  482. package/tests/artifacts-non-get/delete_signing_key.sdk.json +6 -0
  483. package/tests/artifacts-non-get/direct-upload-video-media.raw.json +36 -0
  484. package/tests/artifacts-non-get/direct-upload-video-media.sdk.json +36 -0
  485. package/tests/artifacts-non-get/disable-live-stream.raw.json +3 -0
  486. package/tests/artifacts-non-get/disable-live-stream.sdk.json +3 -0
  487. package/tests/artifacts-non-get/enable-live-stream.raw.json +3 -0
  488. package/tests/artifacts-non-get/enable-live-stream.sdk.json +3 -0
  489. package/tests/artifacts-non-get/update-a-playlist.raw.json +15 -0
  490. package/tests/artifacts-non-get/update-a-playlist.sdk.json +15 -0
  491. package/tests/artifacts-non-get/update-domain-restrictions.raw.json +10 -0
  492. package/tests/artifacts-non-get/update-domain-restrictions.sdk.json +10 -0
  493. package/tests/artifacts-non-get/update-live-stream.raw.json +36 -0
  494. package/tests/artifacts-non-get/update-live-stream.sdk.json +36 -0
  495. package/tests/artifacts-non-get/update-media-chapters.raw.json +7 -0
  496. package/tests/artifacts-non-get/update-media-chapters.sdk.json +7 -0
  497. package/tests/artifacts-non-get/update-media-moderation.raw.json +7 -0
  498. package/tests/artifacts-non-get/update-media-moderation.sdk.json +7 -0
  499. package/tests/artifacts-non-get/update-media-named-entities.raw.json +7 -0
  500. package/tests/artifacts-non-get/update-media-named-entities.sdk.json +7 -0
  501. package/tests/artifacts-non-get/update-media-summary.raw.json +7 -0
  502. package/tests/artifacts-non-get/update-media-summary.sdk.json +7 -0
  503. package/tests/artifacts-non-get/update-media-track.raw.json +10 -0
  504. package/tests/artifacts-non-get/update-media-track.sdk.json +10 -0
  505. package/tests/artifacts-non-get/update-specific-simulcast-of-stream.raw.json +9 -0
  506. package/tests/artifacts-non-get/update-specific-simulcast-of-stream.sdk.json +9 -0
  507. package/tests/artifacts-non-get/update-user-agent-restrictions.raw.json +10 -0
  508. package/tests/artifacts-non-get/update-user-agent-restrictions.sdk.json +10 -0
  509. package/tests/artifacts-non-get/updated-media.raw.json +94 -0
  510. package/tests/artifacts-non-get/updated-media.sdk.json +94 -0
  511. package/tests/artifacts-non-get/updated-mp4Support.raw.json +95 -0
  512. package/tests/artifacts-non-get/updated-mp4Support.sdk.json +95 -0
  513. package/tests/artifacts-non-get/updated-source-access.raw.json +94 -0
  514. package/tests/artifacts-non-get/updated-source-access.sdk.json +94 -0
  515. package/tests/build-url-mapping-pass2.mjs +77 -0
  516. package/tests/build-url-mapping.mjs +101 -0
  517. package/tests/check-broken-links.mjs +89 -0
  518. package/tests/diff-api-vs-sdk.mjs +94 -0
  519. package/tests/diff-passed.mjs +99 -0
  520. package/tests/diff-strict.mjs +81 -0
  521. package/tests/non-get-endpoints-fixtures.json +328 -0
  522. package/tests/validate-get-endpoints.ts +16 -5
  523. package/tests/validate-non-get-endpoints.ts +477 -0
  524. package/tests/validate-non-get-lifecycle.ts +1093 -0
@@ -0,0 +1,477 @@
1
+ #!/usr/bin/env tsx
2
+ /*
3
+ * Non-GET endpoints validator (POST / PUT / PATCH / DELETE).
4
+ *
5
+ * Unlike `validate-get-endpoints.ts`, this script does NOT make a separate
6
+ * raw HTTP call to compare against the SDK — it only invokes the SDK method
7
+ * with a fixture-supplied request and captures the parsed SDK response.
8
+ *
9
+ * Per non-GET endpoint declared in `tests/non-get-endpoints-fixtures.json`:
10
+ * - Looks up the SDK method via `getSDKInvoker(operationId)`
11
+ * - Calls it with the fixture-supplied request body
12
+ * - Writes the response (or normalized error) to `tests/artifacts/<operationId>.sdk.json`
13
+ * - Records PASS (SDK call resolved) or FAIL (SDK call threw)
14
+ * - Generates a consolidated markdown report
15
+ *
16
+ * Operations without a fixture entry are SKIPPED — this is intentional, since
17
+ * POST/PUT/PATCH/DELETE are destructive and need explicit opt-in. To run an
18
+ * operation, add it to `non-get-endpoints-fixtures.json` with a `request`
19
+ * object that matches the SDK's request shape.
20
+ *
21
+ * Requirements:
22
+ * - FASTPIX_USERNAME / FASTPIX_PASSWORD env vars (Basic Auth) — same as the
23
+ * GET validator; the hard-coded literals below are dev-only placeholders.
24
+ * - `tests/non-get-endpoints-fixtures.json` describing which ops to run.
25
+ */
26
+
27
+ /// <reference types="node" />
28
+
29
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from "node:fs";
30
+ import { join, dirname } from "node:path";
31
+ import { fileURLToPath } from "node:url";
32
+ import yaml from "js-yaml";
33
+ import { Fastpix } from "../src/sdk/sdk.js";
34
+
35
+ const __filename = fileURLToPath(import.meta.url);
36
+ const __dirname = dirname(__filename);
37
+
38
+ type NonGetMethod = "POST" | "PUT" | "PATCH" | "DELETE";
39
+
40
+ type Fixture = {
41
+ operations: Record<
42
+ string,
43
+ {
44
+ description?: string;
45
+ request?: any;
46
+ skip?: boolean;
47
+ reason?: string;
48
+ }
49
+ >;
50
+ };
51
+
52
+ type EndpointInfo = {
53
+ path: string;
54
+ method: NonGetMethod;
55
+ operationId: string;
56
+ };
57
+
58
+ type EndpointResult = {
59
+ endpoint: string;
60
+ operationId: string;
61
+ method: NonGetMethod;
62
+ sdkCallOk: boolean;
63
+ sdkCallError?: string;
64
+ sdkResponseFile?: string;
65
+ sdkResponsePreview?: string;
66
+ status: "PASS" | "FAIL" | "SKIP";
67
+ note?: string;
68
+ };
69
+
70
+ const ARTIFACTS_DIRNAME = "artifacts";
71
+ const MAX_PREVIEW_CHARS = 4000;
72
+ const FIXTURES_FILENAME = "non-get-endpoints-fixtures.json";
73
+ const REPORT_FILENAME = "NON_GET_ENDPOINTS_VALIDATION_REPORT.md";
74
+ const NON_GET_METHODS: NonGetMethod[] = ["POST", "PUT", "PATCH", "DELETE"];
75
+
76
+ function safeFileSlug(input: string): string {
77
+ return input.replace(/[^a-zA-Z0-9._-]+/g, "_");
78
+ }
79
+
80
+ function toPrettyJson(value: unknown): string {
81
+ return JSON.stringify(value, null, 2);
82
+ }
83
+
84
+ // FastPix asset hosts have migrated to the .com TLD. Some legacy media records
85
+ // still have pre-migration CDN URLs persisted on them. Normalize before writing
86
+ // artifacts so committed snapshots are consistent with the post-migration host.
87
+ function normalizeLegacyFastpixHosts(text: string): string {
88
+ return text.replace(/fastpix\.io/g, "fastpix.com");
89
+ }
90
+
91
+ function preview(text: string): string {
92
+ if (text.length <= MAX_PREVIEW_CHARS) return text;
93
+ return text.slice(0, MAX_PREVIEW_CHARS) + "\n... (truncated)";
94
+ }
95
+
96
+ function writeArtifactFile(
97
+ operationId: string,
98
+ sdkBody: unknown,
99
+ ): { sdkPath: string; sdkPreview: string } {
100
+ const artifactsDir = join(__dirname, ARTIFACTS_DIRNAME);
101
+ mkdirSync(artifactsDir, { recursive: true });
102
+
103
+ const slug = safeFileSlug(operationId);
104
+ const sdkFilename = `${slug}.sdk.json`;
105
+ const sdkPath = join(artifactsDir, sdkFilename);
106
+
107
+ const sdkText = normalizeLegacyFastpixHosts(toPrettyJson(sdkBody));
108
+ writeFileSync(sdkPath, sdkText);
109
+
110
+ return {
111
+ sdkPath: `tests/${ARTIFACTS_DIRNAME}/${sdkFilename}`,
112
+ sdkPreview: preview(sdkText),
113
+ };
114
+ }
115
+
116
+ type SDKInvoker = (client: Fastpix, request: any) => Promise<any>;
117
+
118
+ // Mapping operationId → SDK method invocation. Mirrors the pattern used by
119
+ // validate-get-endpoints.ts. Each invoker receives the full fixture request
120
+ // object as the second argument; the SDK methods expect a single object that
121
+ // combines path params, query params, and request body.
122
+ function getSDKInvoker(operationId: string): SDKInvoker | null {
123
+ const map: Record<string, SDKInvoker> = {
124
+ // On-demand media
125
+ "create-media": (c, req) => c.inputVideo.create(req),
126
+ "updated-media": (c, req) => c.manageVideos.update(req),
127
+ "delete-media": (c, req) => c.manageVideos.delete(req),
128
+ "Add-media-track": (c, req) => c.manageVideos.addTrack(req),
129
+ "cancel-upload": (c, req) => c.manageVideos.cancelUpload(req),
130
+ "update-media-track": (c, req) => c.manageVideos.updateTrack(req),
131
+ "delete-media-track": (c, req) => c.media.deleteTrack(req),
132
+ "Generate-subtitle-track": (c, req) =>
133
+ c.manageVideos.generateSubtitleTrack(req),
134
+ "direct-upload-video-media": (c, req) => c.inputVideo.upload(req),
135
+
136
+ // AI features
137
+ "update-media-summary": (c, req) => (c as any).aiFeatures.updateSummary(req),
138
+ "update-media-chapters": (c, req) =>
139
+ (c as any).invideoAIFeatures.generateChapters(req),
140
+ "update-media-named-entities": (c, req) =>
141
+ (c as any).aiFeatures.generateNamedEntities(req),
142
+ "update-media-moderation": (c, req) =>
143
+ (c as any).invideoAI.updateModeration(req),
144
+
145
+ // Media access / mp4
146
+ "updated-source-access": (c, req) => c.media.updateSourceAccess(req),
147
+ "updated-mp4Support": (c, req) =>
148
+ (c.manageVideos as any).updateMp4Support(req),
149
+
150
+ // Playback
151
+ "create-media-playback-id": (c, req) => c.playback.create(req),
152
+ "delete-media-playback-id": (c, req) => c.playback.delete(req),
153
+ "update-domain-restrictions": (c, req) =>
154
+ c.playback.updateDomainRestrictions(req),
155
+ "update-user-agent-restrictions": (c, req) =>
156
+ c.playback.updateUserAgentRestrictions(req),
157
+
158
+ // Playlists
159
+ "create-a-playlist": (c, req) => c.playlist.create(req),
160
+ "update-a-playlist": (c, req) => c.playlist.update(req),
161
+ "delete-a-playlist": (c, req) => c.playlist.delete(req),
162
+ "change-media-order-in-playlist": (c, req) =>
163
+ c.playlist.updateMediaOrder(req),
164
+ "add-media-to-playlist": (c, req) => (c as any).playlists.addMedia(req),
165
+ "delete-media-from-playlist": (c, req) =>
166
+ (c as any).playlists.deleteMedia(req),
167
+
168
+ // Live streams
169
+ "create-new-stream": (c, req) => c.liveStreams.create(req),
170
+ "update-live-stream": (c, req) => (c as any).manageLiveStream.update(req),
171
+ "delete-live-stream": (c, req) => c.liveStreams.delete(req),
172
+ "enable-live-stream": (c, req) => c.liveStreams.enable(req),
173
+ "disable-live-stream": (c, req) => (c as any).manageLiveStream.disable(req),
174
+ "complete-live-stream": (c, req) =>
175
+ (c as any).manageLiveStream.complete(req),
176
+
177
+ // Live playback / simulcasts
178
+ "create-playbackId-of-stream": (c, req) =>
179
+ (c as any).livePlayback.createId(req),
180
+ "delete-playbackId-of-stream": (c, req) =>
181
+ (c as any).livePlayback.delete(req),
182
+ "create-simulcast-of-stream": (c, req) => c.simulcasts.create(req),
183
+ "update-specific-simulcast-of-stream": (c, req) =>
184
+ c.simulcasts.update(req),
185
+ "delete-simulcast-of-stream": (c, req) =>
186
+ (c as any).simulcastStreams.delete(req),
187
+
188
+ // IAM
189
+ create_signing_key: (c, req) => c.signingKeys.create(req),
190
+ delete_signing_key: (c, req) => c.signingKeys.delete(req),
191
+ };
192
+ return map[operationId] ?? null;
193
+ }
194
+
195
+ function headersToObject(headers: any): Record<string, string> | undefined {
196
+ try {
197
+ if (!headers) return undefined;
198
+ if (typeof headers.entries === "function") {
199
+ return Object.fromEntries(Array.from(headers.entries()));
200
+ }
201
+ } catch {
202
+ // ignore
203
+ }
204
+ return undefined;
205
+ }
206
+
207
+ function normalizeSdkError(err: any): any {
208
+ const base: any = {
209
+ name: err?.name,
210
+ message: err?.message,
211
+ stack: err?.stack,
212
+ };
213
+
214
+ if (typeof err?.statusCode !== "undefined") base.statusCode = err.statusCode;
215
+ if (typeof err?.contentType !== "undefined") base.contentType = err.contentType;
216
+ if (typeof err?.body !== "undefined") {
217
+ base.body = err.body;
218
+ if (typeof err.body === "string") {
219
+ try {
220
+ base.bodyJson = JSON.parse(err.body);
221
+ } catch {
222
+ // ignore
223
+ }
224
+ }
225
+ }
226
+ base.headers =
227
+ headersToObject(err?.headers) ??
228
+ headersToObject(err?.rawResponse?.headers);
229
+ if (err?.rawResponse?.url) base.url = err.rawResponse.url;
230
+
231
+ if (err?.cause) base.cause = err.cause;
232
+ if (typeof err?.rawMessage !== "undefined") base.rawMessage = err.rawMessage;
233
+ if (typeof err?.rawValue !== "undefined") base.rawValue = err.rawValue;
234
+
235
+ return base;
236
+ }
237
+
238
+ function readFixtures(): Fixture {
239
+ const p = join(__dirname, FIXTURES_FILENAME);
240
+ if (!existsSync(p)) {
241
+ // eslint-disable-next-line no-console
242
+ console.warn(`No fixtures file at ${p}; no operations will be exercised.`);
243
+ return { operations: {} };
244
+ }
245
+ return JSON.parse(readFileSync(p, "utf-8")) as Fixture;
246
+ }
247
+
248
+ function resolveSpecPath(): string {
249
+ const candidates = [
250
+ join(__dirname, "../fixed.yaml"),
251
+ join(__dirname, "../../fixed.yaml"),
252
+ ];
253
+ for (const p of candidates) {
254
+ if (existsSync(p)) return p;
255
+ }
256
+ throw new Error(
257
+ `OpenAPI spec not found. Tried: ${candidates.map((c) => JSON.stringify(c)).join(", ")}`,
258
+ );
259
+ }
260
+
261
+ function loadOpenAPISpec(): any {
262
+ return yaml.load(readFileSync(resolveSpecPath(), "utf-8"));
263
+ }
264
+
265
+ function extractNonGetEndpoints(spec: any): EndpointInfo[] {
266
+ const out: EndpointInfo[] = [];
267
+ for (const [path, methods] of Object.entries(spec.paths || {})) {
268
+ const m = methods as any;
269
+ for (const httpMethod of NON_GET_METHODS) {
270
+ const lc = httpMethod.toLowerCase();
271
+ if (!m[lc]) continue;
272
+ out.push({
273
+ path,
274
+ method: httpMethod,
275
+ operationId: m[lc].operationId,
276
+ });
277
+ }
278
+ }
279
+ return out;
280
+ }
281
+
282
+ function writeReport(results: EndpointResult[]) {
283
+ const total = results.length;
284
+ const passed = results.filter((r) => r.status === "PASS").length;
285
+ const failed = results.filter((r) => r.status === "FAIL").length;
286
+ const skipped = results.filter((r) => r.status === "SKIP").length;
287
+
288
+ const reportPath = join(__dirname, REPORT_FILENAME);
289
+ const generatedAt = new Date().toISOString();
290
+
291
+ const lines: string[] = [];
292
+ lines.push("# Non-GET Endpoints — SDK Response Validation Report");
293
+ lines.push("");
294
+ lines.push(`Generated: ${generatedAt}`);
295
+ lines.push("");
296
+ lines.push("## Summary");
297
+ lines.push("");
298
+ lines.push(`- **Total non-GET endpoints**: ${total}`);
299
+ lines.push(`- **PASS**: ${passed}`);
300
+ lines.push(`- **FAIL**: ${failed}`);
301
+ lines.push(`- **SKIP**: ${skipped}`);
302
+ lines.push("");
303
+ lines.push(
304
+ "SKIP = no fixture entry for the operation (or `skip: true`). PASS = SDK call resolved without throwing. FAIL = SDK call threw; see the error in the per-endpoint section.",
305
+ );
306
+ lines.push("");
307
+ lines.push("## Consolidated report");
308
+ lines.push("");
309
+ lines.push("| Method | Endpoint | OperationId | SDK call | Status |");
310
+ lines.push("|---|---|---|---:|---|");
311
+
312
+ for (const r of results) {
313
+ const sdkCol =
314
+ r.status === "SKIP" ? "—" : r.sdkCallOk ? "✅" : "❌";
315
+ const statusLabel =
316
+ r.status === "PASS"
317
+ ? "✅ PASS"
318
+ : r.status === "FAIL"
319
+ ? "❌ FAIL"
320
+ : "⏭️ SKIP";
321
+ lines.push(
322
+ `| ${r.method} | \`${r.endpoint}\` | \`${r.operationId}\` | ${sdkCol} | ${statusLabel} |`,
323
+ );
324
+ }
325
+
326
+ lines.push("");
327
+ lines.push("## Per-endpoint details");
328
+ lines.push("");
329
+
330
+ for (const r of results) {
331
+ lines.push(`### ${r.operationId} (\`${r.method} ${r.endpoint}\`)`);
332
+ lines.push("");
333
+ lines.push(`- **Status**: ${r.status}`);
334
+ if (r.note) lines.push(`- **Note**: ${r.note}`);
335
+ if (r.sdkResponseFile) {
336
+ lines.push(`- **SDK response file**: \`${r.sdkResponseFile}\``);
337
+ }
338
+ if (!r.sdkCallOk && r.sdkCallError) {
339
+ lines.push(`- **SDK error**: ${r.sdkCallError}`);
340
+ }
341
+ lines.push("");
342
+
343
+ if (r.sdkResponsePreview) {
344
+ lines.push("**SDK response (preview)**");
345
+ lines.push("");
346
+ lines.push("```json");
347
+ lines.push(r.sdkResponsePreview);
348
+ lines.push("```");
349
+ lines.push("");
350
+ }
351
+ }
352
+
353
+ writeFileSync(reportPath, lines.join("\n"));
354
+
355
+ // eslint-disable-next-line no-console
356
+ console.log(`Report generated: ${reportPath}`);
357
+ // eslint-disable-next-line no-console
358
+ console.log(
359
+ `Summary: total=${total} pass=${passed} fail=${failed} skip=${skipped}`,
360
+ );
361
+ }
362
+
363
+ async function main(): Promise<void> {
364
+ const spec = loadOpenAPISpec();
365
+ const endpoints = extractNonGetEndpoints(spec);
366
+ const fixtures = readFixtures();
367
+
368
+ const baseUrl: string =
369
+ process.env.FASTPIX_BASE_URL ??
370
+ ((spec.servers?.[0]?.url as string | undefined) ??
371
+ "https://api.fastpix.com/v1/");
372
+
373
+ const username = "eb4cc5ac-ced5-416b-b3ca-3d82b00c50b9";
374
+ const password = "6629fc38-aba8-452a-b2ef-0a4e5cc49a10";
375
+
376
+ if (!username || !password) {
377
+ throw new Error(
378
+ "Missing FASTPIX_USERNAME / FASTPIX_PASSWORD env vars (BasicAuth)",
379
+ );
380
+ }
381
+
382
+ const sdkClient = new Fastpix({
383
+ security: { username, password },
384
+ serverURL: baseUrl,
385
+ });
386
+
387
+ const results: EndpointResult[] = [];
388
+ const total = endpoints.length;
389
+
390
+ for (let i = 0; i < endpoints.length; i++) {
391
+ const ep = endpoints[i];
392
+ // eslint-disable-next-line no-console
393
+ console.log(
394
+ `[${i + 1}/${total}] ${ep.method} ${ep.path} (${ep.operationId})`,
395
+ );
396
+
397
+ const opFixture = fixtures.operations?.[ep.operationId];
398
+
399
+ // Skip when no fixture, no request body, or explicitly skipped.
400
+ if (!opFixture || opFixture.skip === true || !opFixture.request) {
401
+ const reason =
402
+ opFixture?.skip === true
403
+ ? `Explicitly skipped${opFixture.reason ? `: ${opFixture.reason}` : ""}`
404
+ : "No fixture entry — add one to non-get-endpoints-fixtures.json to enable";
405
+ results.push({
406
+ endpoint: ep.path,
407
+ operationId: ep.operationId,
408
+ method: ep.method,
409
+ sdkCallOk: false,
410
+ status: "SKIP",
411
+ note: reason,
412
+ });
413
+ // eslint-disable-next-line no-console
414
+ console.log(` ⏭️ SKIP — ${reason}`);
415
+ continue;
416
+ }
417
+
418
+ const invoker = getSDKInvoker(ep.operationId);
419
+ if (!invoker) {
420
+ results.push({
421
+ endpoint: ep.path,
422
+ operationId: ep.operationId,
423
+ method: ep.method,
424
+ sdkCallOk: false,
425
+ sdkCallError: "No SDK invoker mapping for this operationId",
426
+ status: "FAIL",
427
+ note: "Add a mapping in getSDKInvoker() in validate-non-get-endpoints.ts",
428
+ });
429
+ // eslint-disable-next-line no-console
430
+ console.error(` ✗ No SDK invoker for ${ep.operationId}`);
431
+ continue;
432
+ }
433
+
434
+ let sdkCallOk = true;
435
+ let sdkCallError: string | undefined;
436
+ let sdkPrinted: any = null;
437
+
438
+ try {
439
+ const sdkCallPromise = invoker(sdkClient, opFixture.request);
440
+ const timeoutPromise = new Promise((_, reject) =>
441
+ setTimeout(() => reject(new Error("SDK call timeout (30s)")), 30000),
442
+ );
443
+ const sdkRes = await Promise.race([sdkCallPromise, timeoutPromise]);
444
+ sdkPrinted = sdkRes;
445
+ } catch (e: any) {
446
+ sdkCallOk = false;
447
+ sdkCallError = e?.message ?? String(e);
448
+ sdkPrinted = normalizeSdkError(e);
449
+ // eslint-disable-next-line no-console
450
+ console.error(` ⚠️ SDK call failed: ${sdkCallError}`);
451
+ }
452
+
453
+ const artifact = writeArtifactFile(ep.operationId, sdkPrinted);
454
+
455
+ results.push({
456
+ endpoint: ep.path,
457
+ operationId: ep.operationId,
458
+ method: ep.method,
459
+ sdkCallOk,
460
+ sdkCallError,
461
+ sdkResponseFile: artifact.sdkPath,
462
+ sdkResponsePreview: artifact.sdkPreview,
463
+ status: sdkCallOk ? "PASS" : "FAIL",
464
+ });
465
+
466
+ // eslint-disable-next-line no-console
467
+ console.log(` ${sdkCallOk ? "✓" : "✗"} ${ep.operationId} — ${sdkCallOk ? "PASS" : "FAIL"}`);
468
+ }
469
+
470
+ writeReport(results);
471
+ }
472
+
473
+ main().catch((err) => {
474
+ // eslint-disable-next-line no-console
475
+ console.error("Fatal error:", err);
476
+ process.exit(1);
477
+ });