@parhelia/core 0.1.11151 → 0.1.11180

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.
Files changed (224) hide show
  1. package/dist/agents-view/AgentsInbox.d.ts +2 -1
  2. package/dist/agents-view/AgentsInbox.js +2 -2
  3. package/dist/agents-view/AgentsInbox.js.map +1 -1
  4. package/dist/agents-view/AgentsView.js +30 -1
  5. package/dist/agents-view/AgentsView.js.map +1 -1
  6. package/dist/components/ui/card.d.ts +1 -1
  7. package/dist/components/ui/card.js +1 -1
  8. package/dist/components/ui/card.js.map +1 -1
  9. package/dist/components/ui/paste-button.d.ts +1 -1
  10. package/dist/components/ui/paste-button.js +79 -22
  11. package/dist/components/ui/paste-button.js.map +1 -1
  12. package/dist/config/config.js +83 -51
  13. package/dist/config/config.js.map +1 -1
  14. package/dist/config/types.d.ts +29 -4
  15. package/dist/editor/ContentTree.js +92 -22
  16. package/dist/editor/ContentTree.js.map +1 -1
  17. package/dist/editor/FieldActionsOverlay.d.ts +1 -0
  18. package/dist/editor/FieldActionsOverlay.js +17 -1
  19. package/dist/editor/FieldActionsOverlay.js.map +1 -1
  20. package/dist/editor/FieldListField.js +1 -1
  21. package/dist/editor/FieldListField.js.map +1 -1
  22. package/dist/editor/LinkEditorDialog.js +33 -24
  23. package/dist/editor/LinkEditorDialog.js.map +1 -1
  24. package/dist/editor/MainLayout.js +2 -2
  25. package/dist/editor/MainLayout.js.map +1 -1
  26. package/dist/editor/PictureEditor.js +1 -1
  27. package/dist/editor/PictureEditor.js.map +1 -1
  28. package/dist/editor/ai/AgentTerminal.js +63 -26
  29. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  30. package/dist/editor/ai/Agents.js +7 -2
  31. package/dist/editor/ai/Agents.js.map +1 -1
  32. package/dist/editor/client/EditorShell.js +178 -79
  33. package/dist/editor/client/EditorShell.js.map +1 -1
  34. package/dist/editor/client/OperationDialogContent.d.ts +13 -0
  35. package/dist/editor/client/OperationDialogContent.js +13 -0
  36. package/dist/editor/client/OperationDialogContent.js.map +1 -0
  37. package/dist/editor/client/editContext.d.ts +2 -0
  38. package/dist/editor/client/editContext.js.map +1 -1
  39. package/dist/editor/client/hooks/useGlobalEditorKeyDown.js +5 -2
  40. package/dist/editor/client/hooks/useGlobalEditorKeyDown.js.map +1 -1
  41. package/dist/editor/client/hooks/useQuota.d.ts +4 -0
  42. package/dist/editor/client/hooks/useQuota.js.map +1 -1
  43. package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +2 -2
  44. package/dist/editor/client/hooks/useSocketMessageHandler.js +5 -7
  45. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  46. package/dist/editor/client/operations.d.ts +1 -0
  47. package/dist/editor/client/operations.js +332 -8
  48. package/dist/editor/client/operations.js.map +1 -1
  49. package/dist/editor/client/ui/EditorChrome.js +1 -1
  50. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  51. package/dist/editor/commands/itemCommands.d.ts +0 -1
  52. package/dist/editor/commands/itemCommands.js +1 -16
  53. package/dist/editor/commands/itemCommands.js.map +1 -1
  54. package/dist/editor/commands/undo.js +6 -2
  55. package/dist/editor/commands/undo.js.map +1 -1
  56. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +1 -1
  57. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  58. package/dist/editor/page-editor-chrome/FieldActionIndicator.js +56 -2
  59. package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
  60. package/dist/editor/page-editor-chrome/FrameMenu.js +5 -4
  61. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  62. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +5 -1
  63. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  64. package/dist/editor/page-viewer/PageViewerFrame.js +118 -13
  65. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  66. package/dist/editor/reviews/CreateReviewDialog.js +1 -1
  67. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  68. package/dist/editor/reviews/DecisionsMatrix.js +1 -1
  69. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  70. package/dist/editor/reviews/ReviewsList.js +1 -1
  71. package/dist/editor/reviews/ReviewsList.js.map +1 -1
  72. package/dist/editor/services/editService.d.ts +20 -3
  73. package/dist/editor/services/editService.js +17 -17
  74. package/dist/editor/services/editService.js.map +1 -1
  75. package/dist/editor/services/indexService.d.ts +4 -1
  76. package/dist/editor/services/indexService.js +12 -0
  77. package/dist/editor/services/indexService.js.map +1 -1
  78. package/dist/editor/services/serviceHelper.js +1 -0
  79. package/dist/editor/services/serviceHelper.js.map +1 -1
  80. package/dist/editor/settings/About.d.ts +1 -0
  81. package/dist/editor/settings/About.js +9 -0
  82. package/dist/editor/settings/About.js.map +1 -0
  83. package/dist/editor/settings/AllAgentsPanel.d.ts +5 -0
  84. package/dist/editor/settings/AllAgentsPanel.js +126 -0
  85. package/dist/editor/settings/AllAgentsPanel.js.map +1 -0
  86. package/dist/editor/settings/IndexOverview.d.ts +1 -0
  87. package/dist/editor/settings/IndexOverview.js +471 -0
  88. package/dist/editor/settings/IndexOverview.js.map +1 -0
  89. package/dist/editor/settings/Info.d.ts +1 -0
  90. package/dist/editor/settings/Info.js +11 -0
  91. package/dist/editor/settings/Info.js.map +1 -0
  92. package/dist/editor/settings/LatestFeedback.d.ts +1 -0
  93. package/dist/editor/settings/LatestFeedback.js +136 -0
  94. package/dist/editor/settings/LatestFeedback.js.map +1 -0
  95. package/dist/editor/settings/QuotaInfo.d.ts +1 -0
  96. package/dist/editor/settings/QuotaInfo.js +102 -0
  97. package/dist/editor/settings/QuotaInfo.js.map +1 -0
  98. package/dist/editor/settings/SettingsMenu.d.ts +1 -0
  99. package/dist/editor/settings/SettingsMenu.js +74 -0
  100. package/dist/editor/settings/SettingsMenu.js.map +1 -0
  101. package/dist/editor/settings/SettingsView.d.ts +1 -0
  102. package/dist/editor/settings/SettingsView.js +85 -0
  103. package/dist/editor/settings/SettingsView.js.map +1 -0
  104. package/dist/editor/settings/Setup.d.ts +1 -0
  105. package/dist/editor/settings/Setup.js +211 -0
  106. package/dist/editor/settings/Setup.js.map +1 -0
  107. package/dist/editor/settings/Status.d.ts +1 -0
  108. package/dist/editor/settings/Status.js +85 -0
  109. package/dist/editor/settings/Status.js.map +1 -0
  110. package/dist/editor/settings/WebSocketMessages.d.ts +1 -0
  111. package/dist/editor/settings/WebSocketMessages.js +71 -0
  112. package/dist/editor/settings/WebSocketMessages.js.map +1 -0
  113. package/dist/editor/settings/panels/AgentsPanel.d.ts +6 -0
  114. package/dist/editor/settings/panels/AgentsPanel.js +186 -0
  115. package/dist/editor/settings/panels/AgentsPanel.js.map +1 -0
  116. package/dist/editor/settings/panels/DatabasePanel.d.ts +6 -0
  117. package/dist/editor/settings/panels/DatabasePanel.js +50 -0
  118. package/dist/editor/settings/panels/DatabasePanel.js.map +1 -0
  119. package/dist/editor/settings/panels/ItemConfigPanel.d.ts +13 -0
  120. package/dist/editor/settings/panels/ItemConfigPanel.js +52 -0
  121. package/dist/editor/settings/panels/ItemConfigPanel.js.map +1 -0
  122. package/dist/editor/settings/panels/ModelsPanel.d.ts +6 -0
  123. package/dist/editor/settings/panels/ModelsPanel.js +269 -0
  124. package/dist/editor/settings/panels/ModelsPanel.js.map +1 -0
  125. package/dist/editor/settings/panels/ProvidersPanel.d.ts +6 -0
  126. package/dist/editor/settings/panels/ProvidersPanel.js +206 -0
  127. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -0
  128. package/dist/editor/settings/panels/SearchConfigPanel.d.ts +6 -0
  129. package/dist/editor/settings/panels/SearchConfigPanel.js +134 -0
  130. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -0
  131. package/dist/editor/settings/panels/SettingsPanel.d.ts +6 -0
  132. package/dist/editor/settings/panels/SettingsPanel.js +39 -0
  133. package/dist/editor/settings/panels/SettingsPanel.js.map +1 -0
  134. package/dist/editor/settings/panels/StatusPanel.d.ts +6 -0
  135. package/dist/editor/settings/panels/StatusPanel.js +141 -0
  136. package/dist/editor/settings/panels/StatusPanel.js.map +1 -0
  137. package/dist/editor/settings/panels/ToolsPanel.d.ts +6 -0
  138. package/dist/editor/settings/panels/ToolsPanel.js +192 -0
  139. package/dist/editor/settings/panels/ToolsPanel.js.map +1 -0
  140. package/dist/editor/settings/panels/index.d.ts +14 -0
  141. package/dist/editor/settings/panels/index.js +15 -0
  142. package/dist/editor/settings/panels/index.js.map +1 -0
  143. package/dist/editor/settings/panels/useSidebarEditor.d.ts +15 -0
  144. package/dist/editor/settings/panels/useSidebarEditor.js +24 -0
  145. package/dist/editor/settings/panels/useSidebarEditor.js.map +1 -0
  146. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.d.ts +2 -0
  147. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.js +195 -0
  148. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.js.map +1 -0
  149. package/dist/editor/settings/setup-steps/AiSetupStep/index.d.ts +2 -0
  150. package/dist/editor/settings/setup-steps/AiSetupStep/index.js +22 -0
  151. package/dist/editor/settings/setup-steps/AiSetupStep/index.js.map +1 -0
  152. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.d.ts +1 -0
  153. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.js +233 -0
  154. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.js.map +1 -0
  155. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.d.ts +15 -0
  156. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.js +14 -0
  157. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.js.map +1 -0
  158. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.d.ts +1 -0
  159. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js +94 -0
  160. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js.map +1 -0
  161. package/dist/editor/settings/setup-steps/AiSetupStep/tools/GenerateToolsSection.d.ts +1 -0
  162. package/dist/editor/settings/setup-steps/AiSetupStep/tools/GenerateToolsSection.js +367 -0
  163. package/dist/editor/settings/setup-steps/AiSetupStep/tools/GenerateToolsSection.js.map +1 -0
  164. package/dist/editor/settings/setup-steps/AiSetupStep/types.d.ts +1 -0
  165. package/dist/editor/settings/setup-steps/AiSetupStep/types.js +2 -0
  166. package/dist/editor/settings/setup-steps/AiSetupStep/types.js.map +1 -0
  167. package/dist/editor/settings/setup-steps/AiSetupStep/utils.d.ts +5 -0
  168. package/dist/editor/settings/setup-steps/AiSetupStep/utils.js +44 -0
  169. package/dist/editor/settings/setup-steps/AiSetupStep/utils.js.map +1 -0
  170. package/dist/editor/settings/setup-steps/IndexSetupStep.d.ts +2 -0
  171. package/dist/editor/settings/setup-steps/IndexSetupStep.js +36 -0
  172. package/dist/editor/settings/setup-steps/IndexSetupStep.js.map +1 -0
  173. package/dist/editor/settings/setup-steps/SettingsSetupStep.d.ts +2 -0
  174. package/dist/editor/settings/setup-steps/SettingsSetupStep.js +111 -0
  175. package/dist/editor/settings/setup-steps/SettingsSetupStep.js.map +1 -0
  176. package/dist/editor/settings/setup-steps/SetupOverview.d.ts +14 -0
  177. package/dist/editor/settings/setup-steps/SetupOverview.js +38 -0
  178. package/dist/editor/settings/setup-steps/SetupOverview.js.map +1 -0
  179. package/dist/editor/settings/status/coreStatusChecks.d.ts +25 -0
  180. package/dist/editor/settings/status/coreStatusChecks.js +231 -0
  181. package/dist/editor/settings/status/coreStatusChecks.js.map +1 -0
  182. package/dist/editor/settings/status/index.d.ts +3 -0
  183. package/dist/editor/settings/status/index.js +3 -0
  184. package/dist/editor/settings/status/index.js.map +1 -0
  185. package/dist/editor/settings/status/useStartupChecks.d.ts +17 -0
  186. package/dist/editor/settings/status/useStartupChecks.js +54 -0
  187. package/dist/editor/settings/status/useStartupChecks.js.map +1 -0
  188. package/dist/editor/sidebar/EditHistory.js +18 -14
  189. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  190. package/dist/editor/sidebar/MainContentTree.js +0 -1
  191. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  192. package/dist/editor/sidebar/OperationItem.js +4 -3
  193. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  194. package/dist/editor/ui/PerfectTree.js +1 -1
  195. package/dist/editor/ui/PerfectTree.js.map +1 -1
  196. package/dist/editor/ui/Section.js +3 -3
  197. package/dist/editor/ui/Section.js.map +1 -1
  198. package/dist/editor/ui/SimpleMenu.js +13 -4
  199. package/dist/editor/ui/SimpleMenu.js.map +1 -1
  200. package/dist/editor/ui/SimpleToolbar.js +1 -1
  201. package/dist/editor/ui/SimpleToolbar.js.map +1 -1
  202. package/dist/editor/utils/keyboardNavigation.js +89 -27
  203. package/dist/editor/utils/keyboardNavigation.js.map +1 -1
  204. package/dist/revision.d.ts +2 -2
  205. package/dist/revision.js +2 -2
  206. package/dist/setup/SetupWizardPage.js +2 -2
  207. package/dist/setup/SetupWizardPage.js.map +1 -1
  208. package/dist/setup/services/setupWizardService.d.ts +132 -12
  209. package/dist/setup/services/setupWizardService.js +82 -6
  210. package/dist/setup/services/setupWizardService.js.map +1 -1
  211. package/dist/setup/wizard/index.d.ts +5 -4
  212. package/dist/setup/wizard/index.js +6 -4
  213. package/dist/setup/wizard/index.js.map +1 -1
  214. package/dist/setup/wizard/steps/AddModelDialog.d.ts +10 -0
  215. package/dist/setup/wizard/steps/AddModelDialog.js +119 -0
  216. package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -0
  217. package/dist/setup/wizard/steps/ImportModelDialog.d.ts +10 -0
  218. package/dist/setup/wizard/steps/ImportModelDialog.js +351 -0
  219. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -0
  220. package/dist/splash-screen/ModernSplashScreen.js +1 -1
  221. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  222. package/dist/styles.css +183 -10
  223. package/dist/types.d.ts +36 -1
  224. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusPanel.js","sourceRoot":"","sources":["../../../../src/editor/settings/panels/StatusPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Settings panel for AI Tools configuration.
3
+ * Configure AI tools for generating content and performing tasks.
4
+ */
5
+ export declare function ToolsPanel(): import("react/jsx-runtime").JSX.Element;
6
+ export default ToolsPanel;
@@ -0,0 +1,192 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useState, useEffect, useMemo } from "react";
3
+ import { Button } from "../../../components/ui/button";
4
+ import { Input } from "../../../components/ui/input";
5
+ import { setupWizardService, } from "../../../setup/services/setupWizardService";
6
+ import { CheckCircle, AlertCircle, RefreshCw, Download, Wrench, FolderOpen, Settings, Zap, Search, X, } from "lucide-react";
7
+ import { Splitter } from "../../ui/Splitter";
8
+ import { ItemConfigPanel } from "./ItemConfigPanel";
9
+ /**
10
+ * Apply defaults action button for the tool config panel.
11
+ */
12
+ function ToolApplyDefaultsAction({ functionName, disabled, }) {
13
+ const [applyingDefaults, setApplyingDefaults] = useState(false);
14
+ const handleApplyDefaults = useCallback(async () => {
15
+ try {
16
+ setApplyingDefaults(true);
17
+ // Get the tool configuration to find suggested values
18
+ const config = await setupWizardService.getToolConfiguration(functionName);
19
+ // Build fieldValues from suggested values
20
+ const fieldValues = {};
21
+ for (const field of config.fields) {
22
+ if (field.suggestedValue) {
23
+ fieldValues[field.fieldName] = field.suggestedValue;
24
+ }
25
+ }
26
+ // Apply the configuration if there are any suggested values
27
+ if (Object.keys(fieldValues).length > 0) {
28
+ await setupWizardService.applyToolConfiguration({
29
+ functionName,
30
+ fieldValues,
31
+ });
32
+ }
33
+ }
34
+ catch {
35
+ // Error handling is managed by the parent
36
+ }
37
+ finally {
38
+ setApplyingDefaults(false);
39
+ }
40
+ }, [functionName]);
41
+ return (_jsx(Button, { variant: "outline", size: "sm", onClick: handleApplyDefaults, disabled: disabled || applyingDefaults, children: applyingDefaults ? (_jsxs(_Fragment, { children: [_jsx(RefreshCw, { className: "h-3.5 w-3.5 animate-spin", strokeWidth: 1.5 }), "Applying..."] })) : (_jsxs(_Fragment, { children: [_jsx(Zap, { className: "h-3.5 w-3.5", strokeWidth: 1.5 }), "Apply Defaults"] })) }));
42
+ }
43
+ /**
44
+ * Settings panel for AI Tools configuration.
45
+ * Configure AI tools for generating content and performing tasks.
46
+ */
47
+ export function ToolsPanel() {
48
+ const [state, setState] = useState("loading");
49
+ const [toolFunctions, setToolFunctions] = useState([]);
50
+ const [error, setError] = useState(null);
51
+ const [updating, setUpdating] = useState(false);
52
+ const [updateResult, setUpdateResult] = useState(null);
53
+ const [selectedTool, setSelectedTool] = useState(null);
54
+ const [applyingDefaults, setApplyingDefaults] = useState(false);
55
+ const [defaultsResult, setDefaultsResult] = useState(null);
56
+ const [filterText, setFilterText] = useState("");
57
+ const loadData = useCallback(async () => {
58
+ try {
59
+ setState("loading");
60
+ setError(null);
61
+ setUpdateResult(null);
62
+ setDefaultsResult(null);
63
+ const functions = await setupWizardService.getToolFunctions();
64
+ setToolFunctions(functions);
65
+ setState("success");
66
+ }
67
+ catch (e) {
68
+ setState("error");
69
+ const errorMessage = e instanceof Error ? e.message : "Failed to load tool functions";
70
+ setError(errorMessage);
71
+ }
72
+ }, []);
73
+ const handleUpdate = useCallback(async () => {
74
+ try {
75
+ setUpdating(true);
76
+ setError(null);
77
+ setUpdateResult(null);
78
+ const result = await setupWizardService.updateTools();
79
+ setUpdateResult(result);
80
+ await loadData();
81
+ }
82
+ catch (e) {
83
+ const errorMessage = e instanceof Error ? e.message : "Failed to update tools";
84
+ setError(errorMessage);
85
+ }
86
+ finally {
87
+ setUpdating(false);
88
+ }
89
+ }, [loadData]);
90
+ useEffect(() => {
91
+ loadData();
92
+ }, [loadData]);
93
+ // Filter tools based on filter text
94
+ const filteredTools = useMemo(() => {
95
+ if (!filterText.trim()) {
96
+ return toolFunctions;
97
+ }
98
+ const searchTerm = filterText.toLowerCase().trim();
99
+ return toolFunctions.filter((tool) => tool.functionName.toLowerCase().includes(searchTerm) ||
100
+ (tool.description &&
101
+ tool.description.toLowerCase().includes(searchTerm)) ||
102
+ (tool.defaultFolderName &&
103
+ tool.defaultFolderName.toLowerCase().includes(searchTerm)));
104
+ }, [toolFunctions, filterText]);
105
+ // Group tools by folder
106
+ const groupedTools = useMemo(() => {
107
+ const groups = {};
108
+ for (const tool of filteredTools) {
109
+ const folder = tool.defaultFolderName || "General";
110
+ if (!groups[folder]) {
111
+ groups[folder] = [];
112
+ }
113
+ groups[folder].push(tool);
114
+ }
115
+ return groups;
116
+ }, [filteredTools]);
117
+ const folderNames = useMemo(() => Object.keys(groupedTools).sort(), [groupedTools]);
118
+ const installedCount = useMemo(() => filteredTools.filter((t) => t.isInstalled).length, [filteredTools]);
119
+ const missingCount = useMemo(() => filteredTools.filter((t) => !t.isInstalled).length, [filteredTools]);
120
+ const needsConfigCount = useMemo(() => filteredTools.filter((t) => t.isInstalled && t.needsConfiguration).length, [filteredTools]);
121
+ const handleOpenConfig = useCallback((tool) => {
122
+ setSelectedTool(tool);
123
+ }, []);
124
+ const handleCloseConfig = useCallback(() => {
125
+ setSelectedTool(null);
126
+ }, []);
127
+ const handleApplyDefaults = useCallback(async () => {
128
+ try {
129
+ setApplyingDefaults(true);
130
+ setError(null);
131
+ setDefaultsResult(null);
132
+ const result = await setupWizardService.applyToolDefaults();
133
+ setDefaultsResult(result);
134
+ await loadData();
135
+ }
136
+ catch (e) {
137
+ const errorMessage = e instanceof Error ? e.message : "Failed to apply defaults";
138
+ setError(errorMessage);
139
+ }
140
+ finally {
141
+ setApplyingDefaults(false);
142
+ }
143
+ }, [loadData]);
144
+ const statusIcon = (currentState) => {
145
+ if (currentState === "success")
146
+ return _jsx(CheckCircle, { className: "h-4 w-4 text-green-600", strokeWidth: 1 });
147
+ if (currentState === "error")
148
+ return _jsx(AlertCircle, { className: "h-4 w-4 text-red-600", strokeWidth: 1 });
149
+ return (_jsx(RefreshCw, { className: "h-4 w-4 animate-spin text-amber-600", strokeWidth: 1 }));
150
+ };
151
+ // Build the tools list content
152
+ const toolsListContent = (_jsx("div", { className: "h-full overflow-auto p-4", children: _jsx("div", { className: "mx-auto", children: _jsxs("div", { className: "flex h-full flex-col overflow-hidden", children: [_jsxs("div", { className: "shrink-0 space-y-4 pb-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2", children: [statusIcon(state), _jsx("span", { className: "text-sm text-gray-700", children: state === "loading" ? ("Loading tools...") : (_jsxs(_Fragment, { children: [filterText ? (_jsxs(_Fragment, { children: [installedCount, " / ", filteredTools.length, " tools match", filteredTools.length !== toolFunctions.length && (_jsxs("span", { className: "ml-2 text-gray-500", children: ["(of ", toolFunctions.length, " total)"] }))] })) : (_jsxs(_Fragment, { children: [installedCount, " / ", toolFunctions.length, " tools installed"] })), missingCount > 0 && (_jsxs("span", { className: "ml-2 text-amber-600", children: ["(", missingCount, " missing)"] })), needsConfigCount > 0 && (_jsxs("span", { className: "ml-2 text-orange-600", children: ["(", needsConfigCount, " need config)"] }))] })) })] }), _jsxs("div", { className: "flex items-center gap-2", children: [needsConfigCount > 0 && (_jsx(Button, { size: "sm", variant: "outline", onClick: handleApplyDefaults, disabled: applyingDefaults || updating || state === "loading", children: applyingDefaults ? (_jsxs(_Fragment, { children: [_jsx(RefreshCw, { strokeWidth: 1, className: "h-4 w-4 animate-spin" }), "Applying..."] })) : (_jsxs(_Fragment, { children: [_jsx(Zap, { strokeWidth: 1, className: "h-4 w-4" }), "Apply Defaults"] })) })), _jsx(Button, { size: "sm", onClick: handleUpdate, disabled: updating || state === "loading", children: updating ? (_jsxs(_Fragment, { children: [_jsx(RefreshCw, { strokeWidth: 1, className: "h-4 w-4 animate-spin" }), "Updating..."] })) : (_jsxs(_Fragment, { children: [_jsx(Download, { strokeWidth: 1, className: "h-4 w-4" }), "Update Tools"] })) })] })] }), updateResult && (_jsxs("div", { className: `rounded border p-3 text-sm ${updateResult.errors.length > 0
153
+ ? "border-amber-200 bg-amber-50 text-amber-800"
154
+ : "border-green-200 bg-green-50 text-green-800"}`, children: [updateResult.createdCount > 0 && (_jsxs("p", { children: ["Created ", updateResult.createdCount, " tool", updateResult.createdCount !== 1 ? "s" : ""] })), updateResult.skippedCount > 0 && (_jsxs("p", { className: "text-gray-600", children: ["Skipped ", updateResult.skippedCount, " existing tool", updateResult.skippedCount !== 1 ? "s" : ""] })), updateResult.errors.length > 0 && (_jsxs("div", { className: "mt-2 text-red-700", children: [_jsx("p", { className: "font-medium", children: "Errors:" }), _jsx("ul", { className: "list-disc pl-4", children: updateResult.errors.map((err, i) => (_jsx("li", { children: err }, i))) })] }))] })), defaultsResult && (_jsxs("div", { className: `rounded border p-3 text-sm ${defaultsResult.errors.length > 0
155
+ ? "border-amber-200 bg-amber-50 text-amber-800"
156
+ : "border-blue-200 bg-blue-50 text-blue-800"}`, children: [defaultsResult.configuredCount > 0 && (_jsxs("p", { children: ["Configured ", defaultsResult.configuredCount, " tool", defaultsResult.configuredCount !== 1 ? "s" : "", " with defaults"] })), defaultsResult.skippedCount > 0 && (_jsxs("p", { className: "text-gray-600", children: ["Skipped ", defaultsResult.skippedCount, " tool", defaultsResult.skippedCount !== 1 ? "s" : "", " (already configured or no defaults available)"] })), defaultsResult.errors.length > 0 && (_jsxs("div", { className: "mt-2 text-red-700", children: [_jsx("p", { className: "font-medium", children: "Errors:" }), _jsx("ul", { className: "list-disc pl-4", children: defaultsResult.errors.map((err, i) => (_jsx("li", { children: err }, i))) })] }))] })), error && (_jsx("div", { className: "rounded border border-red-200 bg-red-50 p-2 text-xs whitespace-pre-wrap text-red-700", children: error })), _jsx("div", { className: "relative", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-gray-400" }), _jsx(Input, { type: "text", placeholder: "Filter tools by name, description, or folder...", value: filterText, onChange: (e) => setFilterText(e.target.value), className: "pl-9 pr-9" }), filterText && (_jsx("button", { onClick: () => setFilterText(""), className: "absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600", "aria-label": "Clear filter", children: _jsx(X, { className: "h-4 w-4" }) }))] }) })] }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto", children: filteredTools.length > 0 ? (_jsx("div", { className: "space-y-4", children: folderNames.map((folder) => (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center gap-2 text-sm font-medium text-gray-600", children: [_jsx(FolderOpen, { className: "h-4 w-4", strokeWidth: 1 }), folder, _jsxs("span", { className: "text-xs text-gray-400", children: ["(", groupedTools[folder]?.filter((t) => t.isInstalled)
157
+ .length ?? 0, "/", groupedTools[folder]?.length ?? 0, filterText &&
158
+ ` of ${toolFunctions.filter((t) => (t.defaultFolderName || "General") === folder).length}`, ")"] })] }), _jsx("div", { className: "ml-6 space-y-2", children: groupedTools[folder]?.map((tool) => (_jsxs("div", { className: `flex items-start gap-3 rounded-lg border p-3 transition-shadow hover:shadow-sm ${selectedTool?.functionName === tool.functionName
159
+ ? "border-blue-400 bg-blue-50"
160
+ : "border-gray-200 bg-white"}`, children: [_jsx("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-gray-100", children: _jsx(Wrench, { className: "h-4 w-4 text-gray-600", strokeWidth: 1.5 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-gray-900", children: tool.functionName }), !tool.isInstalled ? (_jsx("span", { className: "rounded bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-700", children: "Missing" })) : tool.needsConfiguration ? (_jsx("span", { className: "rounded bg-orange-100 px-2 py-0.5 text-xs font-medium text-orange-700", children: "Needs Config" })) : tool.configurableFieldCount > 0 ? (_jsx("span", { className: "rounded bg-green-100 px-2 py-0.5 text-xs font-medium text-green-700", children: "Configured" })) : (_jsx("span", { className: "rounded bg-green-100 px-2 py-0.5 text-xs font-medium text-green-700", children: "Installed" }))] }), _jsx("p", { className: "mt-1 text-xs text-gray-500", children: tool.description })] }), tool.isInstalled &&
161
+ tool.configurableFieldCount > 0 && (_jsxs(Button, { variant: selectedTool?.functionName ===
162
+ tool.functionName
163
+ ? "default"
164
+ : "ghost", size: "sm", onClick: () => handleOpenConfig(tool), className: "shrink-0", children: [_jsx(Settings, { className: "h-4 w-4", strokeWidth: 1.5 }), "Configure"] }))] }, tool.functionName))) })] }, folder))) })) : filterText && filteredTools.length === 0 ? (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center", children: [_jsx(Search, { className: "mb-4 h-12 w-12 text-gray-300", strokeWidth: 1 }), _jsx("p", { className: "text-sm text-gray-500", children: "No tools match your filter" }), _jsx("p", { className: "text-xs text-gray-400", children: "Try adjusting your search terms" })] })) : state === "success" ? (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center", children: [_jsx(Wrench, { className: "mb-4 h-12 w-12 text-gray-300", strokeWidth: 1 }), _jsx("p", { className: "text-sm text-gray-500", children: "No tool functions registered" }), _jsx("p", { className: "text-xs text-gray-400", children: "Tool functions will appear here when configured" })] })) : null })] }) }) }));
165
+ // Build splitter panels - only show config panel when a tool is selected
166
+ const panels = selectedTool?.installedItemId
167
+ ? [
168
+ {
169
+ name: "tools-list",
170
+ defaultSize: "auto",
171
+ content: toolsListContent,
172
+ className: "overflow-hidden",
173
+ },
174
+ {
175
+ name: "tool-config",
176
+ defaultSize: 400,
177
+ content: (_jsx(ItemConfigPanel, { itemId: selectedTool.installedItemId, title: `Configure: ${selectedTool.functionName}`, onClose: handleCloseConfig, actions: _jsx(ToolApplyDefaultsAction, { functionName: selectedTool.functionName }) }, selectedTool.installedItemId)),
178
+ className: "overflow-hidden",
179
+ },
180
+ ]
181
+ : [
182
+ {
183
+ name: "tools-list",
184
+ defaultSize: "auto",
185
+ content: toolsListContent,
186
+ className: "overflow-hidden",
187
+ },
188
+ ];
189
+ return (_jsx(Splitter, { panels: panels, localStorageKey: "tools-panel-splitter", direction: "horizontal", className: "h-full" }));
190
+ }
191
+ export default ToolsPanel;
192
+ //# sourceMappingURL=ToolsPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolsPanel.js","sourceRoot":"","sources":["../../../../src/editor/settings/panels/ToolsPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Settings Panel Components
3
+ *
4
+ * These panels provide the UI for configuring various aspects of Parhelia.
5
+ * They are used both in the Settings view and in the Setup wizard.
6
+ */
7
+ export { ProvidersPanel } from "./ProvidersPanel";
8
+ export { ModelsPanel } from "./ModelsPanel";
9
+ export { AgentsPanel } from "./AgentsPanel";
10
+ export { ToolsPanel } from "./ToolsPanel";
11
+ export { SearchConfigPanel } from "./SearchConfigPanel";
12
+ export { DatabasePanel } from "./DatabasePanel";
13
+ export { SettingsPanel } from "./SettingsPanel";
14
+ export { StatusPanel } from "./StatusPanel";
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Settings Panel Components
3
+ *
4
+ * These panels provide the UI for configuring various aspects of Parhelia.
5
+ * They are used both in the Settings view and in the Setup wizard.
6
+ */
7
+ export { ProvidersPanel } from "./ProvidersPanel";
8
+ export { ModelsPanel } from "./ModelsPanel";
9
+ export { AgentsPanel } from "./AgentsPanel";
10
+ export { ToolsPanel } from "./ToolsPanel";
11
+ export { SearchConfigPanel } from "./SearchConfigPanel";
12
+ export { DatabasePanel } from "./DatabasePanel";
13
+ export { SettingsPanel } from "./SettingsPanel";
14
+ export { StatusPanel } from "./StatusPanel";
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/editor/settings/panels/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Hook for managing sidebar editor state.
3
+ * Provides state and handlers for opening/closing the sidebar editor.
4
+ *
5
+ * @template T - The type of item being edited (must have an id property)
6
+ */
7
+ export declare function useSidebarEditor<T extends {
8
+ id: string;
9
+ }>(): {
10
+ selectedItem: T | null;
11
+ openEditor: (item: T) => void;
12
+ closeEditor: () => void;
13
+ isOpen: boolean;
14
+ };
15
+ export default useSidebarEditor;
@@ -0,0 +1,24 @@
1
+ import { useState, useCallback } from "react";
2
+ /**
3
+ * Hook for managing sidebar editor state.
4
+ * Provides state and handlers for opening/closing the sidebar editor.
5
+ *
6
+ * @template T - The type of item being edited (must have an id property)
7
+ */
8
+ export function useSidebarEditor() {
9
+ const [selectedItem, setSelectedItem] = useState(null);
10
+ const openEditor = useCallback((item) => {
11
+ setSelectedItem(item);
12
+ }, []);
13
+ const closeEditor = useCallback(() => {
14
+ setSelectedItem(null);
15
+ }, []);
16
+ return {
17
+ selectedItem,
18
+ openEditor,
19
+ closeEditor,
20
+ isOpen: selectedItem !== null,
21
+ };
22
+ }
23
+ export default useSidebarEditor;
24
+ //# sourceMappingURL=useSidebarEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSidebarEditor.js","sourceRoot":"","sources":["../../../../src/editor/settings/panels/useSidebarEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAW,IAAI,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,IAAO,EAAE,EAAE;QACzC,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,YAAY;QACZ,UAAU;QACV,WAAW;QACX,MAAM,EAAE,YAAY,KAAK,IAAI;KAC9B,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function EmbeddingsModelSection(): import("react/jsx-runtime").JSX.Element;
2
+ export default EmbeddingsModelSection;
@@ -0,0 +1,195 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { Button } from "../../../../components/ui/button";
4
+ import { AlertCircle, CheckCircle, RefreshCw } from "lucide-react";
5
+ import { useEditContext } from "../../../client/editContext";
6
+ import { getChildren } from "../../../services/contentService";
7
+ import { findByName, resolvePathUnderContent } from "./utils";
8
+ // Sitecore IDs and constants used by AI models/providers
9
+ const AI_MODELS_CONTAINER_TEMPLATE_ID = "e5f6a7b8-9c0d-1e2f-3a4b-5c6d7e8f9a0b";
10
+ const AI_MODEL_TEMPLATE_ID = "d2e3f4a5-4b5c-5c6d-bf0b-3e4f5a6b7c8e";
11
+ const MODEL_NAME_FIELD_ID = "f1e2d3c4-5b6a-7980-8e9f-1a2b3c4d5e6f";
12
+ const MODEL_PROVIDER_FIELD_ID = "cbade708-ce95-4f54-81b7-308ea61a76a6";
13
+ const EDITOR_SETTINGS_EMBEDDINGS_MODEL_FIELD_ID = "08d0579d-3bf2-4777-981f-3f0856da948e"; // Embeddings Model (Droptree)
14
+ const DEFAULT_EMBEDDINGS_MODEL_NAME = "text-embedding-3-large";
15
+ export function EmbeddingsModelSection() {
16
+ const editContext = useEditContext();
17
+ const [state, setState] = React.useState("checking");
18
+ const [error, setError] = React.useState(null);
19
+ const [isBusy, setIsBusy] = React.useState(false);
20
+ const [currentModelName, setCurrentModelName] = React.useState(null);
21
+ const userLang = editContext?.contentEditorItem?.language || "en";
22
+ const statusIcon = React.useCallback((s) => {
23
+ if (s === "success")
24
+ return _jsx(CheckCircle, { className: "h-4 w-4 text-green-600", strokeWidth: 1 });
25
+ if (s === "error")
26
+ return _jsx(AlertCircle, { className: "h-4 w-4 text-red-600", strokeWidth: 1 });
27
+ return (_jsx(RefreshCw, { className: "h-4 w-4 animate-spin text-amber-600", strokeWidth: 1 }));
28
+ }, []);
29
+ const checkStatus = React.useCallback(async () => {
30
+ try {
31
+ setState("checking");
32
+ setError(null);
33
+ setCurrentModelName(null);
34
+ const settingsItem = await resolvePathUnderContent(editContext?.sessionId, userLang, ["Settings", "Parhelia"]);
35
+ if (!settingsItem) {
36
+ setState("error");
37
+ setError("Parhelia settings item not found. Create it first.");
38
+ return;
39
+ }
40
+ // Read the Embeddings Model droptree field
41
+ const field = await editContext.itemsRepository.getField({
42
+ item: { id: settingsItem.id, language: userLang, version: 0 },
43
+ fieldId: EDITOR_SETTINGS_EMBEDDINGS_MODEL_FIELD_ID,
44
+ });
45
+ const raw = (field?.rawValue || "").trim();
46
+ if (!raw) {
47
+ setState("error");
48
+ return;
49
+ }
50
+ // Normalize ID braces and load the model item to get its display name
51
+ const modelId = raw.replace(/^[{(]+|[})]+$/g, "");
52
+ const model = await editContext.itemsRepository.getItem({
53
+ id: `{${modelId}}`,
54
+ language: userLang,
55
+ version: 0,
56
+ });
57
+ if (!model) {
58
+ setState("error");
59
+ setError("Embeddings Model points to a missing item. Please fix to re-create and assign.");
60
+ return;
61
+ }
62
+ setCurrentModelName(model.name);
63
+ setState("success");
64
+ }
65
+ catch (e) {
66
+ setState("error");
67
+ setError(e?.message || "Failed to check embeddings model");
68
+ }
69
+ }, [editContext, userLang]);
70
+ React.useEffect(() => {
71
+ checkStatus();
72
+ }, [checkStatus]);
73
+ const ensureEmbeddingsModel = React.useCallback(async () => {
74
+ if (!editContext)
75
+ return;
76
+ try {
77
+ setIsBusy(true);
78
+ setError(null);
79
+ const settingsItem = await resolvePathUnderContent(editContext.sessionId, userLang, ["Settings", "Parhelia"]);
80
+ if (!settingsItem)
81
+ throw new Error("Parhelia settings item not found. Create it first.");
82
+ // Load children under /Settings/Parhelia
83
+ const editorChildren = (await getChildren(settingsItem.id, editContext.sessionId, [], false, userLang, "path"));
84
+ // Find providers container and choose OpenAI or Azure OpenAI provider
85
+ const providersContainer = findByName(editorChildren, "Ai Providers");
86
+ if (!providersContainer) {
87
+ throw new Error("No AI providers found. Please add an OpenAI or Azure OpenAI provider first.");
88
+ }
89
+ const providerChildren = (await getChildren(providersContainer.id, editContext.sessionId, [], false, userLang, "path"));
90
+ const openAi = findByName(providerChildren, "OpenAI");
91
+ const azureOpenAi = findByName(providerChildren, "Azure OpenAI");
92
+ const selectedProvider = openAi || azureOpenAi;
93
+ if (!selectedProvider) {
94
+ throw new Error("No OpenAI or Azure OpenAI provider exists. Add one in 'Provider' section.");
95
+ }
96
+ // Ensure Ai Models container exists
97
+ let modelsContainer = findByName(editorChildren, "Ai Models");
98
+ if (!modelsContainer) {
99
+ const createdModels = await editContext.operations.createItem(settingsItem, AI_MODELS_CONTAINER_TEMPLATE_ID, "Ai Models");
100
+ if (!createdModels)
101
+ throw new Error("Failed to create 'Ai Models' container");
102
+ modelsContainer = {
103
+ id: createdModels.id,
104
+ name: "Ai Models",
105
+ displayName: "Ai Models",
106
+ thumbUrl: "",
107
+ previewUrl: "",
108
+ templateId: "",
109
+ icon: "",
110
+ hasChildren: false,
111
+ isComponent: false,
112
+ language: userLang,
113
+ version: 0,
114
+ hasLayout: false,
115
+ };
116
+ }
117
+ // Find or create the "text-embedding-3-large" model
118
+ const modelChildren = (await getChildren(modelsContainer.id, editContext.sessionId, [], false, userLang, "path"));
119
+ let modelNode = findByName(modelChildren, DEFAULT_EMBEDDINGS_MODEL_NAME);
120
+ let modelDescriptor = null;
121
+ if (modelNode) {
122
+ modelDescriptor = {
123
+ id: modelNode.id,
124
+ language: userLang,
125
+ version: 0,
126
+ };
127
+ }
128
+ else {
129
+ const createdModel = await editContext.operations.createItem({
130
+ id: modelsContainer.id,
131
+ language: userLang,
132
+ version: 0,
133
+ }, AI_MODEL_TEMPLATE_ID, DEFAULT_EMBEDDINGS_MODEL_NAME);
134
+ if (!createdModel)
135
+ throw new Error(`Failed to create model '${DEFAULT_EMBEDDINGS_MODEL_NAME}'`);
136
+ modelDescriptor = createdModel;
137
+ // Set Model Name field
138
+ await editContext.operations.editField({
139
+ field: {
140
+ fieldId: MODEL_NAME_FIELD_ID,
141
+ item: {
142
+ id: modelDescriptor.id,
143
+ language: userLang,
144
+ version: 0,
145
+ },
146
+ },
147
+ value: DEFAULT_EMBEDDINGS_MODEL_NAME,
148
+ rawValue: DEFAULT_EMBEDDINGS_MODEL_NAME,
149
+ refresh: "delayed",
150
+ });
151
+ }
152
+ // Link model to the selected provider
153
+ const providerGuid = `{${selectedProvider.id
154
+ .replace(/[{}()]/g, "")
155
+ .toUpperCase()}}`;
156
+ await editContext.operations.editField({
157
+ field: {
158
+ fieldId: MODEL_PROVIDER_FIELD_ID,
159
+ item: { id: modelDescriptor.id, language: userLang, version: 0 },
160
+ },
161
+ rawValue: providerGuid,
162
+ refresh: "delayed",
163
+ });
164
+ // Assign model to Parhelia settings' Embeddings Model field
165
+ const modelGuid = `{${modelDescriptor.id
166
+ .replace(/[{}()]/g, "")
167
+ .toUpperCase()}}`;
168
+ await editContext.operations.editField({
169
+ field: {
170
+ fieldId: EDITOR_SETTINGS_EMBEDDINGS_MODEL_FIELD_ID,
171
+ item: { id: settingsItem.id, language: userLang, version: 0 },
172
+ },
173
+ rawValue: modelGuid,
174
+ refresh: "immediate",
175
+ });
176
+ editContext.requestRefresh?.("immediate");
177
+ editContext.showToast?.(`Embeddings model set to '${DEFAULT_EMBEDDINGS_MODEL_NAME}'`);
178
+ await checkStatus();
179
+ }
180
+ catch (e) {
181
+ setError(e?.message || "Failed to ensure embeddings model");
182
+ setState("error");
183
+ }
184
+ finally {
185
+ setIsBusy(false);
186
+ }
187
+ }, [editContext, userLang, checkStatus]);
188
+ return (_jsxs("div", { className: "mt-3", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [statusIcon(state), _jsx("span", { className: "text-sm text-gray-700", children: state === "success"
189
+ ? `Embeddings model: ${currentModelName}`
190
+ : state === "error"
191
+ ? "Embeddings model not assigned"
192
+ : "Checking embeddings model..." })] }), state !== "success" && (_jsxs(Button, { size: "sm", onClick: ensureEmbeddingsModel, disabled: isBusy, children: [isBusy ? (_jsx(RefreshCw, { strokeWidth: 1, className: "h-4 w-4 animate-spin" })) : (_jsx(CheckCircle, { strokeWidth: 1, className: "h-4 w-4" })), "Fix"] }))] }), error && (_jsx("div", { className: "mt-2 rounded border border-yellow-200 bg-yellow-50 p-2 text-xs whitespace-pre-wrap text-yellow-800", children: error }))] }));
193
+ }
194
+ export default EmbeddingsModelSection;
195
+ //# sourceMappingURL=EmbeddingsModelSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbeddingsModelSection.js","sourceRoot":"","sources":["../../../../../src/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function AiSetupStep(): import("react/jsx-runtime").JSX.Element;
2
+ export default AiSetupStep;
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { Card } from "../../../../components/ui/card";
4
+ import { useEditContext } from "../../../client/editContext";
5
+ import { SparklesIcon } from "lucide-react";
6
+ import { RequiredContainersSection } from "./required-containers/RequiredContainersSection";
7
+ import { ProviderSection } from "./provider/ProviderSection";
8
+ import { GenerateToolsSection } from "./tools/GenerateToolsSection";
9
+ export function AiSetupStep() {
10
+ const editContext = useEditContext();
11
+ const [aiState, setAiState] = useState("idle");
12
+ const userLang = editContext?.contentEditorItem?.language || "en";
13
+ // IDs for tool templates/fields
14
+ const AI_TOOLS_TEMPLATE_ID = "7e3f9d9d-8e84-4e57-b12e-6e9c99d4fd11"; // container
15
+ const AI_TOOL_TEMPLATE_ID = "a2e8a0d9-7b1f-4d1a-a2d8-8f3ea6d6f0b1"; // item template
16
+ const FIELD_FUNCTION_NAME_ID = "3d9f2b1a-9d44-4d26-8a1b-92f0fb4d3a2c";
17
+ const FIELD_LABEL_ID = "5a19f5a5-1d21-4b6a-9f83-6f3fc0b34b2e";
18
+ const FIELD_DESCRIPTION_ID = "6b2e4b8e-8a9f-4d8f-9f6e-1a2b3c4d5e6f";
19
+ return (_jsxs(Card, { className: "w-full", icon: _jsx(SparklesIcon, { strokeWidth: 1, className: "h-5 w-5" }), title: "AI setup", description: "Add an AI provider (OpenAI, Azure OpenAI, or OpenRouter).", children: [_jsx(RequiredContainersSection, {}), _jsx(ProviderSection, {}), _jsx(GenerateToolsSection, {})] }));
20
+ }
21
+ export default AiSetupStep;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/editor/settings/setup-steps/AiSetupStep/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,MAAM,UAAU,WAAW;IACzB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAY,MAAM,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,iBAAiB,EAAE,QAAQ,IAAI,IAAI,CAAC;IAElE,gCAAgC;IAChC,MAAM,oBAAoB,GAAG,sCAAsC,CAAC,CAAC,YAAY;IACjF,MAAM,mBAAmB,GAAG,sCAAsC,CAAC,CAAC,gBAAgB;IACpF,MAAM,sBAAsB,GAAG,sCAAsC,CAAC;IACtE,MAAM,cAAc,GAAG,sCAAsC,CAAC;IAC9D,MAAM,oBAAoB,GAAG,sCAAsC,CAAC;IAEpE,OAAO,CACL,MAAC,IAAI,IACH,SAAS,EAAC,QAAQ,EAClB,IAAI,EAAE,KAAC,YAAY,IAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAC,SAAS,GAAG,EAC1D,KAAK,EAAC,UAAU,EAChB,WAAW,EAAC,2DAA2D,aAEvE,KAAC,yBAAyB,KAAG,EAE7B,KAAC,eAAe,KAAG,EAEnB,KAAC,oBAAoB,KAAG,IACnB,CACR,CAAC;AACJ,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function ProviderSection(): import("react/jsx-runtime").JSX.Element;