MCPcopy Create free account
hub / github.com/experdot/pointer / useLLMConfigs

Function useLLMConfigs

src/renderer/src/hooks/useSettings.ts:88–124  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

86}
87
88export function useLLMConfigs(): UseLLMConfigsResult {
89 const { settings, batchUpdateLLMConfigs, batchUpdateLLMConfigFolders } = useSettingsStore()
90 const tree = useConfigTree(settings.llmConfigs)
91
92 const batchUpdateItemsOrder = useCallback(
93 (items: (LLMConfig | ConfigFolder)[], parentFolderId?: string) => {
94 const itemUpdates: Array<{ id: string; changes: Partial<LLMConfig> }> = []
95 const folderUpdates: Array<{ id: string; changes: Partial<ConfigFolder> }> = []
96
97 items.forEach((item, index) => {
98 if ('baseUrl' in item) {
99 itemUpdates.push({ id: item.id, changes: { order: index, parentFolderId } })
100 } else {
101 folderUpdates.push({ id: item.id, changes: { order: index, parentFolderId } })
102 }
103 })
104
105 if (itemUpdates.length) batchUpdateLLMConfigs(itemUpdates)
106 if (folderUpdates.length) batchUpdateLLMConfigFolders(folderUpdates)
107 },
108 [batchUpdateLLMConfigs, batchUpdateLLMConfigFolders]
109 )
110
111 return {
112 ...tree,
113 batchUpdateItemsOrder,
114 createConfig: settingsService.createLLMConfig,
115 updateConfig: settingsService.updateLLMConfig,
116 deleteConfig: settingsService.deleteLLMConfig,
117 copyConfig: settingsService.copyLLMConfig,
118 createFolder: settingsService.createLLMConfigFolder,
119 updateFolder: settingsService.updateLLMConfigFolder,
120 deleteFolder: settingsService.deleteLLMConfigFolder,
121 clearFolder: settingsService.clearLLMConfigFolder,
122 toggleFolderExpanded: settingsService.toggleLLMConfigFolderExpanded
123 }
124}
125
126interface UseModelConfigsResult extends ConfigTreeResult<ModelConfig> {
127 batchUpdateItemsOrder: (items: (ModelConfig | ConfigFolder)[], parentFolderId?: string) => void

Callers 1

LLMConfigPanelFunction · 0.90

Calls 1

useConfigTreeFunction · 0.85

Tested by

no test coverage detected