@molecule/app-ide-react 1.9.0 → 1.9.1

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.
@@ -142,9 +142,9 @@ export const COMMANDS = [
142
142
  {
143
143
  id: 'effort',
144
144
  label: '/effort',
145
- description: "Set reasoning effort per mode, in the model's own levels; /effort ? shows them",
145
+ description: "Pick reasoning effort per mode from the model's own levels",
146
146
  category: 'model',
147
- usage: '/effort [--plan|--execute] <level>',
147
+ usage: '/effort [--plan|--execute] [level]',
148
148
  },
149
149
  // Settings
150
150
  {
@@ -1 +1 @@
1
- {"version":3,"file":"command-metadata.js","sourceRoot":"","sources":["../src/command-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-metadata.js","sourceRoot":"","sources":["../src/command-metadata.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/components/ChatPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/components/ChatPanel.tsx"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ import { CHAT_CARD_ICON_SIZE, chatCardBorder, chatCardStyle } from './chat-card-
19
19
  import { COMMAND_CATEGORIES, COMMANDS, matchesSideChannelCommand, } from './chat-commands.js';
20
20
  import { stripCommitCoauthorTrailer } from './chat-commit-utilities.js';
21
21
  import { cachedPromptTokens, formatTokenTotal } from './chat-cost-utilities.js';
22
- import { effortOptionsForModel, nativeEffortName, parseEffortCommand, resolveEffortArg, } from './chat-effort-utilities.js';
22
+ import { defaultEffortForModel, effortOptionsForModel, nativeEffortName, parseEffortCommand, resolveEffortArg, } from './chat-effort-utilities.js';
23
23
  import { buildHelpText } from './chat-help-utilities.js';
24
24
  import { effectiveModeModelId, freeTierLockReason, freeTierUsableMode, isModeModelLocked, modeSettingKey, parseModelModeCommand, resolveModeModel, } from './chat-model-mode-utilities.js';
25
25
  import { modelHasPeakPricing, modelPeakMultiplier, modelPeakWindowLabels, modelUsageRate, sortModels, } from './chat-models-utilities.js';
@@ -1265,19 +1265,39 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
1265
1265
  const soundsConfigRef = useRef({ ...DEFAULT_SOUNDS_CONFIG });
1266
1266
  // ── Context usage tracking (ring indicator) ─────────────────────────────
1267
1267
  const [contextUsage, setContextUsage] = useState(null);
1268
- // Restore context usage from the history endpoint on mount
1268
+ // Restore context usage from the history endpoint on mount. Retries a few
1269
+ // times on failure: this used to be one-shot, so a single transient error at
1270
+ // mount (an API deploy restart, a rate-limit blip) silently cost the context
1271
+ // ring for the entire session — the state only ever refills from the next
1272
+ // turn's `done` event (observed live 2026-08-29: ring gone, server data fine,
1273
+ // reload fixed it).
1269
1274
  useEffect(() => {
1270
1275
  if (!hasConversation)
1271
1276
  return;
1272
- http
1273
- .get(endpoint)
1274
- .then((res) => {
1275
- if (res.data.contextUsage)
1276
- setContextUsage(res.data.contextUsage);
1277
- })
1278
- .catch(() => {
1279
- /* ignore */
1280
- });
1277
+ let cancelled = false;
1278
+ let attempt = 0;
1279
+ const load = () => {
1280
+ http
1281
+ .get(endpoint)
1282
+ .then((res) => {
1283
+ if (cancelled)
1284
+ return;
1285
+ if (res.data.contextUsage)
1286
+ setContextUsage(res.data.contextUsage);
1287
+ })
1288
+ .catch((_error) => {
1289
+ // Transient failure — retry with backoff (bounded); after the budget,
1290
+ // the next turn's done event repopulates the ring.
1291
+ if (cancelled || attempt >= 3)
1292
+ return;
1293
+ attempt++;
1294
+ setTimeout(load, attempt * 4000);
1295
+ });
1296
+ };
1297
+ load();
1298
+ return () => {
1299
+ cancelled = true;
1300
+ };
1281
1301
  }, [endpoint, hasConversation, http]);
1282
1302
  // ── Auto-fix countdown state ──────────────────────────────────────────────
1283
1303
  // After the AI finishes, if verification found errors, show a countdown
@@ -1919,6 +1939,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
1919
1939
  setIsListening(false);
1920
1940
  setCommandMenu(null);
1921
1941
  setModelPicker(null);
1942
+ setEffortPicker(null);
1922
1943
  setSoundsPicker(null);
1923
1944
  setFilePicker(null);
1924
1945
  setPanelOverlay(null);
@@ -2115,6 +2136,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
2115
2136
  // Popups are one-at-a-time — close any sibling before opening the picker
2116
2137
  setCommandMenu(null);
2117
2138
  setModelPicker(null);
2139
+ setEffortPicker(null);
2118
2140
  setSoundsPicker(null);
2119
2141
  setFilePicker(null);
2120
2142
  setPanelOverlay(null);
@@ -2155,6 +2177,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
2155
2177
  const [commandMenu, setCommandMenu] = useState(null);
2156
2178
  // ── Model picker (shown when typing /model <filter>) ──────────────────────
2157
2179
  const [modelPicker, setModelPicker] = useState(null);
2180
+ const [effortPicker, setEffortPicker] = useState(null);
2158
2181
  // ── System cards (persistent inline notifications in chat history) ────────
2159
2182
  const [systemCards, setSystemCards] = useState([]);
2160
2183
  // Bug-report modal — `{ title }` (seed) when open, null when closed. Opened by
@@ -2519,6 +2542,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
2519
2542
  // Close any sibling popup so overlays never stack (matches how the model
2520
2543
  // picker / sounds picker each own this region exclusively).
2521
2544
  setModelPicker(null);
2545
+ setEffortPicker(null);
2522
2546
  setSoundsPicker(null);
2523
2547
  setCommandMenu(null);
2524
2548
  setPanelOverlayQuery(query);
@@ -3591,6 +3615,23 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
3591
3615
  return;
3592
3616
  }
3593
3617
  setModelPicker(null);
3618
+ // Show the effort picker while typing "/effort ..." — same live behavior
3619
+ // as /model. Text after the command (minus the --plan/--execute flag)
3620
+ // filters the level list; "?" keeps the textual status path instead. A
3621
+ // dropdown-chosen mode survives further keystrokes unless a flag names one.
3622
+ if (/^\/effort\s/i.test(val)) {
3623
+ const typed = parseEffortCommand(val);
3624
+ if (typed && (typed.kind === 'menu' || (typed.kind === 'set' && typed.arg !== '?'))) {
3625
+ const typedMode = typed.mode;
3626
+ setEffortPicker((p) => ({
3627
+ selectedIdx: -1,
3628
+ mode: typedMode ?? p?.mode ?? liveModelMode,
3629
+ }));
3630
+ setCommandMenu(null);
3631
+ return;
3632
+ }
3633
+ }
3634
+ setEffortPicker(null);
3594
3635
  if (val.startsWith('/') && !val.includes(' ')) {
3595
3636
  setCommandMenu({ selectedIdx: -1 });
3596
3637
  }
@@ -3686,6 +3727,29 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
3686
3727
  logger.warn('Failed to update model processing region', { error });
3687
3728
  }
3688
3729
  }, [http, projectId, modelRegions]);
3730
+ // Persist a mode's reasoning effort (used by both the /effort <level> typed
3731
+ // path and the effort picker). Shallow-merge on the server means we send the
3732
+ // WHOLE effortByMode map, not just the changed entry.
3733
+ const applyEffortLevel = useCallback(async (targetMode, level, targetModel) => {
3734
+ setEffortPicker(null);
3735
+ setInputValue('');
3736
+ try {
3737
+ const nextByMode = { ...effortByMode, [targetMode]: level };
3738
+ await http.patch(settingsPatchUrl(), { settings: { effortByMode: nextByMode } });
3739
+ setEffortByMode(nextByMode);
3740
+ addSystemCard(t('ide.chat.effort.setMode', {
3741
+ mode: targetMode,
3742
+ level: nativeEffortName(targetModel, level) ?? level,
3743
+ model: targetModel?.label ?? '?',
3744
+ }, { defaultValue: 'Reasoning effort for {{mode}} set to {{level}} ({{model}}).' }));
3745
+ }
3746
+ catch (error) {
3747
+ logger.warn('Failed to update reasoning effort level', { error });
3748
+ addSystemCard(t('ide.chat.effort.error', undefined, {
3749
+ defaultValue: 'Failed to update reasoning effort.',
3750
+ }));
3751
+ }
3752
+ }, [http, effortByMode, settingsPatchUrl, addSystemCard]);
3689
3753
  // The shared command registry UNION any host-provided commands (e.g.
3690
3754
  // molecule.dev's /deploy, /push, /invite, /teamsay), so the menu, grouping,
3691
3755
  // and dispatch all see one list and host commands never go missing. Declared
@@ -3694,11 +3758,12 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
3694
3758
  const extraCommandIds = useMemo(() => new Set((extraCommands ?? []).map((c) => c.id)), [extraCommands]);
3695
3759
  const executeCommand = useCallback(async (id) => {
3696
3760
  setCommandMenu(null);
3697
- // Any command closes every sibling popup (panel overlay, model/sounds/mic
3698
- // pickers) so popups are strictly one-at-a-time — the branches below
3699
- // re-open their own.
3761
+ // Any command closes every sibling popup (panel overlay, model/effort/
3762
+ // sounds/mic pickers) so popups are strictly one-at-a-time — the branches
3763
+ // below re-open their own.
3700
3764
  setPanelOverlay(null);
3701
3765
  setModelPicker(null);
3766
+ setEffortPicker(null);
3702
3767
  setSoundsPicker(null);
3703
3768
  setMicPicker(null);
3704
3769
  // Host-provided commands (e.g. molecule.dev's /deploy, /push, /invite,
@@ -3743,8 +3808,10 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
3743
3808
  setInputAndCursorEnd('/maxloops ');
3744
3809
  }
3745
3810
  else if (id === 'effort') {
3746
- // Prefill so the user types a level; /effort ? (or bare) shows status.
3747
- setInputAndCursorEnd('/effort ');
3811
+ // Open the selectable level picker (mirrors /model) scoped to the live
3812
+ // conversation mode; its mode dropdown re-scopes in place.
3813
+ setInputValue('');
3814
+ setEffortPicker({ selectedIdx: -1, mode: liveModelMode });
3748
3815
  }
3749
3816
  else if (id === 'autocommit') {
3750
3817
  // Prefill so the user types the cadence (seconds); 0 cancels.
@@ -4255,6 +4322,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
4255
4322
  setPanelOverlay(null);
4256
4323
  setCommandMenu(null);
4257
4324
  setModelPicker(null);
4325
+ setEffortPicker(null);
4258
4326
  setSoundsPicker(null);
4259
4327
  setMicPicker({ autoStart: false });
4260
4328
  return;
@@ -4304,6 +4372,18 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
4304
4372
  const effortCmd = parseEffortCommand(trimmed);
4305
4373
  if (effortCmd) {
4306
4374
  setInputValue('');
4375
+ // Bare /effort (or a bare --plan/--execute flag) opens the selectable
4376
+ // level picker — same interaction as bare /model. The picker lists the
4377
+ // target mode's model's own levels; its mode dropdown re-scopes in place.
4378
+ if (effortCmd.kind === 'menu') {
4379
+ setPanelOverlay(null);
4380
+ setCommandMenu(null);
4381
+ setModelPicker(null);
4382
+ setSoundsPicker(null);
4383
+ setMicPicker(null);
4384
+ setEffortPicker({ selectedIdx: -1, mode: effortCmd.mode ?? liveModelMode });
4385
+ return;
4386
+ }
4307
4387
  // Resolve the model a given mode will actually use — mirrors the /model
4308
4388
  // picker + slash-suffix resolveModeModel logic (P2-10: each mode's
4309
4389
  // options come from ITS model's reasoning capabilities).
@@ -4361,22 +4441,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
4361
4441
  }, { defaultValue: "{{level}} isn't available for {{model}}. Available: {{levels}}" }));
4362
4442
  return;
4363
4443
  }
4364
- try {
4365
- const nextByMode = { ...effortByMode, [targetMode]: level };
4366
- await http.patch(settingsPatchUrl(), { settings: { effortByMode: nextByMode } });
4367
- setEffortByMode(nextByMode);
4368
- addSystemCard(t('ide.chat.effort.setMode', {
4369
- mode: targetMode,
4370
- level: nativeEffortName(targetModel, level) ?? effortCmd.arg,
4371
- model: targetModelLabel,
4372
- }, { defaultValue: 'Reasoning effort for {{mode}} set to {{level}} ({{model}}).' }));
4373
- }
4374
- catch (error) {
4375
- logger.warn('Failed to update reasoning effort level', { error });
4376
- addSystemCard(t('ide.chat.effort.error', undefined, {
4377
- defaultValue: 'Failed to update reasoning effort.',
4378
- }));
4379
- }
4444
+ await applyEffortLevel(targetMode, level, targetModel);
4380
4445
  }
4381
4446
  return;
4382
4447
  }
@@ -4530,6 +4595,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
4530
4595
  runSavedScript,
4531
4596
  allCommands,
4532
4597
  selectModel,
4598
+ applyEffortLevel,
4533
4599
  liveModelMode,
4534
4600
  ]);
4535
4601
  // External auto-submit. When the signal changes, submit the current input —
@@ -4746,6 +4812,43 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
4746
4812
  ? (resolveModeModel({ planModel, executeModel, commitModel, compactModel, chatModel: savedChatModel }, modelPicker.mode) ?? serverModelDefaults?.[modelPicker.mode])
4747
4813
  : savedChatModel || undefined
4748
4814
  : undefined;
4815
+ // ── Effort picker derived state ─────────────────────────────────────────────
4816
+ // The model whose levels the open /effort picker lists — the model the
4817
+ // selected mode will actually run — plus its selectable options and the level
4818
+ // the "current" pill marks (the persisted per-mode value resolved per-model,
4819
+ // so an unset mode correctly pills the model's own default). Cheap to
4820
+ // recompute per render, mirroring pickerModeOptions above.
4821
+ const effortPickerModel = effortPicker
4822
+ ? AVAILABLE_MODELS.find((m) => m.id === effectiveModelForMode(effortPicker.mode))
4823
+ : undefined;
4824
+ const effortPickerOptions = effortOptionsForModel(effortPickerModel);
4825
+ // Typed filter, mirroring filteredModels: the text after "/effort" (minus a
4826
+ // mode flag) narrows the rows, so "/effort xh" + Enter selects xhigh. Read
4827
+ // from inputRef — it stays fresh because each keystroke re-sets effortPicker.
4828
+ const effortPickerVisibleOptions = (() => {
4829
+ if (!effortPicker)
4830
+ return [];
4831
+ const typed = parseEffortCommand(inputRef.current);
4832
+ const q = typed?.kind === 'set' ? typed.arg.toLowerCase() : '';
4833
+ if (!q)
4834
+ return effortPickerOptions;
4835
+ return effortPickerOptions.filter((o) => o.value.toLowerCase().includes(q));
4836
+ })();
4837
+ const effortPickerCurrent = effortPicker
4838
+ ? nativeEffortName(effortPickerModel, effortByMode[effortPicker.mode] ?? (effortLevel || undefined))
4839
+ : null;
4840
+ // Mode dropdown rows ("Plan · <model>") — effort exists only for the two
4841
+ // conversation modes, each scoped to ITS model's native levels.
4842
+ const effortPickerModeOptions = ['plan', 'execute'].map((m) => ({
4843
+ value: m,
4844
+ label: t('ide.chat.modelModeOption', {
4845
+ mode: m === 'plan'
4846
+ ? t('ide.chat.settings.modePlan', undefined, { defaultValue: 'Plan' })
4847
+ : t('ide.chat.settings.modeExecute', undefined, { defaultValue: 'Execute' }),
4848
+ model: AVAILABLE_MODELS.find((x) => x.id === effectiveModelForMode(m))?.label ??
4849
+ effectiveModelForMode(m),
4850
+ }, { defaultValue: '{{mode}} · {{model}}' }),
4851
+ }));
4749
4852
  const filteredEntries = useMemo(() => {
4750
4853
  if (!filePicker)
4751
4854
  return [];
@@ -4807,6 +4910,10 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
4807
4910
  setMicPicker(null);
4808
4911
  return;
4809
4912
  }
4913
+ if (effortPicker) {
4914
+ setEffortPicker(null);
4915
+ return;
4916
+ }
4810
4917
  if (modelPicker) {
4811
4918
  setModelPicker(null);
4812
4919
  return;
@@ -4851,6 +4958,43 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
4851
4958
  return;
4852
4959
  }
4853
4960
  }
4961
+ // Effort picker: one row per (typed-filter-matching) level of the selected
4962
+ // mode's model. A fixed-reasoning model or an unmatched filter lists
4963
+ // nothing — arrows/Enter fall through (Escape closes; Enter submits the
4964
+ // typed text, so an unknown level still gets the "isn't available" card).
4965
+ if (effortPicker && effortPickerVisibleOptions.length > 0) {
4966
+ if (e.key === 'ArrowDown') {
4967
+ e.preventDefault();
4968
+ setEffortPicker((p) => p
4969
+ ? { ...p, selectedIdx: wrapIdx(p.selectedIdx, 1, effortPickerVisibleOptions.length) }
4970
+ : null);
4971
+ return;
4972
+ }
4973
+ if (e.key === 'ArrowUp') {
4974
+ e.preventDefault();
4975
+ setEffortPicker((p) => p
4976
+ ? { ...p, selectedIdx: wrapIdx(p.selectedIdx, -1, effortPickerVisibleOptions.length) }
4977
+ : null);
4978
+ return;
4979
+ }
4980
+ if (e.key === 'Enter' || e.key === 'Tab') {
4981
+ e.preventDefault();
4982
+ // Highlighted row wins; otherwise an exactly-typed level beats the
4983
+ // first substring match ("/effort high" must never apply xhigh's
4984
+ // neighbor), then default to the first visible row (mirrors /model).
4985
+ let option = effortPickerVisibleOptions[effortPicker.selectedIdx];
4986
+ if (!option) {
4987
+ const typed = parseEffortCommand(inputRef.current);
4988
+ const q = typed?.kind === 'set' ? typed.arg.toLowerCase() : '';
4989
+ option =
4990
+ (q ? effortPickerVisibleOptions.find((o) => o.value.toLowerCase() === q) : undefined) ??
4991
+ effortPickerVisibleOptions[0];
4992
+ }
4993
+ if (option)
4994
+ void applyEffortLevel(effortPicker.mode, option.value, effortPickerModel);
4995
+ return;
4996
+ }
4997
+ }
4854
4998
  // The optional "manage your own models" row sits after the model rows and
4855
4999
  // participates in arrow/Enter navigation as the last index.
4856
5000
  const modelRowCount = visibleModels.length + (onManageCustomModels ? 1 : 0);
@@ -6260,7 +6404,108 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
6260
6404
  : 'color-mix(in srgb, var(--mol-color-primary, #6366f1) 12%, transparent)',
6261
6405
  }, children: t('ide.chat.manageCustomModels', undefined, {
6262
6406
  defaultValue: 'Add or manage your own models…',
6263
- }) }))] })), soundsPicker && (_jsxs("div", { className: cm.cn(cm.surface, cm.borderAll), style: {
6407
+ }) }))] })), effortPicker && (_jsxs("div", { className: cm.cn(cm.surface, cm.borderAll), style: {
6408
+ position: 'absolute',
6409
+ bottom: '100%',
6410
+ left: 0,
6411
+ right: 0,
6412
+ marginBottom: 0,
6413
+ borderRadius: '6px 6px 0 0',
6414
+ zIndex: 100,
6415
+ boxShadow: '0 -4px 16px rgba(0,0,0,0.25)',
6416
+ display: 'flex',
6417
+ flexDirection: 'column',
6418
+ maxHeight: popupMaxHeight,
6419
+ }, children: [_jsxs("div", { className: cm.cn(cm.textSize('xs'), cm.textMuted), style: {
6420
+ padding: '6px 12px',
6421
+ borderBottom: '1px solid rgba(128,128,128,0.12)',
6422
+ display: 'flex',
6423
+ alignItems: 'center',
6424
+ gap: 10,
6425
+ flexShrink: 0,
6426
+ flexWrap: 'wrap',
6427
+ }, children: [_jsx("span", { style: { flexShrink: 0 }, children: t('ide.chat.settings.effort.label', undefined, {
6428
+ defaultValue: 'Reasoning effort',
6429
+ }) }), _jsxs("div", { style: {
6430
+ display: 'flex',
6431
+ alignItems: 'center',
6432
+ gap: 6,
6433
+ flex: '1 1 190px',
6434
+ minWidth: 0,
6435
+ }, children: [_jsx("span", { style: { flexShrink: 0 }, children: t('ide.chat.modelModeLabel', undefined, { defaultValue: 'Mode' }) }), _jsx("select", { "data-mol-id": "chat-effort-mode-select", "aria-label": t('ide.chat.modelModeLabel', undefined, { defaultValue: 'Mode' }), value: effortPicker.mode, onChange: (e) => {
6436
+ const v = e.target.value;
6437
+ // Reset the highlighted row — the level list changes with
6438
+ // the mode's model.
6439
+ setEffortPicker((p) => (p ? { mode: v, selectedIdx: -1 } : p));
6440
+ }, className: cm.cn(cm.surfaceSecondary, cm.borderAll, cm.textSize('xs')), style: {
6441
+ borderRadius: 4,
6442
+ // Extra right padding clears the native dropdown arrow so
6443
+ // the selected label never runs underneath it.
6444
+ padding: '2px 18px 2px 6px',
6445
+ color: 'inherit',
6446
+ cursor: 'pointer',
6447
+ height: 24,
6448
+ boxSizing: 'border-box',
6449
+ flex: 1,
6450
+ minWidth: 0,
6451
+ overflow: 'hidden',
6452
+ whiteSpace: 'nowrap',
6453
+ textOverflow: 'ellipsis',
6454
+ }, children: effortPickerModeOptions.map((o) => (_jsx("option", { value: o.value, children: o.label }, o.value))) })] }), _jsx("button", { type: "button", "data-mol-id": "chat-effort-picker-close", onClick: () => setEffortPicker(null), style: {
6455
+ background: 'none',
6456
+ border: 'none',
6457
+ cursor: 'pointer',
6458
+ color: 'inherit',
6459
+ padding: '0 2px',
6460
+ fontSize: '14px',
6461
+ lineHeight: 1,
6462
+ opacity: 0.6,
6463
+ // Touch floor for this secondary header ✕ (36px, like the
6464
+ // notice-card actions); fine pointers keep the slim header.
6465
+ ...(isCoarse
6466
+ ? {
6467
+ display: 'inline-flex',
6468
+ alignItems: 'center',
6469
+ justifyContent: 'center',
6470
+ minWidth: 36,
6471
+ minHeight: 36,
6472
+ }
6473
+ : {}),
6474
+ }, children: '✕' })] }), _jsx("div", { style: { overflowY: 'auto', flex: 1 }, children: effortPickerOptions.length === 0 ? (_jsx("div", { className: cm.cn(cm.textSize('sm'), cm.textMuted), style: { padding: 12 }, children: t('ide.chat.effort.fixedForModel', { mode: effortPicker.mode, model: effortPickerModel?.label ?? '?' }, {
6475
+ defaultValue: 'Reasoning effort is fixed on {{model}} ({{mode}} mode) — nothing to set.',
6476
+ }) })) : (effortPickerVisibleOptions.map((option, idx) => (_jsxs("button", { type: "button", "data-mol-id": `chat-effort-level-${option.value}`, onClick: () => void applyEffortLevel(effortPicker.mode, option.value, effortPickerModel), onMouseEnter: (e) => {
6477
+ ;
6478
+ e.currentTarget.style.background = 'rgba(128,128,128,0.15)';
6479
+ }, onMouseLeave: (e) => {
6480
+ ;
6481
+ e.currentTarget.style.background =
6482
+ idx === effortPicker.selectedIdx ? 'rgba(128,128,128,0.1)' : 'transparent';
6483
+ }, className: cm.w('full'), style: {
6484
+ display: 'flex',
6485
+ alignItems: 'center',
6486
+ gap: '6px',
6487
+ width: '100%',
6488
+ minHeight: '40px',
6489
+ padding: '8px 12px',
6490
+ border: 'none',
6491
+ borderTop: idx === 0 ? 'none' : '1px solid rgba(128,128,128,0.12)',
6492
+ cursor: 'pointer',
6493
+ color: 'inherit',
6494
+ textAlign: 'left',
6495
+ fontSize: '13px',
6496
+ background: idx === effortPicker.selectedIdx ? 'rgba(128,128,128,0.1)' : 'transparent',
6497
+ }, children: [_jsx("span", { className: cm.fontWeight('medium'), children: option.value }), defaultEffortForModel(effortPickerModel) === option.value && (_jsx("span", { className: cm.textMuted, style: { fontSize: '10px' }, children: t('ide.chat.modelMode.default', undefined, { defaultValue: 'Default' }) })), effortPickerCurrent === option.value && (_jsx("span", { "data-mol-id": `effort-current-${option.value}`, className: cm.fontWeight('medium'), style: {
6498
+ // Right-aligned + primary-tinted, matching the model
6499
+ // picker's "current" pill (hex is only the var()
6500
+ // fallback; the theme token wins).
6501
+ marginLeft: 'auto',
6502
+ fontSize: '10px',
6503
+ color: 'var(--mol-color-primary, #6366f1)',
6504
+ background: 'color-mix(in srgb, var(--mol-color-primary, #6366f1) 16%, transparent)',
6505
+ border: '1px solid color-mix(in srgb, var(--mol-color-primary, #6366f1) 42%, transparent)',
6506
+ padding: '1px 7px',
6507
+ borderRadius: '999px',
6508
+ }, children: t('ide.chat.currentBadge', undefined, { defaultValue: 'current' }) }))] }, option.value)))) })] })), soundsPicker && (_jsxs("div", { className: cm.cn(cm.surface, cm.borderAll), style: {
6264
6509
  position: 'absolute',
6265
6510
  bottom: '100%',
6266
6511
  left: 0,
@@ -6501,7 +6746,11 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
6501
6746
  ? t('ide.chat.activeFile', undefined, { defaultValue: 'active' })
6502
6747
  : t('ide.chat.openTab', undefined, { defaultValue: 'open' }) }))] }, entry.name));
6503
6748
  }) }));
6504
- })(), queuedMessages.length > 0 && !commandMenu && !modelPicker && !panelOverlay && (_jsxs("div", { style: {
6749
+ })(), queuedMessages.length > 0 &&
6750
+ !commandMenu &&
6751
+ !modelPicker &&
6752
+ !effortPicker &&
6753
+ !panelOverlay && (_jsxs("div", { style: {
6505
6754
  borderTop: '1px solid rgba(128,128,128,0.15)',
6506
6755
  padding: '6px 8px 6px 10px',
6507
6756
  }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 4, marginBottom: 3 }, children: [_jsx(Icon, { name: "clock", size: 11, "aria-hidden": "true", style: { opacity: 0.5, flexShrink: 0 } }), _jsx("span", { className: cm.cn(cm.textMuted, cm.textSize('xs')), style: { fontStyle: 'italic' }, children: t('ide.chat.queuedCount', { count: queuedMessages.length }, { defaultValue: '{{count}} queued' }) })] }), _jsx("div", { style: {
@@ -6637,6 +6886,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
6637
6886
  pendingFiles.length > 0 &&
6638
6887
  !commandMenu &&
6639
6888
  !modelPicker &&
6889
+ !effortPicker &&
6640
6890
  !panelOverlay && (_jsxs("div", { style: {
6641
6891
  borderTop: '1px solid rgba(128,128,128,0.15)',
6642
6892
  // Equal top/right/bottom (8px) so the commit button — flush to the
@@ -7002,6 +7252,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
7002
7252
  // Popups are one-at-a-time — close siblings first.
7003
7253
  setMicPicker(null);
7004
7254
  setModelPicker(null);
7255
+ setEffortPicker(null);
7005
7256
  setSoundsPicker(null);
7006
7257
  const cur = inputRef.current;
7007
7258
  if (!cur)