orchid-ai 1.2.5 → 1.2.7
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.
- package/dist/index.esm.js +23 -7
- package/dist/index.js +23 -7
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -2049,6 +2049,7 @@ customModels, serverConfig, } = {}) {
|
|
|
2049
2049
|
const effectiveInitialModel = initialModel || '';
|
|
2050
2050
|
// State for auto-fetched models
|
|
2051
2051
|
const [fetchedModels, setFetchedModels] = useState(null);
|
|
2052
|
+
const [modelsByTier, setModelsByTier] = useState(null);
|
|
2052
2053
|
const [isLoadingModels, setIsLoadingModels] = useState(false);
|
|
2053
2054
|
const [modelsError, setModelsError] = useState(null);
|
|
2054
2055
|
// Track if user explicitly switched models; prevents defaultModel overrides after first user action
|
|
@@ -2132,6 +2133,10 @@ customModels, serverConfig, } = {}) {
|
|
|
2132
2133
|
});
|
|
2133
2134
|
});
|
|
2134
2135
|
setFetchedModels(modelsByProvider);
|
|
2136
|
+
// Store modelsByTier if provided (used for tier-based selection)
|
|
2137
|
+
if (data.modelsByTier) {
|
|
2138
|
+
setModelsByTier(data.modelsByTier);
|
|
2139
|
+
}
|
|
2135
2140
|
}
|
|
2136
2141
|
else {
|
|
2137
2142
|
throw new Error('Invalid response format from models endpoint');
|
|
@@ -2150,17 +2155,28 @@ customModels, serverConfig, } = {}) {
|
|
|
2150
2155
|
fetchModels();
|
|
2151
2156
|
}, [customModels, serverConfig, fetchedModels, isLoadingModels]);
|
|
2152
2157
|
// Update initial model if we fetched models and need to auto-select from tier
|
|
2153
|
-
//
|
|
2158
|
+
// If tier is specified, resolve it using modelsByTier from server
|
|
2154
2159
|
useEffect(() => {
|
|
2155
2160
|
// Only auto-select if:
|
|
2156
2161
|
// 1. We have fetched models
|
|
2157
2162
|
// 2. We're using the default initial model (or no model specified)
|
|
2158
|
-
// 3.
|
|
2159
|
-
// 4. Current model still has the initial model
|
|
2163
|
+
// 3. Current model still has the initial model
|
|
2160
2164
|
if (fetchedModels && Object.keys(fetchedModels).length > 0) {
|
|
2161
|
-
// If tier is specified,
|
|
2162
|
-
|
|
2163
|
-
|
|
2165
|
+
// If tier is specified, resolve it using modelsByTier so UI can show selected model
|
|
2166
|
+
if (initialTier && modelsByTier) {
|
|
2167
|
+
const provider = initialProvider.toLowerCase();
|
|
2168
|
+
const tierModels = modelsByTier[provider];
|
|
2169
|
+
if (tierModels && tierModels[initialTier] && currentModel.model === '') {
|
|
2170
|
+
// Resolve tier to specific model ID from server's modelsByTier
|
|
2171
|
+
setCurrentModel({
|
|
2172
|
+
provider: initialProvider,
|
|
2173
|
+
model: tierModels[initialTier],
|
|
2174
|
+
});
|
|
2175
|
+
return;
|
|
2176
|
+
}
|
|
2177
|
+
}
|
|
2178
|
+
// If tier is specified but no modelsByTier, don't auto-select - server will handle tier selection
|
|
2179
|
+
if (initialTier && !modelsByTier) {
|
|
2164
2180
|
return;
|
|
2165
2181
|
}
|
|
2166
2182
|
// Auto-select only if:
|
|
@@ -2207,7 +2223,7 @@ customModels, serverConfig, } = {}) {
|
|
|
2207
2223
|
}
|
|
2208
2224
|
}
|
|
2209
2225
|
}
|
|
2210
|
-
}, [fetchedModels, initialProvider, initialTier, effectiveInitialModel, currentModel.model]);
|
|
2226
|
+
}, [fetchedModels, modelsByTier, initialProvider, initialTier, effectiveInitialModel, currentModel.model]);
|
|
2211
2227
|
// Switch model function - just updates local state
|
|
2212
2228
|
const switchModel = useCallback((model, provider) => {
|
|
2213
2229
|
const newProvider = provider || currentModel.provider;
|
package/dist/index.js
CHANGED
|
@@ -2051,6 +2051,7 @@ customModels, serverConfig, } = {}) {
|
|
|
2051
2051
|
const effectiveInitialModel = initialModel || '';
|
|
2052
2052
|
// State for auto-fetched models
|
|
2053
2053
|
const [fetchedModels, setFetchedModels] = React.useState(null);
|
|
2054
|
+
const [modelsByTier, setModelsByTier] = React.useState(null);
|
|
2054
2055
|
const [isLoadingModels, setIsLoadingModels] = React.useState(false);
|
|
2055
2056
|
const [modelsError, setModelsError] = React.useState(null);
|
|
2056
2057
|
// Track if user explicitly switched models; prevents defaultModel overrides after first user action
|
|
@@ -2134,6 +2135,10 @@ customModels, serverConfig, } = {}) {
|
|
|
2134
2135
|
});
|
|
2135
2136
|
});
|
|
2136
2137
|
setFetchedModels(modelsByProvider);
|
|
2138
|
+
// Store modelsByTier if provided (used for tier-based selection)
|
|
2139
|
+
if (data.modelsByTier) {
|
|
2140
|
+
setModelsByTier(data.modelsByTier);
|
|
2141
|
+
}
|
|
2137
2142
|
}
|
|
2138
2143
|
else {
|
|
2139
2144
|
throw new Error('Invalid response format from models endpoint');
|
|
@@ -2152,17 +2157,28 @@ customModels, serverConfig, } = {}) {
|
|
|
2152
2157
|
fetchModels();
|
|
2153
2158
|
}, [customModels, serverConfig, fetchedModels, isLoadingModels]);
|
|
2154
2159
|
// Update initial model if we fetched models and need to auto-select from tier
|
|
2155
|
-
//
|
|
2160
|
+
// If tier is specified, resolve it using modelsByTier from server
|
|
2156
2161
|
React.useEffect(() => {
|
|
2157
2162
|
// Only auto-select if:
|
|
2158
2163
|
// 1. We have fetched models
|
|
2159
2164
|
// 2. We're using the default initial model (or no model specified)
|
|
2160
|
-
// 3.
|
|
2161
|
-
// 4. Current model still has the initial model
|
|
2165
|
+
// 3. Current model still has the initial model
|
|
2162
2166
|
if (fetchedModels && Object.keys(fetchedModels).length > 0) {
|
|
2163
|
-
// If tier is specified,
|
|
2164
|
-
|
|
2165
|
-
|
|
2167
|
+
// If tier is specified, resolve it using modelsByTier so UI can show selected model
|
|
2168
|
+
if (initialTier && modelsByTier) {
|
|
2169
|
+
const provider = initialProvider.toLowerCase();
|
|
2170
|
+
const tierModels = modelsByTier[provider];
|
|
2171
|
+
if (tierModels && tierModels[initialTier] && currentModel.model === '') {
|
|
2172
|
+
// Resolve tier to specific model ID from server's modelsByTier
|
|
2173
|
+
setCurrentModel({
|
|
2174
|
+
provider: initialProvider,
|
|
2175
|
+
model: tierModels[initialTier],
|
|
2176
|
+
});
|
|
2177
|
+
return;
|
|
2178
|
+
}
|
|
2179
|
+
}
|
|
2180
|
+
// If tier is specified but no modelsByTier, don't auto-select - server will handle tier selection
|
|
2181
|
+
if (initialTier && !modelsByTier) {
|
|
2166
2182
|
return;
|
|
2167
2183
|
}
|
|
2168
2184
|
// Auto-select only if:
|
|
@@ -2209,7 +2225,7 @@ customModels, serverConfig, } = {}) {
|
|
|
2209
2225
|
}
|
|
2210
2226
|
}
|
|
2211
2227
|
}
|
|
2212
|
-
}, [fetchedModels, initialProvider, initialTier, effectiveInitialModel, currentModel.model]);
|
|
2228
|
+
}, [fetchedModels, modelsByTier, initialProvider, initialTier, effectiveInitialModel, currentModel.model]);
|
|
2213
2229
|
// Switch model function - just updates local state
|
|
2214
2230
|
const switchModel = React.useCallback((model, provider) => {
|
|
2215
2231
|
const newProvider = provider || currentModel.provider;
|