local-operator-ui 0.7.0 → 0.7.1

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.
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-D2tWV2AH.js","./fonts-BAmz1ETd.js","./fonts-B9KBGB-g.css","./index-AS2nfHro.js","./pug-By0kVCfm.js","./javascript-C3MnDRiU.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CNh1gZL-.js","./fonts-BAmz1ETd.js","./fonts-B9KBGB-g.css","./index-C3k-SQI7.js","./pug-By0kVCfm.js","./javascript-C3MnDRiU.js"])))=>i.map(i=>d[i]);
2
2
  import { c as createStyled, r as resolveProps, u as useTheme, a as reactExports, b as clsx, d as useForkRef, e as extendSxProp, j as jsxRuntimeExports, h as handleBreakpoints, f as resolveBreakpointValues, g as createUnarySpacing, i as deepmerge, m as mergeBreakpointsInOrder, k as composeClasses, l as generateUtilityClass, n as createTheme$1, o as getValue, R as React, p as getDefaultExportFromCjs, q as requireReactDom, s as React$1, t as generateUtilityClasses, v as useDefaultProps, w as styled$1, x as capitalize, y as memoTheme, _ as _inheritsLoose, z as _objectWithoutPropertiesLoose$i, T as TransitionGroupContext, A as duration, B as useTheme$1, C as useTimeout, D as useId, E as ButtonBase, F as alpha$1, G as createSimplePaletteValueFilter, H as CircularProgress, P as Paper, I as darken, J as lighten, K as useEventCallback, L as useEnhancedEffect, M as useRtl, N as globalCss, O as formatMuiErrorMessage, Q as rootShouldForwardProp, S as Typography, U as getPath$2, V as isFocusVisible, W as typographyClasses, X as slotShouldForwardProp, Y as css$1, Z as keyframes, $ as clamp, a0 as emphasize, a1 as Timeout, a2 as Button, a3 as Box, a4 as FontAwesomeIcon, a5 as faExclamationTriangle, a6 as DEFAULT_THEME, a7 as faChevronLeft, a8 as faChevronRight, a9 as faRobot, aa as faCheck, ab as faTimes, ac as faEraser, ad as faPen, ae as faFileImport, af as faUpload, ag as requireReact, ah as LinearProgress, ai as faComment, aj as faSave, ak as faEdit, al as faTrashAlt, am as faComments, an as faInfoCircle, ao as faGear, ap as faPlus, aq as faServer, ar as faStar, as as faTag, at as faIdCard, au as faCalendarAlt, av as faCodeBranch, aw as faShieldAlt, ax as faArrowLeft, ay as faClock, az as faHome, aA as faDownload, aB as faFileAlt, aC as faDesktop, aD as faImage, aE as faMusic, aF as faVideo, aG as faLaptop, aH as faUsers, aI as faDatabase, aJ as faBoxOpen, aK as faBook, aL as faHdd, aM as faBox, aN as faArchive, aO as faNetworkWired, aP as faFolder, aQ as faFolderOpen, aR as faFolderTree, aS as faChevronDown, aT as faTools, aU as _extends$u, aV as faSliders, aW as faTrash, aX as faArrowDown, aY as faPaperclip, aZ as faStop, a_ as faPaperPlane, a$ as faChevronUp, b0 as faQuestion, b1 as faFile, b2 as faExclamationCircle, b3 as faLightbulb, b4 as faCode, b5 as faCommentDots, b6 as faShare, b7 as faPencilAlt, b8 as faUser, b9 as faCopy, ba as isDevelopmentMode, bb as faCommentSlash, bc as faArrowRight, bd as faBrain, be as faWandMagicSparkles, bf as faExternalLinkAlt, bg as faKey, bh as radientTheme, bi as faGlobe, bj as faSearch, bk as commonjsGlobal, bl as PropTypes, bm as faLock, bn as faSignOut, bo as themes, bp as faMoon, bq as faSun, br as faHexagonNodes, bs as faSkull, bt as faLeaf, bu as faMountain, bv as faFire, bw as faIcicles, bx as faEnvelope, by as faHistory, bz as faListAlt, bA as faAdjust, bB as faCreditCard, bC as faPlusCircle, bD as faChartLine, bE as faShield, bF as library$1, bG as icons$1, bH as CssBaseline, bI as ThemeProvider$1, bJ as getTheme, bK as ReactDOM$1, bL as ErrorBoundary } from "./fonts-BAmz1ETd.js";
3
3
  const styled = createStyled();
4
4
  function getThemeProps(params) {
@@ -35481,7 +35481,7 @@ const Container$1 = styled$1(Box)({
35481
35481
  width: "100%",
35482
35482
  overflow: "hidden"
35483
35483
  });
35484
- const SidebarContainer$7 = styled$1(Box)({
35484
+ const SidebarContainer$8 = styled$1(Box)({
35485
35485
  flexShrink: 0,
35486
35486
  width: 280,
35487
35487
  height: "100%"
@@ -35498,7 +35498,7 @@ const ChatLayout = ({ sidebar, content: content2 }) => {
35498
35498
  (s2) => s2.restoreDefaultChatSidebarWidth
35499
35499
  );
35500
35500
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(Container$1, { children: [
35501
- /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarContainer$7, { style: { width: sidebarWidth }, children: sidebar }),
35501
+ /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarContainer$8, { style: { width: sidebarWidth }, children: sidebar }),
35502
35502
  /* @__PURE__ */ jsxRuntimeExports.jsx(
35503
35503
  ResizableDivider,
35504
35504
  {
@@ -50369,7 +50369,7 @@ const AgentCardContainer = ({
50369
50369
  }
50370
50370
  );
50371
50371
  };
50372
- const SidebarContainer$6 = styled$1(Box)(({ theme: theme2 }) => ({
50372
+ const SidebarContainer$7 = styled$1(Box)(({ theme: theme2 }) => ({
50373
50373
  width: 240,
50374
50374
  minWidth: 200,
50375
50375
  maxWidth: 280,
@@ -50425,7 +50425,7 @@ const AgentCategoriesSidebar = ({
50425
50425
  onSelectCategory
50426
50426
  }) => {
50427
50427
  const categories = Object.keys(CATEGORY_ICON_MAP);
50428
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(SidebarContainer$6, { children: [
50428
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SidebarContainer$7, { children: [
50429
50429
  /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "subtitle1", sx: { px: 2, mb: 1, fontWeight: 600 }, children: "Categories" }),
50430
50430
  /* @__PURE__ */ jsxRuntimeExports.jsxs(CategoryList, { children: [
50431
50431
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -50491,26 +50491,51 @@ const StyledAgentHubContainer = styled$1(Box)(({ theme: theme2 }) => ({
50491
50491
  padding: theme2.spacing(3),
50492
50492
  display: "flex",
50493
50493
  flexDirection: "column",
50494
- height: "100%"
50494
+ height: "100%",
50495
+ minHeight: 0
50495
50496
  }));
50496
50497
  const MainContentRow = styled$1(Box)(({ theme: theme2 }) => ({
50497
50498
  display: "flex",
50498
50499
  flexDirection: "row",
50499
50500
  flexGrow: 1,
50500
50501
  minHeight: 0,
50501
- marginTop: theme2.spacing(2)
50502
+ marginTop: theme2.spacing(2),
50503
+ overflow: "hidden"
50504
+ }));
50505
+ const SidebarContainer$6 = styled$1(Box)(({ theme: theme2 }) => ({
50506
+ flex: "0 0 240px",
50507
+ maxWidth: 240,
50508
+ minWidth: 200,
50509
+ marginRight: theme2.spacing(3),
50510
+ [theme2.breakpoints.down("sm")]: {
50511
+ display: "none"
50512
+ }
50502
50513
  }));
50503
- const StyledGridContainer$1 = styled$1(Grid)(({ theme: theme2 }) => ({
50514
+ const ScrollableContent$1 = styled$1(Box)(() => ({
50515
+ display: "flex",
50516
+ flexDirection: "column",
50517
+ flex: 1,
50518
+ minWidth: 0,
50519
+ maxHeight: "100%",
50520
+ height: "100%",
50521
+ overflow: "hidden"
50522
+ }));
50523
+ const ScrollContainer = styled$1(Box)(({ theme: theme2 }) => ({
50524
+ flex: 1,
50525
+ minHeight: 0,
50504
50526
  overflowY: "auto",
50527
+ overflowX: "hidden",
50505
50528
  padding: theme2.spacing(0, 0),
50506
- flex: 1,
50507
50529
  "&::-webkit-scrollbar": {
50508
50530
  width: "8px"
50509
50531
  },
50510
50532
  "&::-webkit-scrollbar-thumb": {
50511
50533
  backgroundColor: theme2.palette.mode === "dark" ? "rgba(255, 255, 255, 0.1)" : "rgba(0, 0, 0, 0.2)",
50512
50534
  borderRadius: "4px"
50513
- }
50535
+ },
50536
+ // For Firefox
50537
+ scrollbarWidth: "thin",
50538
+ scrollbarColor: theme2.palette.mode === "dark" ? "rgba(255,255,255,0.1) transparent" : "rgba(0,0,0,0.2) transparent"
50514
50539
  }));
50515
50540
  const AgentHubPage = () => {
50516
50541
  const [page, setPage] = reactExports.useState(1);
@@ -50544,14 +50569,14 @@ const AgentHubPage = () => {
50544
50569
  }
50545
50570
  ),
50546
50571
  /* @__PURE__ */ jsxRuntimeExports.jsxs(MainContentRow, { children: [
50547
- /* @__PURE__ */ jsxRuntimeExports.jsx(
50572
+ /* @__PURE__ */ jsxRuntimeExports.jsx(SidebarContainer$6, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
50548
50573
  AgentCategoriesSidebar,
50549
50574
  {
50550
50575
  selectedCategory,
50551
50576
  onSelectCategory: handleSelectCategory
50552
50577
  }
50553
- ),
50554
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { flex: 1, minWidth: 0 }, children: [
50578
+ ) }),
50579
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollableContent$1, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(ScrollContainer, { children: [
50555
50580
  isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(
50556
50581
  Box,
50557
50582
  {
@@ -50559,6 +50584,7 @@ const AgentHubPage = () => {
50559
50584
  justifyContent: "center",
50560
50585
  alignItems: "center",
50561
50586
  flexGrow: 1,
50587
+ minHeight: 200,
50562
50588
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(CircularProgress, {})
50563
50589
  }
50564
50590
  ),
@@ -50569,13 +50595,14 @@ const AgentHubPage = () => {
50569
50595
  justifyContent: "center",
50570
50596
  alignItems: "center",
50571
50597
  flexGrow: 1,
50598
+ minHeight: 200,
50572
50599
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Typography, { color: "error", children: [
50573
50600
  "Failed to load agents: ",
50574
50601
  error.message
50575
50602
  ] })
50576
50603
  }
50577
50604
  ),
50578
- !isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(StyledGridContainer$1, { container: true, rowSpacing: 3, columnSpacing: 3, children: agents.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx(Grid, { item: true, xs: 12, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body1", align: "center", children: "No public agents found." }) }) : agents.map((agent) => /* @__PURE__ */ jsxRuntimeExports.jsx(Grid, { item: true, xs: 12, sm: 6, md: 4, lg: 3, children: /* @__PURE__ */ jsxRuntimeExports.jsx(AgentCardContainer, { agent }) }, agent.id)) }),
50605
+ !isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(Grid, { container: true, rowSpacing: 3, columnSpacing: 3, children: agents.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx(Grid, { item: true, xs: 12, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body1", align: "center", children: "No public agents found." }) }) : agents.map((agent) => /* @__PURE__ */ jsxRuntimeExports.jsx(Grid, { item: true, xs: 12, sm: 6, md: 4, lg: 3, children: /* @__PURE__ */ jsxRuntimeExports.jsx(AgentCardContainer, { agent }) }, agent.id)) }),
50579
50606
  pagination && pagination.totalPages > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { display: "flex", justifyContent: "center", mt: 3, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
50580
50607
  CompactPagination,
50581
50608
  {
@@ -50584,7 +50611,7 @@ const AgentHubPage = () => {
50584
50611
  onChange: handlePageChange
50585
50612
  }
50586
50613
  ) })
50587
- ] })
50614
+ ] }) })
50588
50615
  ] })
50589
50616
  ] });
50590
50617
  };
@@ -82567,7 +82594,7 @@ const languages = [
82567
82594
  name: "Go",
82568
82595
  extensions: ["go"],
82569
82596
  load() {
82570
- return __vitePreload(() => import("./index-D2tWV2AH.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
82597
+ return __vitePreload(() => import("./index-CNh1gZL-.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
82571
82598
  }
82572
82599
  }),
82573
82600
  /* @__PURE__ */ LanguageDescription.of({
@@ -82744,7 +82771,7 @@ const languages = [
82744
82771
  alias: ["yml"],
82745
82772
  extensions: ["yaml", "yml"],
82746
82773
  load() {
82747
- return __vitePreload(() => import("./index-AS2nfHro.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
82774
+ return __vitePreload(() => import("./index-C3k-SQI7.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
82748
82775
  }
82749
82776
  }),
82750
82777
  // Legacy modes ported from CodeMirror 5
@@ -1,4 +1,4 @@
1
- import { L as LRParser, E as ExternalTokenizer, s as styleTags, C as ContextTracker, t as tags, b as LRLanguage, d as LanguageSupport, p as parseMixed, f as indentNodeProp, g as foldNodeProp, j as delimitedIndent, l as foldInside } from "./index-DW1ctFyn.js";
1
+ import { L as LRParser, E as ExternalTokenizer, s as styleTags, C as ContextTracker, t as tags, b as LRLanguage, d as LanguageSupport, p as parseMixed, f as indentNodeProp, g as foldNodeProp, j as delimitedIndent, l as foldInside } from "./index-B6otLie3.js";
2
2
  import "./fonts-BAmz1ETd.js";
3
3
  const blockEnd = 63, eof = 64, DirectiveEnd = 1, DocEnd = 2, sequenceStartMark = 3, sequenceContinueMark = 4, explicitMapStartMark = 5, explicitMapContinueMark = 6, flowMapMark = 7, mapStartMark = 65, mapContinueMark = 66, Literal = 8, QuotedLiteral = 9, Anchor = 10, Alias = 11, Tag = 12, BlockLiteralContent = 13, BracketL = 19, FlowSequence = 20, Colon = 29, BraceL = 33, FlowMapping = 34, BlockLiteralHeader = 47;
4
4
  const type_Top = 0, type_Seq = 1, type_Map = 2, type_Flow = 3, type_Lit = 4;
@@ -1,4 +1,4 @@
1
- import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, s as styleTags, C as ContextTracker, t as tags, b as LRLanguage, c as snippetCompletion, d as LanguageSupport, i as ifNotIn, e as completeFromList, f as indentNodeProp, g as foldNodeProp, h as continuedIndent, j as delimitedIndent, k as flatIndent, l as foldInside, m as syntaxTree, N as NodeWeakMap, I as IterMode } from "./index-DW1ctFyn.js";
1
+ import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, s as styleTags, C as ContextTracker, t as tags, b as LRLanguage, c as snippetCompletion, d as LanguageSupport, i as ifNotIn, e as completeFromList, f as indentNodeProp, g as foldNodeProp, h as continuedIndent, j as delimitedIndent, k as flatIndent, l as foldInside, m as syntaxTree, N as NodeWeakMap, I as IterMode } from "./index-B6otLie3.js";
2
2
  import "./fonts-BAmz1ETd.js";
3
3
  const insertedSemi = 177, space$1 = 179, identifier = 184, String = 12, closeParen$1 = 13, Number = 17, Rune = 20, closeBrace$1 = 25, closeBracket = 53, IncDecOp = 95, _return = 142, _break = 144, _continue = 145, fallthrough = 148;
4
4
  const newline = 10, carriageReturn = 13, space = 32, tab = 9, slash = 47, closeParen = 41, closeBrace = 125;
@@ -9,7 +9,7 @@
9
9
  <meta http-equiv="Content-Security-Policy"
10
10
  content="default-src 'self'; connect-src 'self' http://localhost:1111 http://127.0.0.1:1111 ws://localhost:1111 ws://127.0.0.1:1111 http://localhost:8080 http://127.0.0.1:8080 https://api.radienthq.com https://us.i.posthog.com https://login.microsoftonline.com https://accounts.google.com; script-src 'self' https://us-assets.i.posthog.com https://accounts.google.com https://login.microsoftonline.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: http://localhost:1111 http://127.0.0.1:1111; media-src 'self' http://localhost:1111 http://127.0.0.1:1111; font-src 'self'; frame-src 'self' https://accounts.google.com https://login.microsoftonline.com" />
11
11
  <meta http-equiv="Cross-Origin-Opener-Policy" content="same-origin-allow-popups" />
12
- <script type="module" crossorigin src="./assets/index-DW1ctFyn.js"></script>
12
+ <script type="module" crossorigin src="./assets/index-B6otLie3.js"></script>
13
13
  <link rel="modulepreload" crossorigin href="./assets/fonts-BAmz1ETd.js">
14
14
  <link rel="stylesheet" crossorigin href="./assets/fonts-B9KBGB-g.css">
15
15
  <link rel="stylesheet" crossorigin href="./assets/index-0vP6mKPB.css">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "local-operator-ui",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "productName": "Local Operator",
5
5
  "description": "User interface for AI agent assistants that run Python code safely on your device through an intuitive chat interface. Supports local and cloud LLM models with built-in security features.",
6
6
  "main": "./out/main/index.js",