Files
hive/frontend/node_modules/react-flow-renderer/dist/esm/useReactFlow-993c30ca.js
anthonyrawlins 85bf1341f3 Add comprehensive frontend UI and distributed infrastructure
Frontend Enhancements:
- Complete React TypeScript frontend with modern UI components
- Distributed workflows management interface with real-time updates
- Socket.IO integration for live agent status monitoring
- Agent management dashboard with cluster visualization
- Project management interface with metrics and task tracking
- Responsive design with proper error handling and loading states

Backend Infrastructure:
- Distributed coordinator for multi-agent workflow orchestration
- Cluster management API with comprehensive agent operations
- Enhanced database models for agents and projects
- Project service for filesystem-based project discovery
- Performance monitoring and metrics collection
- Comprehensive API documentation and error handling

Documentation:
- Complete distributed development guide (README_DISTRIBUTED.md)
- Comprehensive development report with architecture insights
- System configuration templates and deployment guides

The platform now provides a complete web interface for managing the distributed AI cluster
with real-time monitoring, workflow orchestration, and agent coordination capabilities.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-10 08:41:59 +10:00

332 lines
13 KiB
JavaScript

import { J as _arrayLikeToArray, K as _unsupportedIterableToArray, u as useStoreApi, b as useStore, L as getD3Transition, _ as _slicedToArray, N as fitView, G as getTransformForBounds, p as pointToRendererPoint, a as _defineProperty } from './index-a12c80bd.js';
import { useMemo, useCallback } from 'react';
import { zoomIdentity } from 'd3-zoom';
import shallow from 'zustand/shallow';
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _toConsumableArray(arr) {
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
var initialViewportHelper = {
zoomIn: function zoomIn() {},
zoomOut: function zoomOut() {},
zoomTo: function zoomTo(_) {},
getZoom: function getZoom() {
return 1;
},
setViewport: function setViewport(_) {},
getViewport: function getViewport() {
return {
x: 0,
y: 0,
zoom: 1
};
},
fitView: function fitView() {
},
setCenter: function setCenter(_, __) {},
fitBounds: function fitBounds(_) {},
project: function project(position) {
return position;
},
viewportInitialized: false
};
var selector = function selector(s) {
return {
d3Zoom: s.d3Zoom,
d3Selection: s.d3Selection
};
};
var useViewportHelper = function useViewportHelper() {
var store = useStoreApi();
var _useStore = useStore(selector, shallow),
d3Zoom = _useStore.d3Zoom,
d3Selection = _useStore.d3Selection;
var viewportHelperFunctions = useMemo(function () {
if (d3Selection && d3Zoom) {
return {
zoomIn: function zoomIn(options) {
return d3Zoom.scaleBy(getD3Transition(d3Selection, options === null || options === void 0 ? void 0 : options.duration), 1.2);
},
zoomOut: function zoomOut(options) {
return d3Zoom.scaleBy(getD3Transition(d3Selection, options === null || options === void 0 ? void 0 : options.duration), 1 / 1.2);
},
zoomTo: function zoomTo(zoomLevel, options) {
return d3Zoom.scaleTo(getD3Transition(d3Selection, options === null || options === void 0 ? void 0 : options.duration), zoomLevel);
},
getZoom: function getZoom() {
return store.getState().transform[2];
},
setViewport: function setViewport(transform, options) {
var _transform$x, _transform$y, _transform$zoom;
var _store$getState$trans = _slicedToArray(store.getState().transform, 3),
x = _store$getState$trans[0],
y = _store$getState$trans[1],
zoom = _store$getState$trans[2];
var nextTransform = zoomIdentity.translate((_transform$x = transform.x) !== null && _transform$x !== void 0 ? _transform$x : x, (_transform$y = transform.y) !== null && _transform$y !== void 0 ? _transform$y : y).scale((_transform$zoom = transform.zoom) !== null && _transform$zoom !== void 0 ? _transform$zoom : zoom);
d3Zoom.transform(getD3Transition(d3Selection, options === null || options === void 0 ? void 0 : options.duration), nextTransform);
},
getViewport: function getViewport() {
var _store$getState$trans2 = _slicedToArray(store.getState().transform, 3),
x = _store$getState$trans2[0],
y = _store$getState$trans2[1],
zoom = _store$getState$trans2[2];
return {
x: x,
y: y,
zoom: zoom
};
},
fitView: function fitView$1(options) {
return fitView(store.getState, options);
},
setCenter: function setCenter(x, y, options) {
var _store$getState = store.getState(),
width = _store$getState.width,
height = _store$getState.height,
maxZoom = _store$getState.maxZoom;
var nextZoom = typeof (options === null || options === void 0 ? void 0 : options.zoom) !== 'undefined' ? options.zoom : maxZoom;
var centerX = width / 2 - x * nextZoom;
var centerY = height / 2 - y * nextZoom;
var transform = zoomIdentity.translate(centerX, centerY).scale(nextZoom);
d3Zoom.transform(getD3Transition(d3Selection, options === null || options === void 0 ? void 0 : options.duration), transform);
},
fitBounds: function fitBounds(bounds, options) {
var _options$padding;
var _store$getState2 = store.getState(),
width = _store$getState2.width,
height = _store$getState2.height,
minZoom = _store$getState2.minZoom,
maxZoom = _store$getState2.maxZoom;
var _getTransformForBound = getTransformForBounds(bounds, width, height, minZoom, maxZoom, (_options$padding = options === null || options === void 0 ? void 0 : options.padding) !== null && _options$padding !== void 0 ? _options$padding : 0.1),
_getTransformForBound2 = _slicedToArray(_getTransformForBound, 3),
x = _getTransformForBound2[0],
y = _getTransformForBound2[1],
zoom = _getTransformForBound2[2];
var transform = zoomIdentity.translate(x, y).scale(zoom);
d3Zoom.transform(getD3Transition(d3Selection, options === null || options === void 0 ? void 0 : options.duration), transform);
},
project: function project(position) {
var _store$getState3 = store.getState(),
transform = _store$getState3.transform,
snapToGrid = _store$getState3.snapToGrid,
snapGrid = _store$getState3.snapGrid;
return pointToRendererPoint(position, transform, snapToGrid, snapGrid);
},
viewportInitialized: true
};
}
return initialViewportHelper;
}, [d3Zoom, d3Selection]);
return viewportHelperFunctions;
};
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function useReactFlow() {
var viewportHelper = useViewportHelper();
var store = useStoreApi();
var getNodes = useCallback(function () {
var _store$getState = store.getState(),
nodeInternals = _store$getState.nodeInternals;
var nodes = Array.from(nodeInternals.values());
return nodes.map(function (n) {
return _objectSpread({}, n);
});
}, []);
var getNode = useCallback(function (id) {
var _store$getState2 = store.getState(),
nodeInternals = _store$getState2.nodeInternals;
return nodeInternals.get(id);
}, []);
var getEdges = useCallback(function () {
var _store$getState3 = store.getState(),
_store$getState3$edge = _store$getState3.edges,
edges = _store$getState3$edge === void 0 ? [] : _store$getState3$edge;
return edges.map(function (e) {
return _objectSpread({}, e);
});
}, []);
var getEdge = useCallback(function (id) {
var _store$getState4 = store.getState(),
_store$getState4$edge = _store$getState4.edges,
edges = _store$getState4$edge === void 0 ? [] : _store$getState4$edge;
return edges.find(function (e) {
return e.id === id;
});
}, []);
var setNodes = useCallback(function (payload) {
var _store$getState5 = store.getState(),
nodeInternals = _store$getState5.nodeInternals,
setNodes = _store$getState5.setNodes,
hasDefaultNodes = _store$getState5.hasDefaultNodes,
onNodesChange = _store$getState5.onNodesChange;
var nodes = Array.from(nodeInternals.values());
var nextNodes = typeof payload === 'function' ? payload(nodes) : payload;
if (hasDefaultNodes) {
setNodes(nextNodes);
} else if (onNodesChange) {
var changes = nextNodes.length === 0 ? nodes.map(function (node) {
return {
type: 'remove',
id: node.id
};
}) : nextNodes.map(function (node) {
return {
item: node,
type: 'reset'
};
});
onNodesChange(changes);
}
}, []);
var setEdges = useCallback(function (payload) {
var _store$getState6 = store.getState(),
_store$getState6$edge = _store$getState6.edges,
edges = _store$getState6$edge === void 0 ? [] : _store$getState6$edge,
setEdges = _store$getState6.setEdges,
hasDefaultEdges = _store$getState6.hasDefaultEdges,
onEdgesChange = _store$getState6.onEdgesChange;
var nextEdges = typeof payload === 'function' ? payload(edges) : payload;
if (hasDefaultEdges) {
setEdges(nextEdges);
} else if (onEdgesChange) {
var changes = nextEdges.length === 0 ? edges.map(function (edge) {
return {
type: 'remove',
id: edge.id
};
}) : nextEdges.map(function (edge) {
return {
item: edge,
type: 'reset'
};
});
onEdgesChange(changes);
}
}, []);
var addNodes = useCallback(function (payload) {
var nodes = Array.isArray(payload) ? payload : [payload];
var _store$getState7 = store.getState(),
nodeInternals = _store$getState7.nodeInternals,
setNodes = _store$getState7.setNodes,
hasDefaultNodes = _store$getState7.hasDefaultNodes,
onNodesChange = _store$getState7.onNodesChange;
if (hasDefaultNodes) {
var currentNodes = Array.from(nodeInternals.values());
var nextNodes = [].concat(currentNodes, _toConsumableArray(nodes));
setNodes(nextNodes);
} else if (onNodesChange) {
var changes = nodes.map(function (node) {
return {
item: node,
type: 'add'
};
});
onNodesChange(changes);
}
}, []);
var addEdges = useCallback(function (payload) {
var nextEdges = Array.isArray(payload) ? payload : [payload];
var _store$getState8 = store.getState(),
_store$getState8$edge = _store$getState8.edges,
edges = _store$getState8$edge === void 0 ? [] : _store$getState8$edge,
setEdges = _store$getState8.setEdges,
hasDefaultEdges = _store$getState8.hasDefaultEdges,
onEdgesChange = _store$getState8.onEdgesChange;
if (hasDefaultEdges) {
setEdges([].concat(_toConsumableArray(edges), _toConsumableArray(nextEdges)));
} else if (onEdgesChange) {
var changes = nextEdges.map(function (edge) {
return {
item: edge,
type: 'add'
};
});
onEdgesChange(changes);
}
}, []);
var toObject = useCallback(function () {
var _store$getState9 = store.getState(),
nodeInternals = _store$getState9.nodeInternals,
_store$getState9$edge = _store$getState9.edges,
edges = _store$getState9$edge === void 0 ? [] : _store$getState9$edge,
transform = _store$getState9.transform;
var nodes = Array.from(nodeInternals.values());
var _transform = _slicedToArray(transform, 3),
x = _transform[0],
y = _transform[1],
zoom = _transform[2];
return {
nodes: nodes.map(function (n) {
return _objectSpread({}, n);
}),
edges: edges.map(function (e) {
return _objectSpread({}, e);
}),
viewport: {
x: x,
y: y,
zoom: zoom
}
};
}, []);
return useMemo(function () {
return _objectSpread(_objectSpread({}, viewportHelper), {}, {
getNodes: getNodes,
getNode: getNode,
getEdges: getEdges,
getEdge: getEdge,
setNodes: setNodes,
setEdges: setEdges,
addNodes: addNodes,
addEdges: addEdges,
toObject: toObject
});
}, [viewportHelper, getNodes, getNode, getEdges, getEdge, setNodes, setEdges, addNodes, addEdges, toObject]);
}
export { _toConsumableArray as _, useReactFlow as u };
//# sourceMappingURL=useReactFlow-993c30ca.js.map