@parhelia/core 0.1.12496 → 0.1.12515

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 (152) hide show
  1. package/dist/agents-view/AgentCard.js +20 -19
  2. package/dist/agents-view/AgentCard.js.map +1 -1
  3. package/dist/agents-view/AgentsInbox.js +2 -13
  4. package/dist/agents-view/AgentsInbox.js.map +1 -1
  5. package/dist/agents-view/AgentsView.js +7 -55
  6. package/dist/agents-view/AgentsView.js.map +1 -1
  7. package/dist/agents-view/AgentsWorkspaceView.js +2 -11
  8. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  9. package/dist/components/ui/copy-button.d.ts +2 -1
  10. package/dist/components/ui/copy-button.js +2 -2
  11. package/dist/components/ui/copy-button.js.map +1 -1
  12. package/dist/components/ui/paste-button.d.ts +2 -1
  13. package/dist/components/ui/paste-button.js +2 -2
  14. package/dist/components/ui/paste-button.js.map +1 -1
  15. package/dist/config/config.js +40 -0
  16. package/dist/config/config.js.map +1 -1
  17. package/dist/config/types.d.ts +23 -5
  18. package/dist/config/types.js.map +1 -1
  19. package/dist/editor/ContentTree.js +36 -4
  20. package/dist/editor/ContentTree.js.map +1 -1
  21. package/dist/editor/FieldListField.js +4 -4
  22. package/dist/editor/FieldListField.js.map +1 -1
  23. package/dist/editor/FieldListFieldWithFallbacks.js +23 -2
  24. package/dist/editor/FieldListFieldWithFallbacks.js.map +1 -1
  25. package/dist/editor/GlobalMenuBar.js +1 -1
  26. package/dist/editor/GlobalMenuBar.js.map +1 -1
  27. package/dist/editor/ItemInfo.js +36 -1
  28. package/dist/editor/ItemInfo.js.map +1 -1
  29. package/dist/editor/MainLayout.d.ts +0 -2
  30. package/dist/editor/MainLayout.js +0 -1
  31. package/dist/editor/MainLayout.js.map +1 -1
  32. package/dist/editor/Titlebar.js +2 -2
  33. package/dist/editor/Titlebar.js.map +1 -1
  34. package/dist/editor/ai/AgentStatusBadge.d.ts +0 -5
  35. package/dist/editor/ai/AgentStatusBadge.js +57 -71
  36. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  37. package/dist/editor/ai/AgentTerminal.js +51 -89
  38. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  39. package/dist/editor/ai/Agents.js +8 -63
  40. package/dist/editor/ai/Agents.js.map +1 -1
  41. package/dist/editor/ai/InlineAiDialog.js +1 -6
  42. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  43. package/dist/editor/ai/ToolCallDisplay.js +152 -63
  44. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  45. package/dist/editor/ai/useAgentStatus.js +12 -85
  46. package/dist/editor/ai/useAgentStatus.js.map +1 -1
  47. package/dist/editor/client/EditorShell.js +49 -59
  48. package/dist/editor/client/EditorShell.js.map +1 -1
  49. package/dist/editor/client/editContext.d.ts +3 -15
  50. package/dist/editor/client/editContext.js.map +1 -1
  51. package/dist/editor/client/hooks/useEditorUrlSync.js +1 -2
  52. package/dist/editor/client/hooks/useEditorUrlSync.js.map +1 -1
  53. package/dist/editor/client/hooks/useSocketMessageHandler.js +19 -6
  54. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  55. package/dist/editor/client/operations.js +15 -3
  56. package/dist/editor/client/operations.js.map +1 -1
  57. package/dist/editor/client/ui/EditorChrome.d.ts +0 -4
  58. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  59. package/dist/editor/client/waitForEditOperationTerminal.d.ts +8 -3
  60. package/dist/editor/client/waitForEditOperationTerminal.js +5 -1
  61. package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
  62. package/dist/editor/commands/itemCommands.js +5 -0
  63. package/dist/editor/commands/itemCommands.js.map +1 -1
  64. package/dist/editor/content-tree/IndicatorSettings.d.ts +11 -0
  65. package/dist/editor/content-tree/IndicatorSettings.js +60 -0
  66. package/dist/editor/content-tree/IndicatorSettings.js.map +1 -0
  67. package/dist/editor/content-tree/TreeOptions.d.ts +6 -0
  68. package/dist/editor/content-tree/TreeOptions.js +8 -0
  69. package/dist/editor/content-tree/TreeOptions.js.map +1 -0
  70. package/dist/editor/content-tree/TreeSettingsMenu.d.ts +2 -0
  71. package/dist/editor/content-tree/TreeSettingsMenu.js +30 -0
  72. package/dist/editor/content-tree/TreeSettingsMenu.js.map +1 -0
  73. package/dist/editor/hooks/useNavigationPanelLogic.js +2 -6
  74. package/dist/editor/hooks/useNavigationPanelLogic.js.map +1 -1
  75. package/dist/editor/manualActionEvents.d.ts +8 -0
  76. package/dist/editor/manualActionEvents.js +48 -0
  77. package/dist/editor/manualActionEvents.js.map +1 -0
  78. package/dist/editor/menubar/PageSelector.js +9 -12
  79. package/dist/editor/menubar/PageSelector.js.map +1 -1
  80. package/dist/editor/menubar/WorkflowButton.js +23 -23
  81. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  82. package/dist/editor/menubar/toolbar-sections/EditControls.js +1 -1
  83. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  84. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +3 -9
  85. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +225 -71
  86. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  87. package/dist/editor/notifications/WatchButton.js +2 -2
  88. package/dist/editor/notifications/WatchButton.js.map +1 -1
  89. package/dist/editor/page-viewer/EditorForm.js +2 -0
  90. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  91. package/dist/editor/page-viewer/PageViewer.js +8 -2
  92. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  93. package/dist/editor/reviews/CreateReviewDialog.js +0 -2
  94. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  95. package/dist/editor/services/agentService.d.ts +3 -2
  96. package/dist/editor/services/agentService.js.map +1 -1
  97. package/dist/editor/services/agentStatus.d.ts +12 -0
  98. package/dist/editor/services/agentStatus.js +59 -0
  99. package/dist/editor/services/agentStatus.js.map +1 -0
  100. package/dist/editor/settings/SettingsView.js +4 -4
  101. package/dist/editor/settings/SettingsView.js.map +1 -1
  102. package/dist/editor/settings/index/useIndexStatus.js +1 -1
  103. package/dist/editor/settings/index/useIndexStatus.js.map +1 -1
  104. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js +1 -1
  105. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js.map +1 -1
  106. package/dist/editor/sidebar/ComponentTree.js +201 -40
  107. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  108. package/dist/editor/sidebar/MainContentTree.js +3 -2
  109. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  110. package/dist/editor/sidebar/MorePanelsButton.js +1 -1
  111. package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
  112. package/dist/editor/sidebar/NavigationPanelItem.js +2 -2
  113. package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
  114. package/dist/editor/sidebar/SidebarPanel.js +20 -4
  115. package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
  116. package/dist/editor/sidebar/SidebarStack.js +1 -0
  117. package/dist/editor/sidebar/SidebarStack.js.map +1 -1
  118. package/dist/editor/sidebar/Workbox.js +53 -3
  119. package/dist/editor/sidebar/Workbox.js.map +1 -1
  120. package/dist/editor/tree-indicators/GutterContext.d.ts +4 -0
  121. package/dist/editor/tree-indicators/GutterContext.js +23 -0
  122. package/dist/editor/tree-indicators/GutterContext.js.map +1 -1
  123. package/dist/editor/tree-indicators/index.d.ts +0 -1
  124. package/dist/editor/tree-indicators/index.js +0 -1
  125. package/dist/editor/tree-indicators/index.js.map +1 -1
  126. package/dist/editor/tree-indicators/types.d.ts +1 -1
  127. package/dist/editor/ui/HomeButton.js +1 -1
  128. package/dist/editor/ui/HomeButton.js.map +1 -1
  129. package/dist/editor/ui/ItemNameDialogNew.d.ts +2 -0
  130. package/dist/editor/ui/ItemNameDialogNew.js +17 -7
  131. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  132. package/dist/editor/ui/ItemSearch.js +7 -11
  133. package/dist/editor/ui/ItemSearch.js.map +1 -1
  134. package/dist/editor/ui/SimpleTabs.js +33 -16
  135. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  136. package/dist/editor/ui/Splitter.js +1 -1
  137. package/dist/editor/ui/Splitter.js.map +1 -1
  138. package/dist/revision.d.ts +2 -2
  139. package/dist/revision.js +2 -2
  140. package/dist/setup/wizard/steps/AddModelDialog.js +3 -2
  141. package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -1
  142. package/dist/task-board/components/AssignAgentDialog.js +0 -8
  143. package/dist/task-board/components/AssignAgentDialog.js.map +1 -1
  144. package/dist/task-board/components/ProjectAgentsPanel.js +1 -26
  145. package/dist/task-board/components/ProjectAgentsPanel.js.map +1 -1
  146. package/dist/task-board/components/TaskAgentPanel.js +2 -6
  147. package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
  148. package/dist/types.d.ts +2 -13
  149. package/package.json +1 -1
  150. package/dist/editor/tree-indicators/GutterSelector.d.ts +0 -5
  151. package/dist/editor/tree-indicators/GutterSelector.js +0 -91
  152. package/dist/editor/tree-indicators/GutterSelector.js.map +0 -1
@@ -1,5 +0,0 @@
1
- /**
2
- * Multi-select dropdown to toggle which gutter columns are visible.
3
- */
4
- export declare function GutterSelector(): import("react/jsx-runtime").JSX.Element | null;
5
- export default GutterSelector;
@@ -1,91 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { useMemo, useCallback, useRef, useEffect } from "react";
4
- import { AlertCircle, Clock, Cloud, Globe, Bot, GitBranch, Settings2, MessageSquare, User, Users, } from "lucide-react";
5
- import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
6
- import { Button } from "../../components/ui/button";
7
- import { Checkbox } from "../../components/ui/checkbox";
8
- import { useGutterContextSafe } from "./GutterContext";
9
- /**
10
- * Map from backend icon name to Lucide icon component.
11
- */
12
- const iconMap = {
13
- "alert-circle": AlertCircle,
14
- clock: Clock,
15
- cloud: Cloud,
16
- globe: Globe,
17
- bot: Bot,
18
- "git-branch": GitBranch,
19
- "message-square": MessageSquare,
20
- user: User,
21
- users: Users,
22
- };
23
- function getIconComponent(iconName) {
24
- return iconMap[iconName] || Settings2;
25
- }
26
- // Stable no-op function for fallback
27
- const noOpFunction = () => { };
28
- /**
29
- * Multi-select dropdown to toggle which gutter columns are visible.
30
- */
31
- export function GutterSelector() {
32
- const gutterContext = useGutterContextSafe();
33
- // Extract context values with stable fallbacks BEFORE any hooks
34
- // This ensures hooks are always called in the same order
35
- const providers = gutterContext ? gutterContext.providers : [];
36
- const visibleGutters = gutterContext ? gutterContext.visibleGutters : [];
37
- const toggleGutter = gutterContext ? gutterContext.toggleGutter : noOpFunction;
38
- const isLoading = gutterContext ? gutterContext.isLoading : false;
39
- const showBadges = gutterContext ? gutterContext.showBadges : false;
40
- const toggleBadges = gutterContext ? gutterContext.toggleBadges : noOpFunction;
41
- // Sort providers by priority - memoize based on provider IDs to avoid infinite loops
42
- // This hook must be called unconditionally, before any conditional returns
43
- const providerIdsRef = useRef("");
44
- const sortedProvidersRef = useRef([]);
45
- const sortedProviders = useMemo(() => {
46
- // Create a stable key from provider IDs (sorted)
47
- const currentIds = providers
48
- .map((p) => p.id)
49
- .sort()
50
- .join(",");
51
- // Only recalculate if provider IDs actually changed
52
- if (providerIdsRef.current === currentIds && sortedProvidersRef.current.length > 0) {
53
- return sortedProvidersRef.current;
54
- }
55
- providerIdsRef.current = currentIds;
56
- const sorted = [...providers].sort((a, b) => a.priority - b.priority);
57
- sortedProvidersRef.current = sorted;
58
- return sorted;
59
- }, [providers]);
60
- const activeCount = visibleGutters.length;
61
- // Cache toggle handlers per provider ID to prevent recreating functions
62
- const toggleHandlersRef = useRef(new Map());
63
- const toggleGutterRef = useRef(toggleGutter);
64
- // Update ref when toggleGutter changes and clear cache
65
- useEffect(() => {
66
- if (toggleGutterRef.current !== toggleGutter) {
67
- toggleGutterRef.current = toggleGutter;
68
- toggleHandlersRef.current.clear();
69
- }
70
- }, [toggleGutter]);
71
- const getToggleHandler = useCallback((providerId) => {
72
- if (!toggleHandlersRef.current.has(providerId)) {
73
- toggleHandlersRef.current.set(providerId, () => {
74
- toggleGutterRef.current(providerId);
75
- });
76
- }
77
- return toggleHandlersRef.current.get(providerId);
78
- }, [] // Empty deps - we use the ref instead
79
- );
80
- // Conditional return AFTER all hooks
81
- if (!gutterContext) {
82
- return null;
83
- }
84
- return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", size: "xs", className: "gap-1 px-2", title: "Select indicators to show", children: [_jsx(Settings2, { className: "h-3.5 w-3.5" }), activeCount > 0 && (_jsxs("span", { className: "text-xs text-muted-foreground", children: ["(", activeCount, ")"] }))] }) }), _jsx(PopoverContent, { align: "start", className: "w-56 p-2", "data-testid": "tree-indicators-popover", children: _jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "px-2 py-1.5 text-xs font-medium text-muted-foreground", children: "Tree Indicators" }), isLoading && sortedProviders.length === 0 ? (_jsx("div", { className: "px-2 py-2 text-xs text-muted-foreground", children: "Loading..." })) : sortedProviders.length === 0 ? (_jsx("div", { className: "px-2 py-2 text-xs text-muted-foreground", children: "No indicators available" })) : (sortedProviders.map((provider) => (_jsx(GutterSelectorItem, { provider: provider, checked: visibleGutters.includes(provider.id), onToggle: getToggleHandler(provider.id) }, provider.id)))), sortedProviders.length > 0 && (_jsxs(_Fragment, { children: [_jsx("div", { className: "my-1 border-t border-border" }), _jsxs("label", { className: "flex cursor-pointer items-center gap-2 rounded px-2 py-1.5 hover:bg-accent", onClick: (e) => e.stopPropagation(), children: [_jsx(Checkbox, { checked: showBadges, onCheckedChange: toggleBadges }), _jsx("span", { className: "text-xs", children: "Show count badges" })] })] }))] }) })] }));
85
- }
86
- function GutterSelectorItem({ provider, checked, onToggle, }) {
87
- const IconComponent = getIconComponent(provider.icon);
88
- return (_jsxs("label", { className: "flex cursor-pointer items-center gap-2 rounded px-2 py-1.5 hover:bg-accent", onClick: (e) => e.stopPropagation(), children: [_jsx(Checkbox, { checked: checked, onCheckedChange: onToggle }), _jsx(IconComponent, { className: "h-4 w-4 text-muted-foreground" }), _jsx("span", { className: "text-xs", children: provider.label })] }));
89
- }
90
- export default GutterSelector;
91
- //# sourceMappingURL=GutterSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GutterSelector.js","sourceRoot":"","sources":["../../../src/editor/tree-indicators/GutterSelector.tsx"],"names":[],"mappings":"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"}