@shipfox/client-agent 0.2.0
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/.storybook/main.ts +1 -0
- package/.storybook/preview.css +4 -0
- package/.storybook/preview.tsx +56 -0
- package/.turbo/turbo-build.log +2 -0
- package/.turbo/turbo-type$colon$emit.log +1 -0
- package/.turbo/turbo-type.log +1 -0
- package/CHANGELOG.md +93 -0
- package/LICENSE +21 -0
- package/dist/components/add-custom-provider-card.d.ts +4 -0
- package/dist/components/add-custom-provider-card.d.ts.map +1 -0
- package/dist/components/add-custom-provider-card.js +41 -0
- package/dist/components/add-custom-provider-card.js.map +1 -0
- package/dist/components/agent-workflow-example.d.ts +11 -0
- package/dist/components/agent-workflow-example.d.ts.map +1 -0
- package/dist/components/agent-workflow-example.js +38 -0
- package/dist/components/agent-workflow-example.js.map +1 -0
- package/dist/components/available-provider-card.d.ts +6 -0
- package/dist/components/available-provider-card.d.ts.map +1 -0
- package/dist/components/available-provider-card.js +41 -0
- package/dist/components/available-provider-card.js.map +1 -0
- package/dist/components/available-providers-grid.d.ts +10 -0
- package/dist/components/available-providers-grid.d.ts.map +1 -0
- package/dist/components/available-providers-grid.js +89 -0
- package/dist/components/available-providers-grid.js.map +1 -0
- package/dist/components/change-default-model-form.d.ts +9 -0
- package/dist/components/change-default-model-form.d.ts.map +1 -0
- package/dist/components/change-default-model-form.js +98 -0
- package/dist/components/change-default-model-form.js.map +1 -0
- package/dist/components/custom-model-provider-api-options.d.ts +7 -0
- package/dist/components/custom-model-provider-api-options.d.ts.map +1 -0
- package/dist/components/custom-model-provider-api-options.js +23 -0
- package/dist/components/custom-model-provider-api-options.js.map +1 -0
- package/dist/components/custom-model-provider-form.d.ts +8 -0
- package/dist/components/custom-model-provider-form.d.ts.map +1 -0
- package/dist/components/custom-model-provider-form.js +667 -0
- package/dist/components/custom-model-provider-form.js.map +1 -0
- package/dist/components/custom-model-provider-form.stories.d.ts +20 -0
- package/dist/components/custom-model-provider-form.stories.d.ts.map +1 -0
- package/dist/components/custom-model-provider-form.stories.js +104 -0
- package/dist/components/custom-model-provider-form.stories.js.map +1 -0
- package/dist/components/custom-model-provider-payload.d.ts +39 -0
- package/dist/components/custom-model-provider-payload.d.ts.map +1 -0
- package/dist/components/custom-model-provider-payload.js +203 -0
- package/dist/components/custom-model-provider-payload.js.map +1 -0
- package/dist/components/custom-model-provider-slug.d.ts +3 -0
- package/dist/components/custom-model-provider-slug.d.ts.map +1 -0
- package/dist/components/custom-model-provider-slug.js +14 -0
- package/dist/components/custom-model-provider-slug.js.map +1 -0
- package/dist/components/default-model-field.d.ts +16 -0
- package/dist/components/default-model-field.d.ts.map +1 -0
- package/dist/components/default-model-field.js +60 -0
- package/dist/components/default-model-field.js.map +1 -0
- package/dist/components/form-errors.d.ts +11 -0
- package/dist/components/form-errors.d.ts.map +1 -0
- package/dist/components/form-errors.js +101 -0
- package/dist/components/form-errors.js.map +1 -0
- package/dist/components/harness-availability.d.ts +8 -0
- package/dist/components/harness-availability.d.ts.map +1 -0
- package/dist/components/harness-availability.js +16 -0
- package/dist/components/harness-availability.js.map +1 -0
- package/dist/components/harnesses-section.d.ts +4 -0
- package/dist/components/harnesses-section.d.ts.map +1 -0
- package/dist/components/harnesses-section.js +249 -0
- package/dist/components/harnesses-section.js.map +1 -0
- package/dist/components/harnesses-section.stories.d.ts +25 -0
- package/dist/components/harnesses-section.stories.d.ts.map +1 -0
- package/dist/components/harnesses-section.stories.js +138 -0
- package/dist/components/harnesses-section.stories.js.map +1 -0
- package/dist/components/model-provider-usage-modal.d.ts +11 -0
- package/dist/components/model-provider-usage-modal.d.ts.map +1 -0
- package/dist/components/model-provider-usage-modal.js +349 -0
- package/dist/components/model-provider-usage-modal.js.map +1 -0
- package/dist/components/model-provider-usage-modal.stories.d.ts +21 -0
- package/dist/components/model-provider-usage-modal.stories.d.ts.map +1 -0
- package/dist/components/model-provider-usage-modal.stories.js +115 -0
- package/dist/components/model-provider-usage-modal.stories.js.map +1 -0
- package/dist/components/model-provider-usage-target.d.ts +14 -0
- package/dist/components/model-provider-usage-target.d.ts.map +1 -0
- package/dist/components/model-provider-usage-target.js +20 -0
- package/dist/components/model-provider-usage-target.js.map +1 -0
- package/dist/components/model-providers-section.d.ts +4 -0
- package/dist/components/model-providers-section.d.ts.map +1 -0
- package/dist/components/model-providers-section.js +668 -0
- package/dist/components/model-providers-section.js.map +1 -0
- package/dist/components/model-providers-section.stories.d.ts +32 -0
- package/dist/components/model-providers-section.stories.d.ts.map +1 -0
- package/dist/components/model-providers-section.stories.js +442 -0
- package/dist/components/model-providers-section.stories.js.map +1 -0
- package/dist/components/provider-search.d.ts +4 -0
- package/dist/components/provider-search.d.ts.map +1 -0
- package/dist/components/provider-search.js +13 -0
- package/dist/components/provider-search.js.map +1 -0
- package/dist/components/supported-model-provider-catalog-entry.d.ts +8 -0
- package/dist/components/supported-model-provider-catalog-entry.d.ts.map +1 -0
- package/dist/components/supported-model-provider-catalog-entry.js +9 -0
- package/dist/components/supported-model-provider-catalog-entry.js.map +1 -0
- package/dist/components/test-and-save-form.d.ts +10 -0
- package/dist/components/test-and-save-form.d.ts.map +1 -0
- package/dist/components/test-and-save-form.js +138 -0
- package/dist/components/test-and-save-form.js.map +1 -0
- package/dist/feature.d.ts +9 -0
- package/dist/feature.d.ts.map +1 -0
- package/dist/feature.js +13 -0
- package/dist/feature.js.map +1 -0
- package/dist/hooks/api/model-providers.d.ts +334 -0
- package/dist/hooks/api/model-providers.d.ts.map +1 -0
- package/dist/hooks/api/model-providers.js +190 -0
- package/dist/hooks/api/model-providers.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/pages/model-provider-onboarding-page.d.ts +6 -0
- package/dist/pages/model-provider-onboarding-page.d.ts.map +1 -0
- package/dist/pages/model-provider-onboarding-page.js +295 -0
- package/dist/pages/model-provider-onboarding-page.js.map +1 -0
- package/dist/pages/model-provider-onboarding-page.stories.d.ts +27 -0
- package/dist/pages/model-provider-onboarding-page.stories.d.ts.map +1 -0
- package/dist/pages/model-provider-onboarding-page.stories.js +368 -0
- package/dist/pages/model-provider-onboarding-page.stories.js.map +1 -0
- package/dist/routes/model-provider.d.ts +5 -0
- package/dist/routes/model-provider.d.ts.map +1 -0
- package/dist/routes/model-provider.js +28 -0
- package/dist/routes/model-provider.js.map +1 -0
- package/dist/state/model-provider-onboarding.d.ts +3 -0
- package/dist/state/model-provider-onboarding.d.ts.map +1 -0
- package/dist/state/model-provider-onboarding.js +28 -0
- package/dist/state/model-provider-onboarding.js.map +1 -0
- package/dist/tsconfig.test.tsbuildinfo +1 -0
- package/package.json +114 -0
- package/src/components/add-custom-provider-card.tsx +32 -0
- package/src/components/agent-workflow-example.test.ts +74 -0
- package/src/components/agent-workflow-example.ts +55 -0
- package/src/components/available-provider-card.tsx +39 -0
- package/src/components/available-providers-grid.test.tsx +55 -0
- package/src/components/available-providers-grid.tsx +106 -0
- package/src/components/change-default-model-form.tsx +104 -0
- package/src/components/custom-model-provider-api-options.test.ts +18 -0
- package/src/components/custom-model-provider-api-options.ts +12 -0
- package/src/components/custom-model-provider-form.stories.tsx +91 -0
- package/src/components/custom-model-provider-form.tsx +710 -0
- package/src/components/custom-model-provider-payload.test.ts +170 -0
- package/src/components/custom-model-provider-payload.ts +264 -0
- package/src/components/custom-model-provider-slug.test.ts +40 -0
- package/src/components/custom-model-provider-slug.ts +23 -0
- package/src/components/default-model-field.tsx +85 -0
- package/src/components/form-errors.test.ts +159 -0
- package/src/components/form-errors.ts +102 -0
- package/src/components/harness-availability.test.ts +45 -0
- package/src/components/harness-availability.ts +35 -0
- package/src/components/harnesses-section.stories.tsx +129 -0
- package/src/components/harnesses-section.test.tsx +188 -0
- package/src/components/harnesses-section.tsx +245 -0
- package/src/components/model-provider-usage-modal.stories.tsx +106 -0
- package/src/components/model-provider-usage-modal.test.tsx +210 -0
- package/src/components/model-provider-usage-modal.tsx +326 -0
- package/src/components/model-provider-usage-target.ts +36 -0
- package/src/components/model-providers-section.stories.tsx +345 -0
- package/src/components/model-providers-section.test.tsx +831 -0
- package/src/components/model-providers-section.tsx +645 -0
- package/src/components/provider-search.test.ts +45 -0
- package/src/components/provider-search.ts +18 -0
- package/src/components/supported-model-provider-catalog-entry.ts +19 -0
- package/src/components/test-and-save-form.tsx +166 -0
- package/src/feature.ts +12 -0
- package/src/hooks/api/model-providers.test.ts +167 -0
- package/src/hooks/api/model-providers.ts +281 -0
- package/src/index.ts +8 -0
- package/src/pages/model-provider-onboarding-page.stories.tsx +284 -0
- package/src/pages/model-provider-onboarding-page.test.tsx +368 -0
- package/src/pages/model-provider-onboarding-page.tsx +290 -0
- package/src/routes/model-provider.tsx +20 -0
- package/src/state/model-provider-onboarding.test.ts +55 -0
- package/src/state/model-provider-onboarding.ts +34 -0
- package/test/fixtures/model-providers.ts +111 -0
- package/test/setup.ts +3 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.build.tsbuildinfo +1 -0
- package/tsconfig.json +3 -0
- package/tsconfig.test.json +8 -0
- package/vercel.json +8 -0
- package/vitest.config.ts +72 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { ModelProviderUsageModal } from './model-provider-usage-modal.js';
|
|
4
|
+
import { usageTargetFromCatalogEntry, usageTargetFromCustomConfig } from './model-provider-usage-target.js';
|
|
5
|
+
function ModelProviderUsageModalStory({ variant }) {
|
|
6
|
+
const [open, setOpen] = useState(true);
|
|
7
|
+
const entry = variant === 'long-list' ? longListEntry() : anthropicEntry();
|
|
8
|
+
const target = variant === 'custom' ? usageTargetFromCustomConfig(customProviderConfig()) : usageTargetFromCatalogEntry(entry);
|
|
9
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
10
|
+
className: "min-h-screen bg-background-neutral-background p-24",
|
|
11
|
+
children: /*#__PURE__*/ _jsx(ModelProviderUsageModal, {
|
|
12
|
+
target: target,
|
|
13
|
+
initialModel: target.default_model,
|
|
14
|
+
workspaceDefaultHarnessId: "claude",
|
|
15
|
+
open: open,
|
|
16
|
+
onOpenChange: setOpen
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
const meta = {
|
|
21
|
+
title: 'Agent/ProviderUsageModal',
|
|
22
|
+
component: ModelProviderUsageModalStory,
|
|
23
|
+
parameters: {
|
|
24
|
+
layout: 'fullscreen'
|
|
25
|
+
},
|
|
26
|
+
args: {
|
|
27
|
+
variant: 'anthropic'
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
export default meta;
|
|
31
|
+
export const Playground = {};
|
|
32
|
+
export const LongModelList = {
|
|
33
|
+
args: {
|
|
34
|
+
variant: 'long-list'
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
export const CustomProvider = {
|
|
38
|
+
args: {
|
|
39
|
+
variant: 'custom'
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
function anthropicEntry() {
|
|
43
|
+
return {
|
|
44
|
+
id: 'anthropic',
|
|
45
|
+
label: 'Anthropic',
|
|
46
|
+
support_status: 'supported',
|
|
47
|
+
default_model: 'claude-opus-4-8',
|
|
48
|
+
credential_fields: [
|
|
49
|
+
{
|
|
50
|
+
key: 'api_key',
|
|
51
|
+
label: 'API key',
|
|
52
|
+
secret: true
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
unsupported_reason: null,
|
|
56
|
+
models: [
|
|
57
|
+
{
|
|
58
|
+
id: 'claude-opus-4-8',
|
|
59
|
+
label: 'Claude Opus 4.8'
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: 'claude-sonnet-4-8',
|
|
63
|
+
label: 'Claude Sonnet 4.8'
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: 'claude-haiku-4-5',
|
|
67
|
+
label: 'Claude Haiku 4.5'
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function longListEntry() {
|
|
73
|
+
return {
|
|
74
|
+
id: 'cloudflare-workers-ai',
|
|
75
|
+
label: 'Cloudflare Workers AI',
|
|
76
|
+
support_status: 'supported',
|
|
77
|
+
default_model: '@cf/moonshotai/kimi-k2.7-code',
|
|
78
|
+
credential_fields: [
|
|
79
|
+
{
|
|
80
|
+
key: 'api_token',
|
|
81
|
+
label: 'API token',
|
|
82
|
+
secret: true
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
unsupported_reason: null,
|
|
86
|
+
models: Array.from({
|
|
87
|
+
length: 56
|
|
88
|
+
}, (_, index)=>({
|
|
89
|
+
id: index === 0 ? '@cf/moonshotai/kimi-k2.7-code' : `provider/research-lab/model-family-${String(index).padStart(2, '0')}-large-context`,
|
|
90
|
+
label: index === 0 ? 'Kimi K2.7 Code' : `Research Model ${index}`
|
|
91
|
+
}))
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function customProviderConfig() {
|
|
95
|
+
return {
|
|
96
|
+
kind: 'custom',
|
|
97
|
+
provider_id: 'local-vllm',
|
|
98
|
+
display_name: 'Local vLLM',
|
|
99
|
+
api: 'openai-completions',
|
|
100
|
+
base_url: 'http://localhost:8000/v1',
|
|
101
|
+
headers: [],
|
|
102
|
+
secret_header_names: [],
|
|
103
|
+
models: [
|
|
104
|
+
{
|
|
105
|
+
id: 'llama-3.1',
|
|
106
|
+
label: 'Llama 3.1'
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
default_model: 'llama-3.1',
|
|
110
|
+
created_at: '2026-05-08T00:00:00.000Z',
|
|
111
|
+
updated_at: '2026-05-08T00:00:00.000Z'
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=model-provider-usage-modal.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/model-provider-usage-modal.stories.tsx"],"sourcesContent":["import type {\n CustomModelProviderConfigDto,\n ModelProviderCatalogEntryDto,\n} from '@shipfox/api-agent-dto';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {useState} from 'react';\nimport {ModelProviderUsageModal} from './model-provider-usage-modal.js';\nimport {\n usageTargetFromCatalogEntry,\n usageTargetFromCustomConfig,\n} from './model-provider-usage-target.js';\n\ninterface ModelProviderUsageModalStoryProps {\n variant: 'anthropic' | 'custom' | 'long-list';\n}\n\nfunction ModelProviderUsageModalStory({variant}: ModelProviderUsageModalStoryProps) {\n const [open, setOpen] = useState(true);\n const entry = variant === 'long-list' ? longListEntry() : anthropicEntry();\n const target =\n variant === 'custom'\n ? usageTargetFromCustomConfig(customProviderConfig())\n : usageTargetFromCatalogEntry(entry);\n\n return (\n <div className=\"min-h-screen bg-background-neutral-background p-24\">\n <ModelProviderUsageModal\n target={target}\n initialModel={target.default_model}\n workspaceDefaultHarnessId=\"claude\"\n open={open}\n onOpenChange={setOpen}\n />\n </div>\n );\n}\n\nconst meta = {\n title: 'Agent/ProviderUsageModal',\n component: ModelProviderUsageModalStory,\n parameters: {layout: 'fullscreen'},\n args: {variant: 'anthropic'},\n} satisfies Meta<typeof ModelProviderUsageModalStory>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const Playground: Story = {};\n\nexport const LongModelList: Story = {\n args: {variant: 'long-list'},\n};\n\nexport const CustomProvider: Story = {\n args: {variant: 'custom'},\n};\n\nfunction anthropicEntry(): ModelProviderCatalogEntryDto {\n return {\n id: 'anthropic',\n label: 'Anthropic',\n support_status: 'supported',\n default_model: 'claude-opus-4-8',\n credential_fields: [{key: 'api_key', label: 'API key', secret: true}],\n unsupported_reason: null,\n models: [\n {id: 'claude-opus-4-8', label: 'Claude Opus 4.8'},\n {id: 'claude-sonnet-4-8', label: 'Claude Sonnet 4.8'},\n {id: 'claude-haiku-4-5', label: 'Claude Haiku 4.5'},\n ],\n };\n}\n\nfunction longListEntry(): ModelProviderCatalogEntryDto {\n return {\n id: 'cloudflare-workers-ai',\n label: 'Cloudflare Workers AI',\n support_status: 'supported',\n default_model: '@cf/moonshotai/kimi-k2.7-code',\n credential_fields: [{key: 'api_token', label: 'API token', secret: true}],\n unsupported_reason: null,\n models: Array.from({length: 56}, (_, index) => ({\n id:\n index === 0\n ? '@cf/moonshotai/kimi-k2.7-code'\n : `provider/research-lab/model-family-${String(index).padStart(2, '0')}-large-context`,\n label: index === 0 ? 'Kimi K2.7 Code' : `Research Model ${index}`,\n })),\n };\n}\n\nfunction customProviderConfig(): CustomModelProviderConfigDto {\n return {\n kind: 'custom',\n provider_id: 'local-vllm',\n display_name: 'Local vLLM',\n api: 'openai-completions',\n base_url: 'http://localhost:8000/v1',\n headers: [],\n secret_header_names: [],\n models: [{id: 'llama-3.1', label: 'Llama 3.1'}],\n default_model: 'llama-3.1',\n created_at: '2026-05-08T00:00:00.000Z',\n updated_at: '2026-05-08T00:00:00.000Z',\n };\n}\n"],"names":["useState","ModelProviderUsageModal","usageTargetFromCatalogEntry","usageTargetFromCustomConfig","ModelProviderUsageModalStory","variant","open","setOpen","entry","longListEntry","anthropicEntry","target","customProviderConfig","div","className","initialModel","default_model","workspaceDefaultHarnessId","onOpenChange","meta","title","component","parameters","layout","args","Playground","LongModelList","CustomProvider","id","label","support_status","credential_fields","key","secret","unsupported_reason","models","Array","from","length","_","index","String","padStart","kind","provider_id","display_name","api","base_url","headers","secret_header_names","created_at","updated_at"],"mappings":";AAKA,SAAQA,QAAQ,QAAO,QAAQ;AAC/B,SAAQC,uBAAuB,QAAO,kCAAkC;AACxE,SACEC,2BAA2B,EAC3BC,2BAA2B,QACtB,mCAAmC;AAM1C,SAASC,6BAA6B,EAACC,OAAO,EAAoC;IAChF,MAAM,CAACC,MAAMC,QAAQ,GAAGP,SAAS;IACjC,MAAMQ,QAAQH,YAAY,cAAcI,kBAAkBC;IAC1D,MAAMC,SACJN,YAAY,WACRF,4BAA4BS,0BAC5BV,4BAA4BM;IAElC,qBACE,KAACK;QAAIC,WAAU;kBACb,cAAA,KAACb;YACCU,QAAQA;YACRI,cAAcJ,OAAOK,aAAa;YAClCC,2BAA0B;YAC1BX,MAAMA;YACNY,cAAcX;;;AAItB;AAEA,MAAMY,OAAO;IACXC,OAAO;IACPC,WAAWjB;IACXkB,YAAY;QAACC,QAAQ;IAAY;IACjCC,MAAM;QAACnB,SAAS;IAAW;AAC7B;AAEA,eAAec,KAAK;AAGpB,OAAO,MAAMM,aAAoB,CAAC,EAAE;AAEpC,OAAO,MAAMC,gBAAuB;IAClCF,MAAM;QAACnB,SAAS;IAAW;AAC7B,EAAE;AAEF,OAAO,MAAMsB,iBAAwB;IACnCH,MAAM;QAACnB,SAAS;IAAQ;AAC1B,EAAE;AAEF,SAASK;IACP,OAAO;QACLkB,IAAI;QACJC,OAAO;QACPC,gBAAgB;QAChBd,eAAe;QACfe,mBAAmB;YAAC;gBAACC,KAAK;gBAAWH,OAAO;gBAAWI,QAAQ;YAAI;SAAE;QACrEC,oBAAoB;QACpBC,QAAQ;YACN;gBAACP,IAAI;gBAAmBC,OAAO;YAAiB;YAChD;gBAACD,IAAI;gBAAqBC,OAAO;YAAmB;YACpD;gBAACD,IAAI;gBAAoBC,OAAO;YAAkB;SACnD;IACH;AACF;AAEA,SAASpB;IACP,OAAO;QACLmB,IAAI;QACJC,OAAO;QACPC,gBAAgB;QAChBd,eAAe;QACfe,mBAAmB;YAAC;gBAACC,KAAK;gBAAaH,OAAO;gBAAaI,QAAQ;YAAI;SAAE;QACzEC,oBAAoB;QACpBC,QAAQC,MAAMC,IAAI,CAAC;YAACC,QAAQ;QAAE,GAAG,CAACC,GAAGC,QAAW,CAAA;gBAC9CZ,IACEY,UAAU,IACN,kCACA,CAAC,mCAAmC,EAAEC,OAAOD,OAAOE,QAAQ,CAAC,GAAG,KAAK,cAAc,CAAC;gBAC1Fb,OAAOW,UAAU,IAAI,mBAAmB,CAAC,eAAe,EAAEA,OAAO;YACnE,CAAA;IACF;AACF;AAEA,SAAS5B;IACP,OAAO;QACL+B,MAAM;QACNC,aAAa;QACbC,cAAc;QACdC,KAAK;QACLC,UAAU;QACVC,SAAS,EAAE;QACXC,qBAAqB,EAAE;QACvBd,QAAQ;YAAC;gBAACP,IAAI;gBAAaC,OAAO;YAAW;SAAE;QAC/Cb,eAAe;QACfkC,YAAY;QACZC,YAAY;IACd;AACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CustomModelProviderConfigDto, ModelProviderCatalogEntryDto } from '@shipfox/api-agent-dto';
|
|
2
|
+
export interface ModelProviderUsageTarget {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
isCustom: boolean;
|
|
6
|
+
models: Array<{
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
}>;
|
|
10
|
+
default_model: string | null;
|
|
11
|
+
}
|
|
12
|
+
export declare function usageTargetFromCatalogEntry(entry: ModelProviderCatalogEntryDto): ModelProviderUsageTarget;
|
|
13
|
+
export declare function usageTargetFromCustomConfig(config: CustomModelProviderConfigDto): ModelProviderUsageTarget;
|
|
14
|
+
//# sourceMappingURL=model-provider-usage-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-provider-usage-target.d.ts","sourceRoot":"","sources":["../../src/components/model-provider-usage-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC3C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,4BAA4B,GAClC,wBAAwB,CAQ1B;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,4BAA4B,GACnC,wBAAwB,CAQ1B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export function usageTargetFromCatalogEntry(entry) {
|
|
2
|
+
return {
|
|
3
|
+
id: entry.id,
|
|
4
|
+
label: entry.label,
|
|
5
|
+
isCustom: false,
|
|
6
|
+
models: entry.models,
|
|
7
|
+
default_model: entry.default_model
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function usageTargetFromCustomConfig(config) {
|
|
11
|
+
return {
|
|
12
|
+
id: config.provider_id,
|
|
13
|
+
label: config.display_name,
|
|
14
|
+
isCustom: true,
|
|
15
|
+
models: config.models,
|
|
16
|
+
default_model: config.default_model
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=model-provider-usage-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/model-provider-usage-target.ts"],"sourcesContent":["import type {\n CustomModelProviderConfigDto,\n ModelProviderCatalogEntryDto,\n} from '@shipfox/api-agent-dto';\n\nexport interface ModelProviderUsageTarget {\n id: string;\n label: string;\n isCustom: boolean;\n models: Array<{id: string; label: string}>;\n default_model: string | null;\n}\n\nexport function usageTargetFromCatalogEntry(\n entry: ModelProviderCatalogEntryDto,\n): ModelProviderUsageTarget {\n return {\n id: entry.id,\n label: entry.label,\n isCustom: false,\n models: entry.models,\n default_model: entry.default_model,\n };\n}\n\nexport function usageTargetFromCustomConfig(\n config: CustomModelProviderConfigDto,\n): ModelProviderUsageTarget {\n return {\n id: config.provider_id,\n label: config.display_name,\n isCustom: true,\n models: config.models,\n default_model: config.default_model,\n };\n}\n"],"names":["usageTargetFromCatalogEntry","entry","id","label","isCustom","models","default_model","usageTargetFromCustomConfig","config","provider_id","display_name"],"mappings":"AAaA,OAAO,SAASA,4BACdC,KAAmC;IAEnC,OAAO;QACLC,IAAID,MAAMC,EAAE;QACZC,OAAOF,MAAME,KAAK;QAClBC,UAAU;QACVC,QAAQJ,MAAMI,MAAM;QACpBC,eAAeL,MAAMK,aAAa;IACpC;AACF;AAEA,OAAO,SAASC,4BACdC,MAAoC;IAEpC,OAAO;QACLN,IAAIM,OAAOC,WAAW;QACtBN,OAAOK,OAAOE,YAAY;QAC1BN,UAAU;QACVC,QAAQG,OAAOH,MAAM;QACrBC,eAAeE,OAAOF,aAAa;IACrC;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-providers-section.d.ts","sourceRoot":"","sources":["../../src/components/model-providers-section.tsx"],"names":[],"mappings":"AA0EA,wBAAgB,8BAA8B,CAAC,EAAC,WAAW,EAAC,EAAE;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,+BAgUlF"}
|