@pentoshi/clai 3.9.7 → 3.11.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 (211) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +81 -9
  3. package/dist/agent/context-manager.d.ts +2 -1
  4. package/dist/agent/context-manager.js +16 -2
  5. package/dist/agent/context-manager.js.map +1 -1
  6. package/dist/agent/loop-guard.d.ts +18 -0
  7. package/dist/agent/loop-guard.js +50 -2
  8. package/dist/agent/loop-guard.js.map +1 -1
  9. package/dist/agent/must-continue.js +4 -8
  10. package/dist/agent/must-continue.js.map +1 -1
  11. package/dist/agent/prompt-composer.js +8 -8
  12. package/dist/agent/prompt-composer.js.map +1 -1
  13. package/dist/agent/runner.d.ts +1 -0
  14. package/dist/agent/runner.js +238 -74
  15. package/dist/agent/runner.js.map +1 -1
  16. package/dist/agent/session-policy.d.ts +1 -2
  17. package/dist/agent/session-policy.js +3 -2
  18. package/dist/agent/session-policy.js.map +1 -1
  19. package/dist/agent/tool-call-parser.js +6 -6
  20. package/dist/agent/tool-call-parser.js.map +1 -1
  21. package/dist/app/adapters/current-agent-adapter.js +1 -0
  22. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  23. package/dist/app/controllers/session-controller.js +2 -0
  24. package/dist/app/controllers/session-controller.js.map +1 -1
  25. package/dist/app/controllers/session-turn-request.d.ts +1 -0
  26. package/dist/app/controllers/session-turn-request.js +4 -1
  27. package/dist/app/controllers/session-turn-request.js.map +1 -1
  28. package/dist/app/ports/agent-port.d.ts +1 -0
  29. package/dist/attachments/clipboard-image.js +5 -4
  30. package/dist/attachments/clipboard-image.js.map +1 -1
  31. package/dist/attachments/image-content.d.ts +20 -2
  32. package/dist/attachments/image-content.js +201 -1
  33. package/dist/attachments/image-content.js.map +1 -1
  34. package/dist/attachments/image-prepare.d.ts +25 -0
  35. package/dist/attachments/image-prepare.js +390 -0
  36. package/dist/attachments/image-prepare.js.map +1 -0
  37. package/dist/attachments/service.d.ts +4 -2
  38. package/dist/attachments/service.js +51 -21
  39. package/dist/attachments/service.js.map +1 -1
  40. package/dist/commands/providers.d.ts +5 -2
  41. package/dist/commands/providers.js +121 -7
  42. package/dist/commands/providers.js.map +1 -1
  43. package/dist/index.js +12 -4
  44. package/dist/index.js.map +1 -1
  45. package/dist/llm/agentrouter.js +2 -2
  46. package/dist/llm/agentrouter.js.map +1 -1
  47. package/dist/llm/anthropic.d.ts +5 -4
  48. package/dist/llm/anthropic.js +28 -25
  49. package/dist/llm/anthropic.js.map +1 -1
  50. package/dist/llm/aws-mantle.js +19 -20
  51. package/dist/llm/aws-mantle.js.map +1 -1
  52. package/dist/llm/bynara.js +2 -2
  53. package/dist/llm/bynara.js.map +1 -1
  54. package/dist/llm/capabilities.d.ts +19 -0
  55. package/dist/llm/capabilities.js +273 -16
  56. package/dist/llm/capabilities.js.map +1 -1
  57. package/dist/llm/gemini.js +16 -8
  58. package/dist/llm/gemini.js.map +1 -1
  59. package/dist/llm/groq.js +2 -2
  60. package/dist/llm/groq.js.map +1 -1
  61. package/dist/llm/http.d.ts +7 -1
  62. package/dist/llm/http.js +210 -8
  63. package/dist/llm/http.js.map +1 -1
  64. package/dist/llm/kimchi.js +2 -2
  65. package/dist/llm/kimchi.js.map +1 -1
  66. package/dist/llm/lightning.d.ts +11 -0
  67. package/dist/llm/lightning.js +108 -0
  68. package/dist/llm/lightning.js.map +1 -0
  69. package/dist/llm/modal.d.ts +16 -0
  70. package/dist/llm/modal.js +182 -0
  71. package/dist/llm/modal.js.map +1 -0
  72. package/dist/llm/nvidia.js +2 -2
  73. package/dist/llm/nvidia.js.map +1 -1
  74. package/dist/llm/ollama.js +3 -3
  75. package/dist/llm/ollama.js.map +1 -1
  76. package/dist/llm/openai.js +2 -2
  77. package/dist/llm/openai.js.map +1 -1
  78. package/dist/llm/openrouter.js +2 -2
  79. package/dist/llm/openrouter.js.map +1 -1
  80. package/dist/llm/provider.d.ts +11 -0
  81. package/dist/llm/provider.js +316 -1
  82. package/dist/llm/provider.js.map +1 -1
  83. package/dist/llm/qwen-cloud.js +2 -5
  84. package/dist/llm/qwen-cloud.js.map +1 -1
  85. package/dist/llm/router.js +127 -7
  86. package/dist/llm/router.js.map +1 -1
  87. package/dist/llm/system-messages.d.ts +5 -0
  88. package/dist/llm/system-messages.js +14 -0
  89. package/dist/llm/system-messages.js.map +1 -1
  90. package/dist/llm/token-usage.d.ts +13 -0
  91. package/dist/llm/token-usage.js +31 -0
  92. package/dist/llm/token-usage.js.map +1 -1
  93. package/dist/llm/tokenrouter.d.ts +15 -0
  94. package/dist/llm/tokenrouter.js +106 -0
  95. package/dist/llm/tokenrouter.js.map +1 -0
  96. package/dist/modes/agent.d.ts +1 -0
  97. package/dist/modes/agent.js.map +1 -1
  98. package/dist/modes/ask.js +15 -4
  99. package/dist/modes/ask.js.map +1 -1
  100. package/dist/prompts/embedded.js +2 -2
  101. package/dist/prompts/embedded.js.map +1 -1
  102. package/dist/prompts/index.d.ts +6 -0
  103. package/dist/prompts/index.js +39 -21
  104. package/dist/prompts/index.js.map +1 -1
  105. package/dist/prompts/system.agent.md +15 -27
  106. package/dist/prompts/system.ask.md +1 -1
  107. package/dist/repl/slash-commands.js +53 -0
  108. package/dist/repl/slash-commands.js.map +1 -1
  109. package/dist/repl.js +16 -9
  110. package/dist/repl.js.map +1 -1
  111. package/dist/store/config.d.ts +55 -0
  112. package/dist/store/config.js +127 -0
  113. package/dist/store/config.js.map +1 -1
  114. package/dist/store/history.d.ts +2 -1
  115. package/dist/store/history.js +15 -16
  116. package/dist/store/history.js.map +1 -1
  117. package/dist/store/keys.js +41 -2
  118. package/dist/store/keys.js.map +1 -1
  119. package/dist/tools/definitions.js +31 -6
  120. package/dist/tools/definitions.js.map +1 -1
  121. package/dist/tools/image.d.ts +0 -7
  122. package/dist/tools/image.js +76 -22
  123. package/dist/tools/image.js.map +1 -1
  124. package/dist/tools/jobs.d.ts +11 -1
  125. package/dist/tools/jobs.js +67 -0
  126. package/dist/tools/jobs.js.map +1 -1
  127. package/dist/tools/ocr.d.ts +28 -0
  128. package/dist/tools/ocr.js +316 -0
  129. package/dist/tools/ocr.js.map +1 -0
  130. package/dist/tools/pdf.d.ts +0 -12
  131. package/dist/tools/pdf.js +436 -150
  132. package/dist/tools/pdf.js.map +1 -1
  133. package/dist/tools/registry.js +5 -0
  134. package/dist/tools/registry.js.map +1 -1
  135. package/dist/tui/format-keys.js +10 -0
  136. package/dist/tui/format-keys.js.map +1 -1
  137. package/dist/tui-v2/actions/action-id.d.ts +1 -1
  138. package/dist/tui-v2/actions/action-id.js +3 -0
  139. package/dist/tui-v2/actions/action-id.js.map +1 -1
  140. package/dist/tui-v2/actions/format-shortcuts.js +4 -1
  141. package/dist/tui-v2/actions/format-shortcuts.js.map +1 -1
  142. package/dist/tui-v2/actions/keymap.js +6 -1
  143. package/dist/tui-v2/actions/keymap.js.map +1 -1
  144. package/dist/tui-v2/app/App.js +3 -1
  145. package/dist/tui-v2/app/App.js.map +1 -1
  146. package/dist/tui-v2/app/commands/key-commands.js +117 -15
  147. package/dist/tui-v2/app/commands/key-commands.js.map +1 -1
  148. package/dist/tui-v2/app/commands/picker-commands.js +80 -11
  149. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  150. package/dist/tui-v2/bootstrap/console-guard.d.ts +20 -0
  151. package/dist/tui-v2/bootstrap/console-guard.js +73 -0
  152. package/dist/tui-v2/bootstrap/console-guard.js.map +1 -0
  153. package/dist/tui-v2/bootstrap/start-tui-v2.js +14 -0
  154. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  155. package/dist/tui-v2/components/composer/composer-input-box.js +5 -1
  156. package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
  157. package/dist/tui-v2/components/jobs/jobs-panel.js +25 -1
  158. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  159. package/dist/tui-v2/components/modal/keys-modal.js +15 -8
  160. package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
  161. package/dist/tui-v2/components/modal/secret-modal.js +13 -4
  162. package/dist/tui-v2/components/modal/secret-modal.js.map +1 -1
  163. package/dist/tui-v2/components/pager/pager.js +103 -12
  164. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  165. package/dist/tui-v2/components/status/status-line.d.ts +8 -2
  166. package/dist/tui-v2/components/status/status-line.js +12 -8
  167. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  168. package/dist/tui-v2/components/transcript/thinking-block.d.ts +14 -4
  169. package/dist/tui-v2/components/transcript/thinking-block.js +53 -8
  170. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  171. package/dist/tui-v2/components/transcript/transcript-row.d.ts +2 -0
  172. package/dist/tui-v2/components/transcript/transcript-row.js +2 -2
  173. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  174. package/dist/tui-v2/components/transcript/transcript-view.js +8 -1
  175. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  176. package/dist/tui-v2/composer/composer-action-port.d.ts +15 -3
  177. package/dist/tui-v2/composer/composer-action-port.js +49 -6
  178. package/dist/tui-v2/composer/composer-action-port.js.map +1 -1
  179. package/dist/tui-v2/composer/composer-editor.js +37 -44
  180. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  181. package/dist/tui-v2/composer/draft-actions.d.ts +31 -0
  182. package/dist/tui-v2/composer/draft-actions.js +45 -0
  183. package/dist/tui-v2/composer/draft-actions.js.map +1 -0
  184. package/dist/tui-v2/composer/textarea-keybindings.d.ts +1 -1
  185. package/dist/tui-v2/composer/textarea-keybindings.js +33 -0
  186. package/dist/tui-v2/composer/textarea-keybindings.js.map +1 -1
  187. package/dist/tui-v2/composer/use-draft-actions.d.ts +32 -0
  188. package/dist/tui-v2/composer/use-draft-actions.js +59 -0
  189. package/dist/tui-v2/composer/use-draft-actions.js.map +1 -0
  190. package/dist/tui-v2/controllers/overlay-controller.d.ts +13 -0
  191. package/dist/tui-v2/controllers/overlay-controller.js +5 -2
  192. package/dist/tui-v2/controllers/overlay-controller.js.map +1 -1
  193. package/dist/tui-v2/rendering/artifact-pager-source.d.ts +10 -0
  194. package/dist/tui-v2/rendering/artifact-pager-source.js +6 -0
  195. package/dist/tui-v2/rendering/artifact-pager-source.js.map +1 -1
  196. package/dist/tui-v2/rendering/job-tail-source.d.ts +21 -0
  197. package/dist/tui-v2/rendering/job-tail-source.js +87 -0
  198. package/dist/tui-v2/rendering/job-tail-source.js.map +1 -0
  199. package/dist/tui-v2/state/use-has-draft.d.ts +6 -0
  200. package/dist/tui-v2/state/use-has-draft.js +13 -0
  201. package/dist/tui-v2/state/use-has-draft.js.map +1 -0
  202. package/dist/types.d.ts +7 -1
  203. package/dist/types.js +3 -0
  204. package/dist/types.js.map +1 -1
  205. package/dist/ui/mentions.d.ts +7 -2
  206. package/dist/ui/mentions.js +52 -117
  207. package/dist/ui/mentions.js.map +1 -1
  208. package/dist/version.generated.d.ts +2 -2
  209. package/dist/version.generated.js +2 -2
  210. package/dist/version.generated.js.map +1 -1
  211. package/package.json +1 -1
@@ -33,6 +33,7 @@ import { paneSlideTop, paneSlideWidth, } from "../components/plan/plan-pane-anim
33
33
  import { usePanePresence } from "../components/plan/use-pane-presence.js";
34
34
  import { transcriptScrollPort } from "../components/transcript/transcript-scroll-port.js";
35
35
  import { composerActionPort } from "../composer/composer-action-port.js";
36
+ import { useHasDraft } from "../state/use-has-draft.js";
36
37
  import { formatShortcutsReference } from "../actions/format-shortcuts.js";
37
38
  import { formatCommandHelpMarkdown } from "../rendering/format-help.js";
38
39
  import { notify, notifyWarn } from "../notify.js";
@@ -63,6 +64,7 @@ export function App() {
63
64
  const escapeCancelTimer = useRef(undefined);
64
65
  const escapeCancelArmedRef = useRef(false);
65
66
  const [escapeCancelArmed, setEscapeCancelArmed] = useState(false);
67
+ const hasDraft = useHasDraft();
66
68
  const seenPlanKey = useRef(undefined);
67
69
  /** Seed the composer when the user clicks Edit on a queued prompt. */
68
70
  const [composerSeed, setComposerSeed] = useState(undefined);
@@ -564,7 +566,7 @@ export function App() {
564
566
  } }), _jsx(OverlayHost, { services: services, theme: theme, width: contentInnerWidth, height: height, docked: true }), _jsx(ResponderPanel, { services: services, theme: theme, width: contentInnerWidth, blockingOverlay: overlay.kind === "secret" ||
565
567
  overlay.kind === "confirm" ||
566
568
  overlay.kind === "scope-editor" ||
567
- overlay.kind === "keys-editor" }), _jsx(ComposerEditor, { services: services, theme: theme, width: contentInnerWidth, height: composerMaxTextRows, focused: composerFocused, maxSuggestions: completionRows, running: session.running, onEscapeCancel: () => handleEscapeCancellation(false), seedDraft: composerSeed }), _jsx(StatusLine, { session: services.session, mode: session.mode, theme: theme, activity: transcript.runningStatus, width: contentInnerWidth, hasActivePlan: Boolean(plan), planVisible: planVisible, thinkingExpanded: transcript.expandThinkingGlobal, outputExpanded: transcript.expandOutputGlobal, onToggleThinking: toggleThinking, onToggleOutput: toggleOutput, onTogglePlan: toggleTasksPane, onJumpTop: jumpChatTop, onJumpBottom: jumpChatBottom, onClearDraft: clearDraft, onOpenShortcuts: openShortcutsPager, onCycleMode: cycleMode, cancelArmed: escapeCancelArmed, onRequestCancel: () => handleEscapeCancellation(false) })] }), layout.plan.placement === "overlay" && planPresent ? (_jsx("box", { title: " Tasks ", titleColor: theme.inputBorder, border: true, borderStyle: "rounded", style: {
569
+ overlay.kind === "keys-editor" }), _jsx(ComposerEditor, { services: services, theme: theme, width: contentInnerWidth, height: composerMaxTextRows, focused: composerFocused, maxSuggestions: completionRows, running: session.running, onEscapeCancel: () => handleEscapeCancellation(false), seedDraft: composerSeed }), _jsx(StatusLine, { session: services.session, mode: session.mode, theme: theme, activity: transcript.runningStatus, width: contentInnerWidth, hasActivePlan: Boolean(plan), planVisible: planVisible, thinkingExpanded: transcript.expandThinkingGlobal, outputExpanded: transcript.expandOutputGlobal, onToggleThinking: toggleThinking, onToggleOutput: toggleOutput, onTogglePlan: toggleTasksPane, onJumpTop: jumpChatTop, onJumpBottom: jumpChatBottom, onClearDraft: clearDraft, onCutDraft: composerActionPort.cut, onOpenCommands: composerActionPort.openCommands, hasDraft: hasDraft, onOpenShortcuts: openShortcutsPager, onCycleMode: cycleMode, cancelArmed: escapeCancelArmed, onRequestCancel: () => handleEscapeCancellation(false) })] }), layout.plan.placement === "overlay" && planPresent ? (_jsx("box", { title: " Tasks ", titleColor: theme.inputBorder, border: true, borderStyle: "rounded", style: {
568
570
  position: "absolute",
569
571
  // Slide in from above (same ease as toasts), hold, slide out.
570
572
  top: overlayAnimTop,
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/tui-v2/app/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/tui-v2/app/App.tsx"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import { getProvider } from "../../../llm/router.js";
5
5
  import { MAX_PROVIDER_KEYS } from "../../../llm/key-rotation.js";
6
- import { assertProvider, getProviderInfoText, maskSecret, } from "../../../llm/provider.js";
7
- import { getConfig, updateConfig } from "../../../store/config.js";
6
+ import { assertProvider, getProviderInfoText, maskSecret, normalizeEndpointUrl, } from "../../../llm/provider.js";
7
+ import { MAX_PROVIDER_ENDPOINTS, appendProviderEndpoint, getConfig, getProviderEndpoints, providerUsesEndpoints, setProviderEndpoints, updateConfig, } from "../../../store/config.js";
8
8
  import { appendSearchProviderKey, getProviderKeys, getSearchProviderKeys, listProviderStatuses, setProviderKeys, setSearchProviderKeys, unsetProviderSecret, unsetSearchProviderSecret, } from "../../../store/keys.js";
9
9
  import { searchProviderIds } from "../../../tools/web/types.js";
10
10
  import { formatKeyStatus } from "../../../tui/format-keys.js";
@@ -102,7 +102,7 @@ async function openSetPicker(services) {
102
102
  const llm = await listProviderStatuses(active);
103
103
  const search = await getSearchKeyStatuses();
104
104
  const options = [
105
- ...llm.map((status) => {
105
+ ...llm.flatMap((status) => {
106
106
  const count = status.keyCount ?? (status.configured ? 1 : 0);
107
107
  const keyLabel = status.provider === "ollama"
108
108
  ? status.configured
@@ -113,11 +113,24 @@ async function openSetPicker(services) {
113
113
  : count === 1
114
114
  ? `✓ ${status.maskedKey ?? "1 key"}`
115
115
  : `✓ ${count} keys`;
116
- return {
116
+ const row = {
117
117
  value: `llm:${status.provider}`,
118
118
  label: `${status.provider} ${keyLabel}${status.active ? " (active)" : ""}`,
119
119
  description: status.model,
120
120
  };
121
+ // Endpoint providers get a second row so the URL list is reachable
122
+ // directly instead of only via the key editor.
123
+ if (!status.endpoints)
124
+ return [row];
125
+ const urlCount = status.endpoints.length;
126
+ return [
127
+ row,
128
+ {
129
+ value: `endpoint:${status.provider}`,
130
+ label: `${status.provider} endpoints ${urlCount === 0 ? "✗ none" : `✓ ${urlCount} URL${urlCount === 1 ? "" : "s"}`}`,
131
+ description: status.note ?? "endpoint URLs",
132
+ },
133
+ ];
121
134
  }),
122
135
  ...search.map((status) => {
123
136
  const count = status.keyCount ?? 0;
@@ -135,13 +148,16 @@ async function openSetPicker(services) {
135
148
  };
136
149
  }),
137
150
  ];
138
- services.overlay.openPicker({ title: "Set API key for provider", options }, (value) => {
151
+ services.overlay.openPicker({ title: "Set API key / endpoint", options }, (value) => {
139
152
  services.overlay.close();
140
153
  void (async () => {
141
- const isSearch = value.startsWith("search:");
142
- const id = value.split(":")[1];
143
- if (isSearch)
154
+ const separator = value.indexOf(":");
155
+ const kind = value.slice(0, separator);
156
+ const id = value.slice(separator + 1);
157
+ if (kind === "search")
144
158
  await openSearchKeysEditor(services, id);
159
+ else if (kind === "endpoint")
160
+ await openEndpointsEditor(services, id);
145
161
  else
146
162
  await openLlmKeysEditor(services, id);
147
163
  })();
@@ -152,7 +168,7 @@ async function openUnsetPicker(services) {
152
168
  const llm = await listProviderStatuses(active);
153
169
  const search = await getSearchKeyStatuses();
154
170
  const options = [
155
- ...llm.map((status) => {
171
+ ...llm.flatMap((status) => {
156
172
  const count = status.keyCount ?? (status.configured ? 1 : 0);
157
173
  const keyLabel = status.provider === "ollama"
158
174
  ? "host (config)"
@@ -161,11 +177,21 @@ async function openUnsetPicker(services) {
161
177
  : count === 1
162
178
  ? `✓ ${status.maskedKey ?? "1 key"}`
163
179
  : `✓ ${count} keys — reset all`;
164
- return {
180
+ const row = {
165
181
  value: `llm:${status.provider}`,
166
182
  label: `${status.provider} ${keyLabel}${status.active ? " (active)" : ""}`,
167
183
  description: status.model,
168
184
  };
185
+ if (!status.endpoints || status.endpoints.length === 0)
186
+ return [row];
187
+ return [
188
+ row,
189
+ {
190
+ value: `endpoint:${status.provider}`,
191
+ label: `${status.provider} endpoints ✓ ${status.endpoints.length} URL${status.endpoints.length === 1 ? "" : "s"} — clear all`,
192
+ description: status.note ?? "endpoint URLs",
193
+ },
194
+ ];
169
195
  }),
170
196
  ...search.map((status) => {
171
197
  const count = status.keyCount ?? 0;
@@ -183,23 +209,78 @@ async function openUnsetPicker(services) {
183
209
  };
184
210
  }),
185
211
  ];
186
- services.overlay.openPicker({ title: "Unset API key for provider", options }, (value) => {
212
+ services.overlay.openPicker({ title: "Unset API key / endpoint", options }, (value) => {
187
213
  services.overlay.close();
188
214
  void (async () => {
189
- const isSearch = value.startsWith("search:");
190
- const id = value.split(":")[1];
191
- if (isSearch)
215
+ const separator = value.indexOf(":");
216
+ const kind = value.slice(0, separator);
217
+ const id = value.slice(separator + 1);
218
+ if (kind === "search")
192
219
  await unsetSearchKey(services, id);
220
+ else if (kind === "endpoint") {
221
+ const count = getProviderEndpoints(id).urls.length;
222
+ setProviderEndpoints(id, []);
223
+ notice(services, "info", `unset ${count} endpoint URL(s) for ${id}`);
224
+ }
193
225
  else
194
226
  await unsetLlmKey(services, id);
195
227
  })();
196
228
  });
197
229
  }
230
+ /**
231
+ * Multi-row editor over a provider's endpoint URLs — the same overlay, sticky
232
+ * ★ active row and Reset semantics as the key editor, so endpoints and keys
233
+ * behave identically.
234
+ */
235
+ async function openEndpointsEditor(services, id) {
236
+ const { urls, activeIndex } = getProviderEndpoints(id);
237
+ const answer = await services.overlay.openKeysEditor({
238
+ provider: id,
239
+ heading: "ENDPOINTS",
240
+ itemLabel: "endpoint URL",
241
+ // URLs are not secrets: show them in full so a typo is visible.
242
+ initialKeys: urls.map((url, index) => ({ id: String(index), masked: url })),
243
+ activeIndex,
244
+ });
245
+ if (!answer) {
246
+ notice(services, "info", "cancelled");
247
+ return;
248
+ }
249
+ if (answer.action === "reset") {
250
+ setProviderEndpoints(id, []);
251
+ notice(services, "info", `unset all endpoint URLs for ${id}`);
252
+ return;
253
+ }
254
+ const byId = new Map(urls.map((url, index) => [String(index), url]));
255
+ const resolved = resolveEditorRows(answer.rows, byId).map(normalizeEndpointUrl);
256
+ if (resolved.length === 0) {
257
+ setProviderEndpoints(id, []);
258
+ notice(services, "info", `unset all endpoint URLs for ${id}`);
259
+ return;
260
+ }
261
+ if (resolved.length > MAX_PROVIDER_ENDPOINTS) {
262
+ notice(services, "warn", `at most ${MAX_PROVIDER_ENDPOINTS} endpoint URLs per provider`);
263
+ return;
264
+ }
265
+ // Keep whatever was active if it survived the edit, mirroring key editing.
266
+ let nextActive = answer.activeIndex ?? 0;
267
+ if (answer.activeIndex === undefined) {
268
+ const previous = urls[activeIndex];
269
+ const found = previous ? resolved.indexOf(previous) : -1;
270
+ if (found >= 0)
271
+ nextActive = found;
272
+ }
273
+ const saved = setProviderEndpoints(id, resolved, nextActive);
274
+ notice(services, "info", saved.urls.length === 1
275
+ ? `saved ${id} endpoint → ${saved.urls[0]}`
276
+ : `saved ${saved.urls.length} ${id} endpoints · active #${saved.activeIndex + 1} ${saved.urls[saved.activeIndex]}`);
277
+ }
198
278
  async function openLlmKeysEditor(services, id) {
199
279
  if (id === "ollama") {
200
280
  const host = await services.overlay.openSecret({
201
281
  title: "Ollama host URL",
202
282
  prompt: "Enter host URL for Ollama:",
283
+ reveal: true,
203
284
  });
204
285
  if (!host) {
205
286
  notice(services, "info", "cancelled");
@@ -209,6 +290,11 @@ async function openLlmKeysEditor(services, id) {
209
290
  notice(services, "info", `saved ollama host → ${host.trim()}`);
210
291
  return;
211
292
  }
293
+ // Endpoint providers need both lists; edit URLs first (Esc skips ahead to the
294
+ // keys), or jump straight to either list from the /set picker.
295
+ if (providerUsesEndpoints(id)) {
296
+ await openEndpointsEditor(services, id);
297
+ }
212
298
  const multi = await getProviderKeys(id);
213
299
  const stored = multi.source === "env"
214
300
  ? []
@@ -329,9 +415,25 @@ async function appendLlmKey(services, id, keyVal) {
329
415
  notice(services, "info", `saved ollama host → ${keyVal.trim()}`);
330
416
  return;
331
417
  }
418
+ // `/set modal https://…` is unambiguous: a URL can only be an endpoint,
419
+ // never an API key or a `<token-id>:<token-secret>` pair. Appended and made
420
+ // active, exactly like the CLI's `--url`.
421
+ if (providerUsesEndpoints(id) && /^https?:\/\//i.test(keyVal.trim())) {
422
+ const endpoint = normalizeEndpointUrl(keyVal.trim());
423
+ try {
424
+ const { endpoints, added } = appendProviderEndpoint(id, endpoint);
425
+ notice(services, "info", `${added ? "saved" : "activated"} ${id} endpoint #${endpoints.activeIndex + 1}/${endpoints.urls.length} → ${endpoint}`);
426
+ }
427
+ catch (error) {
428
+ notice(services, "warn", error instanceof Error ? error.message : String(error));
429
+ }
430
+ return;
431
+ }
332
432
  const key = keyVal.trim();
333
433
  if (!getProvider(id).validateKey(key)) {
334
- notice(services, "warn", `invalid API key format for ${id}`);
434
+ notice(services, "warn", providerUsesEndpoints(id)
435
+ ? `invalid value for ${id} · expected a key/token, or an https:// URL to add an endpoint`
436
+ : `invalid API key format for ${id}`);
335
437
  return;
336
438
  }
337
439
  const { appendProviderKey } = await import("../../../store/keys.js");
@@ -1 +1 @@
1
- {"version":3,"file":"key-commands.js","sourceRoot":"","sources":["../../../../src/tui-v2/app/commands/key-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-commands.js","sourceRoot":"","sources":["../../../../src/tui-v2/app/commands/key-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAyB,MAAM,6BAA6B,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAwB,MAAM,6BAA6B,CAAC;AAKpF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAErE,SAAS,MAAM,CAAC,QAAqB,EAAE,KAAsB,EAAE,IAAY;IACzE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,MAAM,YAAY,GAAG,SAAS,EAAE,CAAC,oBAAoB,CAAC;IACtD,OAAO,OAAO,CAAC,GAAG,CAChB,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,EAAE,KAAK,YAAY,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;QACnD,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE,KAAK,YAAY;YAC3B,UAAU,EAAE,OAAO,IAAI,KAAK,GAAG,CAAC;YAChC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;YAC1C,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5D,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS;YAClD,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAClF,eAAe,EACb,KAAK,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACjE,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAqB,EACrB,UAA6B;IAE7B,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,IAAI,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC;IACjF,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,WAAW,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAqB;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC;QACnF,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC/C,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,mBAAmB,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,oBAAoB,EAAE,CAAC,CAAC,CAAC;IACtG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CACJ,QAAQ,EACR,MAAM,EACN,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAqB,EACrB,UAA6B;IAE7B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,YAAY,CAAC,QAAQ,EAAE,WAA+B,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,MAAM,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QACD,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAqB,EACrB,UAA6B;IAE7B,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,cAAc,CAAC,QAAQ,EAAE,WAA+B,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,MAAM,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAqB;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC;IACnF,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAmB;QAC9B,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAkB,EAAE;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBAC1B,CAAC,CAAC,MAAM,CAAC,UAAU;oBACjB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,WAAW;gBACf,CAAC,CAAC,KAAK,KAAK,CAAC;oBACX,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,KAAK,KAAK,CAAC;wBACX,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,IAAI,OAAO,EAAE;wBACpC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC;YAC5B,MAAM,GAAG,GAAiB;gBACxB,KAAK,EAAE,OAAO,MAAM,CAAC,QAAQ,EAAE;gBAC/B,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1E,WAAW,EAAE,MAAM,CAAC,KAAK;aAC1B,CAAC;YACF,mEAAmE;YACnE,+CAA+C;YAC/C,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YACzC,OAAO;gBACL,GAAG;gBACH;oBACE,KAAK,EAAE,YAAY,MAAM,CAAC,QAAQ,EAAE;oBACpC,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,cAAc,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE;oBACpH,WAAW,EAAE,MAAM,CAAC,IAAI,IAAI,eAAe;iBAC5C;aACF,CAAC;QACJ,CAAC,CAAC;QACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnC,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,KAAK,YAAY;gBAC9B,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,KAAK,KAAK,CAAC;oBACX,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,KAAK,KAAK,CAAC;wBACX,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,IAAI,OAAO,EAAE;wBACpC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC;YAC5B,OAAO;gBACL,KAAK,EAAE,UAAU,MAAM,CAAC,QAAQ,EAAE;gBAClC,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1E,WAAW,EAAE,iBAAiB;aAC/B,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;QAClF,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,QAAQ;gBAAE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,EAAsB,CAAC,CAAC;iBAC/E,IAAI,IAAI,KAAK,UAAU;gBAAE,MAAM,mBAAmB,CAAC,QAAQ,EAAE,EAAgB,CAAC,CAAC;;gBAC/E,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAgB,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAqB;IAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC;IACnF,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAmB;QAC9B,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAkB,EAAE;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBAC1B,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,KAAK,KAAK,CAAC;oBACX,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,KAAK,KAAK,CAAC;wBACX,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,IAAI,OAAO,EAAE;wBACpC,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC;YACxC,MAAM,GAAG,GAAiB;gBACxB,KAAK,EAAE,OAAO,MAAM,CAAC,QAAQ,EAAE;gBAC/B,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1E,WAAW,EAAE,MAAM,CAAC,KAAK;aAC1B,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACrE,OAAO;gBACL,GAAG;gBACH;oBACE,KAAK,EAAE,YAAY,MAAM,CAAC,QAAQ,EAAE;oBACpC,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,gBAAgB,MAAM,CAAC,SAAS,CAAC,MAAM,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,cAAc;oBAC7H,WAAW,EAAE,MAAM,CAAC,IAAI,IAAI,eAAe;iBAC5C;aACF,CAAC;QACJ,CAAC,CAAC;QACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnC,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,KAAK,YAAY;gBAC9B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,KAAK,KAAK,CAAC;oBACX,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,KAAK,KAAK,CAAC;wBACX,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,IAAI,OAAO,EAAE;wBACpC,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC;YACxC,OAAO;gBACL,KAAK,EAAE,UAAU,MAAM,CAAC,QAAQ,EAAE;gBAClC,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1E,WAAW,EAAE,iBAAiB;aAC/B,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;QACpF,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,QAAQ;gBAAE,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAsB,CAAC,CAAC;iBACzE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjE,oBAAoB,CAAC,EAAgB,EAAE,EAAE,CAAC,CAAC;gBAC3C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,KAAK,wBAAwB,EAAE,EAAE,CAAC,CAAC;YACvE,CAAC;;gBAAM,MAAM,WAAW,CAAC,QAAQ,EAAE,EAAgB,CAAC,CAAC;QACvD,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAChC,QAAqB,EACrB,EAAc;IAEd,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;QACnD,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,cAAc;QACzB,gEAAgE;QAChE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3E,WAAW;KACZ,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,+BAA+B,EAAE,EAAE,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAChF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,+BAA+B,EAAE,EAAE,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;QAC7C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,sBAAsB,6BAA6B,CAAC,CAAC;QACzF,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,IAAI,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,KAAK,IAAI,CAAC;YAAE,UAAU,GAAG,KAAK,CAAC;IACrC,CAAC;IACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,CACJ,QAAQ,EACR,MAAM,EACN,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC,SAAS,EAAE,eAAe,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC3C,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,wBAAwB,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CACrH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,QAAqB,EACrB,EAAc;IAEd,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7C,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,4BAA4B;YACpC,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,YAAY,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,+DAA+D;IAC/D,IAAI,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,MAAM,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,KAAK,KAAK;QACpB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;QACnD,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,WAAW,EAAE,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;KACpE,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,8BAA8B,EAAE,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACxC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,iBAAiB,wBAAwB,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,KAAK,IAAI,CAAC;gBAAE,WAAW,GAAG,KAAK,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC;QACjC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC1B,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,oBAAoB,WAAW,GAAG,CAAC,EAAE,CAAC;IAC5D,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAqB,EACrB,EAAoB;IAEpB,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,6CAA6C,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,KAAK,KAAK;QACpB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;QACnD,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,WAAW,EAAE,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;KACpE,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,yBAAyB,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,yBAAyB,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACxC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,iBAAiB,wBAAwB,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,KAAK,IAAI,CAAC;gBAAE,WAAW,GAAG,KAAK,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC;QACjC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC1B,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,oBAAoB,WAAW,GAAG,CAAC,EAAE,CAAC;IAC5D,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAmD,EACnD,IAAiC;IAEjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,QAAqB,EACrB,EAAc,EACd,MAAc;IAEd,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,YAAY,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IACD,wEAAwE;IACxE,4EAA4E;IAC5E,0CAA0C;IAC1C,IAAI,qBAAqB,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,CACJ,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,cAAc,SAAS,CAAC,WAAW,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,MAAM,QAAQ,EAAE,CACvH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CACJ,QAAQ,EACR,MAAM,EACN,qBAAqB,CAAC,EAAE,CAAC;YACvB,CAAC,CAAC,qBAAqB,EAAE,gEAAgE;YACzF,CAAC,CAAC,8BAA8B,EAAE,EAAE,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACrE,MAAM,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7D,MAAM,CACJ,QAAQ,EACR,MAAM,EACN,KAAK,GAAG,CAAC;QACP,CAAC,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,KAAK,aAAa;QACxD,CAAC,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CACrC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,QAAqB,EACrB,EAAoB,EACpB,MAA2B;IAE3B,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,6CAA6C,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,yBAAyB,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IACD,MAAM,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7D,MAAM,CACJ,QAAQ,EACR,MAAM,EACN,KAAK,GAAG,CAAC;QACP,CAAC,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,KAAK,aAAa;QACxD,CAAC,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CACrC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAqB,EAAE,EAAoB;IACvE,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,wDAAwD,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IACnE,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IACD,MAAM,yBAAyB,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,CACJ,QAAQ,EACR,MAAM,EACN,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,WAAW,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAqB,EAAE,EAAc;IAC9D,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,kCAAkC,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IACnE,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IACD,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,CACJ,QAAQ,EACR,MAAM,EACN,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,WAAW,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5E,CAAC;AACJ,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * permissions/output/plan (V2-072, V2-080).
4
4
  */
5
5
  import { getProvider, providerAuth } from "../../../llm/router.js";
6
- import { defaultModels } from "../../../llm/provider.js";
6
+ import { defaultModels, normalizeEndpointUrl } from "../../../llm/provider.js";
7
7
  import { modelSupportsThinking } from "../../../llm/capabilities.js";
8
8
  import { assertProvider } from "../../../llm/provider.js";
9
9
  import { assertSearchProvider } from "../../../tools/web/providers/provider.js";
@@ -12,7 +12,7 @@ import { asExaSearchType, exaSearchTypeDescriptions, exaSearchTypes, searchProvi
12
12
  import { providerIds } from "../../../types.js";
13
13
  import { getKnownModels } from "../../../repl/slash-commands.js";
14
14
  import { clearActiveProjectRoot } from "../../../agent/project-root.js";
15
- import { getConfig, getExaSearchType, getProviderModel, setActiveSearchProvider, setDefaultProvider, setExaSearchType, setProviderModel, setThinking, updateConfig, } from "../../../store/config.js";
15
+ import { appendProviderEndpoint, getActiveProviderEndpoint, getConfig, getExaSearchType, getProviderModel, setActiveSearchProvider, setDefaultProvider, setExaSearchType, setProviderModel, setThinking, updateConfig, } from "../../../store/config.js";
16
16
  import { envValue, getProviderSecret, getSearchProviderKey, setProviderSecret, setSecret, } from "../../../store/keys.js";
17
17
  import { getSession, listSessionSummaries, } from "../../../store/history.js";
18
18
  import { relativeTime, shortCwd } from "../../../tui/text-format.js";
@@ -126,16 +126,31 @@ export function handleProvider(services, invocation) {
126
126
  });
127
127
  }
128
128
  async function activateProvider(services, next) {
129
- const configured = next === "ollama" || Boolean(envValue(next)) || Boolean((await getProviderSecret(next)).value);
130
- if (!configured) {
131
- services.overlay.close();
132
- const key = await services.overlay.openSecret({
133
- title: `${next} API key`,
134
- prompt: `No API key is configured for ${next}. Enter it now to activate this provider.`,
135
- });
136
- if (!key || !getProvider(next).validateKey(key.trim()))
129
+ // Modal needs two separate things, so it gets its own onboarding.
130
+ if (next === "modal") {
131
+ if (!(await ensureModalCredentials(services)))
137
132
  return;
138
- await setProviderSecret(next, key.trim());
133
+ }
134
+ else {
135
+ const configured = next === "ollama" || Boolean(envValue(next)) || Boolean((await getProviderSecret(next)).value);
136
+ if (!configured) {
137
+ services.overlay.close();
138
+ const key = await services.overlay.openSecret({
139
+ title: `${next} API key`,
140
+ prompt: `No API key is configured for ${next}. Enter it now to activate this provider.`,
141
+ });
142
+ const value = key?.trim();
143
+ if (!value) {
144
+ services.session.notice("info", `cancelled · provider unchanged`);
145
+ return;
146
+ }
147
+ // Silence here used to look like the picker had simply ignored the input.
148
+ if (!getProvider(next).validateKey(value)) {
149
+ services.session.notice("warn", `invalid API key format for ${next} · provider unchanged`);
150
+ return;
151
+ }
152
+ await setProviderSecret(next, value);
153
+ }
139
154
  }
140
155
  const model = getConfig().providerModels[next] ?? defaultModels[next];
141
156
  setDefaultProvider(next);
@@ -144,6 +159,60 @@ async function activateProvider(services, next) {
144
159
  services.overlay.close();
145
160
  services.session.notice("info", `provider → ${next} · model → ${model}`);
146
161
  }
162
+ /**
163
+ * Modal is the only provider that needs two things before it can serve a
164
+ * request: the workspace endpoint URL (config) and a proxy token pair
165
+ * (secret). Ask for whichever is missing, endpoint first — that is the value
166
+ * people reach for, and a URL typed into a token prompt used to fail
167
+ * `validateKey` and silently abandon the switch.
168
+ *
169
+ * Returns false when the user cancelled or entered something unusable, in
170
+ * which case the active provider is left alone.
171
+ */
172
+ async function ensureModalCredentials(services) {
173
+ const hasToken = Boolean(envValue("modal")) || Boolean((await getProviderSecret("modal")).value);
174
+ if (!getActiveProviderEndpoint("modal")) {
175
+ services.overlay.close();
176
+ const answer = await services.overlay.openSecret({
177
+ title: hasToken ? "Modal endpoint URL" : "Modal endpoint URL (1 of 2)",
178
+ prompt: "Paste your Modal endpoint URL, e.g. https://<workspace>--ep-<endpoint>.<region>.modal.direct",
179
+ reveal: true,
180
+ });
181
+ const url = answer?.trim();
182
+ if (!url) {
183
+ services.session.notice("info", "cancelled · provider unchanged");
184
+ return false;
185
+ }
186
+ const endpoint = normalizeEndpointUrl(url);
187
+ appendProviderEndpoint("modal", endpoint);
188
+ services.session.notice("info", `modal endpoint → ${endpoint}`);
189
+ }
190
+ if (!hasToken) {
191
+ services.overlay.close();
192
+ const answer = await services.overlay.openSecret({
193
+ title: "Modal proxy token (2 of 2)",
194
+ prompt: "Enter the proxy token pair as <token-id>:<token-secret> — create one with: modal workspace proxy-tokens create",
195
+ });
196
+ const token = answer?.trim();
197
+ if (!token) {
198
+ services.session.notice("info", "cancelled · provider unchanged");
199
+ return false;
200
+ }
201
+ // Another URL means the user is still answering the previous question.
202
+ if (/^https?:\/\//i.test(token)) {
203
+ const endpoint = normalizeEndpointUrl(token);
204
+ appendProviderEndpoint("modal", endpoint);
205
+ services.session.notice("warn", `saved that as the endpoint (${endpoint}) · modal still needs a wk-…:ws-… token pair — run /provider modal again`);
206
+ return false;
207
+ }
208
+ if (!getProvider("modal").validateKey(token)) {
209
+ services.session.notice("warn", "expected a proxy token pair like wk-tokenId:ws-tokenSecret · provider unchanged");
210
+ return false;
211
+ }
212
+ await setProviderSecret("modal", token);
213
+ }
214
+ return true;
215
+ }
147
216
  export function handleSearch(services, invocation) {
148
217
  const args = invocation.args.trim();
149
218
  if (args) {