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.
- package/README.md +21 -6
- package/bin/commands/capabilities.js +5 -0
- package/bin/commands/capabilities.ts +5 -0
- package/bin/commands/doctor.js +2 -2
- package/bin/commands/doctor.ts +2 -2
- package/bin/commands/edit.js +6 -6
- package/bin/commands/edit.ts +6 -6
- package/bin/commands/gen.js +6 -6
- package/bin/commands/gen.ts +6 -6
- package/bin/commands/grok.js +81 -0
- package/bin/commands/grok.ts +86 -0
- package/bin/commands/multimode.js +3 -3
- package/bin/commands/multimode.ts +3 -3
- package/bin/commands/node.js +4 -4
- package/bin/commands/node.ts +4 -4
- package/bin/ima2.js +3 -1
- package/bin/ima2.ts +3 -1
- package/config.js +16 -0
- package/config.ts +16 -0
- package/docs/API.md +77 -8
- package/docs/CLI.md +29 -3
- package/docs/README.ko.md +19 -6
- package/docs/grok-video-i2v-plan.md +419 -0
- package/docs/grok-video-i2v-research.md +204 -0
- package/docs/migration/runtime-test-inventory.md +7 -1
- package/lib/agentRuntime.js +79 -17
- package/lib/agentRuntime.ts +89 -27
- package/lib/agentSettings.js +1 -1
- package/lib/agentSettings.ts +1 -1
- package/lib/agentTypes.ts +1 -1
- package/lib/capabilities.js +10 -2
- package/lib/capabilities.ts +10 -2
- package/lib/configKeys.js +6 -0
- package/lib/configKeys.ts +6 -1
- package/lib/grokImageAdapter.js +394 -0
- package/lib/grokImageAdapter.ts +513 -0
- package/lib/grokMultimodeAdapter.js +54 -0
- package/lib/grokMultimodeAdapter.ts +84 -0
- package/lib/grokProxyLauncher.js +106 -0
- package/lib/grokProxyLauncher.ts +129 -0
- package/lib/grokRuntime.js +18 -0
- package/lib/grokRuntime.ts +23 -0
- package/lib/grokSizeMapper.js +63 -0
- package/lib/grokSizeMapper.ts +71 -0
- package/lib/grokVideoAdapter.js +407 -0
- package/lib/grokVideoAdapter.ts +471 -0
- package/lib/historyList.js +5 -1
- package/lib/historyList.ts +5 -1
- package/lib/imageMetadata.js +2 -0
- package/lib/imageMetadata.ts +2 -0
- package/lib/imageModels.js +101 -0
- package/lib/imageModels.ts +111 -0
- package/lib/oauthLauncher.js +11 -0
- package/lib/oauthLauncher.ts +11 -0
- package/lib/providerOptions.js +15 -1
- package/lib/providerOptions.ts +15 -1
- package/lib/runtimeContext.js +12 -0
- package/lib/runtimeContext.ts +15 -0
- package/node_modules/array-flatten/LICENSE +21 -0
- package/node_modules/array-flatten/README.md +43 -0
- package/node_modules/array-flatten/array-flatten.js +64 -0
- package/node_modules/array-flatten/package.json +39 -0
- package/node_modules/bundle-name/index.js +5 -0
- package/node_modules/bundle-name/license +9 -0
- package/node_modules/bundle-name/package.json +45 -0
- package/node_modules/bundle-name/readme.md +23 -0
- package/node_modules/bytes/History.md +97 -0
- package/node_modules/bytes/LICENSE +23 -0
- package/node_modules/bytes/Readme.md +152 -0
- package/node_modules/bytes/index.js +170 -0
- package/node_modules/bytes/package.json +42 -0
- package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
- package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
- package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
- package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
- package/node_modules/call-bind-apply-helpers/LICENSE +21 -0
- package/node_modules/call-bind-apply-helpers/README.md +62 -0
- package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
- package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
- package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
- package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
- package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
- package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
- package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
- package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
- package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
- package/node_modules/call-bind-apply-helpers/index.js +15 -0
- package/node_modules/call-bind-apply-helpers/package.json +85 -0
- package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
- package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
- package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
- package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
- package/node_modules/call-bound/.eslintrc +13 -0
- package/node_modules/call-bound/.github/FUNDING.yml +12 -0
- package/node_modules/call-bound/.nycrc +9 -0
- package/node_modules/call-bound/CHANGELOG.md +42 -0
- package/node_modules/call-bound/LICENSE +21 -0
- package/node_modules/call-bound/README.md +53 -0
- package/node_modules/call-bound/index.d.ts +94 -0
- package/node_modules/call-bound/index.js +19 -0
- package/node_modules/call-bound/package.json +99 -0
- package/node_modules/call-bound/test/index.js +61 -0
- package/node_modules/call-bound/tsconfig.json +10 -0
- package/node_modules/commander/LICENSE +22 -0
- package/node_modules/commander/Readme.md +1149 -0
- package/node_modules/commander/esm.mjs +16 -0
- package/node_modules/commander/index.js +24 -0
- package/node_modules/commander/lib/argument.js +149 -0
- package/node_modules/commander/lib/command.js +2662 -0
- package/node_modules/commander/lib/error.js +39 -0
- package/node_modules/commander/lib/help.js +709 -0
- package/node_modules/commander/lib/option.js +367 -0
- package/node_modules/commander/lib/suggestSimilar.js +101 -0
- package/node_modules/commander/package-support.json +16 -0
- package/node_modules/commander/package.json +82 -0
- package/node_modules/commander/typings/esm.d.mts +3 -0
- package/node_modules/commander/typings/index.d.ts +1045 -0
- package/node_modules/content-type/HISTORY.md +29 -0
- package/node_modules/content-type/LICENSE +22 -0
- package/node_modules/content-type/README.md +94 -0
- package/node_modules/content-type/index.js +225 -0
- package/node_modules/content-type/package.json +42 -0
- package/node_modules/cookie/LICENSE +24 -0
- package/node_modules/cookie/README.md +317 -0
- package/node_modules/cookie/SECURITY.md +25 -0
- package/node_modules/cookie/index.js +335 -0
- package/node_modules/cookie/package.json +44 -0
- package/node_modules/default-browser/index.d.ts +29 -0
- package/node_modules/default-browser/index.js +34 -0
- package/node_modules/default-browser/license +9 -0
- package/node_modules/default-browser/package.json +54 -0
- package/node_modules/default-browser/readme.md +24 -0
- package/node_modules/default-browser/windows.js +57 -0
- package/node_modules/default-browser-id/index.js +25 -0
- package/node_modules/default-browser-id/license +9 -0
- package/node_modules/default-browser-id/package.json +41 -0
- package/node_modules/default-browser-id/readme.md +19 -0
- package/node_modules/define-lazy-prop/index.d.ts +31 -0
- package/node_modules/define-lazy-prop/index.js +18 -0
- package/node_modules/define-lazy-prop/license +9 -0
- package/node_modules/define-lazy-prop/package.json +51 -0
- package/node_modules/define-lazy-prop/readme.md +55 -0
- package/node_modules/depd/History.md +103 -0
- package/node_modules/depd/LICENSE +22 -0
- package/node_modules/depd/Readme.md +280 -0
- package/node_modules/depd/index.js +538 -0
- package/node_modules/depd/lib/browser/index.js +77 -0
- package/node_modules/depd/package.json +45 -0
- package/node_modules/destroy/LICENSE +23 -0
- package/node_modules/destroy/README.md +63 -0
- package/node_modules/destroy/index.js +209 -0
- package/node_modules/destroy/package.json +48 -0
- package/node_modules/dunder-proto/.eslintrc +5 -0
- package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
- package/node_modules/dunder-proto/.nycrc +13 -0
- package/node_modules/dunder-proto/CHANGELOG.md +24 -0
- package/node_modules/dunder-proto/LICENSE +21 -0
- package/node_modules/dunder-proto/README.md +54 -0
- package/node_modules/dunder-proto/get.d.ts +5 -0
- package/node_modules/dunder-proto/get.js +30 -0
- package/node_modules/dunder-proto/package.json +76 -0
- package/node_modules/dunder-proto/set.d.ts +5 -0
- package/node_modules/dunder-proto/set.js +35 -0
- package/node_modules/dunder-proto/test/get.js +34 -0
- package/node_modules/dunder-proto/test/index.js +4 -0
- package/node_modules/dunder-proto/test/set.js +50 -0
- package/node_modules/dunder-proto/tsconfig.json +9 -0
- package/node_modules/ee-first/LICENSE +22 -0
- package/node_modules/ee-first/README.md +80 -0
- package/node_modules/ee-first/index.js +95 -0
- package/node_modules/ee-first/package.json +29 -0
- package/node_modules/encodeurl/LICENSE +22 -0
- package/node_modules/encodeurl/README.md +109 -0
- package/node_modules/encodeurl/index.js +60 -0
- package/node_modules/encodeurl/package.json +40 -0
- package/node_modules/es-define-property/.eslintrc +13 -0
- package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
- package/node_modules/es-define-property/.nycrc +9 -0
- package/node_modules/es-define-property/CHANGELOG.md +29 -0
- package/node_modules/es-define-property/LICENSE +21 -0
- package/node_modules/es-define-property/README.md +49 -0
- package/node_modules/es-define-property/index.d.ts +3 -0
- package/node_modules/es-define-property/index.js +14 -0
- package/node_modules/es-define-property/package.json +81 -0
- package/node_modules/es-define-property/test/index.js +56 -0
- package/node_modules/es-define-property/tsconfig.json +10 -0
- package/node_modules/es-errors/.eslintrc +5 -0
- package/node_modules/es-errors/.github/FUNDING.yml +12 -0
- package/node_modules/es-errors/CHANGELOG.md +40 -0
- package/node_modules/es-errors/LICENSE +21 -0
- package/node_modules/es-errors/README.md +55 -0
- package/node_modules/es-errors/eval.d.ts +3 -0
- package/node_modules/es-errors/eval.js +4 -0
- package/node_modules/es-errors/index.d.ts +3 -0
- package/node_modules/es-errors/index.js +4 -0
- package/node_modules/es-errors/package.json +80 -0
- package/node_modules/es-errors/range.d.ts +3 -0
- package/node_modules/es-errors/range.js +4 -0
- package/node_modules/es-errors/ref.d.ts +3 -0
- package/node_modules/es-errors/ref.js +4 -0
- package/node_modules/es-errors/syntax.d.ts +3 -0
- package/node_modules/es-errors/syntax.js +4 -0
- package/node_modules/es-errors/test/index.js +19 -0
- package/node_modules/es-errors/tsconfig.json +49 -0
- package/node_modules/es-errors/type.d.ts +3 -0
- package/node_modules/es-errors/type.js +4 -0
- package/node_modules/es-errors/uri.d.ts +3 -0
- package/node_modules/es-errors/uri.js +4 -0
- package/node_modules/es-object-atoms/.eslintrc +16 -0
- package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
- package/node_modules/es-object-atoms/CHANGELOG.md +37 -0
- package/node_modules/es-object-atoms/LICENSE +21 -0
- package/node_modules/es-object-atoms/README.md +63 -0
- package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
- package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
- package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
- package/node_modules/es-object-atoms/ToObject.js +10 -0
- package/node_modules/es-object-atoms/index.d.ts +3 -0
- package/node_modules/es-object-atoms/index.js +4 -0
- package/node_modules/es-object-atoms/isObject.d.ts +3 -0
- package/node_modules/es-object-atoms/isObject.js +6 -0
- package/node_modules/es-object-atoms/package.json +80 -0
- package/node_modules/es-object-atoms/test/index.js +38 -0
- package/node_modules/es-object-atoms/tsconfig.json +6 -0
- package/node_modules/escape-html/LICENSE +24 -0
- package/node_modules/escape-html/Readme.md +43 -0
- package/node_modules/escape-html/index.js +78 -0
- package/node_modules/escape-html/package.json +24 -0
- package/node_modules/etag/HISTORY.md +83 -0
- package/node_modules/etag/LICENSE +22 -0
- package/node_modules/etag/README.md +159 -0
- package/node_modules/etag/index.js +131 -0
- package/node_modules/etag/package.json +47 -0
- package/node_modules/forwarded/HISTORY.md +21 -0
- package/node_modules/forwarded/LICENSE +22 -0
- package/node_modules/forwarded/README.md +57 -0
- package/node_modules/forwarded/index.js +90 -0
- package/node_modules/forwarded/package.json +45 -0
- package/node_modules/function-bind/.eslintrc +21 -0
- package/node_modules/function-bind/.github/FUNDING.yml +12 -0
- package/node_modules/function-bind/.github/SECURITY.md +3 -0
- package/node_modules/function-bind/.nycrc +13 -0
- package/node_modules/function-bind/CHANGELOG.md +136 -0
- package/node_modules/function-bind/LICENSE +20 -0
- package/node_modules/function-bind/README.md +46 -0
- package/node_modules/function-bind/implementation.js +84 -0
- package/node_modules/function-bind/index.js +5 -0
- package/node_modules/function-bind/package.json +87 -0
- package/node_modules/function-bind/test/.eslintrc +9 -0
- package/node_modules/function-bind/test/index.js +252 -0
- package/node_modules/get-intrinsic/.eslintrc +42 -0
- package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
- package/node_modules/get-intrinsic/.nycrc +9 -0
- package/node_modules/get-intrinsic/CHANGELOG.md +186 -0
- package/node_modules/get-intrinsic/LICENSE +21 -0
- package/node_modules/get-intrinsic/README.md +71 -0
- package/node_modules/get-intrinsic/index.js +378 -0
- package/node_modules/get-intrinsic/package.json +97 -0
- package/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
- package/node_modules/get-proto/.eslintrc +10 -0
- package/node_modules/get-proto/.github/FUNDING.yml +12 -0
- package/node_modules/get-proto/.nycrc +9 -0
- package/node_modules/get-proto/CHANGELOG.md +21 -0
- package/node_modules/get-proto/LICENSE +21 -0
- package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
- package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
- package/node_modules/get-proto/README.md +50 -0
- package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
- package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
- package/node_modules/get-proto/index.d.ts +5 -0
- package/node_modules/get-proto/index.js +27 -0
- package/node_modules/get-proto/package.json +81 -0
- package/node_modules/get-proto/test/index.js +68 -0
- package/node_modules/get-proto/tsconfig.json +9 -0
- package/node_modules/gopd/.eslintrc +16 -0
- package/node_modules/gopd/.github/FUNDING.yml +12 -0
- package/node_modules/gopd/CHANGELOG.md +45 -0
- package/node_modules/gopd/LICENSE +21 -0
- package/node_modules/gopd/README.md +40 -0
- package/node_modules/gopd/gOPD.d.ts +1 -0
- package/node_modules/gopd/gOPD.js +4 -0
- package/node_modules/gopd/index.d.ts +5 -0
- package/node_modules/gopd/index.js +15 -0
- package/node_modules/gopd/package.json +77 -0
- package/node_modules/gopd/test/index.js +36 -0
- package/node_modules/gopd/tsconfig.json +9 -0
- package/node_modules/has-symbols/.eslintrc +11 -0
- package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
- package/node_modules/has-symbols/.nycrc +9 -0
- package/node_modules/has-symbols/CHANGELOG.md +91 -0
- package/node_modules/has-symbols/LICENSE +21 -0
- package/node_modules/has-symbols/README.md +46 -0
- package/node_modules/has-symbols/index.d.ts +3 -0
- package/node_modules/has-symbols/index.js +14 -0
- package/node_modules/has-symbols/package.json +111 -0
- package/node_modules/has-symbols/shams.d.ts +3 -0
- package/node_modules/has-symbols/shams.js +45 -0
- package/node_modules/has-symbols/test/index.js +22 -0
- package/node_modules/has-symbols/test/shams/core-js.js +29 -0
- package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
- package/node_modules/has-symbols/test/tests.js +58 -0
- package/node_modules/has-symbols/tsconfig.json +10 -0
- package/node_modules/hasown/.github/FUNDING.yml +12 -0
- package/node_modules/hasown/.nycrc +13 -0
- package/node_modules/hasown/CHANGELOG.md +51 -0
- package/node_modules/hasown/LICENSE +21 -0
- package/node_modules/hasown/README.md +40 -0
- package/node_modules/hasown/eslint.config.mjs +6 -0
- package/node_modules/hasown/index.d.ts +4 -0
- package/node_modules/hasown/index.js +8 -0
- package/node_modules/hasown/package.json +92 -0
- package/node_modules/hasown/tsconfig.json +6 -0
- package/node_modules/http-errors/HISTORY.md +186 -0
- package/node_modules/http-errors/LICENSE +23 -0
- package/node_modules/http-errors/README.md +169 -0
- package/node_modules/http-errors/index.js +290 -0
- package/node_modules/http-errors/package.json +54 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +29 -0
- package/node_modules/ipaddr.js/LICENSE +19 -0
- package/node_modules/ipaddr.js/README.md +233 -0
- package/node_modules/ipaddr.js/ipaddr.min.js +1 -0
- package/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
- package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
- package/node_modules/ipaddr.js/package.json +35 -0
- package/node_modules/is-docker/cli.js +5 -0
- package/node_modules/is-docker/index.d.ts +13 -0
- package/node_modules/is-docker/index.js +29 -0
- package/node_modules/is-docker/license +9 -0
- package/node_modules/is-docker/package.json +44 -0
- package/node_modules/is-docker/readme.md +27 -0
- package/node_modules/is-inside-container/cli.js +5 -0
- package/node_modules/is-inside-container/index.d.ts +13 -0
- package/node_modules/is-inside-container/index.js +23 -0
- package/node_modules/is-inside-container/license +9 -0
- package/node_modules/is-inside-container/package.json +51 -0
- package/node_modules/is-inside-container/readme.md +36 -0
- package/node_modules/is-wsl/index.d.ts +15 -0
- package/node_modules/is-wsl/index.js +36 -0
- package/node_modules/is-wsl/license +9 -0
- package/node_modules/is-wsl/package.json +58 -0
- package/node_modules/is-wsl/readme.md +21 -0
- package/node_modules/math-intrinsics/.eslintrc +16 -0
- package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
- package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
- package/node_modules/math-intrinsics/LICENSE +21 -0
- package/node_modules/math-intrinsics/README.md +50 -0
- package/node_modules/math-intrinsics/abs.d.ts +1 -0
- package/node_modules/math-intrinsics/abs.js +4 -0
- package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
- package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
- package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
- package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
- package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
- package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
- package/node_modules/math-intrinsics/floor.d.ts +1 -0
- package/node_modules/math-intrinsics/floor.js +4 -0
- package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
- package/node_modules/math-intrinsics/isFinite.js +12 -0
- package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
- package/node_modules/math-intrinsics/isInteger.js +16 -0
- package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
- package/node_modules/math-intrinsics/isNaN.js +6 -0
- package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
- package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
- package/node_modules/math-intrinsics/max.d.ts +1 -0
- package/node_modules/math-intrinsics/max.js +4 -0
- package/node_modules/math-intrinsics/min.d.ts +1 -0
- package/node_modules/math-intrinsics/min.js +4 -0
- package/node_modules/math-intrinsics/mod.d.ts +3 -0
- package/node_modules/math-intrinsics/mod.js +9 -0
- package/node_modules/math-intrinsics/package.json +86 -0
- package/node_modules/math-intrinsics/pow.d.ts +1 -0
- package/node_modules/math-intrinsics/pow.js +4 -0
- package/node_modules/math-intrinsics/round.d.ts +1 -0
- package/node_modules/math-intrinsics/round.js +4 -0
- package/node_modules/math-intrinsics/sign.d.ts +3 -0
- package/node_modules/math-intrinsics/sign.js +11 -0
- package/node_modules/math-intrinsics/test/index.js +192 -0
- package/node_modules/math-intrinsics/tsconfig.json +3 -0
- package/node_modules/methods/HISTORY.md +29 -0
- package/node_modules/methods/LICENSE +24 -0
- package/node_modules/methods/README.md +51 -0
- package/node_modules/methods/index.js +69 -0
- package/node_modules/methods/package.json +36 -0
- package/node_modules/mime/.npmignore +0 -0
- package/node_modules/mime/CHANGELOG.md +164 -0
- package/node_modules/mime/LICENSE +21 -0
- package/node_modules/mime/README.md +90 -0
- package/node_modules/mime/cli.js +8 -0
- package/node_modules/mime/mime.js +108 -0
- package/node_modules/mime/package.json +44 -0
- package/node_modules/mime/src/build.js +53 -0
- package/node_modules/mime/src/test.js +60 -0
- package/node_modules/mime/types.json +1 -0
- package/node_modules/ms/index.js +162 -0
- package/node_modules/ms/license.md +21 -0
- package/node_modules/ms/package.json +38 -0
- package/node_modules/ms/readme.md +59 -0
- package/node_modules/object-inspect/.eslintrc +53 -0
- package/node_modules/object-inspect/.github/FUNDING.yml +12 -0
- package/node_modules/object-inspect/.nycrc +13 -0
- package/node_modules/object-inspect/CHANGELOG.md +424 -0
- package/node_modules/object-inspect/LICENSE +21 -0
- package/node_modules/object-inspect/example/all.js +23 -0
- package/node_modules/object-inspect/example/circular.js +6 -0
- package/node_modules/object-inspect/example/fn.js +5 -0
- package/node_modules/object-inspect/example/inspect.js +10 -0
- package/node_modules/object-inspect/index.js +544 -0
- package/node_modules/object-inspect/package-support.json +20 -0
- package/node_modules/object-inspect/package.json +105 -0
- package/node_modules/object-inspect/readme.markdown +84 -0
- package/node_modules/object-inspect/test/bigint.js +58 -0
- package/node_modules/object-inspect/test/browser/dom.js +15 -0
- package/node_modules/object-inspect/test/circular.js +16 -0
- package/node_modules/object-inspect/test/deep.js +12 -0
- package/node_modules/object-inspect/test/element.js +53 -0
- package/node_modules/object-inspect/test/err.js +48 -0
- package/node_modules/object-inspect/test/fakes.js +29 -0
- package/node_modules/object-inspect/test/fn.js +76 -0
- package/node_modules/object-inspect/test/global.js +17 -0
- package/node_modules/object-inspect/test/has.js +15 -0
- package/node_modules/object-inspect/test/holes.js +15 -0
- package/node_modules/object-inspect/test/indent-option.js +271 -0
- package/node_modules/object-inspect/test/inspect.js +139 -0
- package/node_modules/object-inspect/test/lowbyte.js +12 -0
- package/node_modules/object-inspect/test/number.js +58 -0
- package/node_modules/object-inspect/test/quoteStyle.js +26 -0
- package/node_modules/object-inspect/test/toStringTag.js +40 -0
- package/node_modules/object-inspect/test/undef.js +12 -0
- package/node_modules/object-inspect/test/values.js +261 -0
- package/node_modules/object-inspect/test-core-js.js +26 -0
- package/node_modules/object-inspect/util.inspect.js +1 -0
- package/node_modules/on-finished/HISTORY.md +98 -0
- package/node_modules/on-finished/LICENSE +23 -0
- package/node_modules/on-finished/README.md +162 -0
- package/node_modules/on-finished/index.js +234 -0
- package/node_modules/on-finished/package.json +39 -0
- package/node_modules/open/index.d.ts +158 -0
- package/node_modules/open/index.js +366 -0
- package/node_modules/open/license +9 -0
- package/node_modules/open/node_modules/wsl-utils/index.d.ts +21 -0
- package/node_modules/open/node_modules/wsl-utils/index.js +57 -0
- package/node_modules/open/node_modules/wsl-utils/license +9 -0
- package/node_modules/open/node_modules/wsl-utils/package.json +46 -0
- package/node_modules/open/node_modules/wsl-utils/readme.md +50 -0
- package/node_modules/open/package.json +68 -0
- package/node_modules/open/readme.md +183 -0
- package/node_modules/open/xdg-open +1267 -0
- package/node_modules/parseurl/HISTORY.md +58 -0
- package/node_modules/parseurl/LICENSE +24 -0
- package/node_modules/parseurl/README.md +133 -0
- package/node_modules/parseurl/index.js +158 -0
- package/node_modules/parseurl/package.json +40 -0
- package/node_modules/progrok/LICENSE +21 -0
- package/node_modules/progrok/README.md +53 -0
- package/node_modules/progrok/THIRD_PARTY_NOTICES.md +13 -0
- package/node_modules/progrok/dist/index.js +1142 -0
- package/node_modules/progrok/dist/index.js.map +1 -0
- package/node_modules/progrok/dist/public/app.js +529 -0
- package/node_modules/progrok/dist/public/index.html +47 -0
- package/node_modules/progrok/dist/public/style.css +392 -0
- package/node_modules/progrok/node_modules/accepts/HISTORY.md +243 -0
- package/node_modules/progrok/node_modules/accepts/LICENSE +23 -0
- package/node_modules/progrok/node_modules/accepts/README.md +140 -0
- package/node_modules/progrok/node_modules/accepts/index.js +238 -0
- package/node_modules/progrok/node_modules/accepts/package.json +47 -0
- package/node_modules/progrok/node_modules/body-parser/HISTORY.md +686 -0
- package/node_modules/progrok/node_modules/body-parser/LICENSE +23 -0
- package/node_modules/progrok/node_modules/body-parser/README.md +476 -0
- package/node_modules/progrok/node_modules/body-parser/index.js +156 -0
- package/node_modules/progrok/node_modules/body-parser/lib/read.js +205 -0
- package/node_modules/progrok/node_modules/body-parser/lib/types/json.js +243 -0
- package/node_modules/progrok/node_modules/body-parser/lib/types/raw.js +101 -0
- package/node_modules/progrok/node_modules/body-parser/lib/types/text.js +121 -0
- package/node_modules/progrok/node_modules/body-parser/lib/types/urlencoded.js +299 -0
- package/node_modules/progrok/node_modules/body-parser/package.json +55 -0
- package/node_modules/progrok/node_modules/content-disposition/HISTORY.md +60 -0
- package/node_modules/progrok/node_modules/content-disposition/LICENSE +22 -0
- package/node_modules/progrok/node_modules/content-disposition/README.md +142 -0
- package/node_modules/progrok/node_modules/content-disposition/index.js +458 -0
- package/node_modules/progrok/node_modules/content-disposition/package.json +44 -0
- package/node_modules/progrok/node_modules/cookie-signature/History.md +42 -0
- package/node_modules/progrok/node_modules/cookie-signature/Readme.md +42 -0
- package/node_modules/progrok/node_modules/cookie-signature/index.js +51 -0
- package/node_modules/progrok/node_modules/cookie-signature/package.json +18 -0
- package/node_modules/progrok/node_modules/debug/.coveralls.yml +1 -0
- package/node_modules/progrok/node_modules/debug/.eslintrc +11 -0
- package/node_modules/progrok/node_modules/debug/.npmignore +9 -0
- package/node_modules/progrok/node_modules/debug/.travis.yml +14 -0
- package/node_modules/progrok/node_modules/debug/CHANGELOG.md +362 -0
- package/node_modules/progrok/node_modules/debug/LICENSE +19 -0
- package/node_modules/progrok/node_modules/debug/Makefile +50 -0
- package/node_modules/progrok/node_modules/debug/README.md +312 -0
- package/node_modules/progrok/node_modules/debug/component.json +19 -0
- package/node_modules/progrok/node_modules/debug/karma.conf.js +70 -0
- package/node_modules/progrok/node_modules/debug/node.js +1 -0
- package/node_modules/progrok/node_modules/debug/node_modules/ms/index.js +152 -0
- package/node_modules/progrok/node_modules/debug/node_modules/ms/license.md +21 -0
- package/node_modules/progrok/node_modules/debug/node_modules/ms/package.json +37 -0
- package/node_modules/progrok/node_modules/debug/node_modules/ms/readme.md +51 -0
- package/node_modules/progrok/node_modules/debug/package.json +49 -0
- package/node_modules/progrok/node_modules/debug/src/browser.js +185 -0
- package/node_modules/progrok/node_modules/debug/src/debug.js +202 -0
- package/node_modules/progrok/node_modules/debug/src/index.js +10 -0
- package/node_modules/progrok/node_modules/debug/src/inspector-log.js +15 -0
- package/node_modules/progrok/node_modules/debug/src/node.js +248 -0
- package/node_modules/progrok/node_modules/express/History.md +3676 -0
- package/node_modules/progrok/node_modules/express/LICENSE +24 -0
- package/node_modules/progrok/node_modules/express/Readme.md +260 -0
- package/node_modules/progrok/node_modules/express/index.js +11 -0
- package/node_modules/progrok/node_modules/express/lib/application.js +661 -0
- package/node_modules/progrok/node_modules/express/lib/express.js +116 -0
- package/node_modules/progrok/node_modules/express/lib/middleware/init.js +43 -0
- package/node_modules/progrok/node_modules/express/lib/middleware/query.js +47 -0
- package/node_modules/progrok/node_modules/express/lib/request.js +525 -0
- package/node_modules/progrok/node_modules/express/lib/response.js +1179 -0
- package/node_modules/progrok/node_modules/express/lib/router/index.js +673 -0
- package/node_modules/progrok/node_modules/express/lib/router/layer.js +181 -0
- package/node_modules/progrok/node_modules/express/lib/router/route.js +230 -0
- package/node_modules/progrok/node_modules/express/lib/utils.js +304 -0
- package/node_modules/progrok/node_modules/express/lib/view.js +182 -0
- package/node_modules/progrok/node_modules/express/package.json +102 -0
- package/node_modules/progrok/node_modules/finalhandler/HISTORY.md +216 -0
- package/node_modules/progrok/node_modules/finalhandler/LICENSE +22 -0
- package/node_modules/progrok/node_modules/finalhandler/README.md +147 -0
- package/node_modules/progrok/node_modules/finalhandler/SECURITY.md +25 -0
- package/node_modules/progrok/node_modules/finalhandler/index.js +341 -0
- package/node_modules/progrok/node_modules/finalhandler/package.json +47 -0
- package/node_modules/progrok/node_modules/fresh/HISTORY.md +70 -0
- package/node_modules/progrok/node_modules/fresh/LICENSE +23 -0
- package/node_modules/progrok/node_modules/fresh/README.md +119 -0
- package/node_modules/progrok/node_modules/fresh/index.js +137 -0
- package/node_modules/progrok/node_modules/fresh/package.json +46 -0
- package/node_modules/progrok/node_modules/iconv-lite/Changelog.md +162 -0
- package/node_modules/progrok/node_modules/iconv-lite/LICENSE +21 -0
- package/node_modules/progrok/node_modules/iconv-lite/README.md +156 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/index.js +22 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/internal.js +188 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/utf16.js +177 -0
- package/node_modules/progrok/node_modules/iconv-lite/encodings/utf7.js +290 -0
- package/node_modules/progrok/node_modules/iconv-lite/lib/bom-handling.js +52 -0
- package/node_modules/progrok/node_modules/iconv-lite/lib/extend-node.js +217 -0
- package/node_modules/progrok/node_modules/iconv-lite/lib/index.d.ts +24 -0
- package/node_modules/progrok/node_modules/iconv-lite/lib/index.js +153 -0
- package/node_modules/progrok/node_modules/iconv-lite/lib/streams.js +121 -0
- package/node_modules/progrok/node_modules/iconv-lite/package.json +46 -0
- package/node_modules/progrok/node_modules/media-typer/HISTORY.md +22 -0
- package/node_modules/progrok/node_modules/media-typer/LICENSE +22 -0
- package/node_modules/progrok/node_modules/media-typer/README.md +81 -0
- package/node_modules/progrok/node_modules/media-typer/index.js +270 -0
- package/node_modules/progrok/node_modules/media-typer/package.json +26 -0
- package/node_modules/progrok/node_modules/merge-descriptors/HISTORY.md +21 -0
- package/node_modules/progrok/node_modules/merge-descriptors/LICENSE +23 -0
- package/node_modules/progrok/node_modules/merge-descriptors/README.md +49 -0
- package/node_modules/progrok/node_modules/merge-descriptors/index.js +60 -0
- package/node_modules/progrok/node_modules/merge-descriptors/package.json +39 -0
- package/node_modules/progrok/node_modules/mime-db/HISTORY.md +507 -0
- package/node_modules/progrok/node_modules/mime-db/LICENSE +23 -0
- package/node_modules/progrok/node_modules/mime-db/README.md +100 -0
- package/node_modules/progrok/node_modules/mime-db/db.json +8519 -0
- package/node_modules/progrok/node_modules/mime-db/index.js +12 -0
- package/node_modules/progrok/node_modules/mime-db/package.json +60 -0
- package/node_modules/progrok/node_modules/mime-types/HISTORY.md +397 -0
- package/node_modules/progrok/node_modules/mime-types/LICENSE +23 -0
- package/node_modules/progrok/node_modules/mime-types/README.md +113 -0
- package/node_modules/progrok/node_modules/mime-types/index.js +188 -0
- package/node_modules/progrok/node_modules/mime-types/package.json +44 -0
- package/node_modules/progrok/node_modules/negotiator/HISTORY.md +108 -0
- package/node_modules/progrok/node_modules/negotiator/LICENSE +24 -0
- package/node_modules/progrok/node_modules/negotiator/README.md +203 -0
- package/node_modules/progrok/node_modules/negotiator/index.js +82 -0
- package/node_modules/progrok/node_modules/negotiator/lib/charset.js +169 -0
- package/node_modules/progrok/node_modules/negotiator/lib/encoding.js +184 -0
- package/node_modules/progrok/node_modules/negotiator/lib/language.js +179 -0
- package/node_modules/progrok/node_modules/negotiator/lib/mediaType.js +294 -0
- package/node_modules/progrok/node_modules/negotiator/package.json +42 -0
- package/node_modules/progrok/node_modules/path-to-regexp/LICENSE +21 -0
- package/node_modules/progrok/node_modules/path-to-regexp/Readme.md +35 -0
- package/node_modules/progrok/node_modules/path-to-regexp/index.js +158 -0
- package/node_modules/progrok/node_modules/path-to-regexp/package.json +30 -0
- package/node_modules/progrok/node_modules/raw-body/LICENSE +22 -0
- package/node_modules/progrok/node_modules/raw-body/README.md +223 -0
- package/node_modules/progrok/node_modules/raw-body/index.d.ts +87 -0
- package/node_modules/progrok/node_modules/raw-body/index.js +336 -0
- package/node_modules/progrok/node_modules/raw-body/package.json +47 -0
- package/node_modules/progrok/node_modules/send/HISTORY.md +538 -0
- package/node_modules/progrok/node_modules/send/LICENSE +23 -0
- package/node_modules/progrok/node_modules/send/README.md +327 -0
- package/node_modules/progrok/node_modules/send/SECURITY.md +24 -0
- package/node_modules/progrok/node_modules/send/index.js +1142 -0
- package/node_modules/progrok/node_modules/send/package.json +62 -0
- package/node_modules/progrok/node_modules/serve-static/HISTORY.md +493 -0
- package/node_modules/progrok/node_modules/serve-static/LICENSE +25 -0
- package/node_modules/progrok/node_modules/serve-static/README.md +257 -0
- package/node_modules/progrok/node_modules/serve-static/index.js +209 -0
- package/node_modules/progrok/node_modules/serve-static/package.json +42 -0
- package/node_modules/progrok/node_modules/type-is/HISTORY.md +259 -0
- package/node_modules/progrok/node_modules/type-is/LICENSE +23 -0
- package/node_modules/progrok/node_modules/type-is/README.md +170 -0
- package/node_modules/progrok/node_modules/type-is/index.js +266 -0
- package/node_modules/progrok/node_modules/type-is/package.json +45 -0
- package/node_modules/progrok/package.json +52 -0
- package/node_modules/progrok/skills/progrok/SKILL.md +228 -0
- package/node_modules/proxy-addr/HISTORY.md +161 -0
- package/node_modules/proxy-addr/LICENSE +22 -0
- package/node_modules/proxy-addr/README.md +139 -0
- package/node_modules/proxy-addr/index.js +327 -0
- package/node_modules/proxy-addr/package.json +47 -0
- package/node_modules/qs/.editorconfig +46 -0
- package/node_modules/qs/.github/FUNDING.yml +12 -0
- package/node_modules/qs/.github/SECURITY.md +11 -0
- package/node_modules/qs/.github/THREAT_MODEL.md +78 -0
- package/node_modules/qs/.nycrc +13 -0
- package/node_modules/qs/CHANGELOG.md +812 -0
- package/node_modules/qs/LICENSE.md +29 -0
- package/node_modules/qs/README.md +758 -0
- package/node_modules/qs/dist/qs.js +141 -0
- package/node_modules/qs/eslint.config.mjs +56 -0
- package/node_modules/qs/lib/formats.js +23 -0
- package/node_modules/qs/lib/index.js +11 -0
- package/node_modules/qs/lib/parse.js +373 -0
- package/node_modules/qs/lib/stringify.js +356 -0
- package/node_modules/qs/lib/utils.js +342 -0
- package/node_modules/qs/package.json +94 -0
- package/node_modules/qs/test/empty-keys-cases.js +267 -0
- package/node_modules/qs/test/parse.js +1654 -0
- package/node_modules/qs/test/stringify.js +1319 -0
- package/node_modules/qs/test/utils.js +432 -0
- package/node_modules/range-parser/HISTORY.md +56 -0
- package/node_modules/range-parser/LICENSE +23 -0
- package/node_modules/range-parser/README.md +84 -0
- package/node_modules/range-parser/index.js +162 -0
- package/node_modules/range-parser/package.json +44 -0
- package/node_modules/run-applescript/index.d.ts +66 -0
- package/node_modules/run-applescript/index.js +37 -0
- package/node_modules/run-applescript/license +9 -0
- package/node_modules/run-applescript/package.json +42 -0
- package/node_modules/run-applescript/readme.md +78 -0
- package/node_modules/safe-buffer/LICENSE +21 -0
- package/node_modules/safe-buffer/README.md +584 -0
- package/node_modules/safe-buffer/index.d.ts +187 -0
- package/node_modules/safe-buffer/index.js +65 -0
- package/node_modules/safe-buffer/package.json +51 -0
- package/node_modules/safer-buffer/LICENSE +21 -0
- package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
- package/node_modules/safer-buffer/Readme.md +156 -0
- package/node_modules/safer-buffer/dangerous.js +58 -0
- package/node_modules/safer-buffer/package.json +34 -0
- package/node_modules/safer-buffer/safer.js +77 -0
- package/node_modules/safer-buffer/tests.js +406 -0
- package/node_modules/setprototypeof/LICENSE +13 -0
- package/node_modules/setprototypeof/README.md +31 -0
- package/node_modules/setprototypeof/index.d.ts +2 -0
- package/node_modules/setprototypeof/index.js +17 -0
- package/node_modules/setprototypeof/package.json +38 -0
- package/node_modules/setprototypeof/test/index.js +24 -0
- package/node_modules/side-channel/.editorconfig +9 -0
- package/node_modules/side-channel/.eslintrc +12 -0
- package/node_modules/side-channel/.github/FUNDING.yml +12 -0
- package/node_modules/side-channel/.nycrc +13 -0
- package/node_modules/side-channel/CHANGELOG.md +110 -0
- package/node_modules/side-channel/LICENSE +21 -0
- package/node_modules/side-channel/README.md +61 -0
- package/node_modules/side-channel/index.d.ts +14 -0
- package/node_modules/side-channel/index.js +43 -0
- package/node_modules/side-channel/package.json +85 -0
- package/node_modules/side-channel/test/index.js +104 -0
- package/node_modules/side-channel/tsconfig.json +9 -0
- package/node_modules/side-channel-list/.editorconfig +9 -0
- package/node_modules/side-channel-list/.eslintrc +11 -0
- package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
- package/node_modules/side-channel-list/.nycrc +13 -0
- package/node_modules/side-channel-list/CHANGELOG.md +36 -0
- package/node_modules/side-channel-list/LICENSE +21 -0
- package/node_modules/side-channel-list/README.md +62 -0
- package/node_modules/side-channel-list/index.d.ts +13 -0
- package/node_modules/side-channel-list/index.js +111 -0
- package/node_modules/side-channel-list/list.d.ts +14 -0
- package/node_modules/side-channel-list/package.json +77 -0
- package/node_modules/side-channel-list/test/index.js +154 -0
- package/node_modules/side-channel-list/tsconfig.json +9 -0
- package/node_modules/side-channel-map/.editorconfig +9 -0
- package/node_modules/side-channel-map/.eslintrc +11 -0
- package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
- package/node_modules/side-channel-map/.nycrc +13 -0
- package/node_modules/side-channel-map/CHANGELOG.md +22 -0
- package/node_modules/side-channel-map/LICENSE +21 -0
- package/node_modules/side-channel-map/README.md +62 -0
- package/node_modules/side-channel-map/index.d.ts +15 -0
- package/node_modules/side-channel-map/index.js +68 -0
- package/node_modules/side-channel-map/package.json +80 -0
- package/node_modules/side-channel-map/test/index.js +114 -0
- package/node_modules/side-channel-map/tsconfig.json +9 -0
- package/node_modules/side-channel-weakmap/.editorconfig +9 -0
- package/node_modules/side-channel-weakmap/.eslintrc +12 -0
- package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
- package/node_modules/side-channel-weakmap/.nycrc +13 -0
- package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
- package/node_modules/side-channel-weakmap/LICENSE +21 -0
- package/node_modules/side-channel-weakmap/README.md +62 -0
- package/node_modules/side-channel-weakmap/index.d.ts +15 -0
- package/node_modules/side-channel-weakmap/index.js +84 -0
- package/node_modules/side-channel-weakmap/package.json +87 -0
- package/node_modules/side-channel-weakmap/test/index.js +114 -0
- package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
- package/node_modules/statuses/HISTORY.md +87 -0
- package/node_modules/statuses/LICENSE +23 -0
- package/node_modules/statuses/README.md +139 -0
- package/node_modules/statuses/codes.json +65 -0
- package/node_modules/statuses/index.js +146 -0
- package/node_modules/statuses/package.json +49 -0
- package/node_modules/toidentifier/HISTORY.md +9 -0
- package/node_modules/toidentifier/LICENSE +21 -0
- package/node_modules/toidentifier/README.md +61 -0
- package/node_modules/toidentifier/index.js +32 -0
- package/node_modules/toidentifier/package.json +38 -0
- package/node_modules/unpipe/HISTORY.md +4 -0
- package/node_modules/unpipe/LICENSE +22 -0
- package/node_modules/unpipe/README.md +43 -0
- package/node_modules/unpipe/index.js +69 -0
- package/node_modules/unpipe/package.json +27 -0
- package/node_modules/utils-merge/.npmignore +9 -0
- package/node_modules/utils-merge/LICENSE +20 -0
- package/node_modules/utils-merge/README.md +34 -0
- package/node_modules/utils-merge/index.js +23 -0
- package/node_modules/utils-merge/package.json +40 -0
- package/node_modules/vary/HISTORY.md +39 -0
- package/node_modules/vary/LICENSE +22 -0
- package/node_modules/vary/README.md +101 -0
- package/node_modules/vary/index.js +149 -0
- package/node_modules/vary/package.json +43 -0
- package/package.json +7 -2
- package/routes/edit.js +59 -12
- package/routes/edit.ts +68 -22
- package/routes/generate.js +78 -11
- package/routes/generate.ts +80 -10
- package/routes/grok.js +22 -0
- package/routes/grok.ts +24 -0
- package/routes/health.js +5 -0
- package/routes/health.ts +5 -0
- package/routes/index.js +4 -0
- package/routes/index.ts +4 -0
- package/routes/multimode.js +71 -26
- package/routes/multimode.ts +80 -39
- package/routes/nodes.js +88 -33
- package/routes/nodes.ts +97 -42
- package/routes/video.js +202 -0
- package/routes/video.ts +222 -0
- package/server.js +42 -1
- package/server.ts +34 -1
- package/skills/ima2/SKILL.md +27 -0
- package/ui/dist/.vite/manifest.json +12 -12
- package/ui/dist/assets/AgentWorkspace-CLHwx6u4.js +3 -0
- package/ui/dist/assets/{CardNewsWorkspace-EFVeg4l_.js → CardNewsWorkspace-6y_HNp3I.js} +2 -2
- package/ui/dist/assets/NodeCanvas-DR2N5Dib.js +7 -0
- package/ui/dist/assets/{PromptBuilderPanel-C3GdLDCl.js → PromptBuilderPanel-BQlPtGGm.js} +2 -2
- package/ui/dist/assets/{PromptImportDialog-DS9vrc_w.js → PromptImportDialog-aNk40wLt.js} +2 -2
- package/ui/dist/assets/{PromptImportDiscoverySection-DHFEt_FA.js → PromptImportDiscoverySection-B6NKkVBz.js} +1 -1
- package/ui/dist/assets/{PromptImportFolderSection-BQxb1zs5.js → PromptImportFolderSection-9-xbe-FM.js} +1 -1
- package/ui/dist/assets/{PromptLibraryPanel-NhMKVGfU.js → PromptLibraryPanel-CbEY0AM6.js} +2 -2
- package/ui/dist/assets/SettingsWorkspace-ao9ymIWt.js +1 -0
- package/ui/dist/assets/index-B0re600T.js +32 -0
- package/ui/dist/assets/index-CXJEgTOQ.css +1 -0
- package/ui/dist/assets/index-DP88bEQf.js +1 -0
- package/ui/dist/index.html +2 -2
- package/vendor/progrok-0.1.0.tgz +0 -0
- package/ui/dist/assets/AgentWorkspace-B6YNOZHi.js +0 -3
- package/ui/dist/assets/NodeCanvas-iM6yjHvO.js +0 -7
- package/ui/dist/assets/SettingsWorkspace-FjKjaDqj.js +0 -1
- package/ui/dist/assets/index-BAN6lKgf.js +0 -28
- package/ui/dist/assets/index-BbFZyM92.js +0 -1
- package/ui/dist/assets/index-DK1faG9Z.css +0 -1
package/README.md
CHANGED
|
@@ -10,11 +10,13 @@
|
|
|
10
10
|
|
|
11
11
|
> 🌐 **Live site**: [lidge-jun.github.io/ima2-gen](https://lidge-jun.github.io/ima2-gen/) · [한국어](https://lidge-jun.github.io/ima2-gen/ko/)
|
|
12
12
|
>
|
|
13
|
+
> 📖 **Developer docs**: [Documentation site](https://lidge-jun.github.io/ima2-gen/docs) · [한국어](https://lidge-jun.github.io/ima2-gen/ko/docs)
|
|
14
|
+
>
|
|
13
15
|
> **Read in other languages**: [한국어](docs/README.ko.md) · [日本語](docs/README.ja.md) · [简体中文](docs/README.zh-CN.md)
|
|
14
16
|
|
|
15
17
|
`ima2-gen` is a local image generation studio for people who want the ChatGPT/Codex image workflow in a small desktop-like web app.
|
|
16
18
|
|
|
17
|
-
Run it with `npx`, sign in with Codex OAuth, type a prompt, and keep iterating with history, references, node branches, multimode batches, and Canvas Mode cleanup. No OpenAI API key is required for the default path, but API-key generation
|
|
19
|
+
Run it with `npx`, sign in with Codex OAuth, type a prompt, and keep iterating with history, references, node branches, multimode batches, and Canvas Mode cleanup. No OpenAI API key is required for the default path, but API-key generation and bundled Grok generation are also supported when configured.
|
|
18
20
|
|
|
19
21
|

|
|
20
22
|
|
|
@@ -53,7 +55,7 @@ persists, reboot and run the update before starting ima2 again.
|
|
|
53
55
|
- **Node mode**: branch a good image into multiple directions without losing the original.
|
|
54
56
|
- **Multimode batches**: launch several Classic outputs from one prompt, watch slot-by-slot progress, and continue from the best result.
|
|
55
57
|
- **Canvas Mode**: zoom, pan, annotate, erase, clean backgrounds, keep transparent previews, and export either alpha or matte-backed versions.
|
|
56
|
-
- **Local gallery**: keep generated assets on your machine with session-aware history. By default the gallery shows the current session and an All Images toggle reveals the full history; the default scope is sticky across sessions.
|
|
58
|
+
- **Local gallery**: keep generated assets on your machine with session-aware history. By default the gallery shows the current session and an All Images toggle reveals the full history; the default scope is sticky across sessions. Each image records its generation time and reasoning effort in the result metadata, so they persist across reloads.
|
|
57
59
|
- **Reference images**: drag, drop, paste, and attach up to 5 references; large images are compressed before upload.
|
|
58
60
|
- **Prompt library imports**: import local prompt packs, GitHub folders, and curated GPT-image prompt hints into the built-in prompt library.
|
|
59
61
|
- **Mobile shell**: use the app bar, compose sheet, and compact settings toggle on smaller screens.
|
|
@@ -61,13 +63,17 @@ persists, reboot and run the update before starting ima2 again.
|
|
|
61
63
|
|
|
62
64
|
## Provider Paths
|
|
63
65
|
|
|
64
|
-
Image generation can run through
|
|
66
|
+
Image generation can run through the local Codex/ChatGPT OAuth path, a configured OpenAI API key, or the bundled Grok provider.
|
|
65
67
|
|
|
66
68
|
- `provider: "oauth"` uses the local Codex OAuth proxy.
|
|
67
69
|
- `provider: "api"` calls the OpenAI Responses API with the hosted `image_generation` tool.
|
|
70
|
+
- `provider: "grok"` starts bundled `progrok` on `127.0.0.1:18645`, runs mandatory xAI Web Search plus a `grok-4.3` planner pass, then calls xAI Images API through the local proxy.
|
|
68
71
|
- API-key generation supports classic generate, edit, mask-guided edit, multimode, and node generation.
|
|
72
|
+
- Grok generation supports Classic, Node, and Agent flows. If a Classic reference, Node parent image, or Agent current image is present, ima2 switches the final Grok call to xAI image edit so image-to-image context is preserved.
|
|
73
|
+
|
|
74
|
+
If no provider is specified, the app keeps the current OAuth/default behavior. API-key generation defaults to `gpt-5.4-mini`, `low` reasoning, and `1024x1024` unless the request passes validated model, reasoning, size, or web-search options. Grok defaults to `grok-imagine-image`; `quality: "high"` promotes the final image call to `grok-imagine-image-quality`.
|
|
69
75
|
|
|
70
|
-
|
|
76
|
+
Grok video generation (T2V/I2V) is not shipped in `1.1.15`. The video files in `docs/grok-video-i2v-plan.md` and `docs/grok-video-i2v-research.md` are implementation planning and research notes only; the published runtime remains image-only.
|
|
71
77
|
|
|
72
78
|

|
|
73
79
|
|
|
@@ -197,14 +203,22 @@ environment variables > ~/.ima2/config.json > built-in defaults
|
|
|
197
203
|
| `IMA2_ADVERTISE_FILE` | `~/.ima2/server.json` | Runtime discovery file |
|
|
198
204
|
| `IMA2_GENERATED_DIR` | `~/.ima2/generated` | Generated image directory |
|
|
199
205
|
| `IMA2_IMAGE_MODEL_DEFAULT` | `gpt-5.4-mini` | Server fallback image model |
|
|
206
|
+
| `IMA2_REASONING_EFFORT` | `medium` | Default reasoning effort for the default (OAuth) path; one of `none`, `low`, `medium`, `high`, `xhigh` |
|
|
200
207
|
| `IMA2_NO_OAUTH_PROXY` | — | Set `1` to disable the auto-started OAuth proxy |
|
|
201
|
-
| `IMA2_LOG_LEVEL` | `
|
|
202
|
-
| `IMA2_INFLIGHT_TERMINAL_TTL_MS` | `
|
|
208
|
+
| `IMA2_LOG_LEVEL` | `info` | Normal serve defaults to `info`; dev mode defaults to `debug`; supports `debug`, `info`, `warn`, `error`, or `silent` |
|
|
209
|
+
| `IMA2_INFLIGHT_TERMINAL_TTL_MS` | `300000` | Recent terminal job retention for debug views |
|
|
203
210
|
| `OPENAI_API_KEY` | — | API key for the `provider: "api"` Responses API image path and auxiliary API-key features |
|
|
204
211
|
| `IMA2_API_IMAGE_MODEL_DEFAULT` | `gpt-5.4-mini` | Default image model for `provider: "api"` |
|
|
205
212
|
| `IMA2_API_REASONING_EFFORT` | `low` | Default reasoning effort for `provider: "api"` |
|
|
206
213
|
| `IMA2_API_IMAGE_SIZE` | `1024x1024` | Default size for `provider: "api"` |
|
|
207
214
|
| `IMA2_API_ALLOW_WEB_SEARCH` | `true` | Toggle web search for `provider: "api"` |
|
|
215
|
+
| `IMA2_GROK_PROXY_HOST` | `127.0.0.1` | Host for the bundled progrok proxy |
|
|
216
|
+
| `IMA2_GROK_PROXY_PORT` | `18645` | Port for the bundled progrok proxy |
|
|
217
|
+
| `IMA2_NO_GROK_PROXY` | — | Set `1` to disable automatic progrok startup |
|
|
218
|
+
| `IMA2_GROK_PLANNER_MODEL` | `grok-4.3` | Grok search/planner model before the final Images API call |
|
|
219
|
+
| `IMA2_GROK_PLANNER_TIMEOUT_MS` | `60000` | Timeout for Grok search and planner calls |
|
|
220
|
+
| `IMA2_GROK_IMAGE_MODEL_DEFAULT` | `grok-imagine-image` | Default final Grok image model |
|
|
221
|
+
| `IMA2_GROK_GENERATION_TIMEOUT_MS` | `120000` | Timeout for the final Grok Images API call |
|
|
208
222
|
| `IMA2_OAUTH_MASKED_EDIT_ENABLED` | `false` | Opt-in feature flag for masked-edit requests on the OAuth path (#31, groundwork only) |
|
|
209
223
|
|
|
210
224
|
### Logging modes
|
|
@@ -219,6 +233,7 @@ The endpoint list moved to [docs/API.md](docs/API.md) so this README can stay fo
|
|
|
219
233
|
|
|
220
234
|
Useful references:
|
|
221
235
|
|
|
236
|
+
- [Developer documentation site](https://lidge-jun.github.io/ima2-gen/docs) — Overview, Quickstart, Architecture, Modes, Providers, CLI, Config, and Server API
|
|
222
237
|
- [CLI Reference](docs/CLI.md)
|
|
223
238
|
- [API Reference](docs/API.md)
|
|
224
239
|
- [Prompt Studio manual](docs/PROMPT_STUDIO.md)
|
|
@@ -62,9 +62,14 @@ function printText(capabilities) {
|
|
|
62
62
|
out(` oauth reasoning: ${capabilities.defaults?.oauth?.reasoningEffort}`);
|
|
63
63
|
out(` api model: ${capabilities.defaults?.api?.model}`);
|
|
64
64
|
out(` api reasoning: ${capabilities.defaults?.api?.reasoningEffort}`);
|
|
65
|
+
out(` grok model: ${capabilities.defaults?.grok?.model}`);
|
|
66
|
+
out(` grok planner: ${capabilities.defaults?.grok?.plannerModel}`);
|
|
65
67
|
out("");
|
|
66
68
|
out("valid:");
|
|
67
69
|
out(` models: ${capabilities.valid?.imageModels?.supported?.join(", ")}`);
|
|
70
|
+
if (capabilities.valid?.imageModels?.grokSupported?.length) {
|
|
71
|
+
out(` grok models: ${capabilities.valid.imageModels.grokSupported.join(", ")}`);
|
|
72
|
+
}
|
|
68
73
|
out(` reasoning: ${capabilities.valid?.reasoningEfforts?.join(", ")}`);
|
|
69
74
|
out(` quality: ${capabilities.valid?.quality?.join(", ")}`);
|
|
70
75
|
out(` modes: ${capabilities.valid?.modes?.join(", ")}`);
|
|
@@ -66,9 +66,14 @@ function printText(capabilities: any): void {
|
|
|
66
66
|
out(` oauth reasoning: ${capabilities.defaults?.oauth?.reasoningEffort}`);
|
|
67
67
|
out(` api model: ${capabilities.defaults?.api?.model}`);
|
|
68
68
|
out(` api reasoning: ${capabilities.defaults?.api?.reasoningEffort}`);
|
|
69
|
+
out(` grok model: ${capabilities.defaults?.grok?.model}`);
|
|
70
|
+
out(` grok planner: ${capabilities.defaults?.grok?.plannerModel}`);
|
|
69
71
|
out("");
|
|
70
72
|
out("valid:");
|
|
71
73
|
out(` models: ${capabilities.valid?.imageModels?.supported?.join(", ")}`);
|
|
74
|
+
if (capabilities.valid?.imageModels?.grokSupported?.length) {
|
|
75
|
+
out(` grok models: ${capabilities.valid.imageModels.grokSupported.join(", ")}`);
|
|
76
|
+
}
|
|
72
77
|
out(` reasoning: ${capabilities.valid?.reasoningEfforts?.join(", ")}`);
|
|
73
78
|
out(` quality: ${capabilities.valid?.quality?.join(", ")}`);
|
|
74
79
|
out(` modes: ${capabilities.valid?.modes?.join(", ")}`);
|
package/bin/commands/doctor.js
CHANGED
|
@@ -30,7 +30,7 @@ function loadConfig() {
|
|
|
30
30
|
return {};
|
|
31
31
|
}
|
|
32
32
|
function missingRuntimeDeps() {
|
|
33
|
-
const deps = ["express", "better-sqlite3", "openai", "openai-oauth"];
|
|
33
|
+
const deps = ["express", "better-sqlite3", "openai", "openai-oauth", "progrok/package.json"];
|
|
34
34
|
return deps.filter((dep) => {
|
|
35
35
|
try {
|
|
36
36
|
requireFromRoot.resolve(dep);
|
|
@@ -39,7 +39,7 @@ function missingRuntimeDeps() {
|
|
|
39
39
|
catch {
|
|
40
40
|
return true;
|
|
41
41
|
}
|
|
42
|
-
});
|
|
42
|
+
}).map((dep) => dep === "progrok/package.json" ? "progrok" : dep);
|
|
43
43
|
}
|
|
44
44
|
function valueAfter(args, name) {
|
|
45
45
|
const index = args.indexOf(name);
|
package/bin/commands/doctor.ts
CHANGED
|
@@ -30,7 +30,7 @@ function loadConfig() {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
function missingRuntimeDeps() {
|
|
33
|
-
const deps = ["express", "better-sqlite3", "openai", "openai-oauth"];
|
|
33
|
+
const deps = ["express", "better-sqlite3", "openai", "openai-oauth", "progrok/package.json"];
|
|
34
34
|
return deps.filter((dep) => {
|
|
35
35
|
try {
|
|
36
36
|
requireFromRoot.resolve(dep);
|
|
@@ -38,7 +38,7 @@ function missingRuntimeDeps() {
|
|
|
38
38
|
} catch {
|
|
39
39
|
return true;
|
|
40
40
|
}
|
|
41
|
-
});
|
|
41
|
+
}).map((dep) => dep === "progrok/package.json" ? "progrok" : dep);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
function valueAfter(args: string[], name: string) {
|
package/bin/commands/edit.js
CHANGED
|
@@ -7,8 +7,8 @@ import { createCliRequestId, recoverGeneratedOutputs, formatRecoveryHint } from
|
|
|
7
7
|
import { errInfo } from "../../lib/errInfo.js";
|
|
8
8
|
const VALID_MODES = new Set(["auto", "direct"]);
|
|
9
9
|
const VALID_MODERATION = new Set(["auto", "low"]);
|
|
10
|
-
const VALID_PROVIDERS = new Set(["auto", "oauth", "api"]);
|
|
11
|
-
const KNOWN_IMAGE_MODELS = new Set(["gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.3-codex-spark"]);
|
|
10
|
+
const VALID_PROVIDERS = new Set(["auto", "oauth", "api", "grok"]);
|
|
11
|
+
const KNOWN_IMAGE_MODELS = new Set(["gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.3-codex-spark", "grok-imagine-image", "grok-imagine-image-quality"]);
|
|
12
12
|
const SPEC = {
|
|
13
13
|
flags: {
|
|
14
14
|
prompt: { short: "p", type: "string" },
|
|
@@ -40,8 +40,8 @@ const HELP = `
|
|
|
40
40
|
-s, --size <WxH>
|
|
41
41
|
-o, --out <file>
|
|
42
42
|
--json
|
|
43
|
-
--model <gpt-5.5|gpt-5.4|gpt-5.4-mini>
|
|
44
|
-
--provider <auto|oauth|api>
|
|
43
|
+
--model <gpt-5.5|gpt-5.4|gpt-5.4-mini|grok-imagine-image|grok-imagine-image-quality>
|
|
44
|
+
--provider <auto|oauth|api|grok> Provider for this request; grok uses progrok proxy
|
|
45
45
|
--mode <auto|direct> Prompt handling mode. Default: auto
|
|
46
46
|
--moderation <auto|low> Default: low
|
|
47
47
|
--session <id> Apply session style sheet if enabled
|
|
@@ -64,10 +64,10 @@ export default async function editCmd(argv) {
|
|
|
64
64
|
if (!VALID_MODERATION.has(String(args.moderation)))
|
|
65
65
|
die(2, "--moderation must be one of: auto, low");
|
|
66
66
|
if (args.provider && !VALID_PROVIDERS.has(String(args.provider))) {
|
|
67
|
-
die(2, "--provider must be one of: auto, oauth, api");
|
|
67
|
+
die(2, "--provider must be one of: auto, oauth, api, grok");
|
|
68
68
|
}
|
|
69
69
|
if (args.model && !KNOWN_IMAGE_MODELS.has(String(args.model))) {
|
|
70
|
-
die(2, "--model must be one of: gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.3-codex-spark");
|
|
70
|
+
die(2, "--model must be one of: gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.3-codex-spark, grok-imagine-image, grok-imagine-image-quality");
|
|
71
71
|
}
|
|
72
72
|
const VALID_REASONING = new Set(["none", "low", "medium", "high", "xhigh"]);
|
|
73
73
|
if (args["reasoning-effort"] && !VALID_REASONING.has(String(args["reasoning-effort"]))) {
|
package/bin/commands/edit.ts
CHANGED
|
@@ -8,8 +8,8 @@ import { createCliRequestId, recoverGeneratedOutputs, formatRecoveryHint } from
|
|
|
8
8
|
import { errInfo } from "../../lib/errInfo.js";
|
|
9
9
|
const VALID_MODES = new Set(["auto", "direct"]);
|
|
10
10
|
const VALID_MODERATION = new Set(["auto", "low"]);
|
|
11
|
-
const VALID_PROVIDERS = new Set(["auto", "oauth", "api"]);
|
|
12
|
-
const KNOWN_IMAGE_MODELS = new Set(["gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.3-codex-spark"]);
|
|
11
|
+
const VALID_PROVIDERS = new Set(["auto", "oauth", "api", "grok"]);
|
|
12
|
+
const KNOWN_IMAGE_MODELS = new Set(["gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.3-codex-spark", "grok-imagine-image", "grok-imagine-image-quality"]);
|
|
13
13
|
|
|
14
14
|
const SPEC = {
|
|
15
15
|
flags: {
|
|
@@ -43,8 +43,8 @@ const HELP = `
|
|
|
43
43
|
-s, --size <WxH>
|
|
44
44
|
-o, --out <file>
|
|
45
45
|
--json
|
|
46
|
-
--model <gpt-5.5|gpt-5.4|gpt-5.4-mini>
|
|
47
|
-
--provider <auto|oauth|api>
|
|
46
|
+
--model <gpt-5.5|gpt-5.4|gpt-5.4-mini|grok-imagine-image|grok-imagine-image-quality>
|
|
47
|
+
--provider <auto|oauth|api|grok> Provider for this request; grok uses progrok proxy
|
|
48
48
|
--mode <auto|direct> Prompt handling mode. Default: auto
|
|
49
49
|
--moderation <auto|low> Default: low
|
|
50
50
|
--session <id> Apply session style sheet if enabled
|
|
@@ -61,10 +61,10 @@ export default async function editCmd(argv: string[]) {
|
|
|
61
61
|
if (!VALID_MODES.has(String(args.mode))) die(2, "--mode must be one of: auto, direct");
|
|
62
62
|
if (!VALID_MODERATION.has(String(args.moderation))) die(2, "--moderation must be one of: auto, low");
|
|
63
63
|
if (args.provider && !VALID_PROVIDERS.has(String(args.provider))) {
|
|
64
|
-
die(2, "--provider must be one of: auto, oauth, api");
|
|
64
|
+
die(2, "--provider must be one of: auto, oauth, api, grok");
|
|
65
65
|
}
|
|
66
66
|
if (args.model && !KNOWN_IMAGE_MODELS.has(String(args.model))) {
|
|
67
|
-
die(2, "--model must be one of: gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.3-codex-spark");
|
|
67
|
+
die(2, "--model must be one of: gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.3-codex-spark, grok-imagine-image, grok-imagine-image-quality");
|
|
68
68
|
}
|
|
69
69
|
const VALID_REASONING = new Set(["none", "low", "medium", "high", "xhigh"]);
|
|
70
70
|
if (args["reasoning-effort"] && !VALID_REASONING.has(String(args["reasoning-effort"]))) {
|
package/bin/commands/gen.js
CHANGED
|
@@ -7,8 +7,8 @@ import { createCliRequestId, recoverGeneratedOutputs, formatRecoveryHint } from
|
|
|
7
7
|
import { errInfo } from "../../lib/errInfo.js";
|
|
8
8
|
const VALID_MODES = new Set(["auto", "direct"]);
|
|
9
9
|
const VALID_MODERATION = new Set(["auto", "low"]);
|
|
10
|
-
const VALID_PROVIDERS = new Set(["auto", "oauth", "api"]);
|
|
11
|
-
const KNOWN_IMAGE_MODELS = new Set(["gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.3-codex-spark"]);
|
|
10
|
+
const VALID_PROVIDERS = new Set(["auto", "oauth", "api", "grok"]);
|
|
11
|
+
const KNOWN_IMAGE_MODELS = new Set(["gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.3-codex-spark", "grok-imagine-image", "grok-imagine-image-quality"]);
|
|
12
12
|
const SPEC = {
|
|
13
13
|
flags: {
|
|
14
14
|
quality: { short: "q", type: "string", default: "low" },
|
|
@@ -51,8 +51,8 @@ const HELP = `
|
|
|
51
51
|
--stdin Read prompt from stdin
|
|
52
52
|
--timeout <sec> Default: 180
|
|
53
53
|
--server <url> Override server URL
|
|
54
|
-
--model <gpt-5.5|gpt-5.4|gpt-5.4-mini>
|
|
55
|
-
--provider <auto|oauth|api>
|
|
54
|
+
--model <gpt-5.5|gpt-5.4|gpt-5.4-mini|grok-imagine-image|grok-imagine-image-quality>
|
|
55
|
+
--provider <auto|oauth|api|grok> Provider for this request; grok uses progrok proxy
|
|
56
56
|
--mode <auto|direct> Prompt handling mode. Default: auto
|
|
57
57
|
--moderation <auto|low> Default: low
|
|
58
58
|
--session <id> Apply session style sheet if enabled
|
|
@@ -88,10 +88,10 @@ export default async function genCmd(argv) {
|
|
|
88
88
|
if (!VALID_MODERATION.has(String(args.moderation)))
|
|
89
89
|
die(2, "--moderation must be one of: auto, low");
|
|
90
90
|
if (args.provider && !VALID_PROVIDERS.has(String(args.provider))) {
|
|
91
|
-
die(2, "--provider must be one of: auto, oauth, api");
|
|
91
|
+
die(2, "--provider must be one of: auto, oauth, api, grok");
|
|
92
92
|
}
|
|
93
93
|
if (args.model && !KNOWN_IMAGE_MODELS.has(String(args.model))) {
|
|
94
|
-
die(2, "--model must be one of: gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.3-codex-spark");
|
|
94
|
+
die(2, "--model must be one of: gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.3-codex-spark, grok-imagine-image, grok-imagine-image-quality");
|
|
95
95
|
}
|
|
96
96
|
const VALID_REASONING = new Set(["none", "low", "medium", "high", "xhigh"]);
|
|
97
97
|
if (args["reasoning-effort"] && !VALID_REASONING.has(String(args["reasoning-effort"]))) {
|
package/bin/commands/gen.ts
CHANGED
|
@@ -8,8 +8,8 @@ import { createCliRequestId, recoverGeneratedOutputs, formatRecoveryHint } from
|
|
|
8
8
|
import { errInfo } from "../../lib/errInfo.js";
|
|
9
9
|
const VALID_MODES = new Set(["auto", "direct"]);
|
|
10
10
|
const VALID_MODERATION = new Set(["auto", "low"]);
|
|
11
|
-
const VALID_PROVIDERS = new Set(["auto", "oauth", "api"]);
|
|
12
|
-
const KNOWN_IMAGE_MODELS = new Set(["gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.3-codex-spark"]);
|
|
11
|
+
const VALID_PROVIDERS = new Set(["auto", "oauth", "api", "grok"]);
|
|
12
|
+
const KNOWN_IMAGE_MODELS = new Set(["gpt-5.5", "gpt-5.4", "gpt-5.4-mini", "gpt-5.3-codex-spark", "grok-imagine-image", "grok-imagine-image-quality"]);
|
|
13
13
|
|
|
14
14
|
const SPEC = {
|
|
15
15
|
flags: {
|
|
@@ -54,8 +54,8 @@ const HELP = `
|
|
|
54
54
|
--stdin Read prompt from stdin
|
|
55
55
|
--timeout <sec> Default: 180
|
|
56
56
|
--server <url> Override server URL
|
|
57
|
-
--model <gpt-5.5|gpt-5.4|gpt-5.4-mini>
|
|
58
|
-
--provider <auto|oauth|api>
|
|
57
|
+
--model <gpt-5.5|gpt-5.4|gpt-5.4-mini|grok-imagine-image|grok-imagine-image-quality>
|
|
58
|
+
--provider <auto|oauth|api|grok> Provider for this request; grok uses progrok proxy
|
|
59
59
|
--mode <auto|direct> Prompt handling mode. Default: auto
|
|
60
60
|
--moderation <auto|low> Default: low
|
|
61
61
|
--session <id> Apply session style sheet if enabled
|
|
@@ -86,10 +86,10 @@ export default async function genCmd(argv: string[]) {
|
|
|
86
86
|
if (!VALID_MODES.has(String(args.mode))) die(2, "--mode must be one of: auto, direct");
|
|
87
87
|
if (!VALID_MODERATION.has(String(args.moderation))) die(2, "--moderation must be one of: auto, low");
|
|
88
88
|
if (args.provider && !VALID_PROVIDERS.has(String(args.provider))) {
|
|
89
|
-
die(2, "--provider must be one of: auto, oauth, api");
|
|
89
|
+
die(2, "--provider must be one of: auto, oauth, api, grok");
|
|
90
90
|
}
|
|
91
91
|
if (args.model && !KNOWN_IMAGE_MODELS.has(String(args.model))) {
|
|
92
|
-
die(2, "--model must be one of: gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.3-codex-spark");
|
|
92
|
+
die(2, "--model must be one of: gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.3-codex-spark, grok-imagine-image, grok-imagine-image-quality");
|
|
93
93
|
}
|
|
94
94
|
const VALID_REASONING = new Set(["none", "low", "medium", "high", "xhigh"]);
|
|
95
95
|
if (args["reasoning-effort"] && !VALID_REASONING.has(String(args["reasoning-effort"]))) {
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { dirname, join, delimiter } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { color, die, out } from "../lib/output.js";
|
|
5
|
+
import { isWin } from "../lib/platform.js";
|
|
6
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
7
|
+
const ROOT = join(__dirname, "..", "..");
|
|
8
|
+
const HELP = `
|
|
9
|
+
ima2 grok <subcommand> [options]
|
|
10
|
+
|
|
11
|
+
Manage the bundled progrok runtime used by the Grok image provider.
|
|
12
|
+
No separate progrok install is required.
|
|
13
|
+
|
|
14
|
+
Subcommands:
|
|
15
|
+
login [--device-code] Log in to xAI OAuth for the bundled proxy
|
|
16
|
+
logout Remove stored xAI credentials
|
|
17
|
+
status Show bundled progrok authentication status
|
|
18
|
+
models List available Grok models
|
|
19
|
+
proxy [options] Start the bundled proxy directly
|
|
20
|
+
|
|
21
|
+
Notes:
|
|
22
|
+
ima2 serve auto-starts the bundled proxy on 127.0.0.1:18645 by default.
|
|
23
|
+
Use IMA2_NO_GROK_PROXY=1 to disable automatic proxy startup.
|
|
24
|
+
`;
|
|
25
|
+
function localBinPath() {
|
|
26
|
+
return join(ROOT, "node_modules", ".bin");
|
|
27
|
+
}
|
|
28
|
+
function spawnProgrok(argv, env) {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
const progrokBin = join(localBinPath(), isWin ? "progrok.cmd" : "progrok");
|
|
31
|
+
const child = isWin
|
|
32
|
+
? spawn(progrokBin, argv, {
|
|
33
|
+
cwd: ROOT,
|
|
34
|
+
env,
|
|
35
|
+
stdio: "inherit",
|
|
36
|
+
shell: true,
|
|
37
|
+
windowsHide: true,
|
|
38
|
+
})
|
|
39
|
+
: spawn(progrokBin, argv, {
|
|
40
|
+
cwd: ROOT,
|
|
41
|
+
env,
|
|
42
|
+
stdio: "inherit",
|
|
43
|
+
windowsHide: true,
|
|
44
|
+
});
|
|
45
|
+
child.on("error", (err) => reject(err));
|
|
46
|
+
child.on("close", resolve);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
export default async function grokCmd(argv) {
|
|
50
|
+
const sub = argv[0];
|
|
51
|
+
if (!sub || sub === "--help" || sub === "-h") {
|
|
52
|
+
out(HELP);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const env = {
|
|
56
|
+
...process.env,
|
|
57
|
+
PATH: `${localBinPath()}${delimiter}${process.env.PATH || ""}`,
|
|
58
|
+
};
|
|
59
|
+
try {
|
|
60
|
+
const code = await spawnProgrok(argv, env);
|
|
61
|
+
if (code && code !== 0) {
|
|
62
|
+
// Auto-fallback: if login (without --device-code) failed, retry with device-code
|
|
63
|
+
if (sub === "login" && !argv.includes("--device-code")) {
|
|
64
|
+
out(color.yellow("⚠ ") + "Browser login failed. Retrying with device-code flow...\n");
|
|
65
|
+
const fallbackCode = await spawnProgrok(["login", "--device-code"], env);
|
|
66
|
+
if (fallbackCode && fallbackCode !== 0) {
|
|
67
|
+
die(fallbackCode, "bundled progrok device-code login also failed");
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
die(code, `bundled progrok exited with code ${code}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
die(1, `bundled progrok failed to start: ${err.message}`);
|
|
77
|
+
}
|
|
78
|
+
if (sub === "login") {
|
|
79
|
+
out(color.green("✓ ") + "Grok OAuth is ready for ima2 serve");
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { dirname, join, delimiter } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { color, die, out } from "../lib/output.js";
|
|
5
|
+
import { isWin } from "../lib/platform.js";
|
|
6
|
+
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const ROOT = join(__dirname, "..", "..");
|
|
9
|
+
const HELP = `
|
|
10
|
+
ima2 grok <subcommand> [options]
|
|
11
|
+
|
|
12
|
+
Manage the bundled progrok runtime used by the Grok image provider.
|
|
13
|
+
No separate progrok install is required.
|
|
14
|
+
|
|
15
|
+
Subcommands:
|
|
16
|
+
login [--device-code] Log in to xAI OAuth for the bundled proxy
|
|
17
|
+
logout Remove stored xAI credentials
|
|
18
|
+
status Show bundled progrok authentication status
|
|
19
|
+
models List available Grok models
|
|
20
|
+
proxy [options] Start the bundled proxy directly
|
|
21
|
+
|
|
22
|
+
Notes:
|
|
23
|
+
ima2 serve auto-starts the bundled proxy on 127.0.0.1:18645 by default.
|
|
24
|
+
Use IMA2_NO_GROK_PROXY=1 to disable automatic proxy startup.
|
|
25
|
+
`;
|
|
26
|
+
|
|
27
|
+
function localBinPath() {
|
|
28
|
+
return join(ROOT, "node_modules", ".bin");
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function spawnProgrok(argv: string[], env: NodeJS.ProcessEnv): Promise<number | null> {
|
|
32
|
+
return new Promise((resolve, reject) => {
|
|
33
|
+
const progrokBin = join(localBinPath(), isWin ? "progrok.cmd" : "progrok");
|
|
34
|
+
const child = isWin
|
|
35
|
+
? spawn(progrokBin, argv, {
|
|
36
|
+
cwd: ROOT,
|
|
37
|
+
env,
|
|
38
|
+
stdio: "inherit",
|
|
39
|
+
shell: true,
|
|
40
|
+
windowsHide: true,
|
|
41
|
+
})
|
|
42
|
+
: spawn(progrokBin, argv, {
|
|
43
|
+
cwd: ROOT,
|
|
44
|
+
env,
|
|
45
|
+
stdio: "inherit",
|
|
46
|
+
windowsHide: true,
|
|
47
|
+
});
|
|
48
|
+
child.on("error", (err) => reject(err));
|
|
49
|
+
child.on("close", resolve);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export default async function grokCmd(argv: string[]) {
|
|
54
|
+
const sub = argv[0];
|
|
55
|
+
if (!sub || sub === "--help" || sub === "-h") {
|
|
56
|
+
out(HELP);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const env = {
|
|
61
|
+
...process.env,
|
|
62
|
+
PATH: `${localBinPath()}${delimiter}${process.env.PATH || ""}`,
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
const code = await spawnProgrok(argv, env);
|
|
67
|
+
if (code && code !== 0) {
|
|
68
|
+
// Auto-fallback: if login (without --device-code) failed, retry with device-code
|
|
69
|
+
if (sub === "login" && !argv.includes("--device-code")) {
|
|
70
|
+
out(color.yellow("⚠ ") + "Browser login failed. Retrying with device-code flow...\n");
|
|
71
|
+
const fallbackCode = await spawnProgrok(["login", "--device-code"], env);
|
|
72
|
+
if (fallbackCode && fallbackCode !== 0) {
|
|
73
|
+
die(fallbackCode, "bundled progrok device-code login also failed");
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
die(code, `bundled progrok exited with code ${code}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
} catch (err: any) {
|
|
80
|
+
die(1, `bundled progrok failed to start: ${err.message}`);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (sub === "login") {
|
|
84
|
+
out(color.green("✓ ") + "Grok OAuth is ready for ima2 serve");
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -41,7 +41,7 @@ const HELP = `
|
|
|
41
41
|
-d, --out-dir <dir> Output dir for multiple images
|
|
42
42
|
--json
|
|
43
43
|
--model <gpt-5.5|gpt-5.4|gpt-5.4-mini>
|
|
44
|
-
--provider <auto|oauth|api>
|
|
44
|
+
--provider <auto|oauth|api|grok> Provider for this request; grok uses progrok proxy
|
|
45
45
|
--mode <auto|direct> Prompt handling mode. Default: auto
|
|
46
46
|
--ref <file> Attach reference image (repeatable, max 5)
|
|
47
47
|
--reasoning-effort <none|low|medium|high|xhigh>
|
|
@@ -60,11 +60,11 @@ export default async function multimodeCmd(argv) {
|
|
|
60
60
|
const prompt = args.positional.join(" ");
|
|
61
61
|
if (!prompt)
|
|
62
62
|
die(2, "prompt required");
|
|
63
|
-
const VALID_PROVIDERS = new Set(["auto", "oauth", "api"]);
|
|
63
|
+
const VALID_PROVIDERS = new Set(["auto", "oauth", "api", "grok"]);
|
|
64
64
|
const VALID_MODES = new Set(["auto", "direct"]);
|
|
65
65
|
const VALID_REASONING = new Set(["none", "low", "medium", "high", "xhigh"]);
|
|
66
66
|
if (args.provider && !VALID_PROVIDERS.has(String(args.provider))) {
|
|
67
|
-
die(2, "--provider must be one of: auto, oauth, api");
|
|
67
|
+
die(2, "--provider must be one of: auto, oauth, api, grok");
|
|
68
68
|
}
|
|
69
69
|
if (!VALID_MODES.has(String(args.mode)))
|
|
70
70
|
die(2, "--mode must be one of: auto, direct");
|
|
@@ -43,7 +43,7 @@ const HELP = `
|
|
|
43
43
|
-d, --out-dir <dir> Output dir for multiple images
|
|
44
44
|
--json
|
|
45
45
|
--model <gpt-5.5|gpt-5.4|gpt-5.4-mini>
|
|
46
|
-
--provider <auto|oauth|api>
|
|
46
|
+
--provider <auto|oauth|api|grok> Provider for this request; grok uses progrok proxy
|
|
47
47
|
--mode <auto|direct> Prompt handling mode. Default: auto
|
|
48
48
|
--ref <file> Attach reference image (repeatable, max 5)
|
|
49
49
|
--reasoning-effort <none|low|medium|high|xhigh>
|
|
@@ -60,11 +60,11 @@ export default async function multimodeCmd(argv: string[]) {
|
|
|
60
60
|
const prompt = args.positional.join(" ");
|
|
61
61
|
if (!prompt) die(2, "prompt required");
|
|
62
62
|
|
|
63
|
-
const VALID_PROVIDERS = new Set(["auto", "oauth", "api"]);
|
|
63
|
+
const VALID_PROVIDERS = new Set(["auto", "oauth", "api", "grok"]);
|
|
64
64
|
const VALID_MODES = new Set(["auto", "direct"]);
|
|
65
65
|
const VALID_REASONING = new Set(["none", "low", "medium", "high", "xhigh"]);
|
|
66
66
|
if (args.provider && !VALID_PROVIDERS.has(String(args.provider))) {
|
|
67
|
-
die(2, "--provider must be one of: auto, oauth, api");
|
|
67
|
+
die(2, "--provider must be one of: auto, oauth, api, grok");
|
|
68
68
|
}
|
|
69
69
|
if (!VALID_MODES.has(String(args.mode))) die(2, "--mode must be one of: auto, direct");
|
|
70
70
|
if (args["reasoning-effort"] && !VALID_REASONING.has(String(args["reasoning-effort"]))) {
|
package/bin/commands/node.js
CHANGED
|
@@ -8,11 +8,11 @@ const HELP = `
|
|
|
8
8
|
ima2 node <subcommand> [options]
|
|
9
9
|
|
|
10
10
|
Subcommands:
|
|
11
|
-
generate <prompt...> [--parent <nodeId>] [--ref <file>...] [--provider <auto|oauth|api>] [--no-stream] [...gen-style flags]
|
|
11
|
+
generate <prompt...> [--parent <nodeId>] [--ref <file>...] [--provider <auto|oauth|api|grok>] [--no-stream] [...gen-style flags]
|
|
12
12
|
show <nodeId> [--json]
|
|
13
13
|
|
|
14
14
|
Generate options:
|
|
15
|
-
--provider <auto|oauth|api>
|
|
15
|
+
--provider <auto|oauth|api|grok> Provider for this request; grok uses progrok proxy
|
|
16
16
|
`;
|
|
17
17
|
const GEN_FLAGS = {
|
|
18
18
|
quality: { short: "q", type: "string", default: "low" },
|
|
@@ -58,10 +58,10 @@ async function generateSub(argv) {
|
|
|
58
58
|
if (!prompt)
|
|
59
59
|
die(2, "prompt required");
|
|
60
60
|
const refs = (Array.isArray(args.ref) ? args.ref : []);
|
|
61
|
-
const VALID_PROVIDERS = new Set(["auto", "oauth", "api"]);
|
|
61
|
+
const VALID_PROVIDERS = new Set(["auto", "oauth", "api", "grok"]);
|
|
62
62
|
const VALID_REASONING = new Set(["none", "low", "medium", "high", "xhigh"]);
|
|
63
63
|
if (args.provider && !VALID_PROVIDERS.has(String(args.provider))) {
|
|
64
|
-
die(2, "--provider must be one of: auto, oauth, api");
|
|
64
|
+
die(2, "--provider must be one of: auto, oauth, api, grok");
|
|
65
65
|
}
|
|
66
66
|
if (args["reasoning-effort"] && !VALID_REASONING.has(String(args["reasoning-effort"]))) {
|
|
67
67
|
die(2, "--reasoning-effort must be one of: none, low, medium, high, xhigh");
|
package/bin/commands/node.ts
CHANGED
|
@@ -9,11 +9,11 @@ const HELP = `
|
|
|
9
9
|
ima2 node <subcommand> [options]
|
|
10
10
|
|
|
11
11
|
Subcommands:
|
|
12
|
-
generate <prompt...> [--parent <nodeId>] [--ref <file>...] [--provider <auto|oauth|api>] [--no-stream] [...gen-style flags]
|
|
12
|
+
generate <prompt...> [--parent <nodeId>] [--ref <file>...] [--provider <auto|oauth|api|grok>] [--no-stream] [...gen-style flags]
|
|
13
13
|
show <nodeId> [--json]
|
|
14
14
|
|
|
15
15
|
Generate options:
|
|
16
|
-
--provider <auto|oauth|api>
|
|
16
|
+
--provider <auto|oauth|api|grok> Provider for this request; grok uses progrok proxy
|
|
17
17
|
`;
|
|
18
18
|
|
|
19
19
|
const GEN_FLAGS = {
|
|
@@ -54,10 +54,10 @@ async function generateSub(argv: string[]) {
|
|
|
54
54
|
const prompt = args.positional.join(" ");
|
|
55
55
|
if (!prompt) die(2, "prompt required");
|
|
56
56
|
const refs = (Array.isArray(args.ref) ? args.ref : []) as string[];
|
|
57
|
-
const VALID_PROVIDERS = new Set(["auto", "oauth", "api"]);
|
|
57
|
+
const VALID_PROVIDERS = new Set(["auto", "oauth", "api", "grok"]);
|
|
58
58
|
const VALID_REASONING = new Set(["none", "low", "medium", "high", "xhigh"]);
|
|
59
59
|
if (args.provider && !VALID_PROVIDERS.has(String(args.provider))) {
|
|
60
|
-
die(2, "--provider must be one of: auto, oauth, api");
|
|
60
|
+
die(2, "--provider must be one of: auto, oauth, api, grok");
|
|
61
61
|
}
|
|
62
62
|
if (args["reasoning-effort"] && !VALID_REASONING.has(String(args["reasoning-effort"]))) {
|
|
63
63
|
die(2, "--reasoning-effort must be one of: none, low, medium, high, xhigh");
|
package/bin/ima2.js
CHANGED
|
@@ -231,6 +231,7 @@ function showHelp() {
|
|
|
231
231
|
billing API usage / quota
|
|
232
232
|
providers Configured providers
|
|
233
233
|
oauth <sub> OAuth proxy status (ima2 oauth --help)
|
|
234
|
+
grok <sub> Bundled progrok login/status (ima2 grok --help)
|
|
234
235
|
config <sub> Config get/set/ls/path/rm (ima2 config --help)
|
|
235
236
|
defaults <sub> Inspect/change model defaults (ima2 defaults --help)
|
|
236
237
|
capabilities Agent capability metadata (ima2 capabilities --help)
|
|
@@ -270,7 +271,7 @@ if (args.includes("-v") || args.includes("--version")) {
|
|
|
270
271
|
process.exit(0);
|
|
271
272
|
}
|
|
272
273
|
if ((!command || args.includes("-h") || args.includes("--help"))
|
|
273
|
-
&& !["doctor", "gen", "edit", "ls", "show", "ps", "cancel", "session", "history", "prompt", "multimode", "node", "annotate", "canvas-versions", "metadata", "comfy", "cardnews", "inflight", "storage", "billing", "providers", "oauth", "config", "defaults", "capabilities", "skill", "ping"].includes(command)) {
|
|
274
|
+
&& !["doctor", "gen", "edit", "ls", "show", "ps", "cancel", "session", "history", "prompt", "multimode", "node", "annotate", "canvas-versions", "metadata", "comfy", "cardnews", "inflight", "storage", "billing", "providers", "oauth", "grok", "config", "defaults", "capabilities", "skill", "ping"].includes(command)) {
|
|
274
275
|
showHelp();
|
|
275
276
|
process.exit(command ? 0 : 1);
|
|
276
277
|
}
|
|
@@ -332,6 +333,7 @@ switch (command) {
|
|
|
332
333
|
case "defaults":
|
|
333
334
|
case "capabilities":
|
|
334
335
|
case "skill":
|
|
336
|
+
case "grok":
|
|
335
337
|
case "ping": {
|
|
336
338
|
const { setCliVersion } = await import("./lib/client.js");
|
|
337
339
|
setCliVersion(pkg.version);
|
package/bin/ima2.ts
CHANGED
|
@@ -252,6 +252,7 @@ function showHelp() {
|
|
|
252
252
|
billing API usage / quota
|
|
253
253
|
providers Configured providers
|
|
254
254
|
oauth <sub> OAuth proxy status (ima2 oauth --help)
|
|
255
|
+
grok <sub> Bundled progrok login/status (ima2 grok --help)
|
|
255
256
|
config <sub> Config get/set/ls/path/rm (ima2 config --help)
|
|
256
257
|
defaults <sub> Inspect/change model defaults (ima2 defaults --help)
|
|
257
258
|
capabilities Agent capability metadata (ima2 capabilities --help)
|
|
@@ -294,7 +295,7 @@ if (args.includes("-v") || args.includes("--version")) {
|
|
|
294
295
|
}
|
|
295
296
|
|
|
296
297
|
if ((!command || args.includes("-h") || args.includes("--help"))
|
|
297
|
-
&& !["doctor", "gen", "edit", "ls", "show", "ps", "cancel", "session", "history", "prompt", "multimode", "node", "annotate", "canvas-versions", "metadata", "comfy", "cardnews", "inflight", "storage", "billing", "providers", "oauth", "config", "defaults", "capabilities", "skill", "ping"].includes(command)) {
|
|
298
|
+
&& !["doctor", "gen", "edit", "ls", "show", "ps", "cancel", "session", "history", "prompt", "multimode", "node", "annotate", "canvas-versions", "metadata", "comfy", "cardnews", "inflight", "storage", "billing", "providers", "oauth", "grok", "config", "defaults", "capabilities", "skill", "ping"].includes(command)) {
|
|
298
299
|
showHelp();
|
|
299
300
|
process.exit(command ? 0 : 1);
|
|
300
301
|
}
|
|
@@ -355,6 +356,7 @@ switch (command) {
|
|
|
355
356
|
case "defaults":
|
|
356
357
|
case "capabilities":
|
|
357
358
|
case "skill":
|
|
359
|
+
case "grok":
|
|
358
360
|
case "ping": {
|
|
359
361
|
const { setCliVersion } = await import("./lib/client.js");
|
|
360
362
|
setCliVersion(pkg.version);
|