@qduc/term2 0.22.0 → 0.22.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.
Files changed (60) hide show
  1. package/dist/components/common/MenuContainer.d.ts +10 -0
  2. package/dist/components/common/MenuContainer.d.ts.map +1 -1
  3. package/dist/components/common/MenuContainer.js +53 -29
  4. package/dist/components/common/MenuContainer.js.map +1 -1
  5. package/dist/components/input/MentorPoolMenuSession.d.ts.map +1 -1
  6. package/dist/components/input/MentorPoolMenuSession.js +5 -8
  7. package/dist/components/input/MentorPoolMenuSession.js.map +1 -1
  8. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  9. package/dist/components/input/ModelMenuSession.js +7 -21
  10. package/dist/components/input/ModelMenuSession.js.map +1 -1
  11. package/dist/components/menu/ModelSelectionMenu.js +2 -2
  12. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  13. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -1
  14. package/dist/components/menu/ProfileSelectionMenu.js +12 -12
  15. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -1
  16. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  17. package/dist/components/menu/ResumeSelectionMenu.js +10 -10
  18. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  19. package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
  20. package/dist/components/menu/SkillSelectionMenu.js +10 -10
  21. package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
  22. package/dist/components/menu/StandaloneModelPickerApp.d.ts +3 -3
  23. package/dist/components/menu/StandaloneModelPickerApp.d.ts.map +1 -1
  24. package/dist/components/menu/StandaloneModelPickerApp.js +9 -10
  25. package/dist/components/menu/StandaloneModelPickerApp.js.map +1 -1
  26. package/dist/components/message/MessageList.d.ts +2 -1
  27. package/dist/components/message/MessageList.d.ts.map +1 -1
  28. package/dist/components/message/MessageList.js +12 -38
  29. package/dist/components/message/MessageList.js.map +1 -1
  30. package/dist/hooks/use-mentor-pool-selection.d.ts +5 -3
  31. package/dist/hooks/use-mentor-pool-selection.d.ts.map +1 -1
  32. package/dist/hooks/use-mentor-pool-selection.js +63 -51
  33. package/dist/hooks/use-mentor-pool-selection.js.map +1 -1
  34. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  35. package/dist/hooks/use-slash-commands.js +19 -13
  36. package/dist/hooks/use-slash-commands.js.map +1 -1
  37. package/dist/services/agent-runtime/model-resolver.d.ts.map +1 -1
  38. package/dist/services/agent-runtime/model-resolver.js +1 -23
  39. package/dist/services/agent-runtime/model-resolver.js.map +1 -1
  40. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  41. package/dist/services/conversation/conversation-orchestrator.js +42 -22
  42. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  43. package/dist/services/models/model-picker-host.d.ts +4 -4
  44. package/dist/services/models/model-picker-host.d.ts.map +1 -1
  45. package/dist/services/models/model-picker-host.js +9 -6
  46. package/dist/services/models/model-picker-host.js.map +1 -1
  47. package/dist/tools/file/edit-healing.d.ts.map +1 -1
  48. package/dist/tools/file/edit-healing.js +1 -4
  49. package/dist/tools/file/edit-healing.js.map +1 -1
  50. package/dist/tools/file/patch-healing.d.ts.map +1 -1
  51. package/dist/tools/file/patch-healing.js +1 -4
  52. package/dist/tools/file/patch-healing.js.map +1 -1
  53. package/dist/tools/file/search-replace.d.ts.map +1 -1
  54. package/dist/tools/file/search-replace.js +1 -3
  55. package/dist/tools/file/search-replace.js.map +1 -1
  56. package/dist/utils/conversation/static-commit-policy.d.ts +38 -0
  57. package/dist/utils/conversation/static-commit-policy.d.ts.map +1 -0
  58. package/dist/utils/conversation/static-commit-policy.js +76 -0
  59. package/dist/utils/conversation/static-commit-policy.js.map +1 -0
  60. package/package.json +1 -1
@@ -24,7 +24,7 @@ export type StandaloneModelPickerAppProps = {
24
24
  lockProvider?: string;
25
25
  /** One-line explanations shown above the menu (e.g. "No models match ..."). */
26
26
  bannerLines?: string[];
27
- /** Called exactly once, right before the picker unmounts. */
27
+ /** Called exactly once when the picker has an outcome. The host owns teardown. */
28
28
  onDone: (outcome: StandaloneModelPickerOutcome) => void;
29
29
  };
30
30
  /**
@@ -32,8 +32,8 @@ export type StandaloneModelPickerAppProps = {
32
32
  * (the same presentational component the interactive app uses) with its own
33
33
  * `useInput` boundary, since there is no composer here to own keys through
34
34
  * the app's `MenuSurface`/`MenuController` machinery. Calls `onDone` exactly
35
- * once and then exits, which the host uses to unmount and restore the
36
- * terminal before returning control to the caller.
35
+ * once, which lets the host clear the transient frame before unmounting and
36
+ * restoring the terminal.
37
37
  */
38
38
  export declare function StandaloneModelPickerApp({ settingsService, loggingService, modelFetcher, initialQuery, initialProvider, lockProvider, bannerLines, onDone, }: StandaloneModelPickerAppProps): React.JSX.Element;
39
39
  export default StandaloneModelPickerApp;
@@ -1 +1 @@
1
- {"version":3,"file":"StandaloneModelPickerApp.d.ts","sourceRoot":"","sources":["../../../source/components/menu/StandaloneModelPickerApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAGnF,MAAM,MAAM,8BAA8B,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF,MAAM,MAAM,4BAA4B,GACpC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,8BAA8B,CAAA;CAAE,GACjE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAE5B,MAAM,MAAM,6BAA6B,GAAG;IAC1C,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,6DAA6D;IAC7D,MAAM,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,IAAI,CAAC;CACzD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,WAAW,EACX,MAAM,GACP,EAAE,6BAA6B,qBAsG/B;eAEc,wBAAwB"}
1
+ {"version":3,"file":"StandaloneModelPickerApp.d.ts","sourceRoot":"","sources":["../../../source/components/menu/StandaloneModelPickerApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAGnF,MAAM,MAAM,8BAA8B,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF,MAAM,MAAM,4BAA4B,GACpC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,8BAA8B,CAAA;CAAE,GACjE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAE5B,MAAM,MAAM,6BAA6B,GAAG;IAC1C,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kFAAkF;IAClF,MAAM,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,IAAI,CAAC;CACzD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,WAAW,EACX,MAAM,GACP,EAAE,6BAA6B,qBAqG/B;eAEc,wBAAwB"}
@@ -1,5 +1,5 @@
1
1
  import React, { useCallback } from 'react';
2
- import { Box, Text, useApp, useInput } from 'ink';
2
+ import { Box, Text, useInput } from 'ink';
3
3
  import ModelSelectionMenu from './ModelSelectionMenu.js';
4
4
  import { useStandaloneModelPicker } from '../../hooks/use-standalone-model-picker.js';
5
5
  import { COLOR_WARNING } from '../theme.js';
@@ -8,11 +8,10 @@ import { COLOR_WARNING } from '../theme.js';
8
8
  * (the same presentational component the interactive app uses) with its own
9
9
  * `useInput` boundary, since there is no composer here to own keys through
10
10
  * the app's `MenuSurface`/`MenuController` machinery. Calls `onDone` exactly
11
- * once and then exits, which the host uses to unmount and restore the
12
- * terminal before returning control to the caller.
11
+ * once, which lets the host clear the transient frame before unmounting and
12
+ * restoring the terminal.
13
13
  */
14
14
  export function StandaloneModelPickerApp({ settingsService, loggingService, modelFetcher, initialQuery, initialProvider, lockProvider, bannerLines, onDone, }) {
15
- const { exit } = useApp();
16
15
  const models = useStandaloneModelPicker({
17
16
  loggingService,
18
17
  settingsService,
@@ -23,8 +22,7 @@ export function StandaloneModelPickerApp({ settingsService, loggingService, mode
23
22
  });
24
23
  const finish = useCallback((outcome) => {
25
24
  onDone(outcome);
26
- exit();
27
- }, [onDone, exit]);
25
+ }, [onDone]);
28
26
  useInput((input, key) => {
29
27
  // The inline nickname editor for a favorited row owns text input, Enter,
30
28
  // and Escape while it is open, exactly as it does inside the composer's
@@ -69,7 +67,9 @@ export function StandaloneModelPickerApp({ settingsService, loggingService, mode
69
67
  else if (key.end) {
70
68
  models.moveEnd();
71
69
  }
72
- else if (key.leftArrow || key.rightArrow) {
70
+ else if (key.tab || key.leftArrow || key.rightArrow) {
71
+ // Tab and the arrows all switch the Favorites/All tab; Tab never
72
+ // completes a model id into a buffer here.
73
73
  models.switchModelTab();
74
74
  }
75
75
  else if (key.ctrl && input === 'r') {
@@ -90,9 +90,8 @@ export function StandaloneModelPickerApp({ settingsService, loggingService, mode
90
90
  else if (key.backspace) {
91
91
  models.backspaceQuery();
92
92
  }
93
- else if (key.tab || key.delete) {
94
- // No standalone meaning here (Tab inserts into the composer in the
95
- // interactive app; forward-delete has no mid-string cursor to act on).
93
+ else if (key.delete) {
94
+ // Forward-delete has no mid-string cursor to act on here.
96
95
  }
97
96
  else if (input && !key.ctrl && !key.meta) {
98
97
  models.typeQuery(input);
@@ -1 +1 @@
1
- {"version":3,"file":"StandaloneModelPickerApp.js","sourceRoot":"","sources":["../../../source/components/menu/StandaloneModelPickerApp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StandaloneModelPickerApp.js","sourceRoot":"","sources":["../../../source/components/menu/StandaloneModelPickerApp.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { SettingsService } from '../../services/settings/settings-service.js';
3
3
  import type { Message } from '../../types/message.js';
4
+ import { type StaticCommitBlockerReason } from '../../utils/conversation/static-commit-policy.js';
4
5
  type Props<T extends MessageLike = Message> = {
5
6
  messages: T[];
6
7
  bannerItems?: string[];
@@ -36,7 +37,7 @@ export type StaticCommitBlocker = {
36
37
  index: number;
37
38
  sender?: string;
38
39
  status?: string;
39
- reason: 'bot_streaming' | 'reasoning_streaming' | 'command_pending' | 'command_running' | 'subagent_activity' | 'unknown_active';
40
+ reason: StaticCommitBlockerReason;
40
41
  dynamicMessageCount: number;
41
42
  dynamicTextLength: number;
42
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../source/components/message/MessageList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../source/components/message/MessageList.tsx"],"names":[],"mappings":"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"}
@@ -6,29 +6,17 @@ import ChatMessage from './ChatMessage.js';
6
6
  import Banner from '../layout/Banner.js';
7
7
  import SubagentActivityMessage from './SubagentActivityMessage.js';
8
8
  import { groupCommandRuns } from './command-grouping.js';
9
+ import { classifyStaticCommitBlocker, isBlockingStaticCommit, } from '../../utils/conversation/static-commit-policy.js';
9
10
  export const MESSAGE_HORIZONTAL_PADDING = 2;
10
11
  export const EMPTY_RESTORED_STATIC_MESSAGE_IDS = [];
11
12
  const STATIC_BLOCKER_MESSAGE_COUNT_THRESHOLD = 12;
12
13
  const STATIC_BLOCKER_TEXT_LENGTH_THRESHOLD = 12_000;
13
- const canRenderStatically = (message) => {
14
- if (message.sender === 'reasoning') {
15
- return message.status === 'finalized';
16
- }
17
- if (message.sender === 'command') {
18
- return message.status !== 'pending' && message.status !== 'running';
19
- }
20
- if (message.sender === 'subagent') {
21
- return (message.status === 'completed' ||
22
- message.status === 'failed' ||
23
- message.status === 'cancelled' ||
24
- message.status === 'interrupted' ||
25
- message.status === 'backgrounded');
26
- }
27
- if (message.sender === 'bot') {
28
- return message.status !== 'streaming';
29
- }
30
- return true;
31
- };
14
+ // MessageLike is a structural superset kept for rendering and tests; the
15
+ // static-commit policy needs the discriminated sender/status unions of the
16
+ // real Message rows. Production rows are Message, so the cast is safe, and the
17
+ // policy degrades an unrecognized runtime string to "committable" rather than
18
+ // throwing inside the render loop.
19
+ const canRenderStatically = (message) => !isBlockingStaticCommit(message);
32
20
  const isGroupableToolMessage = (message) => message?.sender === 'command' || message?.sender === 'subagent' || message?.sender === 'command-group';
33
21
  // These rows are produced asynchronously by background work. They are
34
22
  // chronological relative to the session, but must not be frozen into
@@ -82,24 +70,6 @@ export const splitStaticHistory = (messages, options = {}) => {
82
70
  active: messages.slice(activeStartWithToolLeadIn),
83
71
  };
84
72
  };
85
- const getStaticBlockerReason = (message) => {
86
- if (message.sender === 'bot' && message.status === 'streaming') {
87
- return 'bot_streaming';
88
- }
89
- if (message.sender === 'reasoning' && message.status !== 'finalized') {
90
- return 'reasoning_streaming';
91
- }
92
- if (message.sender === 'command' && message.status === 'pending') {
93
- return 'command_pending';
94
- }
95
- if (message.sender === 'command' && message.status === 'running') {
96
- return 'command_running';
97
- }
98
- if (message.sender === 'subagent') {
99
- return 'subagent_activity';
100
- }
101
- return 'unknown_active';
102
- };
103
73
  export const detectStaticCommitBlocker = (messages, options = {}) => {
104
74
  const filteredMessages = options.displayMode === 'concise' ? messages.filter((message) => message.sender !== 'reasoning') : messages;
105
75
  const activeStart = filteredMessages.findIndex((message) => !canRenderStatically(message));
@@ -114,12 +84,16 @@ export const detectStaticCommitBlocker = (messages, options = {}) => {
114
84
  return null;
115
85
  }
116
86
  const blocker = filteredMessages[activeStart];
87
+ const reason = classifyStaticCommitBlocker(blocker);
88
+ if (reason === null) {
89
+ return null;
90
+ }
117
91
  return {
118
92
  id: blocker.id,
119
93
  index: activeStart,
120
94
  sender: blocker.sender,
121
95
  status: blocker.status,
122
- reason: getStaticBlockerReason(blocker),
96
+ reason,
123
97
  dynamicMessageCount: active.length,
124
98
  dynamicTextLength,
125
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../source/components/message/MessageList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../source/components/message/MessageList.tsx"],"names":[],"mappings":"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"}
@@ -51,13 +51,13 @@ export declare function mergeMentorPoolModels({ catalogModels, entries, provider
51
51
  currentModel: string;
52
52
  }): ModelInfo[];
53
53
  export declare function resolveMentorPoolModelSelection(models: readonly ModelInfo[], selectedIndex: number, typedModel: string): string;
54
- /** Starting provider tab for the mentor-pool model browser. */
54
+ /** Starting provider for custom mentor-pool model rows. */
55
55
  export declare function resolveMentorPoolBrowseProvider({ draftProvider, mentorProvider, agentProvider, }: {
56
56
  draftProvider?: string;
57
57
  mentorProvider?: string;
58
58
  agentProvider?: string;
59
59
  }): string;
60
- /** Apply a model catalog pick: pin both model id and the active provider tab. */
60
+ /** Apply a model catalog pick: pin both model id and its provider. */
61
61
  export declare function applyMentorPoolModelPick(draft: MentorPoolDraft, model: string, provider: string): MentorPoolDraft;
62
62
  export declare function formatMentorPoolEntry(entry: MentorPoolEntry): string;
63
63
  export declare function buildMentorPoolListItems(entries: readonly MentorPoolEntry[]): MentorPoolMenuItem[];
@@ -72,6 +72,8 @@ export declare function useMentorPoolSelection(settingsService: SettingsService,
72
72
  errorMessage: string | null;
73
73
  fieldErrors: Record<string, string>;
74
74
  modelProvider: string;
75
+ modelTab: "all" | "favorites";
76
+ modelQuery: string;
75
77
  filteredModels: ModelInfo[];
76
78
  modelLoading: boolean;
77
79
  modelError: string | null;
@@ -88,7 +90,7 @@ export declare function useMentorPoolSelection(settingsService: SettingsService,
88
90
  pageModelUp: () => void;
89
91
  pageModelDown: () => void;
90
92
  refreshModels: () => void;
91
- toggleModelProvider: (direction?: 'next' | 'prev') => void;
93
+ switchModelTab: () => void;
92
94
  moveUp: () => void;
93
95
  moveDown: () => void;
94
96
  moveHome: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-mentor-pool-selection.d.ts","sourceRoot":"","sources":["../../source/hooks/use-mentor-pool-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-mentor-pool-selection.d.ts","sourceRoot":"","sources":["../../source/hooks/use-mentor-pool-selection.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,12 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
2
  import { z } from 'zod';
3
3
  import { useInputContext } from '../context/InputContext.js';
4
4
  import { SETTING_KEYS } from '../services/settings/settings-service.js';
5
- import { filterModels } from '../services/model-service.js';
6
- import { ModelCatalogSession } from '../services/models/model-catalog-session.js';
5
+ import { ModelCatalogSession, orderedProviderIds } from '../services/models/model-catalog-session.js';
7
6
  import { loadProviderItems } from '../providers/provider-service.js';
8
- import { resolveProviderCredentials } from '../utils/ai/provider-credentials.js';
9
7
  import { useSelection } from './use-selection.js';
8
+ import { filterUnifiedModels, mergeUnifiedModels } from '../services/models/unified-model-catalog.js';
9
+ import { getProviderIds } from '../providers/index.js';
10
+ import { getFavoriteModelInfos, serializeFavorite } from '../services/models/model-favorites.js';
10
11
  export const MENTOR_POOL_REASONING_EFFORTS = ['default', 'none', 'minimal', 'low', 'medium', 'high', 'xhigh'];
11
12
  const mentorPoolEntrySchema = z.object({
12
13
  model: z.string().min(1, 'Model is required'),
@@ -71,11 +72,11 @@ export function mergeMentorPoolModels({ catalogModels, entries, provider, curren
71
72
  export function resolveMentorPoolModelSelection(models, selectedIndex, typedModel) {
72
73
  return models[selectedIndex]?.id ?? typedModel.trim();
73
74
  }
74
- /** Starting provider tab for the mentor-pool model browser. */
75
+ /** Starting provider for custom mentor-pool model rows. */
75
76
  export function resolveMentorPoolBrowseProvider({ draftProvider, mentorProvider, agentProvider, }) {
76
77
  return draftProvider || mentorProvider || agentProvider || '';
77
78
  }
78
- /** Apply a model catalog pick: pin both model id and the active provider tab. */
79
+ /** Apply a model catalog pick: pin both model id and its provider. */
79
80
  export function applyMentorPoolModelPick(draft, model, provider) {
80
81
  return {
81
82
  ...draft,
@@ -118,13 +119,13 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
118
119
  const [errorMessage, setErrorMessage] = useState(null);
119
120
  const [fieldErrors, setFieldErrors] = useState({});
120
121
  const catalogSession = useMemo(() => new ModelCatalogSession({ settingsService, loggingService: loggingService ?? noOpLoggingService }), [loggingService, settingsService]);
121
- const [catalogModels, setCatalogModels] = useState([]);
122
+ const [catalogs, setCatalogs] = useState(new Map());
122
123
  const [modelLoading, setModelLoading] = useState(false);
123
124
  const [modelError, setModelError] = useState(null);
124
125
  const [modelSelectedIndex, setModelSelectedIndex] = useState(0);
125
126
  const [modelScrollOffset, setModelScrollOffset] = useState(0);
126
127
  const [modelRefreshKey, setModelRefreshKey] = useState(0);
127
- /** Provider tab currently browsed in the model menu (independent of draft until pick). */
128
+ const [modelTab, setModelTab] = useState('all');
128
129
  const [browsingProvider, setBrowsingProvider] = useState(null);
129
130
  const settingsServiceRef = useRef(settingsService);
130
131
  settingsServiceRef.current = settingsService;
@@ -134,13 +135,21 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
134
135
  agentProvider: settingsService.get(SETTING_KEYS.AGENT_PROVIDER),
135
136
  });
136
137
  const modelProvider = browsingProvider ?? fallbackModelProvider;
137
- const modelItems = useMemo(() => mergeMentorPoolModels({
138
- catalogModels,
139
- entries,
140
- provider: modelProvider,
141
- currentModel: draft?.model ?? '',
142
- }), [catalogModels, draft?.model, entries, modelProvider]);
143
- const filteredModels = useMemo(() => filterModels(modelItems, input), [input, modelItems]);
138
+ const providerIds = useMemo(() => orderedProviderIds(settingsService, getProviderIds()), [settingsService, modelRefreshKey]);
139
+ const favoriteModels = useMemo(() => getFavoriteModelInfos(settingsService), [settingsService, modelRefreshKey]);
140
+ const favoriteKeys = useMemo(() => new Set(favoriteModels.map((model) => serializeFavorite(model.provider, model.id))), [favoriteModels]);
141
+ const modelItems = useMemo(() => {
142
+ const unified = mergeUnifiedModels(providerIds, catalogs, favoriteModels);
143
+ return mergeMentorPoolModels({
144
+ catalogModels: unified,
145
+ entries,
146
+ provider: fallbackModelProvider,
147
+ currentModel: draft?.model ?? '',
148
+ });
149
+ }, [catalogs, draft?.model, entries, fallbackModelProvider, favoriteModels, providerIds]);
150
+ const filteredModels = useMemo(() => filterUnifiedModels(modelTab === 'favorites'
151
+ ? modelItems.filter((model) => favoriteKeys.has(serializeFavorite(model.provider, model.id)))
152
+ : modelItems, input, undefined), [favoriteKeys, input, modelItems, modelTab]);
144
153
  const activeItems = useMemo(() => {
145
154
  if (phase === 'list') {
146
155
  return buildMentorPoolListItems(entries);
@@ -214,28 +223,35 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
214
223
  setFieldErrors({});
215
224
  }, [active]);
216
225
  useEffect(() => {
217
- if (!active || phase !== 'edit_model' || !modelProvider)
226
+ if (!active || phase !== 'edit_model' || providerIds.length === 0)
218
227
  return;
219
228
  /* eslint-disable react-hooks/set-state-in-effect */
220
- const credentials = resolveProviderCredentials(settingsService, modelProvider);
221
- const cachedModels = catalogSession.getCached(modelProvider);
222
- setCatalogModels(cachedModels ?? []);
229
+ const cached = new Map(providerIds.map((provider) => [provider, catalogSession.getCached(provider) ?? []]));
230
+ setCatalogs(cached);
223
231
  setModelSelectedIndex(0);
224
232
  setModelScrollOffset(0);
225
233
  setModelError(null);
226
- if (credentials.required && !credentials.configured) {
227
- setModelLoading(false);
228
- return;
229
- }
230
234
  catalogSession.begin();
231
235
  let disposed = false;
232
236
  const load = async () => {
233
- setModelLoading(!cachedModels);
237
+ setModelLoading(true);
234
238
  try {
235
- const result = await catalogSession.load(modelProvider);
236
- if (disposed || result.kind === 'stale')
239
+ const results = await Promise.allSettled(providerIds.map(async (provider) => ({ provider, result: await catalogSession.load(provider) })));
240
+ if (disposed)
237
241
  return;
238
- setCatalogModels(result.models);
242
+ const next = new Map(cached);
243
+ const failures = [];
244
+ for (const result of results) {
245
+ if (result.status === 'fulfilled' && result.value.result.kind !== 'stale') {
246
+ next.set(result.value.provider, result.value.result.models);
247
+ }
248
+ else if (result.status === 'rejected') {
249
+ failures.push(String(result.reason));
250
+ }
251
+ }
252
+ setCatalogs(next);
253
+ if (failures.length > 0)
254
+ setModelError('Some providers failed: ' + failures.join(', '));
239
255
  }
240
256
  catch (error) {
241
257
  if (!disposed)
@@ -251,7 +267,7 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
251
267
  disposed = true;
252
268
  };
253
269
  /* eslint-enable react-hooks/set-state-in-effect */
254
- }, [active, catalogSession, modelProvider, modelRefreshKey, phase, settingsService]);
270
+ }, [active, catalogSession, modelRefreshKey, phase, providerIds]);
255
271
  useEffect(() => {
256
272
  // Changing the search text starts a new list navigation session.
257
273
  // eslint-disable-next-line react-hooks/set-state-in-effect
@@ -353,7 +369,9 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
353
369
  if (item.field === 'model') {
354
370
  setBrowsingProvider(resolveBrowseProvider(draft.provider));
355
371
  setPhase('edit_model');
356
- replaceInput(draft.model);
372
+ // Open with an empty filter; the existing model remains in the draft
373
+ // and is only replaced if the user explicitly selects another row.
374
+ replaceInput('');
357
375
  }
358
376
  else if (item.field === 'provider') {
359
377
  setPhase('edit_provider');
@@ -447,7 +465,7 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
447
465
  setPhase('confirm_delete');
448
466
  selection.setSelectedIndex(1);
449
467
  }, [activeItems, phase, selection.selectedIndex, selection.setSelectedIndex]);
450
- const saveModel = useCallback((value) => {
468
+ const saveModel = useCallback((value, provider) => {
451
469
  if (phase !== 'edit_model' || !draft)
452
470
  return false;
453
471
  const model = value.trim();
@@ -456,9 +474,8 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
456
474
  setErrorMessage('Fix the highlighted fields before saving.');
457
475
  return false;
458
476
  }
459
- // Pin the active provider tab with the model so the separate "Select
460
- // Provider" step is optional (only needed for Inherit).
461
- setDraft(applyMentorPoolModelPick(draft, model, modelProvider));
477
+ // Pin the provider belonging to the selected unified row.
478
+ setDraft(applyMentorPoolModelPick(draft, model, provider));
462
479
  setDraftModified(true);
463
480
  setFieldErrors({});
464
481
  setErrorMessage(null);
@@ -467,8 +484,11 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
467
484
  selection.setSelectedIndex(0);
468
485
  setInput('');
469
486
  return true;
470
- }, [draft, modelProvider, phase, setInput, selection.setSelectedIndex]);
471
- const selectModel = useCallback((typedValue) => saveModel(resolveMentorPoolModelSelection(filteredModels, modelSelectedIndex, typedValue)), [filteredModels, modelSelectedIndex, saveModel]);
487
+ }, [draft, phase, setInput, selection.setSelectedIndex]);
488
+ const selectModel = useCallback((typedValue) => {
489
+ const selected = filteredModels[modelSelectedIndex];
490
+ return saveModel(resolveMentorPoolModelSelection(filteredModels, modelSelectedIndex, typedValue), selected?.provider ?? modelProvider);
491
+ }, [filteredModels, modelProvider, modelSelectedIndex, saveModel]);
472
492
  const moveModelUp = useCallback(() => {
473
493
  setModelSelectedIndex((index) => filteredModels.length === 0 ? 0 : index > 0 ? index - 1 : filteredModels.length - 1);
474
494
  }, [filteredModels.length]);
@@ -480,25 +500,15 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
480
500
  const pageModelUp = useCallback(() => setModelSelectedIndex((index) => Math.max(0, index - 10)), []);
481
501
  const pageModelDown = useCallback(() => setModelSelectedIndex((index) => Math.min(Math.max(0, filteredModels.length - 1), index + 10)), [filteredModels.length]);
482
502
  const refreshModels = useCallback(() => {
483
- if (!modelProvider)
484
- return;
485
- catalogSession.refresh(modelProvider);
503
+ for (const provider of providerIds)
504
+ catalogSession.refresh(provider);
486
505
  setModelRefreshKey((key) => key + 1);
487
- }, [catalogSession, modelProvider]);
488
- const toggleModelProvider = useCallback((direction = 'next') => {
489
- if (phase !== 'edit_model')
490
- return;
491
- const next = catalogSession.nextProvider(modelProvider || null, direction);
492
- if (!next || next === modelProvider)
493
- return;
494
- const cachedModels = catalogSession.getCached(next);
495
- setCatalogModels(cachedModels ?? []);
506
+ }, [catalogSession, providerIds]);
507
+ const switchModelTab = useCallback(() => {
508
+ setModelTab((tab) => (tab === 'all' ? 'favorites' : 'all'));
496
509
  setModelSelectedIndex(0);
497
510
  setModelScrollOffset(0);
498
- setModelLoading(!cachedModels);
499
- setModelError(null);
500
- setBrowsingProvider(next);
501
- }, [catalogSession, modelProvider, phase]);
511
+ }, []);
502
512
  const movePoolUp = useCallback(() => {
503
513
  if (phase !== 'reorder' || selection.selectedIndex <= 0)
504
514
  return;
@@ -610,6 +620,8 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
610
620
  errorMessage,
611
621
  fieldErrors,
612
622
  modelProvider,
623
+ modelTab,
624
+ modelQuery: input,
613
625
  filteredModels,
614
626
  modelLoading,
615
627
  modelError,
@@ -626,7 +638,7 @@ export function useMentorPoolSelection(settingsService, active, loggingService)
626
638
  pageModelUp,
627
639
  pageModelDown,
628
640
  refreshModels,
629
- toggleModelProvider,
641
+ switchModelTab,
630
642
  moveUp: selection.moveUp,
631
643
  moveDown: selection.moveDown,
632
644
  moveHome: selection.moveHome,