@ai-zen/cli 1.0.0-alpha.2 → 1.0.0-alpha.22

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 (311) hide show
  1. package/CHANGELOG.md +514 -0
  2. package/README.md +136 -39
  3. package/README.zh.md +136 -39
  4. package/dist/agent-creator.d.ts +11 -0
  5. package/dist/agent-creator.d.ts.map +1 -1
  6. package/dist/agent-creator.js +52 -21
  7. package/dist/agent-creator.js.map +1 -1
  8. package/dist/agent-switch.d.ts +61 -0
  9. package/dist/agent-switch.d.ts.map +1 -0
  10. package/dist/agent-switch.js +83 -0
  11. package/dist/agent-switch.js.map +1 -0
  12. package/dist/agents-store.d.ts +6 -1
  13. package/dist/agents-store.d.ts.map +1 -1
  14. package/dist/agents-store.js +46 -4
  15. package/dist/agents-store.js.map +1 -1
  16. package/dist/auto-migrate-confirm.d.ts +43 -0
  17. package/dist/auto-migrate-confirm.d.ts.map +1 -0
  18. package/dist/auto-migrate-confirm.js +47 -0
  19. package/dist/auto-migrate-confirm.js.map +1 -0
  20. package/dist/config-editor.d.ts +13 -5
  21. package/dist/config-editor.d.ts.map +1 -1
  22. package/dist/config-editor.js +36 -27
  23. package/dist/config-editor.js.map +1 -1
  24. package/dist/config.d.ts +24 -3
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js +55 -15
  27. package/dist/config.js.map +1 -1
  28. package/dist/conversation-commands/registry.d.ts +123 -4
  29. package/dist/conversation-commands/registry.d.ts.map +1 -1
  30. package/dist/conversation-commands/registry.js +92 -14
  31. package/dist/conversation-commands/registry.js.map +1 -1
  32. package/dist/conversation-persist-plugin.d.ts +0 -1
  33. package/dist/conversation-persist-plugin.d.ts.map +1 -1
  34. package/dist/conversation-persist-plugin.js +7 -16
  35. package/dist/conversation-persist-plugin.js.map +1 -1
  36. package/dist/conversation-repository.d.ts +71 -13
  37. package/dist/conversation-repository.d.ts.map +1 -1
  38. package/dist/conversation-repository.js +81 -24
  39. package/dist/conversation-repository.js.map +1 -1
  40. package/dist/cwd-tracker-plugin.d.ts.map +1 -1
  41. package/dist/cwd-tracker-plugin.js +6 -2
  42. package/dist/cwd-tracker-plugin.js.map +1 -1
  43. package/dist/format-time.d.ts +17 -6
  44. package/dist/format-time.d.ts.map +1 -1
  45. package/dist/format-time.js +32 -14
  46. package/dist/format-time.js.map +1 -1
  47. package/dist/handoff-service.d.ts +19 -0
  48. package/dist/handoff-service.d.ts.map +1 -0
  49. package/dist/handoff-service.js +89 -0
  50. package/dist/handoff-service.js.map +1 -0
  51. package/dist/hook.d.ts.map +1 -1
  52. package/dist/hook.js +69 -15
  53. package/dist/hook.js.map +1 -1
  54. package/dist/i18n/en-wizard.d.ts +8 -0
  55. package/dist/i18n/en-wizard.d.ts.map +1 -0
  56. package/dist/i18n/en-wizard.js +290 -0
  57. package/dist/i18n/en-wizard.js.map +1 -0
  58. package/dist/i18n/en.d.ts +7 -0
  59. package/dist/i18n/en.d.ts.map +1 -0
  60. package/dist/i18n/en.js +224 -0
  61. package/dist/i18n/en.js.map +1 -0
  62. package/dist/i18n/index.d.ts +57 -0
  63. package/dist/i18n/index.d.ts.map +1 -0
  64. package/dist/i18n/index.js +109 -0
  65. package/dist/i18n/index.js.map +1 -0
  66. package/dist/i18n/preferences.d.ts +34 -0
  67. package/dist/i18n/preferences.d.ts.map +1 -0
  68. package/dist/i18n/preferences.js +69 -0
  69. package/dist/i18n/preferences.js.map +1 -0
  70. package/dist/i18n/zh-wizard.d.ts +11 -0
  71. package/dist/i18n/zh-wizard.d.ts.map +1 -0
  72. package/dist/i18n/zh-wizard.js +293 -0
  73. package/dist/i18n/zh-wizard.js.map +1 -0
  74. package/dist/i18n/zh.d.ts +10 -0
  75. package/dist/i18n/zh.d.ts.map +1 -0
  76. package/dist/i18n/zh.js +228 -0
  77. package/dist/i18n/zh.js.map +1 -0
  78. package/dist/index.js +61 -25
  79. package/dist/index.js.map +1 -1
  80. package/dist/mcp-command.d.ts +32 -0
  81. package/dist/mcp-command.d.ts.map +1 -0
  82. package/dist/mcp-command.js +37 -0
  83. package/dist/mcp-command.js.map +1 -0
  84. package/dist/mode.d.ts +31 -4
  85. package/dist/mode.d.ts.map +1 -1
  86. package/dist/mode.js +42 -7
  87. package/dist/mode.js.map +1 -1
  88. package/dist/model-switch.d.ts +58 -0
  89. package/dist/model-switch.d.ts.map +1 -0
  90. package/dist/model-switch.js +62 -0
  91. package/dist/model-switch.js.map +1 -0
  92. package/dist/reasoning-effort.d.ts +96 -0
  93. package/dist/reasoning-effort.d.ts.map +1 -0
  94. package/dist/reasoning-effort.js +164 -0
  95. package/dist/reasoning-effort.js.map +1 -0
  96. package/dist/reasoning-presets.d.ts +34 -0
  97. package/dist/reasoning-presets.d.ts.map +1 -0
  98. package/dist/reasoning-presets.js +85 -0
  99. package/dist/reasoning-presets.js.map +1 -0
  100. package/dist/sdk-log.d.ts +55 -0
  101. package/dist/sdk-log.d.ts.map +1 -0
  102. package/dist/sdk-log.js +91 -0
  103. package/dist/sdk-log.js.map +1 -0
  104. package/dist/session-pointer.d.ts +22 -9
  105. package/dist/session-pointer.d.ts.map +1 -1
  106. package/dist/session-pointer.js +55 -23
  107. package/dist/session-pointer.js.map +1 -1
  108. package/dist/stdio-runner.d.ts.map +1 -1
  109. package/dist/stdio-runner.js +32 -30
  110. package/dist/stdio-runner.js.map +1 -1
  111. package/dist/sub-agent-guard-plugin.d.ts +5 -5
  112. package/dist/sub-agent-guard-plugin.d.ts.map +1 -1
  113. package/dist/sub-agent-guard-plugin.js +7 -7
  114. package/dist/sub-agent-guard-plugin.js.map +1 -1
  115. package/dist/tui/chat-session.d.ts +110 -59
  116. package/dist/tui/chat-session.d.ts.map +1 -1
  117. package/dist/tui/chat-session.js +268 -120
  118. package/dist/tui/chat-session.js.map +1 -1
  119. package/dist/tui/components.d.ts +48 -2
  120. package/dist/tui/components.d.ts.map +1 -1
  121. package/dist/tui/components.js +96 -3
  122. package/dist/tui/components.js.map +1 -1
  123. package/dist/tui/config-wizard/detail.d.ts +12 -6
  124. package/dist/tui/config-wizard/detail.d.ts.map +1 -1
  125. package/dist/tui/config-wizard/detail.js +33 -32
  126. package/dist/tui/config-wizard/detail.js.map +1 -1
  127. package/dist/tui/config-wizard/engine.d.ts.map +1 -1
  128. package/dist/tui/config-wizard/engine.js +27 -21
  129. package/dist/tui/config-wizard/engine.js.map +1 -1
  130. package/dist/tui/config-wizard/fields.d.ts +3 -1
  131. package/dist/tui/config-wizard/fields.d.ts.map +1 -1
  132. package/dist/tui/config-wizard/fields.js +216 -152
  133. package/dist/tui/config-wizard/fields.js.map +1 -1
  134. package/dist/tui/config-wizard/kv-editor.d.ts.map +1 -1
  135. package/dist/tui/config-wizard/kv-editor.js +9 -5
  136. package/dist/tui/config-wizard/kv-editor.js.map +1 -1
  137. package/dist/tui/config-wizard/list.d.ts.map +1 -1
  138. package/dist/tui/config-wizard/list.js +2 -1
  139. package/dist/tui/config-wizard/list.js.map +1 -1
  140. package/dist/tui/config-wizard/mcp-helpers.d.ts.map +1 -1
  141. package/dist/tui/config-wizard/mcp-helpers.js +4 -3
  142. package/dist/tui/config-wizard/mcp-helpers.js.map +1 -1
  143. package/dist/tui/config-wizard/menu.d.ts.map +1 -1
  144. package/dist/tui/config-wizard/menu.js +33 -21
  145. package/dist/tui/config-wizard/menu.js.map +1 -1
  146. package/dist/tui/config-wizard/prompt-editor.d.ts.map +1 -1
  147. package/dist/tui/config-wizard/prompt-editor.js +4 -3
  148. package/dist/tui/config-wizard/prompt-editor.js.map +1 -1
  149. package/dist/tui/config-wizard/prompt.d.ts.map +1 -1
  150. package/dist/tui/config-wizard/prompt.js +8 -7
  151. package/dist/tui/config-wizard/prompt.js.map +1 -1
  152. package/dist/tui/config-wizard/step-agents.d.ts.map +1 -1
  153. package/dist/tui/config-wizard/step-agents.js +29 -20
  154. package/dist/tui/config-wizard/step-agents.js.map +1 -1
  155. package/dist/tui/config-wizard/step-defaults.d.ts.map +1 -1
  156. package/dist/tui/config-wizard/step-defaults.js +24 -27
  157. package/dist/tui/config-wizard/step-defaults.js.map +1 -1
  158. package/dist/tui/config-wizard/step-endpoints.d.ts.map +1 -1
  159. package/dist/tui/config-wizard/step-endpoints.js +16 -6
  160. package/dist/tui/config-wizard/step-endpoints.js.map +1 -1
  161. package/dist/tui/config-wizard/step-mcp.d.ts.map +1 -1
  162. package/dist/tui/config-wizard/step-mcp.js +17 -19
  163. package/dist/tui/config-wizard/step-mcp.js.map +1 -1
  164. package/dist/tui/config-wizard/step-models.d.ts.map +1 -1
  165. package/dist/tui/config-wizard/step-models.js +41 -26
  166. package/dist/tui/config-wizard/step-models.js.map +1 -1
  167. package/dist/tui/config-wizard/step-new-endpoint.d.ts.map +1 -1
  168. package/dist/tui/config-wizard/step-new-endpoint.js +16 -12
  169. package/dist/tui/config-wizard/step-new-endpoint.js.map +1 -1
  170. package/dist/tui/config-wizard/step-simple.d.ts.map +1 -1
  171. package/dist/tui/config-wizard/step-simple.js +18 -17
  172. package/dist/tui/config-wizard/step-simple.js.map +1 -1
  173. package/dist/tui/config-wizard/types.d.ts +18 -3
  174. package/dist/tui/config-wizard/types.d.ts.map +1 -1
  175. package/dist/tui/config-wizard/wizard.d.ts.map +1 -1
  176. package/dist/tui/config-wizard/wizard.js +4 -3
  177. package/dist/tui/config-wizard/wizard.js.map +1 -1
  178. package/dist/tui/highlight.d.ts +3 -2
  179. package/dist/tui/highlight.d.ts.map +1 -1
  180. package/dist/tui/highlight.js +3 -2
  181. package/dist/tui/highlight.js.map +1 -1
  182. package/dist/tui/index.d.ts +18 -1
  183. package/dist/tui/index.d.ts.map +1 -1
  184. package/dist/tui/index.js +107 -49
  185. package/dist/tui/index.js.map +1 -1
  186. package/dist/tui/input-editing.d.ts +52 -0
  187. package/dist/tui/input-editing.d.ts.map +1 -0
  188. package/dist/tui/input-editing.js +91 -0
  189. package/dist/tui/input-editing.js.map +1 -0
  190. package/dist/tui/key-debug.d.ts +62 -0
  191. package/dist/tui/key-debug.d.ts.map +1 -0
  192. package/dist/tui/key-debug.js +92 -0
  193. package/dist/tui/key-debug.js.map +1 -0
  194. package/dist/tui/mouse.d.ts +55 -0
  195. package/dist/tui/mouse.d.ts.map +1 -0
  196. package/dist/tui/mouse.js +74 -0
  197. package/dist/tui/mouse.js.map +1 -0
  198. package/dist/tui/phase.d.ts +64 -0
  199. package/dist/tui/phase.d.ts.map +1 -0
  200. package/dist/tui/phase.js +112 -0
  201. package/dist/tui/phase.js.map +1 -0
  202. package/dist/tui/screens/chat-commands.d.ts +64 -3
  203. package/dist/tui/screens/chat-commands.d.ts.map +1 -1
  204. package/dist/tui/screens/chat-commands.js +483 -157
  205. package/dist/tui/screens/chat-commands.js.map +1 -1
  206. package/dist/tui/screens/chat.d.ts +10 -5
  207. package/dist/tui/screens/chat.d.ts.map +1 -1
  208. package/dist/tui/screens/chat.js +464 -301
  209. package/dist/tui/screens/chat.js.map +1 -1
  210. package/dist/tui/screens/common-keys.d.ts +36 -0
  211. package/dist/tui/screens/common-keys.d.ts.map +1 -0
  212. package/dist/tui/screens/common-keys.js +67 -0
  213. package/dist/tui/screens/common-keys.js.map +1 -0
  214. package/dist/tui/screens/frame-buffer.d.ts +47 -0
  215. package/dist/tui/screens/frame-buffer.d.ts.map +1 -0
  216. package/dist/tui/screens/frame-buffer.js +78 -0
  217. package/dist/tui/screens/frame-buffer.js.map +1 -0
  218. package/dist/tui/screens/handoff-choice.d.ts +37 -0
  219. package/dist/tui/screens/handoff-choice.d.ts.map +1 -0
  220. package/dist/tui/screens/handoff-choice.js +42 -0
  221. package/dist/tui/screens/handoff-choice.js.map +1 -0
  222. package/dist/tui/screens/index.d.ts +8 -8
  223. package/dist/tui/screens/index.d.ts.map +1 -1
  224. package/dist/tui/screens/index.js +7 -7
  225. package/dist/tui/screens/index.js.map +1 -1
  226. package/dist/tui/screens/input-row.d.ts +64 -0
  227. package/dist/tui/screens/input-row.d.ts.map +1 -0
  228. package/dist/tui/screens/input-row.js +67 -0
  229. package/dist/tui/screens/input-row.js.map +1 -0
  230. package/dist/tui/screens/input.d.ts +46 -1
  231. package/dist/tui/screens/input.d.ts.map +1 -1
  232. package/dist/tui/screens/input.js +83 -8
  233. package/dist/tui/screens/input.js.map +1 -1
  234. package/dist/tui/screens/layout.d.ts +21 -3
  235. package/dist/tui/screens/layout.d.ts.map +1 -1
  236. package/dist/tui/screens/layout.js +20 -9
  237. package/dist/tui/screens/layout.js.map +1 -1
  238. package/dist/tui/screens/lines.d.ts +12 -41
  239. package/dist/tui/screens/lines.d.ts.map +1 -1
  240. package/dist/tui/screens/lines.js +90 -98
  241. package/dist/tui/screens/lines.js.map +1 -1
  242. package/dist/tui/screens/messages-view.d.ts +10 -0
  243. package/dist/tui/screens/messages-view.d.ts.map +1 -0
  244. package/dist/tui/screens/messages-view.js +116 -0
  245. package/dist/tui/screens/messages-view.js.map +1 -0
  246. package/dist/tui/screens/notice-bar.d.ts +5 -0
  247. package/dist/tui/screens/notice-bar.d.ts.map +1 -0
  248. package/dist/tui/screens/notice-bar.js +15 -0
  249. package/dist/tui/screens/notice-bar.js.map +1 -0
  250. package/dist/tui/screens/notice.d.ts +64 -0
  251. package/dist/tui/screens/notice.d.ts.map +1 -0
  252. package/dist/tui/screens/notice.js +106 -0
  253. package/dist/tui/screens/notice.js.map +1 -0
  254. package/dist/tui/screens/overlays.d.ts.map +1 -1
  255. package/dist/tui/screens/overlays.js +3 -2
  256. package/dist/tui/screens/overlays.js.map +1 -1
  257. package/dist/tui/screens/render.d.ts +2 -4
  258. package/dist/tui/screens/render.d.ts.map +1 -1
  259. package/dist/tui/screens/render.js +7 -43
  260. package/dist/tui/screens/render.js.map +1 -1
  261. package/dist/tui/screens/splash.d.ts +1 -1
  262. package/dist/tui/screens/splash.d.ts.map +1 -1
  263. package/dist/tui/screens/splash.js +12 -3
  264. package/dist/tui/screens/splash.js.map +1 -1
  265. package/dist/tui/screens/use-chat-viewport.d.ts +22 -0
  266. package/dist/tui/screens/use-chat-viewport.d.ts.map +1 -0
  267. package/dist/tui/screens/use-chat-viewport.js +50 -0
  268. package/dist/tui/screens/use-chat-viewport.js.map +1 -0
  269. package/dist/tui/screens/use-input-editing.d.ts +44 -0
  270. package/dist/tui/screens/use-input-editing.d.ts.map +1 -0
  271. package/dist/tui/screens/use-input-editing.js +192 -0
  272. package/dist/tui/screens/use-input-editing.js.map +1 -0
  273. package/dist/tui/screens/use-overlays.d.ts +25 -0
  274. package/dist/tui/screens/use-overlays.d.ts.map +1 -0
  275. package/dist/tui/screens/use-overlays.js +32 -0
  276. package/dist/tui/screens/use-overlays.js.map +1 -0
  277. package/dist/tui/screens/use-wizard-host.d.ts +35 -0
  278. package/dist/tui/screens/use-wizard-host.d.ts.map +1 -0
  279. package/dist/tui/screens/use-wizard-host.js +103 -0
  280. package/dist/tui/screens/use-wizard-host.js.map +1 -0
  281. package/dist/tui/status-segments.d.ts +37 -0
  282. package/dist/tui/status-segments.d.ts.map +1 -0
  283. package/dist/tui/status-segments.js +166 -0
  284. package/dist/tui/status-segments.js.map +1 -0
  285. package/dist/tui/text.d.ts +20 -7
  286. package/dist/tui/text.d.ts.map +1 -1
  287. package/dist/tui/text.js +111 -37
  288. package/dist/tui/text.js.map +1 -1
  289. package/dist/tui/theme.d.ts +7 -1
  290. package/dist/tui/theme.d.ts.map +1 -1
  291. package/dist/tui/theme.js +15 -3
  292. package/dist/tui/theme.js.map +1 -1
  293. package/dist/tui/token-rate.d.ts +83 -0
  294. package/dist/tui/token-rate.d.ts.map +1 -0
  295. package/dist/tui/token-rate.js +195 -0
  296. package/dist/tui/token-rate.js.map +1 -0
  297. package/dist/types.d.ts +7 -8
  298. package/dist/types.d.ts.map +1 -1
  299. package/package.json +4 -3
  300. package/dist/auto-migrate-confirm-plugin.d.ts +0 -58
  301. package/dist/auto-migrate-confirm-plugin.d.ts.map +0 -1
  302. package/dist/auto-migrate-confirm-plugin.js +0 -61
  303. package/dist/auto-migrate-confirm-plugin.js.map +0 -1
  304. package/dist/migration-service.d.ts +0 -15
  305. package/dist/migration-service.d.ts.map +0 -1
  306. package/dist/migration-service.js +0 -59
  307. package/dist/migration-service.js.map +0 -1
  308. package/dist/tui/screens/state.d.ts +0 -13
  309. package/dist/tui/screens/state.d.ts.map +0 -1
  310. package/dist/tui/screens/state.js +0 -75
  311. package/dist/tui/screens/state.js.map +0 -1
@@ -4,28 +4,39 @@ import { NEW_MODEL, NEW_IMAGE_MODEL } from "./types.js";
4
4
  import { ListStep } from "./list.js";
5
5
  import { DetailStep } from "./detail.js";
6
6
  import { PromptScreen } from "./prompt.js";
7
+ import { t } from "../../i18n/index.js";
8
+ /** 模型来源标签:`出厂托管` 在详情屏里要多带一句说明(改动会转自定义) */
9
+ function kindLabel(custom, withNote = false) {
10
+ if (custom)
11
+ return t("wiz.kind.custom");
12
+ return t(withNote ? "wiz.modelKind.factoryNote" : "wiz.kind.factory");
13
+ }
7
14
  export function renderModelsStep(ctx) {
8
15
  const { config, error, notice, activeStep, go, persist, setError, modelFields, imageModelFields, cols, rows } = ctx;
9
16
  // ---------- 模型管理 ----------
10
17
  if (activeStep.kind === "models") {
11
18
  const items = [
12
- { label: "+ 新建模型", value: NEW_MODEL, hint: "自动标记为自定义(custom)" },
19
+ { label: t("wiz.models.newItem"), value: NEW_MODEL, hint: t("wiz.models.newItemHint") },
13
20
  ...config.models.map((model) => ({
14
21
  label: model.name || model.id,
15
22
  value: model.id,
16
- hint: `${findEndpoint(config, model.endpointId)?.name ?? model.endpointId} · ${model.custom ? "自定义" : "出厂托管"}${model.vision ? " · 视觉" : ""}`,
23
+ hint: t("wiz.modelItem.hint", {
24
+ endpoint: findEndpoint(config, model.endpointId)?.name ?? model.endpointId,
25
+ kind: kindLabel(model.custom),
26
+ vision: model.vision ? t("wiz.modelKind.visionSuffix") : "",
27
+ }),
17
28
  })),
18
29
  ];
19
- return (_jsx(ListStep, { columns: cols, rows: rows, title: "\u6A21\u578B\u7BA1\u7406", subtitle: `共 ${config.models.length} 个模型 · 选中后可就地编辑 / 删除`, items: items, onPick: (value) => (value === NEW_MODEL ? go({ kind: "new-model" }) : go({ kind: "model", modelId: value })), onCancel: () => go({ kind: "menu" }) }));
30
+ return (_jsx(ListStep, { columns: cols, rows: rows, title: t("wiz.menu.models"), subtitle: t("wiz.models.subtitle", { n: config.models.length }), items: items, onPick: (value) => (value === NEW_MODEL ? go({ kind: "new-model" }) : go({ kind: "model", modelId: value })), onCancel: () => go({ kind: "menu" }) }));
20
31
  }
21
32
  // ---------- 模型详情 ----------
22
33
  if (activeStep.kind === "model") {
23
34
  const model = findModel(config, activeStep.modelId);
24
35
  const name = model.name || model.id;
25
- return (_jsx(DetailStep, { columns: cols, rows: rows, title: `◆ 模型 · ${name}`, details: [`${model.id} · ${model.custom ? "自定义" : "出厂托管(编辑会自动转自定义)"}`, "↑ ↓ 移动 · Enter 编辑/切换 · 改动即时写入磁盘"], fields: modelFields(model), notice: notice, action: {
26
- label: "删除模型",
36
+ return (_jsx(DetailStep, { columns: cols, rows: rows, title: t("wiz.models.detailTitle", { name }), details: [t("wiz.models.detailLine", { id: model.id, kind: kindLabel(model.custom, true) }), t("wiz.detail.moveHint")], fields: modelFields(model), notice: notice, action: {
37
+ label: t("wiz.models.delete"),
27
38
  run: async () => {
28
- const failure = await persist(removeModel(config, model.id), `已删除模型 ${name}`);
39
+ const failure = await persist(removeModel(config, model.id), t("wiz.models.deleted", { name }));
29
40
  if (!failure)
30
41
  go({ kind: "models" });
31
42
  return failure;
@@ -36,23 +47,27 @@ export function renderModelsStep(ctx) {
36
47
  if (activeStep.kind === "image-models") {
37
48
  const list = config.imageModels ?? [];
38
49
  const items = [
39
- { label: "+ 新建图片模型", value: NEW_IMAGE_MODEL, hint: "自动标记为自定义(custom)" },
50
+ { label: t("wiz.imageModels.newItem"), value: NEW_IMAGE_MODEL, hint: t("wiz.models.newItemHint") },
40
51
  ...list.map((model) => ({
41
52
  label: model.name || model.id,
42
53
  value: model.id,
43
- hint: `${findEndpoint(config, model.endpointId)?.name ?? model.endpointId} · ${model.custom ? "自定义" : "出厂托管"}`,
54
+ hint: t("wiz.modelItem.hint", {
55
+ endpoint: findEndpoint(config, model.endpointId)?.name ?? model.endpointId,
56
+ kind: kindLabel(model.custom),
57
+ vision: "",
58
+ }),
44
59
  })),
45
60
  ];
46
- return (_jsx(ListStep, { columns: cols, rows: rows, title: "\u56FE\u7247\u6A21\u578B", subtitle: `共 ${list.length} 个 · 选中后可就地编辑 / 删除`, items: items, onPick: (value) => (value === NEW_IMAGE_MODEL ? go({ kind: "new-image-model" }) : go({ kind: "image-model", modelId: value })), onCancel: () => go({ kind: "menu" }) }));
61
+ return (_jsx(ListStep, { columns: cols, rows: rows, title: t("wiz.menu.imageModels"), subtitle: t("wiz.imageModels.subtitle", { n: list.length }), items: items, onPick: (value) => (value === NEW_IMAGE_MODEL ? go({ kind: "new-image-model" }) : go({ kind: "image-model", modelId: value })), onCancel: () => go({ kind: "menu" }) }));
47
62
  }
48
63
  // ---------- 图片模型详情 ----------
49
64
  if (activeStep.kind === "image-model") {
50
65
  const model = (config.imageModels ?? []).find((m) => m.id === activeStep.modelId);
51
66
  const name = model.name || model.id;
52
- return (_jsx(DetailStep, { columns: cols, rows: rows, title: `◆ 图片模型 · ${name}`, details: [`${model.id} · ${model.custom ? "自定义" : "出厂托管(编辑会自动转自定义)"}`, "↑ ↓ 移动 · Enter 编辑/切换 · 改动即时写入磁盘"], fields: imageModelFields(model), notice: notice, action: {
53
- label: "删除图片模型",
67
+ return (_jsx(DetailStep, { columns: cols, rows: rows, title: t("wiz.imageModels.detailTitle", { name }), details: [t("wiz.models.detailLine", { id: model.id, kind: kindLabel(model.custom, true) }), t("wiz.detail.moveHint")], fields: imageModelFields(model), notice: notice, action: {
68
+ label: t("wiz.imageModels.delete"),
54
69
  run: async () => {
55
- const failure = await persist(removeImageModel(config, model.id), `已删除图片模型 ${name}`);
70
+ const failure = await persist(removeImageModel(config, model.id), t("wiz.imageModels.deleted", { name }));
56
71
  if (!failure)
57
72
  go({ kind: "image-models" });
58
73
  return failure;
@@ -62,20 +77,20 @@ export function renderModelsStep(ctx) {
62
77
  // ---------- 新建模型(名称 → 创建并进入详情)----------
63
78
  if (activeStep.kind === "new-model") {
64
79
  const endpointId = config.endpoints[0]?.id ?? "";
65
- return (_jsx(PromptScreen, { columns: cols, rows: rows, title: "\u65B0\u5EFA\u6A21\u578B \u00B7 \u540D\u79F0", details: [
66
- "用于在配置与状态栏中标识该模型,例如 My GPT",
80
+ return (_jsx(PromptScreen, { columns: cols, rows: rows, title: t("wiz.models.createTitle"), details: [
81
+ t("wiz.models.createDesc", { example: "My GPT" }),
67
82
  config.endpoints.length === 0
68
- ? "⚠ 尚未配置端点,创建后请先到「端点管理」添加端点"
69
- : `将默认绑定端点:${findEndpoint(config, endpointId)?.name ?? endpointId}`,
70
- ], error: error, hints: [["Enter", "创建并编辑"], ["Esc", "返回"]], onSubmit: (value) => {
83
+ ? t("wiz.models.noEndpoint")
84
+ : t("wiz.models.defaultEndpoint", { endpoint: findEndpoint(config, endpointId)?.name ?? endpointId }),
85
+ ], error: error, hints: [["Enter", t("wiz.createAndEdit")], ["Esc", t("ui.back")]], onSubmit: (value) => {
71
86
  const name = value.trim();
72
87
  if (!name) {
73
- setError("名称不能为空");
88
+ setError(t("err.nameRequired"));
74
89
  return;
75
90
  }
76
91
  const { config: next, model } = addModel(config, { name, endpointId });
77
92
  void (async () => {
78
- const failure = await persist(next, `已新建模型 ${model.name}(${model.id},已标记为自定义)`);
93
+ const failure = await persist(next, t("wiz.models.created", { name: model.name, id: model.id }));
79
94
  if (failure) {
80
95
  setError(failure);
81
96
  return;
@@ -87,20 +102,20 @@ export function renderModelsStep(ctx) {
87
102
  // ---------- 新建图片模型(名称 → 创建并进入详情)----------
88
103
  if (activeStep.kind === "new-image-model") {
89
104
  const endpointId = config.endpoints[0]?.id ?? "";
90
- return (_jsx(PromptScreen, { columns: cols, rows: rows, title: "\u65B0\u5EFA\u56FE\u7247\u6A21\u578B \u00B7 \u540D\u79F0", details: [
91
- "用于在配置与状态栏中标识该模型,例如 My Image",
105
+ return (_jsx(PromptScreen, { columns: cols, rows: rows, title: t("wiz.imageModels.createTitle"), details: [
106
+ t("wiz.models.createDesc", { example: "My Image" }),
92
107
  config.endpoints.length === 0
93
- ? "⚠ 尚未配置端点,创建后请先到「端点管理」添加端点"
94
- : `将默认绑定端点:${findEndpoint(config, endpointId)?.name ?? endpointId}`,
95
- ], error: error, hints: [["Enter", "创建并编辑"], ["Esc", "返回"]], onSubmit: (value) => {
108
+ ? t("wiz.models.noEndpoint")
109
+ : t("wiz.models.defaultEndpoint", { endpoint: findEndpoint(config, endpointId)?.name ?? endpointId }),
110
+ ], error: error, hints: [["Enter", t("wiz.createAndEdit")], ["Esc", t("ui.back")]], onSubmit: (value) => {
96
111
  const name = value.trim();
97
112
  if (!name) {
98
- setError("名称不能为空");
113
+ setError(t("err.nameRequired"));
99
114
  return;
100
115
  }
101
116
  const { config: next, model } = addImageModel(config, { name, endpointId });
102
117
  void (async () => {
103
- const failure = await persist(next, `已新建图片模型 ${model.name}(${model.id},已标记为自定义)`);
118
+ const failure = await persist(next, t("wiz.imageModels.created", { name: model.name, id: model.id }));
104
119
  if (failure) {
105
120
  setError(failure);
106
121
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"step-models.js","sourceRoot":"","sources":["../../../src/tui/config-wizard/step-models.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-models.js","sourceRoot":"","sources":["../../../src/tui/config-wizard/step-models.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"step-new-endpoint.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/step-new-endpoint.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CA+FnE"}
1
+ {"version":3,"file":"step-new-endpoint.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/step-new-endpoint.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAkGnE"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { addEndpoint, apiKeyGuide } from "../../config-editor.js";
3
3
  import { PromptScreen } from "./prompt.js";
4
+ import { t } from "../../i18n/index.js";
4
5
  export function renderNewEndpointStep(ctx) {
5
6
  const { config, error, draft, activeStep, go, commit, setDraft, setError, setStep, cols, rows } = ctx;
6
7
  if (activeStep.kind !== "new-endpoint")
@@ -8,10 +9,10 @@ export function renderNewEndpointStep(ctx) {
8
9
  // ---------- 新建端点(名称 → Base URL → API Key)----------
9
10
  const field = activeStep.field;
10
11
  if (field === "name") {
11
- return (_jsx(PromptScreen, { columns: cols, rows: rows, title: "\u65B0\u5EFA\u7AEF\u70B9 \u00B7 \u540D\u79F0", details: ["用于在配置与状态栏中标识该服务,例如 My Gateway"], initialValue: draft.name, error: error, hints: [["Enter", "下一步"], ["Esc", "返回"]], onSubmit: (value) => {
12
+ return (_jsx(PromptScreen, { columns: cols, rows: rows, title: t("wiz.newEndpoint.nameTitle"), details: [t("wiz.newEndpoint.nameDesc", { example: "My Gateway" })], initialValue: draft.name, error: error, hints: [["Enter", t("ui.next")], ["Esc", t("ui.back")]], onSubmit: (value) => {
12
13
  const name = value.trim();
13
14
  if (!name) {
14
- setError("名称不能为空");
15
+ setError(t("err.nameRequired"));
15
16
  return;
16
17
  }
17
18
  const next = { ...draft, name };
@@ -21,10 +22,10 @@ export function renderNewEndpointStep(ctx) {
21
22
  }, onCancel: () => go({ kind: "endpoints" }) }, "new:name"));
22
23
  }
23
24
  if (field === "baseUrl") {
24
- return (_jsx(PromptScreen, { columns: cols, rows: rows, title: "\u65B0\u5EFA\u7AEF\u70B9 \u00B7 Base URL", details: ["例如 https://api.openai.com/v1(须为 OpenAI 兼容接口)"], initialValue: draft.baseUrl, error: error, hints: [["Enter", "下一步"], ["Esc", "返回"]], onSubmit: (value) => {
25
+ return (_jsx(PromptScreen, { columns: cols, rows: rows, title: t("wiz.newEndpoint.baseUrlTitle"), details: [t("wiz.newEndpoint.baseUrlDesc")], initialValue: draft.baseUrl, error: error, hints: [["Enter", t("ui.next")], ["Esc", t("ui.back")]], onSubmit: (value) => {
25
26
  const baseUrl = value.trim();
26
27
  if (!/^https?:\/\//i.test(baseUrl)) {
27
- setError("Base URL 需以 http:// 或 https:// 开头");
28
+ setError(t("err.baseUrlScheme"));
28
29
  return;
29
30
  }
30
31
  const next = { ...draft, baseUrl };
@@ -36,16 +37,19 @@ export function renderNewEndpointStep(ctx) {
36
37
  setStep({ kind: "new-endpoint", field: "name", draft });
37
38
  } }, "new:baseUrl"));
38
39
  }
39
- return (_jsx(PromptScreen, { columns: cols, rows: rows, title: "\u65B0\u5EFA\u7AEF\u70B9 \u00B7 API Key", details: [
40
- `端点:${draft.name} · ${draft.baseUrl}`,
41
- "可留空稍后再补(留空时该端点暂不可用)",
42
- apiKeyGuide(draft.baseUrl).url
43
- ? `${apiKeyGuide(draft.baseUrl).vendor} 申请地址:${apiKeyGuide(draft.baseUrl).url}`
44
- : undefined,
45
- ].filter((line) => Boolean(line)), mask: true, error: error, hints: [["Enter", "保存端点"], ["Tab", "明文/掩码"], ["Esc", "返回"]], onSubmit: (value) => {
40
+ const guide = apiKeyGuide(draft.baseUrl);
41
+ return (_jsx(PromptScreen, { columns: cols, rows: rows, title: t("wiz.newEndpoint.apiKeyTitle"), details: [
42
+ t("wiz.apiKey.endpointLine", { name: draft.name, url: draft.baseUrl }),
43
+ t("wiz.newEndpoint.apiKeyOptional"),
44
+ guide.url ? t("wiz.apiKey.guideUrl", { vendor: guide.vendor, url: guide.url }) : undefined,
45
+ ].filter((line) => Boolean(line)), mask: true, error: error, hints: [["Enter", t("wiz.newEndpoint.save")], ["Tab", t("ui.plainOrMasked")], ["Esc", t("ui.back")]], onSubmit: (value) => {
46
46
  const apiKey = value.trim();
47
47
  const { config: next, endpoint } = addEndpoint(config, { ...draft, apiKey });
48
- void commit(next, `已添加端点 ${endpoint.name}(${endpoint.id})${apiKey ? "" : " · API Key 待补充"}`, [endpoint.id], { kind: "endpoints" });
48
+ void commit(next, t("wiz.newEndpoint.created", {
49
+ name: endpoint.name,
50
+ id: endpoint.id,
51
+ suffix: apiKey ? "" : t("wiz.newEndpoint.keyPending"),
52
+ }), [endpoint.id], { kind: "endpoints" });
49
53
  }, onCancel: () => {
50
54
  setError(null);
51
55
  setStep({ kind: "new-endpoint", field: "baseUrl", draft });
@@ -1 +1 @@
1
- {"version":3,"file":"step-new-endpoint.js","sourceRoot":"","sources":["../../../src/tui/config-wizard/step-new-endpoint.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-new-endpoint.js","sourceRoot":"","sources":["../../../src/tui/config-wizard/step-new-endpoint.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"step-simple.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/step-simple.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CA8F9D"}
1
+ {"version":3,"file":"step-simple.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/step-simple.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CA8F9D"}
@@ -1,18 +1,19 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { apiKeyGuide, findEndpoint, maskApiKey, setEndpointApiKey, setEndpointBaseUrl, setMaxToolOutput } from "../../config-editor.js";
3
3
  import { PromptScreen } from "./prompt.js";
4
+ import { t } from "../../i18n/index.js";
4
5
  export function renderSimpleStep(ctx) {
5
6
  const { config, error, activeStep, snapshot, go, commit, setError, cols, rows, props } = ctx;
6
7
  // ---------- 工具输出上限 ----------
7
8
  if (activeStep.kind === "max-tool-output") {
8
9
  const current = config.maxToolOutput ?? 32768;
9
- return (_jsx(PromptScreen, { columns: cols, rows: rows, title: "\u5DE5\u5177\u8F93\u51FA\u4E0A\u9650\uFF08\u5B57\u7B26\u6570\uFF09", details: [`当前:${current}`, "工具单次输出超过该值时落盘或仅警告,避免撑爆上下文"], initialValue: String(current), error: error, hints: [["Enter", "保存"], ["Esc", "返回"]], onSubmit: (value) => {
10
+ return (_jsx(PromptScreen, { columns: cols, rows: rows, title: t("wiz.maxToolOutput.title"), details: [t("wiz.currentLine", { value: current }), t("wiz.maxToolOutput.desc")], initialValue: String(current), error: error, hints: [["Enter", t("ui.save")], ["Esc", t("ui.back")]], onSubmit: (value) => {
10
11
  const n = Number(value.trim());
11
12
  if (!Number.isFinite(n) || n <= 0) {
12
- setError("需为正整数");
13
+ setError(t("err.positiveInteger"));
13
14
  return;
14
15
  }
15
- void commit(setMaxToolOutput(config, Math.floor(n)), `工具输出上限 → ${Math.floor(n)} 字符`, [], { kind: "menu" });
16
+ void commit(setMaxToolOutput(config, Math.floor(n)), t("wiz.maxToolOutput.updated", { n: Math.floor(n) }), [], { kind: "menu" });
16
17
  }, onCancel: () => go({ kind: "menu" }) }, "maxToolOutput"));
17
18
  }
18
19
  // ---------- 端点字段直达编辑(首启引导 / `/key`)----------
@@ -21,33 +22,33 @@ export function renderSimpleStep(ctx) {
21
22
  const name = endpoint.name || endpoint.id;
22
23
  if (activeStep.field === "apiKey") {
23
24
  const guide = apiKeyGuide(endpoint.baseUrl);
24
- return (_jsx(PromptScreen, { columns: cols, rows: rows, title: props.onboarding ? `首次配置 · 设置 ${name} 的 API Key` : `设置 API Key · ${name}`, details: [
25
- `端点:${name} · ${endpoint.baseUrl}`,
26
- `当前:${maskApiKey(endpoint.apiKey)}`,
25
+ return (_jsx(PromptScreen, { columns: cols, rows: rows, title: props.onboarding ? t("wiz.apiKey.titleOnboarding", { name }) : t("wiz.apiKey.title", { name }), details: [
26
+ t("wiz.apiKey.endpointLine", { name, url: endpoint.baseUrl }),
27
+ t("wiz.currentLine", { value: maskApiKey(endpoint.apiKey) }),
27
28
  guide.url
28
- ? `${guide.vendor} 申请地址:${guide.url}`
29
- : `${guide.vendor}:请向服务提供方获取 API Key`,
30
- props.onboarding ? "保存后立即进入对话(Esc 放弃并退出)。" : undefined,
29
+ ? t("wiz.apiKey.guideUrl", { vendor: guide.vendor, url: guide.url })
30
+ : t("wiz.apiKey.guideNoUrl", { vendor: guide.vendor }),
31
+ props.onboarding ? t("wiz.apiKey.onboardingNote") : undefined,
31
32
  ].filter((line) => Boolean(line)), mask: true, error: error, hints: [
32
- ["Enter", props.onboarding ? "保存并进入对话" : "保存"],
33
- ["Tab", "明文/掩码"],
34
- ["Esc", props.closeOnSave ? "放弃" : "返回"],
33
+ ["Enter", props.onboarding ? t("wiz.apiKey.saveAndEnter") : t("ui.save")],
34
+ ["Tab", t("ui.plainOrMasked")],
35
+ ["Esc", props.closeOnSave ? t("ui.discard") : t("ui.back")],
35
36
  ], onSubmit: (value) => {
36
37
  const key = value.trim();
37
38
  if (!key) {
38
- setError("API Key 不能为空");
39
+ setError(t("err.apiKeyRequired"));
39
40
  return;
40
41
  }
41
- void commit(setEndpointApiKey(config, endpoint.id, key), `端点 ${name} 的 API Key 已更新`, [endpoint.id]);
42
+ void commit(setEndpointApiKey(config, endpoint.id, key), t("wiz.endpointUpdated", { name, label: "API Key" }), [endpoint.id]);
42
43
  }, onCancel: () => (props.closeOnSave ? props.onClose(snapshot()) : go({ kind: "menu" })) }, `apiKey:${endpoint.id}`));
43
44
  }
44
- return (_jsx(PromptScreen, { columns: cols, rows: rows, title: `设置 Base URL · ${name}`, details: [`当前:${endpoint.baseUrl}`, "需以 http:// 或 https:// 开头(OpenAI 兼容端点)"], initialValue: endpoint.baseUrl, error: error, hints: [["Enter", "保存"], ["Esc", "返回"]], onSubmit: (value) => {
45
+ return (_jsx(PromptScreen, { columns: cols, rows: rows, title: t("wiz.baseUrl.title", { name }), details: [t("wiz.currentLine", { value: endpoint.baseUrl }), t("wiz.baseUrl.hint")], initialValue: endpoint.baseUrl, error: error, hints: [["Enter", t("ui.save")], ["Esc", t("ui.back")]], onSubmit: (value) => {
45
46
  const baseUrl = value.trim();
46
47
  if (!/^https?:\/\//i.test(baseUrl)) {
47
- setError("Base URL 需以 http:// 或 https:// 开头");
48
+ setError(t("err.baseUrlScheme"));
48
49
  return;
49
50
  }
50
- void commit(setEndpointBaseUrl(config, endpoint.id, baseUrl), `端点 ${name} 的 Base URL 已更新`, [endpoint.id]);
51
+ void commit(setEndpointBaseUrl(config, endpoint.id, baseUrl), t("wiz.endpointUpdated", { name, label: "Base URL" }), [endpoint.id]);
51
52
  }, onCancel: () => go({ kind: "menu" }) }, `baseUrl:${endpoint.id}`));
52
53
  }
53
54
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"step-simple.js","sourceRoot":"","sources":["../../../src/tui/config-wizard/step-simple.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-simple.js","sourceRoot":"","sources":["../../../src/tui/config-wizard/step-simple.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAExI,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAExC,MAAM,UAAU,gBAAgB,CAAC,GAAkB;IACjD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAC7F,+BAA+B;IAC/B,IAAI,UAAU,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC;QAC9C,OAAO,CACL,KAAC,YAAY,IAEX,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,CAAC,CAAC,yBAAyB,CAAC,EACnC,OAAO,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAChF,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,EAC7B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACvD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;oBACnC,OAAO;gBACT,CAAC;gBACD,KAAK,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,2BAA2B,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACnI,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,IAhBhC,eAAe,CAiBnB,CACH,CAAC;IACJ,CAAC;IAGD,+CAA+C;IAC/C,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;QAE1C,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5C,OAAO,CACL,KAAC,YAAY,IAEX,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,EACrG,OAAO,EAAE;oBACP,CAAC,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC7D,CAAC,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5D,KAAK,CAAC,GAAG;wBACP,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;wBACpE,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;oBACxD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC9D,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EACjD,IAAI,QACJ,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE;oBACL,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACzE,CAAC,KAAK,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;oBAC9B,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;iBAC5D,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;oBACzB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;wBAClC,OAAO;oBACT,CAAC;oBACD,KAAK,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChI,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,IA3BjF,UAAU,QAAQ,CAAC,EAAE,EAAE,CA4B5B,CACH,CAAC;QACJ,CAAC;QAED,OAAO,CACL,KAAC,YAAY,IAEX,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,EACvC,OAAO,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,EACnF,YAAY,EAAE,QAAQ,CAAC,OAAO,EAC9B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACvD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBACD,KAAK,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACtI,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,IAhB/B,WAAW,QAAQ,CAAC,EAAE,EAAE,CAiB7B,CACH,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,10 +1,10 @@
1
- import { AppConfig } from "@ai-zen/agents-sdk";
1
+ import { AppConfig, ReasoningPresets } from "@ai-zen/agents-sdk";
2
2
  import { McpConfig, McpScope } from "../../config.js";
3
3
  import { AgentKind, AgentStore } from "../../agents-store.js";
4
4
  /** 可编辑的端点字段(首启引导 / `/key` 的直达编辑步骤用) */
5
5
  export type EndpointField = "apiKey" | "baseUrl";
6
- /** 「默认项」的四类目标 */
7
- export type DefaultTarget = "defaultModel" | "defaultImageModel" | "defaultAgent" | "defaultMigrationModel";
6
+ /** 「默认项」的可选目标(模型不再有配置级默认:它写在 Agent 定义上) */
7
+ export type DefaultTarget = "defaultImageModel" | "defaultAgent" | "defaultMigrationModel";
8
8
  /** 向导步骤(判别联合,逐步收敛) */
9
9
  export type WizardStep = {
10
10
  kind: "menu";
@@ -113,8 +113,23 @@ export interface McpSnapshot {
113
113
  export interface ConfigWizardProps {
114
114
  /** 打开向导时的配置快照 */
115
115
  config: AppConfig;
116
+ /**
117
+ * 思考策略表(`readReasoningPresets()`)。
118
+ *
119
+ * 只用于给模型的「思考策略」字段做合法性校验与提示;不传则不做校验。
120
+ */
121
+ reasoningPresets?: ReasoningPresets;
116
122
  /** 起始步骤(默认配置中心菜单) */
117
123
  initialStep?: WizardStep;
124
+ /**
125
+ * 终端尺寸覆盖(供测试固定帧高用)。
126
+ * 缺省时按真实窗口尺寸(`useWindowSize`),再退默认 80×24。
127
+ * 注入后「吸底」帧高不再依赖运行环境能否探测到终端高度。
128
+ */
129
+ terminalSize?: {
130
+ columns: number;
131
+ rows: number;
132
+ };
118
133
  /** 首启引导模式:文案更完整,Esc 语义为「放弃」 */
119
134
  onboarding?: boolean;
120
135
  /** 保存成功后直接关闭(首启引导 / `/key`),否则回到配置中心菜单 */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/wizard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAUpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,6BAkBpD"}
1
+ {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/wizard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAUpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,6BAmBpD"}
@@ -16,9 +16,10 @@ import { renderNewEndpointStep } from "./step-new-endpoint.js";
16
16
  * 引擎与各步骤模块共享同一个 `WizardContext`(引擎状态 + 尺寸 + props)。
17
17
  */
18
18
  export function ConfigWizard(props) {
19
- const { columns, rows: terminalRows } = useWindowSize();
20
- const cols = columns ?? 80;
21
- const rows = terminalRows ?? 24;
19
+ const windowSize = useWindowSize();
20
+ // 优先用注入的尺寸(测试固定帧高),否则按真实窗口尺寸,再退默认 80×24
21
+ const cols = props.terminalSize?.columns ?? windowSize.columns ?? 80;
22
+ const rows = props.terminalSize?.rows ?? windowSize.rows ?? 24;
22
23
  const engine = useWizardEngine(props);
23
24
  const ctx = { ...engine, cols, rows, props };
24
25
  return (renderMenuStep(ctx) ??
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/tui/config-wizard/wizard.tsx"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;IAEhC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAkB,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAE5D,OAAO,CACL,cAAc,CAAC,GAAG,CAAC;QACnB,kBAAkB,CAAC,GAAG,CAAC;QACvB,mBAAmB,CAAC,GAAG,CAAC;QACxB,gBAAgB,CAAC,GAAG,CAAC;QACrB,aAAa,CAAC,GAAG,CAAC;QAClB,gBAAgB,CAAC,GAAG,CAAC;QACrB,gBAAgB,CAAC,GAAG,CAAC;QACrB,qBAAqB,CAAC,GAAG,CAAC,CAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/tui/config-wizard/wizard.tsx"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,wCAAwC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;IACrE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IAE/D,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAkB,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAE5D,OAAO,CACL,cAAc,CAAC,GAAG,CAAC;QACnB,kBAAkB,CAAC,GAAG,CAAC;QACvB,mBAAmB,CAAC,GAAG,CAAC;QACxB,gBAAgB,CAAC,GAAG,CAAC;QACrB,aAAa,CAAC,GAAG,CAAC;QAClB,gBAAgB,CAAC,GAAG,CAAC;QACrB,gBAAgB,CAAC,GAAG,CAAC;QACrB,qBAAqB,CAAC,GAAG,CAAC,CAC3B,CAAC;AACJ,CAAC"}
@@ -27,8 +27,9 @@ export declare function supportedLanguages(): string[];
27
27
  /**
28
28
  * 把正文切成「普通文本 / 围栏代码块」两类片段。
29
29
  *
30
- * 围栏行(``` 与 ```lang)本身作为分隔符**丢弃**,不进入任何片段 —— 渲染时代码块以
31
- * 高亮行呈现,无需再显示裸围栏。
30
+ * 围栏行(``` 与 ```lang)本身作为分隔符**不进入片段**,只解析出语言存进 `lang`;
31
+ * 渲染时由 `contentLines` 依据 `lang` 重新画出围栏行(`​```lang` / `​```),
32
+ * 从而既能按语言高亮代码、又能保留围栏边界。
32
33
  */
33
34
  export declare function splitFences(text: string): CodeSegment[];
34
35
  //# sourceMappingURL=highlight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../src/tui/highlight.ts"],"names":[],"mappings":"AAeA,kEAAkE;AAClE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gBAAgB;AAChB,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAgClD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAcpE;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAErD;AAED,wBAAwB;AACxB,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAgCvD"}
1
+ {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../src/tui/highlight.ts"],"names":[],"mappings":"AAeA,kEAAkE;AAClE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gBAAgB;AAChB,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAgClD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAcpE;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAErD;AAED,wBAAwB;AACxB,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAMD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAgCvD"}
@@ -77,8 +77,9 @@ const FENCE_RE = /^\s*```(.*)$/;
77
77
  /**
78
78
  * 把正文切成「普通文本 / 围栏代码块」两类片段。
79
79
  *
80
- * 围栏行(``` 与 ```lang)本身作为分隔符**丢弃**,不进入任何片段 —— 渲染时代码块以
81
- * 高亮行呈现,无需再显示裸围栏。
80
+ * 围栏行(``` 与 ```lang)本身作为分隔符**不进入片段**,只解析出语言存进 `lang`;
81
+ * 渲染时由 `contentLines` 依据 `lang` 重新画出围栏行(`​```lang` / `​```),
82
+ * 从而既能按语言高亮代码、又能保留围栏边界。
82
83
  */
83
84
  export function splitFences(text) {
84
85
  const segments = [];
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../src/tui/highlight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../src/tui/highlight.ts"],"names":[],"mappings":"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"}
@@ -25,9 +25,26 @@
25
25
  export declare const RENDER_OPTIONS: {
26
26
  readonly exitOnCtrlC: false;
27
27
  readonly alternateScreen: false;
28
+ readonly incrementalRendering: true;
28
29
  readonly kittyKeyboard: {
29
30
  readonly mode: "disabled";
30
31
  };
31
32
  };
32
- export declare function runTui(): Promise<void>;
33
+ /** `runTui()` 的可选参数 */
34
+ export interface RunTuiOptions {
35
+ /**
36
+ * 进入对话屏后**自动作为首条消息发送**的内容。
37
+ *
38
+ * 来源只有一处:shell 兜底钩子 `ai --tui --new "$@"`(命令不存在时把原命令带进来)。
39
+ * 不预填到输入框——钩子的语义就是「这条命令跑不了,你帮我处理」,等用户再敲一次回车没有意义。
40
+ */
41
+ initialPrompt?: string;
42
+ /**
43
+ * `--new`:**开一条新会话**,跳过「续接该目录上一轮对话」(`last-session.json` 指针)。
44
+ *
45
+ * 默认(不带 `--new`)保持续接行为:`ai` 回到上次的对话是常用预期。
46
+ */
47
+ newSession?: boolean;
48
+ }
49
+ export declare function runTui(options?: RunTuiOptions): Promise<void>;
33
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0CH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc;;;;;;CAIjB,CAAC;AAuLX,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqDH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AA8MX,uBAAuB;AACvB,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DvE"}