ima2-gen 1.1.13 → 1.1.16

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 (807) hide show
  1. package/README.md +31 -7
  2. package/bin/commands/capabilities.js +5 -0
  3. package/bin/commands/capabilities.ts +5 -0
  4. package/bin/commands/doctor.js +195 -0
  5. package/bin/commands/doctor.ts +202 -0
  6. package/bin/commands/edit.js +6 -6
  7. package/bin/commands/edit.ts +6 -6
  8. package/bin/commands/gen.js +6 -6
  9. package/bin/commands/gen.ts +6 -6
  10. package/bin/commands/grok.js +61 -0
  11. package/bin/commands/grok.ts +67 -0
  12. package/bin/commands/multimode.js +3 -3
  13. package/bin/commands/multimode.ts +3 -3
  14. package/bin/commands/node.js +4 -4
  15. package/bin/commands/node.ts +4 -4
  16. package/bin/ima2.js +5 -105
  17. package/bin/ima2.ts +5 -109
  18. package/config.js +17 -0
  19. package/config.ts +21 -0
  20. package/docs/API.md +77 -8
  21. package/docs/CLI.md +65 -3
  22. package/docs/FAQ.ko.md +82 -2
  23. package/docs/FAQ.md +85 -2
  24. package/docs/PROMPT_STUDIO.ko.md +111 -0
  25. package/docs/PROMPT_STUDIO.md +115 -0
  26. package/docs/README.ko.md +27 -7
  27. package/docs/grok-video-i2v-plan.md +419 -0
  28. package/docs/grok-video-i2v-research.md +204 -0
  29. package/docs/migration/runtime-test-inventory.md +12 -1
  30. package/lib/agentRuntime.js +88 -19
  31. package/lib/agentRuntime.ts +97 -29
  32. package/lib/agentSettings.js +1 -1
  33. package/lib/agentSettings.ts +1 -1
  34. package/lib/agentTypes.ts +1 -1
  35. package/lib/capabilities.js +10 -2
  36. package/lib/capabilities.ts +10 -2
  37. package/lib/configKeys.js +6 -0
  38. package/lib/configKeys.ts +6 -1
  39. package/lib/errorClassify.js +1 -1
  40. package/lib/errorClassify.ts +1 -1
  41. package/lib/generationErrors.js +121 -23
  42. package/lib/generationErrors.ts +100 -13
  43. package/lib/grokImageAdapter.js +364 -0
  44. package/lib/grokImageAdapter.ts +483 -0
  45. package/lib/grokMultimodeAdapter.js +54 -0
  46. package/lib/grokMultimodeAdapter.ts +84 -0
  47. package/lib/grokProxyLauncher.js +105 -0
  48. package/lib/grokProxyLauncher.ts +129 -0
  49. package/lib/grokRuntime.js +18 -0
  50. package/lib/grokRuntime.ts +23 -0
  51. package/lib/grokSizeMapper.js +63 -0
  52. package/lib/grokSizeMapper.ts +71 -0
  53. package/lib/grokVideoAdapter.js +374 -0
  54. package/lib/grokVideoAdapter.ts +438 -0
  55. package/lib/historyList.js +5 -1
  56. package/lib/historyList.ts +5 -1
  57. package/lib/imageMetadata.js +2 -0
  58. package/lib/imageMetadata.ts +2 -0
  59. package/lib/imageModels.js +101 -0
  60. package/lib/imageModels.ts +111 -0
  61. package/lib/providerOptions.js +15 -1
  62. package/lib/providerOptions.ts +15 -1
  63. package/lib/responsesDoctor.js +386 -0
  64. package/lib/responsesDoctor.ts +456 -0
  65. package/lib/responsesErrors.js +57 -0
  66. package/lib/responsesErrors.ts +83 -0
  67. package/lib/responsesFallback.js +72 -0
  68. package/lib/responsesFallback.ts +114 -0
  69. package/lib/responsesImageAdapter.js +121 -174
  70. package/lib/responsesImageAdapter.ts +136 -211
  71. package/lib/responsesParse.js +324 -0
  72. package/lib/responsesParse.ts +452 -0
  73. package/lib/responsesTools.js +15 -0
  74. package/lib/responsesTools.ts +28 -0
  75. package/lib/runtimeContext.js +12 -0
  76. package/lib/runtimeContext.ts +15 -0
  77. package/node_modules/array-flatten/LICENSE +21 -0
  78. package/node_modules/array-flatten/README.md +43 -0
  79. package/node_modules/array-flatten/array-flatten.js +64 -0
  80. package/node_modules/array-flatten/package.json +39 -0
  81. package/node_modules/bundle-name/index.js +5 -0
  82. package/node_modules/bundle-name/license +9 -0
  83. package/node_modules/bundle-name/package.json +45 -0
  84. package/node_modules/bundle-name/readme.md +23 -0
  85. package/node_modules/bytes/History.md +97 -0
  86. package/node_modules/bytes/LICENSE +23 -0
  87. package/node_modules/bytes/Readme.md +152 -0
  88. package/node_modules/bytes/index.js +170 -0
  89. package/node_modules/bytes/package.json +42 -0
  90. package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  91. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  92. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  93. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  94. package/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  95. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  96. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  97. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  98. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  99. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  100. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  101. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  102. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  103. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  104. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  105. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  106. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  107. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  108. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  109. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  110. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  111. package/node_modules/call-bound/.eslintrc +13 -0
  112. package/node_modules/call-bound/.github/FUNDING.yml +12 -0
  113. package/node_modules/call-bound/.nycrc +9 -0
  114. package/node_modules/call-bound/CHANGELOG.md +42 -0
  115. package/node_modules/call-bound/LICENSE +21 -0
  116. package/node_modules/call-bound/README.md +53 -0
  117. package/node_modules/call-bound/index.d.ts +94 -0
  118. package/node_modules/call-bound/index.js +19 -0
  119. package/node_modules/call-bound/package.json +99 -0
  120. package/node_modules/call-bound/test/index.js +61 -0
  121. package/node_modules/call-bound/tsconfig.json +10 -0
  122. package/node_modules/commander/LICENSE +22 -0
  123. package/node_modules/commander/Readme.md +1149 -0
  124. package/node_modules/commander/esm.mjs +16 -0
  125. package/node_modules/commander/index.js +24 -0
  126. package/node_modules/commander/lib/argument.js +149 -0
  127. package/node_modules/commander/lib/command.js +2662 -0
  128. package/node_modules/commander/lib/error.js +39 -0
  129. package/node_modules/commander/lib/help.js +709 -0
  130. package/node_modules/commander/lib/option.js +367 -0
  131. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  132. package/node_modules/commander/package-support.json +16 -0
  133. package/node_modules/commander/package.json +82 -0
  134. package/node_modules/commander/typings/esm.d.mts +3 -0
  135. package/node_modules/commander/typings/index.d.ts +1045 -0
  136. package/node_modules/content-type/HISTORY.md +29 -0
  137. package/node_modules/content-type/LICENSE +22 -0
  138. package/node_modules/content-type/README.md +94 -0
  139. package/node_modules/content-type/index.js +225 -0
  140. package/node_modules/content-type/package.json +42 -0
  141. package/node_modules/cookie/LICENSE +24 -0
  142. package/node_modules/cookie/README.md +317 -0
  143. package/node_modules/cookie/SECURITY.md +25 -0
  144. package/node_modules/cookie/index.js +335 -0
  145. package/node_modules/cookie/package.json +44 -0
  146. package/node_modules/default-browser/index.d.ts +29 -0
  147. package/node_modules/default-browser/index.js +34 -0
  148. package/node_modules/default-browser/license +9 -0
  149. package/node_modules/default-browser/package.json +54 -0
  150. package/node_modules/default-browser/readme.md +24 -0
  151. package/node_modules/default-browser/windows.js +57 -0
  152. package/node_modules/default-browser-id/index.js +25 -0
  153. package/node_modules/default-browser-id/license +9 -0
  154. package/node_modules/default-browser-id/package.json +41 -0
  155. package/node_modules/default-browser-id/readme.md +19 -0
  156. package/node_modules/define-lazy-prop/index.d.ts +31 -0
  157. package/node_modules/define-lazy-prop/index.js +18 -0
  158. package/node_modules/define-lazy-prop/license +9 -0
  159. package/node_modules/define-lazy-prop/package.json +51 -0
  160. package/node_modules/define-lazy-prop/readme.md +55 -0
  161. package/node_modules/depd/History.md +103 -0
  162. package/node_modules/depd/LICENSE +22 -0
  163. package/node_modules/depd/Readme.md +280 -0
  164. package/node_modules/depd/index.js +538 -0
  165. package/node_modules/depd/lib/browser/index.js +77 -0
  166. package/node_modules/depd/package.json +45 -0
  167. package/node_modules/destroy/LICENSE +23 -0
  168. package/node_modules/destroy/README.md +63 -0
  169. package/node_modules/destroy/index.js +209 -0
  170. package/node_modules/destroy/package.json +48 -0
  171. package/node_modules/dunder-proto/.eslintrc +5 -0
  172. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  173. package/node_modules/dunder-proto/.nycrc +13 -0
  174. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  175. package/node_modules/dunder-proto/LICENSE +21 -0
  176. package/node_modules/dunder-proto/README.md +54 -0
  177. package/node_modules/dunder-proto/get.d.ts +5 -0
  178. package/node_modules/dunder-proto/get.js +30 -0
  179. package/node_modules/dunder-proto/package.json +76 -0
  180. package/node_modules/dunder-proto/set.d.ts +5 -0
  181. package/node_modules/dunder-proto/set.js +35 -0
  182. package/node_modules/dunder-proto/test/get.js +34 -0
  183. package/node_modules/dunder-proto/test/index.js +4 -0
  184. package/node_modules/dunder-proto/test/set.js +50 -0
  185. package/node_modules/dunder-proto/tsconfig.json +9 -0
  186. package/node_modules/ee-first/LICENSE +22 -0
  187. package/node_modules/ee-first/README.md +80 -0
  188. package/node_modules/ee-first/index.js +95 -0
  189. package/node_modules/ee-first/package.json +29 -0
  190. package/node_modules/encodeurl/LICENSE +22 -0
  191. package/node_modules/encodeurl/README.md +109 -0
  192. package/node_modules/encodeurl/index.js +60 -0
  193. package/node_modules/encodeurl/package.json +40 -0
  194. package/node_modules/es-define-property/.eslintrc +13 -0
  195. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  196. package/node_modules/es-define-property/.nycrc +9 -0
  197. package/node_modules/es-define-property/CHANGELOG.md +29 -0
  198. package/node_modules/es-define-property/LICENSE +21 -0
  199. package/node_modules/es-define-property/README.md +49 -0
  200. package/node_modules/es-define-property/index.d.ts +3 -0
  201. package/node_modules/es-define-property/index.js +14 -0
  202. package/node_modules/es-define-property/package.json +81 -0
  203. package/node_modules/es-define-property/test/index.js +56 -0
  204. package/node_modules/es-define-property/tsconfig.json +10 -0
  205. package/node_modules/es-errors/.eslintrc +5 -0
  206. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  207. package/node_modules/es-errors/CHANGELOG.md +40 -0
  208. package/node_modules/es-errors/LICENSE +21 -0
  209. package/node_modules/es-errors/README.md +55 -0
  210. package/node_modules/es-errors/eval.d.ts +3 -0
  211. package/node_modules/es-errors/eval.js +4 -0
  212. package/node_modules/es-errors/index.d.ts +3 -0
  213. package/node_modules/es-errors/index.js +4 -0
  214. package/node_modules/es-errors/package.json +80 -0
  215. package/node_modules/es-errors/range.d.ts +3 -0
  216. package/node_modules/es-errors/range.js +4 -0
  217. package/node_modules/es-errors/ref.d.ts +3 -0
  218. package/node_modules/es-errors/ref.js +4 -0
  219. package/node_modules/es-errors/syntax.d.ts +3 -0
  220. package/node_modules/es-errors/syntax.js +4 -0
  221. package/node_modules/es-errors/test/index.js +19 -0
  222. package/node_modules/es-errors/tsconfig.json +49 -0
  223. package/node_modules/es-errors/type.d.ts +3 -0
  224. package/node_modules/es-errors/type.js +4 -0
  225. package/node_modules/es-errors/uri.d.ts +3 -0
  226. package/node_modules/es-errors/uri.js +4 -0
  227. package/node_modules/es-object-atoms/.eslintrc +16 -0
  228. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  229. package/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  230. package/node_modules/es-object-atoms/LICENSE +21 -0
  231. package/node_modules/es-object-atoms/README.md +63 -0
  232. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  233. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  234. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  235. package/node_modules/es-object-atoms/ToObject.js +10 -0
  236. package/node_modules/es-object-atoms/index.d.ts +3 -0
  237. package/node_modules/es-object-atoms/index.js +4 -0
  238. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  239. package/node_modules/es-object-atoms/isObject.js +6 -0
  240. package/node_modules/es-object-atoms/package.json +80 -0
  241. package/node_modules/es-object-atoms/test/index.js +38 -0
  242. package/node_modules/es-object-atoms/tsconfig.json +6 -0
  243. package/node_modules/escape-html/LICENSE +24 -0
  244. package/node_modules/escape-html/Readme.md +43 -0
  245. package/node_modules/escape-html/index.js +78 -0
  246. package/node_modules/escape-html/package.json +24 -0
  247. package/node_modules/etag/HISTORY.md +83 -0
  248. package/node_modules/etag/LICENSE +22 -0
  249. package/node_modules/etag/README.md +159 -0
  250. package/node_modules/etag/index.js +131 -0
  251. package/node_modules/etag/package.json +47 -0
  252. package/node_modules/forwarded/HISTORY.md +21 -0
  253. package/node_modules/forwarded/LICENSE +22 -0
  254. package/node_modules/forwarded/README.md +57 -0
  255. package/node_modules/forwarded/index.js +90 -0
  256. package/node_modules/forwarded/package.json +45 -0
  257. package/node_modules/function-bind/.eslintrc +21 -0
  258. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  259. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  260. package/node_modules/function-bind/.nycrc +13 -0
  261. package/node_modules/function-bind/CHANGELOG.md +136 -0
  262. package/node_modules/function-bind/LICENSE +20 -0
  263. package/node_modules/function-bind/README.md +46 -0
  264. package/node_modules/function-bind/implementation.js +84 -0
  265. package/node_modules/function-bind/index.js +5 -0
  266. package/node_modules/function-bind/package.json +87 -0
  267. package/node_modules/function-bind/test/.eslintrc +9 -0
  268. package/node_modules/function-bind/test/index.js +252 -0
  269. package/node_modules/get-intrinsic/.eslintrc +42 -0
  270. package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  271. package/node_modules/get-intrinsic/.nycrc +9 -0
  272. package/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  273. package/node_modules/get-intrinsic/LICENSE +21 -0
  274. package/node_modules/get-intrinsic/README.md +71 -0
  275. package/node_modules/get-intrinsic/index.js +378 -0
  276. package/node_modules/get-intrinsic/package.json +97 -0
  277. package/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  278. package/node_modules/get-proto/.eslintrc +10 -0
  279. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  280. package/node_modules/get-proto/.nycrc +9 -0
  281. package/node_modules/get-proto/CHANGELOG.md +21 -0
  282. package/node_modules/get-proto/LICENSE +21 -0
  283. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  284. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  285. package/node_modules/get-proto/README.md +50 -0
  286. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  287. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  288. package/node_modules/get-proto/index.d.ts +5 -0
  289. package/node_modules/get-proto/index.js +27 -0
  290. package/node_modules/get-proto/package.json +81 -0
  291. package/node_modules/get-proto/test/index.js +68 -0
  292. package/node_modules/get-proto/tsconfig.json +9 -0
  293. package/node_modules/gopd/.eslintrc +16 -0
  294. package/node_modules/gopd/.github/FUNDING.yml +12 -0
  295. package/node_modules/gopd/CHANGELOG.md +45 -0
  296. package/node_modules/gopd/LICENSE +21 -0
  297. package/node_modules/gopd/README.md +40 -0
  298. package/node_modules/gopd/gOPD.d.ts +1 -0
  299. package/node_modules/gopd/gOPD.js +4 -0
  300. package/node_modules/gopd/index.d.ts +5 -0
  301. package/node_modules/gopd/index.js +15 -0
  302. package/node_modules/gopd/package.json +77 -0
  303. package/node_modules/gopd/test/index.js +36 -0
  304. package/node_modules/gopd/tsconfig.json +9 -0
  305. package/node_modules/has-symbols/.eslintrc +11 -0
  306. package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  307. package/node_modules/has-symbols/.nycrc +9 -0
  308. package/node_modules/has-symbols/CHANGELOG.md +91 -0
  309. package/node_modules/has-symbols/LICENSE +21 -0
  310. package/node_modules/has-symbols/README.md +46 -0
  311. package/node_modules/has-symbols/index.d.ts +3 -0
  312. package/node_modules/has-symbols/index.js +14 -0
  313. package/node_modules/has-symbols/package.json +111 -0
  314. package/node_modules/has-symbols/shams.d.ts +3 -0
  315. package/node_modules/has-symbols/shams.js +45 -0
  316. package/node_modules/has-symbols/test/index.js +22 -0
  317. package/node_modules/has-symbols/test/shams/core-js.js +29 -0
  318. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  319. package/node_modules/has-symbols/test/tests.js +58 -0
  320. package/node_modules/has-symbols/tsconfig.json +10 -0
  321. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  322. package/node_modules/hasown/.nycrc +13 -0
  323. package/node_modules/hasown/CHANGELOG.md +51 -0
  324. package/node_modules/hasown/LICENSE +21 -0
  325. package/node_modules/hasown/README.md +40 -0
  326. package/node_modules/hasown/eslint.config.mjs +6 -0
  327. package/node_modules/hasown/index.d.ts +4 -0
  328. package/node_modules/hasown/index.js +8 -0
  329. package/node_modules/hasown/package.json +92 -0
  330. package/node_modules/hasown/tsconfig.json +6 -0
  331. package/node_modules/http-errors/HISTORY.md +186 -0
  332. package/node_modules/http-errors/LICENSE +23 -0
  333. package/node_modules/http-errors/README.md +169 -0
  334. package/node_modules/http-errors/index.js +290 -0
  335. package/node_modules/http-errors/package.json +54 -0
  336. package/node_modules/inherits/LICENSE +16 -0
  337. package/node_modules/inherits/README.md +42 -0
  338. package/node_modules/inherits/inherits.js +9 -0
  339. package/node_modules/inherits/inherits_browser.js +27 -0
  340. package/node_modules/inherits/package.json +29 -0
  341. package/node_modules/ipaddr.js/LICENSE +19 -0
  342. package/node_modules/ipaddr.js/README.md +233 -0
  343. package/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  344. package/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  345. package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  346. package/node_modules/ipaddr.js/package.json +35 -0
  347. package/node_modules/is-docker/cli.js +5 -0
  348. package/node_modules/is-docker/index.d.ts +13 -0
  349. package/node_modules/is-docker/index.js +29 -0
  350. package/node_modules/is-docker/license +9 -0
  351. package/node_modules/is-docker/package.json +44 -0
  352. package/node_modules/is-docker/readme.md +27 -0
  353. package/node_modules/is-inside-container/cli.js +5 -0
  354. package/node_modules/is-inside-container/index.d.ts +13 -0
  355. package/node_modules/is-inside-container/index.js +23 -0
  356. package/node_modules/is-inside-container/license +9 -0
  357. package/node_modules/is-inside-container/package.json +51 -0
  358. package/node_modules/is-inside-container/readme.md +36 -0
  359. package/node_modules/is-wsl/index.d.ts +15 -0
  360. package/node_modules/is-wsl/index.js +36 -0
  361. package/node_modules/is-wsl/license +9 -0
  362. package/node_modules/is-wsl/package.json +58 -0
  363. package/node_modules/is-wsl/readme.md +21 -0
  364. package/node_modules/math-intrinsics/.eslintrc +16 -0
  365. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  366. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  367. package/node_modules/math-intrinsics/LICENSE +21 -0
  368. package/node_modules/math-intrinsics/README.md +50 -0
  369. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  370. package/node_modules/math-intrinsics/abs.js +4 -0
  371. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  372. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  373. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  374. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  375. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  376. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  377. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  378. package/node_modules/math-intrinsics/floor.js +4 -0
  379. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  380. package/node_modules/math-intrinsics/isFinite.js +12 -0
  381. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  382. package/node_modules/math-intrinsics/isInteger.js +16 -0
  383. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  384. package/node_modules/math-intrinsics/isNaN.js +6 -0
  385. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  386. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  387. package/node_modules/math-intrinsics/max.d.ts +1 -0
  388. package/node_modules/math-intrinsics/max.js +4 -0
  389. package/node_modules/math-intrinsics/min.d.ts +1 -0
  390. package/node_modules/math-intrinsics/min.js +4 -0
  391. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  392. package/node_modules/math-intrinsics/mod.js +9 -0
  393. package/node_modules/math-intrinsics/package.json +86 -0
  394. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  395. package/node_modules/math-intrinsics/pow.js +4 -0
  396. package/node_modules/math-intrinsics/round.d.ts +1 -0
  397. package/node_modules/math-intrinsics/round.js +4 -0
  398. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  399. package/node_modules/math-intrinsics/sign.js +11 -0
  400. package/node_modules/math-intrinsics/test/index.js +192 -0
  401. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  402. package/node_modules/methods/HISTORY.md +29 -0
  403. package/node_modules/methods/LICENSE +24 -0
  404. package/node_modules/methods/README.md +51 -0
  405. package/node_modules/methods/index.js +69 -0
  406. package/node_modules/methods/package.json +36 -0
  407. package/node_modules/mime/.npmignore +0 -0
  408. package/node_modules/mime/CHANGELOG.md +164 -0
  409. package/node_modules/mime/LICENSE +21 -0
  410. package/node_modules/mime/README.md +90 -0
  411. package/node_modules/mime/cli.js +8 -0
  412. package/node_modules/mime/mime.js +108 -0
  413. package/node_modules/mime/package.json +44 -0
  414. package/node_modules/mime/src/build.js +53 -0
  415. package/node_modules/mime/src/test.js +60 -0
  416. package/node_modules/mime/types.json +1 -0
  417. package/node_modules/ms/index.js +162 -0
  418. package/node_modules/ms/license.md +21 -0
  419. package/node_modules/ms/package.json +38 -0
  420. package/node_modules/ms/readme.md +59 -0
  421. package/node_modules/object-inspect/.eslintrc +53 -0
  422. package/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  423. package/node_modules/object-inspect/.nycrc +13 -0
  424. package/node_modules/object-inspect/CHANGELOG.md +424 -0
  425. package/node_modules/object-inspect/LICENSE +21 -0
  426. package/node_modules/object-inspect/example/all.js +23 -0
  427. package/node_modules/object-inspect/example/circular.js +6 -0
  428. package/node_modules/object-inspect/example/fn.js +5 -0
  429. package/node_modules/object-inspect/example/inspect.js +10 -0
  430. package/node_modules/object-inspect/index.js +544 -0
  431. package/node_modules/object-inspect/package-support.json +20 -0
  432. package/node_modules/object-inspect/package.json +105 -0
  433. package/node_modules/object-inspect/readme.markdown +84 -0
  434. package/node_modules/object-inspect/test/bigint.js +58 -0
  435. package/node_modules/object-inspect/test/browser/dom.js +15 -0
  436. package/node_modules/object-inspect/test/circular.js +16 -0
  437. package/node_modules/object-inspect/test/deep.js +12 -0
  438. package/node_modules/object-inspect/test/element.js +53 -0
  439. package/node_modules/object-inspect/test/err.js +48 -0
  440. package/node_modules/object-inspect/test/fakes.js +29 -0
  441. package/node_modules/object-inspect/test/fn.js +76 -0
  442. package/node_modules/object-inspect/test/global.js +17 -0
  443. package/node_modules/object-inspect/test/has.js +15 -0
  444. package/node_modules/object-inspect/test/holes.js +15 -0
  445. package/node_modules/object-inspect/test/indent-option.js +271 -0
  446. package/node_modules/object-inspect/test/inspect.js +139 -0
  447. package/node_modules/object-inspect/test/lowbyte.js +12 -0
  448. package/node_modules/object-inspect/test/number.js +58 -0
  449. package/node_modules/object-inspect/test/quoteStyle.js +26 -0
  450. package/node_modules/object-inspect/test/toStringTag.js +40 -0
  451. package/node_modules/object-inspect/test/undef.js +12 -0
  452. package/node_modules/object-inspect/test/values.js +261 -0
  453. package/node_modules/object-inspect/test-core-js.js +26 -0
  454. package/node_modules/object-inspect/util.inspect.js +1 -0
  455. package/node_modules/on-finished/HISTORY.md +98 -0
  456. package/node_modules/on-finished/LICENSE +23 -0
  457. package/node_modules/on-finished/README.md +162 -0
  458. package/node_modules/on-finished/index.js +234 -0
  459. package/node_modules/on-finished/package.json +39 -0
  460. package/node_modules/open/index.d.ts +158 -0
  461. package/node_modules/open/index.js +366 -0
  462. package/node_modules/open/license +9 -0
  463. package/node_modules/open/node_modules/wsl-utils/index.d.ts +21 -0
  464. package/node_modules/open/node_modules/wsl-utils/index.js +57 -0
  465. package/node_modules/open/node_modules/wsl-utils/license +9 -0
  466. package/node_modules/open/node_modules/wsl-utils/package.json +46 -0
  467. package/node_modules/open/node_modules/wsl-utils/readme.md +50 -0
  468. package/node_modules/open/package.json +68 -0
  469. package/node_modules/open/readme.md +183 -0
  470. package/node_modules/open/xdg-open +1267 -0
  471. package/node_modules/parseurl/HISTORY.md +58 -0
  472. package/node_modules/parseurl/LICENSE +24 -0
  473. package/node_modules/parseurl/README.md +133 -0
  474. package/node_modules/parseurl/index.js +158 -0
  475. package/node_modules/parseurl/package.json +40 -0
  476. package/node_modules/progrok/LICENSE +21 -0
  477. package/node_modules/progrok/README.md +53 -0
  478. package/node_modules/progrok/THIRD_PARTY_NOTICES.md +13 -0
  479. package/node_modules/progrok/dist/index.js +1142 -0
  480. package/node_modules/progrok/dist/index.js.map +1 -0
  481. package/node_modules/progrok/dist/public/app.js +529 -0
  482. package/node_modules/progrok/dist/public/index.html +47 -0
  483. package/node_modules/progrok/dist/public/style.css +392 -0
  484. package/node_modules/progrok/node_modules/accepts/HISTORY.md +243 -0
  485. package/node_modules/progrok/node_modules/accepts/LICENSE +23 -0
  486. package/node_modules/progrok/node_modules/accepts/README.md +140 -0
  487. package/node_modules/progrok/node_modules/accepts/index.js +238 -0
  488. package/node_modules/progrok/node_modules/accepts/package.json +47 -0
  489. package/node_modules/progrok/node_modules/body-parser/HISTORY.md +686 -0
  490. package/node_modules/progrok/node_modules/body-parser/LICENSE +23 -0
  491. package/node_modules/progrok/node_modules/body-parser/README.md +476 -0
  492. package/node_modules/progrok/node_modules/body-parser/index.js +156 -0
  493. package/node_modules/progrok/node_modules/body-parser/lib/read.js +205 -0
  494. package/node_modules/progrok/node_modules/body-parser/lib/types/json.js +243 -0
  495. package/node_modules/progrok/node_modules/body-parser/lib/types/raw.js +101 -0
  496. package/node_modules/progrok/node_modules/body-parser/lib/types/text.js +121 -0
  497. package/node_modules/progrok/node_modules/body-parser/lib/types/urlencoded.js +299 -0
  498. package/node_modules/progrok/node_modules/body-parser/package.json +55 -0
  499. package/node_modules/progrok/node_modules/content-disposition/HISTORY.md +60 -0
  500. package/node_modules/progrok/node_modules/content-disposition/LICENSE +22 -0
  501. package/node_modules/progrok/node_modules/content-disposition/README.md +142 -0
  502. package/node_modules/progrok/node_modules/content-disposition/index.js +458 -0
  503. package/node_modules/progrok/node_modules/content-disposition/package.json +44 -0
  504. package/node_modules/progrok/node_modules/cookie-signature/History.md +42 -0
  505. package/node_modules/progrok/node_modules/cookie-signature/Readme.md +42 -0
  506. package/node_modules/progrok/node_modules/cookie-signature/index.js +51 -0
  507. package/node_modules/progrok/node_modules/cookie-signature/package.json +18 -0
  508. package/node_modules/progrok/node_modules/debug/.coveralls.yml +1 -0
  509. package/node_modules/progrok/node_modules/debug/.eslintrc +11 -0
  510. package/node_modules/progrok/node_modules/debug/.npmignore +9 -0
  511. package/node_modules/progrok/node_modules/debug/.travis.yml +14 -0
  512. package/node_modules/progrok/node_modules/debug/CHANGELOG.md +362 -0
  513. package/node_modules/progrok/node_modules/debug/LICENSE +19 -0
  514. package/node_modules/progrok/node_modules/debug/Makefile +50 -0
  515. package/node_modules/progrok/node_modules/debug/README.md +312 -0
  516. package/node_modules/progrok/node_modules/debug/component.json +19 -0
  517. package/node_modules/progrok/node_modules/debug/karma.conf.js +70 -0
  518. package/node_modules/progrok/node_modules/debug/node.js +1 -0
  519. package/node_modules/progrok/node_modules/debug/node_modules/ms/index.js +152 -0
  520. package/node_modules/progrok/node_modules/debug/node_modules/ms/license.md +21 -0
  521. package/node_modules/progrok/node_modules/debug/node_modules/ms/package.json +37 -0
  522. package/node_modules/progrok/node_modules/debug/node_modules/ms/readme.md +51 -0
  523. package/node_modules/progrok/node_modules/debug/package.json +49 -0
  524. package/node_modules/progrok/node_modules/debug/src/browser.js +185 -0
  525. package/node_modules/progrok/node_modules/debug/src/debug.js +202 -0
  526. package/node_modules/progrok/node_modules/debug/src/index.js +10 -0
  527. package/node_modules/progrok/node_modules/debug/src/inspector-log.js +15 -0
  528. package/node_modules/progrok/node_modules/debug/src/node.js +248 -0
  529. package/node_modules/progrok/node_modules/express/History.md +3676 -0
  530. package/node_modules/progrok/node_modules/express/LICENSE +24 -0
  531. package/node_modules/progrok/node_modules/express/Readme.md +260 -0
  532. package/node_modules/progrok/node_modules/express/index.js +11 -0
  533. package/node_modules/progrok/node_modules/express/lib/application.js +661 -0
  534. package/node_modules/progrok/node_modules/express/lib/express.js +116 -0
  535. package/node_modules/progrok/node_modules/express/lib/middleware/init.js +43 -0
  536. package/node_modules/progrok/node_modules/express/lib/middleware/query.js +47 -0
  537. package/node_modules/progrok/node_modules/express/lib/request.js +525 -0
  538. package/node_modules/progrok/node_modules/express/lib/response.js +1179 -0
  539. package/node_modules/progrok/node_modules/express/lib/router/index.js +673 -0
  540. package/node_modules/progrok/node_modules/express/lib/router/layer.js +181 -0
  541. package/node_modules/progrok/node_modules/express/lib/router/route.js +230 -0
  542. package/node_modules/progrok/node_modules/express/lib/utils.js +304 -0
  543. package/node_modules/progrok/node_modules/express/lib/view.js +182 -0
  544. package/node_modules/progrok/node_modules/express/package.json +102 -0
  545. package/node_modules/progrok/node_modules/finalhandler/HISTORY.md +216 -0
  546. package/node_modules/progrok/node_modules/finalhandler/LICENSE +22 -0
  547. package/node_modules/progrok/node_modules/finalhandler/README.md +147 -0
  548. package/node_modules/progrok/node_modules/finalhandler/SECURITY.md +25 -0
  549. package/node_modules/progrok/node_modules/finalhandler/index.js +341 -0
  550. package/node_modules/progrok/node_modules/finalhandler/package.json +47 -0
  551. package/node_modules/progrok/node_modules/fresh/HISTORY.md +70 -0
  552. package/node_modules/progrok/node_modules/fresh/LICENSE +23 -0
  553. package/node_modules/progrok/node_modules/fresh/README.md +119 -0
  554. package/node_modules/progrok/node_modules/fresh/index.js +137 -0
  555. package/node_modules/progrok/node_modules/fresh/package.json +46 -0
  556. package/node_modules/progrok/node_modules/iconv-lite/Changelog.md +162 -0
  557. package/node_modules/progrok/node_modules/iconv-lite/LICENSE +21 -0
  558. package/node_modules/progrok/node_modules/iconv-lite/README.md +156 -0
  559. package/node_modules/progrok/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  560. package/node_modules/progrok/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  561. package/node_modules/progrok/node_modules/iconv-lite/encodings/index.js +22 -0
  562. package/node_modules/progrok/node_modules/iconv-lite/encodings/internal.js +188 -0
  563. package/node_modules/progrok/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  564. package/node_modules/progrok/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  565. package/node_modules/progrok/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  566. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  567. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  568. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  569. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  570. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  571. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  572. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  573. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  574. package/node_modules/progrok/node_modules/iconv-lite/encodings/utf16.js +177 -0
  575. package/node_modules/progrok/node_modules/iconv-lite/encodings/utf7.js +290 -0
  576. package/node_modules/progrok/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  577. package/node_modules/progrok/node_modules/iconv-lite/lib/extend-node.js +217 -0
  578. package/node_modules/progrok/node_modules/iconv-lite/lib/index.d.ts +24 -0
  579. package/node_modules/progrok/node_modules/iconv-lite/lib/index.js +153 -0
  580. package/node_modules/progrok/node_modules/iconv-lite/lib/streams.js +121 -0
  581. package/node_modules/progrok/node_modules/iconv-lite/package.json +46 -0
  582. package/node_modules/progrok/node_modules/media-typer/HISTORY.md +22 -0
  583. package/node_modules/progrok/node_modules/media-typer/LICENSE +22 -0
  584. package/node_modules/progrok/node_modules/media-typer/README.md +81 -0
  585. package/node_modules/progrok/node_modules/media-typer/index.js +270 -0
  586. package/node_modules/progrok/node_modules/media-typer/package.json +26 -0
  587. package/node_modules/progrok/node_modules/merge-descriptors/HISTORY.md +21 -0
  588. package/node_modules/progrok/node_modules/merge-descriptors/LICENSE +23 -0
  589. package/node_modules/progrok/node_modules/merge-descriptors/README.md +49 -0
  590. package/node_modules/progrok/node_modules/merge-descriptors/index.js +60 -0
  591. package/node_modules/progrok/node_modules/merge-descriptors/package.json +39 -0
  592. package/node_modules/progrok/node_modules/mime-db/HISTORY.md +507 -0
  593. package/node_modules/progrok/node_modules/mime-db/LICENSE +23 -0
  594. package/node_modules/progrok/node_modules/mime-db/README.md +100 -0
  595. package/node_modules/progrok/node_modules/mime-db/db.json +8519 -0
  596. package/node_modules/progrok/node_modules/mime-db/index.js +12 -0
  597. package/node_modules/progrok/node_modules/mime-db/package.json +60 -0
  598. package/node_modules/progrok/node_modules/mime-types/HISTORY.md +397 -0
  599. package/node_modules/progrok/node_modules/mime-types/LICENSE +23 -0
  600. package/node_modules/progrok/node_modules/mime-types/README.md +113 -0
  601. package/node_modules/progrok/node_modules/mime-types/index.js +188 -0
  602. package/node_modules/progrok/node_modules/mime-types/package.json +44 -0
  603. package/node_modules/progrok/node_modules/negotiator/HISTORY.md +108 -0
  604. package/node_modules/progrok/node_modules/negotiator/LICENSE +24 -0
  605. package/node_modules/progrok/node_modules/negotiator/README.md +203 -0
  606. package/node_modules/progrok/node_modules/negotiator/index.js +82 -0
  607. package/node_modules/progrok/node_modules/negotiator/lib/charset.js +169 -0
  608. package/node_modules/progrok/node_modules/negotiator/lib/encoding.js +184 -0
  609. package/node_modules/progrok/node_modules/negotiator/lib/language.js +179 -0
  610. package/node_modules/progrok/node_modules/negotiator/lib/mediaType.js +294 -0
  611. package/node_modules/progrok/node_modules/negotiator/package.json +42 -0
  612. package/node_modules/progrok/node_modules/path-to-regexp/LICENSE +21 -0
  613. package/node_modules/progrok/node_modules/path-to-regexp/Readme.md +35 -0
  614. package/node_modules/progrok/node_modules/path-to-regexp/index.js +158 -0
  615. package/node_modules/progrok/node_modules/path-to-regexp/package.json +30 -0
  616. package/node_modules/progrok/node_modules/raw-body/LICENSE +22 -0
  617. package/node_modules/progrok/node_modules/raw-body/README.md +223 -0
  618. package/node_modules/progrok/node_modules/raw-body/index.d.ts +87 -0
  619. package/node_modules/progrok/node_modules/raw-body/index.js +336 -0
  620. package/node_modules/progrok/node_modules/raw-body/package.json +47 -0
  621. package/node_modules/progrok/node_modules/send/HISTORY.md +538 -0
  622. package/node_modules/progrok/node_modules/send/LICENSE +23 -0
  623. package/node_modules/progrok/node_modules/send/README.md +327 -0
  624. package/node_modules/progrok/node_modules/send/SECURITY.md +24 -0
  625. package/node_modules/progrok/node_modules/send/index.js +1142 -0
  626. package/node_modules/progrok/node_modules/send/package.json +62 -0
  627. package/node_modules/progrok/node_modules/serve-static/HISTORY.md +493 -0
  628. package/node_modules/progrok/node_modules/serve-static/LICENSE +25 -0
  629. package/node_modules/progrok/node_modules/serve-static/README.md +257 -0
  630. package/node_modules/progrok/node_modules/serve-static/index.js +209 -0
  631. package/node_modules/progrok/node_modules/serve-static/package.json +42 -0
  632. package/node_modules/progrok/node_modules/type-is/HISTORY.md +259 -0
  633. package/node_modules/progrok/node_modules/type-is/LICENSE +23 -0
  634. package/node_modules/progrok/node_modules/type-is/README.md +170 -0
  635. package/node_modules/progrok/node_modules/type-is/index.js +266 -0
  636. package/node_modules/progrok/node_modules/type-is/package.json +45 -0
  637. package/node_modules/progrok/package.json +52 -0
  638. package/node_modules/progrok/skills/progrok/SKILL.md +228 -0
  639. package/node_modules/proxy-addr/HISTORY.md +161 -0
  640. package/node_modules/proxy-addr/LICENSE +22 -0
  641. package/node_modules/proxy-addr/README.md +139 -0
  642. package/node_modules/proxy-addr/index.js +327 -0
  643. package/node_modules/proxy-addr/package.json +47 -0
  644. package/node_modules/qs/.editorconfig +46 -0
  645. package/node_modules/qs/.github/FUNDING.yml +12 -0
  646. package/node_modules/qs/.github/SECURITY.md +11 -0
  647. package/node_modules/qs/.github/THREAT_MODEL.md +78 -0
  648. package/node_modules/qs/.nycrc +13 -0
  649. package/node_modules/qs/CHANGELOG.md +812 -0
  650. package/node_modules/qs/LICENSE.md +29 -0
  651. package/node_modules/qs/README.md +758 -0
  652. package/node_modules/qs/dist/qs.js +141 -0
  653. package/node_modules/qs/eslint.config.mjs +56 -0
  654. package/node_modules/qs/lib/formats.js +23 -0
  655. package/node_modules/qs/lib/index.js +11 -0
  656. package/node_modules/qs/lib/parse.js +373 -0
  657. package/node_modules/qs/lib/stringify.js +356 -0
  658. package/node_modules/qs/lib/utils.js +342 -0
  659. package/node_modules/qs/package.json +94 -0
  660. package/node_modules/qs/test/empty-keys-cases.js +267 -0
  661. package/node_modules/qs/test/parse.js +1654 -0
  662. package/node_modules/qs/test/stringify.js +1319 -0
  663. package/node_modules/qs/test/utils.js +432 -0
  664. package/node_modules/range-parser/HISTORY.md +56 -0
  665. package/node_modules/range-parser/LICENSE +23 -0
  666. package/node_modules/range-parser/README.md +84 -0
  667. package/node_modules/range-parser/index.js +162 -0
  668. package/node_modules/range-parser/package.json +44 -0
  669. package/node_modules/run-applescript/index.d.ts +66 -0
  670. package/node_modules/run-applescript/index.js +37 -0
  671. package/node_modules/run-applescript/license +9 -0
  672. package/node_modules/run-applescript/package.json +42 -0
  673. package/node_modules/run-applescript/readme.md +78 -0
  674. package/node_modules/safe-buffer/LICENSE +21 -0
  675. package/node_modules/safe-buffer/README.md +584 -0
  676. package/node_modules/safe-buffer/index.d.ts +187 -0
  677. package/node_modules/safe-buffer/index.js +65 -0
  678. package/node_modules/safe-buffer/package.json +51 -0
  679. package/node_modules/safer-buffer/LICENSE +21 -0
  680. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  681. package/node_modules/safer-buffer/Readme.md +156 -0
  682. package/node_modules/safer-buffer/dangerous.js +58 -0
  683. package/node_modules/safer-buffer/package.json +34 -0
  684. package/node_modules/safer-buffer/safer.js +77 -0
  685. package/node_modules/safer-buffer/tests.js +406 -0
  686. package/node_modules/setprototypeof/LICENSE +13 -0
  687. package/node_modules/setprototypeof/README.md +31 -0
  688. package/node_modules/setprototypeof/index.d.ts +2 -0
  689. package/node_modules/setprototypeof/index.js +17 -0
  690. package/node_modules/setprototypeof/package.json +38 -0
  691. package/node_modules/setprototypeof/test/index.js +24 -0
  692. package/node_modules/side-channel/.editorconfig +9 -0
  693. package/node_modules/side-channel/.eslintrc +12 -0
  694. package/node_modules/side-channel/.github/FUNDING.yml +12 -0
  695. package/node_modules/side-channel/.nycrc +13 -0
  696. package/node_modules/side-channel/CHANGELOG.md +110 -0
  697. package/node_modules/side-channel/LICENSE +21 -0
  698. package/node_modules/side-channel/README.md +61 -0
  699. package/node_modules/side-channel/index.d.ts +14 -0
  700. package/node_modules/side-channel/index.js +43 -0
  701. package/node_modules/side-channel/package.json +85 -0
  702. package/node_modules/side-channel/test/index.js +104 -0
  703. package/node_modules/side-channel/tsconfig.json +9 -0
  704. package/node_modules/side-channel-list/.editorconfig +9 -0
  705. package/node_modules/side-channel-list/.eslintrc +11 -0
  706. package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  707. package/node_modules/side-channel-list/.nycrc +13 -0
  708. package/node_modules/side-channel-list/CHANGELOG.md +36 -0
  709. package/node_modules/side-channel-list/LICENSE +21 -0
  710. package/node_modules/side-channel-list/README.md +62 -0
  711. package/node_modules/side-channel-list/index.d.ts +13 -0
  712. package/node_modules/side-channel-list/index.js +111 -0
  713. package/node_modules/side-channel-list/list.d.ts +14 -0
  714. package/node_modules/side-channel-list/package.json +77 -0
  715. package/node_modules/side-channel-list/test/index.js +154 -0
  716. package/node_modules/side-channel-list/tsconfig.json +9 -0
  717. package/node_modules/side-channel-map/.editorconfig +9 -0
  718. package/node_modules/side-channel-map/.eslintrc +11 -0
  719. package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  720. package/node_modules/side-channel-map/.nycrc +13 -0
  721. package/node_modules/side-channel-map/CHANGELOG.md +22 -0
  722. package/node_modules/side-channel-map/LICENSE +21 -0
  723. package/node_modules/side-channel-map/README.md +62 -0
  724. package/node_modules/side-channel-map/index.d.ts +15 -0
  725. package/node_modules/side-channel-map/index.js +68 -0
  726. package/node_modules/side-channel-map/package.json +80 -0
  727. package/node_modules/side-channel-map/test/index.js +114 -0
  728. package/node_modules/side-channel-map/tsconfig.json +9 -0
  729. package/node_modules/side-channel-weakmap/.editorconfig +9 -0
  730. package/node_modules/side-channel-weakmap/.eslintrc +12 -0
  731. package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  732. package/node_modules/side-channel-weakmap/.nycrc +13 -0
  733. package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  734. package/node_modules/side-channel-weakmap/LICENSE +21 -0
  735. package/node_modules/side-channel-weakmap/README.md +62 -0
  736. package/node_modules/side-channel-weakmap/index.d.ts +15 -0
  737. package/node_modules/side-channel-weakmap/index.js +84 -0
  738. package/node_modules/side-channel-weakmap/package.json +87 -0
  739. package/node_modules/side-channel-weakmap/test/index.js +114 -0
  740. package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  741. package/node_modules/statuses/HISTORY.md +87 -0
  742. package/node_modules/statuses/LICENSE +23 -0
  743. package/node_modules/statuses/README.md +139 -0
  744. package/node_modules/statuses/codes.json +65 -0
  745. package/node_modules/statuses/index.js +146 -0
  746. package/node_modules/statuses/package.json +49 -0
  747. package/node_modules/toidentifier/HISTORY.md +9 -0
  748. package/node_modules/toidentifier/LICENSE +21 -0
  749. package/node_modules/toidentifier/README.md +61 -0
  750. package/node_modules/toidentifier/index.js +32 -0
  751. package/node_modules/toidentifier/package.json +38 -0
  752. package/node_modules/unpipe/HISTORY.md +4 -0
  753. package/node_modules/unpipe/LICENSE +22 -0
  754. package/node_modules/unpipe/README.md +43 -0
  755. package/node_modules/unpipe/index.js +69 -0
  756. package/node_modules/unpipe/package.json +27 -0
  757. package/node_modules/utils-merge/.npmignore +9 -0
  758. package/node_modules/utils-merge/LICENSE +20 -0
  759. package/node_modules/utils-merge/README.md +34 -0
  760. package/node_modules/utils-merge/index.js +23 -0
  761. package/node_modules/utils-merge/package.json +40 -0
  762. package/node_modules/vary/HISTORY.md +39 -0
  763. package/node_modules/vary/LICENSE +22 -0
  764. package/node_modules/vary/README.md +101 -0
  765. package/node_modules/vary/index.js +149 -0
  766. package/node_modules/vary/package.json +43 -0
  767. package/package.json +7 -2
  768. package/routes/edit.js +85 -13
  769. package/routes/edit.ts +94 -23
  770. package/routes/generate.js +118 -11
  771. package/routes/generate.ts +127 -10
  772. package/routes/grok.js +22 -0
  773. package/routes/grok.ts +24 -0
  774. package/routes/health.js +5 -0
  775. package/routes/health.ts +5 -0
  776. package/routes/index.js +4 -0
  777. package/routes/index.ts +4 -0
  778. package/routes/multimode.js +71 -26
  779. package/routes/multimode.ts +80 -39
  780. package/routes/nodes.js +88 -33
  781. package/routes/nodes.ts +97 -42
  782. package/routes/video.js +197 -0
  783. package/routes/video.ts +216 -0
  784. package/server.js +42 -1
  785. package/server.ts +34 -1
  786. package/skills/ima2/SKILL.md +27 -0
  787. package/ui/dist/.vite/manifest.json +12 -12
  788. package/ui/dist/assets/AgentWorkspace-c1_kEfFN.js +3 -0
  789. package/ui/dist/assets/{CardNewsWorkspace-BBLdwzYU.js → CardNewsWorkspace-CTBT3MbP.js} +2 -2
  790. package/ui/dist/assets/NodeCanvas-D3ecSAEi.js +7 -0
  791. package/ui/dist/assets/{PromptBuilderPanel-Y2VygFc0.js → PromptBuilderPanel-CqepukCN.js} +2 -2
  792. package/ui/dist/assets/{PromptImportDialog-C6lFV-LL.js → PromptImportDialog-Bvr8Q8P2.js} +2 -2
  793. package/ui/dist/assets/{PromptImportDiscoverySection-D8YJFhND.js → PromptImportDiscoverySection-CyZEXyWP.js} +1 -1
  794. package/ui/dist/assets/{PromptImportFolderSection-ywfcQolW.js → PromptImportFolderSection-CIl-_pyV.js} +1 -1
  795. package/ui/dist/assets/{PromptLibraryPanel-fk4KmrGy.js → PromptLibraryPanel-Bj23Q6l9.js} +2 -2
  796. package/ui/dist/assets/SettingsWorkspace-D_GqtEsP.js +1 -0
  797. package/ui/dist/assets/index-DMjgFXdO.css +1 -0
  798. package/ui/dist/assets/index-DQ6jg4Ui.js +32 -0
  799. package/ui/dist/assets/index-DtSBvfgp.js +1 -0
  800. package/ui/dist/index.html +2 -2
  801. package/vendor/progrok-0.1.0.tgz +0 -0
  802. package/ui/dist/assets/AgentWorkspace-BJe9yxPA.js +0 -3
  803. package/ui/dist/assets/NodeCanvas-BSZ527J4.js +0 -7
  804. package/ui/dist/assets/SettingsWorkspace-DL5vhAHQ.js +0 -1
  805. package/ui/dist/assets/index-BLx55BOg.js +0 -1
  806. package/ui/dist/assets/index-ByViUJfx.css +0 -1
  807. package/ui/dist/assets/index-Ci36vcFD.js +0 -28
@@ -0,0 +1,419 @@
1
+ # Grok Video T2V/I2V Implementation Plan
2
+
3
+ Date: 2026-05-30
4
+ Branch: `feat/grok-video-i2v`
5
+
6
+ ## Goal
7
+
8
+ Add Grok video generation to ima2-gen as a first-class generation surface beside
9
+ `grok` and `grok+`.
10
+
11
+ Supported modes:
12
+
13
+ - **T2V**: text prompt -> video
14
+ - **I2V**: current image / selected asset / node image + prompt -> video
15
+
16
+ The video prompt must go through the same Grok planning layer as current Grok
17
+ image generation:
18
+
19
+ 1. xAI Web Search through `/v1/responses`
20
+ 2. `grok-4.3` planner call with a forced local tool
21
+ 3. server executes xAI `/v1/videos/generations`
22
+ 4. server polls `/v1/videos/{request_id}`
23
+ 5. server downloads and persists the completed `.mp4`
24
+
25
+ Do not send raw user prompts directly to the video endpoint from product flows.
26
+
27
+ ## Screenshot Analysis
28
+
29
+ User-provided screenshot:
30
+
31
+ - The visible layer is a generated image result action row.
32
+ - Current actions: download, copy image, copy prompt, continue here, first node,
33
+ expand/open, delete, more.
34
+ - The natural placement for video is the same artifact action layer:
35
+ **Video / Animate** should live beside `Continue Here` and `First Node`, not in
36
+ a detached settings-only surface.
37
+
38
+ ## Research Summary
39
+
40
+ Full official-spec notes and live progrok request/response logs are in:
41
+
42
+ `docs/grok-video-i2v-research.md`
43
+
44
+ Implementation facts from the research:
45
+
46
+ - model: `grok-imagine-video`
47
+ - endpoint: `POST /v1/videos/generations`
48
+ - poll endpoint: `GET /v1/videos/{request_id}`
49
+ - T2V and I2V both work through progrok at `127.0.0.1:18645`
50
+ - I2V accepts `image.url` and follows source image ratio when `aspect_ratio`
51
+ is omitted
52
+ - resolution v1 scope: `480p` and `720p`
53
+ - duration v1 scope: 1-15 seconds for T2V/I2V
54
+ - poll statuses to handle: `pending`, `done`, `failed`, `expired`
55
+ - completed video URLs are temporary and must be downloaded into local history
56
+
57
+ ## Product Integration
58
+
59
+ ### UI Placement
60
+
61
+ Add video actions at the artifact action layer shown in the screenshot:
62
+
63
+ - `Video` / `Animate` button beside `Continue Here`
64
+ - For image result cards: default mode is I2V using that image as source
65
+ - For prompt-only composer: allow T2V from a video mode dropdown or segmented
66
+ control in the same provider/model layer as `grok` and `grok+`
67
+ - For Node Mode: node result action -> Animate node
68
+ - For Agent Mode: current image action -> Animate, plus Agent tool
69
+ `ima2.generate_video`
70
+
71
+ ### Provider / Model Layer
72
+
73
+ Keep the model layer parallel to current image models:
74
+
75
+ | UI label | model | mode |
76
+ |---|---|---|
77
+ | `grok` | `grok-imagine-image` | image |
78
+ | `grok+` | `grok-imagine-image-quality` | image |
79
+ | `video` | `grok-imagine-video` | video |
80
+
81
+ Video generation still uses `provider: "grok"` because progrok is the runtime.
82
+ Do not create a separate provider named `video`.
83
+
84
+ Do not add `grok-imagine-video` to image model unions or image model helpers.
85
+ The current image helpers classify `grok-` prefixed strings as image models, so
86
+ video needs a separate generation kind:
87
+
88
+ - `provider: "grok"`
89
+ - `generationKind: "image" | "video"`
90
+ - `GrokImageModel = "grok-imagine-image" | "grok-imagine-image-quality"`
91
+ - `GrokVideoModel = "grok-imagine-video"`
92
+
93
+ ### Prompt Pipeline
94
+
95
+ Use a new planner tool rather than direct video endpoint prompts:
96
+
97
+ Tool name: `generate_video`
98
+
99
+ Planner args:
100
+
101
+ ```json
102
+ {
103
+ "prompt": "English final video prompt",
104
+ "model": "grok-imagine-video",
105
+ "mode": "text-to-video",
106
+ "duration": 5,
107
+ "aspect_ratio": "16:9",
108
+ "resolution": "480p"
109
+ }
110
+ ```
111
+
112
+ For I2V:
113
+
114
+ ```json
115
+ {
116
+ "prompt": "English final video prompt",
117
+ "model": "grok-imagine-video",
118
+ "mode": "image-to-video",
119
+ "duration": 5,
120
+ "resolution": "480p"
121
+ }
122
+ ```
123
+
124
+ Prompt requirements:
125
+
126
+ - final video prompt must be English
127
+ - preserve explicitly requested visible text verbatim
128
+ - include motion/camera/action guidance
129
+ - include continuity constraints for I2V:
130
+ - preserve subject identity
131
+ - preserve composition unless asked otherwise
132
+ - use source image as first frame / starting point
133
+
134
+ Product policy:
135
+
136
+ - Always run the Grok planner for product flows, even though upstream I2V can
137
+ technically omit `prompt`.
138
+ - The planner may refine `prompt` and infer `mode`, but UI/request settings win
139
+ for `duration`, `resolution`, and `aspect_ratio`.
140
+ - Always send explicit `duration`; do not rely on upstream defaults.
141
+ - In I2V, include the source image in the planner vision payload so the planner
142
+ can write continuity constraints from the actual image.
143
+ - Keep web search mandatory for v1 parity with existing Grok image behavior.
144
+ A future optimization can skip search for pure local I2V animation.
145
+
146
+ ## Backend Implementation Plan
147
+
148
+ ### Phase 1: Types / Config / Capabilities
149
+
150
+ Files:
151
+
152
+ - `config.ts`
153
+ - `lib/imageModels.ts`
154
+ - `ui/src/lib/imageModels.ts`
155
+ - `ui/src/types.ts`
156
+ - `routes/capabilities.ts`
157
+
158
+ Add:
159
+
160
+ - `grokProvider.defaultVideoModel = "grok-imagine-video"`
161
+ - `grokProvider.videoPollIntervalMs = 5_000`
162
+ - `grokProvider.videoTimeoutMs = 900_000`
163
+ - `grokProvider.videoDownloadTimeoutMs = 120_000`
164
+ - `VideoModel = "grok-imagine-video"`
165
+ - `VideoDuration = 1..15`
166
+ - `VideoResolution = "480p" | "720p"`
167
+ - `VideoAspectRatio = "1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "3:2" | "2:3" | "auto"`
168
+ - separate `GrokVideoModel` / `isGrokVideoModel()` helpers
169
+ - do not extend `VALID_GROK_IMAGE_MODELS` with video
170
+
171
+ ### Phase 2: Grok Video Adapter
172
+
173
+ New file:
174
+
175
+ - `lib/grokVideoAdapter.ts`
176
+
177
+ Responsibilities:
178
+
179
+ - run search + `grok-4.3` planner with forced `generate_video`
180
+ - build `/v1/videos/generations` payload
181
+ - validate T2V/I2V/reference-to-video mutually exclusive modes
182
+ - start async request and receive `request_id`
183
+ - poll `/v1/videos/{request_id}`
184
+ - download final mp4
185
+ - return `{ videoB64? | videoBuffer, url, duration, usage, revisedPrompt, requestId }`
186
+
187
+ Polling contract:
188
+
189
+ - use a short start-request timeout separately from the total poll budget
190
+ - total poll budget defaults to 15 minutes
191
+ - polling interval defaults to 5 seconds
192
+ - unchanged progress for several minutes should emit a warning/progress event,
193
+ not an error
194
+ - client cancellation stops local polling and marks the inflight job canceled;
195
+ xAI may continue processing the upstream job
196
+ - normalize names as `clientRequestId` and `xaiVideoRequestId`
197
+
198
+ Error codes:
199
+
200
+ | Code | Meaning |
201
+ |---|---|
202
+ | `GROK_VIDEO_REQUEST_FAILED` | non-2xx start response |
203
+ | `GROK_VIDEO_POLL_FAILED` | non-2xx poll response |
204
+ | `GROK_VIDEO_FAILED` | status `failed` |
205
+ | `GROK_VIDEO_EXPIRED` | status `expired` |
206
+ | `GROK_VIDEO_TIMEOUT` | poll budget exceeded |
207
+ | `GROK_VIDEO_EMPTY_RESPONSE` | done without video URL |
208
+ | `GROK_VIDEO_MODERATION_BLOCKED` | done but `respect_moderation` is false or URL is suppressed |
209
+ | `GROK_VIDEO_DOWNLOAD_FAILED` | mp4 download failed |
210
+ | `GROK_VIDEO_INVALID_MODE` | mixed image/reference/video modes |
211
+ | `GROK_VIDEO_REF_TOO_MANY` | reference-to-video over 7 refs |
212
+
213
+ xAI `failed.error.code` mapping:
214
+
215
+ | xAI code | ima2 code / response |
216
+ |---|---|
217
+ | `invalid_argument` | `GROK_VIDEO_REQUEST_FAILED`, HTTP 400 |
218
+ | `permission_denied` | `GROK_VIDEO_REQUEST_FAILED`, HTTP 403 |
219
+ | `failed_precondition` | `GROK_VIDEO_REQUEST_FAILED`, HTTP 412 |
220
+ | `service_unavailable` | `GROK_VIDEO_POLL_FAILED`, HTTP 502 with retry hint |
221
+ | `internal_error` | `GROK_VIDEO_FAILED`, HTTP 502 |
222
+
223
+ ### Phase 3: Storage / History
224
+
225
+ Add video artifact storage:
226
+
227
+ - write `.mp4` to generated dir
228
+ - write `.mp4.json` sidecar
229
+ - add `mediaType: "image" | "video"` metadata
230
+ - add `video.duration`, `video.resolution`, `video.aspectRatio`, `sourceImageId`
231
+ - gallery/history payload should include enough data to render video cards
232
+ - update history scanning to include `.mp4`
233
+ - use sidecar metadata for video; do not attempt image XMP embedding
234
+ - optionally add a poster thumbnail later, but v1 can render `<video controls>`
235
+
236
+ Do not rely on xAI temporary URLs for app history.
237
+
238
+ History row additions:
239
+
240
+ ```ts
241
+ type GeneratedMediaItem = {
242
+ mediaType: "image" | "video";
243
+ url: string;
244
+ video?: {
245
+ duration: number | null;
246
+ resolution: "480p" | "720p";
247
+ aspectRatio: VideoAspectRatio;
248
+ sourceImageFilename?: string;
249
+ xaiVideoRequestId?: string;
250
+ };
251
+ };
252
+ ```
253
+
254
+ ### Phase 4: API Routes
255
+
256
+ New route:
257
+
258
+ - `POST /api/video/generate`
259
+
260
+ Body:
261
+
262
+ ```json
263
+ {
264
+ "prompt": "animate this image",
265
+ "provider": "grok",
266
+ "model": "grok-imagine-video",
267
+ "mode": "image-to-video",
268
+ "sourceImage": "data:image/png;base64,...",
269
+ "sourceFilename": "optional existing generated file",
270
+ "duration": 5,
271
+ "aspectRatio": "auto",
272
+ "resolution": "480p",
273
+ "clientRequestId": "client-id"
274
+ }
275
+ ```
276
+
277
+ Response should use SSE for long-running progress:
278
+
279
+ - `phase: planning`
280
+ - `phase: submitted` with `xaiVideoRequestId`
281
+ - `progress` with poll progress
282
+ - `done` with local mp4 artifact
283
+ - `error` with normalized error code
284
+
285
+ Inflight mapping:
286
+
287
+ | SSE phase | inflight phase | Meaning |
288
+ |---|---|---|
289
+ | `planning` | `planning` | web search + `grok-4.3` planner |
290
+ | `submitted` | `submitted` | xAI accepted job and returned request id |
291
+ | `progress` | `polling` | async video rendering progress |
292
+ | `done` | `decoding` -> terminal | download/write local mp4 |
293
+ | `error` | terminal | normalized error |
294
+
295
+ ### Phase 5: Node Mode
296
+
297
+ Use cases:
298
+
299
+ - Animate selected node
300
+ - Animate current/generated image result into video
301
+ - Save resulting video as an artifact linked to the node/session
302
+
303
+ Contract:
304
+
305
+ - v1 does not mutate node graph schema into video nodes
306
+ - parent/current node image becomes `image` for I2V
307
+ - prompt goes through `grok-4.3` video planner
308
+ - result becomes a video artifact linked to the session/history
309
+ - node toolbar shows an `Animate` icon/action when `d.imageUrl` exists
310
+ - a later v2 can add `videoUrl` / `mediaKind` to node data if video nodes are needed
311
+
312
+ ### Phase 6: Agent Mode
313
+
314
+ Add tool:
315
+
316
+ - `ima2.generate_video`
317
+
318
+ Agent behavior:
319
+
320
+ - if current image exists: default I2V
321
+ - if no current image: T2V
322
+ - tool turn should display video generation progress
323
+ - completed video appears in chat artifact list and right image/video pane
324
+
325
+ Agent contract:
326
+
327
+ - extend allowed tools with `ima2.generate_video`
328
+ - tool args: `{ prompt, mode?, duration?, resolution?, aspectRatio? }`
329
+ - runtime auto-selects I2V when a current image artifact exists
330
+ - add video artifact ids or generic media artifact ids to queue/tool summaries
331
+ - capabilities should report final artifacts as mixed image/video, not image-only
332
+ - Agent UI should show the same progress phases as `/api/video/generate`
333
+
334
+ ### Phase 7: UI
335
+
336
+ Components to touch:
337
+
338
+ - result action row
339
+ - `ResultActions`
340
+ - history/gallery cards
341
+ - Node canvas selected node toolbar
342
+ - Agent tool folding and artifact pane
343
+ - right panel model/provider controls
344
+
345
+ UX:
346
+
347
+ - `grok`, `grok+`, `video` live in the same model/provider layer
348
+ - internally, video is a generation kind, not an image model
349
+ - video settings are compact:
350
+ - duration stepper/select
351
+ - resolution segmented control
352
+ - aspect ratio dropdown
353
+ - source mode badge: T2V / I2V / Reference
354
+ - video generation shows real async progress
355
+ - generated video card has play/download/copy prompt/continue actions
356
+ - image result cards get an `Animate` action beside `Continue Here`
357
+ - Node Mode gets an icon-only `Animate` action in the selected node toolbar
358
+ - Agent image pane gets a header `Animate` action for the current image
359
+
360
+ ### Phase 8: Tests
361
+
362
+ Add contract tests before implementation:
363
+
364
+ - adapter builds T2V payload
365
+ - adapter builds I2V payload with `image`
366
+ - adapter rejects mixed `image` + `reference_images`
367
+ - adapter polls pending -> done
368
+ - adapter handles failed/expired/timeout
369
+ - route streams progress and done
370
+ - route saves `.mp4` + sidecar
371
+ - history scanner includes `.mp4` video rows
372
+ - moderation-suppressed done responses map to `GROK_VIDEO_MODERATION_BLOCKED`
373
+ - failed poll `error.code` maps to normalized error codes
374
+ - UI/request settings override planner duration/resolution/aspect fields
375
+ - inflight `kind=video` phase transitions are recorded
376
+ - Node action sends parent image as I2V source
377
+ - Agent tool turn includes `ima2.generate_video`
378
+ - UI exposes `video` alongside `grok` / `grok+`
379
+ - no `partial` image event assumptions leak into video path
380
+
381
+ ### Phase 9: E2E
382
+
383
+ Use progrok live smoke only after contract tests pass:
384
+
385
+ - T2V 1 second, 480p
386
+ - I2V 1 second, 480p, generated image source
387
+ - UI action from result card
388
+ - Node action from node result
389
+ - Agent action from current image
390
+
391
+ ## Open Decisions
392
+
393
+ 1. Label: `video`, `grok video`, or `animate`
394
+ - Recommended: `Video` in model/provider layer, `Animate` on image cards.
395
+
396
+ 2. Default duration
397
+ - Recommended: 5 seconds in UI, 1 second in tests/smokes.
398
+
399
+ 3. Default resolution
400
+ - Recommended: 480p to control cost and speed; allow 720p.
401
+
402
+ 4. I2V aspect ratio
403
+ - Recommended: `auto` by default so source image ratio is preserved.
404
+
405
+ 5. Reference-to-video v1
406
+ - Recommended: defer from first implementation unless references already
407
+ exist in the selected context. T2V/I2V are required; reference-to-video can
408
+ share adapter primitives.
409
+
410
+ ## Verification Already Completed
411
+
412
+ - Branch created: `feat/grok-video-i2v`
413
+ - xAI docs reviewed
414
+ - progrok model list includes `grok-imagine-video`
415
+ - I2V live request succeeded
416
+ - T2V live request succeeded
417
+ - Both mp4 files downloaded and inspected with `ffprobe`
418
+ - Ryo backend review: NEEDS_FIX before implementation; fixes incorporated above
419
+ - Nijika frontend review: NEEDS_FIX before implementation; fixes incorporated above
@@ -0,0 +1,204 @@
1
+ # Grok Video T2V/I2V Research
2
+
3
+ Date: 2026-05-30
4
+ Branch: `feat/grok-video-i2v`
5
+
6
+ ## Official xAI Video Spec
7
+
8
+ Sources checked:
9
+
10
+ - https://docs.x.ai/developers/model-capabilities/video/generation
11
+ - https://docs.x.ai/developers/model-capabilities/video/image-to-video
12
+ - https://docs.x.ai/developers/model-capabilities/video/reference-to-video
13
+ - https://docs.x.ai/developers/rest-api-reference/inference/videos
14
+ - https://docs.x.ai/developers/models/grok-imagine-video
15
+
16
+ ### Model
17
+
18
+ | Field | Value |
19
+ |---|---|
20
+ | Video model | `grok-imagine-video` |
21
+ | Regions | `us-east-1`, `eu-west-1` |
22
+ | API endpoint | `POST /v1/videos/generations` |
23
+ | Poll endpoint | `GET /v1/videos/{request_id}` |
24
+ | Result | temporary `.mp4` URL |
25
+
26
+ ### Generation Request
27
+
28
+ ```json
29
+ {
30
+ "model": "grok-imagine-video",
31
+ "prompt": "A concise video prompt",
32
+ "duration": 5,
33
+ "aspect_ratio": "16:9",
34
+ "resolution": "720p"
35
+ }
36
+ ```
37
+
38
+ ### Image-to-Video Request
39
+
40
+ ```json
41
+ {
42
+ "model": "grok-imagine-video",
43
+ "prompt": "Animate the still image with a slow camera push-in",
44
+ "image": { "url": "https://example.com/source.png" },
45
+ "duration": 5,
46
+ "resolution": "480p"
47
+ }
48
+ ```
49
+
50
+ The `image` value can be a public image URL or a base64 data URI. For I2V, xAI
51
+ defaults the output to the input image's aspect ratio. Supplying `aspect_ratio`
52
+ overrides that and can stretch the image.
53
+
54
+ ### Reference-to-Video Request
55
+
56
+ ```json
57
+ {
58
+ "model": "grok-imagine-video",
59
+ "prompt": "Use <IMAGE_1> as the subject and <IMAGE_2> as wardrobe guidance",
60
+ "reference_images": [
61
+ { "url": "https://example.com/ref-1.png" },
62
+ { "url": "https://example.com/ref-2.png" }
63
+ ],
64
+ "duration": 10,
65
+ "aspect_ratio": "16:9",
66
+ "resolution": "720p"
67
+ }
68
+ ```
69
+
70
+ Reference-to-video constraints:
71
+
72
+ - non-empty `prompt` required
73
+ - maximum 7 reference images
74
+ - maximum duration 10 seconds
75
+ - cannot be combined with I2V `image` or video edit in the same request
76
+
77
+ ### Poll Response
78
+
79
+ Pending:
80
+
81
+ ```json
82
+ {
83
+ "status": "pending",
84
+ "progress": 88
85
+ }
86
+ ```
87
+
88
+ Done:
89
+
90
+ ```json
91
+ {
92
+ "status": "done",
93
+ "video": {
94
+ "url": "https://vidgen.x.ai/.../video.mp4",
95
+ "duration": 1,
96
+ "respect_moderation": true
97
+ },
98
+ "model": "grok-imagine-video",
99
+ "usage": {
100
+ "cost_in_usd_ticks": 500000000
101
+ },
102
+ "progress": 100
103
+ }
104
+ ```
105
+
106
+ Status values to handle:
107
+
108
+ - `pending`
109
+ - `done`
110
+ - `failed`
111
+ - `expired`
112
+
113
+ ### Constraints
114
+
115
+ | Parameter | Allowed / behavior |
116
+ |---|---|
117
+ | `duration` | 1-15 seconds for T2V/I2V |
118
+ | `duration` with reference images | 1-10 seconds |
119
+ | `aspect_ratio` | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3` |
120
+ | default aspect ratio | `16:9` for T2V, source image ratio for I2V |
121
+ | `resolution` | `480p`, `720p` |
122
+ | default resolution | `480p` |
123
+ | video edit input max | 8.7 seconds |
124
+ | video extension input | 2-15 seconds |
125
+ | extension duration | 2-10 seconds |
126
+ | generated URL | temporary; download promptly |
127
+
128
+ ### Pricing Observed / Documented
129
+
130
+ Model page documents:
131
+
132
+ - image input: `$0.002`
133
+ - video input/extension input: `$0.01` per second
134
+ - generation output:
135
+ - `480p`: `$0.05` per second
136
+ - `720p`: `$0.07` per second
137
+
138
+ Live experiment usage:
139
+
140
+ - I2V 1s 480p with image input: `cost_in_usd_ticks = 520000000`
141
+ - T2V 1s 480p: `cost_in_usd_ticks = 500000000`
142
+
143
+ ## Live Progrok Experiments
144
+
145
+ Environment:
146
+
147
+ - progrok listening: `127.0.0.1:18645`
148
+ - model list includes `grok-imagine-video`
149
+
150
+ ### I2V
151
+
152
+ Request:
153
+
154
+ ```json
155
+ {
156
+ "model": "grok-imagine-video",
157
+ "prompt": "Animate this still image into a calm 1-second cinematic shot with a slow camera push-in and subtle star shimmer. Keep the composition stable.",
158
+ "image": {
159
+ "url": "https://docs.x.ai/assets/api-examples/video/milkyway-still.png"
160
+ },
161
+ "duration": 1,
162
+ "resolution": "480p"
163
+ }
164
+ ```
165
+
166
+ Result:
167
+
168
+ - request id: `5c5a7702-afbd-91e0-9535-3396f995cf5f`
169
+ - status: `done`
170
+ - duration: `1`
171
+ - downloaded file: `/tmp/ima2-grok-video-e2e/i2v.mp4`
172
+ - ffprobe: H.264, `768x384`, `1.041667s`, `795537` bytes
173
+
174
+ Observation:
175
+
176
+ - I2V output followed the source image ratio rather than a square or default
177
+ 16:9 ratio because `aspect_ratio` was omitted.
178
+
179
+ ### T2V
180
+
181
+ Request:
182
+
183
+ ```json
184
+ {
185
+ "model": "grok-imagine-video",
186
+ "prompt": "A 1-second clean product-style shot of a small glass cube rotating slowly on a white studio background.",
187
+ "duration": 1,
188
+ "aspect_ratio": "1:1",
189
+ "resolution": "480p"
190
+ }
191
+ ```
192
+
193
+ Result:
194
+
195
+ - request id: `33200de3-7bc0-98b4-b66f-1d5510d17a57`
196
+ - status: `done`
197
+ - duration: `1`
198
+ - downloaded file: `/tmp/ima2-grok-video-e2e/t2v.mp4`
199
+ - ffprobe: H.264, `480x480`, `1.041667s`, `93795` bytes
200
+
201
+ Observation:
202
+
203
+ - T2V can remain `pending` at the same progress value for several minutes.
204
+ Implement polling as a long-running in-flight job, not a short route timeout.
@@ -4,7 +4,7 @@ Generated by `npm run test:inventory` (script: `scripts/classify-tests.mjs`).
4
4
 
5
5
  _Tests considered "runtime-importing" if they import from `../lib/`, `../routes/`, `../bin/`, `../server`, or `../config`._
6
6
 
7
- Total: 156 (runtime: 46, contract: 110)
7
+ Total: 167 (runtime: 54, contract: 113)
8
8
 
9
9
  ## Runtime-importing tests
10
10
  - `tests/agent-mode-auto-planner-contract.test.ts`
@@ -23,8 +23,12 @@ Total: 156 (runtime: 46, contract: 110)
23
23
  - `tests/error-classify.test.ts`
24
24
  - `tests/generate-route-validation-error.test.ts`
25
25
  - `tests/generation-errors.test.ts`
26
+ - `tests/grok-planner-adapter.test.ts`
27
+ - `tests/grok-size-mapper.test.ts`
28
+ - `tests/grokVideoAdapter.test.ts`
26
29
  - `tests/history-metadata-fallback.test.ts`
27
30
  - `tests/history-tombstone.test.ts`
31
+ - `tests/history-video-row.test.ts`
28
32
  - `tests/image-metadata-route.test.ts`
29
33
  - `tests/image-metadata-xmp.test.ts`
30
34
  - `tests/image-model.test.ts`
@@ -47,12 +51,16 @@ Total: 156 (runtime: 46, contract: 110)
47
51
  - `tests/reference-image-compress.test.ts`
48
52
  - `tests/refs-size.test.ts`
49
53
  - `tests/request-logging.test.ts`
54
+ - `tests/responses-adapter-safety.test.ts`
55
+ - `tests/responses-empty-taxonomy.test.ts`
56
+ - `tests/responses-parse-diagnostics.test.ts`
50
57
  - `tests/runtime-context-normalize.test.ts`
51
58
  - `tests/runtime-ports.test.ts`
52
59
  - `tests/serve-ui-build-contract.test.ts`
53
60
  - `tests/star-prompt.test.ts`
54
61
  - `tests/storage-migration.test.ts`
55
62
  - `tests/style-sheet.test.ts`
63
+ - `tests/videoRoute.test.ts`
56
64
 
57
65
  ## Contract-only tests
58
66
  - `tests/agent-mode-frontend-contract.test.js`
@@ -123,6 +131,8 @@ Total: 156 (runtime: 46, contract: 110)
123
131
  - `tests/inflight-list-tooltip-contract.test.js`
124
132
  - `tests/inflight-reload-race.test.js`
125
133
  - `tests/inflight-reload-reconcile-contract.test.js`
134
+ - `tests/issue75-prompt-studio-state-contract.test.js`
135
+ - `tests/issue77-long-prompt-preview-contract.test.js`
126
136
  - `tests/mobile-generate-entry-contract.test.js`
127
137
  - `tests/multimode-backend-contract.test.js`
128
138
  - `tests/multimode-concurrent-store-contract.test.js`
@@ -150,6 +160,7 @@ Total: 156 (runtime: 46, contract: 110)
150
160
  - `tests/prompt-import-folder-ui-contract.test.js`
151
161
  - `tests/prompt-import-search-ux-contract.test.js`
152
162
  - `tests/prompt-library-ui-contract.test.js`
163
+ - `tests/prompt-studio-docs-contract.test.js`
153
164
  - `tests/prompt-studio-ui-contract.test.js`
154
165
  - `tests/server-fallback-contract.test.js`
155
166
  - `tests/server.test.js`