@ottocode/web-sdk 0.1.248 → 0.1.250
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/components/chat/ChatInput.d.ts +1 -0
- package/dist/components/chat/ChatInput.d.ts.map +1 -1
- package/dist/components/chat/ChatInputContainer.d.ts.map +1 -1
- package/dist/components/chat/NewSessionLanding.d.ts.map +1 -1
- package/dist/components/chat/UnifiedModelSelector.d.ts.map +1 -1
- package/dist/components/index.js +573 -84
- package/dist/components/index.js.map +13 -13
- package/dist/components/onboarding/OnboardingModal.d.ts.map +1 -1
- package/dist/components/onboarding/steps/ProviderSetupStep.d.ts +10 -0
- package/dist/components/onboarding/steps/ProviderSetupStep.d.ts.map +1 -1
- package/dist/hooks/index.js +64 -3
- package/dist/hooks/index.js.map +7 -7
- package/dist/hooks/useAuthStatus.d.ts +13 -0
- package/dist/hooks/useAuthStatus.d.ts.map +1 -1
- package/dist/hooks/useConfig.d.ts +2 -0
- package/dist/hooks/useConfig.d.ts.map +1 -1
- package/dist/index.js +573 -84
- package/dist/index.js.map +13 -13
- package/dist/lib/api-client/auth.d.ts +1 -0
- package/dist/lib/api-client/auth.d.ts.map +1 -1
- package/dist/lib/api-client/config.d.ts +42 -0
- package/dist/lib/api-client/config.d.ts.map +1 -1
- package/dist/lib/api-client/index.d.ts +31 -0
- package/dist/lib/api-client/index.d.ts.map +1 -1
- package/dist/lib/index.js +36 -2
- package/dist/lib/index.js.map +5 -5
- package/dist/stores/index.js.map +2 -2
- package/dist/stores/onboardingStore.d.ts +1 -0
- package/dist/stores/onboardingStore.d.ts.map +1 -1
- package/dist/types/api.d.ts +2 -0
- package/dist/types/api.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingModal.d.ts","sourceRoot":"","sources":["../../../src/components/onboarding/OnboardingModal.tsx"],"names":[],"mappings":"AAOA,UAAU,oBAAoB;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"OnboardingModal.d.ts","sourceRoot":"","sources":["../../../src/components/onboarding/OnboardingModal.tsx"],"names":[],"mappings":"AAOA,UAAU,oBAAoB;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,eAAe,4DAqE1B,CAAC"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import type { AuthStatus } from '../../../stores/onboardingStore';
|
|
2
|
+
type CustomProviderCompatibility = 'openai-compatible' | 'openai' | 'anthropic' | 'google' | 'openrouter' | 'ollama';
|
|
2
3
|
interface ProviderSetupStepProps {
|
|
3
4
|
authStatus: AuthStatus;
|
|
4
5
|
onSetupWallet: () => Promise<unknown>;
|
|
5
6
|
onImportWallet: (privateKey: string) => Promise<unknown>;
|
|
6
7
|
onAddProvider: (provider: string, apiKey: string) => Promise<unknown>;
|
|
8
|
+
onAddCustomProvider: (data: {
|
|
9
|
+
id: string;
|
|
10
|
+
label: string;
|
|
11
|
+
baseURL: string;
|
|
12
|
+
apiKey?: string;
|
|
13
|
+
compatibility: CustomProviderCompatibility;
|
|
14
|
+
models: string[];
|
|
15
|
+
allowAnyModel: boolean;
|
|
16
|
+
}) => Promise<unknown>;
|
|
7
17
|
onRemoveProvider: (provider: string) => Promise<unknown>;
|
|
8
18
|
onStartOAuth: (provider: string, mode?: string) => Window | null;
|
|
9
19
|
onStartOAuthManual: (provider: string, mode?: string) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderSetupStep.d.ts","sourceRoot":"","sources":["../../../../src/components/onboarding/steps/ProviderSetupStep.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProviderSetupStep.d.ts","sourceRoot":"","sources":["../../../../src/components/onboarding/steps/ProviderSetupStep.tsx"],"names":[],"mappings":"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"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -356,7 +356,9 @@ import {
|
|
|
356
356
|
getConfig as apiGetConfig,
|
|
357
357
|
getProviderModels as apiGetProviderModels,
|
|
358
358
|
getAllModels as apiGetAllModels,
|
|
359
|
-
updateDefaults as apiUpdateDefaults
|
|
359
|
+
updateDefaults as apiUpdateDefaults,
|
|
360
|
+
updateProviderSettings as apiUpdateProviderSettings,
|
|
361
|
+
deleteProviderSettings as apiDeleteProviderSettings
|
|
360
362
|
} from "@ottocode/api";
|
|
361
363
|
var configMixin = {
|
|
362
364
|
async getConfig() {
|
|
@@ -379,6 +381,35 @@ var configMixin = {
|
|
|
379
381
|
throw new Error(extractErrorMessage(response.error));
|
|
380
382
|
return response.data;
|
|
381
383
|
},
|
|
384
|
+
async discoverProviderModels(data) {
|
|
385
|
+
const response = await fetch(`${getBaseUrl()}/v1/config/providers/discover-models`, {
|
|
386
|
+
method: "POST",
|
|
387
|
+
headers: { "content-type": "application/json" },
|
|
388
|
+
body: JSON.stringify(data)
|
|
389
|
+
});
|
|
390
|
+
const payload = await response.json();
|
|
391
|
+
if (!response.ok)
|
|
392
|
+
throw new Error(extractErrorMessage(payload));
|
|
393
|
+
return payload;
|
|
394
|
+
},
|
|
395
|
+
async updateProviderSettings(provider, data) {
|
|
396
|
+
const response = await apiUpdateProviderSettings({
|
|
397
|
+
path: { provider },
|
|
398
|
+
body: data
|
|
399
|
+
});
|
|
400
|
+
if (response.error)
|
|
401
|
+
throw new Error(extractErrorMessage(response.error));
|
|
402
|
+
return response.data;
|
|
403
|
+
},
|
|
404
|
+
async deleteProviderSettings(provider) {
|
|
405
|
+
const response = await apiDeleteProviderSettings({
|
|
406
|
+
path: { provider },
|
|
407
|
+
query: { scope: "local" }
|
|
408
|
+
});
|
|
409
|
+
if (response.error)
|
|
410
|
+
throw new Error(extractErrorMessage(response.error));
|
|
411
|
+
return response.data;
|
|
412
|
+
},
|
|
382
413
|
async updateDefaults(data) {
|
|
383
414
|
const response = await apiUpdateDefaults({
|
|
384
415
|
body: data
|
|
@@ -864,6 +895,9 @@ class ApiClient {
|
|
|
864
895
|
getConfig = configMixin.getConfig;
|
|
865
896
|
getModels = configMixin.getModels;
|
|
866
897
|
getAllModels = configMixin.getAllModels;
|
|
898
|
+
discoverProviderModels = configMixin.discoverProviderModels;
|
|
899
|
+
updateProviderSettings = configMixin.updateProviderSettings;
|
|
900
|
+
deleteProviderSettings = configMixin.deleteProviderSettings;
|
|
867
901
|
updateDefaults = configMixin.updateDefaults;
|
|
868
902
|
listFiles = filesMixin.listFiles;
|
|
869
903
|
getFileTree = filesMixin.getFileTree;
|
|
@@ -4353,11 +4387,37 @@ function useAuthStatus() {
|
|
|
4353
4387
|
setLoading(false);
|
|
4354
4388
|
}
|
|
4355
4389
|
}, [fetchAuthStatus, setLoading, setError]);
|
|
4390
|
+
const addCustomProvider = useCallback8(async (data) => {
|
|
4391
|
+
setLoading(true);
|
|
4392
|
+
setError(null);
|
|
4393
|
+
try {
|
|
4394
|
+
const result = await apiClient.updateProviderSettings(data.id, {
|
|
4395
|
+
enabled: true,
|
|
4396
|
+
custom: true,
|
|
4397
|
+
label: data.label,
|
|
4398
|
+
baseURL: data.baseURL,
|
|
4399
|
+
...data.apiKey ? { apiKey: data.apiKey } : {},
|
|
4400
|
+
compatibility: data.compatibility,
|
|
4401
|
+
models: data.models,
|
|
4402
|
+
allowAnyModel: data.allowAnyModel,
|
|
4403
|
+
scope: "local"
|
|
4404
|
+
});
|
|
4405
|
+
await fetchAuthStatus();
|
|
4406
|
+
return result;
|
|
4407
|
+
} catch (err) {
|
|
4408
|
+
const message = err instanceof Error ? err.message : "Failed to add custom provider";
|
|
4409
|
+
setError(message);
|
|
4410
|
+
throw err;
|
|
4411
|
+
} finally {
|
|
4412
|
+
setLoading(false);
|
|
4413
|
+
}
|
|
4414
|
+
}, [fetchAuthStatus, setLoading, setError]);
|
|
4356
4415
|
const removeProvider = useCallback8(async (provider) => {
|
|
4357
4416
|
setLoading(true);
|
|
4358
4417
|
setError(null);
|
|
4359
4418
|
try {
|
|
4360
|
-
const
|
|
4419
|
+
const isCustomProvider = useOnboardingStore.getState().authStatus?.providers[provider]?.custom;
|
|
4420
|
+
const result = isCustomProvider ? await apiClient.deleteProviderSettings(provider) : await apiClient.removeProvider(provider);
|
|
4361
4421
|
await fetchAuthStatus();
|
|
4362
4422
|
return result;
|
|
4363
4423
|
} catch (err) {
|
|
@@ -4512,6 +4572,7 @@ function useAuthStatus() {
|
|
|
4512
4572
|
setupWallet,
|
|
4513
4573
|
importWallet,
|
|
4514
4574
|
addProvider,
|
|
4575
|
+
addCustomProvider,
|
|
4515
4576
|
removeProvider,
|
|
4516
4577
|
completeOnboarding,
|
|
4517
4578
|
startOAuth,
|
|
@@ -5111,4 +5172,4 @@ export {
|
|
|
5111
5172
|
sessionsQueryKey
|
|
5112
5173
|
};
|
|
5113
5174
|
|
|
5114
|
-
//# debugId=
|
|
5175
|
+
//# debugId=702F57C1E108905864756E2164756E21
|