local-operator-ui 0.8.0 → 0.8.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-cc_xe9_G.js","./fonts-DnoCbbVd.js","./fonts-B9KBGB-g.css","./index-qogN06h3.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-MXm2Cr-I.js","./fonts-DnoCbbVd.js","./fonts-B9KBGB-g.css","./index-Dhzp7zi8.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 css$1, V as keyframes, W as getPath$2, X as isFocusVisible, Y as typographyClasses, Z as slotShouldForwardProp, $ as clamp, a0 as emphasize, a1 as Timeout, a2 as createLucideIcon, a3 as Button, a4 as Box, a5 as FontAwesomeIcon, a6 as faExclamationTriangle, a7 as DEFAULT_THEME, a8 as faChevronLeft, a9 as faChevronRight, aa as faRobot, ab as faCheck, ac as faTimes, ad as faEraser, ae as faPen, af as faFileImport, ag as faUpload, ah as requireReact, 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-DnoCbbVd.js";
3
3
  const styled = createStyled();
4
4
  function getThemeProps(params) {
@@ -36162,10 +36162,17 @@ const CheckForUpdatesButton = () => {
36162
36162
  setSnackbarSeverity("success");
36163
36163
  setSnackbarOpen(true);
36164
36164
  });
36165
+ const removeBackendUpdateDevModeListener = window.api.updater.onBackendUpdateDevMode((message2) => {
36166
+ if (!manualCheckRef.current) return;
36167
+ setSnackbarMessage(message2);
36168
+ setSnackbarSeverity("info");
36169
+ setSnackbarOpen(true);
36170
+ });
36165
36171
  return () => {
36166
36172
  removeUpdateErrorListener();
36167
36173
  removeUpdateNotAvailableListener();
36168
36174
  removeBackendUpdateNotAvailableListener();
36175
+ removeBackendUpdateDevModeListener();
36169
36176
  };
36170
36177
  }, []);
36171
36178
  const checkForUpdates = async () => {
@@ -44202,13 +44209,14 @@ const UpdateNotification = ({
44202
44209
  const [backendUpdateCompleted, setBackendUpdateCompleted] = reactExports.useState(false);
44203
44210
  const [manualUpdateRequired, setManualUpdateRequired] = reactExports.useState(false);
44204
44211
  const [manualUpdateInfo, setManualUpdateInfo] = reactExports.useState(null);
44205
- const { shouldShowUpdate, deferUpdate, hydrated } = useDeferredUpdatesStore();
44212
+ const { shouldShowUpdate, deferUpdate } = useDeferredUpdatesStore();
44213
+ const backendUpdateInfoRef = reactExports.useRef(null);
44214
+ reactExports.useEffect(() => {
44215
+ backendUpdateInfoRef.current = backendUpdateInfo;
44216
+ }, [backendUpdateInfo]);
44206
44217
  reactExports.useEffect(() => {
44207
44218
  window.api.systemInfo.getAppVersion().then((version2) => setAppVersion(version2)).catch(() => setAppVersion("unknown"));
44208
44219
  }, []);
44209
- if (!hydrated) {
44210
- return null;
44211
- }
44212
44220
  const checkForUpdates = reactExports.useCallback(async () => {
44213
44221
  try {
44214
44222
  setChecking(true);
@@ -44325,9 +44333,15 @@ const UpdateNotification = ({
44325
44333
  setSnackbarOpen(true);
44326
44334
  }
44327
44335
  });
44328
- const removeBackendUpdateNotAvailableListener = window.api.updater.onBackendUpdateNotAvailable(() => {
44329
- setBackendUpdateAvailable(false);
44330
- setBackendUpdateInfo(null);
44336
+ const removeBackendUpdateNotAvailableListener = window.api.updater.onBackendUpdateNotAvailable((info) => {
44337
+ const currentInfo = backendUpdateInfoRef.current;
44338
+ setBackendUpdateAvailable((prev2) => {
44339
+ if (currentInfo && currentInfo.latestVersion === info.version) {
44340
+ setBackendUpdateInfo(null);
44341
+ return false;
44342
+ }
44343
+ return prev2;
44344
+ });
44331
44345
  });
44332
44346
  const removeBackendUpdateCompletedListener = window.api.updater.onBackendUpdateCompleted(() => {
44333
44347
  setBackendUpdateAvailable(false);
@@ -83396,7 +83410,7 @@ const languages = [
83396
83410
  name: "Go",
83397
83411
  extensions: ["go"],
83398
83412
  load() {
83399
- return __vitePreload(() => import("./index-cc_xe9_G.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
83413
+ return __vitePreload(() => import("./index-MXm2Cr-I.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
83400
83414
  }
83401
83415
  }),
83402
83416
  /* @__PURE__ */ LanguageDescription.of({
@@ -83573,7 +83587,7 @@ const languages = [
83573
83587
  alias: ["yml"],
83574
83588
  extensions: ["yaml", "yml"],
83575
83589
  load() {
83576
- return __vitePreload(() => import("./index-qogN06h3.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
83590
+ return __vitePreload(() => import("./index-Dhzp7zi8.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
83577
83591
  }
83578
83592
  }),
83579
83593
  // 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-Cu1qwMQ_.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-DXy1JHQs.js";
2
2
  import "./fonts-DnoCbbVd.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-Cu1qwMQ_.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-DXy1JHQs.js";
2
2
  import "./fonts-DnoCbbVd.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-Cu1qwMQ_.js"></script>
12
+ <script type="module" crossorigin src="./assets/index-DXy1JHQs.js"></script>
13
13
  <link rel="modulepreload" crossorigin href="./assets/fonts-DnoCbbVd.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.8.0",
3
+ "version": "0.8.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",