local-operator-ui 0.13.0 → 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 (66) hide show
  1. package/out/main/index.jsc +0 -0
  2. package/out/preload/index.jsc +0 -0
  3. package/out/renderer/assets/{_basePickBy-Dt8NA_1A.js → _basePickBy-cgdPKaID.js} +1 -1
  4. package/out/renderer/assets/{_baseUniq-Dfn2rCfr.js → _baseUniq-DTfuVTc8.js} +1 -1
  5. package/out/renderer/assets/{agent-details-page-CJJgDqdX.js → agent-details-page-aR5kuSuQ.js} +1 -1
  6. package/out/renderer/assets/{agent-hub-page-CznUZD2f.js → agent-hub-page-C6qIa5ym.js} +1 -1
  7. package/out/renderer/assets/{agents-page-COdPTFYp.js → agents-page-Dp9uVsQq.js} +1 -1
  8. package/out/renderer/assets/{architectureDiagram-IEHRJDOE-p5UIRlv1.js → architectureDiagram-IEHRJDOE-D66wSZSC.js} +1 -1
  9. package/out/renderer/assets/{blockDiagram-JOT3LUYC-Dk6LFvtm.js → blockDiagram-JOT3LUYC-Mna9S-E_.js} +1 -1
  10. package/out/renderer/assets/{c4Diagram-VJAJSXHY-C0Hp8OKf.js → c4Diagram-VJAJSXHY-BthNRzaU.js} +1 -1
  11. package/out/renderer/assets/channel-DKU4Ng94.js +1 -0
  12. package/out/renderer/assets/{chunk-4BMEZGHF-CV1FNkGZ.js → chunk-4BMEZGHF-DAQqm-3C.js} +1 -1
  13. package/out/renderer/assets/{chunk-A2AXSNBT-Co_5OkmZ.js → chunk-A2AXSNBT-Bj9ohrLb.js} +1 -1
  14. package/out/renderer/assets/{chunk-AEK57VVT-Bu3wjBen.js → chunk-AEK57VVT-DfVPvvnZ.js} +1 -1
  15. package/out/renderer/assets/{chunk-D6G4REZN-BvFphnUv.js → chunk-D6G4REZN-CLFwJqcT.js} +1 -1
  16. package/out/renderer/assets/{chunk-RZ5BOZE2-DBIcRvVx.js → chunk-RZ5BOZE2-fizWRKE-.js} +1 -1
  17. package/out/renderer/assets/{chunk-XZIHB7SX-DjSBj758.js → chunk-XZIHB7SX-BdIIbhb1.js} +1 -1
  18. package/out/renderer/assets/classDiagram-GIVACNV2-Db-ldsh3.js +1 -0
  19. package/out/renderer/assets/classDiagram-v2-COTLJTTW-Db-ldsh3.js +1 -0
  20. package/out/renderer/assets/clone-2XATsTSw.js +1 -0
  21. package/out/renderer/assets/{dagre-OKDRZEBW-DbOc711m.js → dagre-OKDRZEBW-CoAkXfMA.js} +1 -1
  22. package/out/renderer/assets/{diagram-SSKATNLV-YLnBMg9L.js → diagram-SSKATNLV-ME8yV_Z4.js} +1 -1
  23. package/out/renderer/assets/{diagram-VNBRO52H-DHzPX2Ws.js → diagram-VNBRO52H-DUqVaIu8.js} +1 -1
  24. package/out/renderer/assets/{erDiagram-Q7BY3M3F-CxFuapOs.js → erDiagram-Q7BY3M3F-Cu_s2PCk.js} +1 -1
  25. package/out/renderer/assets/{flowDiagram-4HSFHLVR-D5vc3yns.js → flowDiagram-4HSFHLVR-137vsBAM.js} +1 -1
  26. package/out/renderer/assets/{ganttDiagram-APWFNJXF-ejBZIm6I.js → ganttDiagram-APWFNJXF-Bd3MLWMr.js} +1 -1
  27. package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-6m7tU_G2.js → gitGraphDiagram-7IBYFJ6S-DHkxNAgf.js} +1 -1
  28. package/out/renderer/assets/{graph-DIHt6FPP.js → graph-B51rfnyX.js} +1 -1
  29. package/out/renderer/assets/icon-BrgOtHaL.css +1 -0
  30. package/out/renderer/assets/{index-BweSWC55.js → index-CtdIptLb.js} +1 -1
  31. package/out/renderer/assets/{index-CLHdxmCS.js → index-DXXndIzW.js} +276 -276
  32. package/out/renderer/assets/{index-BpRBp6-j.js → index-F-ofH4SB.js} +1 -1
  33. package/out/renderer/assets/{infoDiagram-PH2N3AL5-D1KBOewb.js → infoDiagram-PH2N3AL5-DIexlhOm.js} +1 -1
  34. package/out/renderer/assets/{installer-T4sGv29U.js → installer-oYz0idNF.js} +1 -1
  35. package/out/renderer/assets/{journeyDiagram-U35MCT3I-DsqwRdF3.js → journeyDiagram-U35MCT3I-D0aXEbGN.js} +1 -1
  36. package/out/renderer/assets/{kanban-definition-NDS4AKOZ-BQvBdP_9.js → kanban-definition-NDS4AKOZ-CPw8RBKp.js} +1 -1
  37. package/out/renderer/assets/{layout-C7qoUpVb.js → layout-DzoRAiEv.js} +1 -1
  38. package/out/renderer/assets/{mermaid.core-CyfNZ-Rl.js → mermaid.core-q14bKczl.js} +5 -5
  39. package/out/renderer/assets/{mindmap-definition-ALO5MXBD-CTSdCgh1.js → mindmap-definition-ALO5MXBD-B_pxbTcJ.js} +1 -1
  40. package/out/renderer/assets/{page-header-CNXeqkJB.js → page-header-vUj_2hG2.js} +1 -1
  41. package/out/renderer/assets/{parseISO-CyJpeshf.js → parseISO-DZuqB2HD.js} +1 -1
  42. package/out/renderer/assets/{pieDiagram-IB7DONF6-CeYuFnxD.js → pieDiagram-IB7DONF6-CDEZXHBo.js} +1 -1
  43. package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-urCUNLvr.js → quadrantDiagram-7GDLP6J5-CF_GLeEZ.js} +1 -1
  44. package/out/renderer/assets/{radar-MK3ICKWK-D0m91kg2.js → radar-MK3ICKWK-MVmjodAd.js} +1 -1
  45. package/out/renderer/assets/{requirementDiagram-KVF5MWMF-7WDiFe7C.js → requirementDiagram-KVF5MWMF-c7L0iyWY.js} +1 -1
  46. package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-BvCTETAk.js → sankeyDiagram-QLVOVGJD-bOmiPVaK.js} +1 -1
  47. package/out/renderer/assets/{schedules-page-B2sb5H0L.js → schedules-page-DqaNoC2W.js} +1 -1
  48. package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-DGlKyLMu.js → sequenceDiagram-X6HHIX6F-4uV7XcFP.js} +1 -1
  49. package/out/renderer/assets/{settings-page-DnOXVx9n.js → settings-page-DMRi85xZ.js} +1 -1
  50. package/out/renderer/assets/{settings-section-CBkMzMRA.js → settings-section-MJPrm_CG.js} +1 -1
  51. package/out/renderer/assets/{square-pen-C9ah35lX.js → square-pen-KFtd2gSm.js} +1 -1
  52. package/out/renderer/assets/{stateDiagram-DGXRK772-BY_eMRWs.js → stateDiagram-DGXRK772-DATFJ4Mj.js} +1 -1
  53. package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-BvDbMG7C.js +1 -0
  54. package/out/renderer/assets/{timeline-definition-BDJGKUSR-9Ezq9kKH.js → timeline-definition-BDJGKUSR-DgIHqHE7.js} +1 -1
  55. package/out/renderer/assets/{use-agent-like-mutation-BYo-fu7V.js → use-agent-like-mutation-CxO-qq28.js} +1 -1
  56. package/out/renderer/assets/{xychartDiagram-VJFVF3MP-O2pD61nn.js → xychartDiagram-VJFVF3MP-DVGwUmLE.js} +1 -1
  57. package/out/renderer/index.html +3 -3
  58. package/out/renderer/installer.html +3 -3
  59. package/package.json +333 -333
  60. package/out/renderer/assets/channel-BqUr4Qsu.js +0 -1
  61. package/out/renderer/assets/classDiagram-GIVACNV2-DyZfTBa4.js +0 -1
  62. package/out/renderer/assets/classDiagram-v2-COTLJTTW-DyZfTBa4.js +0 -1
  63. package/out/renderer/assets/clone-hR8g0-gq.js +0 -1
  64. package/out/renderer/assets/icon-nCvgDdVX.css +0 -1
  65. package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-DecHc3j6.js +0 -1
  66. /package/out/renderer/assets/{icon-CTN1YQYZ.js → icon-Dy_Qe0xX.js} +0 -0
package/package.json CHANGED
@@ -1,335 +1,335 @@
1
1
  {
2
- "name": "local-operator-ui",
3
- "version": "0.13.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
- }
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
+ }
335
335
  }