local-operator-ui 0.12.8 → 0.14.0

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 (143) hide show
  1. package/out/main/index.jsc +0 -0
  2. package/out/preload/index.jsc +0 -0
  3. package/out/renderer/assets/_basePickBy-cgdPKaID.js +1 -0
  4. package/out/renderer/assets/_baseUniq-DTfuVTc8.js +1 -0
  5. package/out/renderer/assets/agent-details-page-aR5kuSuQ.js +6 -0
  6. package/out/renderer/assets/agent-hub-page-C6qIa5ym.js +11 -0
  7. package/out/renderer/assets/agents-page-Dp9uVsQq.js +18 -0
  8. package/out/renderer/assets/arc-C1_J1TYO.js +1 -0
  9. package/out/renderer/assets/architectureDiagram-IEHRJDOE-D66wSZSC.js +36 -0
  10. package/out/renderer/assets/asn1-EdZsLKOL.js +1 -0
  11. package/out/renderer/assets/band-CquvqAHh.js +1 -0
  12. package/out/renderer/assets/blockDiagram-JOT3LUYC-Mna9S-E_.js +121 -0
  13. package/out/renderer/assets/c4Diagram-VJAJSXHY-BthNRzaU.js +10 -0
  14. package/out/renderer/assets/channel-DKU4Ng94.js +1 -0
  15. package/out/renderer/assets/chunk-4BMEZGHF-DAQqm-3C.js +1 -0
  16. package/out/renderer/assets/chunk-A2AXSNBT-Bj9ohrLb.js +164 -0
  17. package/out/renderer/assets/chunk-AEK57VVT-DfVPvvnZ.js +220 -0
  18. package/out/renderer/assets/chunk-D6G4REZN-CLFwJqcT.js +1 -0
  19. package/out/renderer/assets/chunk-RZ5BOZE2-fizWRKE-.js +1 -0
  20. package/out/renderer/assets/chunk-XZIHB7SX-BdIIbhb1.js +1 -0
  21. package/out/renderer/assets/classDiagram-GIVACNV2-Db-ldsh3.js +1 -0
  22. package/out/renderer/assets/classDiagram-v2-COTLJTTW-Db-ldsh3.js +1 -0
  23. package/out/renderer/assets/clojure-BMjYHr_A.js +1 -0
  24. package/out/renderer/assets/clone-2XATsTSw.js +1 -0
  25. package/out/renderer/assets/css-BnMrqG3P.js +1 -0
  26. package/out/renderer/assets/cytoscape.esm-DHvQc-Lm.js +331 -0
  27. package/out/renderer/assets/dagre-OKDRZEBW-CoAkXfMA.js +4 -0
  28. package/out/renderer/assets/diagram-SSKATNLV-ME8yV_Z4.js +43 -0
  29. package/out/renderer/assets/diagram-VNBRO52H-DUqVaIu8.js +24 -0
  30. package/out/renderer/assets/erDiagram-Q7BY3M3F-Cu_s2PCk.js +60 -0
  31. package/out/renderer/assets/flowDiagram-4HSFHLVR-137vsBAM.js +161 -0
  32. package/out/renderer/assets/ganttDiagram-APWFNJXF-Bd3MLWMr.js +257 -0
  33. package/out/renderer/assets/gitGraphDiagram-7IBYFJ6S-DHkxNAgf.js +65 -0
  34. package/out/renderer/assets/graph-B51rfnyX.js +1 -0
  35. package/out/renderer/assets/icon-BrgOtHaL.css +1 -0
  36. package/out/renderer/assets/icon-Dy_Qe0xX.js +195 -0
  37. package/out/renderer/assets/index-CtdIptLb.js +1 -0
  38. package/out/renderer/assets/index-DXXndIzW.js +1272 -0
  39. package/out/renderer/assets/index-DikLkf3S.css +1 -0
  40. package/out/renderer/assets/index-F-ofH4SB.js +7 -0
  41. package/out/renderer/assets/infoDiagram-PH2N3AL5-DIexlhOm.js +2 -0
  42. package/out/renderer/assets/init-Dmth1JHB.js +1 -0
  43. package/out/renderer/assets/installer-oYz0idNF.js +16 -0
  44. package/out/renderer/assets/javascript-qCveANmP.js +1 -0
  45. package/out/renderer/assets/journeyDiagram-U35MCT3I-D0aXEbGN.js +138 -0
  46. package/out/renderer/assets/kanban-definition-NDS4AKOZ-CPw8RBKp.js +88 -0
  47. package/out/renderer/assets/katex-BCx1q_2Y.css +1 -0
  48. package/out/renderer/assets/layout-DzoRAiEv.js +1 -0
  49. package/out/renderer/assets/linear-BfLTrHPc.js +1 -0
  50. package/out/renderer/assets/mermaid.core-q14bKczl.js +213 -0
  51. package/out/renderer/assets/mindmap-definition-ALO5MXBD-B_pxbTcJ.js +95 -0
  52. package/out/renderer/assets/mllike-CXdrOF99.js +1 -0
  53. package/out/renderer/assets/ordinal-DILIJJjt.js +1 -0
  54. package/out/renderer/assets/page-header-vUj_2hG2.js +1 -0
  55. package/out/renderer/assets/parseISO-DZuqB2HD.js +6 -0
  56. package/out/renderer/assets/pieDiagram-IB7DONF6-CDEZXHBo.js +30 -0
  57. package/out/renderer/assets/pug-DukmZTjD.js +1 -0
  58. package/out/renderer/assets/python-BuPzkPfP.js +1 -0
  59. package/out/renderer/assets/quadrantDiagram-7GDLP6J5-CF_GLeEZ.js +7 -0
  60. package/out/renderer/assets/radar-MK3ICKWK-MVmjodAd.js +128 -0
  61. package/out/renderer/assets/requirementDiagram-KVF5MWMF-c7L0iyWY.js +64 -0
  62. package/out/renderer/assets/rpm-CTu-6PCP.js +1 -0
  63. package/out/renderer/assets/sankeyDiagram-QLVOVGJD-bOmiPVaK.js +10 -0
  64. package/out/renderer/assets/schedules-page-DqaNoC2W.js +115 -0
  65. package/out/renderer/assets/sequenceDiagram-X6HHIX6F-4uV7XcFP.js +122 -0
  66. package/out/renderer/assets/settings-page-DMRi85xZ.js +154 -0
  67. package/out/renderer/assets/settings-section-MJPrm_CG.js +6 -0
  68. package/out/renderer/assets/sql-D0XecflT.js +1 -0
  69. package/out/renderer/assets/square-pen-KFtd2gSm.js +6 -0
  70. package/out/renderer/assets/stateDiagram-DGXRK772-DATFJ4Mj.js +1 -0
  71. package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-BvDbMG7C.js +1 -0
  72. package/out/renderer/assets/step-DMJAOHzS.js +1 -0
  73. package/out/renderer/assets/time-BOTM2Tp0.js +1 -0
  74. package/out/renderer/assets/timeline-definition-BDJGKUSR-DgIHqHE7.js +61 -0
  75. package/out/renderer/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  76. package/out/renderer/assets/use-agent-like-mutation-CxO-qq28.js +1 -0
  77. package/out/renderer/assets/xychartDiagram-VJFVF3MP-DVGwUmLE.js +7 -0
  78. package/out/renderer/index.html +4 -4
  79. package/out/renderer/installer.html +3 -3
  80. package/package.json +333 -305
  81. package/out/renderer/assets/GeistMonoNerdFontMono-Black-CPyfXpD2.otf +0 -0
  82. package/out/renderer/assets/GeistMonoNerdFontMono-Light-CRgGhpeL.otf +0 -0
  83. package/out/renderer/assets/GeistMonoNerdFontMono-Medium-Dui3XGJy.otf +0 -0
  84. package/out/renderer/assets/GeistMonoNerdFontMono-Thin-D5jufbuH.otf +0 -0
  85. package/out/renderer/assets/GeistMonoNerdFontMono-UltraBlack-CChzVbOW.otf +0 -0
  86. package/out/renderer/assets/_basePickBy-r2aXAOsL.js +0 -195
  87. package/out/renderer/assets/_baseUniq-D1q05gkP.js +0 -835
  88. package/out/renderer/assets/arc-C8P5FVle.js +0 -131
  89. package/out/renderer/assets/architectureDiagram-IEHRJDOE-DPIg4Szb.js +0 -8653
  90. package/out/renderer/assets/asn1-BnOEsgAm.js +0 -144
  91. package/out/renderer/assets/blockDiagram-JOT3LUYC-CadESEyh.js +0 -3585
  92. package/out/renderer/assets/c4Diagram-VJAJSXHY-Bwm7qPZT.js +0 -2487
  93. package/out/renderer/assets/channel-CNkAajOl.js +0 -7
  94. package/out/renderer/assets/chunk-4BMEZGHF-Cd6Ugs_R.js +0 -16
  95. package/out/renderer/assets/chunk-A2AXSNBT-_IEK938Y.js +0 -1827
  96. package/out/renderer/assets/chunk-AEK57VVT-Bw6Q4Aho.js +0 -1953
  97. package/out/renderer/assets/chunk-D6G4REZN-Br1Eyqt6.js +0 -108
  98. package/out/renderer/assets/chunk-RZ5BOZE2-X6Sa-Q0M.js +0 -34
  99. package/out/renderer/assets/chunk-XZIHB7SX-RK0OPtA_.js +0 -19
  100. package/out/renderer/assets/classDiagram-GIVACNV2-YPshJTr5.js +0 -21
  101. package/out/renderer/assets/classDiagram-v2-COTLJTTW-YPshJTr5.js +0 -21
  102. package/out/renderer/assets/clear-icon-with-text-Cu96UxOE.png +0 -0
  103. package/out/renderer/assets/clojure-BhXMqnxz.js +0 -849
  104. package/out/renderer/assets/clone-X3ZviHzc.js +0 -8
  105. package/out/renderer/assets/css-c-jst79C.js +0 -1783
  106. package/out/renderer/assets/cytoscape.esm-C0AOj4uS.js +0 -30062
  107. package/out/renderer/assets/dagre-OKDRZEBW-5vG7a4GG.js +0 -695
  108. package/out/renderer/assets/diagram-SSKATNLV-BwrxRC8R.js +0 -304
  109. package/out/renderer/assets/diagram-VNBRO52H-CbLkfhK3.js +0 -193
  110. package/out/renderer/assets/erDiagram-Q7BY3M3F-HGka70AV.js +0 -1160
  111. package/out/renderer/assets/flowDiagram-4HSFHLVR-VC6ihGE5.js +0 -2324
  112. package/out/renderer/assets/fonts-CM-VN_uu.css +0 -64
  113. package/out/renderer/assets/fonts-C_Yt9Uwp.js +0 -31185
  114. package/out/renderer/assets/ganttDiagram-APWFNJXF-BwvtS1ZF.js +0 -2500
  115. package/out/renderer/assets/gitGraphDiagram-7IBYFJ6S-xkb8LAa8.js +0 -1204
  116. package/out/renderer/assets/graph-BJgnFmzX.js +0 -424
  117. package/out/renderer/assets/index-CKXTKikG.js +0 -406
  118. package/out/renderer/assets/index-CiPFa_9B.css +0 -10
  119. package/out/renderer/assets/index-CwYTFsgM.js +0 -365216
  120. package/out/renderer/assets/index-Dh3BvfiE.js +0 -312
  121. package/out/renderer/assets/infoDiagram-PH2N3AL5-KPNcVYCs.js +0 -33
  122. package/out/renderer/assets/installer-BVPNsAT_.js +0 -495
  123. package/out/renderer/assets/javascript-C3MnDRiU.js +0 -994
  124. package/out/renderer/assets/journeyDiagram-U35MCT3I-BA9LaOh7.js +0 -1199
  125. package/out/renderer/assets/kanban-definition-NDS4AKOZ-BpfW7V3F.js +0 -1046
  126. package/out/renderer/assets/layout-oWx16c9h.js +0 -2060
  127. package/out/renderer/assets/mindmap-definition-ALO5MXBD-CKSVFvob.js +0 -5836
  128. package/out/renderer/assets/mllike-DHn7xckP.js +0 -334
  129. package/out/renderer/assets/pieDiagram-IB7DONF6-C5a6ybEQ.js +0 -239
  130. package/out/renderer/assets/pug-By0kVCfm.js +0 -405
  131. package/out/renderer/assets/python-CvWbmiX4.js +0 -427
  132. package/out/renderer/assets/quadrantDiagram-7GDLP6J5-B2T8t-7u.js +0 -1340
  133. package/out/renderer/assets/radar-MK3ICKWK-BhEPuBKT.js +0 -16935
  134. package/out/renderer/assets/requirementDiagram-KVF5MWMF-Ca8iDSE_.js +0 -1163
  135. package/out/renderer/assets/rpm-C-DLY-If.js +0 -109
  136. package/out/renderer/assets/sankeyDiagram-QLVOVGJD-BrM2ucnA.js +0 -1201
  137. package/out/renderer/assets/sequenceDiagram-X6HHIX6F-C400GAYc.js +0 -3415
  138. package/out/renderer/assets/sql-BSrOzCRI.js +0 -354
  139. package/out/renderer/assets/stateDiagram-DGXRK772-BNTnHv0S.js +0 -467
  140. package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-DdZmY8Y8.js +0 -21
  141. package/out/renderer/assets/timeline-definition-BDJGKUSR-DYJZs7IC.js +0 -1223
  142. package/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +0 -133
  143. package/out/renderer/assets/xychartDiagram-VJFVF3MP-C8rPJ62-.js +0 -1800
package/package.json CHANGED
@@ -1,307 +1,335 @@
1
1
  {
2
- "name": "local-operator-ui",
3
- "version": "0.12.8",
4
- "productName": "Local Operator",
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
- "main": "./out/main/index.js",
7
- "bin": {
8
- "local-operator-ui": "./bin/local-operator-ui.js"
9
- },
10
- "license": "MIT",
11
- "author": {
12
- "name": "Radient Inc.",
13
- "email": "contact@radienthq.com",
14
- "url": "https://github.com/radient-ml"
15
- },
16
- "contributors": [
17
- {
18
- "name": "Damian Tran",
19
- "email": "damian@radienthq.com",
20
- "url": "https://github.com/damianvtran"
21
- }
22
- ],
23
- "repository": {
24
- "type": "git",
25
- "url": "https://github.com/damianvtran/local-operator-ui.git"
26
- },
27
- "homepage": "https://github.com/damianvtran/local-operator-ui#readme",
28
- "bugs": {
29
- "url": "https://github.com/damianvtran/local-operator-ui/issues"
30
- },
31
- "keywords": [
32
- "local-operator",
33
- "radient",
34
- "agent",
35
- "ai",
36
- "python",
37
- "tool use",
38
- "ui",
39
- "electron",
40
- "react"
41
- ],
42
- "files": ["out", "bin", "LICENSE", "README.md"],
43
- "publishConfig": {
44
- "access": "public"
45
- },
46
- "scripts": {
47
- "start": "electron-vite preview",
48
- "dev": "npx dotenv-cli -e .env -- bash -c 'export $(grep -v '^#' .env | xargs) && electron-vite dev'",
49
- "build": "electron-vite build",
50
- "postbuild": "chmod +x ./bin/local-operator-ui.js",
51
- "lint": "pnpm biome check src",
52
- "lint:fix": "pnpm biome check --write src",
53
- "format": "pnpm biome format src",
54
- "format:fix": "pnpm biome format --write src",
55
- "prepublishOnly": "pnpm run build",
56
- "check-types:main": "tsc --noEmit -p tsconfig.node.json",
57
- "check-types:renderer": "tsc --noEmit -p tsconfig.app.json",
58
- "check-types": "pnpm run check-types:main && pnpm run check-types:renderer",
59
- "pack": "pnpm run build && electron-builder --dir",
60
- "dist": "pnpm run build && electron-builder",
61
- "dist:mac": "pnpm run build && electron-builder --mac --publish never",
62
- "dist:win": "pnpm run build && electron-builder --win --publish never",
63
- "dist:linux": "pnpm run build && electron-builder --linux --publish never",
64
- "dist:all": "pnpm run build && electron-builder -mwl --publish never",
65
- "release": "pnpm run build && electron-builder --publish always",
66
- "generate-icons": "node scripts/generate-icons.js",
67
- "setup-python": "./scripts/setup-python-resource.sh",
68
- "storybook": "storybook dev -p 6006",
69
- "build-storybook": "storybook build"
70
- },
71
- "dependencies": {
72
- "@ag-grid-community/theming": "^32.3.5",
73
- "@codemirror/language": "^6.11.1",
74
- "@codemirror/search": "^6.5.6",
75
- "@codemirror/state": "^6.5.2",
76
- "@codemirror/view": "^6.37.1",
77
- "@electron-toolkit/utils": "^4.0.0",
78
- "@emotion/react": "^11.14.0",
79
- "@emotion/styled": "^11.14.0",
80
- "@fortawesome/fontawesome-svg-core": "^6.7.2",
81
- "@fortawesome/free-brands-svg-icons": "^6.7.2",
82
- "@fortawesome/free-regular-svg-icons": "^6.7.2",
83
- "@fortawesome/free-solid-svg-icons": "^6.7.2",
84
- "@fortawesome/react-fontawesome": "^0.2.2",
85
- "@lezer/highlight": "^1.2.1",
86
- "@mui/material": "^6.4.2",
87
- "@mui/x-date-pickers": "^8.3.1",
88
- "@openid/appauth": "1.3.2",
89
- "@tanstack/react-query": "^5.67.1",
90
- "@tanstack/react-query-devtools": "^5.67.1",
91
- "@uiw/codemirror-extensions-langs": "^4.23.10",
92
- "@uiw/codemirror-theme-basic": "^4.23.10",
93
- "@uiw/react-codemirror": "^4.23.10",
94
- "ag-grid-community": "^33.3.2",
95
- "ag-grid-react": "^33.3.2",
96
- "date-fns": "^4.1.0",
97
- "diff": "^8.0.2",
98
- "diff-match-patch": "^1.0.5",
99
- "dmg-builder": "26.0.12",
100
- "electron-builder-squirrel-windows": "26.0.12",
101
- "electron-debug": "^3.2.0",
102
- "electron-log": "^4.4.8",
103
- "electron-updater": "^6.6.2",
104
- "html-react-parser": "^5.2.2",
105
- "jwt-decode": "^4.0.0",
106
- "katex": "^0.16.21",
107
- "keytar": "^7.9.0",
108
- "lucide-react": "^0.507.0",
109
- "mermaid": "^11.6.0",
110
- "posthog-js": "^1.235.0",
111
- "posthog-node": "^4.11.3",
112
- "react": "^18.3.1",
113
- "react-dom": "^18.3.1",
114
- "react-error-boundary": "^5.0.0",
115
- "react-markdown": "^10.1.0",
116
- "react-router-dom": "^6.16.0",
117
- "react-shepherd": "^6.1.8",
118
- "react-syntax-highlighter": "^15.6.1",
119
- "recharts": "^2.15.3",
120
- "rehype-katex": "^7.0.1",
121
- "rehype-parse": "^9.0.1",
122
- "rehype-remark": "^10.0.1",
123
- "rehype-source-map": "^1.0.1",
124
- "rehype-stringify": "^10.0.1",
125
- "remark-gfm": "^4.0.1",
126
- "remark-math": "^6.0.0",
127
- "remark-parse": "^11.0.0",
128
- "remark-rehype": "^11.1.2",
129
- "remark-stringify": "^11.0.0",
130
- "shepherd.js": "^14.5.0",
131
- "sonner": "^2.0.3",
132
- "styled-components": "^6.1.14",
133
- "unified": "^11.0.5",
134
- "unist-util-visit": "^5.0.0",
135
- "uuid": "^11.1.0",
136
- "xlsx": "^0.18.5",
137
- "zod": "^3.24.2",
138
- "zustand": "^5.0.3"
139
- },
140
- "devDependencies": {
141
- "@babel/helpers": "^7.26.10",
142
- "@babel/runtime": "^7.26.10",
143
- "@biomejs/biome": "^1.9.4",
144
- "@chromatic-com/storybook": "^3.2.5",
145
- "@electron-toolkit/preload": "^3.0.1",
146
- "@electron-toolkit/tsconfig": "^1.0.1",
147
- "@electron/notarize": "^2.5.0",
148
- "@storybook/addon-essentials": "^8.6.4",
149
- "@storybook/addon-interactions": "^8.6.4",
150
- "@storybook/blocks": "^8.6.4",
151
- "@storybook/react": "^8.6.4",
152
- "@storybook/react-vite": "^8.6.4",
153
- "@storybook/test": "^8.6.4",
154
- "@types/diff": "^8.0.0",
155
- "@types/hast": "^3.0.4",
156
- "@types/react": "18.3.18",
157
- "@types/react-dom": "18.3.5",
158
- "@types/react-syntax-highlighter": "^15.5.13",
159
- "@types/xlsx": "^0.0.36",
160
- "@vitejs/plugin-react": "^4.3.4",
161
- "dotenv": "^16.5.0",
162
- "dotenv-cli": "^8.0.0",
163
- "electron": "^35.5.1",
164
- "electron-builder": "^26.0.12",
165
- "electron-vite": "^3.0.0",
166
- "esbuild": "^0.25.1",
167
- "icns-lib": "^1.0.1",
168
- "jest": "^29.7.0",
169
- "prismjs": "^1.30.0",
170
- "remark": "^15.0.1",
171
- "sharp": "^0.33.2",
172
- "storybook": "^8.6.4",
173
- "typescript": "^5.8.2",
174
- "vite": "^6.2.0",
175
- "vite-tsconfig-paths": "^5.1.4",
176
- "yaml": "^2.7.0"
177
- },
178
- "peerDependencies": {
179
- "react": ">=18.0.0",
180
- "react-dom": ">=18.0.0"
181
- },
182
- "engines": {
183
- "node": ">=22.13.1"
184
- },
185
- "build": {
186
- "appId": "com.local-operator",
187
- "productName": "Local Operator",
188
- "copyright": "Copyright © 2025 Radient Inc.",
189
- "asar": true,
190
- "files": ["out/**/*", "bin/**/*", "LICENSE", "README.md"],
191
- "directories": {
192
- "output": "dist",
193
- "buildResources": "build"
194
- },
195
- "extraResources": [
196
- {
197
- "from": "resources/python",
198
- "to": "python",
199
- "filter": ["**/*"]
200
- },
201
- {
202
- "from": "resources/python_aarch64",
203
- "to": "python_aarch64",
204
- "filter": ["**/*"]
205
- }
206
- ],
207
- "afterSign": "scripts/notarize.js",
208
- "mac": {
209
- "notarize": false,
210
- "category": "public.app-category.developer-tools",
211
- "hardenedRuntime": true,
212
- "gatekeeperAssess": false,
213
- "entitlements": "build/entitlements.mac.plist",
214
- "entitlementsInherit": "build/entitlements.mac.plist",
215
- "x64ArchFiles": "*",
216
- "target": [
217
- {
218
- "target": "dmg",
219
- "arch": ["universal"]
220
- },
221
- {
222
- "target": "zip",
223
- "arch": ["universal"]
224
- }
225
- ],
226
- "artifactName": "${name}-${version}-${arch}.${ext}"
227
- },
228
- "dmg": {
229
- "sign": false,
230
- "contents": [
231
- {
232
- "x": 130,
233
- "y": 220
234
- },
235
- {
236
- "x": 410,
237
- "y": 220,
238
- "type": "link",
239
- "path": "/Applications"
240
- }
241
- ],
242
- "window": {
243
- "width": 540,
244
- "height": 380
245
- }
246
- },
247
- "win": {
248
- "target": [
249
- {
250
- "target": "nsis",
251
- "arch": ["x64", "arm64"]
252
- }
253
- ],
254
- "artifactName": "${name}-setup-${version}-${arch}.${ext}",
255
- "verifyUpdateCodeSignature": false
256
- },
257
- "nsis": {
258
- "createDesktopShortcut": true,
259
- "createStartMenuShortcut": true,
260
- "deleteAppDataOnUninstall": true,
261
- "displayLanguageSelector": true,
262
- "multiLanguageInstaller": true
263
- },
264
- "linux": {
265
- "category": "ArtificialIntelligence",
266
- "icon": "build/",
267
- "target": [
268
- {
269
- "target": "deb",
270
- "arch": "x64"
271
- },
272
- {
273
- "target": "AppImage",
274
- "arch": "x64"
275
- },
276
- {
277
- "target": "rpm",
278
- "arch": "x64"
279
- }
280
- ],
281
- "artifactName": "${name}-${version}-${arch}.${ext}",
282
- "desktop": {
283
- "entry": {
284
- "Name": "Local Operator",
285
- "Comment": "AI Agent Assistants On Your Device",
286
- "Categories": "ArtificialIntelligence"
287
- }
288
- }
289
- },
290
- "deb": {
291
- "depends": ["python3.12-full", "python3.12-venv"]
292
- },
293
- "rpm": {
294
- "depends": ["python3.12-full", "python3.12-venv"]
295
- },
296
- "publish": [
297
- {
298
- "provider": "github",
299
- "owner": "damianvtran",
300
- "repo": "local-operator-ui",
301
- "private": false,
302
- "releaseType": "release"
303
- }
304
- ],
305
- "generateUpdatesFilesForAllChannels": true
306
- }
2
+ "name": "local-operator-ui",
3
+ "version": "0.14.0",
4
+ "productName": "Local Operator",
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
+ "main": "./out/main/index.js",
7
+ "bin": {
8
+ "local-operator-ui": "./bin/local-operator-ui.js"
9
+ },
10
+ "license": "MIT",
11
+ "author": {
12
+ "name": "Radient Inc.",
13
+ "email": "contact@radienthq.com",
14
+ "url": "https://github.com/radient-ml"
15
+ },
16
+ "contributors": [
17
+ {
18
+ "name": "Damian Tran",
19
+ "email": "damian@radienthq.com",
20
+ "url": "https://github.com/damianvtran"
21
+ }
22
+ ],
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "https://github.com/damianvtran/local-operator-ui.git"
26
+ },
27
+ "homepage": "https://github.com/damianvtran/local-operator-ui#readme",
28
+ "bugs": {
29
+ "url": "https://github.com/damianvtran/local-operator-ui/issues"
30
+ },
31
+ "keywords": [
32
+ "local-operator",
33
+ "radient",
34
+ "agent",
35
+ "ai",
36
+ "python",
37
+ "tool use",
38
+ "ui",
39
+ "electron",
40
+ "react"
41
+ ],
42
+ "files": [
43
+ "out",
44
+ "bin",
45
+ "LICENSE",
46
+ "README.md"
47
+ ],
48
+ "publishConfig": {
49
+ "access": "public"
50
+ },
51
+ "scripts": {
52
+ "start": "electron-vite preview",
53
+ "dev": "npx dotenv-cli -e .env -- bash -c 'export $(grep -v '^#' .env | xargs) && electron-vite dev'",
54
+ "build": "electron-vite build",
55
+ "postbuild": "chmod +x ./bin/local-operator-ui.js",
56
+ "lint": "pnpm biome check src",
57
+ "lint:fix": "pnpm biome check --write src",
58
+ "format": "pnpm biome format src",
59
+ "format:fix": "pnpm biome format --write src",
60
+ "prepublishOnly": "pnpm run build",
61
+ "check-types:main": "tsc --noEmit -p tsconfig.node.json",
62
+ "check-types:renderer": "tsc --noEmit -p tsconfig.app.json",
63
+ "check-types": "pnpm run check-types:main && pnpm run check-types:renderer",
64
+ "check-themes": "node scripts/generate-theme-css.mjs --check && node scripts/contrast-contract.mjs",
65
+ "check-evidence": "node scripts/check-evidence.mjs",
66
+ "gen-themes": "node scripts/generate-theme-css.mjs",
67
+ "bundle-size": "node scripts/bundle-size.mjs",
68
+ "startup-closure": "node scripts/startup-closure.mjs",
69
+ "pack": "pnpm run build && electron-builder --dir",
70
+ "dist": "pnpm run build && electron-builder",
71
+ "dist:mac": "pnpm run build && electron-builder --mac --publish never",
72
+ "dist:win": "pnpm run build && electron-builder --win --publish never",
73
+ "dist:linux": "pnpm run build && electron-builder --linux --publish never",
74
+ "dist:all": "pnpm run build && electron-builder -mwl --publish never",
75
+ "release": "pnpm run build && electron-builder --publish always",
76
+ "generate-icons": "node scripts/generate-icons.js",
77
+ "setup-python": "./scripts/setup-python-resource.sh",
78
+ "storybook": "storybook dev -p 6006",
79
+ "build-storybook": "storybook build"
80
+ },
81
+ "dependencies": {
82
+ "@codemirror/language": "^6.11.1",
83
+ "@codemirror/search": "^6.5.6",
84
+ "@codemirror/state": "^6.5.2",
85
+ "@codemirror/view": "^6.37.1",
86
+ "@electron-toolkit/utils": "^4.0.0",
87
+ "@emotion/react": "^11.14.0",
88
+ "@emotion/styled": "^11.14.0",
89
+ "@lezer/highlight": "^1.2.1",
90
+ "@mui/material": "^6.4.2",
91
+ "@mui/x-date-pickers": "^8.3.1",
92
+ "@openid/appauth": "1.3.2",
93
+ "@tailwindcss/vite": "4.3.3",
94
+ "@tanstack/react-query": "^5.67.1",
95
+ "@tanstack/react-query-devtools": "^5.67.1",
96
+ "@uiw/codemirror-extensions-langs": "^4.23.10",
97
+ "@uiw/codemirror-theme-basic": "^4.23.10",
98
+ "@uiw/react-codemirror": "^4.23.10",
99
+ "ag-grid-community": "^33.3.2",
100
+ "ag-grid-react": "^33.3.2",
101
+ "class-variance-authority": "0.7.1",
102
+ "clsx": "2.1.1",
103
+ "date-fns": "^4.1.0",
104
+ "dmg-builder": "26.0.12",
105
+ "electron-builder-squirrel-windows": "26.0.12",
106
+ "electron-debug": "^3.2.0",
107
+ "electron-log": "^4.4.8",
108
+ "electron-updater": "^6.6.2",
109
+ "html-react-parser": "^5.2.2",
110
+ "jwt-decode": "^4.0.0",
111
+ "katex": "^0.16.21",
112
+ "keytar": "^7.9.0",
113
+ "lucide-react": "^0.507.0",
114
+ "mermaid": "^11.6.0",
115
+ "posthog-js": "^1.235.0",
116
+ "posthog-node": "^4.11.3",
117
+ "radix-ui": "1.6.7",
118
+ "react": "^18.3.1",
119
+ "react-dom": "^18.3.1",
120
+ "react-error-boundary": "^5.0.0",
121
+ "react-markdown": "^10.1.0",
122
+ "react-router-dom": "^6.16.0",
123
+ "react-shepherd": "^6.1.8",
124
+ "react-syntax-highlighter": "^15.6.1",
125
+ "recharts": "^2.15.3",
126
+ "rehype-katex": "^7.0.1",
127
+ "rehype-parse": "^9.0.1",
128
+ "rehype-remark": "^10.0.1",
129
+ "rehype-source-map": "^1.0.1",
130
+ "rehype-stringify": "^10.0.1",
131
+ "remark-gfm": "^4.0.1",
132
+ "remark-math": "^6.0.0",
133
+ "remark-parse": "^11.0.0",
134
+ "remark-rehype": "^11.1.2",
135
+ "remark-stringify": "^11.0.0",
136
+ "shepherd.js": "^14.5.0",
137
+ "sonner": "^2.0.3",
138
+ "tailwind-merge": "3.6.0",
139
+ "tailwindcss": "4.3.3",
140
+ "tw-animate-css": "1.4.0",
141
+ "unified": "^11.0.5",
142
+ "unist-util-visit": "^5.0.0",
143
+ "uuid": "^11.1.0",
144
+ "xlsx": "^0.18.5",
145
+ "zod": "^3.24.2",
146
+ "zustand": "^5.0.3"
147
+ },
148
+ "devDependencies": {
149
+ "@babel/helpers": "^7.26.10",
150
+ "@babel/runtime": "^7.26.10",
151
+ "@biomejs/biome": "^1.9.4",
152
+ "@chromatic-com/storybook": "^3.2.5",
153
+ "@electron-toolkit/preload": "^3.0.1",
154
+ "@electron-toolkit/tsconfig": "^1.0.1",
155
+ "@electron/notarize": "^2.5.0",
156
+ "@storybook/addon-essentials": "^8.6.4",
157
+ "@storybook/addon-interactions": "^8.6.4",
158
+ "@storybook/blocks": "^8.6.4",
159
+ "@storybook/react": "^8.6.4",
160
+ "@storybook/react-vite": "^8.6.4",
161
+ "@storybook/test": "^8.6.4",
162
+ "@types/hast": "^3.0.4",
163
+ "@types/react": "18.3.18",
164
+ "@types/react-dom": "18.3.5",
165
+ "@types/react-syntax-highlighter": "^15.5.13",
166
+ "@types/xlsx": "^0.0.36",
167
+ "@vitejs/plugin-react": "^4.3.4",
168
+ "dotenv": "^16.5.0",
169
+ "dotenv-cli": "^8.0.0",
170
+ "electron": "^35.5.1",
171
+ "electron-builder": "^26.0.12",
172
+ "electron-vite": "^3.0.0",
173
+ "esbuild": "^0.25.1",
174
+ "icns-lib": "^1.0.1",
175
+ "jest": "^29.7.0",
176
+ "remark": "^15.0.1",
177
+ "sharp": "^0.33.2",
178
+ "storybook": "^8.6.4",
179
+ "typescript": "^5.8.2",
180
+ "vite": "^6.2.0",
181
+ "vite-tsconfig-paths": "^5.1.4",
182
+ "yaml": "^2.7.0"
183
+ },
184
+ "peerDependencies": {
185
+ "react": ">=18.0.0",
186
+ "react-dom": ">=18.0.0"
187
+ },
188
+ "engines": {
189
+ "node": ">=22.13.1"
190
+ },
191
+ "build": {
192
+ "appId": "com.local-operator",
193
+ "productName": "Local Operator",
194
+ "copyright": "Copyright \u00a9 2025 Radient Inc.",
195
+ "asar": true,
196
+ "files": [
197
+ "out/**/*",
198
+ "bin/**/*",
199
+ "LICENSE",
200
+ "README.md"
201
+ ],
202
+ "directories": {
203
+ "output": "dist",
204
+ "buildResources": "build"
205
+ },
206
+ "extraResources": [
207
+ {
208
+ "from": "resources/python",
209
+ "to": "python",
210
+ "filter": [
211
+ "**/*"
212
+ ]
213
+ },
214
+ {
215
+ "from": "resources/python_aarch64",
216
+ "to": "python_aarch64",
217
+ "filter": [
218
+ "**/*"
219
+ ]
220
+ }
221
+ ],
222
+ "afterSign": "scripts/notarize.js",
223
+ "mac": {
224
+ "notarize": false,
225
+ "category": "public.app-category.developer-tools",
226
+ "hardenedRuntime": true,
227
+ "gatekeeperAssess": false,
228
+ "entitlements": "build/entitlements.mac.plist",
229
+ "entitlementsInherit": "build/entitlements.mac.plist",
230
+ "x64ArchFiles": "*",
231
+ "target": [
232
+ {
233
+ "target": "dmg",
234
+ "arch": [
235
+ "universal"
236
+ ]
237
+ },
238
+ {
239
+ "target": "zip",
240
+ "arch": [
241
+ "universal"
242
+ ]
243
+ }
244
+ ],
245
+ "artifactName": "${name}-${version}-${arch}.${ext}"
246
+ },
247
+ "dmg": {
248
+ "sign": false,
249
+ "contents": [
250
+ {
251
+ "x": 130,
252
+ "y": 220
253
+ },
254
+ {
255
+ "x": 410,
256
+ "y": 220,
257
+ "type": "link",
258
+ "path": "/Applications"
259
+ }
260
+ ],
261
+ "window": {
262
+ "width": 540,
263
+ "height": 380
264
+ }
265
+ },
266
+ "win": {
267
+ "target": [
268
+ {
269
+ "target": "nsis",
270
+ "arch": [
271
+ "x64",
272
+ "arm64"
273
+ ]
274
+ }
275
+ ],
276
+ "artifactName": "${name}-setup-${version}-${arch}.${ext}",
277
+ "verifyUpdateCodeSignature": false
278
+ },
279
+ "nsis": {
280
+ "createDesktopShortcut": true,
281
+ "createStartMenuShortcut": true,
282
+ "deleteAppDataOnUninstall": true,
283
+ "displayLanguageSelector": true,
284
+ "multiLanguageInstaller": true
285
+ },
286
+ "linux": {
287
+ "category": "ArtificialIntelligence",
288
+ "icon": "build/",
289
+ "target": [
290
+ {
291
+ "target": "deb",
292
+ "arch": "x64"
293
+ },
294
+ {
295
+ "target": "AppImage",
296
+ "arch": "x64"
297
+ },
298
+ {
299
+ "target": "rpm",
300
+ "arch": "x64"
301
+ }
302
+ ],
303
+ "artifactName": "${name}-${version}-${arch}.${ext}",
304
+ "desktop": {
305
+ "entry": {
306
+ "Name": "Local Operator",
307
+ "Comment": "AI Agent Assistants On Your Device",
308
+ "Categories": "ArtificialIntelligence"
309
+ }
310
+ }
311
+ },
312
+ "deb": {
313
+ "depends": [
314
+ "python3.12-full",
315
+ "python3.12-venv"
316
+ ]
317
+ },
318
+ "rpm": {
319
+ "depends": [
320
+ "python3.12-full",
321
+ "python3.12-venv"
322
+ ]
323
+ },
324
+ "publish": [
325
+ {
326
+ "provider": "github",
327
+ "owner": "damianvtran",
328
+ "repo": "local-operator-ui",
329
+ "private": false,
330
+ "releaseType": "release"
331
+ }
332
+ ],
333
+ "generateUpdatesFilesForAllChannels": true
334
+ }
307
335
  }