@chimerai/cli 0.2.97 → 0.2.99
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-routes.d.ts","sourceRoot":"","sources":["../../src/templates/api-routes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAuGhD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAoGlD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAmEhD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAsFlD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAoH/C;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAkG7C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CA0H/C;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAgDvD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAQ5C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"api-routes.d.ts","sourceRoot":"","sources":["../../src/templates/api-routes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAuGhD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAoGlD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAmEhD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAsFlD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAoH/C;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAkG7C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CA0H/C;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAgDvD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAQ5C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAwE5C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CA0E9C;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAyC9C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAwBpD;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAmCvD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CA+EnD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CA8BjD"}
|
|
@@ -858,6 +858,7 @@ export async function GET() {
|
|
|
858
858
|
id: true,
|
|
859
859
|
name: true,
|
|
860
860
|
type: true,
|
|
861
|
+
config: true,
|
|
861
862
|
},
|
|
862
863
|
},
|
|
863
864
|
},
|
|
@@ -875,18 +876,26 @@ export async function GET() {
|
|
|
875
876
|
return caps.includes('chat') || caps.includes('vision') || caps.length === 0;
|
|
876
877
|
});
|
|
877
878
|
|
|
878
|
-
const result = chatModels.map((m: any) =>
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
879
|
+
const result = chatModels.map((m: any) => {
|
|
880
|
+
// Resolve provider's configured default model (stored in config.defaultModel)
|
|
881
|
+
const providerConfig = typeof m.provider.config === 'string'
|
|
882
|
+
? (() => { try { return JSON.parse(m.provider.config); } catch { return {}; } })()
|
|
883
|
+
: (m.provider.config || {});
|
|
884
|
+
const isProviderDefault = !!providerConfig.defaultModel && providerConfig.defaultModel === m.modelId;
|
|
885
|
+
return {
|
|
886
|
+
id: m.id,
|
|
887
|
+
modelId: m.modelId,
|
|
888
|
+
name: m.name,
|
|
889
|
+
providerId: m.providerId,
|
|
890
|
+
providerType: m.provider.type,
|
|
891
|
+
contextWindow: m.contextWindow || 0,
|
|
892
|
+
inputCost: m.inputCost || 0,
|
|
893
|
+
outputCost: m.outputCost || 0,
|
|
894
|
+
capabilities: m.capabilities || [],
|
|
895
|
+
provider: m.provider,
|
|
896
|
+
isProviderDefault,
|
|
897
|
+
};
|
|
898
|
+
});
|
|
890
899
|
|
|
891
900
|
return NextResponse.json(result);
|
|
892
901
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/templates/chat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAqI/C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAuLzC;AAED;;;;GAIG;AACH,wBAAgB,sCAAsC,IAAI,MAAM,CAwa/D;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAwEnD;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/templates/chat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAqI/C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAuLzC;AAED;;;;GAIG;AACH,wBAAgB,sCAAsC,IAAI,MAAM,CAwa/D;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAwEnD;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAob5C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuQ5C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAwH1C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CA+O5C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CA+D9C;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,MAAM,CAyGxD"}
|
package/dist/templates/chat.js
CHANGED
|
@@ -978,7 +978,9 @@ export function useChat(options: UseChatOptions = {}): UseChatReturn {
|
|
|
978
978
|
const modelList = Array.isArray(data) ? data : data.models || [];
|
|
979
979
|
setModels(modelList);
|
|
980
980
|
if (modelList.length > 0 && !selectedModelId) {
|
|
981
|
-
|
|
981
|
+
// Prefer provider's configured default model, fall back to first in list
|
|
982
|
+
const defaultModel = modelList.find((m: any) => m.isProviderDefault) || modelList[0];
|
|
983
|
+
setSelectedModelId(defaultModel.id);
|
|
982
984
|
}
|
|
983
985
|
}
|
|
984
986
|
} catch (err) {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* Generates the Model Providers management page
|
|
7
|
-
* Self-contained
|
|
7
|
+
* Self-contained — no external @chimerai/* imports needed
|
|
8
8
|
* @returns TypeScript/JSX content for app/dashboard/providers/page.tsx
|
|
9
9
|
*/
|
|
10
10
|
export declare function generateModelProvidersPage(): string;
|
|
@@ -9,7 +9,7 @@ exports.generatePromptManagementPage = generatePromptManagementPage;
|
|
|
9
9
|
exports.generatePromptSelector = generatePromptSelector;
|
|
10
10
|
/**
|
|
11
11
|
* Generates the Model Providers management page
|
|
12
|
-
* Self-contained
|
|
12
|
+
* Self-contained — no external @chimerai/* imports needed
|
|
13
13
|
* @returns TypeScript/JSX content for app/dashboard/providers/page.tsx
|
|
14
14
|
*/
|
|
15
15
|
function generateModelProvidersPage() {
|
|
@@ -156,7 +156,7 @@ export default function ProvidersPage() {
|
|
|
156
156
|
await fetchProviders();
|
|
157
157
|
}
|
|
158
158
|
} catch {
|
|
159
|
-
// Sync failed silently
|
|
159
|
+
// Sync failed silently — models will appear on next manual sync
|
|
160
160
|
} finally {
|
|
161
161
|
setSyncing(prev => ({ ...prev, [id]: false }));
|
|
162
162
|
}
|
|
@@ -241,7 +241,7 @@ export default function ProvidersPage() {
|
|
|
241
241
|
<select value={formData.defaultModel}
|
|
242
242
|
onChange={e => setFormData(f => ({ ...f, defaultModel: e.target.value }))}
|
|
243
243
|
className="w-full px-3 py-2 border dark:border-gray-600 rounded-lg dark:bg-gray-700 dark:text-white">
|
|
244
|
-
<option value=""
|
|
244
|
+
<option value="">— Select a model —</option>
|
|
245
245
|
{editingModels
|
|
246
246
|
.filter(m => !m.capabilities || m.capabilities.length === 0 || m.capabilities.some(c => ['chat', 'completion'].includes(c)))
|
|
247
247
|
.map(m => <option key={m.id} value={m.modelId}>{m.name || m.modelId}</option>)}
|
|
@@ -297,7 +297,7 @@ export default function ProvidersPage() {
|
|
|
297
297
|
)}
|
|
298
298
|
{testResults[provider.id] && (
|
|
299
299
|
<div className={\`text-sm p-2 rounded mb-3 \${testResults[provider.id].success ? 'bg-green-50 dark:bg-green-900/20 text-green-700 dark:text-green-300' : 'bg-red-50 dark:bg-red-900/20 text-red-700 dark:text-red-300'}\`}>
|
|
300
|
-
{testResults[provider.id].success ?
|
|
300
|
+
{testResults[provider.id].success ? \`✓ Connected (\${testResults[provider.id].responseTime}ms)\` : \`✗ \${testResults[provider.id].errorMessage}\`}
|
|
301
301
|
</div>
|
|
302
302
|
)}
|
|
303
303
|
<div className="flex gap-2 mt-3 pt-3 border-t dark:border-gray-700">
|
package/package.json
CHANGED