@railtownai/railtracks-visualizer 0.0.39 → 0.0.40

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 (30) hide show
  1. package/dist/cjs/index.js +749 -277
  2. package/dist/esm/index.js +942 -469
  3. package/dist/types/agenthub/components/KeyboardShortcutsModal.d.ts +6 -0
  4. package/dist/types/agenthub/components/SendFeedbackButton.d.ts +2 -0
  5. package/dist/types/agenthub/components/ThemeToggleButton.d.ts +2 -0
  6. package/dist/types/agenthub/context/EvaluationsMockProvider.d.ts +40 -0
  7. package/dist/types/agenthub/context/SessionsMockProvider.d.ts +12 -0
  8. package/dist/types/agenthub/hooks/useEvaluations.d.ts +7 -0
  9. package/dist/types/agenthub/hooks/useSequenceShortcut.d.ts +13 -0
  10. package/dist/types/agenthub/hooks/useSessions.d.ts +26 -0
  11. package/dist/types/agenthub/hooks/useShareAgentSession.d.ts +4 -0
  12. package/dist/types/agenthub/pages/evaluation-details.d.ts +9 -0
  13. package/dist/types/agenthub/pages/evaluations-compare-drawer.d.ts +13 -0
  14. package/dist/types/agenthub/pages/evaluations-compare.d.ts +2 -0
  15. package/dist/types/agenthub/pages/evaluations.d.ts +2 -0
  16. package/dist/types/agenthub/pages/evaluations.types.d.ts +35 -0
  17. package/dist/types/agenthub/pages/index.d.ts +5 -0
  18. package/dist/types/agenthub/pages/session-details.d.ts +9 -0
  19. package/dist/types/agenthub/pages/sessions.d.ts +2 -0
  20. package/dist/types/agenthub/pages/visualizer.d.ts +2 -0
  21. package/dist/types/components/nodes/AgentNode.d.ts +1 -0
  22. package/dist/types/components/ui/drawer.d.ts +4 -0
  23. package/dist/types/components/ui/header.d.ts +1 -21
  24. package/dist/types/hooks/index.d.ts +0 -1
  25. package/dist/types/hooks/useApi.d.ts +1 -0
  26. package/dist/types/index.d.ts +0 -1
  27. package/package.json +25 -20
  28. package/dist/types/components/ThemeToggle.d.ts +0 -2
  29. package/dist/types/components/ui/checkbox.d.ts +0 -4
  30. package/dist/types/hooks/useRailtracksStream.d.ts +0 -18
package/dist/cjs/index.js CHANGED
@@ -3203,7 +3203,8 @@ const initialConnection = {
3203
3203
  to: null,
3204
3204
  toHandle: null,
3205
3205
  toPosition: null,
3206
- toNode: null
3206
+ toNode: null,
3207
+ pointer: null
3207
3208
  };
3208
3209
  /**
3209
3210
  * If you set the `connectionLineType` prop on your [`<ReactFlow />`](/api-reference/react-flow#connection-connectionLineType)
@@ -5570,7 +5571,8 @@ function onPointerDown(event, { connectionMode, connectionRadius, handleId, node
5570
5571
  to: position,
5571
5572
  toHandle: null,
5572
5573
  toPosition: oppositePosition[fromHandle.position],
5573
- toNode: null
5574
+ toNode: null,
5575
+ pointer: position
5574
5576
  };
5575
5577
  function startConnection() {
5576
5578
  connectionStarted = true;
@@ -5634,14 +5636,9 @@ function onPointerDown(event, { connectionMode, connectionRadius, handleId, node
5634
5636
  }, transform) : position,
5635
5637
  toHandle: result.toHandle,
5636
5638
  toPosition: isValid && result.toHandle ? result.toHandle.position : oppositePosition[fromHandle.position],
5637
- toNode: result.toHandle ? nodeLookup.get(result.toHandle.nodeId) : null
5639
+ toNode: result.toHandle ? nodeLookup.get(result.toHandle.nodeId) : null,
5640
+ pointer: position
5638
5641
  };
5639
- /*
5640
- * we don't want to trigger an update when the connection
5641
- * is snapped to the same handle as before
5642
- */ if (isValid && closestHandle && previousConnection.toHandle && newConnection.toHandle && previousConnection.toHandle.type === newConnection.toHandle.type && previousConnection.toHandle.nodeId === newConnection.toHandle.nodeId && previousConnection.toHandle.id === newConnection.toHandle.id && previousConnection.to.x === newConnection.to.x && previousConnection.to.y === newConnection.to.y) {
5643
- return;
5644
- }
5645
5642
  updateConnection(newConnection);
5646
5643
  previousConnection = newConnection;
5647
5644
  }
@@ -10860,7 +10857,7 @@ function ConnectionLineWrapper({ containerStyle, style, type, component }) {
10860
10857
  });
10861
10858
  }
10862
10859
  const ConnectionLine = ({ style, type = ConnectionLineType.Bezier, CustomComponent, isValid })=>{
10863
- const { inProgress, from, fromNode, fromHandle, fromPosition, to, toNode, toHandle, toPosition } = useConnection();
10860
+ const { inProgress, from, fromNode, fromHandle, fromPosition, to, toNode, toHandle, toPosition, pointer } = useConnection();
10864
10861
  if (!inProgress) {
10865
10862
  return;
10866
10863
  }
@@ -10878,7 +10875,8 @@ const ConnectionLine = ({ style, type = ConnectionLineType.Bezier, CustomCompone
10878
10875
  toPosition: toPosition,
10879
10876
  connectionStatus: getConnectionStatus(isValid),
10880
10877
  toNode: toNode,
10881
- toHandle: toHandle
10878
+ toHandle: toHandle,
10879
+ pointer: pointer
10882
10880
  });
10883
10881
  }
10884
10882
  let path = '';
@@ -11570,7 +11568,7 @@ const wrapperStyle = {
11570
11568
  position: 'relative',
11571
11569
  zIndex: 0
11572
11570
  };
11573
- function ReactFlow({ nodes, edges, defaultNodes, defaultEdges, className, nodeTypes, edgeTypes, onNodeClick, onEdgeClick, onInit, onMove, onMoveStart, onMoveEnd, onConnect, onConnectStart, onConnectEnd, onClickConnectStart, onClickConnectEnd, onNodeMouseEnter, onNodeMouseMove, onNodeMouseLeave, onNodeContextMenu, onNodeDoubleClick, onNodeDragStart, onNodeDrag, onNodeDragStop, onNodesDelete, onEdgesDelete, onDelete, onSelectionChange, onSelectionDragStart, onSelectionDrag, onSelectionDragStop, onSelectionContextMenu, onSelectionStart, onSelectionEnd, onBeforeDelete, connectionMode, connectionLineType = ConnectionLineType.Bezier, connectionLineStyle, connectionLineComponent, connectionLineContainerStyle, deleteKeyCode = 'Backspace', selectionKeyCode = 'Shift', selectionOnDrag = false, selectionMode = SelectionMode.Full, panActivationKeyCode = 'Space', multiSelectionKeyCode = isMacOs() ? 'Meta' : 'Control', zoomActivationKeyCode = isMacOs() ? 'Meta' : 'Control', snapToGrid, snapGrid, onlyRenderVisibleElements = false, selectNodesOnDrag, nodesDraggable, autoPanOnNodeFocus, nodesConnectable, nodesFocusable, nodeOrigin = defaultNodeOrigin, edgesFocusable, edgesReconnectable, elementsSelectable = true, defaultViewport: defaultViewport$1 = defaultViewport, minZoom = 0.5, maxZoom = 2, translateExtent = infiniteExtent, preventScrolling = true, nodeExtent, defaultMarkerColor = '#b1b1b7', zoomOnScroll = true, zoomOnPinch = true, panOnScroll = false, panOnScrollSpeed = 0.5, panOnScrollMode = PanOnScrollMode.Free, zoomOnDoubleClick = true, panOnDrag = true, onPaneClick, onPaneMouseEnter, onPaneMouseMove, onPaneMouseLeave, onPaneScroll, onPaneContextMenu, paneClickDistance = 0, nodeClickDistance = 0, children, onReconnect, onReconnectStart, onReconnectEnd, onEdgeContextMenu, onEdgeDoubleClick, onEdgeMouseEnter, onEdgeMouseMove, onEdgeMouseLeave, reconnectRadius = 10, onNodesChange, onEdgesChange, noDragClassName = 'nodrag', noWheelClassName = 'nowheel', noPanClassName = 'nopan', fitView, fitViewOptions, connectOnClick, attributionPosition, proOptions, defaultEdgeOptions, elevateNodesOnSelect, elevateEdgesOnSelect, disableKeyboardA11y = false, autoPanOnConnect, autoPanOnNodeDrag, autoPanSpeed, connectionRadius, isValidConnection, onError, style, id, nodeDragThreshold, connectionDragThreshold, viewport, onViewportChange, width, height, colorMode = 'light', debug, onScroll, ariaLabelConfig, ...rest }, ref) {
11571
+ function ReactFlow({ nodes, edges, defaultNodes, defaultEdges, className, nodeTypes, edgeTypes, onNodeClick, onEdgeClick, onInit, onMove, onMoveStart, onMoveEnd, onConnect, onConnectStart, onConnectEnd, onClickConnectStart, onClickConnectEnd, onNodeMouseEnter, onNodeMouseMove, onNodeMouseLeave, onNodeContextMenu, onNodeDoubleClick, onNodeDragStart, onNodeDrag, onNodeDragStop, onNodesDelete, onEdgesDelete, onDelete, onSelectionChange, onSelectionDragStart, onSelectionDrag, onSelectionDragStop, onSelectionContextMenu, onSelectionStart, onSelectionEnd, onBeforeDelete, connectionMode, connectionLineType = ConnectionLineType.Bezier, connectionLineStyle, connectionLineComponent, connectionLineContainerStyle, deleteKeyCode = 'Backspace', selectionKeyCode = 'Shift', selectionOnDrag = false, selectionMode = SelectionMode.Full, panActivationKeyCode = 'Space', multiSelectionKeyCode = isMacOs() ? 'Meta' : 'Control', zoomActivationKeyCode = isMacOs() ? 'Meta' : 'Control', snapToGrid, snapGrid, onlyRenderVisibleElements = false, selectNodesOnDrag, nodesDraggable, autoPanOnNodeFocus, nodesConnectable, nodesFocusable, nodeOrigin = defaultNodeOrigin, edgesFocusable, edgesReconnectable, elementsSelectable = true, defaultViewport: defaultViewport$1 = defaultViewport, minZoom = 0.5, maxZoom = 2, translateExtent = infiniteExtent, preventScrolling = true, nodeExtent, defaultMarkerColor = '#b1b1b7', zoomOnScroll = true, zoomOnPinch = true, panOnScroll = false, panOnScrollSpeed = 0.5, panOnScrollMode = PanOnScrollMode.Free, zoomOnDoubleClick = true, panOnDrag = true, onPaneClick, onPaneMouseEnter, onPaneMouseMove, onPaneMouseLeave, onPaneScroll, onPaneContextMenu, paneClickDistance = 1, nodeClickDistance = 0, children, onReconnect, onReconnectStart, onReconnectEnd, onEdgeContextMenu, onEdgeDoubleClick, onEdgeMouseEnter, onEdgeMouseMove, onEdgeMouseLeave, reconnectRadius = 10, onNodesChange, onEdgesChange, noDragClassName = 'nodrag', noWheelClassName = 'nowheel', noPanClassName = 'nopan', fitView, fitViewOptions, connectOnClick, attributionPosition, proOptions, defaultEdgeOptions, elevateNodesOnSelect, elevateEdgesOnSelect, disableKeyboardA11y = false, autoPanOnConnect, autoPanOnNodeDrag, autoPanSpeed, connectionRadius, isValidConnection, onError, style, id, nodeDragThreshold, connectionDragThreshold, viewport, onViewportChange, width, height, colorMode = 'light', debug, onScroll, ariaLabelConfig, ...rest }, ref) {
11574
11572
  const rfId = id || '1';
11575
11573
  const colorModeClassName = useColorModeClass(colorMode);
11576
11574
  // Undo scroll events, preventing viewport from shifting when nodes outside of it are focused
@@ -12699,7 +12697,7 @@ var css_248z = "/* this gets exported as style.css and can be used for the defau
12699
12697
  styleInject(css_248z);
12700
12698
 
12701
12699
  /**
12702
- * @license lucide-react v0.553.0 - ISC
12700
+ * @license lucide-react v0.554.0 - ISC
12703
12701
  *
12704
12702
  * This source code is licensed under the ISC license.
12705
12703
  * See the LICENSE file in the root directory of this source tree.
@@ -12721,7 +12719,7 @@ const hasA11yProp = (props)=>{
12721
12719
  };
12722
12720
 
12723
12721
  /**
12724
- * @license lucide-react v0.553.0 - ISC
12722
+ * @license lucide-react v0.554.0 - ISC
12725
12723
  *
12726
12724
  * This source code is licensed under the ISC license.
12727
12725
  * See the LICENSE file in the root directory of this source tree.
@@ -13962,6 +13960,372 @@ function _extends() {
13962
13960
  }, _extends.apply(null, arguments);
13963
13961
  }
13964
13962
 
13963
+ var reactIs = {exports: {}};
13964
+
13965
+ var reactIs_production_min = {};
13966
+
13967
+ var hasRequiredReactIs_production_min;
13968
+ function requireReactIs_production_min() {
13969
+ if (hasRequiredReactIs_production_min) return reactIs_production_min;
13970
+ hasRequiredReactIs_production_min = 1;
13971
+ var b = "function" === typeof Symbol && Symbol.for, c = b ? Symbol.for("react.element") : 60103, d = b ? Symbol.for("react.portal") : 60106, e = b ? Symbol.for("react.fragment") : 60107, f = b ? Symbol.for("react.strict_mode") : 60108, g = b ? Symbol.for("react.profiler") : 60114, h = b ? Symbol.for("react.provider") : 60109, k = b ? Symbol.for("react.context") : 60110, l = b ? Symbol.for("react.async_mode") : 60111, m = b ? Symbol.for("react.concurrent_mode") : 60111, n = b ? Symbol.for("react.forward_ref") : 60112, p = b ? Symbol.for("react.suspense") : 60113, q = b ? Symbol.for("react.suspense_list") : 60120, r = b ? Symbol.for("react.memo") : 60115, t = b ? Symbol.for("react.lazy") : 60116, v = b ? Symbol.for("react.block") : 60121, w = b ? Symbol.for("react.fundamental") : 60117, x = b ? Symbol.for("react.responder") : 60118, y = b ? Symbol.for("react.scope") : 60119;
13972
+ function z(a) {
13973
+ if ("object" === typeof a && null !== a) {
13974
+ var u = a.$$typeof;
13975
+ switch(u){
13976
+ case c:
13977
+ switch(a = a.type, a){
13978
+ case l:
13979
+ case m:
13980
+ case e:
13981
+ case g:
13982
+ case f:
13983
+ case p:
13984
+ return a;
13985
+ default:
13986
+ switch(a = a && a.$$typeof, a){
13987
+ case k:
13988
+ case n:
13989
+ case t:
13990
+ case r:
13991
+ case h:
13992
+ return a;
13993
+ default:
13994
+ return u;
13995
+ }
13996
+ }
13997
+ case d:
13998
+ return u;
13999
+ }
14000
+ }
14001
+ }
14002
+ function A(a) {
14003
+ return z(a) === m;
14004
+ }
14005
+ reactIs_production_min.AsyncMode = l;
14006
+ reactIs_production_min.ConcurrentMode = m;
14007
+ reactIs_production_min.ContextConsumer = k;
14008
+ reactIs_production_min.ContextProvider = h;
14009
+ reactIs_production_min.Element = c;
14010
+ reactIs_production_min.ForwardRef = n;
14011
+ reactIs_production_min.Fragment = e;
14012
+ reactIs_production_min.Lazy = t;
14013
+ reactIs_production_min.Memo = r;
14014
+ reactIs_production_min.Portal = d;
14015
+ reactIs_production_min.Profiler = g;
14016
+ reactIs_production_min.StrictMode = f;
14017
+ reactIs_production_min.Suspense = p;
14018
+ reactIs_production_min.isAsyncMode = function(a) {
14019
+ return A(a) || z(a) === l;
14020
+ };
14021
+ reactIs_production_min.isConcurrentMode = A;
14022
+ reactIs_production_min.isContextConsumer = function(a) {
14023
+ return z(a) === k;
14024
+ };
14025
+ reactIs_production_min.isContextProvider = function(a) {
14026
+ return z(a) === h;
14027
+ };
14028
+ reactIs_production_min.isElement = function(a) {
14029
+ return "object" === typeof a && null !== a && a.$$typeof === c;
14030
+ };
14031
+ reactIs_production_min.isForwardRef = function(a) {
14032
+ return z(a) === n;
14033
+ };
14034
+ reactIs_production_min.isFragment = function(a) {
14035
+ return z(a) === e;
14036
+ };
14037
+ reactIs_production_min.isLazy = function(a) {
14038
+ return z(a) === t;
14039
+ };
14040
+ reactIs_production_min.isMemo = function(a) {
14041
+ return z(a) === r;
14042
+ };
14043
+ reactIs_production_min.isPortal = function(a) {
14044
+ return z(a) === d;
14045
+ };
14046
+ reactIs_production_min.isProfiler = function(a) {
14047
+ return z(a) === g;
14048
+ };
14049
+ reactIs_production_min.isStrictMode = function(a) {
14050
+ return z(a) === f;
14051
+ };
14052
+ reactIs_production_min.isSuspense = function(a) {
14053
+ return z(a) === p;
14054
+ };
14055
+ reactIs_production_min.isValidElementType = function(a) {
14056
+ return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);
14057
+ };
14058
+ reactIs_production_min.typeOf = z;
14059
+ return reactIs_production_min;
14060
+ }
14061
+
14062
+ var reactIs_development = {};
14063
+
14064
+ var hasRequiredReactIs_development;
14065
+ function requireReactIs_development() {
14066
+ if (hasRequiredReactIs_development) return reactIs_development;
14067
+ hasRequiredReactIs_development = 1;
14068
+ if (process.env.NODE_ENV !== "production") {
14069
+ (function() {
14070
+ // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
14071
+ // nor polyfill, then a plain number is used for performance.
14072
+ var hasSymbol = typeof Symbol === 'function' && Symbol.for;
14073
+ var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
14074
+ var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
14075
+ var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
14076
+ var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
14077
+ var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
14078
+ var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
14079
+ var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
14080
+ // (unstable) APIs that have been removed. Can we remove the symbols?
14081
+ var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
14082
+ var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
14083
+ var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
14084
+ var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
14085
+ var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
14086
+ var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
14087
+ var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
14088
+ var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
14089
+ var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
14090
+ var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
14091
+ var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
14092
+ function isValidElementType(type) {
14093
+ return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
14094
+ type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
14095
+ }
14096
+ function typeOf(object) {
14097
+ if (typeof object === 'object' && object !== null) {
14098
+ var $$typeof = object.$$typeof;
14099
+ switch($$typeof){
14100
+ case REACT_ELEMENT_TYPE:
14101
+ var type = object.type;
14102
+ switch(type){
14103
+ case REACT_ASYNC_MODE_TYPE:
14104
+ case REACT_CONCURRENT_MODE_TYPE:
14105
+ case REACT_FRAGMENT_TYPE:
14106
+ case REACT_PROFILER_TYPE:
14107
+ case REACT_STRICT_MODE_TYPE:
14108
+ case REACT_SUSPENSE_TYPE:
14109
+ return type;
14110
+ default:
14111
+ var $$typeofType = type && type.$$typeof;
14112
+ switch($$typeofType){
14113
+ case REACT_CONTEXT_TYPE:
14114
+ case REACT_FORWARD_REF_TYPE:
14115
+ case REACT_LAZY_TYPE:
14116
+ case REACT_MEMO_TYPE:
14117
+ case REACT_PROVIDER_TYPE:
14118
+ return $$typeofType;
14119
+ default:
14120
+ return $$typeof;
14121
+ }
14122
+ }
14123
+ case REACT_PORTAL_TYPE:
14124
+ return $$typeof;
14125
+ }
14126
+ }
14127
+ return undefined;
14128
+ } // AsyncMode is deprecated along with isAsyncMode
14129
+ var AsyncMode = REACT_ASYNC_MODE_TYPE;
14130
+ var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
14131
+ var ContextConsumer = REACT_CONTEXT_TYPE;
14132
+ var ContextProvider = REACT_PROVIDER_TYPE;
14133
+ var Element = REACT_ELEMENT_TYPE;
14134
+ var ForwardRef = REACT_FORWARD_REF_TYPE;
14135
+ var Fragment = REACT_FRAGMENT_TYPE;
14136
+ var Lazy = REACT_LAZY_TYPE;
14137
+ var Memo = REACT_MEMO_TYPE;
14138
+ var Portal = REACT_PORTAL_TYPE;
14139
+ var Profiler = REACT_PROFILER_TYPE;
14140
+ var StrictMode = REACT_STRICT_MODE_TYPE;
14141
+ var Suspense = REACT_SUSPENSE_TYPE;
14142
+ var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
14143
+ function isAsyncMode(object) {
14144
+ {
14145
+ if (!hasWarnedAboutDeprecatedIsAsyncMode) {
14146
+ hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
14147
+ console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
14148
+ }
14149
+ }
14150
+ return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
14151
+ }
14152
+ function isConcurrentMode(object) {
14153
+ return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
14154
+ }
14155
+ function isContextConsumer(object) {
14156
+ return typeOf(object) === REACT_CONTEXT_TYPE;
14157
+ }
14158
+ function isContextProvider(object) {
14159
+ return typeOf(object) === REACT_PROVIDER_TYPE;
14160
+ }
14161
+ function isElement(object) {
14162
+ return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
14163
+ }
14164
+ function isForwardRef(object) {
14165
+ return typeOf(object) === REACT_FORWARD_REF_TYPE;
14166
+ }
14167
+ function isFragment(object) {
14168
+ return typeOf(object) === REACT_FRAGMENT_TYPE;
14169
+ }
14170
+ function isLazy(object) {
14171
+ return typeOf(object) === REACT_LAZY_TYPE;
14172
+ }
14173
+ function isMemo(object) {
14174
+ return typeOf(object) === REACT_MEMO_TYPE;
14175
+ }
14176
+ function isPortal(object) {
14177
+ return typeOf(object) === REACT_PORTAL_TYPE;
14178
+ }
14179
+ function isProfiler(object) {
14180
+ return typeOf(object) === REACT_PROFILER_TYPE;
14181
+ }
14182
+ function isStrictMode(object) {
14183
+ return typeOf(object) === REACT_STRICT_MODE_TYPE;
14184
+ }
14185
+ function isSuspense(object) {
14186
+ return typeOf(object) === REACT_SUSPENSE_TYPE;
14187
+ }
14188
+ reactIs_development.AsyncMode = AsyncMode;
14189
+ reactIs_development.ConcurrentMode = ConcurrentMode;
14190
+ reactIs_development.ContextConsumer = ContextConsumer;
14191
+ reactIs_development.ContextProvider = ContextProvider;
14192
+ reactIs_development.Element = Element;
14193
+ reactIs_development.ForwardRef = ForwardRef;
14194
+ reactIs_development.Fragment = Fragment;
14195
+ reactIs_development.Lazy = Lazy;
14196
+ reactIs_development.Memo = Memo;
14197
+ reactIs_development.Portal = Portal;
14198
+ reactIs_development.Profiler = Profiler;
14199
+ reactIs_development.StrictMode = StrictMode;
14200
+ reactIs_development.Suspense = Suspense;
14201
+ reactIs_development.isAsyncMode = isAsyncMode;
14202
+ reactIs_development.isConcurrentMode = isConcurrentMode;
14203
+ reactIs_development.isContextConsumer = isContextConsumer;
14204
+ reactIs_development.isContextProvider = isContextProvider;
14205
+ reactIs_development.isElement = isElement;
14206
+ reactIs_development.isForwardRef = isForwardRef;
14207
+ reactIs_development.isFragment = isFragment;
14208
+ reactIs_development.isLazy = isLazy;
14209
+ reactIs_development.isMemo = isMemo;
14210
+ reactIs_development.isPortal = isPortal;
14211
+ reactIs_development.isProfiler = isProfiler;
14212
+ reactIs_development.isStrictMode = isStrictMode;
14213
+ reactIs_development.isSuspense = isSuspense;
14214
+ reactIs_development.isValidElementType = isValidElementType;
14215
+ reactIs_development.typeOf = typeOf;
14216
+ })();
14217
+ }
14218
+ return reactIs_development;
14219
+ }
14220
+
14221
+ var hasRequiredReactIs;
14222
+ function requireReactIs() {
14223
+ if (hasRequiredReactIs) return reactIs.exports;
14224
+ hasRequiredReactIs = 1;
14225
+ if (process.env.NODE_ENV === 'production') {
14226
+ reactIs.exports = requireReactIs_production_min();
14227
+ } else {
14228
+ reactIs.exports = requireReactIs_development();
14229
+ }
14230
+ return reactIs.exports;
14231
+ }
14232
+
14233
+ var hoistNonReactStatics_cjs;
14234
+ var hasRequiredHoistNonReactStatics_cjs;
14235
+ function requireHoistNonReactStatics_cjs() {
14236
+ if (hasRequiredHoistNonReactStatics_cjs) return hoistNonReactStatics_cjs;
14237
+ hasRequiredHoistNonReactStatics_cjs = 1;
14238
+ var reactIs = requireReactIs();
14239
+ /**
14240
+ * Copyright 2015, Yahoo! Inc.
14241
+ * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
14242
+ */ var REACT_STATICS = {
14243
+ childContextTypes: true,
14244
+ contextType: true,
14245
+ contextTypes: true,
14246
+ defaultProps: true,
14247
+ displayName: true,
14248
+ getDefaultProps: true,
14249
+ getDerivedStateFromError: true,
14250
+ getDerivedStateFromProps: true,
14251
+ mixins: true,
14252
+ propTypes: true,
14253
+ type: true
14254
+ };
14255
+ var KNOWN_STATICS = {
14256
+ name: true,
14257
+ length: true,
14258
+ prototype: true,
14259
+ caller: true,
14260
+ callee: true,
14261
+ arguments: true,
14262
+ arity: true
14263
+ };
14264
+ var FORWARD_REF_STATICS = {
14265
+ '$$typeof': true,
14266
+ render: true,
14267
+ defaultProps: true,
14268
+ displayName: true,
14269
+ propTypes: true
14270
+ };
14271
+ var MEMO_STATICS = {
14272
+ '$$typeof': true,
14273
+ compare: true,
14274
+ defaultProps: true,
14275
+ displayName: true,
14276
+ propTypes: true,
14277
+ type: true
14278
+ };
14279
+ var TYPE_STATICS = {};
14280
+ TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
14281
+ TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
14282
+ function getStatics(component) {
14283
+ // React v16.11 and below
14284
+ if (reactIs.isMemo(component)) {
14285
+ return MEMO_STATICS;
14286
+ } // React v16.12 and above
14287
+ return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
14288
+ }
14289
+ var defineProperty = Object.defineProperty;
14290
+ var getOwnPropertyNames = Object.getOwnPropertyNames;
14291
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
14292
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
14293
+ var getPrototypeOf = Object.getPrototypeOf;
14294
+ var objectPrototype = Object.prototype;
14295
+ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
14296
+ if (typeof sourceComponent !== 'string') {
14297
+ // don't hoist over string (html) components
14298
+ if (objectPrototype) {
14299
+ var inheritedComponent = getPrototypeOf(sourceComponent);
14300
+ if (inheritedComponent && inheritedComponent !== objectPrototype) {
14301
+ hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
14302
+ }
14303
+ }
14304
+ var keys = getOwnPropertyNames(sourceComponent);
14305
+ if (getOwnPropertySymbols) {
14306
+ keys = keys.concat(getOwnPropertySymbols(sourceComponent));
14307
+ }
14308
+ var targetStatics = getStatics(targetComponent);
14309
+ var sourceStatics = getStatics(sourceComponent);
14310
+ for(var i = 0; i < keys.length; ++i){
14311
+ var key = keys[i];
14312
+ if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
14313
+ var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
14314
+ try {
14315
+ // Avoid failures from read-only properties
14316
+ defineProperty(targetComponent, key, descriptor);
14317
+ } catch (e) {}
14318
+ }
14319
+ }
14320
+ }
14321
+ return targetComponent;
14322
+ }
14323
+ hoistNonReactStatics_cjs = hoistNonReactStatics;
14324
+ return hoistNonReactStatics_cjs;
14325
+ }
14326
+
14327
+ requireHoistNonReactStatics_cjs();
14328
+
13965
14329
  var isBrowser = true;
13966
14330
  function getRegisteredStyles(registered, registeredStyles, classNames) {
13967
14331
  var rawClassName = '';
@@ -14264,6 +14628,7 @@ var syncFallback = function syncFallback(create) {
14264
14628
  };
14265
14629
  var useInsertionEffect$1 = React__namespace['useInsertion' + 'Effect'] ? React__namespace['useInsertion' + 'Effect'] : false;
14266
14630
  var useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect$1 || syncFallback;
14631
+ var useInsertionEffectWithLayoutFallback = useInsertionEffect$1 || React__namespace.useLayoutEffect;
14267
14632
 
14268
14633
  var EmotionCacheContext = /* #__PURE__ */ React__namespace.createContext(// because this module is primarily intended for the browser and node
14269
14634
  // but it's also required in react native and similar environments sometimes
@@ -14303,6 +14668,153 @@ var ThemeProvider$1 = function ThemeProvider(props) {
14303
14668
  value: theme
14304
14669
  }, props.children);
14305
14670
  };
14671
+ var hasOwn = {}.hasOwnProperty;
14672
+ var typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';
14673
+ var createEmotionProps = function createEmotionProps(type, props) {
14674
+ var newProps = {};
14675
+ for(var _key in props){
14676
+ if (hasOwn.call(props, _key)) {
14677
+ newProps[_key] = props[_key];
14678
+ }
14679
+ }
14680
+ newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:
14681
+ return newProps;
14682
+ };
14683
+ var Insertion$1 = function Insertion(_ref) {
14684
+ var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag;
14685
+ registerStyles(cache, serialized, isStringTag);
14686
+ useInsertionEffectAlwaysWithSyncFallback(function() {
14687
+ return insertStyles(cache, serialized, isStringTag);
14688
+ });
14689
+ return null;
14690
+ };
14691
+ var Emotion = /* #__PURE__ */ withEmotionCache(function(props, cache, ref) {
14692
+ var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works
14693
+ // not passing the registered cache to serializeStyles because it would
14694
+ // make certain babel optimisations not possible
14695
+ if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {
14696
+ cssProp = cache.registered[cssProp];
14697
+ }
14698
+ var WrappedComponent = props[typePropName];
14699
+ var registeredStyles = [
14700
+ cssProp
14701
+ ];
14702
+ var className = '';
14703
+ if (typeof props.className === 'string') {
14704
+ className = getRegisteredStyles(cache.registered, registeredStyles, props.className);
14705
+ } else if (props.className != null) {
14706
+ className = props.className + " ";
14707
+ }
14708
+ var serialized = serializeStyles(registeredStyles, undefined, React__namespace.useContext(ThemeContext$1));
14709
+ className += cache.key + "-" + serialized.name;
14710
+ var newProps = {};
14711
+ for(var _key2 in props){
14712
+ if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && true) {
14713
+ newProps[_key2] = props[_key2];
14714
+ }
14715
+ }
14716
+ newProps.className = className;
14717
+ if (ref) {
14718
+ newProps.ref = ref;
14719
+ }
14720
+ return /*#__PURE__*/ React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/ React__namespace.createElement(Insertion$1, {
14721
+ cache: cache,
14722
+ serialized: serialized,
14723
+ isStringTag: typeof WrappedComponent === 'string'
14724
+ }), /*#__PURE__*/ React__namespace.createElement(WrappedComponent, newProps));
14725
+ });
14726
+ var Emotion$1 = Emotion;
14727
+
14728
+ var jsx = function jsx(type, props) {
14729
+ // eslint-disable-next-line prefer-rest-params
14730
+ var args = arguments;
14731
+ if (props == null || !hasOwn.call(props, 'css')) {
14732
+ return React__namespace.createElement.apply(undefined, args);
14733
+ }
14734
+ var argsLength = args.length;
14735
+ var createElementArgArray = new Array(argsLength);
14736
+ createElementArgArray[0] = Emotion$1;
14737
+ createElementArgArray[1] = createEmotionProps(type, props);
14738
+ for(var i = 2; i < argsLength; i++){
14739
+ createElementArgArray[i] = args[i];
14740
+ }
14741
+ return React__namespace.createElement.apply(null, createElementArgArray);
14742
+ };
14743
+ (function(_jsx) {
14744
+ var JSX;
14745
+ (function(_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));
14746
+ })(jsx || (jsx = {}));
14747
+ // initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild
14748
+ // initial client-side render from SSR, use place of hydrating tag
14749
+ var Global = /* #__PURE__ */ withEmotionCache(function(props, cache) {
14750
+ var styles = props.styles;
14751
+ var serialized = serializeStyles([
14752
+ styles
14753
+ ], undefined, React__namespace.useContext(ThemeContext$1));
14754
+ // but it is based on a constant that will never change at runtime
14755
+ // it's effectively like having two implementations and switching them out
14756
+ // so it's not actually breaking anything
14757
+ var sheetRef = React__namespace.useRef();
14758
+ useInsertionEffectWithLayoutFallback(function() {
14759
+ var key = cache.key + "-global"; // use case of https://github.com/emotion-js/emotion/issues/2675
14760
+ var sheet = new cache.sheet.constructor({
14761
+ key: key,
14762
+ nonce: cache.sheet.nonce,
14763
+ container: cache.sheet.container,
14764
+ speedy: cache.sheet.isSpeedy
14765
+ });
14766
+ var rehydrating = false;
14767
+ var node = document.querySelector("style[data-emotion=\"" + key + " " + serialized.name + "\"]");
14768
+ if (cache.sheet.tags.length) {
14769
+ sheet.before = cache.sheet.tags[0];
14770
+ }
14771
+ if (node !== null) {
14772
+ rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s
14773
+ node.setAttribute('data-emotion', key);
14774
+ sheet.hydrate([
14775
+ node
14776
+ ]);
14777
+ }
14778
+ sheetRef.current = [
14779
+ sheet,
14780
+ rehydrating
14781
+ ];
14782
+ return function() {
14783
+ sheet.flush();
14784
+ };
14785
+ }, [
14786
+ cache
14787
+ ]);
14788
+ useInsertionEffectWithLayoutFallback(function() {
14789
+ var sheetRefCurrent = sheetRef.current;
14790
+ var sheet = sheetRefCurrent[0], rehydrating = sheetRefCurrent[1];
14791
+ if (rehydrating) {
14792
+ sheetRefCurrent[1] = false;
14793
+ return;
14794
+ }
14795
+ if (serialized.next !== undefined) {
14796
+ // insert keyframes
14797
+ insertStyles(cache, serialized.next, true);
14798
+ }
14799
+ if (sheet.tags.length) {
14800
+ // if this doesn't exist then it will be null so the style element will be appended
14801
+ var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;
14802
+ sheet.before = element;
14803
+ sheet.flush();
14804
+ }
14805
+ cache.insert("", serialized, sheet, false);
14806
+ }, [
14807
+ cache,
14808
+ serialized.name
14809
+ ]);
14810
+ return null;
14811
+ });
14812
+ function css() {
14813
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
14814
+ args[_key] = arguments[_key];
14815
+ }
14816
+ return serializeStyles(args);
14817
+ }
14306
14818
 
14307
14819
  const lightTheme = {
14308
14820
  colors: {
@@ -14410,9 +14922,15 @@ const ThemeProvider = ({ children, theme: propTheme })=>{
14410
14922
  return propTheme;
14411
14923
  }
14412
14924
  // Only check localStorage if no theme prop is provided
14413
- const savedTheme = localStorage.getItem("theme");
14414
- if (savedTheme === "dark") {
14415
- return darkTheme;
14925
+ // Handle cases where localStorage might not be available (e.g., test environments)
14926
+ try {
14927
+ const savedTheme = localStorage.getItem("theme");
14928
+ if (savedTheme === "dark") {
14929
+ return darkTheme;
14930
+ }
14931
+ } catch (e) {
14932
+ // localStorage not available, fall back to light theme
14933
+ // This can happen in test environments or when localStorage is disabled
14416
14934
  }
14417
14935
  return lightTheme;
14418
14936
  });
@@ -14431,11 +14949,15 @@ const ThemeProvider = ({ children, theme: propTheme })=>{
14431
14949
  return;
14432
14950
  }
14433
14951
  const handleStorageChange = ()=>{
14434
- const savedTheme = localStorage.getItem("theme");
14435
- if (savedTheme === "dark") {
14436
- setCurrentTheme(darkTheme);
14437
- } else {
14438
- setCurrentTheme(lightTheme);
14952
+ try {
14953
+ const savedTheme = localStorage.getItem("theme");
14954
+ if (savedTheme === "dark") {
14955
+ setCurrentTheme(darkTheme);
14956
+ } else {
14957
+ setCurrentTheme(lightTheme);
14958
+ }
14959
+ } catch (e) {
14960
+ // localStorage not available, ignore storage changes
14439
14961
  }
14440
14962
  };
14441
14963
  // Listen for storage events (when localStorage changes in other tabs)
@@ -17041,15 +17563,24 @@ const NodeIcon$3 = styled.div`
17041
17563
  `;
17042
17564
 
17043
17565
  // Helper function to get node icon
17044
- const getNodeIcon = (modelProvider)=>{
17566
+ const getNodeIcon = (modelProvider, size = 16)=>{
17045
17567
  if (modelProvider === "OpenAI") {
17046
- return /*#__PURE__*/ React.createElement(OpenAIIcon, null);
17568
+ return /*#__PURE__*/ React.createElement(OpenAIIcon, {
17569
+ width: size,
17570
+ height: size
17571
+ });
17047
17572
  }
17048
17573
  if (modelProvider === "Anthropic") {
17049
- return /*#__PURE__*/ React.createElement(AnthropicIcon, null);
17574
+ return /*#__PURE__*/ React.createElement(AnthropicIcon, {
17575
+ width: size,
17576
+ height: size
17577
+ });
17050
17578
  }
17051
17579
  if (modelProvider === "Google" || modelProvider === "Vertex_AI") {
17052
- return /*#__PURE__*/ React.createElement(GoogleIcon, null);
17580
+ return /*#__PURE__*/ React.createElement(GoogleIcon, {
17581
+ width: size,
17582
+ height: size
17583
+ });
17053
17584
  }
17054
17585
  return "🤖";
17055
17586
  };
@@ -17872,7 +18403,7 @@ function useControllableState$1({ prop, defaultProp, onChange = ()=>{}, caller }
17872
18403
  }
17873
18404
  const setValue = React__namespace.useCallback((nextValue)=>{
17874
18405
  if (isControlled) {
17875
- const value2 = isFunction$1(nextValue) ? nextValue(prop) : nextValue;
18406
+ const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
17876
18407
  if (value2 !== prop) {
17877
18408
  onChangeRef.current?.(value2);
17878
18409
  }
@@ -17914,7 +18445,7 @@ function useUncontrolledState$1({ defaultProp, onChange }) {
17914
18445
  onChangeRef
17915
18446
  ];
17916
18447
  }
17917
- function isFunction$1(value) {
18448
+ function isFunction(value) {
17918
18449
  return typeof value === "function";
17919
18450
  }
17920
18451
 
@@ -19727,23 +20258,23 @@ var Dialog = (props)=>{
19727
20258
  });
19728
20259
  };
19729
20260
  Dialog.displayName = DIALOG_NAME;
19730
- var TRIGGER_NAME$2 = "DialogTrigger";
20261
+ var TRIGGER_NAME$1 = "DialogTrigger";
19731
20262
  var DialogTrigger = React__namespace.forwardRef((props, forwardedRef)=>{
19732
20263
  const { __scopeDialog, ...triggerProps } = props;
19733
- const context = useDialogContext(TRIGGER_NAME$2, __scopeDialog);
20264
+ const context = useDialogContext(TRIGGER_NAME$1, __scopeDialog);
19734
20265
  const composedTriggerRef = useComposedRefs$1(forwardedRef, context.triggerRef);
19735
20266
  return /* @__PURE__ */ jsxRuntime.jsx(Primitive.button, {
19736
20267
  type: "button",
19737
20268
  "aria-haspopup": "dialog",
19738
20269
  "aria-expanded": context.open,
19739
20270
  "aria-controls": context.contentId,
19740
- "data-state": getState$1(context.open),
20271
+ "data-state": getState(context.open),
19741
20272
  ...triggerProps,
19742
20273
  ref: composedTriggerRef,
19743
20274
  onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
19744
20275
  });
19745
20276
  });
19746
- DialogTrigger.displayName = TRIGGER_NAME$2;
20277
+ DialogTrigger.displayName = TRIGGER_NAME$1;
19747
20278
  var PORTAL_NAME$1 = "DialogPortal";
19748
20279
  var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME$1, {
19749
20280
  forceMount: void 0
@@ -19792,7 +20323,7 @@ var DialogOverlayImpl = React__namespace.forwardRef((props, forwardedRef)=>{
19792
20323
  context.contentRef
19793
20324
  ],
19794
20325
  children: /* @__PURE__ */ jsxRuntime.jsx(Primitive.div, {
19795
- "data-state": getState$1(context.open),
20326
+ "data-state": getState(context.open),
19796
20327
  ...overlayProps,
19797
20328
  ref: forwardedRef,
19798
20329
  style: {
@@ -19899,7 +20430,7 @@ var DialogContentImpl = React__namespace.forwardRef((props, forwardedRef)=>{
19899
20430
  id: context.contentId,
19900
20431
  "aria-describedby": context.descriptionId,
19901
20432
  "aria-labelledby": context.titleId,
19902
- "data-state": getState$1(context.open),
20433
+ "data-state": getState(context.open),
19903
20434
  ...contentProps,
19904
20435
  ref: composedRefs,
19905
20436
  onDismiss: ()=>context.onOpenChange(false)
@@ -19953,7 +20484,7 @@ var DialogClose = React__namespace.forwardRef((props, forwardedRef)=>{
19953
20484
  });
19954
20485
  });
19955
20486
  DialogClose.displayName = CLOSE_NAME;
19956
- function getState$1(open) {
20487
+ function getState(open) {
19957
20488
  return open ? "open" : "closed";
19958
20489
  }
19959
20490
  var TITLE_WARNING_NAME = "DialogTitleWarning";
@@ -23526,11 +24057,11 @@ var Select$1 = (props)=>{
23526
24057
  });
23527
24058
  };
23528
24059
  Select$1.displayName = SELECT_NAME;
23529
- var TRIGGER_NAME$1 = "SelectTrigger";
24060
+ var TRIGGER_NAME = "SelectTrigger";
23530
24061
  var SelectTrigger$1 = React__namespace.forwardRef((props, forwardedRef)=>{
23531
24062
  const { __scopeSelect, disabled = false, ...triggerProps } = props;
23532
24063
  const popperScope = usePopperScope(__scopeSelect);
23533
- const context = useSelectContext(TRIGGER_NAME$1, __scopeSelect);
24064
+ const context = useSelectContext(TRIGGER_NAME, __scopeSelect);
23534
24065
  const isDisabled = context.disabled || disabled;
23535
24066
  const composedRefs = useComposedRefs$1(forwardedRef, context.onTriggerChange);
23536
24067
  const getItems = useCollection(__scopeSelect);
@@ -23602,7 +24133,7 @@ var SelectTrigger$1 = React__namespace.forwardRef((props, forwardedRef)=>{
23602
24133
  })
23603
24134
  });
23604
24135
  });
23605
- SelectTrigger$1.displayName = TRIGGER_NAME$1;
24136
+ SelectTrigger$1.displayName = TRIGGER_NAME;
23606
24137
  var VALUE_NAME = "SelectValue";
23607
24138
  var SelectValue$1 = React__namespace.forwardRef((props, forwardedRef)=>{
23608
24139
  const { __scopeSelect, className, style, children, placeholder = "", ...valueProps } = props;
@@ -24463,7 +24994,7 @@ var SelectArrow = React__namespace.forwardRef((props, forwardedRef)=>{
24463
24994
  }) : null;
24464
24995
  });
24465
24996
  SelectArrow.displayName = ARROW_NAME;
24466
- var BUBBLE_INPUT_NAME$1 = "SelectBubbleInput";
24997
+ var BUBBLE_INPUT_NAME = "SelectBubbleInput";
24467
24998
  var SelectBubbleInput = React__namespace.forwardRef(({ __scopeSelect, value, ...props }, forwardedRef)=>{
24468
24999
  const ref = React__namespace.useRef(null);
24469
25000
  const composedRefs = useComposedRefs$1(forwardedRef, ref);
@@ -24495,7 +25026,7 @@ var SelectBubbleInput = React__namespace.forwardRef(({ __scopeSelect, value, ...
24495
25026
  defaultValue: value
24496
25027
  });
24497
25028
  });
24498
- SelectBubbleInput.displayName = BUBBLE_INPUT_NAME$1;
25029
+ SelectBubbleInput.displayName = BUBBLE_INPUT_NAME;
24499
25030
  function shouldShowPlaceholder(value) {
24500
25031
  return value === "" || value === void 0;
24501
25032
  }
@@ -24955,240 +25486,6 @@ const FileSelector = ({ files, currentFile, onFileSelect, onRefresh, loading = f
24955
25486
  }, loading ? /*#__PURE__*/ React.createElement(LoadingIcon, null) : /*#__PURE__*/ React.createElement(RefreshIcon, null)));
24956
25487
  };
24957
25488
 
24958
- var CHECKBOX_NAME = "Checkbox";
24959
- var [createCheckboxContext] = createContextScope(CHECKBOX_NAME);
24960
- var [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);
24961
- function CheckboxProvider(props) {
24962
- const { __scopeCheckbox, checked: checkedProp, children, defaultChecked, disabled, form, name, onCheckedChange, required, value = "on", // @ts-expect-error
24963
- internal_do_not_use_render } = props;
24964
- const [checked, setChecked] = useControllableState$1({
24965
- prop: checkedProp,
24966
- defaultProp: defaultChecked ?? false,
24967
- onChange: onCheckedChange,
24968
- caller: CHECKBOX_NAME
24969
- });
24970
- const [control, setControl] = React__namespace.useState(null);
24971
- const [bubbleInput, setBubbleInput] = React__namespace.useState(null);
24972
- const hasConsumerStoppedPropagationRef = React__namespace.useRef(false);
24973
- const isFormControl = control ? !!form || !!control.closest("form") : // We set this to true by default so that events bubble to forms without JS (SSR)
24974
- true;
24975
- const context = {
24976
- checked,
24977
- disabled,
24978
- setChecked,
24979
- control,
24980
- setControl,
24981
- name,
24982
- form,
24983
- value,
24984
- hasConsumerStoppedPropagationRef,
24985
- required,
24986
- defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,
24987
- isFormControl,
24988
- bubbleInput,
24989
- setBubbleInput
24990
- };
24991
- return /* @__PURE__ */ jsxRuntime.jsx(CheckboxProviderImpl, {
24992
- scope: __scopeCheckbox,
24993
- ...context,
24994
- children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children
24995
- });
24996
- }
24997
- var TRIGGER_NAME = "CheckboxTrigger";
24998
- var CheckboxTrigger = React__namespace.forwardRef(({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef)=>{
24999
- const { control, value, disabled, checked, required, setControl, setChecked, hasConsumerStoppedPropagationRef, isFormControl, bubbleInput } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);
25000
- const composedRefs = useComposedRefs$1(forwardedRef, setControl);
25001
- const initialCheckedStateRef = React__namespace.useRef(checked);
25002
- React__namespace.useEffect(()=>{
25003
- const form = control?.form;
25004
- if (form) {
25005
- const reset = ()=>setChecked(initialCheckedStateRef.current);
25006
- form.addEventListener("reset", reset);
25007
- return ()=>form.removeEventListener("reset", reset);
25008
- }
25009
- }, [
25010
- control,
25011
- setChecked
25012
- ]);
25013
- return /* @__PURE__ */ jsxRuntime.jsx(Primitive.button, {
25014
- type: "button",
25015
- role: "checkbox",
25016
- "aria-checked": isIndeterminate(checked) ? "mixed" : checked,
25017
- "aria-required": required,
25018
- "data-state": getState(checked),
25019
- "data-disabled": disabled ? "" : void 0,
25020
- disabled,
25021
- value,
25022
- ...checkboxProps,
25023
- ref: composedRefs,
25024
- onKeyDown: composeEventHandlers(onKeyDown, (event)=>{
25025
- if (event.key === "Enter") event.preventDefault();
25026
- }),
25027
- onClick: composeEventHandlers(onClick, (event)=>{
25028
- setChecked((prevChecked)=>isIndeterminate(prevChecked) ? true : !prevChecked);
25029
- if (bubbleInput && isFormControl) {
25030
- hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
25031
- if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
25032
- }
25033
- })
25034
- });
25035
- });
25036
- CheckboxTrigger.displayName = TRIGGER_NAME;
25037
- var Checkbox$1 = React__namespace.forwardRef((props, forwardedRef)=>{
25038
- const { __scopeCheckbox, name, checked, defaultChecked, required, disabled, value, onCheckedChange, form, ...checkboxProps } = props;
25039
- return /* @__PURE__ */ jsxRuntime.jsx(CheckboxProvider, {
25040
- __scopeCheckbox,
25041
- checked,
25042
- defaultChecked,
25043
- disabled,
25044
- required,
25045
- onCheckedChange,
25046
- name,
25047
- form,
25048
- value,
25049
- internal_do_not_use_render: ({ isFormControl })=>/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
25050
- children: [
25051
- /* @__PURE__ */ jsxRuntime.jsx(CheckboxTrigger, {
25052
- ...checkboxProps,
25053
- ref: forwardedRef,
25054
- __scopeCheckbox
25055
- }),
25056
- isFormControl && /* @__PURE__ */ jsxRuntime.jsx(CheckboxBubbleInput, {
25057
- __scopeCheckbox
25058
- })
25059
- ]
25060
- })
25061
- });
25062
- });
25063
- Checkbox$1.displayName = CHECKBOX_NAME;
25064
- var INDICATOR_NAME = "CheckboxIndicator";
25065
- var CheckboxIndicator$1 = React__namespace.forwardRef((props, forwardedRef)=>{
25066
- const { __scopeCheckbox, forceMount, ...indicatorProps } = props;
25067
- const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);
25068
- return /* @__PURE__ */ jsxRuntime.jsx(Presence, {
25069
- present: forceMount || isIndeterminate(context.checked) || context.checked === true,
25070
- children: /* @__PURE__ */ jsxRuntime.jsx(Primitive.span, {
25071
- "data-state": getState(context.checked),
25072
- "data-disabled": context.disabled ? "" : void 0,
25073
- ...indicatorProps,
25074
- ref: forwardedRef,
25075
- style: {
25076
- pointerEvents: "none",
25077
- ...props.style
25078
- }
25079
- })
25080
- });
25081
- });
25082
- CheckboxIndicator$1.displayName = INDICATOR_NAME;
25083
- var BUBBLE_INPUT_NAME = "CheckboxBubbleInput";
25084
- var CheckboxBubbleInput = React__namespace.forwardRef(({ __scopeCheckbox, ...props }, forwardedRef)=>{
25085
- const { control, hasConsumerStoppedPropagationRef, checked, defaultChecked, required, disabled, name, value, form, bubbleInput, setBubbleInput } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);
25086
- const composedRefs = useComposedRefs$1(forwardedRef, setBubbleInput);
25087
- const prevChecked = usePrevious(checked);
25088
- const controlSize = useSize(control);
25089
- React__namespace.useEffect(()=>{
25090
- const input = bubbleInput;
25091
- if (!input) return;
25092
- const inputProto = window.HTMLInputElement.prototype;
25093
- const descriptor = Object.getOwnPropertyDescriptor(inputProto, "checked");
25094
- const setChecked = descriptor.set;
25095
- const bubbles = !hasConsumerStoppedPropagationRef.current;
25096
- if (prevChecked !== checked && setChecked) {
25097
- const event = new Event("click", {
25098
- bubbles
25099
- });
25100
- input.indeterminate = isIndeterminate(checked);
25101
- setChecked.call(input, isIndeterminate(checked) ? false : checked);
25102
- input.dispatchEvent(event);
25103
- }
25104
- }, [
25105
- bubbleInput,
25106
- prevChecked,
25107
- checked,
25108
- hasConsumerStoppedPropagationRef
25109
- ]);
25110
- const defaultCheckedRef = React__namespace.useRef(isIndeterminate(checked) ? false : checked);
25111
- return /* @__PURE__ */ jsxRuntime.jsx(Primitive.input, {
25112
- type: "checkbox",
25113
- "aria-hidden": true,
25114
- defaultChecked: defaultChecked ?? defaultCheckedRef.current,
25115
- required,
25116
- disabled,
25117
- name,
25118
- value,
25119
- form,
25120
- ...props,
25121
- tabIndex: -1,
25122
- ref: composedRefs,
25123
- style: {
25124
- ...props.style,
25125
- ...controlSize,
25126
- position: "absolute",
25127
- pointerEvents: "none",
25128
- opacity: 0,
25129
- margin: 0,
25130
- // We transform because the input is absolutely positioned but we have
25131
- // rendered it **after** the button. This pulls it back to sit on top
25132
- // of the button.
25133
- transform: "translateX(-100%)"
25134
- }
25135
- });
25136
- });
25137
- CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;
25138
- function isFunction(value) {
25139
- return typeof value === "function";
25140
- }
25141
- function isIndeterminate(checked) {
25142
- return checked === "indeterminate";
25143
- }
25144
- function getState(checked) {
25145
- return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
25146
- }
25147
-
25148
- const CheckboxRoot = styled(Checkbox$1)`
25149
- display: flex;
25150
- align-items: center;
25151
- justify-content: center;
25152
- height: 1rem;
25153
- width: 1rem;
25154
- flex-shrink: 0;
25155
- border-radius: 0.125rem;
25156
- border: 1px solid #6366f1;
25157
- background-color: transparent;
25158
- outline: none;
25159
- transition: all 0.2s ease-in-out;
25160
-
25161
- &:focus-visible {
25162
- outline: none;
25163
- box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);
25164
- }
25165
-
25166
- &:disabled {
25167
- cursor: not-allowed;
25168
- opacity: 0.5;
25169
- }
25170
-
25171
- &[data-state="checked"] {
25172
- background-color: #6366f1;
25173
- color: white;
25174
- }
25175
- `;
25176
- const CheckboxIndicator = styled(CheckboxIndicator$1)`
25177
- display: flex;
25178
- align-items: center;
25179
- justify-content: center;
25180
- color: currentColor;
25181
- `;
25182
- const CheckIcon = styled(Check)`
25183
- height: 1rem;
25184
- width: 1rem;
25185
- `;
25186
- const Checkbox = /*#__PURE__*/ React__namespace.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ React__namespace.createElement(CheckboxRoot, {
25187
- ref: ref,
25188
- ...props
25189
- }, /*#__PURE__*/ React__namespace.createElement(CheckboxIndicator, null, /*#__PURE__*/ React__namespace.createElement(CheckIcon, null))));
25190
- Checkbox.displayName = Checkbox$1.displayName;
25191
-
25192
25489
  function __insertCSS(code) {
25193
25490
  if (typeof document == 'undefined') return;
25194
25491
  let head = document.head || document.getElementsByTagName('head')[0];
@@ -26811,7 +27108,7 @@ const DrawerOverlay = /*#__PURE__*/ React__namespace.forwardRef(({ className, ..
26811
27108
  bottom: 0,
26812
27109
  left: 0,
26813
27110
  zIndex: 50,
26814
- backgroundColor: "rgba(0, 0, 0, 0.8)"
27111
+ backgroundColor: "rgba(0, 0, 0, 0.3)"
26815
27112
  },
26816
27113
  className: className,
26817
27114
  ...props
@@ -26870,7 +27167,183 @@ const DrawerDescription = /*#__PURE__*/ React__namespace.forwardRef(({ className
26870
27167
  DrawerDescription.displayName = Drawer$1.Description.displayName;
26871
27168
 
26872
27169
  const GlobalStyles = ()=>{
26873
- return null;
27170
+ const systemFontStack = '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"';
27171
+ return /*#__PURE__*/ React.createElement(Global, {
27172
+ styles: css`
27173
+ * {
27174
+ box-sizing: border-box;
27175
+ border-color: #e5e7eb;
27176
+ font-family: ${systemFontStack};
27177
+ }
27178
+
27179
+ html,
27180
+ body {
27181
+ margin: 0;
27182
+ padding: 0;
27183
+ background-color: #ffffff;
27184
+ color: #1f2937;
27185
+ font-family: ${systemFontStack};
27186
+ line-height: 1.5;
27187
+ -webkit-font-smoothing: antialiased;
27188
+ -moz-osx-font-smoothing: grayscale;
27189
+ transition:
27190
+ background-color 0.2s ease-in-out,
27191
+ color 0.2s ease-in-out;
27192
+ }
27193
+
27194
+ /* Dark theme styles */
27195
+ html.dark,
27196
+ html.dark body {
27197
+ background-color: #0f172a;
27198
+ color: #f1f5f9;
27199
+ }
27200
+
27201
+ /* XYFlow overrides */
27202
+ .react-flow__edge {
27203
+ cursor: default !important;
27204
+ }
27205
+
27206
+ .react-flow__edge-path {
27207
+ cursor: default !important;
27208
+ }
27209
+
27210
+ .react-flow__edge-label {
27211
+ font-size: 10px;
27212
+ background: white;
27213
+ padding: 2px 4px;
27214
+ border-radius: 4px;
27215
+ border: 1px solid #e5e7eb;
27216
+ max-width: 150px;
27217
+ overflow: hidden;
27218
+ text-overflow: ellipsis;
27219
+ white-space: nowrap;
27220
+ }
27221
+
27222
+ /* Dark theme XYFlow overrides */
27223
+ html.dark .react-flow__edge-label {
27224
+ background: #1e293b;
27225
+ border: 1px solid #475569;
27226
+ color: #f1f5f9;
27227
+ }
27228
+
27229
+ /* Radix UI Select styles */
27230
+ [data-radix-select-trigger],
27231
+ .shadcn-select {
27232
+ display: flex;
27233
+ height: 2.5rem;
27234
+ width: 100%;
27235
+ align-items: center;
27236
+ justify-content: space-between;
27237
+ border-radius: 0.375rem;
27238
+ border: 1px solid #e5e7eb;
27239
+ background-color: #ffffff;
27240
+ padding: 0.5rem 0.75rem;
27241
+ font-size: 0.875rem;
27242
+ line-height: 1.25rem;
27243
+ outline: none;
27244
+ transition: all 0.2s ease-in-out;
27245
+ }
27246
+
27247
+ /* Dark theme select styles */
27248
+ html.dark [data-radix-select-trigger],
27249
+ html.dark .shadcn-select {
27250
+ border: 1px solid #475569;
27251
+ background-color: #1e293b;
27252
+ color: #f1f5f9;
27253
+ }
27254
+
27255
+ [data-radix-select-trigger]:focus,
27256
+ .shadcn-select:focus {
27257
+ outline: none;
27258
+ box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);
27259
+ }
27260
+
27261
+ [data-radix-select-trigger]:disabled,
27262
+ .shadcn-select:disabled {
27263
+ cursor: not-allowed;
27264
+ opacity: 0.5;
27265
+ }
27266
+
27267
+ /* File selector refresh button styles */
27268
+ .file-selector-refresh-btn {
27269
+ padding: 0.5rem;
27270
+ border-radius: 0.375rem;
27271
+ border: 1px solid #e5e7eb;
27272
+ background-color: #ffffff;
27273
+ transition: all 0.2s ease-in-out;
27274
+ }
27275
+
27276
+ .file-selector-refresh-btn:hover {
27277
+ background-color: #f3f4f6;
27278
+ color: #374151;
27279
+ }
27280
+
27281
+ .file-selector-refresh-btn:disabled {
27282
+ opacity: 0.5;
27283
+ cursor: not-allowed;
27284
+ }
27285
+
27286
+ /* Dark theme file selector refresh button */
27287
+ html.dark .file-selector-refresh-btn {
27288
+ border: 1px solid #475569;
27289
+ background-color: #1e293b;
27290
+ color: #f1f5f9;
27291
+ }
27292
+
27293
+ html.dark .file-selector-refresh-btn:hover {
27294
+ background-color: #334155;
27295
+ color: #f1f5f9;
27296
+ }
27297
+
27298
+ /* CSS Variables for backward compatibility */
27299
+ :root {
27300
+ --background: #ffffff;
27301
+ --foreground: #1f2937;
27302
+ --card: #ffffff;
27303
+ --card-foreground: #1f2937;
27304
+ --popover: #ffffff;
27305
+ --popover-foreground: #1f2937;
27306
+ --primary: #6366f1;
27307
+ --primary-foreground: #ffffff;
27308
+ --secondary: #f3f4f6;
27309
+ --secondary-foreground: #1f2937;
27310
+ --muted: #f3f4f6;
27311
+ --muted-foreground: #6b7280;
27312
+ --accent: #f3f4f6;
27313
+ --accent-foreground: #1f2937;
27314
+ --destructive: #ef4444;
27315
+ --destructive-foreground: #ffffff;
27316
+ --border: #e5e7eb;
27317
+ --input: #e5e7eb;
27318
+ --ring: #6366f1;
27319
+ --radius: 0.5rem;
27320
+ }
27321
+
27322
+ /* Dark theme CSS variables */
27323
+ html.dark {
27324
+ --background: #0f172a;
27325
+ --foreground: #f1f5f9;
27326
+ --card: #1e293b;
27327
+ --card-foreground: #f1f5f9;
27328
+ --popover: #1e293b;
27329
+ --popover-foreground: #f1f5f9;
27330
+ --primary: #6366f1;
27331
+ --primary-foreground: #ffffff;
27332
+ --secondary: #334155;
27333
+ --secondary-foreground: #f1f5f9;
27334
+ --muted: #334155;
27335
+ --muted-foreground: #94a3b8;
27336
+ --accent: #334155;
27337
+ --accent-foreground: #f1f5f9;
27338
+ --destructive: #ef4444;
27339
+ --destructive-foreground: #ffffff;
27340
+ --border: #475569;
27341
+ --input: #475569;
27342
+ --ring: #6366f1;
27343
+ --radius: 0.5rem;
27344
+ }
27345
+ `
27346
+ });
26874
27347
  };
26875
27348
 
26876
27349
  /**
@@ -27012,7 +27485,6 @@ const GlobalStyles = ()=>{
27012
27485
  exports.AgenticFlowVisualizer = AgenticFlowVisualizer;
27013
27486
  exports.AnthropicIcon = AnthropicIcon;
27014
27487
  exports.Badge = Badge;
27015
- exports.Checkbox = Checkbox;
27016
27488
  exports.Drawer = Drawer;
27017
27489
  exports.Edge = Edge;
27018
27490
  exports.FileSelector = FileSelector;