@parhelia/core 0.3.12831 → 0.4.12784
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/agents-view/AgentCard.js +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +8 -1
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/components/ui/checkbox.js +3 -2
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/context-menu.d.ts +9 -1
- package/dist/components/ui/context-menu.js +59 -12
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/select.js +16 -2
- package/dist/components/ui/select.js.map +1 -1
- package/dist/config/config.d.ts +2 -0
- package/dist/config/config.js +36 -4
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +24 -0
- package/dist/config/types.js.map +1 -1
- package/dist/editor/ContextMenu.js +59 -6
- package/dist/editor/ContextMenu.js.map +1 -1
- package/dist/editor/Editor.js +9 -2
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/EditorWarning.d.ts +3 -1
- package/dist/editor/EditorWarning.js +24 -7
- package/dist/editor/EditorWarning.js.map +1 -1
- package/dist/editor/FieldList.js +1 -1
- package/dist/editor/FieldList.js.map +1 -1
- package/dist/editor/ai/AgentSharingSection.d.ts +1 -1
- package/dist/editor/ai/AgentSharingSection.js +7 -0
- package/dist/editor/ai/AgentSharingSection.js.map +1 -1
- package/dist/editor/ai/Agents.js +1 -1
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.d.ts +7 -1
- package/dist/editor/ai/InlineAiDialog.js +27 -7
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/InlineAiTrigger.js +63 -1
- package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
- package/dist/editor/ai/terminal/activeReasoningModel.d.ts +9 -0
- package/dist/editor/ai/terminal/activeReasoningModel.js +20 -0
- package/dist/editor/ai/terminal/activeReasoningModel.js.map +1 -0
- package/dist/editor/ai/terminal/agentDurations.d.ts +27 -0
- package/dist/editor/ai/terminal/agentDurations.js +89 -0
- package/dist/editor/ai/terminal/agentDurations.js.map +1 -0
- package/dist/editor/ai/terminal/agentStartRequest.d.ts +1 -0
- package/dist/editor/ai/terminal/agentStartRequest.js +1 -0
- package/dist/editor/ai/terminal/agentStartRequest.js.map +1 -1
- package/dist/editor/ai/terminal/agentTurnTiming.d.ts +33 -0
- package/dist/editor/ai/terminal/agentTurnTiming.js +103 -0
- package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentCostDisplay.d.ts +4 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js +17 -25
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.d.ts +5 -1
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js +7 -2
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProfileRecovery.d.ts +10 -0
- package/dist/editor/ai/terminal/components/AgentProfileRecovery.js +12 -0
- package/dist/editor/ai/terminal/components/AgentProfileRecovery.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsContent.d.ts +5 -1
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -2
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +10 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +67 -6
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +8 -1
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +8 -4
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +3 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +66 -48
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/ApprovalCard.js +5 -6
- package/dist/editor/ai/terminal/components/ApprovalCard.js.map +1 -1
- package/dist/editor/ai/terminal/components/InitialThinkingSplash.js +2 -2
- package/dist/editor/ai/terminal/components/InitialThinkingSplash.js.map +1 -1
- package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js +2 -2
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.d.ts +15 -0
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +52 -0
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -0
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js +32 -56
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/UserMessage.js +1 -1
- package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/agentThinkingStyles.d.ts +5 -1
- package/dist/editor/ai/terminal/components/agentThinkingStyles.js +5 -1
- package/dist/editor/ai/terminal/components/agentThinkingStyles.js.map +1 -1
- package/dist/editor/ai/terminal/reasoningEffortLevels.d.ts +8 -0
- package/dist/editor/ai/terminal/reasoningEffortLevels.js +54 -0
- package/dist/editor/ai/terminal/reasoningEffortLevels.js.map +1 -0
- package/dist/editor/ai/terminal/requestUsage.d.ts +3 -0
- package/dist/editor/ai/terminal/requestUsage.js +22 -0
- package/dist/editor/ai/terminal/requestUsage.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentModeState.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentProfileSelection.d.ts +10 -0
- package/dist/editor/ai/terminal/useAgentProfileSelection.js +10 -2
- package/dist/editor/ai/terminal/useAgentProfileSelection.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentReasoningEffortState.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentReasoningEffortState.js +10 -0
- package/dist/editor/ai/terminal/useAgentReasoningEffortState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsCommands.d.ts +9 -0
- package/dist/editor/ai/terminal/useAgentSettingsCommands.js +63 -6
- package/dist/editor/ai/terminal/useAgentSettingsCommands.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsPanel.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js +8 -0
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSkillActions.js +1 -0
- package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +20 -4
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalControls.d.ts +4 -0
- package/dist/editor/ai/terminal/useAgentTerminalControls.js +5 -1
- package/dist/editor/ai/terminal/useAgentTerminalControls.js.map +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.d.ts +6 -0
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js +202 -64
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
- package/dist/editor/client/EditorShell.js +30 -33
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/SandboxWelcomeOverlay.d.ts +4 -1
- package/dist/editor/client/SandboxWelcomeOverlay.js +6 -5
- package/dist/editor/client/SandboxWelcomeOverlay.js.map +1 -1
- package/dist/editor/client/SessionsDialog.d.ts +2 -0
- package/dist/editor/client/SessionsDialog.js +27 -0
- package/dist/editor/client/SessionsDialog.js.map +1 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +4 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/ui/DevModeIndicator.js +6 -4
- package/dist/editor/client/ui/DevModeIndicator.js.map +1 -1
- package/dist/editor/editor-warnings/ItemLocked.js +1 -1
- package/dist/editor/editor-warnings/ItemLocked.js.map +1 -1
- package/dist/editor/editor-warnings/NoLanguageWriteAccess.js +1 -1
- package/dist/editor/editor-warnings/NoLanguageWriteAccess.js.map +1 -1
- package/dist/editor/editor-warnings/NoWorkflowWriteAccess.js +1 -1
- package/dist/editor/editor-warnings/NoWorkflowWriteAccess.js.map +1 -1
- package/dist/editor/editor-warnings/NoWriteAccess.js +1 -1
- package/dist/editor/editor-warnings/NoWriteAccess.js.map +1 -1
- package/dist/editor/media-selector/MediaFolderBrowser.js +1 -1
- package/dist/editor/menubar/ActiveUsers.js +4 -1
- package/dist/editor/menubar/ActiveUsers.js.map +1 -1
- package/dist/editor/menubar/OpenPublishedPageButton.d.ts +1 -0
- package/dist/editor/menubar/OpenPublishedPageButton.js +22 -0
- package/dist/editor/menubar/OpenPublishedPageButton.js.map +1 -0
- package/dist/editor/menubar/WorkflowButton.js +77 -22
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/PreviewModeControl.js +1 -1
- package/dist/editor/menubar/toolbar-sections/PreviewModeControl.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +8 -4
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +36 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.d.ts +19 -0
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +14 -0
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +3 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +18 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-viewer/DeviceToolbar.js +20 -8
- package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
- package/dist/editor/page-viewer/EditorForm.js +8 -7
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +10 -0
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/PreviewModeNotice.d.ts +7 -0
- package/dist/editor/page-viewer/PreviewModeNotice.js +19 -0
- package/dist/editor/page-viewer/PreviewModeNotice.js.map +1 -0
- package/dist/editor/page-viewer/pageViewContext.d.ts +5 -1
- package/dist/editor/page-viewer/pageViewContext.js +59 -2
- package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
- package/dist/editor/page-viewer/previewEditAttempt.d.ts +31 -0
- package/dist/editor/page-viewer/previewEditAttempt.js +68 -0
- package/dist/editor/page-viewer/previewEditAttempt.js.map +1 -0
- package/dist/editor/pageModel.d.ts +1 -0
- package/dist/editor/services/agentService.d.ts +67 -0
- package/dist/editor/services/agentService.js +2 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +5 -0
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/services/contentService.d.ts +9 -0
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +13 -0
- package/dist/editor/services/editService.js +8 -0
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/services/migrationService.d.ts +31 -0
- package/dist/editor/services/migrationService.js +22 -0
- package/dist/editor/services/migrationService.js.map +1 -0
- package/dist/editor/services/publicSiteService.d.ts +40 -0
- package/dist/editor/services/publicSiteService.js +5 -0
- package/dist/editor/services/publicSiteService.js.map +1 -0
- package/dist/editor/settings/About.js +71 -32
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/MigrationJournalCard.d.ts +12 -0
- package/dist/editor/settings/MigrationJournalCard.js +114 -0
- package/dist/editor/settings/MigrationJournalCard.js.map +1 -0
- package/dist/editor/settings/QuotaUserPicker.js +1 -1
- package/dist/editor/settings/SettingsView.js +18 -5
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/panels/ModelConfigPanel.js +2 -0
- package/dist/editor/settings/panels/ModelConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/PublicSiteEntryDialog.d.ts +8 -0
- package/dist/editor/settings/panels/PublicSiteEntryDialog.js +113 -0
- package/dist/editor/settings/panels/PublicSiteEntryDialog.js.map +1 -0
- package/dist/editor/settings/panels/PublicSitesPanel.d.ts +1 -0
- package/dist/editor/settings/panels/PublicSitesPanel.js +153 -0
- package/dist/editor/settings/panels/PublicSitesPanel.js.map +1 -0
- package/dist/editor/settings/panels/StatusPanel.js +2 -1
- package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
- package/dist/editor/settings/panels/UserPreferencesPanel.js +4 -4
- package/dist/editor/settings/panels/UserPreferencesPanel.js.map +1 -1
- package/dist/editor/settings/panels/index.d.ts +1 -0
- package/dist/editor/settings/panels/index.js +1 -0
- package/dist/editor/settings/panels/index.js.map +1 -1
- package/dist/editor/settings/panels/publicSiteHelpers.d.ts +6 -0
- package/dist/editor/settings/panels/publicSiteHelpers.js +30 -0
- package/dist/editor/settings/panels/publicSiteHelpers.js.map +1 -0
- package/dist/editor/settings/status/coreStatusChecks.js +4 -0
- package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
- package/dist/editor/sidebar/Sessions.d.ts +3 -1
- package/dist/editor/sidebar/Sessions.js +2 -1
- package/dist/editor/sidebar/Sessions.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +22 -7
- package/dist/editor/sidebar/Workbox.js.map +1 -1
- package/dist/editor/ui/PerfectTree.js +10 -6
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/editor/ui/PublishDialog.d.ts +5 -2
- package/dist/editor/ui/PublishDialog.js +48 -31
- package/dist/editor/ui/PublishDialog.js.map +1 -1
- package/dist/editor/ui/PublishItemDialog.js +31 -20
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/ui/PublishReadinessSummary.d.ts +12 -0
- package/dist/editor/ui/PublishReadinessSummary.js +34 -0
- package/dist/editor/ui/PublishReadinessSummary.js.map +1 -0
- package/dist/editor/ui/TemplateSelectorDialog.js +27 -1
- package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
- package/dist/editor/ui/publishReadiness.d.ts +65 -0
- package/dist/editor/ui/publishReadiness.js +211 -0
- package/dist/editor/ui/publishReadiness.js.map +1 -0
- package/dist/editor/ui/usePublishingItem.d.ts +8 -0
- package/dist/editor/ui/usePublishingItem.js +47 -0
- package/dist/editor/ui/usePublishingItem.js.map +1 -0
- package/dist/editor/views/ItemEditor.js +15 -23
- package/dist/editor/views/ItemEditor.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/viewportClip.d.ts +18 -0
- package/dist/lib/viewportClip.js +22 -0
- package/dist/lib/viewportClip.js.map +1 -0
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/setup/wizard/steps/ImportModelDialog.js +238 -176
- package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.js +4 -1
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/tour/Tour.d.ts +10 -2
- package/dist/tour/Tour.js +136 -31
- package/dist/tour/Tour.js.map +1 -1
- package/dist/tour/default-tour.js +1 -12
- package/dist/tour/default-tour.js.map +1 -1
- package/dist/tour/sandbox-tour.js +3 -2
- package/dist/tour/sandbox-tour.js.map +1 -1
- package/dist/tour/tour-utils.d.ts +6 -0
- package/dist/tour/tour-utils.js +10 -0
- package/dist/tour/tour-utils.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/package.json +1 -1
|
@@ -1,249 +1,311 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useCallback,
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
3
3
|
import { Dialog, DialogContent, DialogFooter, } from "../../../components/ui/dialog";
|
|
4
4
|
import { Button } from "../../../components/ui/button";
|
|
5
5
|
import { CountBadge } from "../../../components/ui/badge";
|
|
6
6
|
import { Select } from "../../../components/ui/select";
|
|
7
|
+
import { MultiSwitchButton } from "../../../components/ui/multi-switch-button";
|
|
7
8
|
import { StyledDialogTitle } from "../../../components/ui/styled-dialog-title";
|
|
9
|
+
import { Alert, AlertDescription } from "../../../components/ui/alert";
|
|
10
|
+
import { Checkbox } from "../../../components/ui/checkbox";
|
|
8
11
|
import { SearchInput } from "../../../components/SearchInput";
|
|
12
|
+
import { cn } from "../../../lib/utils";
|
|
9
13
|
import { setupWizardService, } from "../../services/setupWizardService";
|
|
10
|
-
import {
|
|
14
|
+
import { AlertTriangle, CheckCircle2, ExternalLink, Info, Plus, RefreshCw, Upload, } from "lucide-react";
|
|
11
15
|
import { useEditContext } from "../../../editor/client/editContext";
|
|
12
|
-
import { Checkbox } from "../../../components/ui/checkbox";
|
|
13
16
|
import { LoadingState } from "../../../editor/ui/LoadingState";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
import { ProviderIcon } from "../../../editor/settings/panels/ProviderIcon";
|
|
18
|
+
const MODEL_TYPE_ORDER = ["chat", "embeddings", "image"];
|
|
19
|
+
const MODEL_TYPE_LABELS = {
|
|
20
|
+
chat: "Chat",
|
|
21
|
+
embeddings: "Embeddings",
|
|
22
|
+
image: "Image",
|
|
18
23
|
};
|
|
24
|
+
const isDefined = (value) => value !== undefined && value !== null;
|
|
25
|
+
const roundsToNonZero = (value, decimals) => isDefined(value) && Number(value.toFixed(decimals)) > 0;
|
|
19
26
|
const hasUsableImagePricing = (model) => roundsToNonZero(model.pricing?.requestCost, 4) ||
|
|
20
27
|
roundsToNonZero(model.pricing?.imageCost, 4) ||
|
|
21
28
|
roundsToNonZero(model.pricing?.imageOutputCost, 4) ||
|
|
22
29
|
roundsToNonZero(model.pricing?.inputTextTokenCostPerMillion, 2) ||
|
|
23
30
|
roundsToNonZero(model.pricing?.inputImageTokenCostPerMillion, 2) ||
|
|
24
31
|
roundsToNonZero(model.pricing?.outputImageTokenCostPerMillion, 2);
|
|
32
|
+
const formatUsd = (value, decimals) => `$${value.toFixed(decimals)}`;
|
|
33
|
+
const formatTokenCount = (tokens) => {
|
|
34
|
+
if (tokens >= 1_000_000) {
|
|
35
|
+
const millions = tokens / 1_000_000;
|
|
36
|
+
return `${Number.isInteger(millions) ? millions : millions.toFixed(1)}M`;
|
|
37
|
+
}
|
|
38
|
+
return `${Math.round(tokens / 1000)}k`;
|
|
39
|
+
};
|
|
40
|
+
/** One-line facts about a model: context window, then pricing. */
|
|
41
|
+
function describeModel(model) {
|
|
42
|
+
const parts = [];
|
|
43
|
+
if (model.contextLength) {
|
|
44
|
+
parts.push(`${formatTokenCount(model.contextLength)} context`);
|
|
45
|
+
}
|
|
46
|
+
const pricing = model.pricing;
|
|
47
|
+
if (!pricing)
|
|
48
|
+
return parts;
|
|
49
|
+
if (model.modelType === "image" && hasUsableImagePricing(model)) {
|
|
50
|
+
if (isDefined(pricing.requestCost))
|
|
51
|
+
parts.push(`Request ${formatUsd(pricing.requestCost, 4)}`);
|
|
52
|
+
if (isDefined(pricing.imageCost))
|
|
53
|
+
parts.push(`Image ${formatUsd(pricing.imageCost, 4)}`);
|
|
54
|
+
if (isDefined(pricing.imageOutputCost))
|
|
55
|
+
parts.push(`Out image ${formatUsd(pricing.imageOutputCost, 4)}`);
|
|
56
|
+
if (isDefined(pricing.inputTextTokenCostPerMillion))
|
|
57
|
+
parts.push(`In text ${formatUsd(pricing.inputTextTokenCostPerMillion, 2)}/M`);
|
|
58
|
+
if (isDefined(pricing.inputImageTokenCostPerMillion))
|
|
59
|
+
parts.push(`In image ${formatUsd(pricing.inputImageTokenCostPerMillion, 2)}/M`);
|
|
60
|
+
if (isDefined(pricing.outputImageTokenCostPerMillion))
|
|
61
|
+
parts.push(`Out image ${formatUsd(pricing.outputImageTokenCostPerMillion, 2)}/M`);
|
|
62
|
+
return parts;
|
|
63
|
+
}
|
|
64
|
+
const input = pricing.inputCostPerMillionTokens;
|
|
65
|
+
const output = pricing.outputCostPerMillionTokens;
|
|
66
|
+
if (isDefined(input) && isDefined(output) && input === 0 && output === 0) {
|
|
67
|
+
parts.push("Free");
|
|
68
|
+
return parts;
|
|
69
|
+
}
|
|
70
|
+
if (isDefined(input))
|
|
71
|
+
parts.push(`In ${formatUsd(input, 2)}/M`);
|
|
72
|
+
if (isDefined(output))
|
|
73
|
+
parts.push(`Out ${formatUsd(output, 2)}/M`);
|
|
74
|
+
return parts;
|
|
75
|
+
}
|
|
25
76
|
export function ImportModelDialog({ open, onOpenChange, onSuccess, importableProviders, providerTypes = [], }) {
|
|
26
77
|
const editContext = useEditContext();
|
|
27
|
-
const [
|
|
28
|
-
// Import from provider state
|
|
29
|
-
const [importProviderId, setImportProviderId] = useState(importableProviders[0]?.id || "");
|
|
78
|
+
const [providerId, setProviderId] = useState(importableProviders[0]?.id || "");
|
|
30
79
|
const [providerModels, setProviderModels] = useState([]);
|
|
31
|
-
const [
|
|
32
|
-
const [
|
|
80
|
+
const [loading, setLoading] = useState(false);
|
|
81
|
+
const [loadError, setLoadError] = useState(null);
|
|
82
|
+
const [importError, setImportError] = useState(null);
|
|
33
83
|
const [importing, setImporting] = useState(false);
|
|
34
|
-
const [
|
|
35
|
-
const [
|
|
36
|
-
const [
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}, [importProviderId, importableProviders, providerTypes]);
|
|
84
|
+
const [selectedIds, setSelectedIds] = useState(new Set());
|
|
85
|
+
const [query, setQuery] = useState("");
|
|
86
|
+
const [typeFilter, setTypeFilter] = useState("all");
|
|
87
|
+
const [hideInstalled, setHideInstalled] = useState(false);
|
|
88
|
+
const [reloadToken, setReloadToken] = useState(0);
|
|
89
|
+
const selectedProvider = useMemo(() => importableProviders.find((p) => p.id === providerId) ?? null, [importableProviders, providerId]);
|
|
90
|
+
const selectedProviderType = useMemo(() => selectedProvider
|
|
91
|
+
? providerTypes.find((pt) => pt.providerId === selectedProvider.type)
|
|
92
|
+
: undefined, [selectedProvider, providerTypes]);
|
|
44
93
|
const isStaticCatalog = selectedProviderType?.isStaticCatalog ?? false;
|
|
45
|
-
//
|
|
94
|
+
// Reset everything when the dialog transitions from closed to open.
|
|
46
95
|
const wasOpenRef = useRef(false);
|
|
47
|
-
// Reset state only when dialog transitions from closed to open
|
|
48
96
|
useEffect(() => {
|
|
49
97
|
if (open && !wasOpenRef.current) {
|
|
50
|
-
|
|
51
|
-
setImportProviderId(importableProviders[0]?.id || "");
|
|
98
|
+
setProviderId(importableProviders[0]?.id || "");
|
|
52
99
|
setProviderModels([]);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
100
|
+
setLoadError(null);
|
|
101
|
+
setImportError(null);
|
|
102
|
+
setSelectedIds(new Set());
|
|
103
|
+
setQuery("");
|
|
104
|
+
setTypeFilter("all");
|
|
105
|
+
setHideInstalled(false);
|
|
57
106
|
setImporting(false);
|
|
58
107
|
}
|
|
59
108
|
wasOpenRef.current = open;
|
|
60
109
|
}, [open, importableProviders]);
|
|
61
|
-
//
|
|
110
|
+
// Load the catalog whenever the provider changes (or a reload is requested).
|
|
62
111
|
useEffect(() => {
|
|
63
|
-
if (!open || !
|
|
112
|
+
if (!open || !providerId)
|
|
64
113
|
return;
|
|
65
|
-
}
|
|
66
114
|
let cancelled = false;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
};
|
|
88
|
-
loadModels();
|
|
115
|
+
setLoading(true);
|
|
116
|
+
setLoadError(null);
|
|
117
|
+
setImportError(null);
|
|
118
|
+
setupWizardService
|
|
119
|
+
.getProviderModels(providerId)
|
|
120
|
+
.then((models) => {
|
|
121
|
+
if (cancelled)
|
|
122
|
+
return;
|
|
123
|
+
setProviderModels(models);
|
|
124
|
+
setSelectedIds(new Set());
|
|
125
|
+
})
|
|
126
|
+
.catch((e) => {
|
|
127
|
+
if (cancelled)
|
|
128
|
+
return;
|
|
129
|
+
setProviderModels([]);
|
|
130
|
+
setLoadError(e?.message || "Failed to load models from provider");
|
|
131
|
+
})
|
|
132
|
+
.finally(() => {
|
|
133
|
+
if (!cancelled)
|
|
134
|
+
setLoading(false);
|
|
135
|
+
});
|
|
89
136
|
return () => {
|
|
90
137
|
cancelled = true;
|
|
91
138
|
};
|
|
92
|
-
}, [open,
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
139
|
+
}, [open, providerId, reloadToken]);
|
|
140
|
+
const handleProviderChange = useCallback((value) => {
|
|
141
|
+
setProviderId(value);
|
|
142
|
+
setProviderModels([]);
|
|
143
|
+
setSelectedIds(new Set());
|
|
144
|
+
setTypeFilter("all");
|
|
145
|
+
}, []);
|
|
146
|
+
// Only offer the type switch for types the catalog actually contains.
|
|
147
|
+
const availableTypes = useMemo(() => MODEL_TYPE_ORDER.filter((type) => providerModels.some((m) => m.modelType === type)), [providerModels]);
|
|
148
|
+
const effectiveTypeFilter = typeFilter === "all" || availableTypes.includes(typeFilter)
|
|
149
|
+
? typeFilter
|
|
150
|
+
: "all";
|
|
151
|
+
const typeOptions = useMemo(() => [
|
|
152
|
+
{ value: "all", label: "All" },
|
|
153
|
+
...availableTypes.map((type) => ({
|
|
154
|
+
value: type,
|
|
155
|
+
label: MODEL_TYPE_LABELS[type],
|
|
156
|
+
})),
|
|
157
|
+
], [availableTypes]);
|
|
158
|
+
const trimmedQuery = query.trim().toLowerCase();
|
|
159
|
+
// Models matching the type switch and the search, regardless of install state.
|
|
160
|
+
const matchingModels = useMemo(() => providerModels.filter((model) => {
|
|
161
|
+
if (effectiveTypeFilter !== "all" &&
|
|
162
|
+
model.modelType !== effectiveTypeFilter) {
|
|
163
|
+
return false;
|
|
108
164
|
}
|
|
109
|
-
|
|
110
|
-
|
|
165
|
+
if (trimmedQuery) {
|
|
166
|
+
return (model.id.toLowerCase().includes(trimmedQuery) ||
|
|
167
|
+
(model.name || "").toLowerCase().includes(trimmedQuery) ||
|
|
168
|
+
(model.provider || "").toLowerCase().includes(trimmedQuery));
|
|
111
169
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return false;
|
|
128
|
-
}
|
|
129
|
-
// Status filter
|
|
130
|
-
if (importStatusFilter === "missing" && model.isInstalled) {
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
if (importStatusFilter === "installed" && !model.isInstalled) {
|
|
134
|
-
return false;
|
|
135
|
-
}
|
|
136
|
-
if (importStatusFilter === "pricingDiffers" && !model.pricingDiffers) {
|
|
137
|
-
return false;
|
|
138
|
-
}
|
|
139
|
-
return true;
|
|
140
|
-
});
|
|
141
|
-
}, [providerModels, importSearchQuery, importTypeFilter, importStatusFilter]);
|
|
142
|
-
// Group models by provider
|
|
143
|
-
const groupedProviderModels = useMemo(() => {
|
|
170
|
+
return true;
|
|
171
|
+
}), [providerModels, effectiveTypeFilter, trimmedQuery]);
|
|
172
|
+
const visibleModels = useMemo(() => hideInstalled
|
|
173
|
+
? matchingModels.filter((m) => !m.isInstalled)
|
|
174
|
+
: matchingModels, [matchingModels, hideInstalled]);
|
|
175
|
+
const availableVisible = useMemo(() => visibleModels.filter((m) => !m.isInstalled), [visibleModels]);
|
|
176
|
+
const installedMatchingCount = useMemo(() => matchingModels.filter((m) => m.isInstalled).length, [matchingModels]);
|
|
177
|
+
const hasInstalledModels = useMemo(() => providerModels.some((m) => m.isInstalled), [providerModels]);
|
|
178
|
+
// Aggregators (OpenRouter etc.) list models from many vendors; only then
|
|
179
|
+
// is a vendor grouping worth the extra header rows.
|
|
180
|
+
const hasMultipleVendors = useMemo(() => new Set(providerModels.map((m) => (m.provider || "").toLowerCase()))
|
|
181
|
+
.size > 1, [providerModels]);
|
|
182
|
+
const groupedModels = useMemo(() => {
|
|
183
|
+
if (!hasMultipleVendors)
|
|
184
|
+
return [[null, visibleModels]];
|
|
144
185
|
const groups = {};
|
|
145
|
-
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
groups[provider] = [];
|
|
149
|
-
}
|
|
150
|
-
groups[provider].push(model);
|
|
186
|
+
visibleModels.forEach((model) => {
|
|
187
|
+
const vendor = model.provider || "other";
|
|
188
|
+
(groups[vendor] ??= []).push(model);
|
|
151
189
|
});
|
|
152
|
-
// Sort groups by provider name
|
|
153
190
|
return Object.entries(groups).sort(([a], [b]) => a.localeCompare(b));
|
|
154
|
-
}, [
|
|
155
|
-
|
|
156
|
-
const
|
|
157
|
-
|
|
191
|
+
}, [hasMultipleVendors, visibleModels]);
|
|
192
|
+
const selectedVisibleCount = useMemo(() => availableVisible.filter((m) => selectedIds.has(m.id)).length, [availableVisible, selectedIds]);
|
|
193
|
+
const selectAllState = availableVisible.length === 0
|
|
194
|
+
? false
|
|
195
|
+
: selectedVisibleCount === availableVisible.length
|
|
196
|
+
? true
|
|
197
|
+
: selectedVisibleCount > 0
|
|
198
|
+
? "indeterminate"
|
|
199
|
+
: false;
|
|
200
|
+
const toggleSelectAll = useCallback(() => {
|
|
201
|
+
setSelectedIds((prev) => {
|
|
158
202
|
const next = new Set(prev);
|
|
159
|
-
if (
|
|
160
|
-
next.delete(
|
|
203
|
+
if (selectAllState === true) {
|
|
204
|
+
availableVisible.forEach((m) => next.delete(m.id));
|
|
161
205
|
}
|
|
162
206
|
else {
|
|
163
|
-
next.add(
|
|
207
|
+
availableVisible.forEach((m) => next.add(m.id));
|
|
164
208
|
}
|
|
165
209
|
return next;
|
|
166
210
|
});
|
|
211
|
+
}, [availableVisible, selectAllState]);
|
|
212
|
+
const toggleModel = useCallback((modelId) => {
|
|
213
|
+
setSelectedIds((prev) => {
|
|
214
|
+
const next = new Set(prev);
|
|
215
|
+
if (next.has(modelId))
|
|
216
|
+
next.delete(modelId);
|
|
217
|
+
else
|
|
218
|
+
next.add(modelId);
|
|
219
|
+
return next;
|
|
220
|
+
});
|
|
167
221
|
}, []);
|
|
168
|
-
// Import selected models
|
|
169
222
|
const handleImportSelected = useCallback(async () => {
|
|
170
|
-
if (
|
|
171
|
-
setError("Please select at least one model to import");
|
|
223
|
+
if (selectedIds.size === 0)
|
|
172
224
|
return;
|
|
173
|
-
}
|
|
174
225
|
try {
|
|
175
226
|
setImporting(true);
|
|
176
|
-
|
|
227
|
+
setImportError(null);
|
|
177
228
|
const result = await setupWizardService.upsertProviderModels({
|
|
178
|
-
providerId
|
|
179
|
-
selectedModelIds: Array.from(
|
|
229
|
+
providerId,
|
|
230
|
+
selectedModelIds: Array.from(selectedIds),
|
|
180
231
|
mode: "createMissing",
|
|
181
232
|
});
|
|
182
|
-
//
|
|
183
|
-
// This avoids reloading the entire list and showing the spinner
|
|
233
|
+
// Mark imported models as installed locally instead of reloading the catalog.
|
|
184
234
|
if (result.createdCount > 0) {
|
|
185
|
-
setProviderModels((
|
|
235
|
+
setProviderModels((prev) => prev.map((model) => selectedIds.has(model.id)
|
|
186
236
|
? { ...model, isInstalled: true, pricingDiffers: false }
|
|
187
237
|
: model));
|
|
188
238
|
}
|
|
189
|
-
|
|
190
|
-
setSelectedModelIds(new Set());
|
|
191
|
-
// Refresh the parent's installed models list
|
|
239
|
+
setSelectedIds(new Set());
|
|
192
240
|
onSuccess();
|
|
193
|
-
// Show result
|
|
194
241
|
if (result.errors.length > 0) {
|
|
195
|
-
|
|
242
|
+
setImportError(`Imported ${result.createdCount} model${result.createdCount === 1 ? "" : "s"}. Errors: ${result.errors.join(", ")}`);
|
|
196
243
|
}
|
|
197
244
|
else {
|
|
198
245
|
onOpenChange(false);
|
|
199
246
|
}
|
|
200
247
|
}
|
|
201
248
|
catch (e) {
|
|
202
|
-
|
|
249
|
+
setImportError(e?.message || "Failed to import models");
|
|
203
250
|
}
|
|
204
251
|
finally {
|
|
205
252
|
setImporting(false);
|
|
206
253
|
}
|
|
207
|
-
}, [
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
254
|
+
}, [providerId, onOpenChange, selectedIds, onSuccess]);
|
|
255
|
+
const openInstalledModel = useCallback(async (itemId) => {
|
|
256
|
+
await editContext?.loadItem(itemId);
|
|
257
|
+
editContext?.switchWorkspace("editor");
|
|
258
|
+
}, [editContext]);
|
|
259
|
+
const providerOptions = useMemo(() => importableProviders.map((provider) => ({
|
|
260
|
+
value: provider.id,
|
|
261
|
+
label: provider.name,
|
|
262
|
+
icon: (_jsx(ProviderIcon, { providerId: provider.type, providerName: provider.name, size: 16 })),
|
|
263
|
+
})), [importableProviders]);
|
|
264
|
+
const selectedCount = selectedIds.size;
|
|
265
|
+
const importLabel = selectedCount === 0
|
|
266
|
+
? "Import models"
|
|
267
|
+
: selectedCount === 1
|
|
268
|
+
? "Import 1 model"
|
|
269
|
+
: `Import ${selectedCount} models`;
|
|
270
|
+
const renderListBody = () => {
|
|
271
|
+
if (loading) {
|
|
272
|
+
return (_jsx(LoadingState, { variant: "fill", message: "Loading model catalog...", className: "min-h-48", spinnerClassName: "text-neutral-grey-50", textClassName: "text-neutral-grey-50" }));
|
|
273
|
+
}
|
|
274
|
+
if (loadError) {
|
|
275
|
+
return (_jsxs("div", { className: "flex flex-col items-center justify-center gap-3 px-6 py-12 text-center", children: [_jsx("p", { className: "text-feedback-red text-sm", children: loadError }), _jsxs(Button, { size: "sm", variant: "outline", onClick: () => setReloadToken((t) => t + 1), children: [_jsx(RefreshCw, { strokeWidth: 1, className: "h-3.5 w-3.5" }), "Try again"] })] }));
|
|
276
|
+
}
|
|
277
|
+
if (providerModels.length === 0) {
|
|
278
|
+
return (_jsx("div", { className: "text-neutral-grey-50 px-6 py-12 text-center text-sm", children: "This provider returned no models." }));
|
|
279
|
+
}
|
|
280
|
+
if (matchingModels.length === 0) {
|
|
281
|
+
return (_jsxs("div", { className: "flex flex-col items-center justify-center gap-3 px-6 py-12 text-center", children: [_jsx("p", { className: "text-neutral-grey-50 text-sm", children: trimmedQuery
|
|
282
|
+
? `No models match "${query.trim()}".`
|
|
283
|
+
: "No models of this type." }), (trimmedQuery || effectiveTypeFilter !== "all") && (_jsx(Button, { size: "sm", variant: "outline", onClick: () => {
|
|
284
|
+
setQuery("");
|
|
285
|
+
setTypeFilter("all");
|
|
286
|
+
}, children: "Clear filters" }))] }));
|
|
287
|
+
}
|
|
288
|
+
if (visibleModels.length === 0) {
|
|
289
|
+
return (_jsxs("div", { className: "flex flex-col items-center justify-center gap-3 px-6 py-12 text-center", children: [_jsx("p", { className: "text-neutral-grey-50 text-sm", children: "All matching models are already installed." }), _jsx(Button, { size: "sm", variant: "outline", onClick: () => setHideInstalled(false), children: "Show installed models" })] }));
|
|
290
|
+
}
|
|
291
|
+
return groupedModels.map(([vendor, models]) => (_jsxs("div", { children: [vendor !== null && (_jsxs("div", { className: "border-border-default/50 bg-neutral-grey-5/90 text-neutral-grey-50 sticky top-0 z-10 flex items-center justify-between border-b px-4 py-1.5 text-[11px] font-bold tracking-widest backdrop-blur", children: [_jsx("span", { children: vendor }), _jsx(CountBadge, { children: models.length })] })), _jsx("div", { className: "divide-border-default divide-y", children: models.map((model) => {
|
|
292
|
+
const installed = model.isInstalled;
|
|
293
|
+
const selected = selectedIds.has(model.id);
|
|
294
|
+
const title = model.name || model.id;
|
|
295
|
+
const facts = describeModel(model);
|
|
296
|
+
return (_jsxs("div", { "data-testid": "import-model-row", "data-model-id": model.id, "data-installed": installed ? "true" : undefined, className: cn("flex items-center gap-3 px-4 py-2.5 transition-colors", installed
|
|
297
|
+
? "cursor-default"
|
|
298
|
+
: "hover:bg-neutral-grey-5 cursor-pointer", selected && "bg-neutral-grey-5"), onClick: installed ? undefined : () => toggleModel(model.id), children: [_jsx("div", { className: "flex w-4 shrink-0 items-center justify-center", children: installed ? (_jsx(CheckCircle2, { strokeWidth: 1.5, className: "text-feedback-green h-4 w-4", "aria-label": "Installed" })) : (_jsx(Checkbox, { checked: selected, onCheckedChange: () => toggleModel(model.id), onClick: (event) => event.stopPropagation(), "aria-label": `Select ${title}` })) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx("span", { className: cn("truncate text-sm", installed
|
|
299
|
+
? "text-neutral-grey-50"
|
|
300
|
+
: "text-neutral-grey-100 font-medium"), children: title }), _jsx("span", { className: "bg-neutral-grey-5 badge-pad-sm text-neutral-grey-50 shrink-0 rounded text-[10px] font-medium", children: MODEL_TYPE_LABELS[model.modelType] ?? model.modelType }), installed && (_jsx("span", { className: "bg-feedback-green-light badge-pad-sm text-feedback-green shrink-0 rounded text-[10px] font-medium", children: "Installed" }))] }), _jsxs("div", { className: "text-neutral-grey-50 mt-0.5 flex min-w-0 flex-wrap items-center gap-x-1.5 text-[11px]", children: [title !== model.id && (_jsx("span", { className: "max-w-full truncate font-mono text-[10px]", children: model.id })), facts.map((fact, index) => (_jsxs(React.Fragment, { children: [(index > 0 || title !== model.id) && (_jsx("span", { "aria-hidden": "true", children: "\u00B7" })), _jsx("span", { className: "shrink-0", children: fact })] }, fact)))] })] }), installed && model.installedItemId && (_jsxs(Button, { size: "xs", variant: "ghost", className: "text-neutral-grey-50 hover:text-feedback-blue shrink-0", onClick: (e) => {
|
|
301
|
+
e.stopPropagation();
|
|
302
|
+
void openInstalledModel(model.installedItemId);
|
|
303
|
+
}, title: "Open the installed model item in the editor", children: ["Open", _jsx(ExternalLink, { className: "h-3.5 w-3.5", strokeWidth: 1 })] }))] }, model.id));
|
|
304
|
+
}) })] }, vendor ?? "all")));
|
|
305
|
+
};
|
|
306
|
+
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { className: "flex max-w-4xl flex-col", style: { height: "85vh" }, "data-testid": "import-model-dialog", children: [_jsx(StyledDialogTitle, { icon: _jsx(Upload, { strokeWidth: 1 }), title: "Import models", subtitle: "Pick models from a provider's catalog to add them to Parhelia." }), _jsxs("div", { className: "flex min-h-0 flex-1 flex-col gap-3 p-6 pb-4", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx(Select, { value: providerId, onValueChange: handleProviderChange, options: providerOptions, placeholder: "Select provider", className: "w-52 shrink-0", "data-testid": "import-model-provider" }), _jsx(SearchInput, { value: query, onChange: setQuery, className: "min-w-48 flex-1", inputClassName: "border-border-default bg-white", size: "md", placeholder: "Search by name or ID...", disabled: loading || !!loadError, testId: "import-model-search" }), typeOptions.length > 2 && (_jsx(MultiSwitchButton, { value: effectiveTypeFilter, options: typeOptions, onValueChange: setTypeFilter, className: "shrink-0", optionClassName: "h-6 px-3", "aria-label": "Filter by model type", testId: "import-model-type-filter" }))] }), _jsxs("div", { className: "border-border-default flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border bg-white", children: [!loading && !loadError && providerModels.length > 0 && (_jsxs("div", { className: "border-border-default bg-neutral-grey-5/60 flex items-center gap-3 border-b px-4 py-2 text-xs", children: [_jsxs("label", { className: "flex cursor-pointer items-center gap-3", children: [_jsx(Checkbox, { checked: selectAllState, onCheckedChange: toggleSelectAll, disabled: availableVisible.length === 0, "aria-label": "Select all available models", "data-testid": "import-model-select-all" }), _jsxs("span", { className: "text-neutral-grey-100", children: [availableVisible.length, " available"] })] }), installedMatchingCount > 0 && (_jsxs("span", { className: "text-neutral-grey-50", children: ["\u00B7 ", installedMatchingCount, " installed"] })), selectedCount > 0 && (_jsxs("span", { className: "text-highlight-100 font-medium", children: ["\u00B7 ", selectedCount, " selected"] })), hasInstalledModels && (_jsxs("label", { className: "text-neutral-grey-50 ml-auto flex cursor-pointer items-center gap-2", children: [_jsx(Checkbox, { checked: hideInstalled, onCheckedChange: (value) => setHideInstalled(value === true), "data-testid": "import-model-hide-installed" }), "Hide installed"] }))] })), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto", children: renderListBody() })] }), providerId && (_jsxs("p", { className: "text-neutral-grey-50 flex items-start gap-1.5 text-[11px] leading-snug", children: [isStaticCatalog ? (_jsx(AlertTriangle, { strokeWidth: 1, className: "text-feedback-orange mt-px h-3.5 w-3.5 shrink-0" })) : (_jsx(Info, { strokeWidth: 1, className: "mt-px h-3.5 w-3.5 shrink-0" })), _jsx("span", { children: isStaticCatalog
|
|
307
|
+
? "This provider's catalog is maintained by hand, so it may lag behind the provider's own model list and pricing."
|
|
308
|
+
: "Pricing comes from the provider's API and may be imprecise. Verify it on the provider's website." })] })), importError && (_jsx(Alert, { variant: "destructive", className: "py-2", children: _jsx(AlertDescription, { className: "text-xs", children: importError }) }))] }), _jsxs(DialogFooter, { className: "border-border-default mt-auto shrink-0 border-t px-6 py-4", children: [_jsx(Button, { variant: "outline", onClick: () => onOpenChange(false), children: "Close" }), _jsxs(Button, { onClick: handleImportSelected, disabled: selectedCount === 0 || importing || loading, className: "shadow-feedback-blue gap-2 shadow-sm", "data-testid": "import-model-submit", children: [importing ? (_jsx(RefreshCw, { strokeWidth: 1, className: "h-3.5 w-3.5 animate-spin" })) : (_jsx(Plus, { strokeWidth: 1, className: "h-3.5 w-3.5" })), importLabel] })] })] }) }));
|
|
247
309
|
}
|
|
248
310
|
export default ImportModelDialog;
|
|
249
311
|
//# sourceMappingURL=ImportModelDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportModelDialog.js","sourceRoot":"","sources":["../../../../src/setup/wizard/steps/ImportModelDialog.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ImportModelDialog.js","sourceRoot":"","sources":["../../../../src/setup/wizard/steps/ImportModelDialog.tsx"],"names":[],"mappings":"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"}
|