@trops/dash-core 0.1.506 → 0.1.508
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.
- package/dist/electron/index.js +265 -303
- package/dist/electron/index.js.map +1 -1
- package/package.json +1 -1
package/dist/electron/index.js
CHANGED
|
@@ -25,7 +25,6 @@ var require$$1$4 = require('croner');
|
|
|
25
25
|
var require$$2$3 = require('algoliasearch');
|
|
26
26
|
var require$$3$3 = require('node:path');
|
|
27
27
|
var require$$0$7 = require('openai');
|
|
28
|
-
require('live-plugin-manager');
|
|
29
28
|
var require$$0$a = require('@anthropic-ai/sdk');
|
|
30
29
|
var require$$3$4 = require('crypto');
|
|
31
30
|
var require$$8$1 = require('zod');
|
|
@@ -1054,7 +1053,7 @@ var secureStoreController$1 = {
|
|
|
1054
1053
|
decryptString,
|
|
1055
1054
|
};
|
|
1056
1055
|
|
|
1057
|
-
const path$
|
|
1056
|
+
const path$m = require$$1$1;
|
|
1058
1057
|
const {
|
|
1059
1058
|
readFileSync,
|
|
1060
1059
|
writeFileSync: writeFileSync$3,
|
|
@@ -1072,7 +1071,7 @@ const {
|
|
|
1072
1071
|
function ensureDirectoryExistence$1(filePath) {
|
|
1073
1072
|
try {
|
|
1074
1073
|
// isDirectory
|
|
1075
|
-
var dirname = path$
|
|
1074
|
+
var dirname = path$m.dirname(filePath);
|
|
1076
1075
|
// check if the directory exists...return true
|
|
1077
1076
|
// if not, we can pass in the dirname as the filepath
|
|
1078
1077
|
// and check each directory recursively.
|
|
@@ -1187,7 +1186,7 @@ function removeFilesFromDirectory(directory, excludeFiles = []) {
|
|
|
1187
1186
|
|
|
1188
1187
|
for (const file of files) {
|
|
1189
1188
|
if (!excludeFiles.includes(file)) {
|
|
1190
|
-
unlinkSync(path$
|
|
1189
|
+
unlinkSync(path$m.join(directory, file), (err) => {
|
|
1191
1190
|
if (err) throw err;
|
|
1192
1191
|
});
|
|
1193
1192
|
}
|
|
@@ -1204,8 +1203,8 @@ var file = {
|
|
|
1204
1203
|
checkDirectory: checkDirectory$1,
|
|
1205
1204
|
};
|
|
1206
1205
|
|
|
1207
|
-
const { app: app$
|
|
1208
|
-
const path$
|
|
1206
|
+
const { app: app$e } = require$$0$1;
|
|
1207
|
+
const path$l = require$$1$1;
|
|
1209
1208
|
const { writeFileSync: writeFileSync$2 } = require$$0$2;
|
|
1210
1209
|
const { getFileContents: getFileContents$7 } = file;
|
|
1211
1210
|
|
|
@@ -1252,8 +1251,8 @@ const workspaceController$3 = {
|
|
|
1252
1251
|
saveWorkspaceForApplication: (win, appId, workspaceObject) => {
|
|
1253
1252
|
try {
|
|
1254
1253
|
// filename to the pages file (live pages)
|
|
1255
|
-
const filename = path$
|
|
1256
|
-
app$
|
|
1254
|
+
const filename = path$l.join(
|
|
1255
|
+
app$e.getPath("userData"),
|
|
1257
1256
|
appName$7,
|
|
1258
1257
|
appId,
|
|
1259
1258
|
configFilename$5,
|
|
@@ -1301,8 +1300,8 @@ const workspaceController$3 = {
|
|
|
1301
1300
|
saveMenuItemsForApplication: (win, appId, menuItems) => {
|
|
1302
1301
|
try {
|
|
1303
1302
|
// filename to the workspaces file
|
|
1304
|
-
const filename = path$
|
|
1305
|
-
app$
|
|
1303
|
+
const filename = path$l.join(
|
|
1304
|
+
app$e.getPath("userData"),
|
|
1306
1305
|
appName$7,
|
|
1307
1306
|
appId,
|
|
1308
1307
|
configFilename$5,
|
|
@@ -1350,8 +1349,8 @@ const workspaceController$3 = {
|
|
|
1350
1349
|
*/
|
|
1351
1350
|
deleteWorkspaceForApplication: (win, appId, workspaceId) => {
|
|
1352
1351
|
try {
|
|
1353
|
-
const filename = path$
|
|
1354
|
-
app$
|
|
1352
|
+
const filename = path$l.join(
|
|
1353
|
+
app$e.getPath("userData"),
|
|
1355
1354
|
appName$7,
|
|
1356
1355
|
appId,
|
|
1357
1356
|
configFilename$5,
|
|
@@ -1384,8 +1383,8 @@ const workspaceController$3 = {
|
|
|
1384
1383
|
|
|
1385
1384
|
listWorkspacesForApplication: (win, appId) => {
|
|
1386
1385
|
try {
|
|
1387
|
-
const filename = path$
|
|
1388
|
-
app$
|
|
1386
|
+
const filename = path$l.join(
|
|
1387
|
+
app$e.getPath("userData"),
|
|
1389
1388
|
appName$7,
|
|
1390
1389
|
appId,
|
|
1391
1390
|
configFilename$5,
|
|
@@ -1412,8 +1411,8 @@ const workspaceController$3 = {
|
|
|
1412
1411
|
|
|
1413
1412
|
listMenuItemsForApplication: (win, appId) => {
|
|
1414
1413
|
try {
|
|
1415
|
-
const filename = path$
|
|
1416
|
-
app$
|
|
1414
|
+
const filename = path$l.join(
|
|
1415
|
+
app$e.getPath("userData"),
|
|
1417
1416
|
appName$7,
|
|
1418
1417
|
appId,
|
|
1419
1418
|
configFilename$5,
|
|
@@ -1456,8 +1455,8 @@ const workspaceController$3 = {
|
|
|
1456
1455
|
|
|
1457
1456
|
var workspaceController_1 = workspaceController$3;
|
|
1458
1457
|
|
|
1459
|
-
const { app: app$
|
|
1460
|
-
const path$
|
|
1458
|
+
const { app: app$d } = require$$0$1;
|
|
1459
|
+
const path$k = require$$1$1;
|
|
1461
1460
|
const { writeFileSync: writeFileSync$1 } = require$$0$2;
|
|
1462
1461
|
const { getFileContents: getFileContents$6 } = file;
|
|
1463
1462
|
|
|
@@ -1477,8 +1476,8 @@ const themeController$5 = {
|
|
|
1477
1476
|
saveThemeForApplication: (win, appId, name, obj) => {
|
|
1478
1477
|
try {
|
|
1479
1478
|
// filename to the pages file (live pages)
|
|
1480
|
-
const filename = path$
|
|
1481
|
-
app$
|
|
1479
|
+
const filename = path$k.join(
|
|
1480
|
+
app$d.getPath("userData"),
|
|
1482
1481
|
appName$6,
|
|
1483
1482
|
appId,
|
|
1484
1483
|
configFilename$4,
|
|
@@ -1523,8 +1522,8 @@ const themeController$5 = {
|
|
|
1523
1522
|
*/
|
|
1524
1523
|
listThemesForApplication: (win, appId) => {
|
|
1525
1524
|
try {
|
|
1526
|
-
const filename = path$
|
|
1527
|
-
app$
|
|
1525
|
+
const filename = path$k.join(
|
|
1526
|
+
app$d.getPath("userData"),
|
|
1528
1527
|
appName$6,
|
|
1529
1528
|
appId,
|
|
1530
1529
|
configFilename$4,
|
|
@@ -1565,8 +1564,8 @@ const themeController$5 = {
|
|
|
1565
1564
|
*/
|
|
1566
1565
|
deleteThemeForApplication: (win, appId, themeKey) => {
|
|
1567
1566
|
try {
|
|
1568
|
-
const filename = path$
|
|
1569
|
-
app$
|
|
1567
|
+
const filename = path$k.join(
|
|
1568
|
+
app$d.getPath("userData"),
|
|
1570
1569
|
appName$6,
|
|
1571
1570
|
appId,
|
|
1572
1571
|
configFilename$4,
|
|
@@ -1642,9 +1641,9 @@ var themeController_1 = themeController$5;
|
|
|
1642
1641
|
* `/data/`.
|
|
1643
1642
|
*/
|
|
1644
1643
|
|
|
1645
|
-
const path$
|
|
1644
|
+
const path$j = require$$1$1;
|
|
1646
1645
|
const fs$f = require$$0$2;
|
|
1647
|
-
const { app: app$
|
|
1646
|
+
const { app: app$c } = require$$0$1;
|
|
1648
1647
|
|
|
1649
1648
|
const APP_NAME = "Dashboard";
|
|
1650
1649
|
|
|
@@ -1653,10 +1652,10 @@ const APP_NAME = "Dashboard";
|
|
|
1653
1652
|
* @returns {string[]} ordered allowed roots for that category
|
|
1654
1653
|
*/
|
|
1655
1654
|
function getAllowedRoots$2(category) {
|
|
1656
|
-
const userData = app$
|
|
1655
|
+
const userData = app$c.getPath("userData");
|
|
1657
1656
|
switch (category) {
|
|
1658
1657
|
case "data": {
|
|
1659
|
-
const def = path$
|
|
1658
|
+
const def = path$j.join(userData, APP_NAME, "data");
|
|
1660
1659
|
// The user can configure a custom data directory in
|
|
1661
1660
|
// Settings → General → Data Directory. If set, that
|
|
1662
1661
|
// location is ALSO an allowed root. We don't replace the
|
|
@@ -1666,13 +1665,13 @@ function getAllowedRoots$2(category) {
|
|
|
1666
1665
|
return override ? [def, override] : [def];
|
|
1667
1666
|
}
|
|
1668
1667
|
case "themes":
|
|
1669
|
-
return [path$
|
|
1668
|
+
return [path$j.join(userData, APP_NAME, "themes")];
|
|
1670
1669
|
case "widgets":
|
|
1671
|
-
return [path$
|
|
1670
|
+
return [path$j.join(userData, "widgets")];
|
|
1672
1671
|
case "plugins":
|
|
1673
|
-
return [path$
|
|
1672
|
+
return [path$j.join(userData, "plugins")];
|
|
1674
1673
|
case "downloads":
|
|
1675
|
-
return [app$
|
|
1674
|
+
return [app$c.getPath("downloads")];
|
|
1676
1675
|
default:
|
|
1677
1676
|
throw new Error("safePath: unknown allowed-roots category: " + category);
|
|
1678
1677
|
}
|
|
@@ -1687,8 +1686,8 @@ function getAllowedRoots$2(category) {
|
|
|
1687
1686
|
*/
|
|
1688
1687
|
function readDataDirectoryFromSettings() {
|
|
1689
1688
|
try {
|
|
1690
|
-
const settingsPath = path$
|
|
1691
|
-
app$
|
|
1689
|
+
const settingsPath = path$j.join(
|
|
1690
|
+
app$c.getPath("userData"),
|
|
1692
1691
|
APP_NAME,
|
|
1693
1692
|
"settings.json",
|
|
1694
1693
|
);
|
|
@@ -1719,7 +1718,7 @@ function safePath$3(requested, allowedRoots) {
|
|
|
1719
1718
|
throw new Error("safePath: allowedRoots must be a non-empty array");
|
|
1720
1719
|
}
|
|
1721
1720
|
|
|
1722
|
-
const resolved = path$
|
|
1721
|
+
const resolved = path$j.resolve(requested);
|
|
1723
1722
|
|
|
1724
1723
|
// Real-path through symlinks. If the file doesn't exist yet (a
|
|
1725
1724
|
// create-new operation), real-path the parent so a symlink in the
|
|
@@ -1729,8 +1728,8 @@ function safePath$3(requested, allowedRoots) {
|
|
|
1729
1728
|
real = fs$f.realpathSync(resolved);
|
|
1730
1729
|
} catch (_e) {
|
|
1731
1730
|
try {
|
|
1732
|
-
const parent = fs$f.realpathSync(path$
|
|
1733
|
-
real = path$
|
|
1731
|
+
const parent = fs$f.realpathSync(path$j.dirname(resolved));
|
|
1732
|
+
real = path$j.join(parent, path$j.basename(resolved));
|
|
1734
1733
|
} catch (_e2) {
|
|
1735
1734
|
// Parent doesn't exist either. Use the resolved-but-not-
|
|
1736
1735
|
// real path; the caller's mkdirSync will happen inside the
|
|
@@ -1749,7 +1748,7 @@ function safePath$3(requested, allowedRoots) {
|
|
|
1749
1748
|
}
|
|
1750
1749
|
// Exact match OR strictly-inside (with separator to prevent
|
|
1751
1750
|
// /data-evil/ matching /data/).
|
|
1752
|
-
if (real === realRoot || real.startsWith(realRoot + path$
|
|
1751
|
+
if (real === realRoot || real.startsWith(realRoot + path$j.sep)) {
|
|
1753
1752
|
return real;
|
|
1754
1753
|
}
|
|
1755
1754
|
}
|
|
@@ -1811,8 +1810,8 @@ var safePath_1 = {
|
|
|
1811
1810
|
*/
|
|
1812
1811
|
|
|
1813
1812
|
const fs$e = require$$0$2;
|
|
1814
|
-
const path$
|
|
1815
|
-
const { app: app$
|
|
1813
|
+
const path$i = require$$1$1;
|
|
1814
|
+
const { app: app$b } = require$$0$1;
|
|
1816
1815
|
|
|
1817
1816
|
const FILE_NAME = "widgetMcpGrants.json";
|
|
1818
1817
|
|
|
@@ -1821,7 +1820,7 @@ const FILE_NAME = "widgetMcpGrants.json";
|
|
|
1821
1820
|
let _cache$1 = null;
|
|
1822
1821
|
|
|
1823
1822
|
function grantsFilePath() {
|
|
1824
|
-
return path$
|
|
1823
|
+
return path$i.join(app$b.getPath("userData"), FILE_NAME);
|
|
1825
1824
|
}
|
|
1826
1825
|
|
|
1827
1826
|
function loadFromDisk() {
|
|
@@ -1848,7 +1847,7 @@ function writeToDisk(data) {
|
|
|
1848
1847
|
const tmp = p + ".tmp";
|
|
1849
1848
|
// Ensure parent dir exists (userData should already, but be defensive
|
|
1850
1849
|
// for first-launch / freshly-cleared profile cases).
|
|
1851
|
-
fs$e.mkdirSync(path$
|
|
1850
|
+
fs$e.mkdirSync(path$i.dirname(p), { recursive: true });
|
|
1852
1851
|
fs$e.writeFileSync(tmp, JSON.stringify(data, null, 2), "utf8");
|
|
1853
1852
|
fs$e.renameSync(tmp, p);
|
|
1854
1853
|
}
|
|
@@ -2587,9 +2586,23 @@ function _hostMatches(host, allowedList) {
|
|
|
2587
2586
|
if (!Array.isArray(allowedList) || allowedList.length === 0) return false;
|
|
2588
2587
|
if (allowedList.includes("*")) return true;
|
|
2589
2588
|
const lower = host.toLowerCase();
|
|
2590
|
-
|
|
2591
|
-
(
|
|
2592
|
-
|
|
2589
|
+
for (const entry of allowedList) {
|
|
2590
|
+
if (typeof entry !== "string") continue;
|
|
2591
|
+
const entryLower = entry.toLowerCase();
|
|
2592
|
+
// Exact match.
|
|
2593
|
+
if (entryLower === lower) return true;
|
|
2594
|
+
// Subdomain wildcard: "*.example.com" matches "example.com" and
|
|
2595
|
+
// any host ending in ".example.com". The leading dot on the
|
|
2596
|
+
// suffix-test is required — otherwise "*.example.com" would also
|
|
2597
|
+
// match "attackerexample.com", which is the kind of confusion
|
|
2598
|
+
// this feature is meant to avoid.
|
|
2599
|
+
if (entryLower.startsWith("*.")) {
|
|
2600
|
+
const base = entryLower.slice(2); // "example.com"
|
|
2601
|
+
if (lower === base) return true;
|
|
2602
|
+
if (lower.endsWith("." + base)) return true;
|
|
2603
|
+
}
|
|
2604
|
+
}
|
|
2605
|
+
return false;
|
|
2593
2606
|
}
|
|
2594
2607
|
|
|
2595
2608
|
function _parseHost(url) {
|
|
@@ -3490,9 +3503,9 @@ function requireTransform () {
|
|
|
3490
3503
|
return transform;
|
|
3491
3504
|
}
|
|
3492
3505
|
|
|
3493
|
-
const { app: app$
|
|
3506
|
+
const { app: app$a } = require$$0$1;
|
|
3494
3507
|
var fs$d = require$$0$2;
|
|
3495
|
-
const path$
|
|
3508
|
+
const path$h = require$$1$1;
|
|
3496
3509
|
const events$5 = events$8;
|
|
3497
3510
|
const { getFileContents: getFileContents$5, writeToFile: writeToFile$2 } = file;
|
|
3498
3511
|
const { safePath: safePath$2, getAllowedRoots: getAllowedRoots$1 } = safePath_1;
|
|
@@ -3509,8 +3522,8 @@ const { readEnforceFlag: readEnforceFlag$2, readJitFlag: readJitFlag$2 } = secur
|
|
|
3509
3522
|
// domain-neutral name is a separate slice).
|
|
3510
3523
|
function _loadFlags$1() {
|
|
3511
3524
|
try {
|
|
3512
|
-
const settingsPath = path$
|
|
3513
|
-
app$
|
|
3525
|
+
const settingsPath = path$h.join(
|
|
3526
|
+
app$a.getPath("userData"),
|
|
3514
3527
|
appName$5,
|
|
3515
3528
|
"settings.json",
|
|
3516
3529
|
);
|
|
@@ -3589,8 +3602,8 @@ const dataController$1 = {
|
|
|
3589
3602
|
// Validate the renderer-supplied filename is contained within
|
|
3590
3603
|
// the data directory. path.join doesn't reject `..` segments;
|
|
3591
3604
|
// safePath does.
|
|
3592
|
-
const candidate = path$
|
|
3593
|
-
app$
|
|
3605
|
+
const candidate = path$h.join(
|
|
3606
|
+
app$a.getPath("userData"),
|
|
3594
3607
|
appName$5,
|
|
3595
3608
|
appId,
|
|
3596
3609
|
"data",
|
|
@@ -3941,8 +3954,8 @@ const dataController$1 = {
|
|
|
3941
3954
|
if (data) {
|
|
3942
3955
|
// Validate filename is contained within the data directory.
|
|
3943
3956
|
// path.join doesn't reject `..` segments; safePath does.
|
|
3944
|
-
const candidate = path$
|
|
3945
|
-
app$
|
|
3957
|
+
const candidate = path$h.join(
|
|
3958
|
+
app$a.getPath("userData"),
|
|
3946
3959
|
appName$5,
|
|
3947
3960
|
"data",
|
|
3948
3961
|
filename,
|
|
@@ -4043,8 +4056,8 @@ const dataController$1 = {
|
|
|
4043
4056
|
try {
|
|
4044
4057
|
if (filename) {
|
|
4045
4058
|
// filename to the pages file (live pages)
|
|
4046
|
-
const fromFilename = path$
|
|
4047
|
-
app$
|
|
4059
|
+
const fromFilename = path$h.join(
|
|
4060
|
+
app$a.getPath("userData"),
|
|
4048
4061
|
appName$5,
|
|
4049
4062
|
"data",
|
|
4050
4063
|
filename,
|
|
@@ -4124,8 +4137,8 @@ var dataController_1 = dataController$1;
|
|
|
4124
4137
|
* settingsController
|
|
4125
4138
|
*/
|
|
4126
4139
|
|
|
4127
|
-
const { app: app$
|
|
4128
|
-
const path$
|
|
4140
|
+
const { app: app$9 } = require$$0$1;
|
|
4141
|
+
const path$g = require$$1$1;
|
|
4129
4142
|
const fs$c = require$$0$2;
|
|
4130
4143
|
const { getFileContents: getFileContents$4, writeToFile: writeToFile$1 } = file;
|
|
4131
4144
|
|
|
@@ -4140,8 +4153,8 @@ function copyDirectory(source, destination) {
|
|
|
4140
4153
|
|
|
4141
4154
|
const files = fs$c.readdirSync(source);
|
|
4142
4155
|
for (const file of files) {
|
|
4143
|
-
const srcPath = path$
|
|
4144
|
-
const destPath = path$
|
|
4156
|
+
const srcPath = path$g.join(source, file);
|
|
4157
|
+
const destPath = path$g.join(destination, file);
|
|
4145
4158
|
const stat = fs$c.lstatSync(srcPath);
|
|
4146
4159
|
|
|
4147
4160
|
// Skip symlinks to prevent following links to sensitive files
|
|
@@ -4169,8 +4182,8 @@ const settingsController$4 = {
|
|
|
4169
4182
|
try {
|
|
4170
4183
|
if (data) {
|
|
4171
4184
|
// <appId>/settings.json
|
|
4172
|
-
const filename = path$
|
|
4173
|
-
app$
|
|
4185
|
+
const filename = path$g.join(
|
|
4186
|
+
app$9.getPath("userData"),
|
|
4174
4187
|
appName$4,
|
|
4175
4188
|
configFilename$3,
|
|
4176
4189
|
);
|
|
@@ -4205,8 +4218,8 @@ const settingsController$4 = {
|
|
|
4205
4218
|
getSettingsForApplication: (win) => {
|
|
4206
4219
|
try {
|
|
4207
4220
|
// <appId>/settings.json
|
|
4208
|
-
const filename = path$
|
|
4209
|
-
app$
|
|
4221
|
+
const filename = path$g.join(
|
|
4222
|
+
app$9.getPath("userData"),
|
|
4210
4223
|
appName$4,
|
|
4211
4224
|
configFilename$3,
|
|
4212
4225
|
);
|
|
@@ -4236,15 +4249,15 @@ const settingsController$4 = {
|
|
|
4236
4249
|
*/
|
|
4237
4250
|
getDataDirectory: (win) => {
|
|
4238
4251
|
try {
|
|
4239
|
-
const settingsPath = path$
|
|
4240
|
-
app$
|
|
4252
|
+
const settingsPath = path$g.join(
|
|
4253
|
+
app$9.getPath("userData"),
|
|
4241
4254
|
appName$4,
|
|
4242
4255
|
configFilename$3,
|
|
4243
4256
|
);
|
|
4244
4257
|
const settings = getFileContents$4(settingsPath, {});
|
|
4245
4258
|
const userDataDir =
|
|
4246
4259
|
settings.userDataDirectory ||
|
|
4247
|
-
path$
|
|
4260
|
+
path$g.join(app$9.getPath("userData"), appName$4);
|
|
4248
4261
|
|
|
4249
4262
|
console.log("[settingsController] Data directory retrieved successfully");
|
|
4250
4263
|
// Return the data for ipcMain.handle() - modern promise-based approach
|
|
@@ -4281,8 +4294,8 @@ const settingsController$4 = {
|
|
|
4281
4294
|
}
|
|
4282
4295
|
|
|
4283
4296
|
// Update settings
|
|
4284
|
-
const settingsPath = path$
|
|
4285
|
-
app$
|
|
4297
|
+
const settingsPath = path$g.join(
|
|
4298
|
+
app$9.getPath("userData"),
|
|
4286
4299
|
appName$4,
|
|
4287
4300
|
configFilename$3,
|
|
4288
4301
|
);
|
|
@@ -4315,20 +4328,20 @@ const settingsController$4 = {
|
|
|
4315
4328
|
migrateDataDirectory: (win, oldPath, newPath) => {
|
|
4316
4329
|
try {
|
|
4317
4330
|
// Resolve paths to prevent traversal
|
|
4318
|
-
const resolvedOldPath = path$
|
|
4319
|
-
const resolvedNewPath = path$
|
|
4331
|
+
const resolvedOldPath = path$g.resolve(oldPath);
|
|
4332
|
+
const resolvedNewPath = path$g.resolve(newPath);
|
|
4320
4333
|
|
|
4321
4334
|
// Validate oldPath is the current configured data directory
|
|
4322
|
-
const settingsCheckPath = path$
|
|
4323
|
-
app$
|
|
4335
|
+
const settingsCheckPath = path$g.join(
|
|
4336
|
+
app$9.getPath("userData"),
|
|
4324
4337
|
appName$4,
|
|
4325
4338
|
configFilename$3,
|
|
4326
4339
|
);
|
|
4327
4340
|
const currentSettings = getFileContents$4(settingsCheckPath, {});
|
|
4328
4341
|
const currentDataDir =
|
|
4329
4342
|
currentSettings.userDataDirectory ||
|
|
4330
|
-
path$
|
|
4331
|
-
if (resolvedOldPath !== path$
|
|
4343
|
+
path$g.join(app$9.getPath("userData"), appName$4);
|
|
4344
|
+
if (resolvedOldPath !== path$g.resolve(currentDataDir)) {
|
|
4332
4345
|
throw new Error("Source path must be the current data directory");
|
|
4333
4346
|
}
|
|
4334
4347
|
|
|
@@ -4364,8 +4377,8 @@ const settingsController$4 = {
|
|
|
4364
4377
|
copyDirectory(resolvedOldPath, resolvedNewPath);
|
|
4365
4378
|
|
|
4366
4379
|
// Update settings to use new path
|
|
4367
|
-
const settingsPath = path$
|
|
4368
|
-
app$
|
|
4380
|
+
const settingsPath = path$g.join(
|
|
4381
|
+
app$9.getPath("userData"),
|
|
4369
4382
|
appName$4,
|
|
4370
4383
|
configFilename$3,
|
|
4371
4384
|
);
|
|
@@ -5029,8 +5042,8 @@ function requireProviderController () {
|
|
|
5029
5042
|
return providerController_1;
|
|
5030
5043
|
}
|
|
5031
5044
|
|
|
5032
|
-
const { app: app$
|
|
5033
|
-
const path$
|
|
5045
|
+
const { app: app$8 } = require$$0$1;
|
|
5046
|
+
const path$f = require$$1$1;
|
|
5034
5047
|
const events$4 = events$8;
|
|
5035
5048
|
const { getFileContents: getFileContents$3 } = file;
|
|
5036
5049
|
|
|
@@ -5046,8 +5059,8 @@ const layoutController$1 = {
|
|
|
5046
5059
|
*/
|
|
5047
5060
|
listLayoutsForApplication: (win, appId) => {
|
|
5048
5061
|
try {
|
|
5049
|
-
const filename = path$
|
|
5050
|
-
app$
|
|
5062
|
+
const filename = path$f.join(
|
|
5063
|
+
app$8.getPath("userData"),
|
|
5051
5064
|
appName$3,
|
|
5052
5065
|
appId,
|
|
5053
5066
|
configFilename$2,
|
|
@@ -22710,7 +22723,7 @@ const {
|
|
|
22710
22723
|
const {
|
|
22711
22724
|
StreamableHTTPClientTransport,
|
|
22712
22725
|
} = streamableHttp$1;
|
|
22713
|
-
const path$
|
|
22726
|
+
const path$e = require$$1$1;
|
|
22714
22727
|
const fs$b = require$$0$2;
|
|
22715
22728
|
const os$2 = require$$2$1;
|
|
22716
22729
|
const responseCache$2 = responseCache_1;
|
|
@@ -22718,7 +22731,7 @@ const { gateToolCall, gateToolCallWithJit } = permissionGate;
|
|
|
22718
22731
|
const { serverKey, parseServerKey } = mcpServerKey;
|
|
22719
22732
|
const { applyPathScopeToCredentials } = mcpScopeResolver;
|
|
22720
22733
|
const { readEnforceFlag: readEnforceFlag$1, readJitFlag: readJitFlag$1 } = securityFlags;
|
|
22721
|
-
const { app: app$
|
|
22734
|
+
const { app: app$7 } = require$$0$1;
|
|
22722
22735
|
|
|
22723
22736
|
/**
|
|
22724
22737
|
* Load the user's settings.json (or null on absence/parse error). The
|
|
@@ -22727,8 +22740,8 @@ const { app: app$8 } = require$$0$1;
|
|
|
22727
22740
|
*/
|
|
22728
22741
|
function loadSettingsForFlags() {
|
|
22729
22742
|
try {
|
|
22730
|
-
const settingsPath = path$
|
|
22731
|
-
app$
|
|
22743
|
+
const settingsPath = path$e.join(
|
|
22744
|
+
app$7.getPath("userData"),
|
|
22732
22745
|
"Dashboard",
|
|
22733
22746
|
"settings.json",
|
|
22734
22747
|
);
|
|
@@ -23300,7 +23313,7 @@ const mcpController$3 = {
|
|
|
23300
23313
|
}
|
|
23301
23314
|
|
|
23302
23315
|
// Interpolate {{MCP_DIR}} in args to resolve local MCP server scripts
|
|
23303
|
-
const mcpDir = path$
|
|
23316
|
+
const mcpDir = path$e.join(__dirname, "..", "mcp");
|
|
23304
23317
|
for (let i = 0; i < args.length; i++) {
|
|
23305
23318
|
if (
|
|
23306
23319
|
typeof args[i] === "string" &&
|
|
@@ -23751,7 +23764,7 @@ const mcpController$3 = {
|
|
|
23751
23764
|
*/
|
|
23752
23765
|
getCatalog: (win) => {
|
|
23753
23766
|
try {
|
|
23754
|
-
const catalogPath = path$
|
|
23767
|
+
const catalogPath = path$e.join(
|
|
23755
23768
|
__dirname,
|
|
23756
23769
|
"..",
|
|
23757
23770
|
"mcp",
|
|
@@ -23792,7 +23805,7 @@ const mcpController$3 = {
|
|
|
23792
23805
|
*/
|
|
23793
23806
|
getKnownExternalCatalog: () => {
|
|
23794
23807
|
try {
|
|
23795
|
-
const catalogPath = path$
|
|
23808
|
+
const catalogPath = path$e.join(
|
|
23796
23809
|
__dirname,
|
|
23797
23810
|
"..",
|
|
23798
23811
|
"mcp",
|
|
@@ -23905,7 +23918,7 @@ const mcpController$3 = {
|
|
|
23905
23918
|
}
|
|
23906
23919
|
|
|
23907
23920
|
// Interpolate {{MCP_DIR}} in authCommand args (same as startServer)
|
|
23908
|
-
const mcpDir = path$
|
|
23921
|
+
const mcpDir = path$e.join(__dirname, "..", "mcp");
|
|
23909
23922
|
const resolvedArgs = (authCommand.args || []).map((arg) =>
|
|
23910
23923
|
typeof arg === "string" && arg.includes("{{MCP_DIR}}")
|
|
23911
23924
|
? arg.replace(/\{\{MCP_DIR\}\}/g, mcpDir)
|
|
@@ -24454,7 +24467,7 @@ function commonjsRequire(path) {
|
|
|
24454
24467
|
*/
|
|
24455
24468
|
|
|
24456
24469
|
const fs$a = require$$0$2;
|
|
24457
|
-
const path$
|
|
24470
|
+
const path$d = require$$1$1;
|
|
24458
24471
|
|
|
24459
24472
|
/**
|
|
24460
24473
|
* Structured error thrown by compileWidget() when the underlying
|
|
@@ -24489,7 +24502,7 @@ function getEsbuildDiagnostics() {
|
|
|
24489
24502
|
|
|
24490
24503
|
try {
|
|
24491
24504
|
const pkgJsonPath = require.resolve("esbuild/package.json");
|
|
24492
|
-
diagnostics.esbuildPackageDir = path$
|
|
24505
|
+
diagnostics.esbuildPackageDir = path$d.dirname(pkgJsonPath);
|
|
24493
24506
|
diagnostics.esbuildVersion = commonjsRequire(pkgJsonPath).version;
|
|
24494
24507
|
} catch (err) {
|
|
24495
24508
|
diagnostics.esbuildResolveError = err.message;
|
|
@@ -24499,13 +24512,13 @@ function getEsbuildDiagnostics() {
|
|
|
24499
24512
|
const archPkgJson = require.resolve(
|
|
24500
24513
|
`${diagnostics.archPackage}/package.json`,
|
|
24501
24514
|
);
|
|
24502
|
-
const archDir = path$
|
|
24515
|
+
const archDir = path$d.dirname(archPkgJson);
|
|
24503
24516
|
// esbuild's native binary on macOS/Linux is bin/esbuild;
|
|
24504
24517
|
// on Windows it's esbuild.exe at the package root.
|
|
24505
24518
|
const candidate =
|
|
24506
24519
|
process.platform === "win32"
|
|
24507
|
-
? path$
|
|
24508
|
-
: path$
|
|
24520
|
+
? path$d.join(archDir, "esbuild.exe")
|
|
24521
|
+
: path$d.join(archDir, "bin", "esbuild");
|
|
24509
24522
|
diagnostics.nativeBinaryPath = candidate;
|
|
24510
24523
|
diagnostics.nativeBinaryExists = fs$a.existsSync(candidate);
|
|
24511
24524
|
} catch (err) {
|
|
@@ -24553,19 +24566,19 @@ async function healthCheck() {
|
|
|
24553
24566
|
* @returns {string|null} Path to the widgets/ directory, or null
|
|
24554
24567
|
*/
|
|
24555
24568
|
function findWidgetsDir$2(widgetPath) {
|
|
24556
|
-
const direct = path$
|
|
24569
|
+
const direct = path$d.join(widgetPath, "widgets");
|
|
24557
24570
|
if (fs$a.existsSync(direct)) {
|
|
24558
24571
|
return direct;
|
|
24559
24572
|
}
|
|
24560
24573
|
|
|
24561
24574
|
// Check configs/widgets/ (packageZip.js nests .dash.js files here)
|
|
24562
|
-
const configsWidgets = path$
|
|
24575
|
+
const configsWidgets = path$d.join(widgetPath, "configs", "widgets");
|
|
24563
24576
|
if (fs$a.existsSync(configsWidgets)) {
|
|
24564
24577
|
return configsWidgets;
|
|
24565
24578
|
}
|
|
24566
24579
|
|
|
24567
24580
|
// Check configs/ directory (used by packageZip.js for distributed widgets)
|
|
24568
|
-
const configs = path$
|
|
24581
|
+
const configs = path$d.join(widgetPath, "configs");
|
|
24569
24582
|
if (fs$a.existsSync(configs)) {
|
|
24570
24583
|
return configs;
|
|
24571
24584
|
}
|
|
@@ -24582,7 +24595,7 @@ function findWidgetsDir$2(widgetPath) {
|
|
|
24582
24595
|
);
|
|
24583
24596
|
|
|
24584
24597
|
for (const subdir of subdirs) {
|
|
24585
|
-
const nested = path$
|
|
24598
|
+
const nested = path$d.join(widgetPath, subdir.name, "widgets");
|
|
24586
24599
|
if (fs$a.existsSync(nested)) {
|
|
24587
24600
|
console.log(`[WidgetCompiler] Found nested widgets/ at ${nested}`);
|
|
24588
24601
|
return nested;
|
|
@@ -24631,14 +24644,14 @@ async function compileWidget$1(widgetPath) {
|
|
|
24631
24644
|
// Compute relative path from the entry file (in widgetPath) to widgetsDir,
|
|
24632
24645
|
// since widgetsDir may be nested (e.g., ./weather-widget/widgets/).
|
|
24633
24646
|
const relWidgetsDir =
|
|
24634
|
-
"./" + path$
|
|
24647
|
+
"./" + path$d.relative(widgetPath, widgetsDir).split(path$d.sep).join("/");
|
|
24635
24648
|
const imports = [];
|
|
24636
24649
|
const exportParts = [];
|
|
24637
24650
|
|
|
24638
24651
|
for (const dashFile of dashFiles) {
|
|
24639
24652
|
const componentName = dashFile.replace(".dash.js", "");
|
|
24640
24653
|
const componentFile = `${componentName}.js`;
|
|
24641
|
-
const componentFilePath = path$
|
|
24654
|
+
const componentFilePath = path$d.join(widgetsDir, componentFile);
|
|
24642
24655
|
const hasComponent = fs$a.existsSync(componentFilePath);
|
|
24643
24656
|
|
|
24644
24657
|
// Import the config (always)
|
|
@@ -24671,9 +24684,9 @@ async function compileWidget$1(widgetPath) {
|
|
|
24671
24684
|
const entryContent = [...imports, "", ...exportParts, ""].join("\n");
|
|
24672
24685
|
|
|
24673
24686
|
// Write temporary entry file in the widget root
|
|
24674
|
-
const entryPath = path$
|
|
24675
|
-
const distDir = path$
|
|
24676
|
-
const outPath = path$
|
|
24687
|
+
const entryPath = path$d.join(widgetPath, "__compile_entry.js");
|
|
24688
|
+
const distDir = path$d.join(widgetPath, "dist");
|
|
24689
|
+
const outPath = path$d.join(distDir, "index.cjs.js");
|
|
24677
24690
|
|
|
24678
24691
|
try {
|
|
24679
24692
|
// Ensure dist/ directory exists
|
|
@@ -24771,7 +24784,7 @@ var widgetCompiler$1 = {
|
|
|
24771
24784
|
*/
|
|
24772
24785
|
|
|
24773
24786
|
const fs$9 = require$$0$2;
|
|
24774
|
-
const path$
|
|
24787
|
+
const path$c = require$$1$1;
|
|
24775
24788
|
const vm = require$$2$2;
|
|
24776
24789
|
const { findWidgetsDir: findWidgetsDir$1 } = widgetCompiler$1;
|
|
24777
24790
|
|
|
@@ -24859,9 +24872,9 @@ class DynamicWidgetLoader {
|
|
|
24859
24872
|
);
|
|
24860
24873
|
|
|
24861
24874
|
const widgetsDir =
|
|
24862
|
-
findWidgetsDir$1(widgetPath) || path$
|
|
24863
|
-
const componentPath = path$
|
|
24864
|
-
const configPath = path$
|
|
24875
|
+
findWidgetsDir$1(widgetPath) || path$c.join(widgetPath, "widgets");
|
|
24876
|
+
const componentPath = path$c.join(widgetsDir, `${componentName}.js`);
|
|
24877
|
+
const configPath = path$c.join(widgetsDir, `${componentName}.dash.js`);
|
|
24865
24878
|
|
|
24866
24879
|
if (!fs$9.existsSync(componentPath)) {
|
|
24867
24880
|
throw new Error(`Component file not found: ${componentPath}`);
|
|
@@ -25062,9 +25075,9 @@ var dynamicWidgetLoaderExports = dynamicWidgetLoader$3.exports;
|
|
|
25062
25075
|
*/
|
|
25063
25076
|
|
|
25064
25077
|
const fs$8 = require$$0$2;
|
|
25065
|
-
const path$
|
|
25078
|
+
const path$b = require$$1$1;
|
|
25066
25079
|
const os$1 = require$$2$1;
|
|
25067
|
-
const { app: app$
|
|
25080
|
+
const { app: app$6 } = require$$0$1;
|
|
25068
25081
|
|
|
25069
25082
|
// Cache: widgetId → permissions | null. Populated lazily on first
|
|
25070
25083
|
// lookup; invalidated when a widget is installed/uninstalled (the
|
|
@@ -25079,7 +25092,7 @@ function expandHome(p) {
|
|
|
25079
25092
|
if (typeof p !== "string" || !p) return p;
|
|
25080
25093
|
if (p === "~") return os$1.homedir();
|
|
25081
25094
|
if (p.startsWith("~/") || p.startsWith("~\\")) {
|
|
25082
|
-
return path$
|
|
25095
|
+
return path$b.join(os$1.homedir(), p.slice(2));
|
|
25083
25096
|
}
|
|
25084
25097
|
return p;
|
|
25085
25098
|
}
|
|
@@ -25119,10 +25132,10 @@ function parseManifestPermissions(packageJson) {
|
|
|
25119
25132
|
*/
|
|
25120
25133
|
function resolveWidgetPackagePath(widgetId) {
|
|
25121
25134
|
if (typeof widgetId !== "string" || !widgetId) return null;
|
|
25122
|
-
const widgetsRoot = path$
|
|
25135
|
+
const widgetsRoot = path$b.join(app$6.getPath("userData"), "widgets");
|
|
25123
25136
|
// Split scope from name for "@scope/name" form.
|
|
25124
25137
|
const parts = widgetId.startsWith("@") ? widgetId.split("/") : [widgetId];
|
|
25125
|
-
return path$
|
|
25138
|
+
return path$b.join(widgetsRoot, ...parts, "package.json");
|
|
25126
25139
|
}
|
|
25127
25140
|
|
|
25128
25141
|
/**
|
|
@@ -25191,7 +25204,7 @@ var widgetPermissions = {
|
|
|
25191
25204
|
*/
|
|
25192
25205
|
|
|
25193
25206
|
const fs$7 = require$$0$2;
|
|
25194
|
-
const path$
|
|
25207
|
+
const path$a = require$$1$1;
|
|
25195
25208
|
|
|
25196
25209
|
const SOURCE_EXTENSIONS = new Set([
|
|
25197
25210
|
".js",
|
|
@@ -25249,13 +25262,13 @@ function readSourceFiles(dir) {
|
|
|
25249
25262
|
return;
|
|
25250
25263
|
}
|
|
25251
25264
|
for (const entry of entries) {
|
|
25252
|
-
const abs = path$
|
|
25253
|
-
const rel = relBase ? path$
|
|
25265
|
+
const abs = path$a.join(current, entry.name);
|
|
25266
|
+
const rel = relBase ? path$a.join(relBase, entry.name) : entry.name;
|
|
25254
25267
|
if (entry.isDirectory()) {
|
|
25255
25268
|
if (skipDirs.has(entry.name)) continue;
|
|
25256
25269
|
walk(abs, rel);
|
|
25257
25270
|
} else if (entry.isFile()) {
|
|
25258
|
-
const ext = path$
|
|
25271
|
+
const ext = path$a.extname(entry.name).toLowerCase();
|
|
25259
25272
|
if (!SOURCE_EXTENSIONS.has(ext)) continue;
|
|
25260
25273
|
if (result.length >= SCAN_FILE_LIMIT) return;
|
|
25261
25274
|
try {
|
|
@@ -25281,7 +25294,7 @@ function scanForMcpUsage(input) {
|
|
|
25281
25294
|
let fileList = [];
|
|
25282
25295
|
if (input.files && typeof input.files === "object") {
|
|
25283
25296
|
for (const [relPath, source] of Object.entries(input.files)) {
|
|
25284
|
-
const ext = path$
|
|
25297
|
+
const ext = path$a.extname(relPath).toLowerCase();
|
|
25285
25298
|
if (!SOURCE_EXTENSIONS.has(ext)) continue;
|
|
25286
25299
|
if (typeof source !== "string") continue;
|
|
25287
25300
|
fileList.push({ relPath, source });
|
|
@@ -27417,7 +27430,7 @@ var widgetRegistryExports = widgetRegistry$1.exports;
|
|
|
27417
27430
|
* - Support two-level browsing: packages (bundles) and widgets within packages
|
|
27418
27431
|
*/
|
|
27419
27432
|
|
|
27420
|
-
const path$
|
|
27433
|
+
const path$9 = require$$1$1;
|
|
27421
27434
|
const fs$6 = require$$0$2;
|
|
27422
27435
|
const os = require$$2$1;
|
|
27423
27436
|
const { toPackageId } = packageId;
|
|
@@ -27454,7 +27467,7 @@ function getCacheKey() {
|
|
|
27454
27467
|
* Get the local test registry path for dev mode
|
|
27455
27468
|
*/
|
|
27456
27469
|
function getTestRegistryPath() {
|
|
27457
|
-
return path$
|
|
27470
|
+
return path$9.join(__dirname, "..", "registry", "test-registry-index.json");
|
|
27458
27471
|
}
|
|
27459
27472
|
|
|
27460
27473
|
/**
|
|
@@ -27912,7 +27925,7 @@ async function fetchPackageSource(packageName, componentName = null) {
|
|
|
27912
27925
|
|
|
27913
27926
|
const zip = new AdmZip(buffer);
|
|
27914
27927
|
const safeName = (pkg.name || "pkg").replace(/[^a-zA-Z0-9-_]/g, "_");
|
|
27915
|
-
const tempDir = path$
|
|
27928
|
+
const tempDir = path$9.join(
|
|
27916
27929
|
os.tmpdir(),
|
|
27917
27930
|
`dash-registry-preview-${safeName}-${Date.now()}`,
|
|
27918
27931
|
);
|
|
@@ -27921,7 +27934,7 @@ async function fetchPackageSource(packageName, componentName = null) {
|
|
|
27921
27934
|
validateZipEntries(zip, tempDir);
|
|
27922
27935
|
zip.extractAllTo(tempDir, true);
|
|
27923
27936
|
|
|
27924
|
-
const widgetsDir = path$
|
|
27937
|
+
const widgetsDir = path$9.join(tempDir, "widgets");
|
|
27925
27938
|
let componentCode = "";
|
|
27926
27939
|
let configCode = "";
|
|
27927
27940
|
let widgetName = null;
|
|
@@ -27949,7 +27962,7 @@ async function fetchPackageSource(packageName, componentName = null) {
|
|
|
27949
27962
|
if (!configFile) configFile = dashFiles[0];
|
|
27950
27963
|
|
|
27951
27964
|
if (configFile) {
|
|
27952
|
-
configCode = fs$6.readFileSync(path$
|
|
27965
|
+
configCode = fs$6.readFileSync(path$9.join(widgetsDir, configFile), "utf8");
|
|
27953
27966
|
widgetName = configFile.replace(/\.dash\.js$/, "");
|
|
27954
27967
|
}
|
|
27955
27968
|
|
|
@@ -27964,7 +27977,7 @@ async function fetchPackageSource(packageName, componentName = null) {
|
|
|
27964
27977
|
|
|
27965
27978
|
if (componentFile) {
|
|
27966
27979
|
componentCode = fs$6.readFileSync(
|
|
27967
|
-
path$
|
|
27980
|
+
path$9.join(widgetsDir, componentFile),
|
|
27968
27981
|
"utf8",
|
|
27969
27982
|
);
|
|
27970
27983
|
if (!widgetName) widgetName = componentFile.replace(/\.js$/, "");
|
|
@@ -27972,13 +27985,13 @@ async function fetchPackageSource(packageName, componentName = null) {
|
|
|
27972
27985
|
}
|
|
27973
27986
|
|
|
27974
27987
|
let bundleSource = null;
|
|
27975
|
-
const bundlePath = path$
|
|
27988
|
+
const bundlePath = path$9.join(tempDir, "dist", "index.cjs.js");
|
|
27976
27989
|
if (fs$6.existsSync(bundlePath)) {
|
|
27977
27990
|
bundleSource = fs$6.readFileSync(bundlePath, "utf8");
|
|
27978
27991
|
}
|
|
27979
27992
|
|
|
27980
27993
|
let dashMeta = {};
|
|
27981
|
-
const dashPath = path$
|
|
27994
|
+
const dashPath = path$9.join(tempDir, "dash.json");
|
|
27982
27995
|
if (fs$6.existsSync(dashPath)) {
|
|
27983
27996
|
try {
|
|
27984
27997
|
dashMeta = JSON.parse(fs$6.readFileSync(dashPath, "utf8"));
|
|
@@ -28023,7 +28036,7 @@ var registryController$3 = {
|
|
|
28023
28036
|
var fs$5 = require$$0$2;
|
|
28024
28037
|
var JSONStream = require$$4;
|
|
28025
28038
|
const algoliasearch$1 = require$$2$3;
|
|
28026
|
-
const path$
|
|
28039
|
+
const path$8 = require$$3$3;
|
|
28027
28040
|
const { ensureDirectoryExistence, checkDirectory } = file;
|
|
28028
28041
|
|
|
28029
28042
|
let AlgoliaIndex$1 = class AlgoliaIndex {
|
|
@@ -28130,7 +28143,7 @@ let AlgoliaIndex$1 = class AlgoliaIndex {
|
|
|
28130
28143
|
if (err) reject(err);
|
|
28131
28144
|
if (files) {
|
|
28132
28145
|
files.forEach((file) => {
|
|
28133
|
-
fs$5.unlinkSync(path$
|
|
28146
|
+
fs$5.unlinkSync(path$8.join(directoryPath, file));
|
|
28134
28147
|
});
|
|
28135
28148
|
resolve();
|
|
28136
28149
|
}
|
|
@@ -28153,7 +28166,7 @@ let AlgoliaIndex$1 = class AlgoliaIndex {
|
|
|
28153
28166
|
let results = [];
|
|
28154
28167
|
for (const fileIndex in files) {
|
|
28155
28168
|
// for each file lets read the file and then push to algolia
|
|
28156
|
-
const pathToBatch = path$
|
|
28169
|
+
const pathToBatch = path$8.join(batchFilepath, files[fileIndex]);
|
|
28157
28170
|
const fileContents = await this.readFile(pathToBatch);
|
|
28158
28171
|
if (fileContents) {
|
|
28159
28172
|
if ("data" in fileContents && "filepath" in fileContents) {
|
|
@@ -28690,8 +28703,8 @@ function upsertMenuItem$1(items, menuItem) {
|
|
|
28690
28703
|
|
|
28691
28704
|
var upsertMenuItem_1 = { upsertMenuItem: upsertMenuItem$1 };
|
|
28692
28705
|
|
|
28693
|
-
const { app: app$
|
|
28694
|
-
const path$
|
|
28706
|
+
const { app: app$5 } = require$$0$1;
|
|
28707
|
+
const path$7 = require$$1$1;
|
|
28695
28708
|
const { writeFileSync } = require$$0$2;
|
|
28696
28709
|
const { getFileContents: getFileContents$2 } = file;
|
|
28697
28710
|
const { upsertMenuItem } = upsertMenuItem_1;
|
|
@@ -28702,8 +28715,8 @@ const appName$2 = "Dashboard";
|
|
|
28702
28715
|
const menuItemsController$1 = {
|
|
28703
28716
|
saveMenuItemForApplication: (win, appId, menuItem) => {
|
|
28704
28717
|
try {
|
|
28705
|
-
const filename = path$
|
|
28706
|
-
app$
|
|
28718
|
+
const filename = path$7.join(
|
|
28719
|
+
app$5.getPath("userData"),
|
|
28707
28720
|
appName$2,
|
|
28708
28721
|
appId,
|
|
28709
28722
|
configFilename$1,
|
|
@@ -28721,8 +28734,8 @@ const menuItemsController$1 = {
|
|
|
28721
28734
|
|
|
28722
28735
|
listMenuItemsForApplication: (win, appId) => {
|
|
28723
28736
|
try {
|
|
28724
|
-
const filename = path$
|
|
28725
|
-
app$
|
|
28737
|
+
const filename = path$7.join(
|
|
28738
|
+
app$5.getPath("userData"),
|
|
28726
28739
|
appName$2,
|
|
28727
28740
|
appId,
|
|
28728
28741
|
configFilename$1,
|
|
@@ -28747,25 +28760,6 @@ const menuItemsController$1 = {
|
|
|
28747
28760
|
|
|
28748
28761
|
var menuItemsController_1 = menuItemsController$1;
|
|
28749
28762
|
|
|
28750
|
-
const path$7 = require$$1$1;
|
|
28751
|
-
const { app: app$5 } = require$$0$1;
|
|
28752
|
-
|
|
28753
|
-
const pluginController$1 = {
|
|
28754
|
-
install: (win, packageName, filepath) => {
|
|
28755
|
-
try {
|
|
28756
|
-
const rootPath = path$7.join(
|
|
28757
|
-
app$5.getPath("userData"),
|
|
28758
|
-
"plugins",
|
|
28759
|
-
packageName,
|
|
28760
|
-
);
|
|
28761
|
-
} catch (e) {
|
|
28762
|
-
win.webContents.send("plugin-install-error", { error: e.message });
|
|
28763
|
-
}
|
|
28764
|
-
},
|
|
28765
|
-
};
|
|
28766
|
-
|
|
28767
|
-
var pluginController_1 = pluginController$1;
|
|
28768
|
-
|
|
28769
28763
|
var mcp = {};
|
|
28770
28764
|
|
|
28771
28765
|
var server$1 = {};
|
|
@@ -34809,20 +34803,13 @@ boolean.parseBooleanDef = parseBooleanDef;
|
|
|
34809
34803
|
|
|
34810
34804
|
var branded = {};
|
|
34811
34805
|
|
|
34812
|
-
|
|
34813
|
-
|
|
34814
|
-
|
|
34815
|
-
|
|
34816
|
-
|
|
34817
|
-
Object.defineProperty(branded, "__esModule", { value: true });
|
|
34818
|
-
branded.parseBrandedDef = void 0;
|
|
34819
|
-
const parseDef_js_1 = requireParseDef();
|
|
34820
|
-
function parseBrandedDef(_def, refs) {
|
|
34821
|
-
return (0, parseDef_js_1.parseDef)(_def.type._def, refs);
|
|
34822
|
-
}
|
|
34823
|
-
branded.parseBrandedDef = parseBrandedDef;
|
|
34824
|
-
return branded;
|
|
34806
|
+
Object.defineProperty(branded, "__esModule", { value: true });
|
|
34807
|
+
branded.parseBrandedDef = void 0;
|
|
34808
|
+
const parseDef_js_1$1 = requireParseDef();
|
|
34809
|
+
function parseBrandedDef(_def, refs) {
|
|
34810
|
+
return (0, parseDef_js_1$1.parseDef)(_def.type._def, refs);
|
|
34825
34811
|
}
|
|
34812
|
+
branded.parseBrandedDef = parseBrandedDef;
|
|
34826
34813
|
|
|
34827
34814
|
var _catch = {};
|
|
34828
34815
|
|
|
@@ -35405,7 +35392,7 @@ function requireRecord () {
|
|
|
35405
35392
|
const v3_1 = v3;
|
|
35406
35393
|
const parseDef_js_1 = requireParseDef();
|
|
35407
35394
|
const string_js_1 = string;
|
|
35408
|
-
const branded_js_1 =
|
|
35395
|
+
const branded_js_1 = branded;
|
|
35409
35396
|
const any_js_1 = any;
|
|
35410
35397
|
function parseRecordDef(def, refs) {
|
|
35411
35398
|
if (refs.target === "openAi") {
|
|
@@ -36056,7 +36043,7 @@ function requireSelectParser () {
|
|
|
36056
36043
|
const array_js_1 = requireArray();
|
|
36057
36044
|
const bigint_js_1 = bigint;
|
|
36058
36045
|
const boolean_js_1 = boolean;
|
|
36059
|
-
const branded_js_1 =
|
|
36046
|
+
const branded_js_1 = branded;
|
|
36060
36047
|
const catch_js_1 = require_catch();
|
|
36061
36048
|
const date_js_1 = date;
|
|
36062
36049
|
const default_js_1 = require_default();
|
|
@@ -36355,7 +36342,7 @@ zodToJsonSchema$1.zodToJsonSchema = zodToJsonSchema;
|
|
|
36355
36342
|
__exportStar(requireArray(), exports);
|
|
36356
36343
|
__exportStar(bigint, exports);
|
|
36357
36344
|
__exportStar(boolean, exports);
|
|
36358
|
-
__exportStar(
|
|
36345
|
+
__exportStar(branded, exports);
|
|
36359
36346
|
__exportStar(require_catch(), exports);
|
|
36360
36347
|
__exportStar(date, exports);
|
|
36361
36348
|
__exportStar(require_default(), exports);
|
|
@@ -62743,7 +62730,6 @@ const {
|
|
|
62743
62730
|
saveMenuItemForApplication,
|
|
62744
62731
|
listMenuItemsForApplication,
|
|
62745
62732
|
} = menuItemsController_1;
|
|
62746
|
-
const { install: pluginInstall } = pluginController_1;
|
|
62747
62733
|
const {
|
|
62748
62734
|
exportDashboardConfig,
|
|
62749
62735
|
selectDashboardFile,
|
|
@@ -62845,7 +62831,6 @@ var controller = {
|
|
|
62845
62831
|
describeImage,
|
|
62846
62832
|
saveMenuItemForApplication,
|
|
62847
62833
|
listMenuItemsForApplication,
|
|
62848
|
-
pluginInstall,
|
|
62849
62834
|
searchIndex,
|
|
62850
62835
|
exportDashboardConfig,
|
|
62851
62836
|
selectDashboardFile,
|
|
@@ -62897,7 +62882,7 @@ var controller = {
|
|
|
62897
62882
|
mcpDashServerController: mcpDashServerController$2,
|
|
62898
62883
|
};
|
|
62899
62884
|
|
|
62900
|
-
const { ipcRenderer: ipcRenderer$
|
|
62885
|
+
const { ipcRenderer: ipcRenderer$o } = require$$0$1;
|
|
62901
62886
|
const { SECURE_STORE_ENCRYPTION_CHECK } = events$8;
|
|
62902
62887
|
/**
|
|
62903
62888
|
* secureStoreApi
|
|
@@ -62919,7 +62904,7 @@ const { SECURE_STORE_ENCRYPTION_CHECK } = events$8;
|
|
|
62919
62904
|
*/
|
|
62920
62905
|
const secureStoreApi$2 = {
|
|
62921
62906
|
isEncryptionAvailable: () =>
|
|
62922
|
-
ipcRenderer$
|
|
62907
|
+
ipcRenderer$o.invoke(SECURE_STORE_ENCRYPTION_CHECK, {}),
|
|
62923
62908
|
};
|
|
62924
62909
|
|
|
62925
62910
|
var secureStoreApi_1 = secureStoreApi$2;
|
|
@@ -62930,7 +62915,7 @@ var secureStoreApi_1 = secureStoreApi$2;
|
|
|
62930
62915
|
* Handle the workspace configuration file
|
|
62931
62916
|
*/
|
|
62932
62917
|
|
|
62933
|
-
const { ipcRenderer: ipcRenderer$
|
|
62918
|
+
const { ipcRenderer: ipcRenderer$n } = require$$0$1;
|
|
62934
62919
|
const {
|
|
62935
62920
|
WORKSPACE_LIST,
|
|
62936
62921
|
WORKSPACE_SAVE,
|
|
@@ -62947,7 +62932,7 @@ const workspaceApi$2 = {
|
|
|
62947
62932
|
*/
|
|
62948
62933
|
listWorkspacesForApplication: (appId) => {
|
|
62949
62934
|
console.log("listWorkspacesForApplication called with appId:", appId);
|
|
62950
|
-
return ipcRenderer$
|
|
62935
|
+
return ipcRenderer$n.invoke(WORKSPACE_LIST, { appId });
|
|
62951
62936
|
},
|
|
62952
62937
|
|
|
62953
62938
|
/**
|
|
@@ -62958,7 +62943,7 @@ const workspaceApi$2 = {
|
|
|
62958
62943
|
* @returns
|
|
62959
62944
|
*/
|
|
62960
62945
|
saveWorkspaceForApplication: (appId, data) =>
|
|
62961
|
-
ipcRenderer$
|
|
62946
|
+
ipcRenderer$n.invoke(WORKSPACE_SAVE, { appId, data }),
|
|
62962
62947
|
|
|
62963
62948
|
/**
|
|
62964
62949
|
* deleteWorkspaceForApplication
|
|
@@ -62968,7 +62953,7 @@ const workspaceApi$2 = {
|
|
|
62968
62953
|
* @returns
|
|
62969
62954
|
*/
|
|
62970
62955
|
deleteWorkspaceForApplication: (appId, workspaceId) =>
|
|
62971
|
-
ipcRenderer$
|
|
62956
|
+
ipcRenderer$n.invoke(WORKSPACE_DELETE, { appId, workspaceId }),
|
|
62972
62957
|
};
|
|
62973
62958
|
|
|
62974
62959
|
var workspaceApi_1 = workspaceApi$2;
|
|
@@ -62980,13 +62965,13 @@ var workspaceApi_1 = workspaceApi$2;
|
|
|
62980
62965
|
*/
|
|
62981
62966
|
|
|
62982
62967
|
// ipcRenderer that must be used to invoke the events
|
|
62983
|
-
const { ipcRenderer: ipcRenderer$
|
|
62968
|
+
const { ipcRenderer: ipcRenderer$m } = require$$0$1;
|
|
62984
62969
|
|
|
62985
62970
|
const { LAYOUT_LIST } = events$8;
|
|
62986
62971
|
|
|
62987
62972
|
const layoutApi$2 = {
|
|
62988
62973
|
listLayoutsForApplication: (appId) =>
|
|
62989
|
-
ipcRenderer$
|
|
62974
|
+
ipcRenderer$m.invoke(LAYOUT_LIST, { appId }),
|
|
62990
62975
|
};
|
|
62991
62976
|
|
|
62992
62977
|
var layoutApi_1 = layoutApi$2;
|
|
@@ -62998,7 +62983,7 @@ var layoutApi_1 = layoutApi$2;
|
|
|
62998
62983
|
*/
|
|
62999
62984
|
|
|
63000
62985
|
// ipcRenderer that must be used to invoke the events
|
|
63001
|
-
const { ipcRenderer: ipcRenderer$
|
|
62986
|
+
const { ipcRenderer: ipcRenderer$l } = require$$0$1;
|
|
63002
62987
|
|
|
63003
62988
|
const {
|
|
63004
62989
|
DATA_JSON_TO_CSV_FILE,
|
|
@@ -63016,7 +63001,7 @@ const {
|
|
|
63016
63001
|
const dataApi$2 = {
|
|
63017
63002
|
// convert a json array of objects to a csv string and save to file
|
|
63018
63003
|
convertJsonToCsvFile: (appId, jsonObject, filename) =>
|
|
63019
|
-
ipcRenderer$
|
|
63004
|
+
ipcRenderer$l.invoke(DATA_JSON_TO_CSV_FILE, {
|
|
63020
63005
|
appId,
|
|
63021
63006
|
jsonObject,
|
|
63022
63007
|
filename,
|
|
@@ -63024,10 +63009,10 @@ const dataApi$2 = {
|
|
|
63024
63009
|
|
|
63025
63010
|
// convert a json array of objects to a csv string and return a string
|
|
63026
63011
|
convertJsonToCsvString: (appId, jsonObject) =>
|
|
63027
|
-
ipcRenderer$
|
|
63012
|
+
ipcRenderer$l.invoke(DATA_JSON_TO_CSV_STRING, { appId, jsonObject }),
|
|
63028
63013
|
|
|
63029
63014
|
parseXMLStream: (filepath, outpath, start) =>
|
|
63030
|
-
ipcRenderer$
|
|
63015
|
+
ipcRenderer$l.invoke(PARSE_XML_STREAM, {
|
|
63031
63016
|
filepath,
|
|
63032
63017
|
outpath,
|
|
63033
63018
|
start,
|
|
@@ -63041,7 +63026,7 @@ const dataApi$2 = {
|
|
|
63041
63026
|
headers = null,
|
|
63042
63027
|
limit = null,
|
|
63043
63028
|
) => {
|
|
63044
|
-
ipcRenderer$
|
|
63029
|
+
ipcRenderer$l.invoke(PARSE_CSV_STREAM, {
|
|
63045
63030
|
filepath,
|
|
63046
63031
|
outpath,
|
|
63047
63032
|
delimiter,
|
|
@@ -63052,15 +63037,15 @@ const dataApi$2 = {
|
|
|
63052
63037
|
},
|
|
63053
63038
|
|
|
63054
63039
|
readLinesFromFile: (filepath, lineCount) => {
|
|
63055
|
-
ipcRenderer$
|
|
63040
|
+
ipcRenderer$l.invoke(READ_LINES, { filepath, lineCount });
|
|
63056
63041
|
},
|
|
63057
63042
|
|
|
63058
63043
|
readJSONFromFile: (filepath, objectCount = null) => {
|
|
63059
|
-
ipcRenderer$
|
|
63044
|
+
ipcRenderer$l.invoke(READ_JSON, { filepath, objectCount });
|
|
63060
63045
|
},
|
|
63061
63046
|
|
|
63062
63047
|
readDataFromURL: (url, toFilepath, widgetId = null) => {
|
|
63063
|
-
ipcRenderer$
|
|
63048
|
+
ipcRenderer$l.invoke(READ_DATA_URL, { url, toFilepath, widgetId });
|
|
63064
63049
|
},
|
|
63065
63050
|
|
|
63066
63051
|
/*
|
|
@@ -63069,7 +63054,7 @@ const dataApi$2 = {
|
|
|
63069
63054
|
* @param {object} returnEmpty the return empty object
|
|
63070
63055
|
*/
|
|
63071
63056
|
saveData: (data, filename, append, returnEmpty, widgetId = null) =>
|
|
63072
|
-
ipcRenderer$
|
|
63057
|
+
ipcRenderer$l.invoke(DATA_SAVE_TO_FILE, {
|
|
63073
63058
|
data,
|
|
63074
63059
|
filename,
|
|
63075
63060
|
append,
|
|
@@ -63087,7 +63072,7 @@ const dataApi$2 = {
|
|
|
63087
63072
|
* gates the gate itself).
|
|
63088
63073
|
*/
|
|
63089
63074
|
readData: (filename, returnEmpty = [], widgetId = null) =>
|
|
63090
|
-
ipcRenderer$
|
|
63075
|
+
ipcRenderer$l.invoke(DATA_READ_FROM_FILE, {
|
|
63091
63076
|
filename,
|
|
63092
63077
|
returnEmpty,
|
|
63093
63078
|
widgetId,
|
|
@@ -63098,7 +63083,7 @@ const dataApi$2 = {
|
|
|
63098
63083
|
* @returns
|
|
63099
63084
|
*/
|
|
63100
63085
|
transformFile: (filepath, outFilepath, mappingFunctionBody, args) => {
|
|
63101
|
-
ipcRenderer$
|
|
63086
|
+
ipcRenderer$l.invoke(TRANSFORM_FILE, {
|
|
63102
63087
|
filepath,
|
|
63103
63088
|
outFilepath,
|
|
63104
63089
|
mappingFunctionBody,
|
|
@@ -63116,7 +63101,7 @@ var dataApi_1 = dataApi$2;
|
|
|
63116
63101
|
*/
|
|
63117
63102
|
|
|
63118
63103
|
// ipcRenderer that must be used to invoke the events
|
|
63119
|
-
const { ipcRenderer: ipcRenderer$
|
|
63104
|
+
const { ipcRenderer: ipcRenderer$k } = require$$0$1;
|
|
63120
63105
|
|
|
63121
63106
|
const {
|
|
63122
63107
|
SETTINGS_GET,
|
|
@@ -63127,14 +63112,14 @@ const {
|
|
|
63127
63112
|
} = events$8;
|
|
63128
63113
|
|
|
63129
63114
|
const settingsApi$2 = {
|
|
63130
|
-
getSettingsForApplication: () => ipcRenderer$
|
|
63115
|
+
getSettingsForApplication: () => ipcRenderer$k.invoke(SETTINGS_GET, {}),
|
|
63131
63116
|
saveSettingsForApplication: (data) =>
|
|
63132
|
-
ipcRenderer$
|
|
63133
|
-
getDataDirectory: () => ipcRenderer$
|
|
63117
|
+
ipcRenderer$k.invoke(SETTINGS_SAVE, { data }),
|
|
63118
|
+
getDataDirectory: () => ipcRenderer$k.invoke(SETTINGS_GET_DATA_DIR, {}),
|
|
63134
63119
|
setDataDirectory: (dataDirectory) =>
|
|
63135
|
-
ipcRenderer$
|
|
63120
|
+
ipcRenderer$k.invoke(SETTINGS_SET_DATA_DIR, { dataDirectory }),
|
|
63136
63121
|
migrateDataDirectory: (oldDirectory, newDirectory) =>
|
|
63137
|
-
ipcRenderer$
|
|
63122
|
+
ipcRenderer$k.invoke(SETTINGS_MIGRATE_DATA_DIR, {
|
|
63138
63123
|
oldDirectory,
|
|
63139
63124
|
newDirectory,
|
|
63140
63125
|
}),
|
|
@@ -63149,7 +63134,7 @@ var settingsApi_1 = settingsApi$2;
|
|
|
63149
63134
|
* Provides file/folder chooser dialogs.
|
|
63150
63135
|
*/
|
|
63151
63136
|
|
|
63152
|
-
const { ipcRenderer: ipcRenderer$
|
|
63137
|
+
const { ipcRenderer: ipcRenderer$j } = require$$0$1;
|
|
63153
63138
|
|
|
63154
63139
|
const { CHOOSE_FILE } = events$8;
|
|
63155
63140
|
|
|
@@ -63162,7 +63147,7 @@ const dialogApi$2 = {
|
|
|
63162
63147
|
* @returns {Promise<string|null>} selected file/folder path, or null if cancelled
|
|
63163
63148
|
*/
|
|
63164
63149
|
chooseFile: (allowFile = true, extensions = ["*"]) => {
|
|
63165
|
-
return ipcRenderer$
|
|
63150
|
+
return ipcRenderer$j.invoke(CHOOSE_FILE, { allowFile, extensions });
|
|
63166
63151
|
},
|
|
63167
63152
|
|
|
63168
63153
|
/**
|
|
@@ -63187,7 +63172,7 @@ const dialogApi$2 = {
|
|
|
63187
63172
|
typeof options.allowFile === "boolean" ? options.allowFile : allowFile;
|
|
63188
63173
|
const resolvedExtensions = options.extensions || extensions;
|
|
63189
63174
|
|
|
63190
|
-
const filePath = await ipcRenderer$
|
|
63175
|
+
const filePath = await ipcRenderer$j.invoke(CHOOSE_FILE, {
|
|
63191
63176
|
allowFile: resolvedAllowFile,
|
|
63192
63177
|
extensions: resolvedExtensions,
|
|
63193
63178
|
});
|
|
@@ -63214,7 +63199,7 @@ var dialogApi_1 = dialogApi$2;
|
|
|
63214
63199
|
* mainApi.widgets.uninstall('Weather')
|
|
63215
63200
|
*/
|
|
63216
63201
|
|
|
63217
|
-
const { ipcRenderer: ipcRenderer$
|
|
63202
|
+
const { ipcRenderer: ipcRenderer$i } = require$$0$1;
|
|
63218
63203
|
|
|
63219
63204
|
const widgetApi$2 = {
|
|
63220
63205
|
/**
|
|
@@ -63223,7 +63208,7 @@ const widgetApi$2 = {
|
|
|
63223
63208
|
*/
|
|
63224
63209
|
list: async () => {
|
|
63225
63210
|
try {
|
|
63226
|
-
return await ipcRenderer$
|
|
63211
|
+
return await ipcRenderer$i.invoke("widget:list");
|
|
63227
63212
|
} catch (error) {
|
|
63228
63213
|
console.error("[WidgetApi] Error listing widgets:", error);
|
|
63229
63214
|
throw error;
|
|
@@ -63237,7 +63222,7 @@ const widgetApi$2 = {
|
|
|
63237
63222
|
*/
|
|
63238
63223
|
get: async (widgetName) => {
|
|
63239
63224
|
try {
|
|
63240
|
-
return await ipcRenderer$
|
|
63225
|
+
return await ipcRenderer$i.invoke("widget:get", widgetName);
|
|
63241
63226
|
} catch (error) {
|
|
63242
63227
|
console.error(`[WidgetApi] Error getting widget ${widgetName}:`, error);
|
|
63243
63228
|
throw error;
|
|
@@ -63268,7 +63253,7 @@ const widgetApi$2 = {
|
|
|
63268
63253
|
console.log(
|
|
63269
63254
|
`[WidgetApi] Installing widget: ${widgetName} from ${downloadUrl}`,
|
|
63270
63255
|
);
|
|
63271
|
-
const config = await ipcRenderer$
|
|
63256
|
+
const config = await ipcRenderer$i.invoke(
|
|
63272
63257
|
"widget:install",
|
|
63273
63258
|
widgetName,
|
|
63274
63259
|
downloadUrl,
|
|
@@ -63308,7 +63293,7 @@ const widgetApi$2 = {
|
|
|
63308
63293
|
console.log(
|
|
63309
63294
|
`[WidgetApi] Installing local widget: ${widgetName} from ${localPath}`,
|
|
63310
63295
|
);
|
|
63311
|
-
const config = await ipcRenderer$
|
|
63296
|
+
const config = await ipcRenderer$i.invoke(
|
|
63312
63297
|
"widget:install-local",
|
|
63313
63298
|
widgetName,
|
|
63314
63299
|
localPath,
|
|
@@ -63339,7 +63324,7 @@ const widgetApi$2 = {
|
|
|
63339
63324
|
loadFolder: async (folderPath) => {
|
|
63340
63325
|
try {
|
|
63341
63326
|
console.log(`[WidgetApi] Loading widgets from folder: ${folderPath}`);
|
|
63342
|
-
const results = await ipcRenderer$
|
|
63327
|
+
const results = await ipcRenderer$i.invoke(
|
|
63343
63328
|
"widget:load-folder",
|
|
63344
63329
|
folderPath,
|
|
63345
63330
|
);
|
|
@@ -63363,7 +63348,7 @@ const widgetApi$2 = {
|
|
|
63363
63348
|
uninstall: async (widgetName) => {
|
|
63364
63349
|
try {
|
|
63365
63350
|
console.log(`[WidgetApi] Uninstalling widget: ${widgetName}`);
|
|
63366
|
-
const success = await ipcRenderer$
|
|
63351
|
+
const success = await ipcRenderer$i.invoke("widget:uninstall", widgetName);
|
|
63367
63352
|
if (success) {
|
|
63368
63353
|
console.log(`[WidgetApi] ✓ Widget ${widgetName} uninstalled`);
|
|
63369
63354
|
} else {
|
|
@@ -63386,7 +63371,7 @@ const widgetApi$2 = {
|
|
|
63386
63371
|
*/
|
|
63387
63372
|
getCachePath: async () => {
|
|
63388
63373
|
try {
|
|
63389
|
-
return await ipcRenderer$
|
|
63374
|
+
return await ipcRenderer$i.invoke("widget:cache-path");
|
|
63390
63375
|
} catch (error) {
|
|
63391
63376
|
console.error("[WidgetApi] Error getting cache path:", error);
|
|
63392
63377
|
throw error;
|
|
@@ -63400,7 +63385,7 @@ const widgetApi$2 = {
|
|
|
63400
63385
|
*/
|
|
63401
63386
|
getStoragePath: async () => {
|
|
63402
63387
|
try {
|
|
63403
|
-
return await ipcRenderer$
|
|
63388
|
+
return await ipcRenderer$i.invoke("widget:storage-path");
|
|
63404
63389
|
} catch (error) {
|
|
63405
63390
|
console.error("[WidgetApi] Error getting storage path:", error);
|
|
63406
63391
|
throw error;
|
|
@@ -63417,7 +63402,7 @@ const widgetApi$2 = {
|
|
|
63417
63402
|
setStoragePath: async (customPath) => {
|
|
63418
63403
|
try {
|
|
63419
63404
|
console.log(`[WidgetApi] Setting storage path to: ${customPath}`);
|
|
63420
|
-
const result = await ipcRenderer$
|
|
63405
|
+
const result = await ipcRenderer$i.invoke(
|
|
63421
63406
|
"widget:set-storage-path",
|
|
63422
63407
|
customPath,
|
|
63423
63408
|
);
|
|
@@ -63439,7 +63424,7 @@ const widgetApi$2 = {
|
|
|
63439
63424
|
*/
|
|
63440
63425
|
getComponentConfigs: async () => {
|
|
63441
63426
|
try {
|
|
63442
|
-
return await ipcRenderer$
|
|
63427
|
+
return await ipcRenderer$i.invoke("widget:get-component-configs");
|
|
63443
63428
|
} catch (error) {
|
|
63444
63429
|
console.error("[WidgetApi] Error getting component configs:", error);
|
|
63445
63430
|
return [];
|
|
@@ -63454,7 +63439,7 @@ const widgetApi$2 = {
|
|
|
63454
63439
|
*/
|
|
63455
63440
|
readBundle: async (widgetName) => {
|
|
63456
63441
|
try {
|
|
63457
|
-
return await ipcRenderer$
|
|
63442
|
+
return await ipcRenderer$i.invoke("widget:read-bundle", widgetName);
|
|
63458
63443
|
} catch (error) {
|
|
63459
63444
|
console.error(
|
|
63460
63445
|
`[WidgetApi] Error reading bundle for ${widgetName}:`,
|
|
@@ -63473,7 +63458,7 @@ const widgetApi$2 = {
|
|
|
63473
63458
|
*/
|
|
63474
63459
|
readSources: async (widgetName, componentName) => {
|
|
63475
63460
|
try {
|
|
63476
|
-
return await ipcRenderer$
|
|
63461
|
+
return await ipcRenderer$i.invoke("widget:read-sources", {
|
|
63477
63462
|
widgetName,
|
|
63478
63463
|
componentName,
|
|
63479
63464
|
});
|
|
@@ -63493,7 +63478,7 @@ const widgetApi$2 = {
|
|
|
63493
63478
|
*/
|
|
63494
63479
|
readAllBundles: async () => {
|
|
63495
63480
|
try {
|
|
63496
|
-
return await ipcRenderer$
|
|
63481
|
+
return await ipcRenderer$i.invoke("widget:read-all-bundles");
|
|
63497
63482
|
} catch (error) {
|
|
63498
63483
|
console.error("[WidgetApi] Error reading all bundles:", error);
|
|
63499
63484
|
return [];
|
|
@@ -63513,7 +63498,7 @@ const widgetApi$2 = {
|
|
|
63513
63498
|
* });
|
|
63514
63499
|
*/
|
|
63515
63500
|
onInstalled: (callback) => {
|
|
63516
|
-
ipcRenderer$
|
|
63501
|
+
ipcRenderer$i.on("widget:installed", (event, data) => {
|
|
63517
63502
|
callback(data);
|
|
63518
63503
|
});
|
|
63519
63504
|
},
|
|
@@ -63530,7 +63515,7 @@ const widgetApi$2 = {
|
|
|
63530
63515
|
* });
|
|
63531
63516
|
*/
|
|
63532
63517
|
onUninstalled: (callback) => {
|
|
63533
|
-
ipcRenderer$
|
|
63518
|
+
ipcRenderer$i.on("widget:uninstalled", (event, data) => {
|
|
63534
63519
|
callback(data);
|
|
63535
63520
|
});
|
|
63536
63521
|
},
|
|
@@ -63548,7 +63533,7 @@ const widgetApi$2 = {
|
|
|
63548
63533
|
* });
|
|
63549
63534
|
*/
|
|
63550
63535
|
onLoaded: (callback) => {
|
|
63551
|
-
ipcRenderer$
|
|
63536
|
+
ipcRenderer$i.on("widgets:loaded", (event, data) => {
|
|
63552
63537
|
callback(data);
|
|
63553
63538
|
});
|
|
63554
63539
|
},
|
|
@@ -63559,7 +63544,7 @@ const widgetApi$2 = {
|
|
|
63559
63544
|
* @param {Function} callback - The callback to remove
|
|
63560
63545
|
*/
|
|
63561
63546
|
removeInstalledListener: (callback) => {
|
|
63562
|
-
ipcRenderer$
|
|
63547
|
+
ipcRenderer$i.removeListener("widget:installed", callback);
|
|
63563
63548
|
},
|
|
63564
63549
|
|
|
63565
63550
|
/**
|
|
@@ -63568,7 +63553,7 @@ const widgetApi$2 = {
|
|
|
63568
63553
|
* @param {Function} callback - The callback to remove
|
|
63569
63554
|
*/
|
|
63570
63555
|
removeUninstalledListener: (callback) => {
|
|
63571
|
-
ipcRenderer$
|
|
63556
|
+
ipcRenderer$i.removeListener("widget:uninstalled", callback);
|
|
63572
63557
|
},
|
|
63573
63558
|
|
|
63574
63559
|
/**
|
|
@@ -63577,7 +63562,7 @@ const widgetApi$2 = {
|
|
|
63577
63562
|
* @param {Function} callback - The callback to remove
|
|
63578
63563
|
*/
|
|
63579
63564
|
removeLoadedListener: (callback) => {
|
|
63580
|
-
ipcRenderer$
|
|
63565
|
+
ipcRenderer$i.removeListener("widgets:loaded", callback);
|
|
63581
63566
|
},
|
|
63582
63567
|
};
|
|
63583
63568
|
|
|
@@ -63590,7 +63575,7 @@ var widgetApi_1 = widgetApi$2;
|
|
|
63590
63575
|
* Communicates with main process via IPC to handle encryption and file storage
|
|
63591
63576
|
*/
|
|
63592
63577
|
|
|
63593
|
-
const { ipcRenderer: ipcRenderer$
|
|
63578
|
+
const { ipcRenderer: ipcRenderer$h } = require$$0$1;
|
|
63594
63579
|
const {
|
|
63595
63580
|
PROVIDER_SAVE,
|
|
63596
63581
|
PROVIDER_LIST,
|
|
@@ -63628,7 +63613,7 @@ const providerApi$2 = {
|
|
|
63628
63613
|
// value, preserve what's on disk" from "caller explicitly unset it".
|
|
63629
63614
|
isDefaultForType = undefined,
|
|
63630
63615
|
) =>
|
|
63631
|
-
ipcRenderer$
|
|
63616
|
+
ipcRenderer$h.invoke(PROVIDER_SAVE, {
|
|
63632
63617
|
appId,
|
|
63633
63618
|
providerName,
|
|
63634
63619
|
providerType,
|
|
@@ -63648,7 +63633,7 @@ const providerApi$2 = {
|
|
|
63648
63633
|
* @param {String} appId - the appId specified in the dash initialization
|
|
63649
63634
|
* @returns {Promise<Array>} Array of provider objects with name, type, credentials
|
|
63650
63635
|
*/
|
|
63651
|
-
listProviders: (appId) => ipcRenderer$
|
|
63636
|
+
listProviders: (appId) => ipcRenderer$h.invoke(PROVIDER_LIST, { appId }),
|
|
63652
63637
|
|
|
63653
63638
|
/**
|
|
63654
63639
|
* getProvider
|
|
@@ -63660,7 +63645,7 @@ const providerApi$2 = {
|
|
|
63660
63645
|
* @returns {Promise<Object>} Provider object with name, type, credentials
|
|
63661
63646
|
*/
|
|
63662
63647
|
getProvider: (appId, providerName) =>
|
|
63663
|
-
ipcRenderer$
|
|
63648
|
+
ipcRenderer$h.invoke(PROVIDER_GET, { appId, providerName }),
|
|
63664
63649
|
|
|
63665
63650
|
/**
|
|
63666
63651
|
* deleteProvider
|
|
@@ -63672,7 +63657,7 @@ const providerApi$2 = {
|
|
|
63672
63657
|
* @returns {Promise}
|
|
63673
63658
|
*/
|
|
63674
63659
|
deleteProvider: (appId, providerName) =>
|
|
63675
|
-
ipcRenderer$
|
|
63660
|
+
ipcRenderer$h.invoke(PROVIDER_DELETE, { appId, providerName }),
|
|
63676
63661
|
|
|
63677
63662
|
/**
|
|
63678
63663
|
* listProvidersForApplication
|
|
@@ -63682,14 +63667,14 @@ const providerApi$2 = {
|
|
|
63682
63667
|
* @param {String} appId - the appId specified in the dash initialization
|
|
63683
63668
|
*/
|
|
63684
63669
|
listProvidersForApplication: (appId) => {
|
|
63685
|
-
ipcRenderer$
|
|
63670
|
+
ipcRenderer$h
|
|
63686
63671
|
.invoke(PROVIDER_LIST, { appId })
|
|
63687
63672
|
.then((result) => {
|
|
63688
63673
|
// Emit the event for ElectronDashboardApi to listen to
|
|
63689
|
-
ipcRenderer$
|
|
63674
|
+
ipcRenderer$h.send("PROVIDER_LIST_COMPLETE", result);
|
|
63690
63675
|
})
|
|
63691
63676
|
.catch((error) => {
|
|
63692
|
-
ipcRenderer$
|
|
63677
|
+
ipcRenderer$h.send("PROVIDER_LIST_ERROR", {
|
|
63693
63678
|
error: error.message,
|
|
63694
63679
|
});
|
|
63695
63680
|
});
|
|
@@ -63706,7 +63691,7 @@ const providerApi$2 = {
|
|
|
63706
63691
|
providerType,
|
|
63707
63692
|
credentials,
|
|
63708
63693
|
) => {
|
|
63709
|
-
ipcRenderer$
|
|
63694
|
+
ipcRenderer$h
|
|
63710
63695
|
.invoke(PROVIDER_SAVE, {
|
|
63711
63696
|
appId,
|
|
63712
63697
|
providerName,
|
|
@@ -63714,10 +63699,10 @@ const providerApi$2 = {
|
|
|
63714
63699
|
credentials,
|
|
63715
63700
|
})
|
|
63716
63701
|
.then((result) => {
|
|
63717
|
-
ipcRenderer$
|
|
63702
|
+
ipcRenderer$h.send("PROVIDER_SAVE_COMPLETE", result);
|
|
63718
63703
|
})
|
|
63719
63704
|
.catch((error) => {
|
|
63720
|
-
ipcRenderer$
|
|
63705
|
+
ipcRenderer$h.send("PROVIDER_SAVE_ERROR", {
|
|
63721
63706
|
error: error.message,
|
|
63722
63707
|
});
|
|
63723
63708
|
});
|
|
@@ -63729,13 +63714,13 @@ const providerApi$2 = {
|
|
|
63729
63714
|
* Event-listener-based version for use with ElectronDashboardApi
|
|
63730
63715
|
*/
|
|
63731
63716
|
getProviderForApplication: (appId, providerName) => {
|
|
63732
|
-
ipcRenderer$
|
|
63717
|
+
ipcRenderer$h
|
|
63733
63718
|
.invoke(PROVIDER_GET, { appId, providerName })
|
|
63734
63719
|
.then((result) => {
|
|
63735
|
-
ipcRenderer$
|
|
63720
|
+
ipcRenderer$h.send("PROVIDER_GET_COMPLETE", result);
|
|
63736
63721
|
})
|
|
63737
63722
|
.catch((error) => {
|
|
63738
|
-
ipcRenderer$
|
|
63723
|
+
ipcRenderer$h.send("PROVIDER_GET_ERROR", {
|
|
63739
63724
|
error: error.message,
|
|
63740
63725
|
});
|
|
63741
63726
|
});
|
|
@@ -63747,13 +63732,13 @@ const providerApi$2 = {
|
|
|
63747
63732
|
* Event-listener-based version for use with ElectronDashboardApi
|
|
63748
63733
|
*/
|
|
63749
63734
|
deleteProviderForApplication: (appId, providerName) => {
|
|
63750
|
-
ipcRenderer$
|
|
63735
|
+
ipcRenderer$h
|
|
63751
63736
|
.invoke(PROVIDER_DELETE, { appId, providerName })
|
|
63752
63737
|
.then((result) => {
|
|
63753
|
-
ipcRenderer$
|
|
63738
|
+
ipcRenderer$h.send("PROVIDER_DELETE_COMPLETE", result);
|
|
63754
63739
|
})
|
|
63755
63740
|
.catch((error) => {
|
|
63756
|
-
ipcRenderer$
|
|
63741
|
+
ipcRenderer$h.send("PROVIDER_DELETE_ERROR", {
|
|
63757
63742
|
error: error.message,
|
|
63758
63743
|
});
|
|
63759
63744
|
});
|
|
@@ -63769,7 +63754,7 @@ var providerApi_1 = providerApi$2;
|
|
|
63769
63754
|
* Communicates with main process via IPC to manage MCP server lifecycle.
|
|
63770
63755
|
*/
|
|
63771
63756
|
|
|
63772
|
-
const { ipcRenderer: ipcRenderer$
|
|
63757
|
+
const { ipcRenderer: ipcRenderer$g } = require$$0$1;
|
|
63773
63758
|
const {
|
|
63774
63759
|
MCP_START_SERVER,
|
|
63775
63760
|
MCP_STOP_SERVER,
|
|
@@ -63808,7 +63793,7 @@ const mcpApi$2 = {
|
|
|
63808
63793
|
workspaceId = null,
|
|
63809
63794
|
pathScope = null,
|
|
63810
63795
|
) =>
|
|
63811
|
-
ipcRenderer$
|
|
63796
|
+
ipcRenderer$g.invoke(MCP_START_SERVER, {
|
|
63812
63797
|
serverName,
|
|
63813
63798
|
mcpConfig,
|
|
63814
63799
|
credentials,
|
|
@@ -63825,7 +63810,7 @@ const mcpApi$2 = {
|
|
|
63825
63810
|
* @returns {Promise<{ success, serverName } | { error, message }>}
|
|
63826
63811
|
*/
|
|
63827
63812
|
stopServer: (serverName, workspaceId = null) =>
|
|
63828
|
-
ipcRenderer$
|
|
63813
|
+
ipcRenderer$g.invoke(MCP_STOP_SERVER, { serverName, workspaceId }),
|
|
63829
63814
|
|
|
63830
63815
|
/**
|
|
63831
63816
|
* listTools
|
|
@@ -63836,7 +63821,7 @@ const mcpApi$2 = {
|
|
|
63836
63821
|
* @returns {Promise<{ tools } | { error, message }>}
|
|
63837
63822
|
*/
|
|
63838
63823
|
listTools: (serverName, workspaceId = null) =>
|
|
63839
|
-
ipcRenderer$
|
|
63824
|
+
ipcRenderer$g.invoke(MCP_LIST_TOOLS, { serverName, workspaceId }),
|
|
63840
63825
|
|
|
63841
63826
|
/**
|
|
63842
63827
|
* callTool
|
|
@@ -63864,7 +63849,7 @@ const mcpApi$2 = {
|
|
|
63864
63849
|
widgetId = null,
|
|
63865
63850
|
workspaceId = null,
|
|
63866
63851
|
) =>
|
|
63867
|
-
ipcRenderer$
|
|
63852
|
+
ipcRenderer$g.invoke(MCP_CALL_TOOL, {
|
|
63868
63853
|
serverName,
|
|
63869
63854
|
toolName,
|
|
63870
63855
|
args,
|
|
@@ -63882,7 +63867,7 @@ const mcpApi$2 = {
|
|
|
63882
63867
|
* @returns {Promise<{ resources } | { error, message }>}
|
|
63883
63868
|
*/
|
|
63884
63869
|
listResources: (serverName, workspaceId = null) =>
|
|
63885
|
-
ipcRenderer$
|
|
63870
|
+
ipcRenderer$g.invoke(MCP_LIST_RESOURCES, { serverName, workspaceId }),
|
|
63886
63871
|
|
|
63887
63872
|
/**
|
|
63888
63873
|
* readResource
|
|
@@ -63894,7 +63879,7 @@ const mcpApi$2 = {
|
|
|
63894
63879
|
* @returns {Promise<{ resource } | { error, message }>}
|
|
63895
63880
|
*/
|
|
63896
63881
|
readResource: (serverName, uri, workspaceId = null) =>
|
|
63897
|
-
ipcRenderer$
|
|
63882
|
+
ipcRenderer$g.invoke(MCP_READ_RESOURCE, { serverName, uri, workspaceId }),
|
|
63898
63883
|
|
|
63899
63884
|
/**
|
|
63900
63885
|
* getServerStatus
|
|
@@ -63905,7 +63890,7 @@ const mcpApi$2 = {
|
|
|
63905
63890
|
* @returns {Promise<{ status, tools, error }>}
|
|
63906
63891
|
*/
|
|
63907
63892
|
getServerStatus: (serverName, workspaceId = null) =>
|
|
63908
|
-
ipcRenderer$
|
|
63893
|
+
ipcRenderer$g.invoke(MCP_SERVER_STATUS, { serverName, workspaceId }),
|
|
63909
63894
|
|
|
63910
63895
|
/**
|
|
63911
63896
|
* getCatalog
|
|
@@ -63913,7 +63898,7 @@ const mcpApi$2 = {
|
|
|
63913
63898
|
*
|
|
63914
63899
|
* @returns {Promise<{ catalog } | { error, message }>}
|
|
63915
63900
|
*/
|
|
63916
|
-
getCatalog: () => ipcRenderer$
|
|
63901
|
+
getCatalog: () => ipcRenderer$g.invoke(MCP_GET_CATALOG),
|
|
63917
63902
|
|
|
63918
63903
|
/**
|
|
63919
63904
|
* getKnownExternalCatalog
|
|
@@ -63925,7 +63910,7 @@ const mcpApi$2 = {
|
|
|
63925
63910
|
*
|
|
63926
63911
|
* @returns {Promise<{ success, servers } | { error, message, servers }>}
|
|
63927
63912
|
*/
|
|
63928
|
-
getKnownExternalCatalog: () => ipcRenderer$
|
|
63913
|
+
getKnownExternalCatalog: () => ipcRenderer$g.invoke(MCP_GET_KNOWN_EXTERNAL),
|
|
63929
63914
|
|
|
63930
63915
|
/**
|
|
63931
63916
|
* onInstallKnownExternalConfirm
|
|
@@ -63939,9 +63924,9 @@ const mcpApi$2 = {
|
|
|
63939
63924
|
*/
|
|
63940
63925
|
onInstallKnownExternalConfirm: (callback) => {
|
|
63941
63926
|
const handler = (_e, data) => callback(data);
|
|
63942
|
-
ipcRenderer$
|
|
63927
|
+
ipcRenderer$g.on(MCP_INSTALL_KNOWN_EXTERNAL_CONFIRM$1, handler);
|
|
63943
63928
|
return () =>
|
|
63944
|
-
ipcRenderer$
|
|
63929
|
+
ipcRenderer$g.removeListener(MCP_INSTALL_KNOWN_EXTERNAL_CONFIRM$1, handler);
|
|
63945
63930
|
},
|
|
63946
63931
|
|
|
63947
63932
|
/**
|
|
@@ -63952,7 +63937,7 @@ const mcpApi$2 = {
|
|
|
63952
63937
|
* @param {{ confirmed: boolean, credentials?: object, error?: string }} result
|
|
63953
63938
|
*/
|
|
63954
63939
|
sendInstallKnownExternalResult: (requestId, result) =>
|
|
63955
|
-
ipcRenderer$
|
|
63940
|
+
ipcRenderer$g.send(MCP_INSTALL_KNOWN_EXTERNAL_RESULT$1, { requestId, result }),
|
|
63956
63941
|
|
|
63957
63942
|
/**
|
|
63958
63943
|
* runAuth
|
|
@@ -63964,7 +63949,7 @@ const mcpApi$2 = {
|
|
|
63964
63949
|
* @returns {Promise<{ success } | { error, message }>}
|
|
63965
63950
|
*/
|
|
63966
63951
|
runAuth: (mcpConfig, credentials, authCommand) =>
|
|
63967
|
-
ipcRenderer$
|
|
63952
|
+
ipcRenderer$g.invoke(MCP_RUN_AUTH, { mcpConfig, credentials, authCommand }),
|
|
63968
63953
|
};
|
|
63969
63954
|
|
|
63970
63955
|
var mcpApi_1 = mcpApi$2;
|
|
@@ -63982,7 +63967,7 @@ var mcpApi_1 = mcpApi$2;
|
|
|
63982
63967
|
* mainApi.registry.checkUpdates([{ name: "weather-widgets", version: "1.0.0" }])
|
|
63983
63968
|
*/
|
|
63984
63969
|
|
|
63985
|
-
const { ipcRenderer: ipcRenderer$
|
|
63970
|
+
const { ipcRenderer: ipcRenderer$f } = require$$0$1;
|
|
63986
63971
|
|
|
63987
63972
|
const registryApi$2 = {
|
|
63988
63973
|
/**
|
|
@@ -63992,7 +63977,7 @@ const registryApi$2 = {
|
|
|
63992
63977
|
*/
|
|
63993
63978
|
fetchIndex: async (forceRefresh = false) => {
|
|
63994
63979
|
try {
|
|
63995
|
-
return await ipcRenderer$
|
|
63980
|
+
return await ipcRenderer$f.invoke("registry:fetch-index", forceRefresh);
|
|
63996
63981
|
} catch (error) {
|
|
63997
63982
|
console.error("[RegistryApi] Error fetching index:", error);
|
|
63998
63983
|
throw error;
|
|
@@ -64007,7 +63992,7 @@ const registryApi$2 = {
|
|
|
64007
63992
|
*/
|
|
64008
63993
|
search: async (query = "", filters = {}) => {
|
|
64009
63994
|
try {
|
|
64010
|
-
return await ipcRenderer$
|
|
63995
|
+
return await ipcRenderer$f.invoke("registry:search", query, filters);
|
|
64011
63996
|
} catch (error) {
|
|
64012
63997
|
console.error("[RegistryApi] Error searching registry:", error);
|
|
64013
63998
|
throw error;
|
|
@@ -64021,7 +64006,7 @@ const registryApi$2 = {
|
|
|
64021
64006
|
*/
|
|
64022
64007
|
getPackage: async (packageName) => {
|
|
64023
64008
|
try {
|
|
64024
|
-
return await ipcRenderer$
|
|
64009
|
+
return await ipcRenderer$f.invoke("registry:get-package", packageName);
|
|
64025
64010
|
} catch (error) {
|
|
64026
64011
|
console.error(
|
|
64027
64012
|
`[RegistryApi] Error getting package ${packageName}:`,
|
|
@@ -64038,7 +64023,7 @@ const registryApi$2 = {
|
|
|
64038
64023
|
*/
|
|
64039
64024
|
checkUpdates: async (installedWidgets = []) => {
|
|
64040
64025
|
try {
|
|
64041
|
-
return await ipcRenderer$
|
|
64026
|
+
return await ipcRenderer$f.invoke(
|
|
64042
64027
|
"registry:check-updates",
|
|
64043
64028
|
installedWidgets,
|
|
64044
64029
|
);
|
|
@@ -64056,7 +64041,7 @@ const registryApi$2 = {
|
|
|
64056
64041
|
*/
|
|
64057
64042
|
searchDashboards: async (query = "", filters = {}) => {
|
|
64058
64043
|
try {
|
|
64059
|
-
return await ipcRenderer$
|
|
64044
|
+
return await ipcRenderer$f.invoke(
|
|
64060
64045
|
"registry:search-dashboards",
|
|
64061
64046
|
query,
|
|
64062
64047
|
filters,
|
|
@@ -64075,7 +64060,7 @@ const registryApi$2 = {
|
|
|
64075
64060
|
*/
|
|
64076
64061
|
searchThemes: async (query = "", filters = {}) => {
|
|
64077
64062
|
try {
|
|
64078
|
-
return await ipcRenderer$
|
|
64063
|
+
return await ipcRenderer$f.invoke("registry:search-themes", query, filters);
|
|
64079
64064
|
} catch (error) {
|
|
64080
64065
|
console.error("[RegistryApi] Error searching themes:", error);
|
|
64081
64066
|
throw error;
|
|
@@ -64097,7 +64082,7 @@ const registryApi$2 = {
|
|
|
64097
64082
|
*/
|
|
64098
64083
|
publishWidget: async (appId, packageId, options = {}) => {
|
|
64099
64084
|
try {
|
|
64100
|
-
return await ipcRenderer$
|
|
64085
|
+
return await ipcRenderer$f.invoke("registry:publish-widget", {
|
|
64101
64086
|
appId,
|
|
64102
64087
|
packageId,
|
|
64103
64088
|
options,
|
|
@@ -64118,7 +64103,7 @@ const registryApi$2 = {
|
|
|
64118
64103
|
*/
|
|
64119
64104
|
inspectWidgetPackage: async (packageId) => {
|
|
64120
64105
|
try {
|
|
64121
|
-
return await ipcRenderer$
|
|
64106
|
+
return await ipcRenderer$f.invoke("registry:inspect-widget-package", {
|
|
64122
64107
|
packageId,
|
|
64123
64108
|
});
|
|
64124
64109
|
} catch (error) {
|
|
@@ -64139,7 +64124,7 @@ const registryApi$2 = {
|
|
|
64139
64124
|
*/
|
|
64140
64125
|
scanWidgetDefaults: async (packageId) => {
|
|
64141
64126
|
try {
|
|
64142
|
-
return await ipcRenderer$
|
|
64127
|
+
return await ipcRenderer$f.invoke("registry:scan-widget-defaults", {
|
|
64143
64128
|
packageId,
|
|
64144
64129
|
});
|
|
64145
64130
|
} catch (error) {
|
|
@@ -64162,7 +64147,7 @@ const registryApi$2 = {
|
|
|
64162
64147
|
*/
|
|
64163
64148
|
previewFetch: async (packageName, componentName = null) => {
|
|
64164
64149
|
try {
|
|
64165
|
-
return await ipcRenderer$
|
|
64150
|
+
return await ipcRenderer$f.invoke(
|
|
64166
64151
|
"registry:preview-fetch",
|
|
64167
64152
|
packageName,
|
|
64168
64153
|
componentName,
|
|
@@ -64185,7 +64170,7 @@ var registryApi_1 = registryApi$2;
|
|
|
64185
64170
|
* Handle the theme configuration file
|
|
64186
64171
|
*/
|
|
64187
64172
|
|
|
64188
|
-
const { ipcRenderer: ipcRenderer$
|
|
64173
|
+
const { ipcRenderer: ipcRenderer$e } = require$$0$1;
|
|
64189
64174
|
|
|
64190
64175
|
const {
|
|
64191
64176
|
THEME_LIST,
|
|
@@ -64198,17 +64183,17 @@ const {
|
|
|
64198
64183
|
|
|
64199
64184
|
const themeApi$2 = {
|
|
64200
64185
|
listThemesForApplication: (appId) =>
|
|
64201
|
-
ipcRenderer$
|
|
64186
|
+
ipcRenderer$e.invoke(THEME_LIST, { appId }),
|
|
64202
64187
|
saveThemeForApplication: (appId, themeName, themeObject) =>
|
|
64203
|
-
ipcRenderer$
|
|
64188
|
+
ipcRenderer$e.invoke(THEME_SAVE, { appId, themeName, themeObject }),
|
|
64204
64189
|
deleteThemeForApplication: (appId, themeKey) =>
|
|
64205
|
-
ipcRenderer$
|
|
64190
|
+
ipcRenderer$e.invoke(THEME_DELETE, { appId, themeKey }),
|
|
64206
64191
|
publishTheme: (appId, themeKey, options) =>
|
|
64207
|
-
ipcRenderer$
|
|
64192
|
+
ipcRenderer$e.invoke(THEME_PUBLISH, { appId, themeKey, options }),
|
|
64208
64193
|
installThemeFromRegistry: (appId, packageName) =>
|
|
64209
|
-
ipcRenderer$
|
|
64194
|
+
ipcRenderer$e.invoke(THEME_INSTALL_FROM_REGISTRY, { appId, packageName }),
|
|
64210
64195
|
getThemePublishPreview: (appId, themeKey) =>
|
|
64211
|
-
ipcRenderer$
|
|
64196
|
+
ipcRenderer$e.invoke(THEME_PUBLISH_PREVIEW, { appId, themeKey }),
|
|
64212
64197
|
};
|
|
64213
64198
|
|
|
64214
64199
|
var themeApi_1 = themeApi$2;
|
|
@@ -64220,7 +64205,7 @@ var themeApi_1 = themeApi$2;
|
|
|
64220
64205
|
*/
|
|
64221
64206
|
|
|
64222
64207
|
// ipcRenderer that must be used to invoke the events
|
|
64223
|
-
const { ipcRenderer: ipcRenderer$
|
|
64208
|
+
const { ipcRenderer: ipcRenderer$d } = require$$0$1;
|
|
64224
64209
|
|
|
64225
64210
|
const {
|
|
64226
64211
|
ALGOLIA_LIST_INDICES,
|
|
@@ -64233,10 +64218,10 @@ const {
|
|
|
64233
64218
|
|
|
64234
64219
|
const algoliaApi$2 = {
|
|
64235
64220
|
listIndices: (application) =>
|
|
64236
|
-
ipcRenderer$
|
|
64221
|
+
ipcRenderer$d.invoke(ALGOLIA_LIST_INDICES, application),
|
|
64237
64222
|
|
|
64238
64223
|
browseObjects: (appId, apiKey, indexName) => {
|
|
64239
|
-
ipcRenderer$
|
|
64224
|
+
ipcRenderer$d.invoke(ALGOLIA_BROWSE_OBJECTS, {
|
|
64240
64225
|
appId,
|
|
64241
64226
|
apiKey,
|
|
64242
64227
|
indexName,
|
|
@@ -64245,7 +64230,7 @@ const algoliaApi$2 = {
|
|
|
64245
64230
|
},
|
|
64246
64231
|
|
|
64247
64232
|
getAnalyticsForQuery: (application, indexName, query) =>
|
|
64248
|
-
ipcRenderer$
|
|
64233
|
+
ipcRenderer$d.invoke(ALGOLIA_ANALYTICS_FOR_QUERY, {
|
|
64249
64234
|
application,
|
|
64250
64235
|
indexName,
|
|
64251
64236
|
query,
|
|
@@ -64258,7 +64243,7 @@ const algoliaApi$2 = {
|
|
|
64258
64243
|
dir,
|
|
64259
64244
|
createIfNotExists = false,
|
|
64260
64245
|
) =>
|
|
64261
|
-
ipcRenderer$
|
|
64246
|
+
ipcRenderer$d.invoke(ALGOLIA_PARTIAL_UPDATE_OBJECTS, {
|
|
64262
64247
|
appId,
|
|
64263
64248
|
apiKey,
|
|
64264
64249
|
indexName,
|
|
@@ -64267,7 +64252,7 @@ const algoliaApi$2 = {
|
|
|
64267
64252
|
}),
|
|
64268
64253
|
|
|
64269
64254
|
createBatchesFromFile: (filepath, batchFilepath, batchSize) => {
|
|
64270
|
-
ipcRenderer$
|
|
64255
|
+
ipcRenderer$d.invoke(ALGOLIA_CREATE_BATCH, {
|
|
64271
64256
|
filepath,
|
|
64272
64257
|
batchFilepath,
|
|
64273
64258
|
batchSize,
|
|
@@ -64275,7 +64260,7 @@ const algoliaApi$2 = {
|
|
|
64275
64260
|
},
|
|
64276
64261
|
|
|
64277
64262
|
browseObjectsToFile: (appId, apiKey, indexName, toFilename, query = "") => {
|
|
64278
|
-
ipcRenderer$
|
|
64263
|
+
ipcRenderer$d.invoke(ALGOLIA_BROWSE_OBJECTS, {
|
|
64279
64264
|
appId,
|
|
64280
64265
|
apiKey,
|
|
64281
64266
|
indexName,
|
|
@@ -64285,7 +64270,7 @@ const algoliaApi$2 = {
|
|
|
64285
64270
|
},
|
|
64286
64271
|
|
|
64287
64272
|
search: (appId, apiKey, indexName, query = "", options = {}) =>
|
|
64288
|
-
ipcRenderer$
|
|
64273
|
+
ipcRenderer$d.invoke(ALGOLIA_SEARCH, {
|
|
64289
64274
|
appId,
|
|
64290
64275
|
apiKey,
|
|
64291
64276
|
indexName,
|
|
@@ -64300,14 +64285,14 @@ var algoliaApi_1 = algoliaApi$2;
|
|
|
64300
64285
|
* openAI
|
|
64301
64286
|
*/
|
|
64302
64287
|
|
|
64303
|
-
const { ipcRenderer: ipcRenderer$
|
|
64288
|
+
const { ipcRenderer: ipcRenderer$c } = require$$0$1;
|
|
64304
64289
|
|
|
64305
64290
|
const { OPENAI_DESCRIBE_IMAGE } = openaiEvents$1;
|
|
64306
64291
|
|
|
64307
64292
|
const openaiApi$2 = {
|
|
64308
64293
|
// convert a json array of objects to a csv string and save to file
|
|
64309
64294
|
describeImage: (imageUrl, apiKey, prompt = "What's in this image?") =>
|
|
64310
|
-
ipcRenderer$
|
|
64295
|
+
ipcRenderer$c.invoke(OPENAI_DESCRIBE_IMAGE, { imageUrl, apiKey, prompt }),
|
|
64311
64296
|
};
|
|
64312
64297
|
|
|
64313
64298
|
var openaiApi_1 = openaiApi$2;
|
|
@@ -64318,35 +64303,18 @@ var openaiApi_1 = openaiApi$2;
|
|
|
64318
64303
|
*/
|
|
64319
64304
|
|
|
64320
64305
|
// ipcRenderer that must be used to invoke the events
|
|
64321
|
-
const { ipcRenderer: ipcRenderer$
|
|
64306
|
+
const { ipcRenderer: ipcRenderer$b } = require$$0$1;
|
|
64322
64307
|
|
|
64323
64308
|
const { MENU_ITEMS_SAVE, MENU_ITEMS_LIST } = events$8;
|
|
64324
64309
|
|
|
64325
64310
|
const menuItemsApi$2 = {
|
|
64326
64311
|
saveMenuItem: (appId, menuItem) =>
|
|
64327
|
-
ipcRenderer$
|
|
64328
|
-
listMenuItems: (appId) => ipcRenderer$
|
|
64312
|
+
ipcRenderer$b.invoke(MENU_ITEMS_SAVE, { appId, menuItem }),
|
|
64313
|
+
listMenuItems: (appId) => ipcRenderer$b.invoke(MENU_ITEMS_LIST, { appId }),
|
|
64329
64314
|
};
|
|
64330
64315
|
|
|
64331
64316
|
var menuItemsApi_1 = menuItemsApi$2;
|
|
64332
64317
|
|
|
64333
|
-
/**
|
|
64334
|
-
* pluginApi.js
|
|
64335
|
-
*
|
|
64336
|
-
* Plugin management API for the renderer process.
|
|
64337
|
-
*/
|
|
64338
|
-
|
|
64339
|
-
// ipcRenderer that must be used to invoke the events
|
|
64340
|
-
const { ipcRenderer: ipcRenderer$b } = require$$0$1;
|
|
64341
|
-
|
|
64342
|
-
const pluginApi$2 = {
|
|
64343
|
-
install: (packageName, filepath) =>
|
|
64344
|
-
ipcRenderer$b.invoke("plugin-install", { packageName, filepath }),
|
|
64345
|
-
uninstall: (filepath) => ipcRenderer$b.invoke("plugin-uninstall", filepath),
|
|
64346
|
-
};
|
|
64347
|
-
|
|
64348
|
-
var pluginApi_1 = pluginApi$2;
|
|
64349
|
-
|
|
64350
64318
|
/**
|
|
64351
64319
|
* llmApi.js
|
|
64352
64320
|
*
|
|
@@ -66439,7 +66407,6 @@ const themeApi$1 = themeApi_1;
|
|
|
66439
66407
|
const algoliaApi$1 = algoliaApi_1;
|
|
66440
66408
|
const openaiApi$1 = openaiApi_1;
|
|
66441
66409
|
const menuItemsApi$1 = menuItemsApi_1;
|
|
66442
|
-
const pluginApi$1 = pluginApi_1;
|
|
66443
66410
|
const llmApi$1 = llmApi_1;
|
|
66444
66411
|
const dashboardConfigApi$1 = dashboardConfigApi_1;
|
|
66445
66412
|
const dashboardRatingsApi = dashboardRatingsApi_1;
|
|
@@ -66519,7 +66486,6 @@ function createMainApi$1(extensions = {}) {
|
|
|
66519
66486
|
algolia: algoliaApi$1,
|
|
66520
66487
|
openai: openaiApi$1,
|
|
66521
66488
|
menuItems: menuItemsApi$1,
|
|
66522
|
-
plugins: pluginApi$1,
|
|
66523
66489
|
dashboardConfig: dashboardConfigApi$1,
|
|
66524
66490
|
dashboardRatings: dashboardRatingsApi,
|
|
66525
66491
|
registryAuth: registryAuthApi$1,
|
|
@@ -66572,7 +66538,6 @@ const registryController = registryController$3;
|
|
|
66572
66538
|
const algoliaController = algoliaController_1;
|
|
66573
66539
|
const openaiController = openaiController_1;
|
|
66574
66540
|
const menuItemsController = menuItemsController_1;
|
|
66575
|
-
const pluginController = pluginController_1;
|
|
66576
66541
|
const llmController = llmController_1;
|
|
66577
66542
|
const cliController = cliController_1;
|
|
66578
66543
|
const dashboardConfigController = dashboardConfigController$1;
|
|
@@ -66615,7 +66580,6 @@ const themeApi = themeApi_1;
|
|
|
66615
66580
|
const algoliaApi = algoliaApi_1;
|
|
66616
66581
|
const openaiApi = openaiApi_1;
|
|
66617
66582
|
const menuItemsApi = menuItemsApi_1;
|
|
66618
|
-
const pluginApi = pluginApi_1;
|
|
66619
66583
|
const llmApi = llmApi_1;
|
|
66620
66584
|
const dashboardConfigApi = dashboardConfigApi_1;
|
|
66621
66585
|
const registryAuthApi = registryAuthApi_1;
|
|
@@ -66677,7 +66641,6 @@ var electron = {
|
|
|
66677
66641
|
algoliaController,
|
|
66678
66642
|
openaiController,
|
|
66679
66643
|
menuItemsController,
|
|
66680
|
-
pluginController,
|
|
66681
66644
|
llmController,
|
|
66682
66645
|
cliController,
|
|
66683
66646
|
dashboardConfigController,
|
|
@@ -66712,7 +66675,6 @@ var electron = {
|
|
|
66712
66675
|
algoliaApi,
|
|
66713
66676
|
openaiApi,
|
|
66714
66677
|
menuItemsApi,
|
|
66715
|
-
pluginApi,
|
|
66716
66678
|
llmApi,
|
|
66717
66679
|
dashboardConfigApi,
|
|
66718
66680
|
registryAuthApi,
|