@parhelia/core 0.1.12479 → 0.1.12496

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 (207) hide show
  1. package/dist/agents-view/AgentCard.js +2 -1
  2. package/dist/agents-view/AgentCard.js.map +1 -1
  3. package/dist/agents-view/AgentsView.js +2 -1
  4. package/dist/agents-view/AgentsView.js.map +1 -1
  5. package/dist/agents-view/AgentsWorkspaceView.js +12 -5
  6. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  7. package/dist/agents-view/ProfileAgentsGroup.js +2 -1
  8. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  9. package/dist/components/ui/input.js +1 -1
  10. package/dist/components/ui/input.js.map +1 -1
  11. package/dist/components/ui/tabs.d.ts +1 -1
  12. package/dist/components/ui/tabs.js +4 -11
  13. package/dist/components/ui/tabs.js.map +1 -1
  14. package/dist/config/config.js +33 -8
  15. package/dist/config/config.js.map +1 -1
  16. package/dist/config/types.d.ts +7 -0
  17. package/dist/config/types.js.map +1 -1
  18. package/dist/editor/FieldHistory.js +49 -31
  19. package/dist/editor/FieldHistory.js.map +1 -1
  20. package/dist/editor/ai/AgentDocumentList.js +32 -14
  21. package/dist/editor/ai/AgentDocumentList.js.map +1 -1
  22. package/dist/editor/ai/AgentGreeting.js +3 -2
  23. package/dist/editor/ai/AgentGreeting.js.map +1 -1
  24. package/dist/editor/ai/AgentProfileSelector.js +2 -1
  25. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  26. package/dist/editor/ai/AgentTerminal.js +544 -169
  27. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  28. package/dist/editor/ai/Agents.js +26 -26
  29. package/dist/editor/ai/Agents.js.map +1 -1
  30. package/dist/editor/ai/AiResponseMessage.js +3 -4
  31. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  32. package/dist/editor/ai/GuidanceOverlay.js +17 -11
  33. package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
  34. package/dist/editor/ai/InlineAiDialog.js +3 -2
  35. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  36. package/dist/editor/ai/MediaImage.js +40 -8
  37. package/dist/editor/ai/MediaImage.js.map +1 -1
  38. package/dist/editor/ai/SpawnedAgentsPanel.js +10 -12
  39. package/dist/editor/ai/SpawnedAgentsPanel.js.map +1 -1
  40. package/dist/editor/ai/ToolCallDisplay.js +4 -1
  41. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  42. package/dist/editor/ai/agentDiagnostics.js +1 -3
  43. package/dist/editor/ai/agentDiagnostics.js.map +1 -1
  44. package/dist/editor/ai/dialogs/AgentDialogHandler.d.ts +1 -8
  45. package/dist/editor/ai/dialogs/AgentDialogHandler.js +89 -12
  46. package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
  47. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +62 -0
  48. package/dist/editor/ai/dialogs/agentDialogTypes.js +2 -0
  49. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  50. package/dist/editor/ai/dialogs/browserBoundCapture.d.ts +29 -0
  51. package/dist/editor/ai/dialogs/browserBoundCapture.js +117 -0
  52. package/dist/editor/ai/dialogs/browserBoundCapture.js.map +1 -0
  53. package/dist/editor/ai/dialogs/capturePageDom.d.ts +3 -0
  54. package/dist/editor/ai/dialogs/capturePageDom.js +64 -0
  55. package/dist/editor/ai/dialogs/capturePageDom.js.map +1 -0
  56. package/dist/editor/ai/dialogs/capturePageScreenshot.d.ts +3 -0
  57. package/dist/editor/ai/dialogs/capturePageScreenshot.js +446 -0
  58. package/dist/editor/ai/dialogs/capturePageScreenshot.js.map +1 -0
  59. package/dist/editor/ai/useAgentStatus.js +11 -0
  60. package/dist/editor/ai/useAgentStatus.js.map +1 -1
  61. package/dist/editor/client/EditorShell.js +39 -41
  62. package/dist/editor/client/EditorShell.js.map +1 -1
  63. package/dist/editor/client/editContext.d.ts +5 -1
  64. package/dist/editor/client/editContext.js.map +1 -1
  65. package/dist/editor/client/hooks/useEditorWebSocket.js +56 -44
  66. package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
  67. package/dist/editor/client/itemsRepository.js +10 -6
  68. package/dist/editor/client/itemsRepository.js.map +1 -1
  69. package/dist/editor/client/pageModelBuilder.js +1 -1
  70. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  71. package/dist/editor/commands/componentCommands.js +3 -49
  72. package/dist/editor/commands/componentCommands.js.map +1 -1
  73. package/dist/editor/commands/customCommandConverter.js +2 -1
  74. package/dist/editor/commands/customCommandConverter.js.map +1 -1
  75. package/dist/editor/commands/handlers/agentHandler.js +2 -1
  76. package/dist/editor/commands/handlers/agentHandler.js.map +1 -1
  77. package/dist/editor/page-editor-chrome/FrameMenu.js +1 -1
  78. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  79. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +11 -11
  80. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  81. package/dist/editor/page-viewer/PageViewerFrame.js +21 -8
  82. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  83. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +107 -49
  84. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
  85. package/dist/editor/page-viewer/pageViewContext.d.ts +1 -0
  86. package/dist/editor/page-viewer/pageViewContext.js +51 -14
  87. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  88. package/dist/editor/reviews/CreateReviewDialog.js +1 -1
  89. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  90. package/dist/editor/reviews/DiffView.js +7 -14
  91. package/dist/editor/reviews/DiffView.js.map +1 -1
  92. package/dist/editor/reviews/useMultiReview.js +2 -2
  93. package/dist/editor/reviews/useMultiReview.js.map +1 -1
  94. package/dist/editor/services/agentService.d.ts +31 -1
  95. package/dist/editor/services/agentService.js +107 -72
  96. package/dist/editor/services/agentService.js.map +1 -1
  97. package/dist/editor/services/aiService.d.ts +3 -1
  98. package/dist/editor/services/aiService.js.map +1 -1
  99. package/dist/editor/services/indexService.js +1 -1
  100. package/dist/editor/services/indexService.js.map +1 -1
  101. package/dist/editor/settings/SettingsView.js +18 -16
  102. package/dist/editor/settings/SettingsView.js.map +1 -1
  103. package/dist/editor/settings/Status.js +5 -4
  104. package/dist/editor/settings/Status.js.map +1 -1
  105. package/dist/editor/settings/index/useIndexStatus.js +19 -21
  106. package/dist/editor/settings/index/useIndexStatus.js.map +1 -1
  107. package/dist/editor/settings/panels/CreateJavaScriptToolDialog.d.ts +7 -0
  108. package/dist/editor/settings/panels/CreateJavaScriptToolDialog.js +48 -0
  109. package/dist/editor/settings/panels/CreateJavaScriptToolDialog.js.map +1 -0
  110. package/dist/editor/settings/panels/GroupedFieldConfigPanel.d.ts +2 -1
  111. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +2 -2
  112. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
  113. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.d.ts +12 -0
  114. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +46 -0
  115. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -0
  116. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.d.ts +9 -0
  117. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js +34 -0
  118. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js.map +1 -0
  119. package/dist/editor/settings/panels/JavaScriptToolsPanel.d.ts +2 -0
  120. package/dist/editor/settings/panels/JavaScriptToolsPanel.js +285 -0
  121. package/dist/editor/settings/panels/JavaScriptToolsPanel.js.map +1 -0
  122. package/dist/editor/settings/panels/ModelConfigPanel.d.ts +2 -1
  123. package/dist/editor/settings/panels/ModelConfigPanel.js +88 -7
  124. package/dist/editor/settings/panels/ModelConfigPanel.js.map +1 -1
  125. package/dist/editor/settings/panels/ModelsPanel.js +129 -70
  126. package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
  127. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.d.ts +1 -4
  128. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +3 -3
  129. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  130. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +78 -22
  131. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  132. package/dist/editor/settings/panels/ProvidersPanel.d.ts +1 -1
  133. package/dist/editor/settings/panels/ProvidersPanel.js +40 -55
  134. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  135. package/dist/editor/settings/panels/index.d.ts +1 -0
  136. package/dist/editor/settings/panels/index.js +1 -0
  137. package/dist/editor/settings/panels/index.js.map +1 -1
  138. package/dist/editor/settings/status/coreStatusChecks.js +28 -17
  139. package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
  140. package/dist/editor/sidebar/ComponentPalette.js +2 -1
  141. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  142. package/dist/editor/sidebar/ComponentTree.js +9 -9
  143. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  144. package/dist/editor/sidebar/EditHistory.js +3 -38
  145. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  146. package/dist/editor/sidebar/MainContentTree.js +1 -1
  147. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  148. package/dist/editor/sidebar/NavigationPanelItem.js +2 -5
  149. package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
  150. package/dist/editor/tree-indicators/GutterColumns.d.ts +3 -1
  151. package/dist/editor/tree-indicators/GutterColumns.js +4 -3
  152. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  153. package/dist/editor/tree-indicators/types.d.ts +1 -0
  154. package/dist/editor/views/CompareView.js +3 -1
  155. package/dist/editor/views/CompareView.js.map +1 -1
  156. package/dist/editor/views/EditorSlot.js +2 -2
  157. package/dist/editor/views/EditorSlot.js.map +1 -1
  158. package/dist/editor/views/ParheliaView.js +5 -6
  159. package/dist/editor/views/ParheliaView.js.map +1 -1
  160. package/dist/editor/views/SingleEditView.js +2 -0
  161. package/dist/editor/views/SingleEditView.js.map +1 -1
  162. package/dist/editor/views/editorSlotContext.js +35 -6
  163. package/dist/editor/views/editorSlotContext.js.map +1 -1
  164. package/dist/index.d.ts +4 -1
  165. package/dist/index.js +1 -0
  166. package/dist/index.js.map +1 -1
  167. package/dist/lib/sanitize.d.ts +10 -0
  168. package/dist/lib/sanitize.js +40 -0
  169. package/dist/lib/sanitize.js.map +1 -0
  170. package/dist/revision.d.ts +2 -2
  171. package/dist/revision.js +2 -2
  172. package/dist/setup/services/setupWizardService.d.ts +28 -0
  173. package/dist/setup/services/setupWizardService.js +34 -0
  174. package/dist/setup/services/setupWizardService.js.map +1 -1
  175. package/dist/setup/wizard/steps/AddModelDialog.js +9 -1
  176. package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -1
  177. package/dist/setup/wizard/steps/ImportModelDialog.js +3 -1
  178. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  179. package/dist/splash-screen/NewPage.js +24 -24
  180. package/dist/splash-screen/NewPage.js.map +1 -1
  181. package/dist/task-board/TaskBoardWorkspace.js +29 -10
  182. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  183. package/dist/task-board/components/ItemCollectionEditorDialog.js +5 -12
  184. package/dist/task-board/components/ItemCollectionEditorDialog.js.map +1 -1
  185. package/dist/task-board/components/ProjectAgentsPanel.js +1 -1
  186. package/dist/task-board/components/ProjectAgentsPanel.js.map +1 -1
  187. package/dist/task-board/components/ProjectOverviewContent.js +2 -2
  188. package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
  189. package/dist/task-board/components/ProjectPropertiesPanel.js +1 -1
  190. package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
  191. package/dist/task-board/components/TaskDetailPanel.js +1 -1
  192. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  193. package/dist/task-board/components/TaskboardPersistentLogPanel.js +3 -1
  194. package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
  195. package/dist/task-board/taskAgentLink.js +1 -3
  196. package/dist/task-board/taskAgentLink.js.map +1 -1
  197. package/dist/task-board/views/DependencyGraphView.js +19 -1
  198. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  199. package/dist/tour/Tour.js +63 -4
  200. package/dist/tour/Tour.js.map +1 -1
  201. package/dist/tour/default-tour.js +51 -11
  202. package/dist/tour/default-tour.js.map +1 -1
  203. package/dist/types.d.ts +2 -0
  204. package/package.json +4 -1
  205. package/dist/editor/ComponentInfo.d.ts +0 -4
  206. package/dist/editor/ComponentInfo.js +0 -41
  207. package/dist/editor/ComponentInfo.js.map +0 -1
@@ -2,12 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Sparkles, MessageSquare, ArrowRight } from "lucide-react";
3
3
  import { SecretAgentIcon } from "../ui/Icons";
4
4
  import { cn } from "../../lib/utils";
5
+ import { sanitizeHtml, sanitizeSvg } from "../../lib/sanitize";
5
6
  export function AgentGreeting({ profile, onPromptClick, className, }) {
6
7
  const prompts = profile.prompts || [];
7
8
  return (_jsxs("div", { className: cn("flex h-full flex-col items-center justify-center p-8 text-center", className), children: [_jsxs("div", { className: "relative mb-8", children: [_jsx("div", { className: "absolute inset-0 -m-8 animate-pulse bg-linear-to-r from-blue-500/10 via-purple-500/10 to-pink-500/10 blur-3xl" }), _jsxs("div", { className: "relative flex h-32 w-32 items-center justify-center rounded-full bg-white p-4 shadow-xl ring-1 ring-black/5", children: [profile.svgIcon ? (_jsx("div", { className: "h-full w-full text-gray-700 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: {
8
- __html: profile.svgIcon,
9
+ __html: sanitizeSvg(profile.svgIcon),
9
10
  } })) : (_jsx(SecretAgentIcon, { size: 80, strokeWidth: 1, className: "text-gray-400" })), _jsx("div", { className: "absolute -top-2 -right-2 flex h-8 w-8 items-center justify-center rounded-full bg-linear-to-br from-indigo-500 to-purple-600 text-white shadow-lg ring-2 ring-white", children: _jsx(Sparkles, { size: 14 }) })] })] }), _jsxs("div", { className: "animate-in fade-in slide-in-from-bottom-4 duration-1000", children: [_jsx("h2", { className: "mb-2 text-2xl font-semibold tracking-tight text-gray-900", children: profile.agentName || profile.name }), profile.greetingMessage ? (_jsx("div", { className: "prose prose-slate mx-auto max-w-prose text-lg leading-relaxed text-gray-600", dangerouslySetInnerHTML: {
10
- __html: profile.greetingMessage,
11
+ __html: sanitizeHtml(profile.greetingMessage),
11
12
  } })) : (_jsx("p", { className: "mx-auto max-w-prose text-lg leading-relaxed text-gray-600", children: profile.description || "How can I help you today?" }))] }), prompts.length > 0 && (_jsx("div", { className: "animate-in fade-in slide-in-from-bottom-6 mt-12 flex w-full max-w-2xl flex-wrap justify-center gap-3 duration-1000 [animation-delay:400ms]", children: prompts.map((prompt, index) => (_jsxs("button", { onClick: () => onPromptClick?.(prompt.prompt), className: "group flex items-center gap-3 rounded-2xl border border-gray-200 bg-white/50 px-5 py-3 text-xs font-medium text-gray-700 backdrop-blur-sm transition-all hover:border-indigo-300 hover:bg-white hover:text-indigo-600 hover:shadow-md active:scale-95", children: [_jsx(MessageSquare, { size: 16, className: "text-gray-400 transition-colors group-hover:text-indigo-500" }), _jsx("span", { children: prompt.title }), _jsx(ArrowRight, { size: 14, className: "ml-1 -translate-x-2 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100" })] }, index))) }))] }));
12
13
  }
13
14
  //# sourceMappingURL=AgentGreeting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentGreeting.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentGreeting.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAQrC,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,SAAS,GACU;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAEtC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,SAAS,CACV,aAED,eAAK,SAAS,EAAC,eAAe,aAE5B,cAAK,SAAS,EAAC,+GAA+G,GAAG,EAEjI,eAAK,SAAS,EAAC,6GAA6G,aACzH,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CACjB,cACE,SAAS,EAAC,2DAA2D,EACrE,uBAAuB,EAAE;oCACvB,MAAM,EAAE,OAAO,CAAC,OAAO;iCACxB,GACD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IACd,IAAI,EAAE,EAAE,EACR,WAAW,EAAE,CAAC,EACd,SAAS,EAAC,eAAe,GACzB,CACH,EAGD,cAAK,SAAS,EAAC,qKAAqK,YAClL,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,GAClB,IACF,IACF,EAEN,eAAK,SAAS,EAAC,yDAAyD,aACtE,aAAI,SAAS,EAAC,0DAA0D,YACrE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,GAC/B,EAEJ,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CACzB,cACE,SAAS,EAAC,6EAA6E,EACvF,uBAAuB,EAAE;4BACvB,MAAM,EAAE,OAAO,CAAC,eAAe;yBAChC,GACD,CACH,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,2DAA2D,YACrE,OAAO,CAAC,WAAW,IAAI,2BAA2B,GACjD,CACL,IACG,EAEL,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,cAAK,SAAS,EAAC,4IAA4I,YACxJ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,kBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7C,SAAS,EAAC,uPAAuP,aAEjQ,KAAC,aAAa,IACZ,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,6DAA6D,GACvE,EACF,yBAAO,MAAM,CAAC,KAAK,GAAQ,EAC3B,KAAC,UAAU,IACT,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,gGAAgG,GAC1G,KAZG,KAAK,CAaH,CACV,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AgentGreeting.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentGreeting.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQ/D,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,SAAS,GACU;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAEtC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,SAAS,CACV,aAED,eAAK,SAAS,EAAC,eAAe,aAE5B,cAAK,SAAS,EAAC,+GAA+G,GAAG,EAEjI,eAAK,SAAS,EAAC,6GAA6G,aACzH,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CACjB,cACE,SAAS,EAAC,2DAA2D,EACrE,uBAAuB,EAAE;oCACvB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;iCACrC,GACD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IACd,IAAI,EAAE,EAAE,EACR,WAAW,EAAE,CAAC,EACd,SAAS,EAAC,eAAe,GACzB,CACH,EAGD,cAAK,SAAS,EAAC,qKAAqK,YAClL,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,GAClB,IACF,IACF,EAEN,eAAK,SAAS,EAAC,yDAAyD,aACtE,aAAI,SAAS,EAAC,0DAA0D,YACrE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,GAC/B,EAEJ,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CACzB,cACE,SAAS,EAAC,6EAA6E,EACvF,uBAAuB,EAAE;4BACvB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC;yBAC9C,GACD,CACH,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,2DAA2D,YACrE,OAAO,CAAC,WAAW,IAAI,2BAA2B,GACjD,CACL,IACG,EAEL,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,cAAK,SAAS,EAAC,4IAA4I,YACxJ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,kBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7C,SAAS,EAAC,uPAAuP,aAEjQ,KAAC,aAAa,IACZ,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,6DAA6D,GACvE,EACF,yBAAO,MAAM,CAAC,KAAK,GAAQ,EAC3B,KAAC,UAAU,IACT,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,gGAAgG,GAC1G,KAZG,KAAK,CAaH,CACV,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useMemo } from "react";
3
3
  import { cn } from "../../lib/utils";
4
+ import { sanitizeSvg } from "../../lib/sanitize";
4
5
  import { SecretAgentIcon } from "../ui/Icons";
5
6
  import { History, SearchX, ChevronRight } from "lucide-react";
6
7
  import { FilterInput } from "../../components/FilterInput";
@@ -25,7 +26,7 @@ export const AgentProfileSelector = ({ profiles, onSelectProfile, loading = fals
25
26
  return (_jsxs("div", { className: cn("flex flex-col gap-4", className), children: [_jsxs("div", { className: "flex items-center justify-between gap-4 border-b border-gray-100 pb-3", children: [_jsxs("div", { className: "flex flex-col text-left", children: [_jsx("h2", { className: "text-base font-bold tracking-tight text-gray-900", children: title }), _jsx("p", { className: "text-xs text-gray-500", children: description })] }), _jsx("div", { className: "w-full max-w-[200px]", children: _jsx(FilterInput, { value: searchTerm, onChange: setSearchTerm, placeholder: "Filter profiles...", size: "sm" }) })] }), filteredProfiles.length > 0 ? (_jsx("div", { className: "grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-3", children: filteredProfiles.map((profile) => {
26
27
  const displayTitle = profile.displayTitle || profile.name;
27
28
  const profileDescription = profile.description || "";
28
- return (_jsxs("button", { onClick: () => onSelectProfile(profile.id), className: cn("group hover:border-theme-secondary/30 relative flex min-h-[84px] cursor-pointer flex-row items-start gap-4 overflow-hidden rounded-2xl border border-gray-100 bg-white p-4 text-left shadow-sm transition-all duration-300 hover:shadow-md"), "data-testid": "agent-profile-card", "data-profile-id": profile.id, children: [_jsx("div", { className: "to-theme-secondary/5 absolute inset-0 bg-gradient-to-br from-white via-white opacity-0 transition-opacity duration-300 group-hover:opacity-100" }), _jsx("div", { className: cn("group-hover:bg-theme-secondary-light group-hover:text-theme-secondary relative z-10 flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-xl border border-gray-100/50 bg-gray-50 text-gray-400 shadow-sm transition-all duration-300 group-hover:scale-105"), children: profile.svgIcon ? (_jsx("div", { className: "h-8 w-8 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: { __html: profile.svgIcon } })) : (_jsx(SecretAgentIcon, { size: 28, strokeWidth: 1.2 })) }), _jsxs("div", { className: "relative z-10 flex min-w-0 flex-1 flex-col py-0.5", children: [_jsx("h3", { className: "group-hover:text-theme-secondary w-full truncate text-sm font-bold tracking-tight text-gray-900 transition-colors", children: displayTitle }), profileDescription && (_jsx("p", { className: "agent-profile-description mt-1 text-[11px] leading-relaxed text-gray-500 group-hover:text-gray-600", title: profileDescription, children: profileDescription }))] }), _jsx("div", { className: "relative z-10 ml-auto translate-x-4 opacity-0 transition-all duration-300 group-hover:translate-x-0 group-hover:opacity-100", children: _jsx("div", { className: "bg-theme-secondary/10 text-theme-secondary flex h-6 w-6 items-center justify-center rounded-full", children: _jsx(ChevronRight, { size: 14, strokeWidth: 2.5 }) }) }), _jsx("div", { className: "bg-theme-secondary absolute top-0 left-0 h-full w-[3px] scale-y-0 transition-transform duration-300 group-hover:scale-y-100" })] }, profile.id));
29
+ return (_jsxs("button", { onClick: () => onSelectProfile(profile.id), className: cn("group hover:border-theme-secondary/30 relative flex min-h-[84px] cursor-pointer flex-row items-start gap-4 overflow-hidden rounded-2xl border border-gray-100 bg-white p-4 text-left shadow-sm transition-all duration-300 hover:shadow-md"), "data-testid": "agent-profile-card", "data-profile-id": profile.id, children: [_jsx("div", { className: "to-theme-secondary/5 absolute inset-0 bg-gradient-to-br from-white via-white opacity-0 transition-opacity duration-300 group-hover:opacity-100" }), _jsx("div", { className: cn("group-hover:bg-theme-secondary-light group-hover:text-theme-secondary relative z-10 flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-xl border border-gray-100/50 bg-gray-50 text-gray-400 shadow-sm transition-all duration-300 group-hover:scale-105"), children: profile.svgIcon ? (_jsx("div", { className: "h-8 w-8 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: { __html: sanitizeSvg(profile.svgIcon) } })) : (_jsx(SecretAgentIcon, { size: 28, strokeWidth: 1.2 })) }), _jsxs("div", { className: "relative z-10 flex min-w-0 flex-1 flex-col py-0.5", children: [_jsx("h3", { className: "group-hover:text-theme-secondary w-full truncate text-sm font-bold tracking-tight text-gray-900 transition-colors", children: displayTitle }), profileDescription && (_jsx("p", { className: "agent-profile-description mt-1 text-[11px] leading-relaxed text-gray-500 group-hover:text-gray-600", title: profileDescription, children: profileDescription }))] }), _jsx("div", { className: "relative z-10 ml-auto translate-x-4 opacity-0 transition-all duration-300 group-hover:translate-x-0 group-hover:opacity-100", children: _jsx("div", { className: "bg-theme-secondary/10 text-theme-secondary flex h-6 w-6 items-center justify-center rounded-full", children: _jsx(ChevronRight, { size: 14, strokeWidth: 2.5 }) }) }), _jsx("div", { className: "bg-theme-secondary absolute top-0 left-0 h-full w-[3px] scale-y-0 transition-transform duration-300 group-hover:scale-y-100" })] }, profile.id));
29
30
  }) })) : (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center", children: [_jsx("div", { className: "mb-3 flex h-12 w-12 items-center justify-center rounded-full bg-gray-50 text-gray-400", children: _jsx(SearchX, { size: 24 }) }), _jsx("h4", { className: "text-sm font-semibold text-gray-900", children: "No matches found" }), _jsx("p", { className: "mt-1 text-xs text-gray-500", children: "Try a different search term or browse all profiles." })] }))] }));
30
31
  };
31
32
  //# sourceMappingURL=AgentProfileSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentProfileSelector.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentProfileSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentProfileSelector.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentProfileSelector.tsx"],"names":[],"mappings":"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"}