ima2-gen 1.1.14 โ†’ 1.1.17

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 (789) hide show
  1. package/README.md +21 -6
  2. package/bin/commands/capabilities.js +5 -0
  3. package/bin/commands/capabilities.ts +5 -0
  4. package/bin/commands/doctor.js +2 -2
  5. package/bin/commands/doctor.ts +2 -2
  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 +81 -0
  11. package/bin/commands/grok.ts +86 -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 +3 -1
  17. package/bin/ima2.ts +3 -1
  18. package/config.js +16 -0
  19. package/config.ts +16 -0
  20. package/docs/API.md +77 -8
  21. package/docs/CLI.md +29 -3
  22. package/docs/README.ko.md +19 -6
  23. package/docs/grok-video-i2v-plan.md +419 -0
  24. package/docs/grok-video-i2v-research.md +204 -0
  25. package/docs/migration/runtime-test-inventory.md +7 -1
  26. package/lib/agentRuntime.js +79 -17
  27. package/lib/agentRuntime.ts +89 -27
  28. package/lib/agentSettings.js +1 -1
  29. package/lib/agentSettings.ts +1 -1
  30. package/lib/agentTypes.ts +1 -1
  31. package/lib/capabilities.js +10 -2
  32. package/lib/capabilities.ts +10 -2
  33. package/lib/configKeys.js +6 -0
  34. package/lib/configKeys.ts +6 -1
  35. package/lib/grokImageAdapter.js +394 -0
  36. package/lib/grokImageAdapter.ts +513 -0
  37. package/lib/grokMultimodeAdapter.js +54 -0
  38. package/lib/grokMultimodeAdapter.ts +84 -0
  39. package/lib/grokProxyLauncher.js +106 -0
  40. package/lib/grokProxyLauncher.ts +129 -0
  41. package/lib/grokRuntime.js +18 -0
  42. package/lib/grokRuntime.ts +23 -0
  43. package/lib/grokSizeMapper.js +63 -0
  44. package/lib/grokSizeMapper.ts +71 -0
  45. package/lib/grokVideoAdapter.js +407 -0
  46. package/lib/grokVideoAdapter.ts +471 -0
  47. package/lib/historyList.js +5 -1
  48. package/lib/historyList.ts +5 -1
  49. package/lib/imageMetadata.js +2 -0
  50. package/lib/imageMetadata.ts +2 -0
  51. package/lib/imageModels.js +101 -0
  52. package/lib/imageModels.ts +111 -0
  53. package/lib/oauthLauncher.js +11 -0
  54. package/lib/oauthLauncher.ts +11 -0
  55. package/lib/providerOptions.js +15 -1
  56. package/lib/providerOptions.ts +15 -1
  57. package/lib/runtimeContext.js +12 -0
  58. package/lib/runtimeContext.ts +15 -0
  59. package/node_modules/array-flatten/LICENSE +21 -0
  60. package/node_modules/array-flatten/README.md +43 -0
  61. package/node_modules/array-flatten/array-flatten.js +64 -0
  62. package/node_modules/array-flatten/package.json +39 -0
  63. package/node_modules/bundle-name/index.js +5 -0
  64. package/node_modules/bundle-name/license +9 -0
  65. package/node_modules/bundle-name/package.json +45 -0
  66. package/node_modules/bundle-name/readme.md +23 -0
  67. package/node_modules/bytes/History.md +97 -0
  68. package/node_modules/bytes/LICENSE +23 -0
  69. package/node_modules/bytes/Readme.md +152 -0
  70. package/node_modules/bytes/index.js +170 -0
  71. package/node_modules/bytes/package.json +42 -0
  72. package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  73. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  74. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  75. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  76. package/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  77. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  78. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  79. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  80. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  81. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  82. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  83. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  84. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  85. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  86. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  87. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  88. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  89. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  90. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  91. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  92. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  93. package/node_modules/call-bound/.eslintrc +13 -0
  94. package/node_modules/call-bound/.github/FUNDING.yml +12 -0
  95. package/node_modules/call-bound/.nycrc +9 -0
  96. package/node_modules/call-bound/CHANGELOG.md +42 -0
  97. package/node_modules/call-bound/LICENSE +21 -0
  98. package/node_modules/call-bound/README.md +53 -0
  99. package/node_modules/call-bound/index.d.ts +94 -0
  100. package/node_modules/call-bound/index.js +19 -0
  101. package/node_modules/call-bound/package.json +99 -0
  102. package/node_modules/call-bound/test/index.js +61 -0
  103. package/node_modules/call-bound/tsconfig.json +10 -0
  104. package/node_modules/commander/LICENSE +22 -0
  105. package/node_modules/commander/Readme.md +1149 -0
  106. package/node_modules/commander/esm.mjs +16 -0
  107. package/node_modules/commander/index.js +24 -0
  108. package/node_modules/commander/lib/argument.js +149 -0
  109. package/node_modules/commander/lib/command.js +2662 -0
  110. package/node_modules/commander/lib/error.js +39 -0
  111. package/node_modules/commander/lib/help.js +709 -0
  112. package/node_modules/commander/lib/option.js +367 -0
  113. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  114. package/node_modules/commander/package-support.json +16 -0
  115. package/node_modules/commander/package.json +82 -0
  116. package/node_modules/commander/typings/esm.d.mts +3 -0
  117. package/node_modules/commander/typings/index.d.ts +1045 -0
  118. package/node_modules/content-type/HISTORY.md +29 -0
  119. package/node_modules/content-type/LICENSE +22 -0
  120. package/node_modules/content-type/README.md +94 -0
  121. package/node_modules/content-type/index.js +225 -0
  122. package/node_modules/content-type/package.json +42 -0
  123. package/node_modules/cookie/LICENSE +24 -0
  124. package/node_modules/cookie/README.md +317 -0
  125. package/node_modules/cookie/SECURITY.md +25 -0
  126. package/node_modules/cookie/index.js +335 -0
  127. package/node_modules/cookie/package.json +44 -0
  128. package/node_modules/default-browser/index.d.ts +29 -0
  129. package/node_modules/default-browser/index.js +34 -0
  130. package/node_modules/default-browser/license +9 -0
  131. package/node_modules/default-browser/package.json +54 -0
  132. package/node_modules/default-browser/readme.md +24 -0
  133. package/node_modules/default-browser/windows.js +57 -0
  134. package/node_modules/default-browser-id/index.js +25 -0
  135. package/node_modules/default-browser-id/license +9 -0
  136. package/node_modules/default-browser-id/package.json +41 -0
  137. package/node_modules/default-browser-id/readme.md +19 -0
  138. package/node_modules/define-lazy-prop/index.d.ts +31 -0
  139. package/node_modules/define-lazy-prop/index.js +18 -0
  140. package/node_modules/define-lazy-prop/license +9 -0
  141. package/node_modules/define-lazy-prop/package.json +51 -0
  142. package/node_modules/define-lazy-prop/readme.md +55 -0
  143. package/node_modules/depd/History.md +103 -0
  144. package/node_modules/depd/LICENSE +22 -0
  145. package/node_modules/depd/Readme.md +280 -0
  146. package/node_modules/depd/index.js +538 -0
  147. package/node_modules/depd/lib/browser/index.js +77 -0
  148. package/node_modules/depd/package.json +45 -0
  149. package/node_modules/destroy/LICENSE +23 -0
  150. package/node_modules/destroy/README.md +63 -0
  151. package/node_modules/destroy/index.js +209 -0
  152. package/node_modules/destroy/package.json +48 -0
  153. package/node_modules/dunder-proto/.eslintrc +5 -0
  154. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  155. package/node_modules/dunder-proto/.nycrc +13 -0
  156. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  157. package/node_modules/dunder-proto/LICENSE +21 -0
  158. package/node_modules/dunder-proto/README.md +54 -0
  159. package/node_modules/dunder-proto/get.d.ts +5 -0
  160. package/node_modules/dunder-proto/get.js +30 -0
  161. package/node_modules/dunder-proto/package.json +76 -0
  162. package/node_modules/dunder-proto/set.d.ts +5 -0
  163. package/node_modules/dunder-proto/set.js +35 -0
  164. package/node_modules/dunder-proto/test/get.js +34 -0
  165. package/node_modules/dunder-proto/test/index.js +4 -0
  166. package/node_modules/dunder-proto/test/set.js +50 -0
  167. package/node_modules/dunder-proto/tsconfig.json +9 -0
  168. package/node_modules/ee-first/LICENSE +22 -0
  169. package/node_modules/ee-first/README.md +80 -0
  170. package/node_modules/ee-first/index.js +95 -0
  171. package/node_modules/ee-first/package.json +29 -0
  172. package/node_modules/encodeurl/LICENSE +22 -0
  173. package/node_modules/encodeurl/README.md +109 -0
  174. package/node_modules/encodeurl/index.js +60 -0
  175. package/node_modules/encodeurl/package.json +40 -0
  176. package/node_modules/es-define-property/.eslintrc +13 -0
  177. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  178. package/node_modules/es-define-property/.nycrc +9 -0
  179. package/node_modules/es-define-property/CHANGELOG.md +29 -0
  180. package/node_modules/es-define-property/LICENSE +21 -0
  181. package/node_modules/es-define-property/README.md +49 -0
  182. package/node_modules/es-define-property/index.d.ts +3 -0
  183. package/node_modules/es-define-property/index.js +14 -0
  184. package/node_modules/es-define-property/package.json +81 -0
  185. package/node_modules/es-define-property/test/index.js +56 -0
  186. package/node_modules/es-define-property/tsconfig.json +10 -0
  187. package/node_modules/es-errors/.eslintrc +5 -0
  188. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  189. package/node_modules/es-errors/CHANGELOG.md +40 -0
  190. package/node_modules/es-errors/LICENSE +21 -0
  191. package/node_modules/es-errors/README.md +55 -0
  192. package/node_modules/es-errors/eval.d.ts +3 -0
  193. package/node_modules/es-errors/eval.js +4 -0
  194. package/node_modules/es-errors/index.d.ts +3 -0
  195. package/node_modules/es-errors/index.js +4 -0
  196. package/node_modules/es-errors/package.json +80 -0
  197. package/node_modules/es-errors/range.d.ts +3 -0
  198. package/node_modules/es-errors/range.js +4 -0
  199. package/node_modules/es-errors/ref.d.ts +3 -0
  200. package/node_modules/es-errors/ref.js +4 -0
  201. package/node_modules/es-errors/syntax.d.ts +3 -0
  202. package/node_modules/es-errors/syntax.js +4 -0
  203. package/node_modules/es-errors/test/index.js +19 -0
  204. package/node_modules/es-errors/tsconfig.json +49 -0
  205. package/node_modules/es-errors/type.d.ts +3 -0
  206. package/node_modules/es-errors/type.js +4 -0
  207. package/node_modules/es-errors/uri.d.ts +3 -0
  208. package/node_modules/es-errors/uri.js +4 -0
  209. package/node_modules/es-object-atoms/.eslintrc +16 -0
  210. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  211. package/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  212. package/node_modules/es-object-atoms/LICENSE +21 -0
  213. package/node_modules/es-object-atoms/README.md +63 -0
  214. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  215. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  216. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  217. package/node_modules/es-object-atoms/ToObject.js +10 -0
  218. package/node_modules/es-object-atoms/index.d.ts +3 -0
  219. package/node_modules/es-object-atoms/index.js +4 -0
  220. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  221. package/node_modules/es-object-atoms/isObject.js +6 -0
  222. package/node_modules/es-object-atoms/package.json +80 -0
  223. package/node_modules/es-object-atoms/test/index.js +38 -0
  224. package/node_modules/es-object-atoms/tsconfig.json +6 -0
  225. package/node_modules/escape-html/LICENSE +24 -0
  226. package/node_modules/escape-html/Readme.md +43 -0
  227. package/node_modules/escape-html/index.js +78 -0
  228. package/node_modules/escape-html/package.json +24 -0
  229. package/node_modules/etag/HISTORY.md +83 -0
  230. package/node_modules/etag/LICENSE +22 -0
  231. package/node_modules/etag/README.md +159 -0
  232. package/node_modules/etag/index.js +131 -0
  233. package/node_modules/etag/package.json +47 -0
  234. package/node_modules/forwarded/HISTORY.md +21 -0
  235. package/node_modules/forwarded/LICENSE +22 -0
  236. package/node_modules/forwarded/README.md +57 -0
  237. package/node_modules/forwarded/index.js +90 -0
  238. package/node_modules/forwarded/package.json +45 -0
  239. package/node_modules/function-bind/.eslintrc +21 -0
  240. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  241. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  242. package/node_modules/function-bind/.nycrc +13 -0
  243. package/node_modules/function-bind/CHANGELOG.md +136 -0
  244. package/node_modules/function-bind/LICENSE +20 -0
  245. package/node_modules/function-bind/README.md +46 -0
  246. package/node_modules/function-bind/implementation.js +84 -0
  247. package/node_modules/function-bind/index.js +5 -0
  248. package/node_modules/function-bind/package.json +87 -0
  249. package/node_modules/function-bind/test/.eslintrc +9 -0
  250. package/node_modules/function-bind/test/index.js +252 -0
  251. package/node_modules/get-intrinsic/.eslintrc +42 -0
  252. package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  253. package/node_modules/get-intrinsic/.nycrc +9 -0
  254. package/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  255. package/node_modules/get-intrinsic/LICENSE +21 -0
  256. package/node_modules/get-intrinsic/README.md +71 -0
  257. package/node_modules/get-intrinsic/index.js +378 -0
  258. package/node_modules/get-intrinsic/package.json +97 -0
  259. package/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  260. package/node_modules/get-proto/.eslintrc +10 -0
  261. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  262. package/node_modules/get-proto/.nycrc +9 -0
  263. package/node_modules/get-proto/CHANGELOG.md +21 -0
  264. package/node_modules/get-proto/LICENSE +21 -0
  265. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  266. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  267. package/node_modules/get-proto/README.md +50 -0
  268. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  269. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  270. package/node_modules/get-proto/index.d.ts +5 -0
  271. package/node_modules/get-proto/index.js +27 -0
  272. package/node_modules/get-proto/package.json +81 -0
  273. package/node_modules/get-proto/test/index.js +68 -0
  274. package/node_modules/get-proto/tsconfig.json +9 -0
  275. package/node_modules/gopd/.eslintrc +16 -0
  276. package/node_modules/gopd/.github/FUNDING.yml +12 -0
  277. package/node_modules/gopd/CHANGELOG.md +45 -0
  278. package/node_modules/gopd/LICENSE +21 -0
  279. package/node_modules/gopd/README.md +40 -0
  280. package/node_modules/gopd/gOPD.d.ts +1 -0
  281. package/node_modules/gopd/gOPD.js +4 -0
  282. package/node_modules/gopd/index.d.ts +5 -0
  283. package/node_modules/gopd/index.js +15 -0
  284. package/node_modules/gopd/package.json +77 -0
  285. package/node_modules/gopd/test/index.js +36 -0
  286. package/node_modules/gopd/tsconfig.json +9 -0
  287. package/node_modules/has-symbols/.eslintrc +11 -0
  288. package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  289. package/node_modules/has-symbols/.nycrc +9 -0
  290. package/node_modules/has-symbols/CHANGELOG.md +91 -0
  291. package/node_modules/has-symbols/LICENSE +21 -0
  292. package/node_modules/has-symbols/README.md +46 -0
  293. package/node_modules/has-symbols/index.d.ts +3 -0
  294. package/node_modules/has-symbols/index.js +14 -0
  295. package/node_modules/has-symbols/package.json +111 -0
  296. package/node_modules/has-symbols/shams.d.ts +3 -0
  297. package/node_modules/has-symbols/shams.js +45 -0
  298. package/node_modules/has-symbols/test/index.js +22 -0
  299. package/node_modules/has-symbols/test/shams/core-js.js +29 -0
  300. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  301. package/node_modules/has-symbols/test/tests.js +58 -0
  302. package/node_modules/has-symbols/tsconfig.json +10 -0
  303. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  304. package/node_modules/hasown/.nycrc +13 -0
  305. package/node_modules/hasown/CHANGELOG.md +51 -0
  306. package/node_modules/hasown/LICENSE +21 -0
  307. package/node_modules/hasown/README.md +40 -0
  308. package/node_modules/hasown/eslint.config.mjs +6 -0
  309. package/node_modules/hasown/index.d.ts +4 -0
  310. package/node_modules/hasown/index.js +8 -0
  311. package/node_modules/hasown/package.json +92 -0
  312. package/node_modules/hasown/tsconfig.json +6 -0
  313. package/node_modules/http-errors/HISTORY.md +186 -0
  314. package/node_modules/http-errors/LICENSE +23 -0
  315. package/node_modules/http-errors/README.md +169 -0
  316. package/node_modules/http-errors/index.js +290 -0
  317. package/node_modules/http-errors/package.json +54 -0
  318. package/node_modules/inherits/LICENSE +16 -0
  319. package/node_modules/inherits/README.md +42 -0
  320. package/node_modules/inherits/inherits.js +9 -0
  321. package/node_modules/inherits/inherits_browser.js +27 -0
  322. package/node_modules/inherits/package.json +29 -0
  323. package/node_modules/ipaddr.js/LICENSE +19 -0
  324. package/node_modules/ipaddr.js/README.md +233 -0
  325. package/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  326. package/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  327. package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  328. package/node_modules/ipaddr.js/package.json +35 -0
  329. package/node_modules/is-docker/cli.js +5 -0
  330. package/node_modules/is-docker/index.d.ts +13 -0
  331. package/node_modules/is-docker/index.js +29 -0
  332. package/node_modules/is-docker/license +9 -0
  333. package/node_modules/is-docker/package.json +44 -0
  334. package/node_modules/is-docker/readme.md +27 -0
  335. package/node_modules/is-inside-container/cli.js +5 -0
  336. package/node_modules/is-inside-container/index.d.ts +13 -0
  337. package/node_modules/is-inside-container/index.js +23 -0
  338. package/node_modules/is-inside-container/license +9 -0
  339. package/node_modules/is-inside-container/package.json +51 -0
  340. package/node_modules/is-inside-container/readme.md +36 -0
  341. package/node_modules/is-wsl/index.d.ts +15 -0
  342. package/node_modules/is-wsl/index.js +36 -0
  343. package/node_modules/is-wsl/license +9 -0
  344. package/node_modules/is-wsl/package.json +58 -0
  345. package/node_modules/is-wsl/readme.md +21 -0
  346. package/node_modules/math-intrinsics/.eslintrc +16 -0
  347. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  348. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  349. package/node_modules/math-intrinsics/LICENSE +21 -0
  350. package/node_modules/math-intrinsics/README.md +50 -0
  351. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  352. package/node_modules/math-intrinsics/abs.js +4 -0
  353. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  354. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  355. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  356. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  357. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  358. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  359. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  360. package/node_modules/math-intrinsics/floor.js +4 -0
  361. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  362. package/node_modules/math-intrinsics/isFinite.js +12 -0
  363. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  364. package/node_modules/math-intrinsics/isInteger.js +16 -0
  365. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  366. package/node_modules/math-intrinsics/isNaN.js +6 -0
  367. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  368. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  369. package/node_modules/math-intrinsics/max.d.ts +1 -0
  370. package/node_modules/math-intrinsics/max.js +4 -0
  371. package/node_modules/math-intrinsics/min.d.ts +1 -0
  372. package/node_modules/math-intrinsics/min.js +4 -0
  373. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  374. package/node_modules/math-intrinsics/mod.js +9 -0
  375. package/node_modules/math-intrinsics/package.json +86 -0
  376. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  377. package/node_modules/math-intrinsics/pow.js +4 -0
  378. package/node_modules/math-intrinsics/round.d.ts +1 -0
  379. package/node_modules/math-intrinsics/round.js +4 -0
  380. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  381. package/node_modules/math-intrinsics/sign.js +11 -0
  382. package/node_modules/math-intrinsics/test/index.js +192 -0
  383. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  384. package/node_modules/methods/HISTORY.md +29 -0
  385. package/node_modules/methods/LICENSE +24 -0
  386. package/node_modules/methods/README.md +51 -0
  387. package/node_modules/methods/index.js +69 -0
  388. package/node_modules/methods/package.json +36 -0
  389. package/node_modules/mime/.npmignore +0 -0
  390. package/node_modules/mime/CHANGELOG.md +164 -0
  391. package/node_modules/mime/LICENSE +21 -0
  392. package/node_modules/mime/README.md +90 -0
  393. package/node_modules/mime/cli.js +8 -0
  394. package/node_modules/mime/mime.js +108 -0
  395. package/node_modules/mime/package.json +44 -0
  396. package/node_modules/mime/src/build.js +53 -0
  397. package/node_modules/mime/src/test.js +60 -0
  398. package/node_modules/mime/types.json +1 -0
  399. package/node_modules/ms/index.js +162 -0
  400. package/node_modules/ms/license.md +21 -0
  401. package/node_modules/ms/package.json +38 -0
  402. package/node_modules/ms/readme.md +59 -0
  403. package/node_modules/object-inspect/.eslintrc +53 -0
  404. package/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  405. package/node_modules/object-inspect/.nycrc +13 -0
  406. package/node_modules/object-inspect/CHANGELOG.md +424 -0
  407. package/node_modules/object-inspect/LICENSE +21 -0
  408. package/node_modules/object-inspect/example/all.js +23 -0
  409. package/node_modules/object-inspect/example/circular.js +6 -0
  410. package/node_modules/object-inspect/example/fn.js +5 -0
  411. package/node_modules/object-inspect/example/inspect.js +10 -0
  412. package/node_modules/object-inspect/index.js +544 -0
  413. package/node_modules/object-inspect/package-support.json +20 -0
  414. package/node_modules/object-inspect/package.json +105 -0
  415. package/node_modules/object-inspect/readme.markdown +84 -0
  416. package/node_modules/object-inspect/test/bigint.js +58 -0
  417. package/node_modules/object-inspect/test/browser/dom.js +15 -0
  418. package/node_modules/object-inspect/test/circular.js +16 -0
  419. package/node_modules/object-inspect/test/deep.js +12 -0
  420. package/node_modules/object-inspect/test/element.js +53 -0
  421. package/node_modules/object-inspect/test/err.js +48 -0
  422. package/node_modules/object-inspect/test/fakes.js +29 -0
  423. package/node_modules/object-inspect/test/fn.js +76 -0
  424. package/node_modules/object-inspect/test/global.js +17 -0
  425. package/node_modules/object-inspect/test/has.js +15 -0
  426. package/node_modules/object-inspect/test/holes.js +15 -0
  427. package/node_modules/object-inspect/test/indent-option.js +271 -0
  428. package/node_modules/object-inspect/test/inspect.js +139 -0
  429. package/node_modules/object-inspect/test/lowbyte.js +12 -0
  430. package/node_modules/object-inspect/test/number.js +58 -0
  431. package/node_modules/object-inspect/test/quoteStyle.js +26 -0
  432. package/node_modules/object-inspect/test/toStringTag.js +40 -0
  433. package/node_modules/object-inspect/test/undef.js +12 -0
  434. package/node_modules/object-inspect/test/values.js +261 -0
  435. package/node_modules/object-inspect/test-core-js.js +26 -0
  436. package/node_modules/object-inspect/util.inspect.js +1 -0
  437. package/node_modules/on-finished/HISTORY.md +98 -0
  438. package/node_modules/on-finished/LICENSE +23 -0
  439. package/node_modules/on-finished/README.md +162 -0
  440. package/node_modules/on-finished/index.js +234 -0
  441. package/node_modules/on-finished/package.json +39 -0
  442. package/node_modules/open/index.d.ts +158 -0
  443. package/node_modules/open/index.js +366 -0
  444. package/node_modules/open/license +9 -0
  445. package/node_modules/open/node_modules/wsl-utils/index.d.ts +21 -0
  446. package/node_modules/open/node_modules/wsl-utils/index.js +57 -0
  447. package/node_modules/open/node_modules/wsl-utils/license +9 -0
  448. package/node_modules/open/node_modules/wsl-utils/package.json +46 -0
  449. package/node_modules/open/node_modules/wsl-utils/readme.md +50 -0
  450. package/node_modules/open/package.json +68 -0
  451. package/node_modules/open/readme.md +183 -0
  452. package/node_modules/open/xdg-open +1267 -0
  453. package/node_modules/parseurl/HISTORY.md +58 -0
  454. package/node_modules/parseurl/LICENSE +24 -0
  455. package/node_modules/parseurl/README.md +133 -0
  456. package/node_modules/parseurl/index.js +158 -0
  457. package/node_modules/parseurl/package.json +40 -0
  458. package/node_modules/progrok/LICENSE +21 -0
  459. package/node_modules/progrok/README.md +53 -0
  460. package/node_modules/progrok/THIRD_PARTY_NOTICES.md +13 -0
  461. package/node_modules/progrok/dist/index.js +1142 -0
  462. package/node_modules/progrok/dist/index.js.map +1 -0
  463. package/node_modules/progrok/dist/public/app.js +529 -0
  464. package/node_modules/progrok/dist/public/index.html +47 -0
  465. package/node_modules/progrok/dist/public/style.css +392 -0
  466. package/node_modules/progrok/node_modules/accepts/HISTORY.md +243 -0
  467. package/node_modules/progrok/node_modules/accepts/LICENSE +23 -0
  468. package/node_modules/progrok/node_modules/accepts/README.md +140 -0
  469. package/node_modules/progrok/node_modules/accepts/index.js +238 -0
  470. package/node_modules/progrok/node_modules/accepts/package.json +47 -0
  471. package/node_modules/progrok/node_modules/body-parser/HISTORY.md +686 -0
  472. package/node_modules/progrok/node_modules/body-parser/LICENSE +23 -0
  473. package/node_modules/progrok/node_modules/body-parser/README.md +476 -0
  474. package/node_modules/progrok/node_modules/body-parser/index.js +156 -0
  475. package/node_modules/progrok/node_modules/body-parser/lib/read.js +205 -0
  476. package/node_modules/progrok/node_modules/body-parser/lib/types/json.js +243 -0
  477. package/node_modules/progrok/node_modules/body-parser/lib/types/raw.js +101 -0
  478. package/node_modules/progrok/node_modules/body-parser/lib/types/text.js +121 -0
  479. package/node_modules/progrok/node_modules/body-parser/lib/types/urlencoded.js +299 -0
  480. package/node_modules/progrok/node_modules/body-parser/package.json +55 -0
  481. package/node_modules/progrok/node_modules/content-disposition/HISTORY.md +60 -0
  482. package/node_modules/progrok/node_modules/content-disposition/LICENSE +22 -0
  483. package/node_modules/progrok/node_modules/content-disposition/README.md +142 -0
  484. package/node_modules/progrok/node_modules/content-disposition/index.js +458 -0
  485. package/node_modules/progrok/node_modules/content-disposition/package.json +44 -0
  486. package/node_modules/progrok/node_modules/cookie-signature/History.md +42 -0
  487. package/node_modules/progrok/node_modules/cookie-signature/Readme.md +42 -0
  488. package/node_modules/progrok/node_modules/cookie-signature/index.js +51 -0
  489. package/node_modules/progrok/node_modules/cookie-signature/package.json +18 -0
  490. package/node_modules/progrok/node_modules/debug/.coveralls.yml +1 -0
  491. package/node_modules/progrok/node_modules/debug/.eslintrc +11 -0
  492. package/node_modules/progrok/node_modules/debug/.npmignore +9 -0
  493. package/node_modules/progrok/node_modules/debug/.travis.yml +14 -0
  494. package/node_modules/progrok/node_modules/debug/CHANGELOG.md +362 -0
  495. package/node_modules/progrok/node_modules/debug/LICENSE +19 -0
  496. package/node_modules/progrok/node_modules/debug/Makefile +50 -0
  497. package/node_modules/progrok/node_modules/debug/README.md +312 -0
  498. package/node_modules/progrok/node_modules/debug/component.json +19 -0
  499. package/node_modules/progrok/node_modules/debug/karma.conf.js +70 -0
  500. package/node_modules/progrok/node_modules/debug/node.js +1 -0
  501. package/node_modules/progrok/node_modules/debug/node_modules/ms/index.js +152 -0
  502. package/node_modules/progrok/node_modules/debug/node_modules/ms/license.md +21 -0
  503. package/node_modules/progrok/node_modules/debug/node_modules/ms/package.json +37 -0
  504. package/node_modules/progrok/node_modules/debug/node_modules/ms/readme.md +51 -0
  505. package/node_modules/progrok/node_modules/debug/package.json +49 -0
  506. package/node_modules/progrok/node_modules/debug/src/browser.js +185 -0
  507. package/node_modules/progrok/node_modules/debug/src/debug.js +202 -0
  508. package/node_modules/progrok/node_modules/debug/src/index.js +10 -0
  509. package/node_modules/progrok/node_modules/debug/src/inspector-log.js +15 -0
  510. package/node_modules/progrok/node_modules/debug/src/node.js +248 -0
  511. package/node_modules/progrok/node_modules/express/History.md +3676 -0
  512. package/node_modules/progrok/node_modules/express/LICENSE +24 -0
  513. package/node_modules/progrok/node_modules/express/Readme.md +260 -0
  514. package/node_modules/progrok/node_modules/express/index.js +11 -0
  515. package/node_modules/progrok/node_modules/express/lib/application.js +661 -0
  516. package/node_modules/progrok/node_modules/express/lib/express.js +116 -0
  517. package/node_modules/progrok/node_modules/express/lib/middleware/init.js +43 -0
  518. package/node_modules/progrok/node_modules/express/lib/middleware/query.js +47 -0
  519. package/node_modules/progrok/node_modules/express/lib/request.js +525 -0
  520. package/node_modules/progrok/node_modules/express/lib/response.js +1179 -0
  521. package/node_modules/progrok/node_modules/express/lib/router/index.js +673 -0
  522. package/node_modules/progrok/node_modules/express/lib/router/layer.js +181 -0
  523. package/node_modules/progrok/node_modules/express/lib/router/route.js +230 -0
  524. package/node_modules/progrok/node_modules/express/lib/utils.js +304 -0
  525. package/node_modules/progrok/node_modules/express/lib/view.js +182 -0
  526. package/node_modules/progrok/node_modules/express/package.json +102 -0
  527. package/node_modules/progrok/node_modules/finalhandler/HISTORY.md +216 -0
  528. package/node_modules/progrok/node_modules/finalhandler/LICENSE +22 -0
  529. package/node_modules/progrok/node_modules/finalhandler/README.md +147 -0
  530. package/node_modules/progrok/node_modules/finalhandler/SECURITY.md +25 -0
  531. package/node_modules/progrok/node_modules/finalhandler/index.js +341 -0
  532. package/node_modules/progrok/node_modules/finalhandler/package.json +47 -0
  533. package/node_modules/progrok/node_modules/fresh/HISTORY.md +70 -0
  534. package/node_modules/progrok/node_modules/fresh/LICENSE +23 -0
  535. package/node_modules/progrok/node_modules/fresh/README.md +119 -0
  536. package/node_modules/progrok/node_modules/fresh/index.js +137 -0
  537. package/node_modules/progrok/node_modules/fresh/package.json +46 -0
  538. package/node_modules/progrok/node_modules/iconv-lite/Changelog.md +162 -0
  539. package/node_modules/progrok/node_modules/iconv-lite/LICENSE +21 -0
  540. package/node_modules/progrok/node_modules/iconv-lite/README.md +156 -0
  541. package/node_modules/progrok/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  542. package/node_modules/progrok/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  543. package/node_modules/progrok/node_modules/iconv-lite/encodings/index.js +22 -0
  544. package/node_modules/progrok/node_modules/iconv-lite/encodings/internal.js +188 -0
  545. package/node_modules/progrok/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  546. package/node_modules/progrok/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  547. package/node_modules/progrok/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  548. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  549. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  550. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  551. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  552. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  553. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  554. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  555. package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  556. package/node_modules/progrok/node_modules/iconv-lite/encodings/utf16.js +177 -0
  557. package/node_modules/progrok/node_modules/iconv-lite/encodings/utf7.js +290 -0
  558. package/node_modules/progrok/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  559. package/node_modules/progrok/node_modules/iconv-lite/lib/extend-node.js +217 -0
  560. package/node_modules/progrok/node_modules/iconv-lite/lib/index.d.ts +24 -0
  561. package/node_modules/progrok/node_modules/iconv-lite/lib/index.js +153 -0
  562. package/node_modules/progrok/node_modules/iconv-lite/lib/streams.js +121 -0
  563. package/node_modules/progrok/node_modules/iconv-lite/package.json +46 -0
  564. package/node_modules/progrok/node_modules/media-typer/HISTORY.md +22 -0
  565. package/node_modules/progrok/node_modules/media-typer/LICENSE +22 -0
  566. package/node_modules/progrok/node_modules/media-typer/README.md +81 -0
  567. package/node_modules/progrok/node_modules/media-typer/index.js +270 -0
  568. package/node_modules/progrok/node_modules/media-typer/package.json +26 -0
  569. package/node_modules/progrok/node_modules/merge-descriptors/HISTORY.md +21 -0
  570. package/node_modules/progrok/node_modules/merge-descriptors/LICENSE +23 -0
  571. package/node_modules/progrok/node_modules/merge-descriptors/README.md +49 -0
  572. package/node_modules/progrok/node_modules/merge-descriptors/index.js +60 -0
  573. package/node_modules/progrok/node_modules/merge-descriptors/package.json +39 -0
  574. package/node_modules/progrok/node_modules/mime-db/HISTORY.md +507 -0
  575. package/node_modules/progrok/node_modules/mime-db/LICENSE +23 -0
  576. package/node_modules/progrok/node_modules/mime-db/README.md +100 -0
  577. package/node_modules/progrok/node_modules/mime-db/db.json +8519 -0
  578. package/node_modules/progrok/node_modules/mime-db/index.js +12 -0
  579. package/node_modules/progrok/node_modules/mime-db/package.json +60 -0
  580. package/node_modules/progrok/node_modules/mime-types/HISTORY.md +397 -0
  581. package/node_modules/progrok/node_modules/mime-types/LICENSE +23 -0
  582. package/node_modules/progrok/node_modules/mime-types/README.md +113 -0
  583. package/node_modules/progrok/node_modules/mime-types/index.js +188 -0
  584. package/node_modules/progrok/node_modules/mime-types/package.json +44 -0
  585. package/node_modules/progrok/node_modules/negotiator/HISTORY.md +108 -0
  586. package/node_modules/progrok/node_modules/negotiator/LICENSE +24 -0
  587. package/node_modules/progrok/node_modules/negotiator/README.md +203 -0
  588. package/node_modules/progrok/node_modules/negotiator/index.js +82 -0
  589. package/node_modules/progrok/node_modules/negotiator/lib/charset.js +169 -0
  590. package/node_modules/progrok/node_modules/negotiator/lib/encoding.js +184 -0
  591. package/node_modules/progrok/node_modules/negotiator/lib/language.js +179 -0
  592. package/node_modules/progrok/node_modules/negotiator/lib/mediaType.js +294 -0
  593. package/node_modules/progrok/node_modules/negotiator/package.json +42 -0
  594. package/node_modules/progrok/node_modules/path-to-regexp/LICENSE +21 -0
  595. package/node_modules/progrok/node_modules/path-to-regexp/Readme.md +35 -0
  596. package/node_modules/progrok/node_modules/path-to-regexp/index.js +158 -0
  597. package/node_modules/progrok/node_modules/path-to-regexp/package.json +30 -0
  598. package/node_modules/progrok/node_modules/raw-body/LICENSE +22 -0
  599. package/node_modules/progrok/node_modules/raw-body/README.md +223 -0
  600. package/node_modules/progrok/node_modules/raw-body/index.d.ts +87 -0
  601. package/node_modules/progrok/node_modules/raw-body/index.js +336 -0
  602. package/node_modules/progrok/node_modules/raw-body/package.json +47 -0
  603. package/node_modules/progrok/node_modules/send/HISTORY.md +538 -0
  604. package/node_modules/progrok/node_modules/send/LICENSE +23 -0
  605. package/node_modules/progrok/node_modules/send/README.md +327 -0
  606. package/node_modules/progrok/node_modules/send/SECURITY.md +24 -0
  607. package/node_modules/progrok/node_modules/send/index.js +1142 -0
  608. package/node_modules/progrok/node_modules/send/package.json +62 -0
  609. package/node_modules/progrok/node_modules/serve-static/HISTORY.md +493 -0
  610. package/node_modules/progrok/node_modules/serve-static/LICENSE +25 -0
  611. package/node_modules/progrok/node_modules/serve-static/README.md +257 -0
  612. package/node_modules/progrok/node_modules/serve-static/index.js +209 -0
  613. package/node_modules/progrok/node_modules/serve-static/package.json +42 -0
  614. package/node_modules/progrok/node_modules/type-is/HISTORY.md +259 -0
  615. package/node_modules/progrok/node_modules/type-is/LICENSE +23 -0
  616. package/node_modules/progrok/node_modules/type-is/README.md +170 -0
  617. package/node_modules/progrok/node_modules/type-is/index.js +266 -0
  618. package/node_modules/progrok/node_modules/type-is/package.json +45 -0
  619. package/node_modules/progrok/package.json +52 -0
  620. package/node_modules/progrok/skills/progrok/SKILL.md +228 -0
  621. package/node_modules/proxy-addr/HISTORY.md +161 -0
  622. package/node_modules/proxy-addr/LICENSE +22 -0
  623. package/node_modules/proxy-addr/README.md +139 -0
  624. package/node_modules/proxy-addr/index.js +327 -0
  625. package/node_modules/proxy-addr/package.json +47 -0
  626. package/node_modules/qs/.editorconfig +46 -0
  627. package/node_modules/qs/.github/FUNDING.yml +12 -0
  628. package/node_modules/qs/.github/SECURITY.md +11 -0
  629. package/node_modules/qs/.github/THREAT_MODEL.md +78 -0
  630. package/node_modules/qs/.nycrc +13 -0
  631. package/node_modules/qs/CHANGELOG.md +812 -0
  632. package/node_modules/qs/LICENSE.md +29 -0
  633. package/node_modules/qs/README.md +758 -0
  634. package/node_modules/qs/dist/qs.js +141 -0
  635. package/node_modules/qs/eslint.config.mjs +56 -0
  636. package/node_modules/qs/lib/formats.js +23 -0
  637. package/node_modules/qs/lib/index.js +11 -0
  638. package/node_modules/qs/lib/parse.js +373 -0
  639. package/node_modules/qs/lib/stringify.js +356 -0
  640. package/node_modules/qs/lib/utils.js +342 -0
  641. package/node_modules/qs/package.json +94 -0
  642. package/node_modules/qs/test/empty-keys-cases.js +267 -0
  643. package/node_modules/qs/test/parse.js +1654 -0
  644. package/node_modules/qs/test/stringify.js +1319 -0
  645. package/node_modules/qs/test/utils.js +432 -0
  646. package/node_modules/range-parser/HISTORY.md +56 -0
  647. package/node_modules/range-parser/LICENSE +23 -0
  648. package/node_modules/range-parser/README.md +84 -0
  649. package/node_modules/range-parser/index.js +162 -0
  650. package/node_modules/range-parser/package.json +44 -0
  651. package/node_modules/run-applescript/index.d.ts +66 -0
  652. package/node_modules/run-applescript/index.js +37 -0
  653. package/node_modules/run-applescript/license +9 -0
  654. package/node_modules/run-applescript/package.json +42 -0
  655. package/node_modules/run-applescript/readme.md +78 -0
  656. package/node_modules/safe-buffer/LICENSE +21 -0
  657. package/node_modules/safe-buffer/README.md +584 -0
  658. package/node_modules/safe-buffer/index.d.ts +187 -0
  659. package/node_modules/safe-buffer/index.js +65 -0
  660. package/node_modules/safe-buffer/package.json +51 -0
  661. package/node_modules/safer-buffer/LICENSE +21 -0
  662. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  663. package/node_modules/safer-buffer/Readme.md +156 -0
  664. package/node_modules/safer-buffer/dangerous.js +58 -0
  665. package/node_modules/safer-buffer/package.json +34 -0
  666. package/node_modules/safer-buffer/safer.js +77 -0
  667. package/node_modules/safer-buffer/tests.js +406 -0
  668. package/node_modules/setprototypeof/LICENSE +13 -0
  669. package/node_modules/setprototypeof/README.md +31 -0
  670. package/node_modules/setprototypeof/index.d.ts +2 -0
  671. package/node_modules/setprototypeof/index.js +17 -0
  672. package/node_modules/setprototypeof/package.json +38 -0
  673. package/node_modules/setprototypeof/test/index.js +24 -0
  674. package/node_modules/side-channel/.editorconfig +9 -0
  675. package/node_modules/side-channel/.eslintrc +12 -0
  676. package/node_modules/side-channel/.github/FUNDING.yml +12 -0
  677. package/node_modules/side-channel/.nycrc +13 -0
  678. package/node_modules/side-channel/CHANGELOG.md +110 -0
  679. package/node_modules/side-channel/LICENSE +21 -0
  680. package/node_modules/side-channel/README.md +61 -0
  681. package/node_modules/side-channel/index.d.ts +14 -0
  682. package/node_modules/side-channel/index.js +43 -0
  683. package/node_modules/side-channel/package.json +85 -0
  684. package/node_modules/side-channel/test/index.js +104 -0
  685. package/node_modules/side-channel/tsconfig.json +9 -0
  686. package/node_modules/side-channel-list/.editorconfig +9 -0
  687. package/node_modules/side-channel-list/.eslintrc +11 -0
  688. package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  689. package/node_modules/side-channel-list/.nycrc +13 -0
  690. package/node_modules/side-channel-list/CHANGELOG.md +36 -0
  691. package/node_modules/side-channel-list/LICENSE +21 -0
  692. package/node_modules/side-channel-list/README.md +62 -0
  693. package/node_modules/side-channel-list/index.d.ts +13 -0
  694. package/node_modules/side-channel-list/index.js +111 -0
  695. package/node_modules/side-channel-list/list.d.ts +14 -0
  696. package/node_modules/side-channel-list/package.json +77 -0
  697. package/node_modules/side-channel-list/test/index.js +154 -0
  698. package/node_modules/side-channel-list/tsconfig.json +9 -0
  699. package/node_modules/side-channel-map/.editorconfig +9 -0
  700. package/node_modules/side-channel-map/.eslintrc +11 -0
  701. package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  702. package/node_modules/side-channel-map/.nycrc +13 -0
  703. package/node_modules/side-channel-map/CHANGELOG.md +22 -0
  704. package/node_modules/side-channel-map/LICENSE +21 -0
  705. package/node_modules/side-channel-map/README.md +62 -0
  706. package/node_modules/side-channel-map/index.d.ts +15 -0
  707. package/node_modules/side-channel-map/index.js +68 -0
  708. package/node_modules/side-channel-map/package.json +80 -0
  709. package/node_modules/side-channel-map/test/index.js +114 -0
  710. package/node_modules/side-channel-map/tsconfig.json +9 -0
  711. package/node_modules/side-channel-weakmap/.editorconfig +9 -0
  712. package/node_modules/side-channel-weakmap/.eslintrc +12 -0
  713. package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  714. package/node_modules/side-channel-weakmap/.nycrc +13 -0
  715. package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  716. package/node_modules/side-channel-weakmap/LICENSE +21 -0
  717. package/node_modules/side-channel-weakmap/README.md +62 -0
  718. package/node_modules/side-channel-weakmap/index.d.ts +15 -0
  719. package/node_modules/side-channel-weakmap/index.js +84 -0
  720. package/node_modules/side-channel-weakmap/package.json +87 -0
  721. package/node_modules/side-channel-weakmap/test/index.js +114 -0
  722. package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  723. package/node_modules/statuses/HISTORY.md +87 -0
  724. package/node_modules/statuses/LICENSE +23 -0
  725. package/node_modules/statuses/README.md +139 -0
  726. package/node_modules/statuses/codes.json +65 -0
  727. package/node_modules/statuses/index.js +146 -0
  728. package/node_modules/statuses/package.json +49 -0
  729. package/node_modules/toidentifier/HISTORY.md +9 -0
  730. package/node_modules/toidentifier/LICENSE +21 -0
  731. package/node_modules/toidentifier/README.md +61 -0
  732. package/node_modules/toidentifier/index.js +32 -0
  733. package/node_modules/toidentifier/package.json +38 -0
  734. package/node_modules/unpipe/HISTORY.md +4 -0
  735. package/node_modules/unpipe/LICENSE +22 -0
  736. package/node_modules/unpipe/README.md +43 -0
  737. package/node_modules/unpipe/index.js +69 -0
  738. package/node_modules/unpipe/package.json +27 -0
  739. package/node_modules/utils-merge/.npmignore +9 -0
  740. package/node_modules/utils-merge/LICENSE +20 -0
  741. package/node_modules/utils-merge/README.md +34 -0
  742. package/node_modules/utils-merge/index.js +23 -0
  743. package/node_modules/utils-merge/package.json +40 -0
  744. package/node_modules/vary/HISTORY.md +39 -0
  745. package/node_modules/vary/LICENSE +22 -0
  746. package/node_modules/vary/README.md +101 -0
  747. package/node_modules/vary/index.js +149 -0
  748. package/node_modules/vary/package.json +43 -0
  749. package/package.json +7 -2
  750. package/routes/edit.js +59 -12
  751. package/routes/edit.ts +68 -22
  752. package/routes/generate.js +78 -11
  753. package/routes/generate.ts +80 -10
  754. package/routes/grok.js +22 -0
  755. package/routes/grok.ts +24 -0
  756. package/routes/health.js +5 -0
  757. package/routes/health.ts +5 -0
  758. package/routes/index.js +4 -0
  759. package/routes/index.ts +4 -0
  760. package/routes/multimode.js +71 -26
  761. package/routes/multimode.ts +80 -39
  762. package/routes/nodes.js +88 -33
  763. package/routes/nodes.ts +97 -42
  764. package/routes/video.js +202 -0
  765. package/routes/video.ts +222 -0
  766. package/server.js +42 -1
  767. package/server.ts +34 -1
  768. package/skills/ima2/SKILL.md +27 -0
  769. package/ui/dist/.vite/manifest.json +12 -12
  770. package/ui/dist/assets/AgentWorkspace-CLHwx6u4.js +3 -0
  771. package/ui/dist/assets/{CardNewsWorkspace-EFVeg4l_.js โ†’ CardNewsWorkspace-6y_HNp3I.js} +2 -2
  772. package/ui/dist/assets/NodeCanvas-DR2N5Dib.js +7 -0
  773. package/ui/dist/assets/{PromptBuilderPanel-C3GdLDCl.js โ†’ PromptBuilderPanel-BQlPtGGm.js} +2 -2
  774. package/ui/dist/assets/{PromptImportDialog-DS9vrc_w.js โ†’ PromptImportDialog-aNk40wLt.js} +2 -2
  775. package/ui/dist/assets/{PromptImportDiscoverySection-DHFEt_FA.js โ†’ PromptImportDiscoverySection-B6NKkVBz.js} +1 -1
  776. package/ui/dist/assets/{PromptImportFolderSection-BQxb1zs5.js โ†’ PromptImportFolderSection-9-xbe-FM.js} +1 -1
  777. package/ui/dist/assets/{PromptLibraryPanel-NhMKVGfU.js โ†’ PromptLibraryPanel-CbEY0AM6.js} +2 -2
  778. package/ui/dist/assets/SettingsWorkspace-ao9ymIWt.js +1 -0
  779. package/ui/dist/assets/index-B0re600T.js +32 -0
  780. package/ui/dist/assets/index-CXJEgTOQ.css +1 -0
  781. package/ui/dist/assets/index-DP88bEQf.js +1 -0
  782. package/ui/dist/index.html +2 -2
  783. package/vendor/progrok-0.1.0.tgz +0 -0
  784. package/ui/dist/assets/AgentWorkspace-B6YNOZHi.js +0 -3
  785. package/ui/dist/assets/NodeCanvas-iM6yjHvO.js +0 -7
  786. package/ui/dist/assets/SettingsWorkspace-FjKjaDqj.js +0 -1
  787. package/ui/dist/assets/index-BAN6lKgf.js +0 -28
  788. package/ui/dist/assets/index-BbFZyM92.js +0 -1
  789. package/ui/dist/assets/index-DK1faG9Z.css +0 -1
package/config.js CHANGED
@@ -164,6 +164,22 @@ export const config = {
164
164
  defaultSize: pickStr(env.IMA2_API_IMAGE_SIZE, fileCfg.apiProvider?.defaultSize, "1024x1024"),
165
165
  allowWebSearch: pickBool(env.IMA2_API_ALLOW_WEB_SEARCH, fileCfg.apiProvider?.allowWebSearch, true),
166
166
  },
167
+ grokProvider: {
168
+ proxyPort: pickInt(env.IMA2_GROK_PROXY_PORT, fileCfg.grokProvider?.proxyPort, 18645),
169
+ proxyHost: pickStr(env.IMA2_GROK_PROXY_HOST, fileCfg.grokProvider?.proxyHost, "127.0.0.1"),
170
+ autoStart: !pickBool(env.IMA2_NO_GROK_PROXY, fileCfg.grokProvider?.disableAutoStart, false),
171
+ restartDelayMs: pickInt(env.IMA2_GROK_RESTART_DELAY_MS, fileCfg.grokProvider?.restartDelayMs, 2000),
172
+ plannerModel: pickStr(env.IMA2_GROK_PLANNER_MODEL, fileCfg.grokProvider?.plannerModel, "grok-4.3"),
173
+ plannerTimeoutMs: pickInt(env.IMA2_GROK_PLANNER_TIMEOUT_MS, fileCfg.grokProvider?.plannerTimeoutMs, 60_000),
174
+ defaultImageModel: pickStr(env.IMA2_GROK_IMAGE_MODEL_DEFAULT, fileCfg.grokProvider?.defaultImageModel, "grok-imagine-image"),
175
+ generationTimeoutMs: pickInt(env.IMA2_GROK_GENERATION_TIMEOUT_MS, fileCfg.grokProvider?.generationTimeoutMs, 120_000),
176
+ statusTimeoutMs: pickInt(env.IMA2_GROK_STATUS_TIMEOUT_MS, fileCfg.grokProvider?.statusTimeoutMs, 3000),
177
+ defaultVideoModel: pickStr(env.IMA2_GROK_VIDEO_MODEL_DEFAULT, fileCfg.grokProvider?.defaultVideoModel, "grok-imagine-video"),
178
+ videoStartTimeoutMs: pickInt(env.IMA2_GROK_VIDEO_START_TIMEOUT_MS, fileCfg.grokProvider?.videoStartTimeoutMs, 60_000),
179
+ videoPollIntervalMs: pickInt(env.IMA2_GROK_VIDEO_POLL_INTERVAL_MS, fileCfg.grokProvider?.videoPollIntervalMs, 5_000),
180
+ videoTimeoutMs: pickInt(env.IMA2_GROK_VIDEO_TIMEOUT_MS, fileCfg.grokProvider?.videoTimeoutMs, 900_000),
181
+ videoDownloadTimeoutMs: pickInt(env.IMA2_GROK_VIDEO_DOWNLOAD_TIMEOUT_MS, fileCfg.grokProvider?.videoDownloadTimeoutMs, 120_000),
182
+ },
167
183
  log: {
168
184
  level: pickStr(env.IMA2_LOG_LEVEL, fileCfg.log?.level, defaultLogLevelForEnv(env)),
169
185
  pretty: env.NODE_ENV !== "production",
package/config.ts CHANGED
@@ -277,6 +277,22 @@ export const config = {
277
277
  defaultSize: pickStr(env.IMA2_API_IMAGE_SIZE, fileCfg.apiProvider?.defaultSize, "1024x1024"),
278
278
  allowWebSearch: pickBool(env.IMA2_API_ALLOW_WEB_SEARCH, fileCfg.apiProvider?.allowWebSearch, true),
279
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
+ },
280
296
  log: {
281
297
  level: pickStr(env.IMA2_LOG_LEVEL, fileCfg.log?.level, defaultLogLevelForEnv(env)),
282
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
 
@@ -14,6 +14,7 @@ For a quick start, see the [main README](../README.md). For endpoint mapping, se
14
14
  | `ima2 doctor` | Diagnose Node, package, config, and auth |
15
15
  | `ima2 doctor image-probe [--json]` | Run live sanitized Responses image probes for `EMPTY_RESPONSE` support |
16
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 |
17
18
  | `ima2 reset` | Remove saved config |
18
19
 
19
20
  ## Common flags
@@ -51,16 +52,36 @@ Agents should start from the packaged skill and capability commands instead of g
51
52
  | `ima2 node generate` | Node-mode generate (SSE; supports `--no-stream`) |
52
53
  | `ima2 node show <nodeId>` | Read node metadata |
53
54
 
54
- 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>`.
55
56
 
56
57
  Provider override semantics:
57
58
 
58
59
  - `api` forces the API-key Responses path and requires a configured API key.
59
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.
60
62
  - `auto` preserves route default behavior and currently resolves to OAuth unless server routing changes.
61
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
+
62
81
  ```bash
63
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
64
85
  ima2 edit input.png --prompt "make it rainy" --provider oauth --web-search
65
86
  ima2 multimode "two cats playing" --max-images 2 --ref cat.png --mode direct
66
87
  ima2 node generate --node n_abc --prompt "add neon lights" --no-stream
@@ -82,7 +103,7 @@ mockup`.
82
103
  For dense or critical text, keep the text large and explicit. Exact placement,
83
104
  small text, and pixel-perfect typography can still need iteration or post-editing.
84
105
 
85
- 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.
86
107
 
87
108
  ## Diagnostics
88
109
 
@@ -169,6 +190,8 @@ Windows DNS/fragmentation bypass tool such as SecretDNS is in use.
169
190
  | `ima2 prompt import folder <localpath>` | Import a local folder of prompts |
170
191
  | `ima2 prompt import json <file\|@file\|-> [--folder <id>]` | Import a JSON export body through `/api/prompts/import` |
171
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 |
172
195
 
173
196
  ## Card News (gated)
174
197
 
@@ -199,6 +222,7 @@ Card News requires the server to be started with `IMA2_CARD_NEWS=1` (or `feature
199
222
  | `ima2 billing` | API usage / quota |
200
223
  | `ima2 providers` | Configured providers |
201
224
  | `ima2 oauth status` | OAuth proxy state |
225
+ | `ima2 grok status` | Bundled progrok / xAI image-model probe state |
202
226
  | `ima2 ping` | Health-check the running server |
203
227
 
204
228
  ## Config
@@ -231,6 +255,8 @@ Allowed keys (whitelist):
231
255
  ```
232
256
  imageModels.default imageModels.reasoningEffort
233
257
  apiProvider.defaultImageModel apiProvider.defaultReasoningEffort
258
+ grokProvider.plannerModel grokProvider.plannerTimeoutMs
259
+ grokProvider.defaultImageModel
234
260
  log.level features.cardNews
235
261
  cardNewsPlanner.{enabled,model,timeoutMs,deterministicFallback}
236
262
  comfy.{defaultUrl,uploadTimeoutMs,maxUploadBytes}
package/docs/README.ko.md CHANGED
@@ -6,11 +6,13 @@
6
6
 
7
7
  > ๐ŸŒ **Live site**: [lidge-jun.github.io/ima2-gen](https://lidge-jun.github.io/ima2-gen/) ยท [ํ•œ๊ตญ์–ด ํŽ˜์ด์ง€](https://lidge-jun.github.io/ima2-gen/ko/)
8
8
  >
9
+ > ๐Ÿ“– **๊ฐœ๋ฐœ์ž ๋ฌธ์„œ**: [๋ฌธ์„œ ์‚ฌ์ดํŠธ](https://lidge-jun.github.io/ima2-gen/ko/docs) ยท [English](https://lidge-jun.github.io/ima2-gen/docs)
10
+ >
9
11
  > **๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์ฝ๊ธฐ**: [English](../README.md) ยท [ๆ—ฅๆœฌ่ชž](README.ja.md) ยท [็ฎ€ไฝ“ไธญๆ–‡](README.zh-CN.md)
10
12
 
11
13
  `ima2-gen`์€ ChatGPT/Codex OAuth ์ด๋ฏธ์ง€ ์ƒ์„ฑ ํ๋ฆ„์„ ๋กœ์ปฌ ์›น์•ฑ์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ์ด๋ฏธ์ง€ ์ƒ์„ฑ ์ŠคํŠœ๋””์˜ค์ž…๋‹ˆ๋‹ค.
12
14
 
13
- `npx`๋กœ ์‹คํ–‰ํ•˜๊ณ , Codex OAuth๋กœ ๋กœ๊ทธ์ธํ•œ ๋’ค, ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด์„œ ํžˆ์Šคํ† ๋ฆฌ, ๋ ˆํผ๋Ÿฐ์Šค, ๋…ธ๋“œ ๋ธŒ๋žœ์น˜, ๋ฉ€ํ‹ฐ๋ชจ๋“œ ๋ฐฐ์น˜, Canvas Mode ์ •๋ฆฌ ์ž‘์—…์œผ๋กœ ๊ณ„์† ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ์ƒ์„ฑ ๊ฒฝ๋กœ์—์„œ๋Š” OpenAI API ํ‚ค๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
15
+ `npx`๋กœ ์‹คํ–‰ํ•˜๊ณ , Codex OAuth๋กœ ๋กœ๊ทธ์ธํ•œ ๋’ค, ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด์„œ ํžˆ์Šคํ† ๋ฆฌ, ๋ ˆํผ๋Ÿฐ์Šค, ๋…ธ๋“œ ๋ธŒ๋žœ์น˜, ๋ฉ€ํ‹ฐ๋ชจ๋“œ ๋ฐฐ์น˜, Canvas Mode ์ •๋ฆฌ ์ž‘์—…์œผ๋กœ ๊ณ„์† ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ์ƒ์„ฑ ๊ฒฝ๋กœ์—์„œ๋Š” OpenAI API ํ‚ค๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์„ค์ •๋œ ๊ฒฝ์šฐ OpenAI API-key ๊ฒฝ๋กœ์™€ ๋ฒˆ๋“ค Grok ๊ฒฝ๋กœ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
14
16
 
15
17
  ![ํ”„๋กฌํ”„ํŠธ ์ž‘์„ฑ์ฐฝ, ์ƒ์„ฑ ์ด๋ฏธ์ง€, ๋ชจ๋ธ ํ‘œ์‹œ, ๊ฒฐ๊ณผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์ด๋Š” ima2-gen ํด๋ž˜์‹ ์ƒ์„ฑ ํ™”๋ฉด](../assets/screenshots/classic-generate-light.png)
16
18
 
@@ -50,13 +52,19 @@ ima2 serve
50
52
  - **Mobile shell**: ์ž‘์€ ํ™”๋ฉด์—์„œ๋Š” app bar, compose sheet, compact settings toggle๋กœ ์กฐ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
51
53
  - **Observable jobs**: ์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…๊ณผ ์ตœ๊ทผ ์™„๋ฃŒ๋œ ์ž‘์—…์„ request ID๋กœ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.
52
54
 
53
- ## ์ด๋ฏธ์ง€ ์ƒ์„ฑ์€ OAuth์™€ API Key๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค
55
+ ## ์ด๋ฏธ์ง€ ์ƒ์„ฑ ๊ณต๊ธ‰์ž
56
+
57
+ ์ด๋ฏธ์ง€ ์ƒ์„ฑ์€ ๋กœ์ปฌ Codex/ChatGPT OAuth, OpenAI API key, ๋ฒˆ๋“ค Grok ๊ณต๊ธ‰์ž๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
58
+
59
+ - `provider: "oauth"`๋Š” ๋กœ์ปฌ Codex OAuth ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
60
+ - `provider: "api"`๋Š” OpenAI Responses API์˜ `image_generation` ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
61
+ - `provider: "grok"`๋Š” ๋ฒˆ๋“ค `progrok`์„ `127.0.0.1:18645`์—์„œ ๋„์šฐ๊ณ , xAI Web Search์™€ `grok-4.3` planner๋ฅผ ๊ฑฐ์นœ ๋’ค xAI Images API๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
54
62
 
55
- ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ์ƒ์„ฑ์€ ๋กœ์ปฌ Codex/ChatGPT OAuth ๊ฒฝ๋กœ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
63
+ Grok์€ Classic, Node, Agent ํ๋ฆ„์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Classic ๋ ˆํผ๋Ÿฐ์Šค, Node ๋ถ€๋ชจ ์ด๋ฏธ์ง€, Agent ํ˜„์žฌ ์ด๋ฏธ์ง€๊ฐ€ ์žˆ์œผ๋ฉด ์ตœ์ข… Grok ํ˜ธ์ถœ์€ xAI image edit ๊ฒฝ๋กœ๋กœ ์ „ํ™˜๋˜์–ด image-to-image ๋งฅ๋ฝ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ชจ๋ธ์€ `grok-imagine-image`์ด๊ณ , `quality: "high"`์—์„œ๋Š” `grok-imagine-image-quality`๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
56
64
 
57
- API ํ‚ค๊ฐ€ env/config์— ์žˆ์œผ๋ฉด ์ƒ์„ฑ ์—”๋“œํฌ์ธํŠธ์—์„œ `provider: "api"`๋ฅผ ๋ณด๋‚ด Responses API `image_generation` ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
65
+ Grok video ์ƒ์„ฑ(T2V/I2V)์€ `1.1.15`์— ํฌํ•จ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. `docs/grok-video-i2v-plan.md`์™€ `docs/grok-video-i2v-research.md`๋Š” ๊ตฌํ˜„ ๊ณ„ํš๊ณผ ์กฐ์‚ฌ ๋ฌธ์„œ์ด๋ฉฐ, ๊ณต๊ฐœ ๋Ÿฐํƒ€์ž„์€ ์•„์ง ์ด๋ฏธ์ง€ ์ƒ์„ฑ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
58
66
 
59
- ์„ค์ • ํ™”๋ฉด์— **API key provider available**์ด ๋ณด์ด๋ฉด, API ํ‚ค๊ฐ€ ๊ฐ์ง€๋๊ณ  ์ƒ์„ฑ/ํŽธ์ง‘/๋ฉ€ํ‹ฐ๋ชจ๋“œ/๋…ธ๋“œ ์š”์ฒญ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.
67
+ ์„ค์ • ํ™”๋ฉด์— **API key provider available**์ด๋‚˜ **Grok provider available**์ด ๋ณด์ด๋ฉด ํ•ด๋‹น ๊ณต๊ธ‰์ž๊ฐ€ ๊ฐ์ง€๋๊ณ  ์ƒ์„ฑ ์š”์ฒญ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.
60
68
 
61
69
  ![OAuth ํ™œ์„ฑํ™”์™€ API ํ‚ค ๋น„ํ™œ์„ฑ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์„ค์ • ํ™”๋ฉด](../assets/screenshots/settings-oauth-generation.png)
62
70
 
@@ -176,9 +184,14 @@ environment variables > ~/.ima2/config.json > built-in defaults
176
184
  | `IMA2_GENERATED_DIR` | `~/.ima2/generated` | ์ƒ์„ฑ ์ด๋ฏธ์ง€ ์ €์žฅ ์œ„์น˜ |
177
185
  | `IMA2_IMAGE_MODEL_DEFAULT` | `gpt-5.4-mini` | ์„œ๋ฒ„ fallback ์ด๋ฏธ์ง€ ๋ชจ๋ธ |
178
186
  | `IMA2_NO_OAUTH_PROXY` | โ€” | `1`์ด๋ฉด OAuth ํ”„๋ก์‹œ ์ž๋™ ์‹œ์ž‘ ๋น„ํ™œ์„ฑํ™” |
187
+ | `IMA2_GROK_PROXY_HOST` | `127.0.0.1` | ๋ฒˆ๋“ค progrok ํ”„๋ก์‹œ host |
188
+ | `IMA2_GROK_PROXY_PORT` | `18645` | ๋ฒˆ๋“ค progrok ํ”„๋ก์‹œ port |
189
+ | `IMA2_NO_GROK_PROXY` | โ€” | `1`์ด๋ฉด progrok ์ž๋™ ์‹œ์ž‘ ๋น„ํ™œ์„ฑํ™” |
190
+ | `IMA2_GROK_PLANNER_MODEL` | `grok-4.3` | ์ตœ์ข… ์ด๋ฏธ์ง€ ํ˜ธ์ถœ ์ „ Grok ๊ฒ€์ƒ‰/planner ๋ชจ๋ธ |
191
+ | `IMA2_GROK_IMAGE_MODEL_DEFAULT` | `grok-imagine-image` | ๊ธฐ๋ณธ Grok ์ด๋ฏธ์ง€ ๋ชจ๋ธ |
179
192
  | `IMA2_LOG_LEVEL` | `warn` | ์ผ๋ฐ˜ `serve`๋Š” `warn`, dev ๋ชจ๋“œ๋Š” `debug`. `debug`, `info`, `warn`, `error`, `silent` ์ง€์› |
180
193
  | `IMA2_INFLIGHT_TERMINAL_TTL_MS` | `30000` | ๋””๋ฒ„๊ทธ์šฉ ์ตœ๊ทผ ์ž‘์—… ๋ณด์กด ์‹œ๊ฐ„ |
181
- | `OPENAI_API_KEY` | โ€” | ๋ณด์กฐ ๊ธฐ๋Šฅ์šฉ API ํ‚ค. ์ด๋ฏธ์ง€ ์ƒ์„ฑ์šฉ์€ ์•„๋‹˜ |
194
+ | `OPENAI_API_KEY` | โ€” | `provider: "api"` Responses ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ์™€ ๋ณด์กฐ ๊ธฐ๋Šฅ์šฉ API ํ‚ค |
182
195
 
183
196
  ### ๋กœ๊ทธ ๋ชจ๋“œ
184
197