@chat-js/cli 0.1.4 → 0.2.0

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 (160) hide show
  1. package/dist/index.js +391 -244
  2. package/package.json +1 -1
  3. package/templates/chat-app/.claude/skiller.toml +18 -0
  4. package/templates/chat-app/.claude/skills/chat-context/SKILL.md +6 -0
  5. package/templates/chat-app/.claude/skills/chat-context/chat-context.mdc +36 -0
  6. package/templates/chat-app/.claude/skills/lazy-prefetch-pattern/lazy-prefetch-pattern.mdc +27 -0
  7. package/templates/chat-app/.claude/skills/react/react.mdc +29 -0
  8. package/templates/chat-app/.claude/skills/trpc-patterns/trpc-patterns.mdc +77 -0
  9. package/templates/chat-app/.claude/skills/typescript/typescript.mdc +53 -0
  10. package/templates/chat-app/.claude/skills/ultracite/ultracite.mdc +129 -0
  11. package/templates/chat-app/.cursor/skills/chat-context/SKILL.md +37 -0
  12. package/templates/chat-app/.cursor/skills/lazy-prefetch-pattern/SKILL.md +26 -0
  13. package/templates/chat-app/.cursor/skills/react/SKILL.md +28 -0
  14. package/templates/chat-app/.cursor/skills/trpc-patterns/SKILL.md +76 -0
  15. package/templates/chat-app/.cursor/skills/typescript/SKILL.md +52 -0
  16. package/templates/chat-app/.cursor/skills/ultracite/SKILL.md +128 -0
  17. package/templates/chat-app/app/(chat)/actions.ts +1 -1
  18. package/templates/chat-app/app/(chat)/api/chat/[id]/stream/route.ts +6 -5
  19. package/templates/chat-app/app/(chat)/api/chat/route.ts +14 -15
  20. package/templates/chat-app/app/(chat)/chat-providers.tsx +2 -2
  21. package/templates/chat-app/app/(chat)/layout.tsx +7 -6
  22. package/templates/chat-app/app/api/cron/cleanup/route.ts +4 -3
  23. package/templates/chat-app/app/globals.css +22 -22
  24. package/templates/chat-app/app/layout.tsx +1 -1
  25. package/templates/chat-app/biome.jsonc +3 -3
  26. package/templates/chat-app/chat.config.ts +47 -20
  27. package/templates/chat-app/components/anonymous-session-init.tsx +4 -12
  28. package/templates/chat-app/components/artifact-actions.tsx +5 -5
  29. package/templates/chat-app/components/artifact-panel.tsx +6 -6
  30. package/templates/chat-app/components/assistant-message.tsx +1 -1
  31. package/templates/chat-app/components/chat/chat-layout.tsx +2 -2
  32. package/templates/chat-app/components/chat/chat-welcome.tsx +1 -0
  33. package/templates/chat-app/components/chat-features-definitions.ts +11 -8
  34. package/templates/chat-app/components/chat-menu-items.tsx +4 -4
  35. package/templates/chat-app/components/chat-sync.tsx +1 -1
  36. package/templates/chat-app/components/clone-chat-button.tsx +2 -2
  37. package/templates/chat-app/components/code-editor.tsx +5 -5
  38. package/templates/chat-app/components/connectors-dropdown.tsx +2 -2
  39. package/templates/chat-app/components/console.tsx +5 -5
  40. package/templates/chat-app/components/create-artifact.tsx +28 -28
  41. package/templates/chat-app/components/data-stream-provider.tsx +2 -2
  42. package/templates/chat-app/components/deep-research-progress.tsx +2 -2
  43. package/templates/chat-app/components/delete-chat-dialog.tsx +3 -3
  44. package/templates/chat-app/components/delete-project-dialog.tsx +3 -3
  45. package/templates/chat-app/components/diffview.tsx +3 -3
  46. package/templates/chat-app/components/favicon-group.tsx +7 -7
  47. package/templates/chat-app/components/header-breadcrumb.tsx +11 -11
  48. package/templates/chat-app/components/image-editor.tsx +5 -5
  49. package/templates/chat-app/components/image-modal.tsx +4 -4
  50. package/templates/chat-app/components/interactive-chart-impl.tsx +269 -0
  51. package/templates/chat-app/components/interactive-charts.tsx +18 -246
  52. package/templates/chat-app/components/lexical-chat-input.tsx +10 -10
  53. package/templates/chat-app/components/message-editor.tsx +3 -3
  54. package/templates/chat-app/components/message-parts.tsx +8 -3
  55. package/templates/chat-app/components/messages-pane.tsx +4 -4
  56. package/templates/chat-app/components/messages.tsx +5 -5
  57. package/templates/chat-app/components/model-selector.tsx +4 -1
  58. package/templates/chat-app/components/multimodal-input.tsx +14 -5
  59. package/templates/chat-app/components/part/code-execution.tsx +4 -1
  60. package/templates/chat-app/components/part/document-common.tsx +8 -8
  61. package/templates/chat-app/components/part/document-preview.tsx +34 -16
  62. package/templates/chat-app/components/part/document-tool.tsx +3 -3
  63. package/templates/chat-app/components/part/dynamic-tool.tsx +3 -3
  64. package/templates/chat-app/components/part/generate-video.tsx +54 -0
  65. package/templates/chat-app/components/part/message-reasoning.tsx +3 -3
  66. package/templates/chat-app/components/project-details-dialog.tsx +4 -4
  67. package/templates/chat-app/components/project-home.tsx +1 -0
  68. package/templates/chat-app/components/project-icon-picker.tsx +5 -5
  69. package/templates/chat-app/components/project-icon.tsx +4 -4
  70. package/templates/chat-app/components/project-menu-items.tsx +3 -3
  71. package/templates/chat-app/components/research-tasks.tsx +3 -3
  72. package/templates/chat-app/components/sandbox.tsx +4 -4
  73. package/templates/chat-app/components/search-chats-dialog.tsx +11 -11
  74. package/templates/chat-app/components/settings/connectors-settings.tsx +1 -1
  75. package/templates/chat-app/components/settings/settings-nav.tsx +1 -1
  76. package/templates/chat-app/components/sheet-editor.tsx +5 -5
  77. package/templates/chat-app/components/sidebar-chats-list.tsx +5 -5
  78. package/templates/chat-app/components/suggested-actions.tsx +3 -3
  79. package/templates/chat-app/components/text-editor.tsx +5 -5
  80. package/templates/chat-app/components/toolbar.tsx +6 -6
  81. package/templates/chat-app/components/upgrade-cta/login-cta-banner.tsx +5 -5
  82. package/templates/chat-app/components/upgrade-cta/login-prompt.tsx +4 -4
  83. package/templates/chat-app/components/upgrade-cta/share-menu-item.tsx +3 -3
  84. package/templates/chat-app/components/user-message.tsx +3 -3
  85. package/templates/chat-app/components/version-footer.tsx +4 -4
  86. package/templates/chat-app/hooks/chat-sync-hooks.ts +0 -55
  87. package/templates/chat-app/hooks/use-artifact.tsx +3 -3
  88. package/templates/chat-app/hooks/use-auto-focus.ts +37 -7
  89. package/templates/chat-app/hooks/use-media-query.tsx +2 -4
  90. package/templates/chat-app/lib/ai/active-gateway.ts +1 -1
  91. package/templates/chat-app/lib/ai/ai-gateway-models-schemas.ts +30 -6
  92. package/templates/chat-app/lib/ai/app-model-id.ts +1 -1
  93. package/templates/chat-app/lib/ai/app-models.ts +4 -4
  94. package/templates/chat-app/lib/ai/eval-agent.ts +5 -5
  95. package/templates/chat-app/lib/ai/followup-suggestions.ts +1 -1
  96. package/templates/chat-app/lib/ai/gateway-model-defaults.ts +131 -41
  97. package/templates/chat-app/lib/ai/gateways/gateway-provider.ts +10 -6
  98. package/templates/chat-app/lib/ai/gateways/openai-compatible-gateway.ts +9 -4
  99. package/templates/chat-app/lib/ai/gateways/openai-gateway.ts +9 -4
  100. package/templates/chat-app/lib/ai/gateways/openrouter-gateway.ts +17 -12
  101. package/templates/chat-app/lib/ai/gateways/registry.ts +9 -0
  102. package/templates/chat-app/lib/ai/gateways/vercel-gateway.ts +36 -4
  103. package/templates/chat-app/lib/ai/mcp/cache.ts +13 -13
  104. package/templates/chat-app/lib/ai/model-data.ts +21 -20
  105. package/templates/chat-app/lib/ai/models.generated.ts +4397 -3592
  106. package/templates/chat-app/lib/ai/models.ts +1 -1
  107. package/templates/chat-app/lib/ai/providers.ts +10 -0
  108. package/templates/chat-app/lib/ai/text-splitter.ts +3 -4
  109. package/templates/chat-app/lib/ai/to-model-data.ts +1 -0
  110. package/templates/chat-app/lib/ai/tools/code-execution.ts +122 -53
  111. package/templates/chat-app/lib/ai/tools/deep-research/configuration.ts +35 -32
  112. package/templates/chat-app/lib/ai/tools/deep-research/pipeline.ts +2 -2
  113. package/templates/chat-app/lib/ai/tools/deep-research/types.ts +9 -9
  114. package/templates/chat-app/lib/ai/tools/documents/types.ts +4 -4
  115. package/templates/chat-app/lib/ai/tools/generate-image.ts +42 -20
  116. package/templates/chat-app/lib/ai/tools/generate-video.ts +166 -0
  117. package/templates/chat-app/lib/ai/tools/get-weather.ts +20 -20
  118. package/templates/chat-app/lib/ai/tools/read-document.ts +3 -3
  119. package/templates/chat-app/lib/ai/tools/steps/multi-query-web-search.ts +11 -11
  120. package/templates/chat-app/lib/ai/tools/steps/web-search.ts +6 -6
  121. package/templates/chat-app/lib/ai/tools/tools-definitions.ts +10 -5
  122. package/templates/chat-app/lib/ai/tools/tools.ts +15 -6
  123. package/templates/chat-app/lib/ai/tools/types.ts +2 -2
  124. package/templates/chat-app/lib/ai/types.ts +22 -13
  125. package/templates/chat-app/lib/artifacts/code/client.tsx +5 -5
  126. package/templates/chat-app/lib/artifacts/sheet/client.tsx +2 -2
  127. package/templates/chat-app/lib/artifacts/text/client.tsx +18 -3
  128. package/templates/chat-app/lib/clone-messages.test.ts +6 -1
  129. package/templates/chat-app/lib/config-requirements.ts +19 -10
  130. package/templates/chat-app/lib/config-schema.ts +189 -103
  131. package/templates/chat-app/lib/config.ts +4 -4
  132. package/templates/chat-app/lib/credits/cost-accumulator.ts +11 -8
  133. package/templates/chat-app/lib/env-schema.ts +1 -1
  134. package/templates/chat-app/lib/features-config.ts +6 -6
  135. package/templates/chat-app/lib/stores/with-threads.ts +3 -3
  136. package/templates/chat-app/lib/thread-utils.ts +2 -2
  137. package/templates/chat-app/lib/types/anonymous.ts +4 -4
  138. package/templates/chat-app/lib/types/ui-chat.ts +7 -7
  139. package/templates/chat-app/lib/utils/download-assets.ts +3 -3
  140. package/templates/chat-app/lib/utils/rate-limit.ts +8 -8
  141. package/templates/chat-app/next.config.ts +0 -25
  142. package/templates/chat-app/package.json +15 -15
  143. package/templates/chat-app/playwright.config.ts +5 -5
  144. package/templates/chat-app/providers/chat-id-provider.tsx +5 -5
  145. package/templates/chat-app/providers/chat-input-provider.tsx +15 -15
  146. package/templates/chat-app/providers/chat-models-provider.tsx +3 -3
  147. package/templates/chat-app/providers/default-model-provider.tsx +5 -5
  148. package/templates/chat-app/providers/parse-chat-id-from-pathname.test.ts +16 -0
  149. package/templates/chat-app/providers/session-provider.tsx +2 -2
  150. package/templates/chat-app/scripts/check-env.ts +36 -4
  151. package/templates/chat-app/tests/artifacts.e2e.ts +7 -0
  152. package/templates/chat-app/tests/auth.setup.e2e.ts +10 -0
  153. package/templates/chat-app/tests/chat.e2e.ts +7 -0
  154. package/templates/chat-app/tests/reasoning.e2e.ts +7 -0
  155. package/templates/chat-app/tests/reasoning.setup.e2e.ts +10 -0
  156. package/templates/chat-app/trpc/routers/chat.router.ts +1 -1
  157. package/templates/chat-app/trpc/routers/mcp.router.ts +3 -3
  158. package/templates/chat-app/vitest.config.ts +7 -0
  159. package/templates/chat-app/next-env.d.ts +0 -6
  160. package/templates/chat-app/tsconfig.tsbuildinfo +0 -1
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ var __export = (target, all) => {
28
28
  };
29
29
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
30
30
 
31
- // ../../node_modules/.bun/commander@14.0.3/node_modules/commander/lib/error.js
31
+ // ../../node_modules/commander/lib/error.js
32
32
  var require_error = __commonJS((exports) => {
33
33
  class CommanderError extends Error {
34
34
  constructor(exitCode, code, message) {
@@ -52,7 +52,7 @@ var require_error = __commonJS((exports) => {
52
52
  exports.InvalidArgumentError = InvalidArgumentError;
53
53
  });
54
54
 
55
- // ../../node_modules/.bun/commander@14.0.3/node_modules/commander/lib/argument.js
55
+ // ../../node_modules/commander/lib/argument.js
56
56
  var require_argument = __commonJS((exports) => {
57
57
  var { InvalidArgumentError } = require_error();
58
58
 
@@ -132,7 +132,7 @@ var require_argument = __commonJS((exports) => {
132
132
  exports.humanReadableArgName = humanReadableArgName;
133
133
  });
134
134
 
135
- // ../../node_modules/.bun/commander@14.0.3/node_modules/commander/lib/help.js
135
+ // ../../node_modules/commander/lib/help.js
136
136
  var require_help = __commonJS((exports) => {
137
137
  var { humanReadableArgName } = require_argument();
138
138
 
@@ -489,7 +489,7 @@ ${itemIndentStr}`);
489
489
  exports.stripColor = stripColor;
490
490
  });
491
491
 
492
- // ../../node_modules/.bun/commander@14.0.3/node_modules/commander/lib/option.js
492
+ // ../../node_modules/commander/lib/option.js
493
493
  var require_option = __commonJS((exports) => {
494
494
  var { InvalidArgumentError } = require_error();
495
495
 
@@ -673,7 +673,7 @@ var require_option = __commonJS((exports) => {
673
673
  exports.DualOptions = DualOptions;
674
674
  });
675
675
 
676
- // ../../node_modules/.bun/commander@14.0.3/node_modules/commander/lib/suggestSimilar.js
676
+ // ../../node_modules/commander/lib/suggestSimilar.js
677
677
  var require_suggestSimilar = __commonJS((exports) => {
678
678
  var maxDistance = 3;
679
679
  function editDistance(a, b) {
@@ -746,7 +746,7 @@ var require_suggestSimilar = __commonJS((exports) => {
746
746
  exports.suggestSimilar = suggestSimilar;
747
747
  });
748
748
 
749
- // ../../node_modules/.bun/commander@14.0.3/node_modules/commander/lib/command.js
749
+ // ../../node_modules/commander/lib/command.js
750
750
  var require_command = __commonJS((exports) => {
751
751
  var EventEmitter = __require("node:events").EventEmitter;
752
752
  var childProcess = __require("node:child_process");
@@ -2101,7 +2101,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
2101
2101
  exports.useColor = useColor;
2102
2102
  });
2103
2103
 
2104
- // ../../node_modules/.bun/commander@14.0.3/node_modules/commander/index.js
2104
+ // ../../node_modules/commander/index.js
2105
2105
  var require_commander = __commonJS((exports) => {
2106
2106
  var { Argument } = require_argument();
2107
2107
  var { Command } = require_command();
@@ -2121,7 +2121,7 @@ var require_commander = __commonJS((exports) => {
2121
2121
  exports.InvalidOptionArgumentError = InvalidArgumentError;
2122
2122
  });
2123
2123
 
2124
- // ../../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js
2124
+ // ../../node_modules/picocolors/picocolors.js
2125
2125
  var require_picocolors = __commonJS((exports, module) => {
2126
2126
  var p = process || {};
2127
2127
  var argv = p.argv || [];
@@ -2191,7 +2191,7 @@ var require_picocolors = __commonJS((exports, module) => {
2191
2191
  module.exports.createColors = createColors;
2192
2192
  });
2193
2193
 
2194
- // ../../node_modules/.bun/sisteransi@1.0.5/node_modules/sisteransi/src/index.js
2194
+ // ../../node_modules/sisteransi/src/index.js
2195
2195
  var require_src = __commonJS((exports, module) => {
2196
2196
  var ESC = "\x1B";
2197
2197
  var CSI = `${ESC}[`;
@@ -2249,7 +2249,7 @@ var require_src = __commonJS((exports, module) => {
2249
2249
  module.exports = { cursor, scroll, erase, beep };
2250
2250
  });
2251
2251
 
2252
- // ../../node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/spinners.json
2252
+ // ../../node_modules/cli-spinners/spinners.json
2253
2253
  var require_spinners = __commonJS((exports, module) => {
2254
2254
  module.exports = {
2255
2255
  dots: {
@@ -3875,7 +3875,7 @@ var require_spinners = __commonJS((exports, module) => {
3875
3875
  };
3876
3876
  });
3877
3877
 
3878
- // ../../node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/index.js
3878
+ // ../../node_modules/cli-spinners/index.js
3879
3879
  var require_cli_spinners = __commonJS((exports, module) => {
3880
3880
  var spinners = Object.assign({}, require_spinners());
3881
3881
  var spinnersList = Object.keys(spinners);
@@ -3889,14 +3889,14 @@ var require_cli_spinners = __commonJS((exports, module) => {
3889
3889
  module.exports = spinners;
3890
3890
  });
3891
3891
 
3892
- // ../../node_modules/.bun/emoji-regex@10.6.0/node_modules/emoji-regex/index.js
3892
+ // ../../node_modules/emoji-regex/index.js
3893
3893
  var require_emoji_regex = __commonJS((exports, module) => {
3894
3894
  module.exports = () => {
3895
3895
  return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
3896
3896
  };
3897
3897
  });
3898
3898
 
3899
- // ../../node_modules/.bun/commander@14.0.3/node_modules/commander/esm.mjs
3899
+ // ../../node_modules/commander/esm.mjs
3900
3900
  var import__ = __toESM(require_commander(), 1);
3901
3901
  var {
3902
3902
  program,
@@ -3914,7 +3914,7 @@ var {
3914
3914
  // package.json
3915
3915
  var package_default = {
3916
3916
  name: "@chat-js/cli",
3917
- version: "0.1.4",
3917
+ version: "0.2.0",
3918
3918
  description: "CLI for creating and extending ChatJS apps",
3919
3919
  license: "Apache-2.0",
3920
3920
  repository: {
@@ -3963,7 +3963,7 @@ var package_default = {
3963
3963
  }
3964
3964
  };
3965
3965
 
3966
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/external.js
3966
+ // ../../node_modules/zod/v4/classic/external.js
3967
3967
  var exports_external = {};
3968
3968
  __export(exports_external, {
3969
3969
  xor: () => xor,
@@ -4204,7 +4204,7 @@ __export(exports_external, {
4204
4204
  $brand: () => $brand
4205
4205
  });
4206
4206
 
4207
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/index.js
4207
+ // ../../node_modules/zod/v4/core/index.js
4208
4208
  var exports_core2 = {};
4209
4209
  __export(exports_core2, {
4210
4210
  version: () => version,
@@ -4482,7 +4482,7 @@ __export(exports_core2, {
4482
4482
  $ZodAny: () => $ZodAny
4483
4483
  });
4484
4484
 
4485
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/core.js
4485
+ // ../../node_modules/zod/v4/core/core.js
4486
4486
  var NEVER = Object.freeze({
4487
4487
  status: "aborted"
4488
4488
  });
@@ -4558,7 +4558,7 @@ function config(newConfig) {
4558
4558
  Object.assign(globalConfig, newConfig);
4559
4559
  return globalConfig;
4560
4560
  }
4561
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/util.js
4561
+ // ../../node_modules/zod/v4/core/util.js
4562
4562
  var exports_util = {};
4563
4563
  __export(exports_util, {
4564
4564
  unwrapMessage: () => unwrapMessage,
@@ -5232,7 +5232,7 @@ class Class {
5232
5232
  constructor(..._args) {}
5233
5233
  }
5234
5234
 
5235
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/errors.js
5235
+ // ../../node_modules/zod/v4/core/errors.js
5236
5236
  var initializer = (inst, def) => {
5237
5237
  inst.name = "$ZodError";
5238
5238
  Object.defineProperty(inst, "_zod", {
@@ -5369,7 +5369,7 @@ function prettifyError(error) {
5369
5369
  `);
5370
5370
  }
5371
5371
 
5372
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/parse.js
5372
+ // ../../node_modules/zod/v4/core/parse.js
5373
5373
  var _parse = (_Err) => (schema, value, _ctx, _params) => {
5374
5374
  const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
5375
5375
  const result = schema._zod.run({ value, issues: [] }, ctx);
@@ -5456,7 +5456,7 @@ var _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
5456
5456
  return _safeParseAsync(_Err)(schema, value, _ctx);
5457
5457
  };
5458
5458
  var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError);
5459
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/regexes.js
5459
+ // ../../node_modules/zod/v4/core/regexes.js
5460
5460
  var exports_regexes = {};
5461
5461
  __export(exports_regexes, {
5462
5462
  xid: () => xid,
@@ -5613,7 +5613,7 @@ var sha512_hex = /^[0-9a-fA-F]{128}$/;
5613
5613
  var sha512_base64 = /* @__PURE__ */ fixedBase64(86, "==");
5614
5614
  var sha512_base64url = /* @__PURE__ */ fixedBase64url(86);
5615
5615
 
5616
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/checks.js
5616
+ // ../../node_modules/zod/v4/core/checks.js
5617
5617
  var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => {
5618
5618
  var _a;
5619
5619
  inst._zod ?? (inst._zod = {});
@@ -6160,7 +6160,7 @@ var $ZodCheckOverwrite = /* @__PURE__ */ $constructor("$ZodCheckOverwrite", (ins
6160
6160
  };
6161
6161
  });
6162
6162
 
6163
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/doc.js
6163
+ // ../../node_modules/zod/v4/core/doc.js
6164
6164
  class Doc {
6165
6165
  constructor(args = []) {
6166
6166
  this.content = [];
@@ -6198,14 +6198,14 @@ class Doc {
6198
6198
  }
6199
6199
  }
6200
6200
 
6201
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/versions.js
6201
+ // ../../node_modules/zod/v4/core/versions.js
6202
6202
  var version = {
6203
6203
  major: 4,
6204
6204
  minor: 3,
6205
6205
  patch: 6
6206
6206
  };
6207
6207
 
6208
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/schemas.js
6208
+ // ../../node_modules/zod/v4/core/schemas.js
6209
6209
  var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
6210
6210
  var _a;
6211
6211
  inst ?? (inst = {});
@@ -8167,7 +8167,7 @@ function handleRefineResult(result, payload, input, inst) {
8167
8167
  payload.issues.push(issue(_iss));
8168
8168
  }
8169
8169
  }
8170
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/index.js
8170
+ // ../../node_modules/zod/v4/locales/index.js
8171
8171
  var exports_locales = {};
8172
8172
  __export(exports_locales, {
8173
8173
  zhTW: () => zh_TW_default,
@@ -8221,7 +8221,7 @@ __export(exports_locales, {
8221
8221
  ar: () => ar_default
8222
8222
  });
8223
8223
 
8224
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ar.js
8224
+ // ../../node_modules/zod/v4/locales/ar.js
8225
8225
  var error = () => {
8226
8226
  const Sizable = {
8227
8227
  string: { unit: "حرف", verb: "أن يحوي" },
@@ -8327,7 +8327,7 @@ function ar_default() {
8327
8327
  localeError: error()
8328
8328
  };
8329
8329
  }
8330
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/az.js
8330
+ // ../../node_modules/zod/v4/locales/az.js
8331
8331
  var error2 = () => {
8332
8332
  const Sizable = {
8333
8333
  string: { unit: "simvol", verb: "olmalıdır" },
@@ -8432,7 +8432,7 @@ function az_default() {
8432
8432
  localeError: error2()
8433
8433
  };
8434
8434
  }
8435
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/be.js
8435
+ // ../../node_modules/zod/v4/locales/be.js
8436
8436
  function getBelarusianPlural(count, one, few, many) {
8437
8437
  const absCount = Math.abs(count);
8438
8438
  const lastDigit = absCount % 10;
@@ -8588,7 +8588,7 @@ function be_default() {
8588
8588
  localeError: error3()
8589
8589
  };
8590
8590
  }
8591
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/bg.js
8591
+ // ../../node_modules/zod/v4/locales/bg.js
8592
8592
  var error4 = () => {
8593
8593
  const Sizable = {
8594
8594
  string: { unit: "символа", verb: "да съдържа" },
@@ -8708,7 +8708,7 @@ function bg_default() {
8708
8708
  localeError: error4()
8709
8709
  };
8710
8710
  }
8711
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ca.js
8711
+ // ../../node_modules/zod/v4/locales/ca.js
8712
8712
  var error5 = () => {
8713
8713
  const Sizable = {
8714
8714
  string: { unit: "caràcters", verb: "contenir" },
@@ -8815,7 +8815,7 @@ function ca_default() {
8815
8815
  localeError: error5()
8816
8816
  };
8817
8817
  }
8818
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/cs.js
8818
+ // ../../node_modules/zod/v4/locales/cs.js
8819
8819
  var error6 = () => {
8820
8820
  const Sizable = {
8821
8821
  string: { unit: "znaků", verb: "mít" },
@@ -8926,7 +8926,7 @@ function cs_default() {
8926
8926
  localeError: error6()
8927
8927
  };
8928
8928
  }
8929
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/da.js
8929
+ // ../../node_modules/zod/v4/locales/da.js
8930
8930
  var error7 = () => {
8931
8931
  const Sizable = {
8932
8932
  string: { unit: "tegn", verb: "havde" },
@@ -9041,7 +9041,7 @@ function da_default() {
9041
9041
  localeError: error7()
9042
9042
  };
9043
9043
  }
9044
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/de.js
9044
+ // ../../node_modules/zod/v4/locales/de.js
9045
9045
  var error8 = () => {
9046
9046
  const Sizable = {
9047
9047
  string: { unit: "Zeichen", verb: "zu haben" },
@@ -9149,7 +9149,7 @@ function de_default() {
9149
9149
  localeError: error8()
9150
9150
  };
9151
9151
  }
9152
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/en.js
9152
+ // ../../node_modules/zod/v4/locales/en.js
9153
9153
  var error9 = () => {
9154
9154
  const Sizable = {
9155
9155
  string: { unit: "characters", verb: "to have" },
@@ -9255,7 +9255,7 @@ function en_default() {
9255
9255
  localeError: error9()
9256
9256
  };
9257
9257
  }
9258
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/eo.js
9258
+ // ../../node_modules/zod/v4/locales/eo.js
9259
9259
  var error10 = () => {
9260
9260
  const Sizable = {
9261
9261
  string: { unit: "karaktrojn", verb: "havi" },
@@ -9364,7 +9364,7 @@ function eo_default() {
9364
9364
  localeError: error10()
9365
9365
  };
9366
9366
  }
9367
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/es.js
9367
+ // ../../node_modules/zod/v4/locales/es.js
9368
9368
  var error11 = () => {
9369
9369
  const Sizable = {
9370
9370
  string: { unit: "caracteres", verb: "tener" },
@@ -9496,7 +9496,7 @@ function es_default() {
9496
9496
  localeError: error11()
9497
9497
  };
9498
9498
  }
9499
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fa.js
9499
+ // ../../node_modules/zod/v4/locales/fa.js
9500
9500
  var error12 = () => {
9501
9501
  const Sizable = {
9502
9502
  string: { unit: "کاراکتر", verb: "داشته باشد" },
@@ -9610,7 +9610,7 @@ function fa_default() {
9610
9610
  localeError: error12()
9611
9611
  };
9612
9612
  }
9613
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fi.js
9613
+ // ../../node_modules/zod/v4/locales/fi.js
9614
9614
  var error13 = () => {
9615
9615
  const Sizable = {
9616
9616
  string: { unit: "merkkiä", subject: "merkkijonon" },
@@ -9722,7 +9722,7 @@ function fi_default() {
9722
9722
  localeError: error13()
9723
9723
  };
9724
9724
  }
9725
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fr.js
9725
+ // ../../node_modules/zod/v4/locales/fr.js
9726
9726
  var error14 = () => {
9727
9727
  const Sizable = {
9728
9728
  string: { unit: "caractères", verb: "avoir" },
@@ -9830,7 +9830,7 @@ function fr_default() {
9830
9830
  localeError: error14()
9831
9831
  };
9832
9832
  }
9833
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fr-CA.js
9833
+ // ../../node_modules/zod/v4/locales/fr-CA.js
9834
9834
  var error15 = () => {
9835
9835
  const Sizable = {
9836
9836
  string: { unit: "caractères", verb: "avoir" },
@@ -9937,7 +9937,7 @@ function fr_CA_default() {
9937
9937
  localeError: error15()
9938
9938
  };
9939
9939
  }
9940
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/he.js
9940
+ // ../../node_modules/zod/v4/locales/he.js
9941
9941
  var error16 = () => {
9942
9942
  const TypeNames = {
9943
9943
  string: { label: "מחרוזת", gender: "f" },
@@ -10130,7 +10130,7 @@ function he_default() {
10130
10130
  localeError: error16()
10131
10131
  };
10132
10132
  }
10133
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/hu.js
10133
+ // ../../node_modules/zod/v4/locales/hu.js
10134
10134
  var error17 = () => {
10135
10135
  const Sizable = {
10136
10136
  string: { unit: "karakter", verb: "legyen" },
@@ -10238,7 +10238,7 @@ function hu_default() {
10238
10238
  localeError: error17()
10239
10239
  };
10240
10240
  }
10241
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/hy.js
10241
+ // ../../node_modules/zod/v4/locales/hy.js
10242
10242
  function getArmenianPlural(count, one, many) {
10243
10243
  return Math.abs(count) === 1 ? one : many;
10244
10244
  }
@@ -10385,7 +10385,7 @@ function hy_default() {
10385
10385
  localeError: error18()
10386
10386
  };
10387
10387
  }
10388
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/id.js
10388
+ // ../../node_modules/zod/v4/locales/id.js
10389
10389
  var error19 = () => {
10390
10390
  const Sizable = {
10391
10391
  string: { unit: "karakter", verb: "memiliki" },
@@ -10491,7 +10491,7 @@ function id_default() {
10491
10491
  localeError: error19()
10492
10492
  };
10493
10493
  }
10494
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/is.js
10494
+ // ../../node_modules/zod/v4/locales/is.js
10495
10495
  var error20 = () => {
10496
10496
  const Sizable = {
10497
10497
  string: { unit: "stafi", verb: "að hafa" },
@@ -10600,7 +10600,7 @@ function is_default() {
10600
10600
  localeError: error20()
10601
10601
  };
10602
10602
  }
10603
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/it.js
10603
+ // ../../node_modules/zod/v4/locales/it.js
10604
10604
  var error21 = () => {
10605
10605
  const Sizable = {
10606
10606
  string: { unit: "caratteri", verb: "avere" },
@@ -10708,7 +10708,7 @@ function it_default() {
10708
10708
  localeError: error21()
10709
10709
  };
10710
10710
  }
10711
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ja.js
10711
+ // ../../node_modules/zod/v4/locales/ja.js
10712
10712
  var error22 = () => {
10713
10713
  const Sizable = {
10714
10714
  string: { unit: "文字", verb: "である" },
@@ -10815,7 +10815,7 @@ function ja_default() {
10815
10815
  localeError: error22()
10816
10816
  };
10817
10817
  }
10818
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ka.js
10818
+ // ../../node_modules/zod/v4/locales/ka.js
10819
10819
  var error23 = () => {
10820
10820
  const Sizable = {
10821
10821
  string: { unit: "სიმბოლო", verb: "უნდა შეიცავდეს" },
@@ -10927,7 +10927,7 @@ function ka_default() {
10927
10927
  localeError: error23()
10928
10928
  };
10929
10929
  }
10930
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/km.js
10930
+ // ../../node_modules/zod/v4/locales/km.js
10931
10931
  var error24 = () => {
10932
10932
  const Sizable = {
10933
10933
  string: { unit: "តួអក្សរ", verb: "គួរមាន" },
@@ -11038,11 +11038,11 @@ function km_default() {
11038
11038
  };
11039
11039
  }
11040
11040
 
11041
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/kh.js
11041
+ // ../../node_modules/zod/v4/locales/kh.js
11042
11042
  function kh_default() {
11043
11043
  return km_default();
11044
11044
  }
11045
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ko.js
11045
+ // ../../node_modules/zod/v4/locales/ko.js
11046
11046
  var error25 = () => {
11047
11047
  const Sizable = {
11048
11048
  string: { unit: "문자", verb: "to have" },
@@ -11153,7 +11153,7 @@ function ko_default() {
11153
11153
  localeError: error25()
11154
11154
  };
11155
11155
  }
11156
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/lt.js
11156
+ // ../../node_modules/zod/v4/locales/lt.js
11157
11157
  var capitalizeFirstCharacter = (text) => {
11158
11158
  return text.charAt(0).toUpperCase() + text.slice(1);
11159
11159
  };
@@ -11356,7 +11356,7 @@ function lt_default() {
11356
11356
  localeError: error26()
11357
11357
  };
11358
11358
  }
11359
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/mk.js
11359
+ // ../../node_modules/zod/v4/locales/mk.js
11360
11360
  var error27 = () => {
11361
11361
  const Sizable = {
11362
11362
  string: { unit: "знаци", verb: "да имаат" },
@@ -11465,7 +11465,7 @@ function mk_default() {
11465
11465
  localeError: error27()
11466
11466
  };
11467
11467
  }
11468
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ms.js
11468
+ // ../../node_modules/zod/v4/locales/ms.js
11469
11469
  var error28 = () => {
11470
11470
  const Sizable = {
11471
11471
  string: { unit: "aksara", verb: "mempunyai" },
@@ -11572,7 +11572,7 @@ function ms_default() {
11572
11572
  localeError: error28()
11573
11573
  };
11574
11574
  }
11575
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/nl.js
11575
+ // ../../node_modules/zod/v4/locales/nl.js
11576
11576
  var error29 = () => {
11577
11577
  const Sizable = {
11578
11578
  string: { unit: "tekens", verb: "heeft" },
@@ -11682,7 +11682,7 @@ function nl_default() {
11682
11682
  localeError: error29()
11683
11683
  };
11684
11684
  }
11685
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/no.js
11685
+ // ../../node_modules/zod/v4/locales/no.js
11686
11686
  var error30 = () => {
11687
11687
  const Sizable = {
11688
11688
  string: { unit: "tegn", verb: "å ha" },
@@ -11790,7 +11790,7 @@ function no_default() {
11790
11790
  localeError: error30()
11791
11791
  };
11792
11792
  }
11793
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ota.js
11793
+ // ../../node_modules/zod/v4/locales/ota.js
11794
11794
  var error31 = () => {
11795
11795
  const Sizable = {
11796
11796
  string: { unit: "harf", verb: "olmalıdır" },
@@ -11899,7 +11899,7 @@ function ota_default() {
11899
11899
  localeError: error31()
11900
11900
  };
11901
11901
  }
11902
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ps.js
11902
+ // ../../node_modules/zod/v4/locales/ps.js
11903
11903
  var error32 = () => {
11904
11904
  const Sizable = {
11905
11905
  string: { unit: "توکي", verb: "ولري" },
@@ -12013,7 +12013,7 @@ function ps_default() {
12013
12013
  localeError: error32()
12014
12014
  };
12015
12015
  }
12016
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/pl.js
12016
+ // ../../node_modules/zod/v4/locales/pl.js
12017
12017
  var error33 = () => {
12018
12018
  const Sizable = {
12019
12019
  string: { unit: "znaków", verb: "mieć" },
@@ -12122,7 +12122,7 @@ function pl_default() {
12122
12122
  localeError: error33()
12123
12123
  };
12124
12124
  }
12125
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/pt.js
12125
+ // ../../node_modules/zod/v4/locales/pt.js
12126
12126
  var error34 = () => {
12127
12127
  const Sizable = {
12128
12128
  string: { unit: "caracteres", verb: "ter" },
@@ -12230,7 +12230,7 @@ function pt_default() {
12230
12230
  localeError: error34()
12231
12231
  };
12232
12232
  }
12233
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ru.js
12233
+ // ../../node_modules/zod/v4/locales/ru.js
12234
12234
  function getRussianPlural(count, one, few, many) {
12235
12235
  const absCount = Math.abs(count);
12236
12236
  const lastDigit = absCount % 10;
@@ -12386,7 +12386,7 @@ function ru_default() {
12386
12386
  localeError: error35()
12387
12387
  };
12388
12388
  }
12389
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/sl.js
12389
+ // ../../node_modules/zod/v4/locales/sl.js
12390
12390
  var error36 = () => {
12391
12391
  const Sizable = {
12392
12392
  string: { unit: "znakov", verb: "imeti" },
@@ -12495,7 +12495,7 @@ function sl_default() {
12495
12495
  localeError: error36()
12496
12496
  };
12497
12497
  }
12498
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/sv.js
12498
+ // ../../node_modules/zod/v4/locales/sv.js
12499
12499
  var error37 = () => {
12500
12500
  const Sizable = {
12501
12501
  string: { unit: "tecken", verb: "att ha" },
@@ -12605,7 +12605,7 @@ function sv_default() {
12605
12605
  localeError: error37()
12606
12606
  };
12607
12607
  }
12608
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ta.js
12608
+ // ../../node_modules/zod/v4/locales/ta.js
12609
12609
  var error38 = () => {
12610
12610
  const Sizable = {
12611
12611
  string: { unit: "எழுத்துக்கள்", verb: "கொண்டிருக்க வேண்டும்" },
@@ -12715,7 +12715,7 @@ function ta_default() {
12715
12715
  localeError: error38()
12716
12716
  };
12717
12717
  }
12718
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/th.js
12718
+ // ../../node_modules/zod/v4/locales/th.js
12719
12719
  var error39 = () => {
12720
12720
  const Sizable = {
12721
12721
  string: { unit: "ตัวอักษร", verb: "ควรมี" },
@@ -12825,7 +12825,7 @@ function th_default() {
12825
12825
  localeError: error39()
12826
12826
  };
12827
12827
  }
12828
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/tr.js
12828
+ // ../../node_modules/zod/v4/locales/tr.js
12829
12829
  var error40 = () => {
12830
12830
  const Sizable = {
12831
12831
  string: { unit: "karakter", verb: "olmalı" },
@@ -12930,7 +12930,7 @@ function tr_default() {
12930
12930
  localeError: error40()
12931
12931
  };
12932
12932
  }
12933
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/uk.js
12933
+ // ../../node_modules/zod/v4/locales/uk.js
12934
12934
  var error41 = () => {
12935
12935
  const Sizable = {
12936
12936
  string: { unit: "символів", verb: "матиме" },
@@ -13039,11 +13039,11 @@ function uk_default() {
13039
13039
  };
13040
13040
  }
13041
13041
 
13042
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ua.js
13042
+ // ../../node_modules/zod/v4/locales/ua.js
13043
13043
  function ua_default() {
13044
13044
  return uk_default();
13045
13045
  }
13046
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ur.js
13046
+ // ../../node_modules/zod/v4/locales/ur.js
13047
13047
  var error42 = () => {
13048
13048
  const Sizable = {
13049
13049
  string: { unit: "حروف", verb: "ہونا" },
@@ -13153,7 +13153,7 @@ function ur_default() {
13153
13153
  localeError: error42()
13154
13154
  };
13155
13155
  }
13156
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/uz.js
13156
+ // ../../node_modules/zod/v4/locales/uz.js
13157
13157
  var error43 = () => {
13158
13158
  const Sizable = {
13159
13159
  string: { unit: "belgi", verb: "bo‘lishi kerak" },
@@ -13262,7 +13262,7 @@ function uz_default() {
13262
13262
  localeError: error43()
13263
13263
  };
13264
13264
  }
13265
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/vi.js
13265
+ // ../../node_modules/zod/v4/locales/vi.js
13266
13266
  var error44 = () => {
13267
13267
  const Sizable = {
13268
13268
  string: { unit: "ký tự", verb: "có" },
@@ -13370,7 +13370,7 @@ function vi_default() {
13370
13370
  localeError: error44()
13371
13371
  };
13372
13372
  }
13373
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/zh-CN.js
13373
+ // ../../node_modules/zod/v4/locales/zh-CN.js
13374
13374
  var error45 = () => {
13375
13375
  const Sizable = {
13376
13376
  string: { unit: "字符", verb: "包含" },
@@ -13479,7 +13479,7 @@ function zh_CN_default() {
13479
13479
  localeError: error45()
13480
13480
  };
13481
13481
  }
13482
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/zh-TW.js
13482
+ // ../../node_modules/zod/v4/locales/zh-TW.js
13483
13483
  var error46 = () => {
13484
13484
  const Sizable = {
13485
13485
  string: { unit: "字元", verb: "擁有" },
@@ -13586,7 +13586,7 @@ function zh_TW_default() {
13586
13586
  localeError: error46()
13587
13587
  };
13588
13588
  }
13589
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/yo.js
13589
+ // ../../node_modules/zod/v4/locales/yo.js
13590
13590
  var error47 = () => {
13591
13591
  const Sizable = {
13592
13592
  string: { unit: "àmi", verb: "ní" },
@@ -13693,7 +13693,7 @@ function yo_default() {
13693
13693
  localeError: error47()
13694
13694
  };
13695
13695
  }
13696
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/registries.js
13696
+ // ../../node_modules/zod/v4/core/registries.js
13697
13697
  var _a;
13698
13698
  var $output = Symbol("ZodOutput");
13699
13699
  var $input = Symbol("ZodInput");
@@ -13743,7 +13743,7 @@ function registry() {
13743
13743
  }
13744
13744
  (_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());
13745
13745
  var globalRegistry = globalThis.__zod_globalRegistry;
13746
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/api.js
13746
+ // ../../node_modules/zod/v4/core/api.js
13747
13747
  function _string(Class2, params) {
13748
13748
  return new Class2({
13749
13749
  type: "string",
@@ -14663,7 +14663,7 @@ function _stringFormat(Class2, format, fnOrRegex, _params = {}) {
14663
14663
  const inst = new Class2(def);
14664
14664
  return inst;
14665
14665
  }
14666
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.js
14666
+ // ../../node_modules/zod/v4/core/to-json-schema.js
14667
14667
  function initializeContext(params) {
14668
14668
  let target = params?.target ?? "draft-2020-12";
14669
14669
  if (target === "draft-4")
@@ -15008,7 +15008,7 @@ var createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) =
15008
15008
  extractDefs(ctx, schema);
15009
15009
  return finalize(ctx, schema);
15010
15010
  };
15011
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.js
15011
+ // ../../node_modules/zod/v4/core/json-schema-processors.js
15012
15012
  var formatMap = {
15013
15013
  guid: "uuid",
15014
15014
  url: "uri",
@@ -15553,7 +15553,7 @@ function toJSONSchema(input, params) {
15553
15553
  extractDefs(ctx, input);
15554
15554
  return finalize(ctx, input);
15555
15555
  }
15556
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.js
15556
+ // ../../node_modules/zod/v4/core/json-schema-generator.js
15557
15557
  class JSONSchemaGenerator {
15558
15558
  get metadataRegistry() {
15559
15559
  return this.ctx.metadataRegistry;
@@ -15612,9 +15612,9 @@ class JSONSchemaGenerator {
15612
15612
  return plainResult;
15613
15613
  }
15614
15614
  }
15615
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema.js
15615
+ // ../../node_modules/zod/v4/core/json-schema.js
15616
15616
  var exports_json_schema = {};
15617
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/schemas.js
15617
+ // ../../node_modules/zod/v4/classic/schemas.js
15618
15618
  var exports_schemas2 = {};
15619
15619
  __export(exports_schemas2, {
15620
15620
  xor: () => xor,
@@ -15783,7 +15783,7 @@ __export(exports_schemas2, {
15783
15783
  ZodAny: () => ZodAny
15784
15784
  });
15785
15785
 
15786
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/checks.js
15786
+ // ../../node_modules/zod/v4/classic/checks.js
15787
15787
  var exports_checks2 = {};
15788
15788
  __export(exports_checks2, {
15789
15789
  uppercase: () => _uppercase,
@@ -15817,7 +15817,7 @@ __export(exports_checks2, {
15817
15817
  endsWith: () => _endsWith
15818
15818
  });
15819
15819
 
15820
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/iso.js
15820
+ // ../../node_modules/zod/v4/classic/iso.js
15821
15821
  var exports_iso = {};
15822
15822
  __export(exports_iso, {
15823
15823
  time: () => time2,
@@ -15858,7 +15858,7 @@ function duration2(params) {
15858
15858
  return _isoDuration(ZodISODuration, params);
15859
15859
  }
15860
15860
 
15861
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/errors.js
15861
+ // ../../node_modules/zod/v4/classic/errors.js
15862
15862
  var initializer2 = (inst, issues) => {
15863
15863
  $ZodError.init(inst, issues);
15864
15864
  inst.name = "ZodError";
@@ -15893,7 +15893,7 @@ var ZodRealError = $constructor("ZodError", initializer2, {
15893
15893
  Parent: Error
15894
15894
  });
15895
15895
 
15896
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/parse.js
15896
+ // ../../node_modules/zod/v4/classic/parse.js
15897
15897
  var parse3 = /* @__PURE__ */ _parse(ZodRealError);
15898
15898
  var parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError);
15899
15899
  var safeParse2 = /* @__PURE__ */ _safeParse(ZodRealError);
@@ -15907,7 +15907,7 @@ var safeDecode2 = /* @__PURE__ */ _safeDecode(ZodRealError);
15907
15907
  var safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
15908
15908
  var safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
15909
15909
 
15910
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/schemas.js
15910
+ // ../../node_modules/zod/v4/classic/schemas.js
15911
15911
  var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
15912
15912
  $ZodType.init(inst, def);
15913
15913
  Object.assign(inst["~standard"], {
@@ -16983,7 +16983,7 @@ function json(params) {
16983
16983
  function preprocess(fn, schema) {
16984
16984
  return pipe(transform(fn), schema);
16985
16985
  }
16986
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/compat.js
16986
+ // ../../node_modules/zod/v4/classic/compat.js
16987
16987
  var ZodIssueCode = {
16988
16988
  invalid_type: "invalid_type",
16989
16989
  too_big: "too_big",
@@ -17007,7 +17007,7 @@ function getErrorMap() {
17007
17007
  }
17008
17008
  var ZodFirstPartyTypeKind;
17009
17009
  (function(ZodFirstPartyTypeKind2) {})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
17010
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.js
17010
+ // ../../node_modules/zod/v4/classic/from-json-schema.js
17011
17011
  var z = {
17012
17012
  ...exports_schemas2,
17013
17013
  ...exports_checks2,
@@ -17468,7 +17468,7 @@ function fromJSONSchema(schema, params) {
17468
17468
  };
17469
17469
  return convertSchema(schema, ctx);
17470
17470
  }
17471
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/coerce.js
17471
+ // ../../node_modules/zod/v4/classic/coerce.js
17472
17472
  var exports_coerce = {};
17473
17473
  __export(exports_coerce, {
17474
17474
  string: () => string3,
@@ -17493,9 +17493,9 @@ function date4(params) {
17493
17493
  return _coercedDate(ZodDate, params);
17494
17494
  }
17495
17495
 
17496
- // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/external.js
17496
+ // ../../node_modules/zod/v4/classic/external.js
17497
17497
  config(en_default());
17498
- // ../../node_modules/.bun/kleur@4.1.5/node_modules/kleur/colors.mjs
17498
+ // ../../node_modules/kleur/colors.mjs
17499
17499
  var FORCE_COLOR;
17500
17500
  var NODE_DISABLE_COLORS;
17501
17501
  var NO_COLOR;
@@ -17615,7 +17615,7 @@ var add = new Command().name("add").description("add a component or feature to a
17615
17615
  import { readFile, writeFile } from "node:fs/promises";
17616
17616
  import { join as join2, resolve as resolve2 } from "node:path";
17617
17617
 
17618
- // ../../node_modules/.bun/@clack+core@1.0.1/node_modules/@clack/core/dist/index.mjs
17618
+ // ../../node_modules/@clack/core/dist/index.mjs
17619
17619
  var import_picocolors = __toESM(require_picocolors(), 1);
17620
17620
  import { stdout as R, stdin as q } from "node:process";
17621
17621
  var import_sisteransi = __toESM(require_src(), 1);
@@ -18209,7 +18209,7 @@ class $t extends x {
18209
18209
  }
18210
18210
  }
18211
18211
 
18212
- // ../../node_modules/.bun/@clack+prompts@1.0.1/node_modules/@clack/prompts/dist/index.mjs
18212
+ // ../../node_modules/@clack/prompts/dist/index.mjs
18213
18213
  var import_picocolors2 = __toESM(require_picocolors(), 1);
18214
18214
  import N2 from "node:process";
18215
18215
  var import_sisteransi2 = __toESM(require_src(), 1);
@@ -18677,22 +18677,52 @@ var multiProviderDefaults = {
18677
18677
  "xai/grok-4"
18678
18678
  ],
18679
18679
  anonymousModels: ["google/gemini-2.5-flash-lite", "openai/gpt-5-nano"],
18680
- defaults: {
18680
+ workflows: {
18681
18681
  chat: "openai/gpt-5-mini",
18682
18682
  title: "openai/gpt-5-nano",
18683
18683
  pdf: "openai/gpt-5-mini",
18684
- artifact: "openai/gpt-5-nano",
18685
- artifactSuggestion: "openai/gpt-5-mini",
18686
- followupSuggestions: "google/gemini-2.5-flash-lite",
18687
- suggestions: "openai/gpt-5-mini",
18688
- polishText: "openai/gpt-5-mini",
18689
- formatSheet: "openai/gpt-5-mini",
18690
- analyzeSheet: "openai/gpt-5-mini",
18691
- codeEdits: "openai/gpt-5-mini",
18692
- chatImageCompatible: "openai/gpt-4o-mini",
18693
- image: "google/gemini-3-pro-image",
18694
- deepResearch: "google/gemini-2.5-flash-lite",
18695
- deepResearchFinalReport: "google/gemini-3-flash"
18684
+ chatImageCompatible: "openai/gpt-4o-mini"
18685
+ },
18686
+ tools: {
18687
+ webSearch: {
18688
+ enabled: false
18689
+ },
18690
+ urlRetrieval: {
18691
+ enabled: false
18692
+ },
18693
+ codeExecution: {
18694
+ enabled: false
18695
+ },
18696
+ mcp: {
18697
+ enabled: false
18698
+ },
18699
+ followupSuggestions: {
18700
+ enabled: false,
18701
+ default: "google/gemini-2.5-flash-lite"
18702
+ },
18703
+ text: {
18704
+ polish: "openai/gpt-5-mini"
18705
+ },
18706
+ sheet: {
18707
+ format: "openai/gpt-5-mini",
18708
+ analyze: "openai/gpt-5-mini"
18709
+ },
18710
+ code: {
18711
+ edits: "openai/gpt-5-mini"
18712
+ },
18713
+ image: {
18714
+ enabled: false,
18715
+ default: "google/gemini-3-pro-image"
18716
+ },
18717
+ deepResearch: {
18718
+ enabled: false,
18719
+ defaultModel: "google/gemini-2.5-flash-lite",
18720
+ finalReportModel: "google/gemini-3-flash",
18721
+ allowClarification: true,
18722
+ maxResearcherIterations: 1,
18723
+ maxConcurrentResearchUnits: 2,
18724
+ maxSearchQueries: 2
18725
+ }
18696
18726
  }
18697
18727
  };
18698
18728
  var openaiOnlyDefaults = {
@@ -18705,22 +18735,52 @@ var openaiOnlyDefaults = {
18705
18735
  "gpt-5.2-chat-latest"
18706
18736
  ],
18707
18737
  anonymousModels: ["gpt-5-nano"],
18708
- defaults: {
18738
+ workflows: {
18709
18739
  chat: "gpt-5-mini",
18710
18740
  title: "gpt-5-nano",
18711
18741
  pdf: "gpt-5-mini",
18712
- artifact: "gpt-5-nano",
18713
- artifactSuggestion: "gpt-5-mini",
18714
- followupSuggestions: "gpt-5-nano",
18715
- suggestions: "gpt-5-mini",
18716
- polishText: "gpt-5-mini",
18717
- formatSheet: "gpt-5-mini",
18718
- analyzeSheet: "gpt-5-mini",
18719
- codeEdits: "gpt-5-mini",
18720
- chatImageCompatible: "gpt-4o-mini",
18721
- image: "gpt-image-1",
18722
- deepResearch: "gpt-5-nano",
18723
- deepResearchFinalReport: "gpt-5-mini"
18742
+ chatImageCompatible: "gpt-4o-mini"
18743
+ },
18744
+ tools: {
18745
+ webSearch: {
18746
+ enabled: false
18747
+ },
18748
+ urlRetrieval: {
18749
+ enabled: false
18750
+ },
18751
+ codeExecution: {
18752
+ enabled: false
18753
+ },
18754
+ mcp: {
18755
+ enabled: false
18756
+ },
18757
+ followupSuggestions: {
18758
+ enabled: false,
18759
+ default: "gpt-5-nano"
18760
+ },
18761
+ text: {
18762
+ polish: "gpt-5-mini"
18763
+ },
18764
+ sheet: {
18765
+ format: "gpt-5-mini",
18766
+ analyze: "gpt-5-mini"
18767
+ },
18768
+ code: {
18769
+ edits: "gpt-5-mini"
18770
+ },
18771
+ image: {
18772
+ enabled: false,
18773
+ default: "gpt-image-1"
18774
+ },
18775
+ deepResearch: {
18776
+ enabled: false,
18777
+ defaultModel: "gpt-5-nano",
18778
+ finalReportModel: "gpt-5-mini",
18779
+ allowClarification: true,
18780
+ maxResearcherIterations: 1,
18781
+ maxConcurrentResearchUnits: 2,
18782
+ maxSearchQueries: 2
18783
+ }
18724
18784
  }
18725
18785
  };
18726
18786
  var GATEWAY_MODEL_DEFAULTS = {
@@ -18739,39 +18799,80 @@ function gatewayModelId() {
18739
18799
  function gatewayImageModelId() {
18740
18800
  return exports_external.custom((v) => typeof v === "string");
18741
18801
  }
18742
- function createModelsSchema(g) {
18802
+ function gatewayVideoModelId() {
18803
+ return exports_external.custom((v) => typeof v === "string");
18804
+ }
18805
+ var deepResearchToolConfigSchema = exports_external.object({
18806
+ defaultModel: exports_external.string(),
18807
+ finalReportModel: exports_external.string(),
18808
+ allowClarification: exports_external.boolean().describe("Whether to ask clarifying questions before starting research"),
18809
+ maxResearcherIterations: exports_external.number().int().min(1).max(10).describe("Maximum supervisor loop iterations"),
18810
+ maxConcurrentResearchUnits: exports_external.number().int().min(1).max(20).describe("Topics researched in parallel per iteration"),
18811
+ maxSearchQueries: exports_external.number().int().min(1).max(10).describe("Max search queries per research topic")
18812
+ });
18813
+ function createAiSchema(g) {
18743
18814
  return exports_external.object({
18744
18815
  gateway: exports_external.literal(g),
18745
18816
  providerOrder: exports_external.array(exports_external.string()).describe("Provider sort order in model selector"),
18746
18817
  disabledModels: exports_external.array(gatewayModelId()).describe("Models to hide from all users"),
18747
18818
  curatedDefaults: exports_external.array(gatewayModelId()).describe("Default models enabled for new users"),
18748
18819
  anonymousModels: exports_external.array(gatewayModelId()).describe("Models available to anonymous users"),
18749
- defaults: exports_external.object({
18820
+ workflows: exports_external.object({
18750
18821
  chat: gatewayModelId(),
18751
18822
  title: gatewayModelId(),
18752
18823
  pdf: gatewayModelId(),
18753
- artifact: gatewayModelId(),
18754
- artifactSuggestion: gatewayModelId(),
18755
- followupSuggestions: gatewayModelId(),
18756
- suggestions: gatewayModelId(),
18757
- polishText: gatewayModelId(),
18758
- formatSheet: gatewayModelId(),
18759
- analyzeSheet: gatewayModelId(),
18760
- codeEdits: gatewayModelId(),
18761
- chatImageCompatible: gatewayModelId(),
18762
- image: gatewayImageModelId(),
18763
- deepResearch: gatewayModelId(),
18764
- deepResearchFinalReport: gatewayModelId()
18765
- }).describe("Default model for each task type")
18824
+ chatImageCompatible: gatewayModelId()
18825
+ }).describe("Default model for shared app workflows"),
18826
+ tools: exports_external.object({
18827
+ webSearch: exports_external.object({
18828
+ enabled: exports_external.boolean()
18829
+ }),
18830
+ urlRetrieval: exports_external.object({
18831
+ enabled: exports_external.boolean()
18832
+ }),
18833
+ codeExecution: exports_external.object({
18834
+ enabled: exports_external.boolean()
18835
+ }),
18836
+ mcp: exports_external.object({
18837
+ enabled: exports_external.boolean()
18838
+ }),
18839
+ followupSuggestions: exports_external.object({
18840
+ enabled: exports_external.boolean(),
18841
+ default: gatewayModelId()
18842
+ }),
18843
+ text: exports_external.object({
18844
+ polish: gatewayModelId()
18845
+ }),
18846
+ sheet: exports_external.object({
18847
+ format: gatewayModelId(),
18848
+ analyze: gatewayModelId()
18849
+ }),
18850
+ code: exports_external.object({
18851
+ edits: gatewayModelId()
18852
+ }),
18853
+ image: exports_external.object({
18854
+ enabled: exports_external.boolean(),
18855
+ default: gatewayImageModelId()
18856
+ }),
18857
+ video: exports_external.object({
18858
+ enabled: exports_external.boolean(),
18859
+ default: gatewayVideoModelId()
18860
+ }),
18861
+ deepResearch: deepResearchToolConfigSchema.extend({
18862
+ enabled: exports_external.boolean(),
18863
+ defaultModel: gatewayModelId(),
18864
+ finalReportModel: gatewayModelId()
18865
+ })
18866
+ }).describe("Default model and runtime configuration grouped by tool")
18766
18867
  });
18767
18868
  }
18768
18869
  var gatewaySchemaMap = {
18769
- vercel: createModelsSchema("vercel"),
18770
- openrouter: createModelsSchema("openrouter"),
18771
- openai: createModelsSchema("openai"),
18772
- "openai-compatible": createModelsSchema("openai-compatible")
18870
+ vercel: createAiSchema("vercel"),
18871
+ openrouter: createAiSchema("openrouter"),
18872
+ openai: createAiSchema("openai"),
18873
+ "openai-compatible": createAiSchema("openai-compatible")
18773
18874
  };
18774
- var modelsConfigSchema = exports_external.discriminatedUnion("gateway", [
18875
+ var aiConfigSchema = exports_external.discriminatedUnion("gateway", [
18775
18876
  gatewaySchemaMap.vercel,
18776
18877
  gatewaySchemaMap.openrouter,
18777
18878
  gatewaySchemaMap.openai,
@@ -18793,22 +18894,56 @@ var modelsConfigSchema = exports_external.discriminatedUnion("gateway", [
18793
18894
  "xai/grok-4"
18794
18895
  ],
18795
18896
  anonymousModels: ["google/gemini-2.5-flash-lite", "openai/gpt-5-nano"],
18796
- defaults: {
18897
+ workflows: {
18797
18898
  chat: "openai/gpt-5-mini",
18798
18899
  title: "openai/gpt-5-nano",
18799
18900
  pdf: "openai/gpt-5-mini",
18800
- artifact: "openai/gpt-5-nano",
18801
- artifactSuggestion: "openai/gpt-5-mini",
18802
- followupSuggestions: "google/gemini-2.5-flash-lite",
18803
- suggestions: "openai/gpt-5-mini",
18804
- polishText: "openai/gpt-5-mini",
18805
- formatSheet: "openai/gpt-5-mini",
18806
- analyzeSheet: "openai/gpt-5-mini",
18807
- codeEdits: "openai/gpt-5-mini",
18808
- chatImageCompatible: "openai/gpt-4o-mini",
18809
- image: "google/gemini-3-pro-image",
18810
- deepResearch: "google/gemini-2.5-flash-lite",
18811
- deepResearchFinalReport: "google/gemini-3-flash"
18901
+ chatImageCompatible: "openai/gpt-4o-mini"
18902
+ },
18903
+ tools: {
18904
+ webSearch: {
18905
+ enabled: false
18906
+ },
18907
+ urlRetrieval: {
18908
+ enabled: false
18909
+ },
18910
+ codeExecution: {
18911
+ enabled: false
18912
+ },
18913
+ mcp: {
18914
+ enabled: false
18915
+ },
18916
+ followupSuggestions: {
18917
+ enabled: false,
18918
+ default: "google/gemini-2.5-flash-lite"
18919
+ },
18920
+ text: {
18921
+ polish: "openai/gpt-5-mini"
18922
+ },
18923
+ sheet: {
18924
+ format: "openai/gpt-5-mini",
18925
+ analyze: "openai/gpt-5-mini"
18926
+ },
18927
+ code: {
18928
+ edits: "openai/gpt-5-mini"
18929
+ },
18930
+ image: {
18931
+ enabled: false,
18932
+ default: "google/gemini-3-pro-image"
18933
+ },
18934
+ video: {
18935
+ enabled: false,
18936
+ default: "xai/grok-imagine-video"
18937
+ },
18938
+ deepResearch: {
18939
+ enabled: false,
18940
+ defaultModel: "google/gemini-2.5-flash-lite",
18941
+ finalReportModel: "google/gemini-3-flash",
18942
+ allowClarification: true,
18943
+ maxResearcherIterations: 1,
18944
+ maxConcurrentResearchUnits: 2,
18945
+ maxSearchQueries: 2
18946
+ }
18812
18947
  }
18813
18948
  });
18814
18949
  var pricingConfigSchema = exports_external.object({
@@ -18855,35 +18990,10 @@ var attachmentsConfigSchema = exports_external.object({
18855
18990
  "application/pdf": [".pdf"]
18856
18991
  }
18857
18992
  });
18858
- var deepResearchConfigSchema = exports_external.object({
18859
- allowClarification: exports_external.boolean().describe("Whether to ask clarifying questions before starting research"),
18860
- maxResearcherIterations: exports_external.number().int().min(1).max(10).describe("Maximum supervisor loop iterations"),
18861
- maxConcurrentResearchUnits: exports_external.number().int().min(1).max(20).describe("Topics researched in parallel per iteration"),
18862
- maxSearchQueries: exports_external.number().int().min(1).max(10).describe("Max search queries per research topic")
18863
- }).default({
18864
- allowClarification: true,
18865
- maxResearcherIterations: 1,
18866
- maxConcurrentResearchUnits: 2,
18867
- maxSearchQueries: 2
18868
- });
18869
18993
  var featuresConfigSchema = exports_external.object({
18870
- sandbox: exports_external.boolean().describe("Code sandbox execution (Vercel-native)"),
18871
- webSearch: exports_external.boolean().describe("Web search (requires TAVILY_API_KEY)"),
18872
- urlRetrieval: exports_external.boolean().describe("URL content retrieval (requires FIRECRAWL_API_KEY)"),
18873
- deepResearch: exports_external.boolean().describe("Deep research agent (requires webSearch)"),
18874
- mcp: exports_external.boolean().describe("MCP tool servers (requires MCP_ENCRYPTION_KEY)"),
18875
- imageGeneration: exports_external.boolean().describe("AI image generation (requires BLOB_READ_WRITE_TOKEN)"),
18876
- attachments: exports_external.boolean().describe("File attachments (requires BLOB_READ_WRITE_TOKEN)"),
18877
- followupSuggestions: exports_external.boolean().describe("Follow-up question suggestions after AI responses")
18994
+ attachments: exports_external.boolean().describe("File attachments (requires BLOB_READ_WRITE_TOKEN)")
18878
18995
  }).default({
18879
- sandbox: false,
18880
- webSearch: false,
18881
- urlRetrieval: false,
18882
- deepResearch: false,
18883
- mcp: false,
18884
- imageGeneration: false,
18885
- attachments: false,
18886
- followupSuggestions: false
18996
+ attachments: false
18887
18997
  });
18888
18998
  var authenticationConfigSchema = exports_external.object({
18889
18999
  google: exports_external.boolean().describe("Google OAuth (requires AUTH_GOOGLE_ID + AUTH_GOOGLE_SECRET)"),
@@ -18947,10 +19057,9 @@ var configSchema = exports_external.object({
18947
19057
  terms: { title: "Terms of Service" }
18948
19058
  }),
18949
19059
  authentication: authenticationConfigSchema,
18950
- models: modelsConfigSchema,
19060
+ ai: aiConfigSchema,
18951
19061
  anonymous: anonymousConfigSchema,
18952
- attachments: attachmentsConfigSchema,
18953
- deepResearch: deepResearchConfigSchema
19062
+ attachments: attachmentsConfigSchema
18954
19063
  });
18955
19064
 
18956
19065
  // src/helpers/config-builder.ts
@@ -19130,33 +19239,6 @@ var gatewayEnvRequirements = {
19130
19239
  }
19131
19240
  };
19132
19241
  var featureEnvRequirements = {
19133
- webSearch: {
19134
- options: [["TAVILY_API_KEY"], ["FIRECRAWL_API_KEY"]],
19135
- description: "TAVILY_API_KEY or FIRECRAWL_API_KEY"
19136
- },
19137
- deepResearch: {
19138
- options: [["TAVILY_API_KEY"], ["FIRECRAWL_API_KEY"]],
19139
- description: "TAVILY_API_KEY or FIRECRAWL_API_KEY"
19140
- },
19141
- urlRetrieval: {
19142
- options: [["FIRECRAWL_API_KEY"]],
19143
- description: "FIRECRAWL_API_KEY"
19144
- },
19145
- mcp: {
19146
- options: [["MCP_ENCRYPTION_KEY"]],
19147
- description: "MCP_ENCRYPTION_KEY"
19148
- },
19149
- sandbox: {
19150
- options: [
19151
- ["VERCEL_OIDC_TOKEN"],
19152
- ["VERCEL_TEAM_ID", "VERCEL_PROJECT_ID", "VERCEL_TOKEN"]
19153
- ],
19154
- description: "VERCEL_OIDC_TOKEN (auto on Vercel) or VERCEL_TEAM_ID + VERCEL_PROJECT_ID + VERCEL_TOKEN"
19155
- },
19156
- imageGeneration: {
19157
- options: [["BLOB_READ_WRITE_TOKEN"]],
19158
- description: "BLOB_READ_WRITE_TOKEN"
19159
- },
19160
19242
  attachments: {
19161
19243
  options: [["BLOB_READ_WRITE_TOKEN"]],
19162
19244
  description: "BLOB_READ_WRITE_TOKEN"
@@ -19484,10 +19566,10 @@ function inferPackageManager() {
19484
19566
  return "bun";
19485
19567
  }
19486
19568
 
19487
- // ../../node_modules/.bun/ora@8.2.0/node_modules/ora/index.js
19569
+ // ../../node_modules/ora/index.js
19488
19570
  import process10 from "node:process";
19489
19571
 
19490
- // ../../node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js
19572
+ // ../../node_modules/chalk/source/vendor/ansi-styles/index.js
19491
19573
  var ANSI_BACKGROUND_OFFSET = 10;
19492
19574
  var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
19493
19575
  var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
@@ -19664,7 +19746,7 @@ function assembleStyles() {
19664
19746
  var ansiStyles = assembleStyles();
19665
19747
  var ansi_styles_default = ansiStyles;
19666
19748
 
19667
- // ../../node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/vendor/supports-color/index.js
19749
+ // ../../node_modules/chalk/source/vendor/supports-color/index.js
19668
19750
  import process3 from "node:process";
19669
19751
  import os from "node:os";
19670
19752
  import tty from "node:tty";
@@ -19796,7 +19878,7 @@ var supportsColor = {
19796
19878
  };
19797
19879
  var supports_color_default = supportsColor;
19798
19880
 
19799
- // ../../node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/utilities.js
19881
+ // ../../node_modules/chalk/source/utilities.js
19800
19882
  function stringReplaceAll(string4, substring, replacer) {
19801
19883
  let index = string4.indexOf(substring);
19802
19884
  if (index === -1) {
@@ -19829,7 +19911,7 @@ function stringEncaseCRLFWithFirstIndex(string4, prefix, postfix, index) {
19829
19911
  return returnValue;
19830
19912
  }
19831
19913
 
19832
- // ../../node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/index.js
19914
+ // ../../node_modules/chalk/source/index.js
19833
19915
  var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
19834
19916
  var GENERATOR = Symbol("GENERATOR");
19835
19917
  var STYLER = Symbol("STYLER");
@@ -19976,13 +20058,13 @@ var chalk = createChalk();
19976
20058
  var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
19977
20059
  var source_default = chalk;
19978
20060
 
19979
- // ../../node_modules/.bun/cli-cursor@5.0.0/node_modules/cli-cursor/index.js
20061
+ // ../../node_modules/cli-cursor/index.js
19980
20062
  import process6 from "node:process";
19981
20063
 
19982
- // ../../node_modules/.bun/restore-cursor@5.1.0/node_modules/restore-cursor/index.js
20064
+ // ../../node_modules/restore-cursor/index.js
19983
20065
  import process5 from "node:process";
19984
20066
 
19985
- // ../../node_modules/.bun/mimic-function@5.0.1/node_modules/mimic-function/index.js
20067
+ // ../../node_modules/mimic-function/index.js
19986
20068
  var copyProperty = (to, from, property, ignoreNonConfigurable) => {
19987
20069
  if (property === "length" || property === "prototype") {
19988
20070
  return;
@@ -20028,7 +20110,7 @@ function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) {
20028
20110
  return to;
20029
20111
  }
20030
20112
 
20031
- // ../../node_modules/.bun/onetime@7.0.0/node_modules/onetime/index.js
20113
+ // ../../node_modules/onetime/index.js
20032
20114
  var calledFunctions = new WeakMap;
20033
20115
  var onetime = (function_, options = {}) => {
20034
20116
  if (typeof function_ !== "function") {
@@ -20059,7 +20141,7 @@ onetime.callCount = (function_) => {
20059
20141
  };
20060
20142
  var onetime_default = onetime;
20061
20143
 
20062
- // ../../node_modules/.bun/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/signals.js
20144
+ // ../../node_modules/signal-exit/dist/mjs/signals.js
20063
20145
  var signals = [];
20064
20146
  signals.push("SIGHUP", "SIGINT", "SIGTERM");
20065
20147
  if (process.platform !== "win32") {
@@ -20069,7 +20151,7 @@ if (process.platform === "linux") {
20069
20151
  signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
20070
20152
  }
20071
20153
 
20072
- // ../../node_modules/.bun/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/index.js
20154
+ // ../../node_modules/signal-exit/dist/mjs/index.js
20073
20155
  var processOk = (process4) => !!process4 && typeof process4 === "object" && typeof process4.removeListener === "function" && typeof process4.emit === "function" && typeof process4.reallyExit === "function" && typeof process4.listeners === "function" && typeof process4.kill === "function" && typeof process4.pid === "number" && typeof process4.on === "function";
20074
20156
  var kExitEmitter = Symbol.for("signal-exit emitter");
20075
20157
  var global = globalThis;
@@ -20267,7 +20349,7 @@ var {
20267
20349
  unload
20268
20350
  } = signalExitWrap(processOk(process4) ? new SignalExit(process4) : new SignalExitFallback);
20269
20351
 
20270
- // ../../node_modules/.bun/restore-cursor@5.1.0/node_modules/restore-cursor/index.js
20352
+ // ../../node_modules/restore-cursor/index.js
20271
20353
  var terminal = process5.stderr.isTTY ? process5.stderr : process5.stdout.isTTY ? process5.stdout : undefined;
20272
20354
  var restoreCursor = terminal ? onetime_default(() => {
20273
20355
  onExit(() => {
@@ -20276,7 +20358,7 @@ var restoreCursor = terminal ? onetime_default(() => {
20276
20358
  }) : () => {};
20277
20359
  var restore_cursor_default = restoreCursor;
20278
20360
 
20279
- // ../../node_modules/.bun/cli-cursor@5.0.0/node_modules/cli-cursor/index.js
20361
+ // ../../node_modules/cli-cursor/index.js
20280
20362
  var isHidden = false;
20281
20363
  var cliCursor = {};
20282
20364
  cliCursor.show = (writableStream = process6.stderr) => {
@@ -20306,10 +20388,10 @@ cliCursor.toggle = (force, writableStream) => {
20306
20388
  };
20307
20389
  var cli_cursor_default = cliCursor;
20308
20390
 
20309
- // ../../node_modules/.bun/ora@8.2.0/node_modules/ora/index.js
20391
+ // ../../node_modules/ora/index.js
20310
20392
  var import_cli_spinners = __toESM(require_cli_spinners(), 1);
20311
20393
 
20312
- // ../../node_modules/.bun/is-unicode-supported@1.3.0/node_modules/is-unicode-supported/index.js
20394
+ // ../../node_modules/log-symbols/node_modules/is-unicode-supported/index.js
20313
20395
  import process7 from "node:process";
20314
20396
  function isUnicodeSupported() {
20315
20397
  if (process7.platform !== "win32") {
@@ -20318,7 +20400,7 @@ function isUnicodeSupported() {
20318
20400
  return Boolean(process7.env.CI) || Boolean(process7.env.WT_SESSION) || Boolean(process7.env.TERMINUS_SUBLIME) || process7.env.ConEmuTask === "{cmd::Cmder}" || process7.env.TERM_PROGRAM === "Terminus-Sublime" || process7.env.TERM_PROGRAM === "vscode" || process7.env.TERM === "xterm-256color" || process7.env.TERM === "alacritty" || process7.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
20319
20401
  }
20320
20402
 
20321
- // ../../node_modules/.bun/log-symbols@6.0.0/node_modules/log-symbols/index.js
20403
+ // ../../node_modules/log-symbols/index.js
20322
20404
  var main = {
20323
20405
  info: source_default.blue("ℹ"),
20324
20406
  success: source_default.green("✔"),
@@ -20334,7 +20416,7 @@ var fallback = {
20334
20416
  var logSymbols = isUnicodeSupported() ? main : fallback;
20335
20417
  var log_symbols_default = logSymbols;
20336
20418
 
20337
- // ../../node_modules/.bun/ansi-regex@6.2.2/node_modules/ansi-regex/index.js
20419
+ // ../../node_modules/ansi-regex/index.js
20338
20420
  function ansiRegex({ onlyFirst = false } = {}) {
20339
20421
  const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
20340
20422
  const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
@@ -20343,7 +20425,7 @@ function ansiRegex({ onlyFirst = false } = {}) {
20343
20425
  return new RegExp(pattern, onlyFirst ? undefined : "g");
20344
20426
  }
20345
20427
 
20346
- // ../../node_modules/.bun/strip-ansi@7.1.2/node_modules/strip-ansi/index.js
20428
+ // ../../node_modules/strip-ansi/index.js
20347
20429
  var regex = ansiRegex();
20348
20430
  function stripAnsi(string4) {
20349
20431
  if (typeof string4 !== "string") {
@@ -20352,18 +20434,83 @@ function stripAnsi(string4) {
20352
20434
  return string4.replace(regex, "");
20353
20435
  }
20354
20436
 
20355
- // ../../node_modules/.bun/get-east-asian-width@1.4.0/node_modules/get-east-asian-width/lookup.js
20356
- function isAmbiguous(x3) {
20357
- return x3 === 161 || x3 === 164 || x3 === 167 || x3 === 168 || x3 === 170 || x3 === 173 || x3 === 174 || x3 >= 176 && x3 <= 180 || x3 >= 182 && x3 <= 186 || x3 >= 188 && x3 <= 191 || x3 === 198 || x3 === 208 || x3 === 215 || x3 === 216 || x3 >= 222 && x3 <= 225 || x3 === 230 || x3 >= 232 && x3 <= 234 || x3 === 236 || x3 === 237 || x3 === 240 || x3 === 242 || x3 === 243 || x3 >= 247 && x3 <= 250 || x3 === 252 || x3 === 254 || x3 === 257 || x3 === 273 || x3 === 275 || x3 === 283 || x3 === 294 || x3 === 295 || x3 === 299 || x3 >= 305 && x3 <= 307 || x3 === 312 || x3 >= 319 && x3 <= 322 || x3 === 324 || x3 >= 328 && x3 <= 331 || x3 === 333 || x3 === 338 || x3 === 339 || x3 === 358 || x3 === 359 || x3 === 363 || x3 === 462 || x3 === 464 || x3 === 466 || x3 === 468 || x3 === 470 || x3 === 472 || x3 === 474 || x3 === 476 || x3 === 593 || x3 === 609 || x3 === 708 || x3 === 711 || x3 >= 713 && x3 <= 715 || x3 === 717 || x3 === 720 || x3 >= 728 && x3 <= 731 || x3 === 733 || x3 === 735 || x3 >= 768 && x3 <= 879 || x3 >= 913 && x3 <= 929 || x3 >= 931 && x3 <= 937 || x3 >= 945 && x3 <= 961 || x3 >= 963 && x3 <= 969 || x3 === 1025 || x3 >= 1040 && x3 <= 1103 || x3 === 1105 || x3 === 8208 || x3 >= 8211 && x3 <= 8214 || x3 === 8216 || x3 === 8217 || x3 === 8220 || x3 === 8221 || x3 >= 8224 && x3 <= 8226 || x3 >= 8228 && x3 <= 8231 || x3 === 8240 || x3 === 8242 || x3 === 8243 || x3 === 8245 || x3 === 8251 || x3 === 8254 || x3 === 8308 || x3 === 8319 || x3 >= 8321 && x3 <= 8324 || x3 === 8364 || x3 === 8451 || x3 === 8453 || x3 === 8457 || x3 === 8467 || x3 === 8470 || x3 === 8481 || x3 === 8482 || x3 === 8486 || x3 === 8491 || x3 === 8531 || x3 === 8532 || x3 >= 8539 && x3 <= 8542 || x3 >= 8544 && x3 <= 8555 || x3 >= 8560 && x3 <= 8569 || x3 === 8585 || x3 >= 8592 && x3 <= 8601 || x3 === 8632 || x3 === 8633 || x3 === 8658 || x3 === 8660 || x3 === 8679 || x3 === 8704 || x3 === 8706 || x3 === 8707 || x3 === 8711 || x3 === 8712 || x3 === 8715 || x3 === 8719 || x3 === 8721 || x3 === 8725 || x3 === 8730 || x3 >= 8733 && x3 <= 8736 || x3 === 8739 || x3 === 8741 || x3 >= 8743 && x3 <= 8748 || x3 === 8750 || x3 >= 8756 && x3 <= 8759 || x3 === 8764 || x3 === 8765 || x3 === 8776 || x3 === 8780 || x3 === 8786 || x3 === 8800 || x3 === 8801 || x3 >= 8804 && x3 <= 8807 || x3 === 8810 || x3 === 8811 || x3 === 8814 || x3 === 8815 || x3 === 8834 || x3 === 8835 || x3 === 8838 || x3 === 8839 || x3 === 8853 || x3 === 8857 || x3 === 8869 || x3 === 8895 || x3 === 8978 || x3 >= 9312 && x3 <= 9449 || x3 >= 9451 && x3 <= 9547 || x3 >= 9552 && x3 <= 9587 || x3 >= 9600 && x3 <= 9615 || x3 >= 9618 && x3 <= 9621 || x3 === 9632 || x3 === 9633 || x3 >= 9635 && x3 <= 9641 || x3 === 9650 || x3 === 9651 || x3 === 9654 || x3 === 9655 || x3 === 9660 || x3 === 9661 || x3 === 9664 || x3 === 9665 || x3 >= 9670 && x3 <= 9672 || x3 === 9675 || x3 >= 9678 && x3 <= 9681 || x3 >= 9698 && x3 <= 9701 || x3 === 9711 || x3 === 9733 || x3 === 9734 || x3 === 9737 || x3 === 9742 || x3 === 9743 || x3 === 9756 || x3 === 9758 || x3 === 9792 || x3 === 9794 || x3 === 9824 || x3 === 9825 || x3 >= 9827 && x3 <= 9829 || x3 >= 9831 && x3 <= 9834 || x3 === 9836 || x3 === 9837 || x3 === 9839 || x3 === 9886 || x3 === 9887 || x3 === 9919 || x3 >= 9926 && x3 <= 9933 || x3 >= 9935 && x3 <= 9939 || x3 >= 9941 && x3 <= 9953 || x3 === 9955 || x3 === 9960 || x3 === 9961 || x3 >= 9963 && x3 <= 9969 || x3 === 9972 || x3 >= 9974 && x3 <= 9977 || x3 === 9979 || x3 === 9980 || x3 === 9982 || x3 === 9983 || x3 === 10045 || x3 >= 10102 && x3 <= 10111 || x3 >= 11094 && x3 <= 11097 || x3 >= 12872 && x3 <= 12879 || x3 >= 57344 && x3 <= 63743 || x3 >= 65024 && x3 <= 65039 || x3 === 65533 || x3 >= 127232 && x3 <= 127242 || x3 >= 127248 && x3 <= 127277 || x3 >= 127280 && x3 <= 127337 || x3 >= 127344 && x3 <= 127373 || x3 === 127375 || x3 === 127376 || x3 >= 127387 && x3 <= 127404 || x3 >= 917760 && x3 <= 917999 || x3 >= 983040 && x3 <= 1048573 || x3 >= 1048576 && x3 <= 1114109;
20358
- }
20359
- function isFullWidth(x3) {
20360
- return x3 === 12288 || x3 >= 65281 && x3 <= 65376 || x3 >= 65504 && x3 <= 65510;
20361
- }
20362
- function isWide(x3) {
20363
- return x3 >= 4352 && x3 <= 4447 || x3 === 8986 || x3 === 8987 || x3 === 9001 || x3 === 9002 || x3 >= 9193 && x3 <= 9196 || x3 === 9200 || x3 === 9203 || x3 === 9725 || x3 === 9726 || x3 === 9748 || x3 === 9749 || x3 >= 9776 && x3 <= 9783 || x3 >= 9800 && x3 <= 9811 || x3 === 9855 || x3 >= 9866 && x3 <= 9871 || x3 === 9875 || x3 === 9889 || x3 === 9898 || x3 === 9899 || x3 === 9917 || x3 === 9918 || x3 === 9924 || x3 === 9925 || x3 === 9934 || x3 === 9940 || x3 === 9962 || x3 === 9970 || x3 === 9971 || x3 === 9973 || x3 === 9978 || x3 === 9981 || x3 === 9989 || x3 === 9994 || x3 === 9995 || x3 === 10024 || x3 === 10060 || x3 === 10062 || x3 >= 10067 && x3 <= 10069 || x3 === 10071 || x3 >= 10133 && x3 <= 10135 || x3 === 10160 || x3 === 10175 || x3 === 11035 || x3 === 11036 || x3 === 11088 || x3 === 11093 || x3 >= 11904 && x3 <= 11929 || x3 >= 11931 && x3 <= 12019 || x3 >= 12032 && x3 <= 12245 || x3 >= 12272 && x3 <= 12287 || x3 >= 12289 && x3 <= 12350 || x3 >= 12353 && x3 <= 12438 || x3 >= 12441 && x3 <= 12543 || x3 >= 12549 && x3 <= 12591 || x3 >= 12593 && x3 <= 12686 || x3 >= 12688 && x3 <= 12773 || x3 >= 12783 && x3 <= 12830 || x3 >= 12832 && x3 <= 12871 || x3 >= 12880 && x3 <= 42124 || x3 >= 42128 && x3 <= 42182 || x3 >= 43360 && x3 <= 43388 || x3 >= 44032 && x3 <= 55203 || x3 >= 63744 && x3 <= 64255 || x3 >= 65040 && x3 <= 65049 || x3 >= 65072 && x3 <= 65106 || x3 >= 65108 && x3 <= 65126 || x3 >= 65128 && x3 <= 65131 || x3 >= 94176 && x3 <= 94180 || x3 >= 94192 && x3 <= 94198 || x3 >= 94208 && x3 <= 101589 || x3 >= 101631 && x3 <= 101662 || x3 >= 101760 && x3 <= 101874 || x3 >= 110576 && x3 <= 110579 || x3 >= 110581 && x3 <= 110587 || x3 === 110589 || x3 === 110590 || x3 >= 110592 && x3 <= 110882 || x3 === 110898 || x3 >= 110928 && x3 <= 110930 || x3 === 110933 || x3 >= 110948 && x3 <= 110951 || x3 >= 110960 && x3 <= 111355 || x3 >= 119552 && x3 <= 119638 || x3 >= 119648 && x3 <= 119670 || x3 === 126980 || x3 === 127183 || x3 === 127374 || x3 >= 127377 && x3 <= 127386 || x3 >= 127488 && x3 <= 127490 || x3 >= 127504 && x3 <= 127547 || x3 >= 127552 && x3 <= 127560 || x3 === 127568 || x3 === 127569 || x3 >= 127584 && x3 <= 127589 || x3 >= 127744 && x3 <= 127776 || x3 >= 127789 && x3 <= 127797 || x3 >= 127799 && x3 <= 127868 || x3 >= 127870 && x3 <= 127891 || x3 >= 127904 && x3 <= 127946 || x3 >= 127951 && x3 <= 127955 || x3 >= 127968 && x3 <= 127984 || x3 === 127988 || x3 >= 127992 && x3 <= 128062 || x3 === 128064 || x3 >= 128066 && x3 <= 128252 || x3 >= 128255 && x3 <= 128317 || x3 >= 128331 && x3 <= 128334 || x3 >= 128336 && x3 <= 128359 || x3 === 128378 || x3 === 128405 || x3 === 128406 || x3 === 128420 || x3 >= 128507 && x3 <= 128591 || x3 >= 128640 && x3 <= 128709 || x3 === 128716 || x3 >= 128720 && x3 <= 128722 || x3 >= 128725 && x3 <= 128728 || x3 >= 128732 && x3 <= 128735 || x3 === 128747 || x3 === 128748 || x3 >= 128756 && x3 <= 128764 || x3 >= 128992 && x3 <= 129003 || x3 === 129008 || x3 >= 129292 && x3 <= 129338 || x3 >= 129340 && x3 <= 129349 || x3 >= 129351 && x3 <= 129535 || x3 >= 129648 && x3 <= 129660 || x3 >= 129664 && x3 <= 129674 || x3 >= 129678 && x3 <= 129734 || x3 === 129736 || x3 >= 129741 && x3 <= 129756 || x3 >= 129759 && x3 <= 129770 || x3 >= 129775 && x3 <= 129784 || x3 >= 131072 && x3 <= 196605 || x3 >= 196608 && x3 <= 262141;
20364
- }
20437
+ // ../../node_modules/get-east-asian-width/lookup-data.js
20438
+ var ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
20439
+ var fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
20440
+ var halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
20441
+ var narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
20442
+ var wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
20443
+
20444
+ // ../../node_modules/get-east-asian-width/utilities.js
20445
+ var isInRange = (ranges, codePoint) => {
20446
+ let low = 0;
20447
+ let high = Math.floor(ranges.length / 2) - 1;
20448
+ while (low <= high) {
20449
+ const mid = Math.floor((low + high) / 2);
20450
+ const i = mid * 2;
20451
+ if (codePoint < ranges[i]) {
20452
+ high = mid - 1;
20453
+ } else if (codePoint > ranges[i + 1]) {
20454
+ low = mid + 1;
20455
+ } else {
20456
+ return true;
20457
+ }
20458
+ }
20459
+ return false;
20460
+ };
20461
+
20462
+ // ../../node_modules/get-east-asian-width/lookup.js
20463
+ var minimumAmbiguousCodePoint = ambiguousRanges[0];
20464
+ var maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
20465
+ var minimumFullWidthCodePoint = fullwidthRanges[0];
20466
+ var maximumFullWidthCodePoint = fullwidthRanges.at(-1);
20467
+ var minimumHalfWidthCodePoint = halfwidthRanges[0];
20468
+ var maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
20469
+ var minimumNarrowCodePoint = narrowRanges[0];
20470
+ var maximumNarrowCodePoint = narrowRanges.at(-1);
20471
+ var minimumWideCodePoint = wideRanges[0];
20472
+ var maximumWideCodePoint = wideRanges.at(-1);
20473
+ var commonCjkCodePoint = 19968;
20474
+ var [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
20475
+ function findWideFastPathRange(ranges) {
20476
+ let fastPathStart = ranges[0];
20477
+ let fastPathEnd = ranges[1];
20478
+ for (let index = 0;index < ranges.length; index += 2) {
20479
+ const start = ranges[index];
20480
+ const end = ranges[index + 1];
20481
+ if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
20482
+ return [start, end];
20483
+ }
20484
+ if (end - start > fastPathEnd - fastPathStart) {
20485
+ fastPathStart = start;
20486
+ fastPathEnd = end;
20487
+ }
20488
+ }
20489
+ return [fastPathStart, fastPathEnd];
20490
+ }
20491
+ var isAmbiguous = (codePoint) => {
20492
+ if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
20493
+ return false;
20494
+ }
20495
+ return isInRange(ambiguousRanges, codePoint);
20496
+ };
20497
+ var isFullWidth = (codePoint) => {
20498
+ if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
20499
+ return false;
20500
+ }
20501
+ return isInRange(fullwidthRanges, codePoint);
20502
+ };
20503
+ var isWide = (codePoint) => {
20504
+ if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
20505
+ return true;
20506
+ }
20507
+ if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
20508
+ return false;
20509
+ }
20510
+ return isInRange(wideRanges, codePoint);
20511
+ };
20365
20512
 
20366
- // ../../node_modules/.bun/get-east-asian-width@1.4.0/node_modules/get-east-asian-width/index.js
20513
+ // ../../node_modules/get-east-asian-width/index.js
20367
20514
  function validate(codePoint) {
20368
20515
  if (!Number.isSafeInteger(codePoint)) {
20369
20516
  throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
@@ -20377,7 +20524,7 @@ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
20377
20524
  return 1;
20378
20525
  }
20379
20526
 
20380
- // ../../node_modules/.bun/string-width@7.2.0/node_modules/string-width/index.js
20527
+ // ../../node_modules/string-width/index.js
20381
20528
  var import_emoji_regex = __toESM(require_emoji_regex(), 1);
20382
20529
  var segmenter = new Intl.Segmenter;
20383
20530
  var defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
@@ -20426,12 +20573,12 @@ function stringWidth(string4, options = {}) {
20426
20573
  return width;
20427
20574
  }
20428
20575
 
20429
- // ../../node_modules/.bun/is-interactive@2.0.0/node_modules/is-interactive/index.js
20576
+ // ../../node_modules/is-interactive/index.js
20430
20577
  function isInteractive({ stream = process.stdout } = {}) {
20431
20578
  return Boolean(stream && stream.isTTY && process.env.TERM !== "dumb" && !("CI" in process.env));
20432
20579
  }
20433
20580
 
20434
- // ../../node_modules/.bun/is-unicode-supported@2.1.0/node_modules/is-unicode-supported/index.js
20581
+ // ../../node_modules/is-unicode-supported/index.js
20435
20582
  import process8 from "node:process";
20436
20583
  function isUnicodeSupported2() {
20437
20584
  const { env: env2 } = process8;
@@ -20442,7 +20589,7 @@ function isUnicodeSupported2() {
20442
20589
  return Boolean(env2.WT_SESSION) || Boolean(env2.TERMINUS_SUBLIME) || env2.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM2 === "xterm-256color" || TERM2 === "alacritty" || TERM2 === "rxvt-unicode" || TERM2 === "rxvt-unicode-256color" || env2.TERMINAL_EMULATOR === "JetBrains-JediTerm";
20443
20590
  }
20444
20591
 
20445
- // ../../node_modules/.bun/stdin-discarder@0.2.2/node_modules/stdin-discarder/index.js
20592
+ // ../../node_modules/stdin-discarder/index.js
20446
20593
  import process9 from "node:process";
20447
20594
  var ASCII_ETX_CODE = 3;
20448
20595
 
@@ -20488,7 +20635,7 @@ class StdinDiscarder {
20488
20635
  var stdinDiscarder = new StdinDiscarder;
20489
20636
  var stdin_discarder_default = stdinDiscarder;
20490
20637
 
20491
- // ../../node_modules/.bun/ora@8.2.0/node_modules/ora/index.js
20638
+ // ../../node_modules/ora/index.js
20492
20639
  var import_cli_spinners2 = __toESM(require_cli_spinners(), 1);
20493
20640
 
20494
20641
  class Ora {