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
package/config.ts CHANGED
@@ -195,6 +195,11 @@ export const config = {
195
195
  fileCfg.oauth?.maskedEditEnabled,
196
196
  false,
197
197
  ),
198
+ forceImageToolChoice: pickBool(
199
+ env.IMA2_OAUTH_FORCE_IMAGE_TOOL_CHOICE,
200
+ fileCfg.oauth?.forceImageToolChoice,
201
+ true,
202
+ ),
198
203
  researchSuffix: pickStr(
199
204
  env.IMA2_RESEARCH_SUFFIX,
200
205
  fileCfg.oauth?.researchSuffix,
@@ -272,6 +277,22 @@ export const config = {
272
277
  defaultSize: pickStr(env.IMA2_API_IMAGE_SIZE, fileCfg.apiProvider?.defaultSize, "1024x1024"),
273
278
  allowWebSearch: pickBool(env.IMA2_API_ALLOW_WEB_SEARCH, fileCfg.apiProvider?.allowWebSearch, true),
274
279
  },
280
+ grokProvider: {
281
+ proxyPort: pickInt(env.IMA2_GROK_PROXY_PORT, fileCfg.grokProvider?.proxyPort, 18645),
282
+ proxyHost: pickStr(env.IMA2_GROK_PROXY_HOST, fileCfg.grokProvider?.proxyHost, "127.0.0.1"),
283
+ autoStart: !pickBool(env.IMA2_NO_GROK_PROXY, fileCfg.grokProvider?.disableAutoStart, false),
284
+ restartDelayMs: pickInt(env.IMA2_GROK_RESTART_DELAY_MS, fileCfg.grokProvider?.restartDelayMs, 2000),
285
+ plannerModel: pickStr(env.IMA2_GROK_PLANNER_MODEL, fileCfg.grokProvider?.plannerModel, "grok-4.3"),
286
+ plannerTimeoutMs: pickInt(env.IMA2_GROK_PLANNER_TIMEOUT_MS, fileCfg.grokProvider?.plannerTimeoutMs, 60_000),
287
+ defaultImageModel: pickStr(env.IMA2_GROK_IMAGE_MODEL_DEFAULT, fileCfg.grokProvider?.defaultImageModel, "grok-imagine-image"),
288
+ generationTimeoutMs: pickInt(env.IMA2_GROK_GENERATION_TIMEOUT_MS, fileCfg.grokProvider?.generationTimeoutMs, 120_000),
289
+ statusTimeoutMs: pickInt(env.IMA2_GROK_STATUS_TIMEOUT_MS, fileCfg.grokProvider?.statusTimeoutMs, 3000),
290
+ defaultVideoModel: pickStr(env.IMA2_GROK_VIDEO_MODEL_DEFAULT, fileCfg.grokProvider?.defaultVideoModel, "grok-imagine-video"),
291
+ videoStartTimeoutMs: pickInt(env.IMA2_GROK_VIDEO_START_TIMEOUT_MS, fileCfg.grokProvider?.videoStartTimeoutMs, 60_000),
292
+ videoPollIntervalMs: pickInt(env.IMA2_GROK_VIDEO_POLL_INTERVAL_MS, fileCfg.grokProvider?.videoPollIntervalMs, 5_000),
293
+ videoTimeoutMs: pickInt(env.IMA2_GROK_VIDEO_TIMEOUT_MS, fileCfg.grokProvider?.videoTimeoutMs, 900_000),
294
+ videoDownloadTimeoutMs: pickInt(env.IMA2_GROK_VIDEO_DOWNLOAD_TIMEOUT_MS, fileCfg.grokProvider?.videoDownloadTimeoutMs, 120_000),
295
+ },
275
296
  log: {
276
297
  level: pickStr(env.IMA2_LOG_LEVEL, fileCfg.log?.level, defaultLogLevelForEnv(env)),
277
298
  pretty: env.NODE_ENV !== "production",
package/docs/API.md CHANGED
@@ -10,14 +10,21 @@ http://localhost:3333
10
10
 
11
11
  ## Provider Policy
12
12
 
13
- Image generation supports both OAuth and API-key providers.
13
+ Image generation supports OAuth, API-key, and Grok providers.
14
14
 
15
15
  - `provider: "oauth"` uses the local Codex OAuth proxy.
16
16
  - `provider: "api"` uses the OpenAI Responses API with the hosted `image_generation` tool.
17
+ - `provider: "grok"` uses the bundled progrok xAI proxy. Classic, Node, and Agent generation run mandatory xAI Web Search through `/v1/responses`, then run a `grok-4.3` planner call with a forced local `generate_image` function, then ima2 executes xAI `/v1/images/generations`. If reference images, a Node parent image, or an Agent current image are attached, the final step switches to xAI `/v1/images/edits` so image-to-image context is preserved.
17
18
  - API-key generation covers classic generate, edit, mask-guided edit, multimode, and node generation.
18
19
  - If `provider: "api"` is requested without an API key, routes fail before upstream with `401` and `API_KEY_REQUIRED`.
20
+ - Grok generation maps `size` to xAI `aspect_ratio` and `resolution`; it does not send an OpenAI-style `size` field upstream. Grok edit uses xAI `/v1/images/edits`; Grok mask edit remains unsupported and returns `GROK_MASK_UNSUPPORTED`.
19
21
  - Mask edits are mask/selection guided edits, not pixel-perfect inpaint guarantees.
20
22
 
23
+ Grok video generation (T2V/I2V) is not part of the `1.1.15` runtime API. The
24
+ `docs/grok-video-i2v-plan.md` and `docs/grok-video-i2v-research.md` files are
25
+ planning and research notes only; no `/api/video` route or Grok video endpoint
26
+ wrapper is shipped in this release.
27
+
21
28
  ## Health And Status
22
29
 
23
30
  | Method | Path | Notes |
@@ -25,6 +32,7 @@ Image generation supports both OAuth and API-key providers.
25
32
  | `GET` | `/api/health` | Server health, version, paths, provider policy |
26
33
  | `GET` | `/api/providers` | Provider availability and runtime ports |
27
34
  | `GET` | `/api/oauth/status` | OAuth proxy status and visible models |
35
+ | `GET` | `/api/grok/status` | Bundled progrok status and visible xAI image models |
28
36
  | `GET` | `/api/billing` | Billing/status probe, including API key source when configured |
29
37
 
30
38
  ## Storage
@@ -104,12 +112,60 @@ Supported moderation values: `auto`, `low`.
104
112
 
105
113
  Recommended model: `gpt-5.4`. Current app default: `gpt-5.4-mini`. `gpt-5.5` is the strongest quality option when supported, but callers should expect higher quota pressure and possible Codex CLI/backend capability requirements.
106
114
 
115
+ When `provider` is `"grok"`, supported models are `grok-imagine-image` and
116
+ `grok-imagine-image-quality`. The server uses `grok-4.3` as the search/planner
117
+ model by default (`IMA2_GROK_PLANNER_MODEL`) and times the mandatory search and
118
+ planner steps separately from the image call (`IMA2_GROK_PLANNER_TIMEOUT_MS`).
119
+ For `n > 1`, search and planning run once and the planned prompt is reused for
120
+ the image requests. Successful Grok classic generations report one mandatory
121
+ web-search call in metadata.
122
+
123
+ If `references` are present on a Grok classic request, ima2 still performs the
124
+ mandatory search and `grok-4.3` planning phases. The planner receives the
125
+ reference images as multimodal `image_url` inputs, and its forced
126
+ `generate_image.prompt` argument is instructed to be English-only except for
127
+ exact visible text requested by the user. The final image call then uses xAI
128
+ `/v1/images/edits` with the same reference images instead of
129
+ `/v1/images/generations`. This keeps image-to-image/reference context alive
130
+ through the three-phase pipeline. xAI currently documents up to three source
131
+ images for image editing, so Grok classic requests with more than three
132
+ references return `GROK_REF_TOO_MANY`.
133
+
134
+ Grok size mapping:
135
+
136
+ | Requested size | xAI `aspect_ratio` | xAI `resolution` |
137
+ |---|---|---|
138
+ | `1024x1024` | `1:1` | `1k` |
139
+ | `1536x1024` | `3:2` | `1k` |
140
+ | `1024x1536` | `2:3` | `1k` |
141
+ | `1360x1024` | `4:3` | `1k` |
142
+ | `1024x1360` | `3:4` | `1k` |
143
+ | `1824x1024` | `16:9` | `1k` |
144
+ | `1024x1824` | `9:16` | `1k` |
145
+ | `2048x2048` | `1:1` | `2k` |
146
+ | `2048x1152` | `16:9` | `2k` |
147
+ | `1152x2048` | `9:16` | `2k` |
148
+ | `3840x2160` | `16:9` | `2k` |
149
+ | `2160x3840` | `9:16` | `2k` |
150
+ | `auto` | `auto` | omitted |
151
+
152
+ Custom sizes are reduced to the closest xAI-supported aspect ratio and use
153
+ `2k` when the requested longest edge or pixel budget is closer to a 2K image.
154
+
107
155
  ### `POST /api/edit`
108
156
 
109
157
  Image edit / image-to-image generation.
110
158
 
111
159
  The request includes a prompt and image payload. `provider: "api"` sends the prompt and image through the shared Responses image adapter. Optional masks are forwarded as mask guidance, not a pixel-perfect edit guarantee.
112
160
 
161
+ With `provider: "grok"`, edit requests are sent to xAI `/v1/images/edits`
162
+ through the bundled progrok proxy. Masked Grok edits are rejected before
163
+ upstream with `GROK_MASK_UNSUPPORTED`.
164
+
165
+ Grok multimode currently sends each image request directly to xAI Images API
166
+ with the mapped `aspect_ratio`/`resolution`; the mandatory search + planner
167
+ pipeline is limited to classic `/api/generate`.
168
+
113
169
  ### `POST /api/node/generate`
114
170
 
115
171
  Node-mode generation and child edits.
@@ -124,20 +180,24 @@ Body fields:
124
180
  "size": "1024x1024",
125
181
  "format": "png",
126
182
  "moderation": "low",
127
- "model": "gpt-5.4",
183
+ "model": "grok-imagine-image",
128
184
  "references": [],
129
185
  "externalSrc": "optional-history-url",
130
186
  "sessionId": "session-id",
131
187
  "clientNodeId": "client-node-id",
132
188
  "requestId": "request-id",
133
- "provider": "oauth"
189
+ "provider": "grok"
134
190
  }
135
191
  ```
136
192
 
137
193
  When `parentNodeId` is present, the server loads the stored parent node image and uses the edit path. Extra node references are currently supported only for root nodes.
138
194
 
195
+ With `provider: "grok"`, Node Mode uses the same xAI search + `grok-4.3` planner + Images API pipeline as classic generation. A parent node image, `externalSrc`, or extra references are passed to the planner and then to xAI `/v1/images/edits`; otherwise the final call uses `/v1/images/generations`. Grok Node requests are capped at three total input images, counting the parent/current image plus references, and return `GROK_REF_TOO_MANY` before upstream when that limit is exceeded. `quality: "high"` promotes the final image model to `grok-imagine-image-quality`.
196
+
139
197
  The route can stream Server-Sent Events when the client sends `Accept: text/event-stream`. Possible events include `phase`, `partial`, `done`, and `error`.
140
198
 
199
+ Grok Node SSE responses do not include Responses API `partial` image events because the xAI Images API call is synchronous JSON. They still emit `phase` and `done`/`error` events so the Node UI can use the same in-flight lifecycle.
200
+
141
201
  ### `GET /api/node/:nodeId`
142
202
 
143
203
  Fetch stored node metadata and asset URL.
@@ -156,6 +216,8 @@ Server-side validation may return these reference codes:
156
216
  | `REF_EMPTY` | A reference item was empty |
157
217
  | `REF_TOO_LARGE` | A reference exceeded the configured base64 size |
158
218
  | `REF_NOT_BASE64` | A reference was not valid base64 |
219
+ | `GROK_REF_TOO_MANY` | Grok classic generation received more than three reference images |
220
+ | `GROK_MASK_UNSUPPORTED` | Grok edit was requested with a mask; xAI mask edit is not wired in this release |
159
221
 
160
222
  ## History
161
223
 
@@ -223,16 +285,20 @@ Style-sheet extraction can require an API key/openai client. Image generation al
223
285
  | `GRAPH_VERSION_CONFLICT` | Stale graph version |
224
286
  | `GRAPH_TOO_LARGE` | Graph exceeds node/edge limits |
225
287
  | `NODE_NOT_FOUND` | Node metadata was not found |
288
+ | `INVALID_GROK_IMAGE_MODEL` | A Grok request used a model outside `grok-imagine-image` or `grok-imagine-image-quality` |
289
+ | `GROK_RATE_LIMITED` | xAI returned a rate-limit response through progrok |
290
+ | `GROK_AUTH_FAILED` | progrok could not authenticate the xAI request |
291
+ | `GROK_SEARCH_TIMEOUT` / `GROK_PLANNER_TIMEOUT` / `GROK_IMAGE_TIMEOUT` | The Grok search, planner, or image API step exceeded its timeout budget |
226
292
 
227
293
  ## Endpoint → CLI Mapping
228
294
 
229
- As of 0.09.x, every server route under `/api/*` has a CLI wrapper. Use this table to find the command that calls a given endpoint. (See README.md "Client" section for full flag lists.)
295
+ Most server routes under `/api/*` have a CLI wrapper. The exception is **Agent Mode** (`/api/agent/*`), which is server + web-UI-only and has no `ima2` subcommand. The prompt builder HTTP route (`POST /api/prompt-builder/chat`) is wrapped by `ima2 prompt build`. Use this table to find the command that calls a given endpoint. (See README.md "Client" section for full flag lists.)
230
296
 
231
297
  | Endpoint | CLI |
232
298
  |---|---|
233
299
  | `POST /api/generate` | `ima2 gen` |
234
300
  | `POST /api/edit` | `ima2 edit` |
235
- | `POST /api/generate/multi` (SSE) | `ima2 multimode` |
301
+ | `POST /api/generate/multimode` (SSE) | `ima2 multimode` |
236
302
  | `POST /api/node/generate` (SSE) / `GET /api/node/:id` | `ima2 node generate` / `ima2 node show` |
237
303
  | `GET /api/history` | `ima2 ls` |
238
304
  | `DELETE /api/history/:name` / `…/permanent` | `ima2 history rm [--permanent]` |
@@ -246,14 +312,17 @@ As of 0.09.x, every server route under `/api/*` has a CLI wrapper. Use this tabl
246
312
  | `GET/PUT/DELETE /api/annotations/:name` | `ima2 annotate get/set/rm` |
247
313
  | `POST /api/canvas-versions` / `PUT /api/canvas-versions/:name` | `ima2 canvas-versions save/update` |
248
314
  | `GET/POST/PUT/DELETE /api/prompts[/…]` | `ima2 prompt …` |
249
- | `GET/POST/PUT/DELETE /api/prompt-folders[/…]` | `ima2 prompt folder …` |
250
- | `…/api/prompt-import/…` | `ima2 prompt import sources/refresh/curated/discovery/folder` |
315
+ | `GET/POST/PATCH/DELETE /api/prompts/folders[/…]` | `ima2 prompt folder …` |
316
+ | `…/api/prompts/import/…` | `ima2 prompt import sources/refresh/curated/discovery/folder` |
251
317
  | `…/api/cardnews/…` (gated on `features.cardNews`) | `ima2 cardnews …` |
252
318
  | `POST /api/comfy/export-image` | `ima2 comfy export` |
253
319
  | `GET /api/inflight` / `DELETE /api/inflight/:id` | `ima2 inflight ls` (alias `ps`) / `ima2 inflight rm` (alias `cancel`) |
254
320
  | `GET /api/storage/status` / `POST /api/storage/open-generated-dir` | `ima2 storage status` / `ima2 storage open` |
255
- | `GET /api/billing` / `GET /api/providers` / `GET /api/oauth/status` | `ima2 billing` / `ima2 providers` / `ima2 oauth status` |
321
+ | `GET /api/billing` / `GET /api/providers` / `GET /api/oauth/status` / `GET /api/grok/status` | `ima2 billing` / `ima2 providers` / `ima2 oauth status` / `ima2 grok status` |
256
322
  | `GET /api/health` | `ima2 ping` |
323
+ | `GET /api/capabilities` | `ima2 capabilities` |
324
+ | `GET/POST/PATCH/DELETE /api/agent/*` (sessions, turns, queue) | — (Agent Mode; web UI only, no CLI) |
325
+ | `POST /api/prompt-builder/chat` | `ima2 prompt build` |
257
326
 
258
327
  Notes:
259
328
  - `ima2 history favorite` and `ima2 annotate …` send `X-Ima2-Browser-Id: cli-<sha1prefix>` derived from the config dir, so CLI activity does not collide with browser sessions.
package/docs/CLI.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # CLI Reference
2
2
 
3
- Every server route under `/api/*` has a CLI wrapper. The CLI is a thin shell over the local server, so most commands require a running `ima2 serve` (the few exceptions — `serve`, `setup`, `doctor`, `status`, `open`, `reset`, `config`, `skill`, `capabilities`, and local `defaults` inspection — work without a live server).
3
+ Most server routes under `/api/*` have a CLI wrapper; Agent Mode (`/api/agent/*`) is web-UI-only and has no `ima2` subcommand. The prompt builder HTTP route (`POST /api/prompt-builder/chat`) is available through `ima2 prompt build`. The CLI is a thin shell over the local server, so most commands require a running `ima2 serve` (the few exceptions — `serve`, `setup`, `doctor`, `status`, `open`, `reset`, `config`, `grok`, `skill`, `capabilities`, and local `defaults` inspection — work without a live server).
4
4
 
5
5
  For a quick start, see the [main README](../README.md). For endpoint mapping, see [API.md](API.md).
6
6
 
@@ -12,7 +12,9 @@ For a quick start, see the [main README](../README.md). For endpoint mapping, se
12
12
  | `ima2 setup` / `ima2 login` | Reconfigure saved auth (interactive) |
13
13
  | `ima2 status` | Show config and OAuth status |
14
14
  | `ima2 doctor` | Diagnose Node, package, config, and auth |
15
+ | `ima2 doctor image-probe [--json]` | Run live sanitized Responses image probes for `EMPTY_RESPONSE` support |
15
16
  | `ima2 open` | Open the web UI in a browser |
17
+ | `ima2 grok login/status/models/proxy` | Manage the bundled progrok runtime used by the Grok provider |
16
18
  | `ima2 reset` | Remove saved config |
17
19
 
18
20
  ## Common flags
@@ -50,16 +52,36 @@ Agents should start from the packaged skill and capability commands instead of g
50
52
  | `ima2 node generate` | Node-mode generate (SSE; supports `--no-stream`) |
51
53
  | `ima2 node show <nodeId>` | Read node metadata |
52
54
 
53
- Generation flags include `--provider <auto|oauth|api>`, `--reasoning-effort {none\|low\|medium\|high\|xhigh}`, `--web-search` / `--no-web-search`, `--model`, `--mode`, `--moderation`, `--ref <file>` (repeatable, up to 5 where supported), `-q low|medium|high`, `-n <count>`, `-o <file>`.
55
+ Generation flags include `--provider <auto|oauth|api|grok>`, `--reasoning-effort {none\|low\|medium\|high\|xhigh}`, `--web-search` / `--no-web-search`, `--model`, `--mode`, `--moderation`, `--ref <file>` (repeatable, up to 5 where supported), `-q low|medium|high`, `-n <count>`, `-o <file>`.
54
56
 
55
57
  Provider override semantics:
56
58
 
57
59
  - `api` forces the API-key Responses path and requires a configured API key.
58
60
  - `oauth` forces the local OAuth proxy path.
61
+ - `grok` uses the bundled progrok xAI proxy (`127.0.0.1:18645`). Classic generation first runs mandatory xAI Web Search through Responses API, then asks `grok-4.3` to call ima2's local `generate_image` tool, then ima2 executes xAI `/v1/images/generations`. If `--ref` images are attached, the final step uses xAI `/v1/images/edits` instead so image-to-image/reference context is preserved. Models: `grok-imagine-image`, `grok-imagine-image-quality`. Size is mapped to xAI `aspect_ratio` and `resolution`; the UI web-search toggle is OpenAI-provider-only because Grok search is always on in this path.
59
62
  - `auto` preserves route default behavior and currently resolves to OAuth unless server routing changes.
60
63
 
64
+ `ima2 serve` starts the bundled Grok proxy automatically. No separate `progrok`
65
+ install is required. Use `ima2 grok login` once to authorize xAI OAuth, or
66
+ `ima2 grok login --device-code` on a remote shell. Set `IMA2_NO_GROK_PROXY=1`
67
+ only if you want to manage the proxy yourself.
68
+
69
+ Grok size mapping follows xAI's image API, not OpenAI's `size` field. ima2
70
+ keeps the requested size in local metadata, but sends `aspect_ratio` such as
71
+ `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, or `2:3`, plus `resolution:
72
+ "1k"` or `"2k"` where applicable. The 3840 presets map to `resolution: "2k"`
73
+ because xAI currently exposes `1k` and `2k` resolution controls.
74
+
75
+ For Grok classic generation with `--ref`, ima2 sends up to three references into
76
+ the `grok-4.3` planner as image inputs, asks the planner for an English final
77
+ image prompt, then sends the same references to xAI image editing. More than
78
+ three Grok references are rejected with `GROK_REF_TOO_MANY`, matching xAI's
79
+ documented multi-image editing limit.
80
+
61
81
  ```bash
62
82
  ima2 gen "a poster of a samurai cat" --model gpt-5.4 --provider api --reasoning-effort high
83
+ ima2 grok login
84
+ ima2 gen "a cinematic neon city" --provider grok --model grok-imagine-image-quality
63
85
  ima2 edit input.png --prompt "make it rainy" --provider oauth --web-search
64
86
  ima2 multimode "two cats playing" --max-images 2 --ref cat.png --mode direct
65
87
  ima2 node generate --node n_abc --prompt "add neon lights" --no-stream
@@ -81,7 +103,42 @@ mockup`.
81
103
  For dense or critical text, keep the text large and explicit. Exact placement,
82
104
  small text, and pixel-perfect typography can still need iteration or post-editing.
83
105
 
84
- Multimode-specific flags include `--max-images <1..8>`, `--ref <file>` (repeatable, max 5), `--mode <auto|direct>`, `--provider <auto|oauth|api>`, and `--show-partial`. `ima2 edit --mask` remains intentionally deferred to #31 because current mask plumbing is guided edit rather than guaranteed true masked/inpaint semantics.
106
+ Multimode-specific flags include `--max-images <1..8>`, `--ref <file>` (repeatable, max 5), `--mode <auto|direct>`, `--provider <auto|oauth|api|grok>`, and `--show-partial`. `ima2 edit --mask` remains intentionally deferred to #31 because current mask plumbing is guided edit rather than guaranteed true masked/inpaint semantics.
107
+
108
+ ## Diagnostics
109
+
110
+ `ima2 doctor image-probe` runs live Responses probes that help classify image
111
+ generation failures such as `EMPTY_RESPONSE`. It is intended for support
112
+ bundles, especially when OAuth is green but a simple prompt produces no image.
113
+
114
+ ```bash
115
+ ima2 doctor image-probe --json > ima2-image-probe.json
116
+ ```
117
+
118
+ Use `--matrix` when a maintainer asks for current-payload comparison probes:
119
+
120
+ ```bash
121
+ ima2 doctor image-probe --matrix --json > ima2-image-probe.json
122
+ ```
123
+
124
+ The JSON output is sanitized for issue attachments. It includes diagnostic
125
+ codes, event counts, tool-call summaries, byte counts, provider/model labels,
126
+ and probe statuses. It does not include prompt text, auth tokens, URLs with
127
+ credentials, raw upstream responses, or base64 image data.
128
+
129
+ For OAuth no-image reports, a useful support bundle is:
130
+
131
+ ```bash
132
+ ima2 doctor
133
+ ima2 doctor image-probe --json > ima2-image-probe.json
134
+ ima2 gen "고양이" --no-web-search --json > ima2-cat-no-search.json
135
+ ima2 gen "고양이" --json > ima2-cat-current.json
136
+ ```
137
+
138
+ Do not share ChatGPT cookies, OAuth token files, API keys, prompt history, raw
139
+ upstream responses, or generated base64. Share `ima2-gen` version, OS version,
140
+ and whether VPN, corporate proxy, antivirus TLS inspection, a custom CA, or a
141
+ Windows DNS/fragmentation bypass tool such as SecretDNS is in use.
85
142
 
86
143
  ## History and metadata
87
144
 
@@ -133,6 +190,8 @@ Multimode-specific flags include `--max-images <1..8>`, `--ref <file>` (repeatab
133
190
  | `ima2 prompt import folder <localpath>` | Import a local folder of prompts |
134
191
  | `ima2 prompt import json <file\|@file\|-> [--folder <id>]` | Import a JSON export body through `/api/prompts/import` |
135
192
  | `ima2 prompt import preview <file\|@file\|-> [--filename <name>]` | Preview local markdown/text candidates without committing |
193
+ | `ima2 prompt build --message <text> [--ref <file>] [--model <id>] [--json]` | Build a structured image prompt through `/api/prompt-builder/chat` |
194
+ | `ima2 prompt build --messages <file\|@file\|-> [--json]` | Build from a message transcript file or stdin |
136
195
 
137
196
  ## Card News (gated)
138
197
 
@@ -163,6 +222,7 @@ Card News requires the server to be started with `IMA2_CARD_NEWS=1` (or `feature
163
222
  | `ima2 billing` | API usage / quota |
164
223
  | `ima2 providers` | Configured providers |
165
224
  | `ima2 oauth status` | OAuth proxy state |
225
+ | `ima2 grok status` | Bundled progrok / xAI image-model probe state |
166
226
  | `ima2 ping` | Health-check the running server |
167
227
 
168
228
  ## Config
@@ -195,6 +255,8 @@ Allowed keys (whitelist):
195
255
  ```
196
256
  imageModels.default imageModels.reasoningEffort
197
257
  apiProvider.defaultImageModel apiProvider.defaultReasoningEffort
258
+ grokProvider.plannerModel grokProvider.plannerTimeoutMs
259
+ grokProvider.defaultImageModel
198
260
  log.level features.cardNews
199
261
  cardNewsPlanner.{enabled,model,timeoutMs,deterministicFallback}
200
262
  comfy.{defaultUrl,uploadTimeoutMs,maxUploadBytes}
package/docs/FAQ.ko.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ima2-gen 자주 묻는 질문
2
2
 
3
- 마지막 확인: 2026-04-25
3
+ 마지막 확인: 2026-05-26
4
4
 
5
5
  이 문서는 설치, 업데이트, OAuth, 갤러리, 레퍼런스 이미지 관련 질문을 모아둔 FAQ입니다. README는 짧게 유지하고, 자세한 설명은 이곳에 둡니다.
6
6
 
@@ -16,6 +16,8 @@ English version: [FAQ.md](FAQ.md)
16
16
  | 업데이트 후 예전 이미지가 안 보임 | `ima2 doctor`를 실행한 뒤 [예전 이미지 복구 안내](RECOVER_OLD_IMAGES.md)를 확인합니다. |
17
17
  | `gpt-5.5`만 실패함 | Codex CLI를 업데이트하고, 안정 대안으로 `gpt-5.4`를 사용합니다. |
18
18
  | 레퍼런스 업로드 실패 | JPEG/PNG로 변환하고 해상도를 낮춰 보세요. 레퍼런스는 최대 5장입니다. |
19
+ | Prompt Studio 기능이 헷갈림 | [Prompt Studio 사용 설명서](PROMPT_STUDIO.ko.md)에서 멀티모드, Direct, 추론 강도, 갤러리 동작을 확인하세요. |
20
+ | 이미지 생성이 `EMPTY_RESPONSE` 또는 no image data로 끝남 | `ima2 doctor image-probe --json`을 실행한 뒤 아래의 안전한 지원 번들을 모아 주세요. |
19
21
  | Windows에서 `10531` 포트 관련 OAuth/proxy 오류가 남 | `ima2 doctor`를 실행하고, 필요하면 `IMA2_OAUTH_PROXY_PORT=11531 ima2 serve`로 시작하세요. |
20
22
  | 프록시/VPN 환경에서 `fetch failed`가 반복됨 | 프록시 클라이언트의 TUN/TURN류 모드를 켜거나, 같은 터미널에 `HTTP_PROXY` / `HTTPS_PROXY`를 설정하세요. |
21
23
 
@@ -118,6 +120,36 @@ ima2 serve
118
120
 
119
121
  커뮤니티에서 말하는 숫자를 보장으로 받아들이면 안 됩니다. OAuth 생성은 계정, 백엔드 capability, 트래픽, 정책 변경의 영향을 받을 수 있습니다. `ima2-gen` 문서에서는 고정된 Plus/Pro 생성 횟수를 약속하지 않습니다.
120
122
 
123
+ ## Prompt Studio와 멀티모드
124
+
125
+ ### Prompt Studio 상세 설명서가 있나요?
126
+
127
+ 네. [Prompt Studio 사용 설명서](PROMPT_STUDIO.ko.md)를 확인하세요. 작성창,
128
+ 멀티모드 슬롯, 1:1 Direct, 모델/추론 빠른 설정, 최근 생성, 갤러리 즐겨찾기,
129
+ 어떤 액션이 프롬프트를 의도적으로 가져오는지 정리했습니다.
130
+
131
+ ### 멀티모드 이미지가 서로 관계없게 나오는 이유는 뭔가요?
132
+
133
+ 멀티모드는 같은 프롬프트로 여러 개의 독립 이미지 요청을 시작합니다. 각 슬롯은
134
+ 후보 이미지이지, 한 캔버스 안의 패널이나 보장된 연속 장면이 아닙니다. 서로
135
+ 관련 있는 대안을 원하면 공통 대상을 먼저 쓰고 바뀌어도 되는 요소를 따로
136
+ 적어 주세요. 한 장 안의 2패널, 콜라주, contact sheet가 필요하면 일반 한 장
137
+ 생성에서 그렇게 요청하는 편이 맞습니다.
138
+
139
+ ### 갤러리 이미지를 선택하면 현재 프롬프트가 바뀌어야 하나요?
140
+
141
+ 단순 이미지 선택은 보기 전용입니다. 선택 이미지를 보여줄 뿐 작성창을 바꾸지
142
+ 않아야 합니다. 프롬프트 라이브러리 삽입, "이 이미지에서 이어가기", 명시적인
143
+ 재사용 액션만 프롬프트를 의도적으로 바꾸는 동작입니다.
144
+
145
+ ### Issue #75에서 무엇이 정리됐나요?
146
+
147
+ Prompt Studio의 navigation/state coupling 회귀를 정리했습니다. 키보드 이동은
148
+ 보이는 최근 생성 범위를 따르고, 갤러리 진입 버튼은 계속 접근 가능하며, 긴
149
+ 프롬프트가 이미지 뷰어를 과하게 줄이지 않고, Direct와 멀티모드 상태가 동시에
150
+ 보이며, 갤러리 즐겨찾기와 탭 전환은 보던 위치를 유지하고, 단순 이미지 선택은
151
+ 작성창을 자동으로 채우지 않습니다.
152
+
121
153
  ## 갤러리와 생성 파일
122
154
 
123
155
  ### 생성 이미지는 어디에 저장되나요?
@@ -214,6 +246,7 @@ VITE_IMA2_API_TARGET=http://localhost:3334 npm run ui:dev
214
246
  - 로컬 OAuth 프록시가 아직 준비되지 않았습니다.
215
247
  - 서버가 재시작되었습니다.
216
248
  - VPN, 프록시, 방화벽이 요청을 막았습니다.
249
+ - Windows에서 자동 실행되는 DNS/파편화 우회 프로그램(예: SecretDNS)이 OAuth 또는 스트리밍 이미지 응답을 깨뜨렸습니다.
217
250
  - Codex/ChatGPT OAuth 사용 중 네트워크가 끊겼습니다.
218
251
 
219
252
  먼저 확인하세요.
@@ -225,6 +258,53 @@ ima2 ping
225
258
 
226
259
  필요하면 `ima2 serve`를 다시 시작합니다.
227
260
 
261
+ ### OAuth 이미지 생성이 이미지 없이 끝나면 무엇을 공유해야 하나요?
262
+
263
+ 먼저 moderation으로 단정하지 말고 image probe를 실행하세요. `EMPTY_RESPONSE`는
264
+ Responses 경로에서 `ima2-gen`이 사용할 수 있는 이미지 데이터가 나오지 않았다는
265
+ 뜻입니다. 원인은 OAuth capability, stream parsing, web-search/tool-choice
266
+ 상호작용, 로컬 프록시/네트워크 transport, 지원되지 않는 옵션, 실제 refusal 등으로
267
+ 나뉠 수 있습니다.
268
+
269
+ 먼저 실행하세요.
270
+
271
+ ```bash
272
+ ima2 doctor
273
+ ima2 doctor image-probe --json > ima2-image-probe.json
274
+ ```
275
+
276
+ `ima2 serve`가 실행 중이면 검색을 끈 생성과 일반 생성 결과도 하나씩 저장하세요.
277
+
278
+ ```bash
279
+ ima2 gen "고양이" --no-web-search --json > ima2-cat-no-search.json
280
+ ima2 gen "고양이" --json > ima2-cat-current.json
281
+ ```
282
+
283
+ probe JSON은 공개 이슈에 첨부할 수 있도록 설계되어 있습니다. 진단 코드,
284
+ event count, tool-call 요약, byte count는 담지만 prompt text, auth token,
285
+ credential URL, base64 image data는 담지 않습니다.
286
+
287
+ 이슈를 열 때 포함해 주세요.
288
+
289
+ - `ima2 doctor` 출력
290
+ - `ima2-image-probe.json`
291
+ - 저장했다면 `ima2-cat-no-search.json`, `ima2-cat-current.json`
292
+ - `ima2-gen` 버전과 Windows 버전
293
+ - VPN, 회사 프록시, 백신 TLS 검사, custom CA 사용 여부
294
+ - Windows에서 SecretDNS 같은 DNS/파편화 우회 프로그램이 자동 실행 중인지 여부
295
+ - API 키가 이미 설정되어 있다면 같은 PC에서 `provider: "api"`가 동작하는지
296
+
297
+ ChatGPT 쿠키, OAuth token 파일, API key, raw upstream response, prompt history,
298
+ generated base64는 공유하지 마세요.
299
+
300
+ 결과는 이렇게 분류합니다.
301
+
302
+ - text probe도 실패: OAuth 재로그인, 프록시, 모델 접근성을 먼저 봅니다.
303
+ - text는 되지만 minimal non-stream image가 실패: 계정, OAuth backend, model, image-tool capability 가능성이 큽니다.
304
+ - non-stream image는 되지만 stream image가 실패: stream parsing 또는 transport 가능성이 큽니다.
305
+ - 검색 끈 생성은 되지만 일반 생성이 실패: web-search/tool-choice 상호작용 가능성이 큽니다.
306
+ - bytes는 읽었지만 event가 없음: SSE delimiter 또는 `data:` parsing 가능성이 큽니다.
307
+
228
308
  ### 프록시나 VPN 뒤에서 `fetch failed`가 계속 나면 어떻게 하나요?
229
309
 
230
310
  대부분 로컬 OAuth 프록시가 현재 네트워크 경로로 upstream 서비스에 닿지 못하는 상황입니다. `openai-oauth`는 보통 `10531` 포트의 localhost 프록시로 실행됩니다.
@@ -235,7 +315,7 @@ ima2 ping
235
315
  npx openai-oauth --port 10531
236
316
  ```
237
317
 
238
- 프록시가 필요한 네트워크라면 터미널 프로세스도 프록시를 타도록 프록시 클라이언트의 TUN/TURN류 모드를 켜세요. 그래도 안 되면 `openai-oauth` 또는 `ima2 serve`를 실행하는 같은 터미널에 프록시 환경 변수를 설정합니다.
318
+ 프록시가 필요한 네트워크라면 터미널 프로세스도 프록시를 타도록 프록시 클라이언트의 TUN/TURN류 모드를 켜세요. Windows에서는 SecretDNS처럼 부팅 때 자동 실행되는 DNS/파편화 우회 프로그램도 잠시 끄고 재시도해 보세요. 그래도 안 되면 `openai-oauth` 또는 `ima2 serve`를 실행하는 같은 터미널에 프록시 환경 변수를 설정합니다.
239
319
 
240
320
  ```bash
241
321
  export HTTP_PROXY=http://127.0.0.1:7890
package/docs/FAQ.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ima2-gen FAQ
2
2
 
3
- Last reviewed: 2026-04-25
3
+ Last reviewed: 2026-05-26
4
4
 
5
5
  This FAQ collects the questions that tend to come up after installing or updating `ima2-gen`. The README stays short; this page is the place for practical details and recovery steps.
6
6
 
@@ -16,6 +16,8 @@ For Korean, see [FAQ.ko.md](FAQ.ko.md).
16
16
  | Old gallery images look missing | Run `ima2 doctor`, then see [Recover Old Generated Images](RECOVER_OLD_IMAGES.md). |
17
17
  | `gpt-5.5` fails | Update Codex CLI first, then try `gpt-5.4` as the stable fallback. |
18
18
  | Reference upload fails | Use JPEG/PNG, lower the resolution, and keep references to 5 images or fewer. |
19
+ | Prompt Studio controls are unclear | Read the [Prompt Studio manual](PROMPT_STUDIO.md) for multimode, Direct, reasoning, and gallery behavior. |
20
+ | Image generation returns `EMPTY_RESPONSE` or no image data | Run `ima2 doctor image-probe --json`, then collect the safe support bundle below. |
19
21
  | Windows reports OAuth/proxy failures around port `10531` | Run `ima2 doctor`; if needed start with `IMA2_OAUTH_PROXY_PORT=11531 ima2 serve`. |
20
22
  | `fetch failed` repeats on a proxy/VPN network | Enable proxy TUN/TURN-style mode, or set `HTTP_PROXY` / `HTTPS_PROXY` in the same terminal. |
21
23
 
@@ -124,6 +126,37 @@ Start with `gpt-5.4` for the safest balanced workflow.
124
126
 
125
127
  Do not treat any community number as a guarantee. OAuth generation can be limited by account, backend capability, traffic, and policy changes. `ima2-gen` does not publish a fixed Plus/Pro image count because that number is not stable enough to document as a promise.
126
128
 
129
+ ## Prompt Studio and multimode
130
+
131
+ ### Is there a detailed Prompt Studio manual?
132
+
133
+ Yes. See the [Prompt Studio manual](PROMPT_STUDIO.md). It explains the composer,
134
+ multimode slots, 1:1 Direct, model/reasoning quick settings, recent history,
135
+ gallery favorites, and which actions intentionally import prompt text.
136
+
137
+ ### Why did multimode images look unrelated?
138
+
139
+ Multimode starts several separate image requests from the same prompt. The slots
140
+ are candidate outputs, not panels inside one shared canvas and not a guaranteed
141
+ story sequence. To get related alternatives, write the common subject first and
142
+ then name the allowed variations. To get one multi-panel image, use a normal
143
+ single-image request and ask for a two-panel, collage, or contact-sheet layout.
144
+
145
+ ### Should selecting a gallery image change my current prompt?
146
+
147
+ Passive image selection is view-only. It should focus the selected image without
148
+ rewriting the composer. Prompt Library insert, "continue from this image", and
149
+ other explicit reuse actions are the actions that intentionally change prompt
150
+ text.
151
+
152
+ ### What changed for issue #75?
153
+
154
+ The Prompt Studio closeout fixed navigation and state-coupling regressions:
155
+ keyboard movement now follows the visible recent history domain, the gallery
156
+ entry remains reachable, long prompts no longer starve the image viewer,
157
+ Direct and Multimode states are visible together, gallery favorites preserve the
158
+ browsing viewport, and passive image selection does not refill the composer.
159
+
127
160
  ## Gallery and generated files
128
161
 
129
162
  ### Where are generated images stored?
@@ -222,6 +255,8 @@ Usually one of these:
222
255
  - the local OAuth proxy is not ready,
223
256
  - the server was restarted,
224
257
  - a VPN/proxy/firewall blocked the request,
258
+ - an auto-start Windows network interception tool, including a DNS/fragmentation
259
+ bypass tool such as SecretDNS, broke OAuth or streaming image transport,
225
260
  - the network dropped while Codex/ChatGPT OAuth was being used.
226
261
 
227
262
  Try:
@@ -233,6 +268,54 @@ ima2 ping
233
268
 
234
269
  Then restart `ima2 serve` if needed.
235
270
 
271
+ ### What should I share when OAuth image generation returns no image?
272
+
273
+ Use the image probe before assuming moderation. `EMPTY_RESPONSE` means the
274
+ Responses path did not produce image data that `ima2-gen` could use; it can be
275
+ caused by OAuth capability, stream parsing, web-search/tool-choice behavior,
276
+ local proxy/network transport, unsupported options, or a real refusal.
277
+
278
+ Run this first:
279
+
280
+ ```bash
281
+ ima2 doctor
282
+ ima2 doctor image-probe --json > ima2-image-probe.json
283
+ ```
284
+
285
+ If `ima2 serve` is running, also capture one search-off and one normal cat
286
+ generation result:
287
+
288
+ ```bash
289
+ ima2 gen "고양이" --no-web-search --json > ima2-cat-no-search.json
290
+ ima2 gen "고양이" --json > ima2-cat-current.json
291
+ ```
292
+
293
+ The probe JSON is designed to be safe to attach to a public issue. It reports
294
+ diagnostic codes, event counts, tool-call summaries, and byte counts, but not
295
+ prompt text, auth tokens, credential URLs, or base64 image data.
296
+
297
+ When opening an issue, include:
298
+
299
+ - `ima2 doctor` output.
300
+ - `ima2-image-probe.json`.
301
+ - `ima2-cat-no-search.json` and `ima2-cat-current.json`, if you captured them.
302
+ - `ima2-gen` version and Windows version.
303
+ - Whether you use VPN, corporate proxy, antivirus TLS inspection, or a custom CA.
304
+ - Whether a Windows DNS/fragmentation bypass tool such as SecretDNS is running
305
+ automatically.
306
+ - Whether `provider: "api"` works on the same machine, if you already have an API key configured.
307
+
308
+ Do not share ChatGPT cookies, OAuth token files, API keys, raw upstream
309
+ responses, prompt history, or generated base64.
310
+
311
+ How to read the result:
312
+
313
+ - Text probe fails: refresh OAuth and inspect proxy/model availability first.
314
+ - Text works but minimal non-stream image fails: likely account, OAuth backend, model, or image-tool capability.
315
+ - Non-stream image works but stream image fails: likely stream parsing or transport.
316
+ - Search-off generation works but normal generation fails: likely web-search/tool-choice interaction.
317
+ - Bytes were read but no events were parsed: likely SSE delimiter or `data:` parsing.
318
+
236
319
  ### What if `fetch failed` keeps happening behind a proxy or VPN?
237
320
 
238
321
  This usually means the local OAuth proxy cannot reach the upstream service through your network path. `openai-oauth` runs as a local localhost proxy, commonly on port `10531`.
@@ -243,7 +326,7 @@ Try:
243
326
  npx openai-oauth --port 10531
244
327
  ```
245
328
 
246
- If your network requires a proxy, enable your proxy client's TUN/TURN-style mode so terminal processes can use it. If that is not enough, set the proxy variables in the same terminal that runs `openai-oauth` or `ima2 serve`:
329
+ If your network requires a proxy, enable your proxy client's TUN/TURN-style mode so terminal processes can use it. On Windows, also temporarily disable auto-start DNS or fragmentation bypass tools such as SecretDNS and retry. If that is not enough, set the proxy variables in the same terminal that runs `openai-oauth` or `ima2 serve`:
247
330
 
248
331
  ```bash
249
332
  export HTTP_PROXY=http://127.0.0.1:7890