@agi-fans/dsh-tui 0.21.0 → 0.23.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 (389) hide show
  1. package/LICENSE +26 -0
  2. package/lib/CHANGELOG.md +356 -1
  3. package/lib/chrome/box.d.ts +32 -18
  4. package/lib/chrome/box.js +131 -132
  5. package/lib/chrome/box.js.map +1 -1
  6. package/lib/chrome/code-highlight.d.ts +15 -0
  7. package/lib/chrome/code-highlight.js +61 -5
  8. package/lib/chrome/code-highlight.js.map +1 -1
  9. package/lib/chrome/command-output.d.ts +28 -2
  10. package/lib/chrome/command-output.js +106 -4
  11. package/lib/chrome/command-output.js.map +1 -1
  12. package/lib/chrome/goal-bar.js +1 -1
  13. package/lib/chrome/goal-bar.js.map +1 -1
  14. package/lib/chrome/main-screen-renderer.d.ts +16 -0
  15. package/lib/chrome/main-screen-renderer.js +57 -8
  16. package/lib/chrome/main-screen-renderer.js.map +1 -1
  17. package/lib/chrome/markdown.d.ts +3 -3
  18. package/lib/chrome/markdown.js +101 -32
  19. package/lib/chrome/markdown.js.map +1 -1
  20. package/lib/chrome/md-style.d.ts +5 -2
  21. package/lib/chrome/md-style.js +13 -4
  22. package/lib/chrome/md-style.js.map +1 -1
  23. package/lib/chrome/relative-time.d.ts +17 -0
  24. package/lib/chrome/relative-time.js +36 -0
  25. package/lib/chrome/relative-time.js.map +1 -1
  26. package/lib/chrome/renderer.d.ts +37 -1
  27. package/lib/chrome/renderer.js.map +1 -1
  28. package/lib/chrome/secret-mask.d.ts +35 -0
  29. package/lib/chrome/secret-mask.js +180 -0
  30. package/lib/chrome/secret-mask.js.map +1 -0
  31. package/lib/chrome/status-config.d.ts +161 -51
  32. package/lib/chrome/status-config.js +237 -126
  33. package/lib/chrome/status-config.js.map +1 -1
  34. package/lib/chrome/status-line.d.ts +6 -5
  35. package/lib/chrome/status-line.js +110 -68
  36. package/lib/chrome/status-line.js.map +1 -1
  37. package/lib/chrome/terminal-colors.d.ts +85 -0
  38. package/lib/chrome/terminal-colors.js +230 -0
  39. package/lib/chrome/terminal-colors.js.map +1 -0
  40. package/lib/chrome/terminal-images.d.ts +9 -1
  41. package/lib/chrome/terminal-images.js +27 -4
  42. package/lib/chrome/terminal-images.js.map +1 -1
  43. package/lib/chrome/theme.d.ts +38 -10
  44. package/lib/chrome/theme.js +537 -542
  45. package/lib/chrome/theme.js.map +1 -1
  46. package/lib/chrome/tool-renderers.js +69 -13
  47. package/lib/chrome/tool-renderers.js.map +1 -1
  48. package/lib/chrome/tools-list.d.ts +1 -4
  49. package/lib/chrome/tools-list.js +1 -41
  50. package/lib/chrome/tools-list.js.map +1 -1
  51. package/lib/commands/auth-account.d.ts +9 -0
  52. package/lib/commands/auth-account.js +202 -0
  53. package/lib/commands/auth-account.js.map +1 -0
  54. package/lib/commands/auth-ids.d.ts +25 -0
  55. package/lib/commands/auth-ids.js +27 -0
  56. package/lib/commands/auth-ids.js.map +1 -0
  57. package/lib/commands/auth-input.d.ts +34 -0
  58. package/lib/commands/auth-input.js +96 -0
  59. package/lib/commands/auth-input.js.map +1 -0
  60. package/lib/commands/auth-providers.d.ts +39 -0
  61. package/lib/commands/auth-providers.js +125 -0
  62. package/lib/commands/auth-providers.js.map +1 -0
  63. package/lib/commands/auth.d.ts +12 -20
  64. package/lib/commands/auth.js +264 -627
  65. package/lib/commands/auth.js.map +1 -1
  66. package/lib/commands/btw.d.ts +13 -1
  67. package/lib/commands/btw.js +37 -104
  68. package/lib/commands/btw.js.map +1 -1
  69. package/lib/commands/diff.js +23 -112
  70. package/lib/commands/diff.js.map +1 -1
  71. package/lib/commands/export.d.ts +0 -1
  72. package/lib/commands/export.js +98 -57
  73. package/lib/commands/export.js.map +1 -1
  74. package/lib/commands/files.d.ts +17 -1
  75. package/lib/commands/files.js +68 -114
  76. package/lib/commands/files.js.map +1 -1
  77. package/lib/commands/integrations.d.ts +12 -1
  78. package/lib/commands/integrations.js +120 -23
  79. package/lib/commands/integrations.js.map +1 -1
  80. package/lib/commands/jobs-browser.d.ts +3 -0
  81. package/lib/commands/jobs-browser.js +152 -0
  82. package/lib/commands/jobs-browser.js.map +1 -0
  83. package/lib/commands/jobs.d.ts +12 -8
  84. package/lib/commands/jobs.js +65 -14
  85. package/lib/commands/jobs.js.map +1 -1
  86. package/lib/commands/model.d.ts +3 -0
  87. package/lib/commands/model.js +223 -114
  88. package/lib/commands/model.js.map +1 -1
  89. package/lib/commands/open-external.d.ts +2 -0
  90. package/lib/commands/open-external.js +19 -0
  91. package/lib/commands/open-external.js.map +1 -0
  92. package/lib/commands/permission.js +70 -60
  93. package/lib/commands/permission.js.map +1 -1
  94. package/lib/commands/plugins.js +427 -68
  95. package/lib/commands/plugins.js.map +1 -1
  96. package/lib/commands/schedule-catalog.d.ts +12 -0
  97. package/lib/commands/schedule-catalog.js +41 -0
  98. package/lib/commands/schedule-catalog.js.map +1 -0
  99. package/lib/commands/schedule-history.d.ts +4 -0
  100. package/lib/commands/schedule-history.js +62 -0
  101. package/lib/commands/schedule-history.js.map +1 -0
  102. package/lib/commands/schedule.d.ts +16 -9
  103. package/lib/commands/schedule.js +226 -162
  104. package/lib/commands/schedule.js.map +1 -1
  105. package/lib/commands/session-configuration.d.ts +3 -0
  106. package/lib/commands/session-configuration.js +58 -32
  107. package/lib/commands/session-configuration.js.map +1 -1
  108. package/lib/commands/session.js +118 -97
  109. package/lib/commands/session.js.map +1 -1
  110. package/lib/commands/terminal.d.ts +14 -8
  111. package/lib/commands/terminal.js +32 -185
  112. package/lib/commands/terminal.js.map +1 -1
  113. package/lib/commands/trajectory.js +4 -1
  114. package/lib/commands/trajectory.js.map +1 -1
  115. package/lib/definition.d.ts +226 -29
  116. package/lib/definition.js.map +1 -1
  117. package/lib/index.d.ts +2 -0
  118. package/lib/index.js +2 -0
  119. package/lib/index.js.map +1 -1
  120. package/lib/input/actions.d.ts +51 -0
  121. package/lib/input/actions.js +123 -0
  122. package/lib/input/actions.js.map +1 -0
  123. package/lib/input/composer-files.d.ts +2 -0
  124. package/lib/input/composer-files.js +13 -3
  125. package/lib/input/composer-files.js.map +1 -1
  126. package/lib/input/editor.d.ts +0 -10
  127. package/lib/input/editor.js +11 -9
  128. package/lib/input/editor.js.map +1 -1
  129. package/lib/input/image-paste.d.ts +12 -1
  130. package/lib/input/image-paste.js +86 -1
  131. package/lib/input/image-paste.js.map +1 -1
  132. package/lib/input/key-test.d.ts +5 -0
  133. package/lib/input/key-test.js +19 -0
  134. package/lib/input/key-test.js.map +1 -0
  135. package/lib/input/keybindings-config.d.ts +12 -5
  136. package/lib/input/keybindings-config.js +30 -57
  137. package/lib/input/keybindings-config.js.map +1 -1
  138. package/lib/input/keys.d.ts +18 -0
  139. package/lib/input/keys.js +42 -4
  140. package/lib/input/keys.js.map +1 -1
  141. package/lib/input/wheel-scroll.d.ts +46 -0
  142. package/lib/input/wheel-scroll.js +69 -0
  143. package/lib/input/wheel-scroll.js.map +1 -0
  144. package/lib/locale/index.d.ts +6 -0
  145. package/lib/locale/index.js +32 -0
  146. package/lib/locale/index.js.map +1 -0
  147. package/lib/locale/prompt.d.ts +4 -0
  148. package/lib/locale/prompt.js +24 -0
  149. package/lib/locale/prompt.js.map +1 -0
  150. package/lib/locale/zh.d.ts +1114 -0
  151. package/lib/locale/zh.js +1115 -0
  152. package/lib/locale/zh.js.map +1 -0
  153. package/lib/prompt-intents.d.ts +186 -0
  154. package/lib/prompt-intents.js +131 -0
  155. package/lib/prompt-intents.js.map +1 -0
  156. package/lib/runtime/account-settings.d.ts +18 -0
  157. package/lib/runtime/account-settings.js +241 -0
  158. package/lib/runtime/account-settings.js.map +1 -0
  159. package/lib/runtime/agent-profile.d.ts +3 -3
  160. package/lib/runtime/agent-profile.js +4 -4
  161. package/lib/runtime/agent-profile.js.map +1 -1
  162. package/lib/runtime/btw-policy.js +2 -1
  163. package/lib/runtime/btw-policy.js.map +1 -1
  164. package/lib/runtime/btw.js +1 -2
  165. package/lib/runtime/btw.js.map +1 -1
  166. package/lib/runtime/cancellable.d.ts +75 -0
  167. package/lib/runtime/cancellable.js +76 -0
  168. package/lib/runtime/cancellable.js.map +1 -0
  169. package/lib/runtime/composer-images.d.ts +2 -2
  170. package/lib/runtime/composer-images.js +7 -6
  171. package/lib/runtime/composer-images.js.map +1 -1
  172. package/lib/runtime/composer-shell.d.ts +17 -2
  173. package/lib/runtime/composer-shell.js +133 -41
  174. package/lib/runtime/composer-shell.js.map +1 -1
  175. package/lib/runtime/file-browser.d.ts +19 -0
  176. package/lib/runtime/file-browser.js +291 -0
  177. package/lib/runtime/file-browser.js.map +1 -0
  178. package/lib/runtime/file-recovery-review.d.ts +0 -1
  179. package/lib/runtime/file-recovery-review.js +29 -30
  180. package/lib/runtime/file-recovery-review.js.map +1 -1
  181. package/lib/runtime/file-recovery-store.js +5 -1
  182. package/lib/runtime/file-recovery-store.js.map +1 -1
  183. package/lib/runtime/file-review.d.ts +6 -9
  184. package/lib/runtime/file-review.js +92 -8
  185. package/lib/runtime/file-review.js.map +1 -1
  186. package/lib/runtime/help-reader.d.ts +12 -0
  187. package/lib/runtime/help-reader.js +50 -0
  188. package/lib/runtime/help-reader.js.map +1 -0
  189. package/lib/runtime/hook-settings.d.ts +2 -2
  190. package/lib/runtime/human-interaction.js +1 -1
  191. package/lib/runtime/human-interaction.js.map +1 -1
  192. package/lib/runtime/model-catalog-editor.d.ts +12 -0
  193. package/lib/runtime/model-catalog-editor.js +215 -0
  194. package/lib/runtime/model-catalog-editor.js.map +1 -0
  195. package/lib/runtime/model-settings.d.ts +11 -0
  196. package/lib/runtime/model-settings.js +404 -0
  197. package/lib/runtime/model-settings.js.map +1 -0
  198. package/lib/runtime/plain-tui.d.ts +2 -0
  199. package/lib/runtime/plain-tui.js +7 -1
  200. package/lib/runtime/plain-tui.js.map +1 -1
  201. package/lib/runtime/plugin-settings.d.ts +4 -1
  202. package/lib/runtime/plugin-settings.js +170 -92
  203. package/lib/runtime/plugin-settings.js.map +1 -1
  204. package/lib/runtime/prompt-browser.d.ts +9 -0
  205. package/lib/runtime/prompt-browser.js +19 -0
  206. package/lib/runtime/prompt-browser.js.map +1 -0
  207. package/lib/runtime/provider-local.d.ts +80 -38
  208. package/lib/runtime/provider-local.js +2280 -683
  209. package/lib/runtime/provider-local.js.map +1 -1
  210. package/lib/runtime/reference-reader.d.ts +15 -0
  211. package/lib/runtime/reference-reader.js +78 -0
  212. package/lib/runtime/reference-reader.js.map +1 -0
  213. package/lib/runtime/runner.js +42 -39
  214. package/lib/runtime/runner.js.map +1 -1
  215. package/lib/runtime/session-runtime.js +1 -1
  216. package/lib/runtime/session-runtime.js.map +1 -1
  217. package/lib/runtime/settings-draft.d.ts +21 -0
  218. package/lib/runtime/settings-draft.js +166 -0
  219. package/lib/runtime/settings-draft.js.map +1 -0
  220. package/lib/runtime/settings-preferences.js +1 -1
  221. package/lib/runtime/settings-preferences.js.map +1 -1
  222. package/lib/runtime/startup-notices.d.ts +0 -1
  223. package/lib/runtime/startup-notices.js +35 -4
  224. package/lib/runtime/startup-notices.js.map +1 -1
  225. package/lib/runtime/subagent-model-selection.js +2 -1
  226. package/lib/runtime/subagent-model-selection.js.map +1 -1
  227. package/lib/runtime/subagent-settings.d.ts +14 -0
  228. package/lib/runtime/subagent-settings.js +288 -0
  229. package/lib/runtime/subagent-settings.js.map +1 -0
  230. package/lib/runtime/terminal-modes.d.ts +47 -0
  231. package/lib/runtime/terminal-modes.js +86 -0
  232. package/lib/runtime/terminal-modes.js.map +1 -0
  233. package/lib/runtime/terminal-notifications.d.ts +6 -5
  234. package/lib/runtime/terminal-notifications.js +17 -16
  235. package/lib/runtime/terminal-notifications.js.map +1 -1
  236. package/lib/runtime/terminal-probe.d.ts +38 -0
  237. package/lib/runtime/terminal-probe.js +46 -0
  238. package/lib/runtime/terminal-probe.js.map +1 -0
  239. package/lib/runtime/terminal-session.d.ts +57 -0
  240. package/lib/runtime/terminal-session.js +164 -0
  241. package/lib/runtime/terminal-session.js.map +1 -0
  242. package/lib/runtime/tool-presentation.js.map +1 -1
  243. package/lib/runtime/tool-reader.d.ts +5 -0
  244. package/lib/runtime/tool-reader.js +27 -0
  245. package/lib/runtime/tool-reader.js.map +1 -0
  246. package/lib/runtime/web-settings.d.ts +14 -0
  247. package/lib/runtime/web-settings.js +339 -0
  248. package/lib/runtime/web-settings.js.map +1 -0
  249. package/lib/session/command-attachments.d.ts +17 -0
  250. package/lib/session/command-attachments.js +50 -0
  251. package/lib/session/command-attachments.js.map +1 -0
  252. package/lib/session/context-diagnostics.d.ts +16 -0
  253. package/lib/session/context-diagnostics.js +15 -0
  254. package/lib/session/context-diagnostics.js.map +1 -1
  255. package/lib/session/external-agents.d.ts +3 -1
  256. package/lib/session/external-agents.js +35 -10
  257. package/lib/session/external-agents.js.map +1 -1
  258. package/lib/session/generation-continuation.d.ts +11 -0
  259. package/lib/session/generation-continuation.js +34 -0
  260. package/lib/session/generation-continuation.js.map +1 -0
  261. package/lib/session/goal-controls.d.ts +5 -0
  262. package/lib/session/goal-controls.js +81 -0
  263. package/lib/session/goal-controls.js.map +1 -0
  264. package/lib/session/interaction-adapter.d.ts +7 -3
  265. package/lib/session/interaction-adapter.js +125 -54
  266. package/lib/session/interaction-adapter.js.map +1 -1
  267. package/lib/session/message-queue.d.ts +2 -0
  268. package/lib/session/message-queue.js +102 -17
  269. package/lib/session/message-queue.js.map +1 -1
  270. package/lib/session/package-metadata.d.ts +8 -0
  271. package/lib/session/package-metadata.js +8 -0
  272. package/lib/session/package-metadata.js.map +1 -1
  273. package/lib/session/pending-inputs.d.ts +30 -0
  274. package/lib/session/pending-inputs.js +183 -0
  275. package/lib/session/pending-inputs.js.map +1 -0
  276. package/lib/session/session-configuration.js +1 -1
  277. package/lib/session/session-configuration.js.map +1 -1
  278. package/lib/session/session-controller.d.ts +42 -24
  279. package/lib/session/session-controller.js +534 -106
  280. package/lib/session/session-controller.js.map +1 -1
  281. package/lib/session/session-tree.d.ts +2 -0
  282. package/lib/session/session-tree.js +2 -0
  283. package/lib/session/session-tree.js.map +1 -1
  284. package/lib/session/subagent-roster.d.ts +1 -0
  285. package/lib/session/subagent-roster.js +16 -5
  286. package/lib/session/subagent-roster.js.map +1 -1
  287. package/lib/session/subagent-tracker.d.ts +2 -0
  288. package/lib/session/subagent-tracker.js +18 -0
  289. package/lib/session/subagent-tracker.js.map +1 -1
  290. package/lib/session/tui-settings.d.ts +48 -15
  291. package/lib/session/tui-settings.js +75 -34
  292. package/lib/session/tui-settings.js.map +1 -1
  293. package/lib/session/workflow-projection.d.ts +2 -1
  294. package/lib/session/workflow-projection.js +34 -4
  295. package/lib/session/workflow-projection.js.map +1 -1
  296. package/lib/views/autocomplete.d.ts +28 -9
  297. package/lib/views/autocomplete.js +90 -70
  298. package/lib/views/autocomplete.js.map +1 -1
  299. package/lib/views/context-overview.d.ts +4 -0
  300. package/lib/views/context-overview.js +43 -0
  301. package/lib/views/context-overview.js.map +1 -0
  302. package/lib/views/copy-targets.d.ts +18 -15
  303. package/lib/views/copy-targets.js +35 -60
  304. package/lib/views/copy-targets.js.map +1 -1
  305. package/lib/views/document-reader.d.ts +10 -1
  306. package/lib/views/document-reader.js +76 -9
  307. package/lib/views/document-reader.js.map +1 -1
  308. package/lib/views/event-views.js +71 -17
  309. package/lib/views/event-views.js.map +1 -1
  310. package/lib/views/file-actions.js +21 -0
  311. package/lib/views/file-actions.js.map +1 -1
  312. package/lib/views/file-browser.d.ts +98 -0
  313. package/lib/views/file-browser.js +120 -0
  314. package/lib/views/file-browser.js.map +1 -0
  315. package/lib/views/history-search.js +19 -25
  316. package/lib/views/history-search.js.map +1 -1
  317. package/lib/views/hotkey-format.d.ts +3 -2
  318. package/lib/views/hotkey-format.js +4 -3
  319. package/lib/views/hotkey-format.js.map +1 -1
  320. package/lib/views/hotkeys.d.ts +7 -1
  321. package/lib/views/hotkeys.js +59 -37
  322. package/lib/views/hotkeys.js.map +1 -1
  323. package/lib/views/list-navigation.d.ts +62 -0
  324. package/lib/views/list-navigation.js +73 -0
  325. package/lib/views/list-navigation.js.map +1 -0
  326. package/lib/views/list-view.d.ts +99 -0
  327. package/lib/views/list-view.js +170 -0
  328. package/lib/views/list-view.js.map +1 -0
  329. package/lib/views/prompt-selector.d.ts +54 -4
  330. package/lib/views/prompt-selector.js +349 -162
  331. package/lib/views/prompt-selector.js.map +1 -1
  332. package/lib/views/session-files.d.ts +1 -2
  333. package/lib/views/session-files.js +1 -11
  334. package/lib/views/session-files.js.map +1 -1
  335. package/lib/views/settings-list.d.ts +16 -9
  336. package/lib/views/settings-list.js +171 -315
  337. package/lib/views/settings-list.js.map +1 -1
  338. package/lib/views/tool-actions.d.ts +16 -0
  339. package/lib/views/tool-actions.js +29 -0
  340. package/lib/views/tool-actions.js.map +1 -0
  341. package/lib/views/trajectory-timeline.d.ts +71 -0
  342. package/lib/views/trajectory-timeline.js +143 -0
  343. package/lib/views/trajectory-timeline.js.map +1 -0
  344. package/lib/views/trajectory.d.ts +36 -4
  345. package/lib/views/trajectory.js +842 -190
  346. package/lib/views/trajectory.js.map +1 -1
  347. package/lib/views/transcript-render.d.ts +132 -38
  348. package/lib/views/transcript-render.js +792 -260
  349. package/lib/views/transcript-render.js.map +1 -1
  350. package/lib/views/transcript-search.d.ts +39 -6
  351. package/lib/views/transcript-search.js +46 -11
  352. package/lib/views/transcript-search.js.map +1 -1
  353. package/lib/views/transcript-types.d.ts +64 -5
  354. package/lib/views/transcript-types.js +23 -11
  355. package/lib/views/transcript-types.js.map +1 -1
  356. package/lib/views/workflow.d.ts +16 -0
  357. package/lib/views/workflow.js +42 -0
  358. package/lib/views/workflow.js.map +1 -0
  359. package/package.json +74 -90
  360. package/lib/chrome/welcome-tips.d.ts +0 -11
  361. package/lib/chrome/welcome-tips.js +0 -44
  362. package/lib/chrome/welcome-tips.js.map +0 -1
  363. package/lib/commands/advisor.d.ts +0 -15
  364. package/lib/commands/advisor.js +0 -200
  365. package/lib/commands/advisor.js.map +0 -1
  366. package/lib/commands/loop.d.ts +0 -52
  367. package/lib/commands/loop.js +0 -307
  368. package/lib/commands/loop.js.map +0 -1
  369. package/lib/commands/rate.d.ts +0 -33
  370. package/lib/commands/rate.js +0 -212
  371. package/lib/commands/rate.js.map +0 -1
  372. package/lib/commands/steer.d.ts +0 -5
  373. package/lib/commands/steer.js +0 -24
  374. package/lib/commands/steer.js.map +0 -1
  375. package/lib/commands/worktree.d.ts +0 -5
  376. package/lib/commands/worktree.js +0 -103
  377. package/lib/commands/worktree.js.map +0 -1
  378. package/lib/runtime/terminal-reader.d.ts +0 -11
  379. package/lib/runtime/terminal-reader.js +0 -87
  380. package/lib/runtime/terminal-reader.js.map +0 -1
  381. package/lib/session/steering.d.ts +0 -3
  382. package/lib/session/steering.js +0 -9
  383. package/lib/session/steering.js.map +0 -1
  384. package/lib/views/agent-hub.d.ts +0 -32
  385. package/lib/views/agent-hub.js +0 -209
  386. package/lib/views/agent-hub.js.map +0 -1
  387. package/lib/views/copy-selector.d.ts +0 -54
  388. package/lib/views/copy-selector.js +0 -170
  389. package/lib/views/copy-selector.js.map +0 -1
@@ -0,0 +1,404 @@
1
+ /** Staged provider configuration over Harness settings, catalogs and write-only credentials. */
2
+ import z from '@deepseek-ai/schemastery';
3
+ import { credentialRef } from '@deepseek-ai/dsh-credentials';
4
+ import { resolveUiLanguage, uiText } from "../locale/index.js";
5
+ import { askPrompt } from "../prompt-intents.js";
6
+ import { managedProviderCredentialRef, parseBaseURL, parseModelIds, parseProviderId } from "../commands/auth-input.js";
7
+ import { walkPath } from "../commands/auth-providers.js";
8
+ import { rebaseSettingsDraft, settingsDraftSummary } from "./settings-draft.js";
9
+ import { openAccountSettings } from "./account-settings.js";
10
+ import { editModelCatalog, modelReasoningLevels } from "./model-catalog-editor.js";
11
+ const NAMESPACES = ['llm-deepseek', 'llm-pi-ai'];
12
+ const MODEL_SETTINGS = 'models:providers';
13
+ const text = (ctx, source, values) => uiText(resolveUiLanguage(ctx.tui.prefs().uiLanguage), source, values);
14
+ const list = { localize: true, allowCustom: false, notify: false };
15
+ const object = (value) => typeof value === 'object' && value !== null && !Array.isArray(value) ? value : {};
16
+ const string = (value) => typeof value === 'string' ? value : '';
17
+ const models = (value) => Array.isArray(value) ? value.map(object) : [];
18
+ const describe = (ctx, ns) => ctx.settings.describe({ redactSecrets: true }).find(section => section.ns === ns);
19
+ const profile = (section, entry) => object(walkPath(section.value, entry.settingsPath));
20
+ const custom = (entry) => entry.settingsNs === 'llm-pi-ai' && entry.declared === true;
21
+ function llm(ctx) {
22
+ const service = ctx.get('llm');
23
+ if (service === undefined)
24
+ throw new Error('Model providers are no longer available.');
25
+ return service;
26
+ }
27
+ const errorText = (error) => error instanceof Error ? error.message : String(error);
28
+ export function modelSettingsEntry(ctx) {
29
+ if (ctx.get('llm') === undefined || !ctx.settings.describe({ redactSecrets: true }).some(section => NAMESPACES.includes(section.ns)))
30
+ return [];
31
+ return [{ id: MODEL_SETTINGS, label: 'Model providers', section: 'models', fields: [], behavior: ctx.settings.writable ? 'Profile · Apply to save' : 'Profile · Read only',
32
+ description: 'Manage provider credentials, endpoints and model lists. Keeps the selected model.', summary: 'Configure' }];
33
+ }
34
+ /** Choices come from the mounted adapter schema, including protocols added by later releases. */
35
+ function protocols(section) {
36
+ const root = new z(section.schema);
37
+ return (root.dict?.providers?.inner?.dict?.api?.list ?? []).flatMap(item => typeof item.value === 'string' ? [item.value] : []);
38
+ }
39
+ function deletable(section, entry) {
40
+ return entry.settingsPath.length > 0 && walkPath(section.user, entry.settingsPath) !== undefined && walkPath(section.base, entry.settingsPath) === undefined;
41
+ }
42
+ function assertRevision(ctx, section) {
43
+ if (!ctx.settings.writable)
44
+ throw new Error('This profile is read-only.');
45
+ if (describe(ctx, section.ns)?.revision !== section.revision)
46
+ throw new Error('Configuration changed. Load the latest settings to continue with your draft.');
47
+ }
48
+ /** Never materialize redacted secret slots when replacing a compound catalog value. */
49
+ function assertCatalogWritable(section, path) {
50
+ if (section.secrets?.some(secret => secret.path.slice(0, path.length).join('.') === path.join('.'))) {
51
+ throw new Error('This model list contains protected fields. Edit it in the profile configuration.');
52
+ }
53
+ }
54
+ function normalizeKey(raw) {
55
+ const value = raw.trim();
56
+ if (!/^[\x21-\x7e]+$/u.test(value) || /^\w+=/u.test(value) || /^(".*"|'.*')$/u.test(value))
57
+ throw new Error('Paste only the API key, without quotes or an environment assignment.');
58
+ return value;
59
+ }
60
+ async function authentication(ctx, entry, value) {
61
+ const refs = [...new Set([...(string(value.apiKeyEnv) ? [string(value.apiKeyEnv)] : []), ...(entry.settingsNs === 'llm-deepseek' ? ['DEEPSEEK_API_KEY'] : entry.nativeAuth?.env ?? [])])];
62
+ for (const ref of refs) {
63
+ const info = await ctx.credentials.describe(credentialRef(ref));
64
+ if (info.configured)
65
+ return info.source === 'file' ? 'Key stored locally' : 'Environment credential';
66
+ }
67
+ return refs.length > 0 ? 'Key not configured' : 'Provider-managed authentication';
68
+ }
69
+ async function providerRows(ctx) {
70
+ const active = new Set(llm(ctx).listProviders().map(entry => entry.id));
71
+ const sections = new Map(ctx.settings.describe({ redactSecrets: true }).map(section => [String(section.ns), section]));
72
+ const entries = llm(ctx).listConfigurableProviders().filter(entry => NAMESPACES.includes(entry.settingsNs) && sections.has(entry.settingsNs));
73
+ const rows = await Promise.all(entries.filter(entry => entry.settingsPath.length === 0 || walkPath(sections.get(entry.settingsNs)?.value, entry.settingsPath) !== undefined).map(async (entry) => {
74
+ const section = sections.get(entry.settingsNs);
75
+ let detail = '', error = entry.error;
76
+ try {
77
+ detail = text(ctx, await authentication(ctx, entry, profile(section, entry)));
78
+ const count = active.has(entry.provider) ? (await llm(ctx).listModels(entry.provider)).length : models(profile(section, entry).models).length;
79
+ detail += ' · ' + text(ctx, '{count} models', { count });
80
+ }
81
+ catch (cause) {
82
+ error = errorText(cause);
83
+ }
84
+ return { label: entry.displayName, value: entry.provider, description: entry.provider,
85
+ preview: error ?? detail, badge: { label: error === undefined ? detail : 'Load error', tone: error === undefined ? 'muted' : 'warning' } };
86
+ }));
87
+ rows.sort((a, b) => Number(b.value === 'deepseek-official') - Number(a.value === 'deepseek-official'));
88
+ if (active.has('deepseek-account')) {
89
+ try {
90
+ const count = (await llm(ctx).listModels('deepseek-account')).length;
91
+ if (count > 0)
92
+ rows.unshift({ label: text(ctx, 'DeepSeek Account'), value: 'deepseek-account', description: 'deepseek-account', preview: text(ctx, 'Manage account sign-in, profile and balances.'), badge: { label: text(ctx, '{count} models', { count }), tone: 'muted' } });
93
+ }
94
+ catch { /* The account owns its unavailable catalog and sign-in diagnostics. */ }
95
+ }
96
+ return rows;
97
+ }
98
+ export async function openModelSettings(ctx, signal) {
99
+ let rows = [], dirty = true, loading = false, closed = false, generation = 0;
100
+ const invalidate = () => { dirty = true; };
101
+ const off = [ctx.on('settings/document-updated', invalidate), ctx.on('credentials/reference-updated', invalidate), ctx.on('llm/adapters-updated', invalidate)];
102
+ const reload = async () => {
103
+ const version = ++generation;
104
+ dirty = false;
105
+ loading = true;
106
+ try {
107
+ const next = await providerRows(ctx);
108
+ if (version === generation && !closed && !signal.aborted) {
109
+ const adapter = describe(ctx, 'llm-pi-ai');
110
+ const add = ctx.settings.writable && adapter !== undefined && (protocols(adapter).length > 0 || llm(ctx).listConfigurableProviders().some(entry => entry.settingsNs === adapter.ns && entry.declared !== true && walkPath(adapter.value, entry.settingsPath) === undefined));
111
+ rows = [...next, ...(add ? [{ label: text(ctx, 'Add model provider'), value: '@add' }] : []), { label: text(ctx, 'Refresh'), value: '@refresh' }];
112
+ }
113
+ }
114
+ catch (error) {
115
+ if (version === generation && !closed && !signal.aborted)
116
+ rows = [
117
+ { label: text(ctx, 'Load error'), value: '@error', description: errorText(error), disabled: true },
118
+ { label: text(ctx, 'Refresh'), value: '@refresh' },
119
+ ];
120
+ }
121
+ finally {
122
+ if (version === generation)
123
+ loading = false;
124
+ }
125
+ };
126
+ const options = () => {
127
+ if (dirty && !loading)
128
+ void reload();
129
+ return rows;
130
+ };
131
+ try {
132
+ while (!signal.aborted) {
133
+ await reload();
134
+ if (signal.aborted)
135
+ return;
136
+ const answer = await ctx.tui.prompt({ ...list, localize: ['title', 'question', 'actions'], title: 'Model providers', question: 'Choose a provider to configure', filterable: true,
137
+ options: options(), refreshOptions: options, signal });
138
+ if (answer === null)
139
+ return;
140
+ if (answer === '@refresh')
141
+ continue;
142
+ if (answer === 'deepseek-account') {
143
+ await openAccountSettings(ctx, signal);
144
+ continue;
145
+ }
146
+ if (answer === '@add') {
147
+ await addProvider(ctx, signal);
148
+ continue;
149
+ }
150
+ const entry = llm(ctx).listConfigurableProviders().find(entry => entry.provider === answer);
151
+ if (entry !== undefined)
152
+ await editProvider(ctx, entry, signal);
153
+ }
154
+ }
155
+ finally {
156
+ closed = true;
157
+ for (const dispose of off)
158
+ dispose();
159
+ }
160
+ }
161
+ async function addProvider(ctx, signal) {
162
+ const section = describe(ctx, 'llm-pi-ai');
163
+ if (section === undefined || !ctx.settings.writable)
164
+ return;
165
+ const dormant = llm(ctx).listConfigurableProviders().filter(entry => entry.settingsNs === section.ns && entry.declared !== true && walkPath(section.value, entry.settingsPath) === undefined);
166
+ const choice = await ctx.tui.prompt({ ...list, localize: ['title', 'question', 'actions'], title: 'Add model provider', question: 'Choose a catalog provider or a custom API', filterable: true,
167
+ options: [...dormant.map(entry => ({ label: entry.displayName, value: entry.provider })), ...(protocols(section).length === 0 ? [] : [{ label: text(ctx, 'Custom model API'), value: '@custom' }])], signal });
168
+ if (choice === null)
169
+ return;
170
+ const entry = dormant.find(entry => entry.provider === choice);
171
+ if (entry !== undefined) {
172
+ await editProvider(ctx, entry, signal, true);
173
+ return;
174
+ }
175
+ if (choice !== '@custom')
176
+ return;
177
+ let id = '';
178
+ while (!signal.aborted) {
179
+ const raw = await ctx.tui.prompt(askPrompt({ localize: true, title: 'Custom model API', question: 'Provider id', initialInput: id, signal }));
180
+ if (raw === null)
181
+ return;
182
+ id = raw;
183
+ try {
184
+ id = parseProviderId(raw);
185
+ if (llm(ctx).listConfigurableProviders().some(entry => entry.provider === id) || llm(ctx).listProviders().some(entry => entry.id === id) || walkPath(describe(ctx, section.ns)?.value, ['providers', id]) !== undefined)
186
+ throw new Error('This provider id already exists.');
187
+ await editProvider(ctx, { provider: id, displayName: id, settingsNs: section.ns, settingsPath: ['providers', id], declared: true }, signal, true);
188
+ return;
189
+ }
190
+ catch (error) {
191
+ if (!signal.aborted)
192
+ ctx.tui.notice(errorText(error), { level: 'error' });
193
+ }
194
+ }
195
+ }
196
+ async function editProvider(ctx, entry, signal, creating = false) {
197
+ const initial = describe(ctx, entry.settingsNs);
198
+ if (initial === undefined)
199
+ return;
200
+ let section = initial;
201
+ let saved = profile(section, entry);
202
+ const changes = new Map();
203
+ let key = '', diagnostic = entry.error ?? '';
204
+ const value = (field) => changes.has(field) ? changes.get(field) : saved[field];
205
+ while (!signal.aborted) {
206
+ const canWrite = ctx.settings.writable;
207
+ const auth = text(ctx, await authentication(ctx, entry, saved).catch(errorText));
208
+ if (signal.aborted)
209
+ return;
210
+ const choice = await ctx.tui.prompt({ ...list, localize: ['title', 'question', 'actions'], title: 'Provider settings', question: 'Edit the draft, then Apply to save', detail: [settingsDraftSummary(ctx, changes.size + (key ? 1 : 0) + (creating ? 1 : 0)), entry.displayName, entry.provider, text(ctx, diagnostic)].filter(Boolean).join('\n'),
211
+ options: [
212
+ { label: 'API key', value: 'key', description: key === '' ? auth : text(ctx, 'New key ready to save'), disabled: !canWrite },
213
+ { label: 'Base URL', value: 'baseURL', description: string(value('baseURL')) || entry.defaultBaseURL || text(ctx, 'Inherited'), disabled: !canWrite },
214
+ ...(custom(entry) ? [{ label: 'Display name', value: 'displayName', description: string(value('displayName')) || entry.provider, disabled: !canWrite },
215
+ { label: 'API protocol', value: 'api', description: string(value('api')) || text(ctx, 'Choose'), disabled: !canWrite }] : []),
216
+ { label: 'Model list', value: 'models', description: models(value('models')).map(model => string(model.id)).join(', ') || text(ctx, 'Inherited'), disabled: !canWrite },
217
+ { label: 'Fetch available models', value: 'fetch', disabled: !canWrite },
218
+ ...(!custom(entry) ? [{ label: 'Restore default models', value: 'reset', disabled: !canWrite }] : []),
219
+ ...(describe(ctx, section.ns)?.revision !== section.revision ? [{ label: 'Load latest and keep draft', value: 'reload' }] : []),
220
+ { label: 'Apply', value: 'apply', disabled: !canWrite },
221
+ ...(deletable(section, entry) && !creating ? [{ label: 'Delete provider', value: 'delete', disabled: !canWrite }] : []),
222
+ { label: 'Cancel', value: 'cancel' },
223
+ ].map(option => ({ ...option, label: text(ctx, option.label) })), signal });
224
+ if (choice === null || choice === 'cancel')
225
+ return;
226
+ if (!canWrite)
227
+ continue;
228
+ try {
229
+ if (choice === 'reload') {
230
+ const latest = describe(ctx, section.ns);
231
+ if (latest === undefined)
232
+ throw new Error('Provider configuration is no longer available.');
233
+ const result = await rebaseSettingsDraft(ctx, section, latest, changes, [...changes.keys()].map(field => ({
234
+ key: field, label: { baseURL: 'Base URL', api: 'API protocol', displayName: 'Display name', models: 'Model list' }[field] ?? field,
235
+ defaultValue: undefined, format: (value) => typeof value === 'string' ? value : JSON.stringify(value) ?? text(ctx, 'Inherited'),
236
+ })), signal, entry.settingsPath);
237
+ if (result === undefined)
238
+ continue;
239
+ const nextSaved = profile(result.section, entry);
240
+ const credentialChanged = saved.apiKeyEnv !== nextSaved.apiKeyEnv;
241
+ section = result.section;
242
+ saved = nextSaved;
243
+ changes.clear();
244
+ for (const [field, value] of result.changes)
245
+ changes.set(field, value);
246
+ diagnostic = 'Latest settings loaded. Your remaining changes are ready to apply.';
247
+ if (key && credentialChanged) {
248
+ key = '';
249
+ diagnostic = 'The credential reference changed. Enter the key again for the current reference.';
250
+ }
251
+ continue;
252
+ }
253
+ if (choice === 'apply') {
254
+ signal.throwIfAborted();
255
+ assertRevision(ctx, section);
256
+ if (custom(entry) && (!string(value('api')) || !string(value('baseURL')) || models(value('models')).length === 0))
257
+ throw new Error('Custom APIs require a URL, a protocol and at least one model.');
258
+ const ref = string(saved.apiKeyEnv) || (entry.settingsNs === 'llm-deepseek' ? 'DEEPSEEK_API_KEY' : String(managedProviderCredentialRef(entry.provider)));
259
+ if (key !== '') {
260
+ const info = await ctx.credentials.describe(credentialRef(ref));
261
+ if (!info.writable)
262
+ throw new Error('This credential is managed externally. Update its source before replacing it.');
263
+ }
264
+ signal.throwIfAborted();
265
+ const ops = [...changes].map(([field, fieldValue]) => fieldValue === undefined ? { op: 'unset', path: [...entry.settingsPath, field] } : { op: 'set', path: [...entry.settingsPath, field], value: fieldValue });
266
+ if (key !== '' && saved.apiKeyEnv !== ref)
267
+ ops.push({ op: 'set', path: [...entry.settingsPath, 'apiKeyEnv'], value: ref });
268
+ if (creating && ops.length === 0)
269
+ ops.push({ op: 'set', path: [...entry.settingsPath], value: {} });
270
+ if (ops.length > 0) {
271
+ await ctx.settings.mutate(section.ns, ops, section.revision);
272
+ const next = describe(ctx, entry.settingsNs);
273
+ if (next === undefined)
274
+ throw new Error('Provider configuration is no longer available.');
275
+ section = next;
276
+ saved = profile(section, entry);
277
+ changes.clear();
278
+ creating = false;
279
+ }
280
+ if (key !== '') {
281
+ signal.throwIfAborted();
282
+ assertRevision(ctx, section);
283
+ try {
284
+ await ctx.credentials.set(credentialRef(ref), key);
285
+ }
286
+ catch {
287
+ throw new Error('Configuration saved, but the key could not be stored. Your key draft is kept; Apply retries saving it.');
288
+ }
289
+ key = '';
290
+ }
291
+ ctx.tui.notice('Provider saved. The selected model is unchanged.');
292
+ return;
293
+ }
294
+ if (choice === 'delete') {
295
+ const confirm = await ctx.tui.prompt({ ...list, title: 'Delete provider', question: 'Remove this provider from the profile?', detail: entry.displayName + '\n' + entry.provider,
296
+ options: [{ label: 'Cancel', value: 'cancel' }, { label: 'Delete provider', value: 'delete' }], initialValue: 'cancel', signal });
297
+ if (confirm !== 'delete')
298
+ continue;
299
+ signal.throwIfAborted();
300
+ assertRevision(ctx, section);
301
+ if (!deletable(section, entry))
302
+ throw new Error('This provider is supplied by the deployment and cannot be deleted here.');
303
+ const ref = string(saved.apiKeyEnv);
304
+ if (ref === String(managedProviderCredentialRef(entry.provider))) {
305
+ const info = await ctx.credentials.describe(credentialRef(ref));
306
+ signal.throwIfAborted();
307
+ assertRevision(ctx, section);
308
+ if (info.configured && info.writable && info.source === 'file')
309
+ await ctx.credentials.unset(credentialRef(ref));
310
+ }
311
+ signal.throwIfAborted();
312
+ await ctx.settings.mutate(section.ns, [{ op: 'unset', path: entry.settingsPath }], section.revision);
313
+ ctx.tui.notice('Provider removed. The selected model is unchanged.');
314
+ return;
315
+ }
316
+ if (choice === 'reset') {
317
+ changes.set('models', undefined);
318
+ diagnostic = '';
319
+ continue;
320
+ }
321
+ if (choice === 'fetch') {
322
+ const found = await llm(ctx).discoverModels(entry.settingsNs, { ...(creating && custom(entry) ? {} : { provider: entry.provider }),
323
+ ...(string(value('baseURL')) ? { baseURL: parseBaseURL(string(value('baseURL'))) } : {}), ...(string(value('api')) ? { api: string(value('api')) } : {}), ...(key === '' ? {} : { apiKey: key }) }, signal);
324
+ if (signal.aborted)
325
+ return;
326
+ const candidates = [...new Map(found.filter(row => row.id).map(row => [row.id, row])).values()];
327
+ if (candidates.length === 0)
328
+ throw new Error('No models were returned. Enter model ids manually.');
329
+ const current = models(value('models'));
330
+ const picked = await ctx.tui.prompt({ ...list, localize: ['title', 'question', 'actions'], title: 'Model list', question: 'Choose models to enable', multiSelect: true, filterable: true,
331
+ initialValues: current.length === 0 ? candidates.map(row => row.id) : current.map(row => string(row.id)),
332
+ options: candidates.map(row => ({ label: row.id, value: row.id, description: row.name ?? row.id })), signal });
333
+ if (picked === null)
334
+ continue;
335
+ const selected = new Set(parseModelIds(picked));
336
+ assertCatalogWritable(section, [...entry.settingsPath, 'models']);
337
+ const keep = current.filter(row => !candidates.some(candidate => candidate.id === row.id) || selected.has(string(row.id)));
338
+ changes.set('models', [...keep, ...candidates.filter(row => selected.has(row.id) && !keep.some(existing => existing.id === row.id)).map(row => discoveredModel(entry, row))]);
339
+ diagnostic = '';
340
+ continue;
341
+ }
342
+ if (choice === 'models') {
343
+ assertCatalogWritable(section, [...entry.settingsPath, 'models']);
344
+ if (changes.has('models') && value('models') === undefined)
345
+ throw new Error('Apply the restored catalog before editing its models.');
346
+ const inherited = !creating && value('models') === undefined;
347
+ const overrides = object(value('modelOverrides'));
348
+ if (inherited && Object.keys(overrides).length)
349
+ assertCatalogWritable(section, [...entry.settingsPath, 'modelOverrides']);
350
+ const current = inherited
351
+ ? (await llm(ctx).listModels(entry.provider)).map(row => ({ id: row.id, ...object(overrides[row.id]) }))
352
+ : models(value('models'));
353
+ const edited = await editModelCatalog(ctx, { models: current, inputField: entry.settingsNs === 'llm-deepseek' ? 'inputModalities' : 'input',
354
+ reasoningLevels: custom(entry) ? modelReasoningLevels(section.schema) : [] }, signal);
355
+ if (edited !== null && edited !== undefined) {
356
+ changes.set('models', edited);
357
+ if (inherited && Object.keys(overrides).length)
358
+ changes.set('modelOverrides', undefined);
359
+ }
360
+ diagnostic = '';
361
+ continue;
362
+ }
363
+ if (choice === 'api') {
364
+ const api = await ctx.tui.prompt({ ...list, title: 'API protocol', question: 'Choose a protocol', initialValue: string(value('api')), options: protocols(section).map(api => ({ label: { 'openai-completions': 'OpenAI Chat Completions', 'openai-responses': 'OpenAI Responses', 'anthropic-messages': 'Anthropic Messages' }[api] ?? api, value: api })), signal });
365
+ if (api !== null)
366
+ changes.set('api', api);
367
+ continue;
368
+ }
369
+ if (!['key', 'baseURL', 'displayName'].includes(choice))
370
+ continue;
371
+ let draft = choice === 'key' ? key : string(value(choice));
372
+ let fieldError = '';
373
+ while (!signal.aborted) {
374
+ const raw = await ctx.tui.prompt(askPrompt({ localize: ['title', 'question', 'actions', 'detail'], title: 'Provider settings', question: { key: 'API key', baseURL: 'Base URL', displayName: 'Display name' }[choice],
375
+ detail: fieldError || (choice === 'key' ? 'Leave empty to keep the saved credential. Stored keys are never displayed.' : 'Leave empty to restore inheritance.'), initialInput: draft, secret: choice === 'key', signal }));
376
+ if (raw === null)
377
+ break;
378
+ draft = raw;
379
+ try {
380
+ if (choice === 'key')
381
+ key = raw.trim() === '' ? '' : normalizeKey(raw);
382
+ else
383
+ changes.set(choice, raw.trim() === '' ? undefined : choice === 'baseURL' ? parseBaseURL(raw) : raw.trim());
384
+ diagnostic = '';
385
+ break;
386
+ }
387
+ catch (error) {
388
+ fieldError = errorText(error);
389
+ }
390
+ }
391
+ }
392
+ catch (error) {
393
+ if (signal.aborted)
394
+ return;
395
+ diagnostic = errorText(error);
396
+ ctx.tui.notice(diagnostic, { level: 'error' });
397
+ }
398
+ }
399
+ }
400
+ function discoveredModel(entry, model) {
401
+ const { inputModalities, ...rest } = model;
402
+ return { ...rest, ...(inputModalities === undefined ? {} : { [entry.settingsNs === 'llm-deepseek' ? 'inputModalities' : 'input']: inputModalities }) };
403
+ }
404
+ //# sourceMappingURL=model-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-settings.js","sourceRoot":"","sources":["../../src/runtime/model-settings.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export interface PlainTuiDeps {
14
14
  blocks(): readonly Block[];
15
15
  mathMode?(): import('../chrome/math.ts').MathMode;
16
16
  mermaidMode?(): import('../chrome/mermaid.ts').MermaidMode;
17
+ /** Pipe output prints every thought in full; a reader cannot fold it later. */
18
+ hideThinking?(): boolean;
17
19
  /** The in-flight human prompt's request, if one is waiting on an answer. */
18
20
  promptRequest(): TuiPrompt | undefined;
19
21
  /** Resolve the in-flight prompt; the provider owns prompt bookkeeping. */
@@ -101,7 +101,13 @@ export class PlainTui {
101
101
  let out = '';
102
102
  for (const block of blocks.slice(this.#printed)) {
103
103
  // Pipe / CI output is not a viewport: print the full tool body.
104
- for (const line of blockLines(block, theme, width, { toolsExpanded: true, mathMode: this.#deps.mathMode?.() ?? 'auto', mermaidMode: this.#deps.mermaidMode?.() ?? 'auto' }))
104
+ for (const line of blockLines(block, theme, width, {
105
+ toolsExpanded: true,
106
+ mathMode: this.#deps.mathMode?.() ?? 'auto',
107
+ mermaidMode: this.#deps.mermaidMode?.() ?? 'auto',
108
+ hideThinking: this.#deps.hideThinking?.() === true,
109
+ thinkingOpen: this.#deps.hideThinking?.() !== true,
110
+ }))
105
111
  out += line + '\n';
106
112
  }
107
113
  this.#printed = blocks.length;
@@ -1 +1 @@
1
- {"version":3,"file":"plain-tui.js","sourceRoot":"","sources":["../../src/runtime/plain-tui.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EAAE,eAAe,EAAkB,MAAM,eAAe,CAAA;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAsBhD;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACV,KAAK,CAAc;IAC5B,WAAW,GAAqB,IAAI,CAAA;IACpC,QAAQ,GAAuB,IAAI,CAAA;IAC1B,MAAM,GAAa,EAAE,CAAA;IAC9B,OAAO,GAAG,KAAK,CAAA;IACf,QAAQ,GAAG,CAAC,CAAA;IAEZ,YAAY,IAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,QAAQ,CAAC,MAAoB;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;gBACpE,kEAAkE;gBAClE,gDAAgD;gBAChD,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;gBAC1E,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;oBACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,OAAO,GAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,CAAA;YAChE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;YACvB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,GAAS,EAAE;oBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;wBAAE,OAAM;oBACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAA;gBACf,CAAC,CAAA;gBACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBACzD,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA,CAAC,CAAC,CAAA;YAC3E,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,IAAmB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAA;QAC1C,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YACzB,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACjE,CAAC;iBAAM,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAA;gBACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC7D,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC;oBACzB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBAClB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;gBAC1E,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,CAAA;YACjE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;YAChC,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACxD,IAAI,IAAI,KAAK,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,8EAA8E;IAC9E,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,OAAO,KAAK,IAAI;YAAE,OAAM;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAA;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;YACpB,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAA;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;YACpB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,KAAK;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QAClC,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,gEAAgE;YAChE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC;gBAAE,GAAG,IAAI,IAAI,GAAG,IAAI,CAAA;QACjM,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7B,IAAI,GAAG,KAAK,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IAED,yEAAyE;IACzE,YAAY;QACV,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;IACnB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAA;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"plain-tui.js","sourceRoot":"","sources":["../../src/runtime/plain-tui.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,14 @@ interface ProductForm {
10
10
  fields: Record<string, string>;
11
11
  inline?: string;
12
12
  effect?: string;
13
+ staged?: boolean;
14
+ behavior?: string;
15
+ help?: Record<string, string>;
13
16
  }
14
17
  export declare function nativeIntegrationId(bundle: string): string | undefined;
15
18
  /** A failed user action needs acknowledgement before its covering form reopens. */
16
19
  export declare function showSettingsError(tui: Pick<TuiService, 'notice' | 'prompt'>, detail: string, signal?: AbortSignal): Promise<void>;
17
- /** Keep diagnostics on a reading surface until dismissed, including when opened from /plugins. */
20
+ /** Inspect registration in place and retain the last complete snapshot on refresh failure. */
18
21
  export declare function showIntegrationStatus(ctx: Context, bundle: string, signal: AbortSignal): Promise<void>;
19
22
  export interface ConfigField {
20
23
  path: string[];