@trops/dash-core 0.1.597 → 0.1.599
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 +347 -176
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +776 -151
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +774 -149
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/electron/index.js
CHANGED
|
@@ -917,6 +917,23 @@ var publisherKeyEvents$1 = {
|
|
|
917
917
|
PUBLISHER_KEY_REVOKE: PUBLISHER_KEY_REVOKE$1,
|
|
918
918
|
};
|
|
919
919
|
|
|
920
|
+
/**
|
|
921
|
+
* Event Constants — Onboarding Events
|
|
922
|
+
*
|
|
923
|
+
* IPC event constants for the first-run onboarding flow (Phase 3A).
|
|
924
|
+
* The renderer calls these via `window.mainApi.onboarding.*`; the main
|
|
925
|
+
* process registers handlers in the host shell against the
|
|
926
|
+
* onboardingController.
|
|
927
|
+
*/
|
|
928
|
+
|
|
929
|
+
const ONBOARDING_GET_STATUS$1 = "onboarding:get-status";
|
|
930
|
+
const ONBOARDING_MARK_COMPLETED$1 = "onboarding:mark-completed";
|
|
931
|
+
|
|
932
|
+
var onboardingEvents$1 = {
|
|
933
|
+
ONBOARDING_GET_STATUS: ONBOARDING_GET_STATUS$1,
|
|
934
|
+
ONBOARDING_MARK_COMPLETED: ONBOARDING_MARK_COMPLETED$1,
|
|
935
|
+
};
|
|
936
|
+
|
|
920
937
|
/**
|
|
921
938
|
* Events
|
|
922
939
|
*
|
|
@@ -947,6 +964,7 @@ const themeFromUrlEvents = themeFromUrlEvents$1;
|
|
|
947
964
|
const webSocketEvents = requireWebSocketEvents();
|
|
948
965
|
const mcpDashServerEvents = mcpDashServerEvents$1;
|
|
949
966
|
const publisherKeyEvents = publisherKeyEvents$1;
|
|
967
|
+
const onboardingEvents = onboardingEvents$1;
|
|
950
968
|
|
|
951
969
|
const publicEvents = {
|
|
952
970
|
...dataEvents,
|
|
@@ -971,6 +989,7 @@ const API_GROUPS = {
|
|
|
971
989
|
openai: Object.values(openaiEvents),
|
|
972
990
|
providers: Object.values(providerEvents),
|
|
973
991
|
"publisher-key": Object.values(publisherKeyEvents),
|
|
992
|
+
onboarding: Object.values(onboardingEvents),
|
|
974
993
|
registry: Object.values(registryEvents),
|
|
975
994
|
"registry-auth": Object.values(registryAuthEvents),
|
|
976
995
|
scheduler: Object.values(schedulerEvents),
|
|
@@ -1010,6 +1029,7 @@ var events$8 = {
|
|
|
1010
1029
|
...webSocketEvents,
|
|
1011
1030
|
...mcpDashServerEvents,
|
|
1012
1031
|
...publisherKeyEvents,
|
|
1032
|
+
...onboardingEvents,
|
|
1013
1033
|
};
|
|
1014
1034
|
|
|
1015
1035
|
/**
|
|
@@ -3203,16 +3223,16 @@ const REGISTRY_BASE_URL$2 =
|
|
|
3203
3223
|
"https://main.d919rwhuzp7rj.amplifyapp.com";
|
|
3204
3224
|
|
|
3205
3225
|
// Lazy-load electron-store to avoid issues when not installed
|
|
3206
|
-
let store$
|
|
3207
|
-
function getStore$
|
|
3208
|
-
if (!store$
|
|
3226
|
+
let store$5 = null;
|
|
3227
|
+
function getStore$3() {
|
|
3228
|
+
if (!store$5) {
|
|
3209
3229
|
const Store = require$$0$5;
|
|
3210
|
-
store$
|
|
3230
|
+
store$5 = new Store({
|
|
3211
3231
|
name: "dash-registry-auth",
|
|
3212
3232
|
encryptionKey: "dash-registry-v1",
|
|
3213
3233
|
});
|
|
3214
3234
|
}
|
|
3215
|
-
return store$
|
|
3235
|
+
return store$5;
|
|
3216
3236
|
}
|
|
3217
3237
|
|
|
3218
3238
|
/**
|
|
@@ -3270,7 +3290,7 @@ async function pollForToken$1(deviceCode) {
|
|
|
3270
3290
|
const data = await response.json();
|
|
3271
3291
|
|
|
3272
3292
|
// Store the token securely
|
|
3273
|
-
const s = getStore$
|
|
3293
|
+
const s = getStore$3();
|
|
3274
3294
|
s.set("accessToken", data.access_token);
|
|
3275
3295
|
s.set("userId", data.user_id);
|
|
3276
3296
|
s.set("tokenType", data.token_type);
|
|
@@ -3293,7 +3313,7 @@ async function pollForToken$1(deviceCode) {
|
|
|
3293
3313
|
*/
|
|
3294
3314
|
function getStoredToken$5() {
|
|
3295
3315
|
try {
|
|
3296
|
-
const s = getStore$
|
|
3316
|
+
const s = getStore$3();
|
|
3297
3317
|
const token = s.get("accessToken");
|
|
3298
3318
|
if (!token) return null;
|
|
3299
3319
|
|
|
@@ -3360,7 +3380,7 @@ async function getRegistryProfile$3() {
|
|
|
3360
3380
|
*/
|
|
3361
3381
|
function clearToken$2() {
|
|
3362
3382
|
try {
|
|
3363
|
-
const s = getStore$
|
|
3383
|
+
const s = getStore$3();
|
|
3364
3384
|
s.clear();
|
|
3365
3385
|
console.log("[RegistryAuthController] Token cleared");
|
|
3366
3386
|
} catch (err) {
|
|
@@ -6792,7 +6812,7 @@ function requireVerifyRegistryInstall () {
|
|
|
6792
6812
|
const Store$1 = require$$0$5;
|
|
6793
6813
|
const { Cron } = require$$1$3;
|
|
6794
6814
|
|
|
6795
|
-
const store$
|
|
6815
|
+
const store$4 = new Store$1({ name: "dash-scheduler" });
|
|
6796
6816
|
|
|
6797
6817
|
// --- In-memory state ---
|
|
6798
6818
|
const tasks = new Map(); // taskId -> task object
|
|
@@ -6953,7 +6973,7 @@ function persistNow() {
|
|
|
6953
6973
|
for (const [taskId, task] of tasks) {
|
|
6954
6974
|
data[taskId] = { ...task };
|
|
6955
6975
|
}
|
|
6956
|
-
store$
|
|
6976
|
+
store$4.set("tasks", data);
|
|
6957
6977
|
} catch (err) {
|
|
6958
6978
|
console.error("[schedulerController] Error persisting tasks:", err);
|
|
6959
6979
|
}
|
|
@@ -6964,7 +6984,7 @@ function persistNow() {
|
|
|
6964
6984
|
*/
|
|
6965
6985
|
function loadFromStore() {
|
|
6966
6986
|
try {
|
|
6967
|
-
const data = store$
|
|
6987
|
+
const data = store$4.get("tasks", {});
|
|
6968
6988
|
const now = Date.now();
|
|
6969
6989
|
for (const [taskId, task] of Object.entries(data)) {
|
|
6970
6990
|
// Recompute nextFireAt if it's in the past
|
|
@@ -60445,11 +60465,11 @@ const REGISTRY_BASE_URL$1 =
|
|
|
60445
60465
|
|
|
60446
60466
|
// Lazy-load electron-store so jest can mock it without booting the
|
|
60447
60467
|
// app shell.
|
|
60448
|
-
let store$
|
|
60449
|
-
function getStore$
|
|
60450
|
-
if (!store$
|
|
60468
|
+
let store$3 = null;
|
|
60469
|
+
function getStore$2() {
|
|
60470
|
+
if (!store$3) {
|
|
60451
60471
|
const Store = require$$0$5;
|
|
60452
|
-
store$
|
|
60472
|
+
store$3 = new Store({
|
|
60453
60473
|
name: "dash-publisher-key",
|
|
60454
60474
|
// encryptionKey is a defense-in-depth layer on the JSON file
|
|
60455
60475
|
// itself — the private key inside is independently encrypted
|
|
@@ -60457,7 +60477,7 @@ function getStore$1() {
|
|
|
60457
60477
|
encryptionKey: "dash-publisher-v1",
|
|
60458
60478
|
});
|
|
60459
60479
|
}
|
|
60460
|
-
return store$
|
|
60480
|
+
return store$3;
|
|
60461
60481
|
}
|
|
60462
60482
|
|
|
60463
60483
|
// Serialize concurrent getOrCreate calls. Without this, two publishes
|
|
@@ -60466,15 +60486,15 @@ function getStore$1() {
|
|
|
60466
60486
|
let inflightGetOrCreate = null;
|
|
60467
60487
|
|
|
60468
60488
|
function readStored() {
|
|
60469
|
-
return getStore$
|
|
60489
|
+
return getStore$2().get("publisherKey") || null;
|
|
60470
60490
|
}
|
|
60471
60491
|
|
|
60472
60492
|
function writeStored(record) {
|
|
60473
|
-
getStore$
|
|
60493
|
+
getStore$2().set("publisherKey", record);
|
|
60474
60494
|
}
|
|
60475
60495
|
|
|
60476
60496
|
function clearStored() {
|
|
60477
|
-
getStore$
|
|
60497
|
+
getStore$2().delete("publisherKey");
|
|
60478
60498
|
}
|
|
60479
60499
|
|
|
60480
60500
|
function buildMachineLabel() {
|
|
@@ -63892,6 +63912,109 @@ var dashboardConfigController$1 = {
|
|
|
63892
63912
|
getDashboardPublishPreview: getDashboardPublishPreview$1,
|
|
63893
63913
|
};
|
|
63894
63914
|
|
|
63915
|
+
/**
|
|
63916
|
+
* onboardingController.js
|
|
63917
|
+
*
|
|
63918
|
+
* First-run onboarding state (Phase 3A of the MVP launch audit).
|
|
63919
|
+
*
|
|
63920
|
+
* Owns a tiny `electron-store` JSON that pins whether the user has
|
|
63921
|
+
* already completed (or dismissed) the first-run flow. Persistence
|
|
63922
|
+
* lives in the main process so:
|
|
63923
|
+
* - it survives renderer reloads + Electron auto-update
|
|
63924
|
+
* - a compromised iframe can't reach it (no localStorage)
|
|
63925
|
+
* - the renderer reads it via read-only IPC, never via direct fs
|
|
63926
|
+
*
|
|
63927
|
+
* Storage layout (`dash-onboarding.json` in userData):
|
|
63928
|
+
* {
|
|
63929
|
+
* "onboarding": {
|
|
63930
|
+
* "completed": true,
|
|
63931
|
+
* "completedAt": "<ISO8601>",
|
|
63932
|
+
* "source": "kitchen-sink" | "dismissed"
|
|
63933
|
+
* }
|
|
63934
|
+
* }
|
|
63935
|
+
*
|
|
63936
|
+
* `source` is a freeform breadcrumb so future onboarding variants can
|
|
63937
|
+
* report which path the user took without needing a schema change.
|
|
63938
|
+
*
|
|
63939
|
+
* The controller exposes a get/mark pair; the modal-vs-not-modal
|
|
63940
|
+
* decision lives in the renderer (it also needs workspace + installed-
|
|
63941
|
+
* package counts) so this stays a flat state owner.
|
|
63942
|
+
*/
|
|
63943
|
+
|
|
63944
|
+
// Lazy-load electron-store so the test suite can mock it without
|
|
63945
|
+
// booting an Electron shell. Same pattern as publisherKeyController.
|
|
63946
|
+
let store$2 = null;
|
|
63947
|
+
function getStore$1() {
|
|
63948
|
+
if (!store$2) {
|
|
63949
|
+
const Store = require$$0$5;
|
|
63950
|
+
store$2 = new Store({ name: "dash-onboarding" });
|
|
63951
|
+
}
|
|
63952
|
+
return store$2;
|
|
63953
|
+
}
|
|
63954
|
+
|
|
63955
|
+
function readRecord() {
|
|
63956
|
+
return getStore$1().get("onboarding") || null;
|
|
63957
|
+
}
|
|
63958
|
+
|
|
63959
|
+
function writeRecord(record) {
|
|
63960
|
+
getStore$1().set("onboarding", record);
|
|
63961
|
+
}
|
|
63962
|
+
|
|
63963
|
+
/**
|
|
63964
|
+
* Renderer-safe snapshot of the onboarding state.
|
|
63965
|
+
*
|
|
63966
|
+
* `completed:false` is returned for both "never seen" and "explicitly
|
|
63967
|
+
* not done" so the renderer never has to disambiguate. The first-run
|
|
63968
|
+
* detector treats both the same way.
|
|
63969
|
+
*/
|
|
63970
|
+
function getOnboardingStatus$1() {
|
|
63971
|
+
const record = readRecord();
|
|
63972
|
+
if (!record || !record.completed) {
|
|
63973
|
+
return { completed: false, completedAt: null, source: null };
|
|
63974
|
+
}
|
|
63975
|
+
return {
|
|
63976
|
+
completed: true,
|
|
63977
|
+
completedAt: record.completedAt || null,
|
|
63978
|
+
source: record.source || null,
|
|
63979
|
+
};
|
|
63980
|
+
}
|
|
63981
|
+
|
|
63982
|
+
/**
|
|
63983
|
+
* Pin onboarding as completed. Idempotent — re-calling on a record
|
|
63984
|
+
* that's already completed keeps the original completedAt so the
|
|
63985
|
+
* audit trail stays accurate.
|
|
63986
|
+
*
|
|
63987
|
+
* @param {Object} [opts]
|
|
63988
|
+
* @param {string} [opts.source] - Breadcrumb identifying which path
|
|
63989
|
+
* completed the flow (e.g. "kitchen-sink", "dismissed").
|
|
63990
|
+
* @returns {{ completed: true, completedAt: string, source: string|null }}
|
|
63991
|
+
*/
|
|
63992
|
+
function markOnboardingCompleted$1(opts = {}) {
|
|
63993
|
+
const existing = readRecord();
|
|
63994
|
+
if (existing && existing.completed && existing.completedAt) {
|
|
63995
|
+
return {
|
|
63996
|
+
completed: true,
|
|
63997
|
+
completedAt: existing.completedAt,
|
|
63998
|
+
source: existing.source || null,
|
|
63999
|
+
};
|
|
64000
|
+
}
|
|
64001
|
+
const record = {
|
|
64002
|
+
completed: true,
|
|
64003
|
+
completedAt: new Date().toISOString(),
|
|
64004
|
+
source: typeof opts.source === "string" ? opts.source : null,
|
|
64005
|
+
};
|
|
64006
|
+
writeRecord(record);
|
|
64007
|
+
return record;
|
|
64008
|
+
}
|
|
64009
|
+
|
|
64010
|
+
var onboardingController$1 = {
|
|
64011
|
+
getOnboardingStatus: getOnboardingStatus$1,
|
|
64012
|
+
markOnboardingCompleted: markOnboardingCompleted$1,
|
|
64013
|
+
// exposed for tests
|
|
64014
|
+
_readRecord: readRecord,
|
|
64015
|
+
_clearRecord: () => getStore$1().delete("onboarding"),
|
|
64016
|
+
};
|
|
64017
|
+
|
|
63895
64018
|
/**
|
|
63896
64019
|
* notificationController.js
|
|
63897
64020
|
*
|
|
@@ -66717,6 +66840,10 @@ const {
|
|
|
66717
66840
|
revokeLocalKey,
|
|
66718
66841
|
describeLocalKey,
|
|
66719
66842
|
} = publisherKeyController$1;
|
|
66843
|
+
const {
|
|
66844
|
+
getOnboardingStatus,
|
|
66845
|
+
markOnboardingCompleted,
|
|
66846
|
+
} = onboardingController$1;
|
|
66720
66847
|
const {
|
|
66721
66848
|
getRecentDashboards,
|
|
66722
66849
|
addRecentDashboard,
|
|
@@ -66822,6 +66949,8 @@ var controller = {
|
|
|
66822
66949
|
signZipBuffer,
|
|
66823
66950
|
revokeLocalKey,
|
|
66824
66951
|
describeLocalKey,
|
|
66952
|
+
getOnboardingStatus,
|
|
66953
|
+
markOnboardingCompleted,
|
|
66825
66954
|
getRecentDashboards,
|
|
66826
66955
|
addRecentDashboard,
|
|
66827
66956
|
clearRecentDashboards,
|
|
@@ -66843,7 +66972,7 @@ var controller = {
|
|
|
66843
66972
|
mcpDashServerController: mcpDashServerController$2,
|
|
66844
66973
|
};
|
|
66845
66974
|
|
|
66846
|
-
const { ipcRenderer: ipcRenderer$
|
|
66975
|
+
const { ipcRenderer: ipcRenderer$q } = require$$0$2;
|
|
66847
66976
|
const { SECURE_STORE_ENCRYPTION_CHECK } = events$8;
|
|
66848
66977
|
/**
|
|
66849
66978
|
* secureStoreApi
|
|
@@ -66865,7 +66994,7 @@ const { SECURE_STORE_ENCRYPTION_CHECK } = events$8;
|
|
|
66865
66994
|
*/
|
|
66866
66995
|
const secureStoreApi$2 = {
|
|
66867
66996
|
isEncryptionAvailable: () =>
|
|
66868
|
-
ipcRenderer$
|
|
66997
|
+
ipcRenderer$q.invoke(SECURE_STORE_ENCRYPTION_CHECK, {}),
|
|
66869
66998
|
};
|
|
66870
66999
|
|
|
66871
67000
|
var secureStoreApi_1 = secureStoreApi$2;
|
|
@@ -66876,7 +67005,7 @@ var secureStoreApi_1 = secureStoreApi$2;
|
|
|
66876
67005
|
* Handle the workspace configuration file
|
|
66877
67006
|
*/
|
|
66878
67007
|
|
|
66879
|
-
const { ipcRenderer: ipcRenderer$
|
|
67008
|
+
const { ipcRenderer: ipcRenderer$p } = require$$0$2;
|
|
66880
67009
|
const {
|
|
66881
67010
|
WORKSPACE_LIST,
|
|
66882
67011
|
WORKSPACE_SAVE,
|
|
@@ -66893,7 +67022,7 @@ const workspaceApi$2 = {
|
|
|
66893
67022
|
*/
|
|
66894
67023
|
listWorkspacesForApplication: (appId) => {
|
|
66895
67024
|
console.log("listWorkspacesForApplication called with appId:", appId);
|
|
66896
|
-
return ipcRenderer$
|
|
67025
|
+
return ipcRenderer$p.invoke(WORKSPACE_LIST, { appId });
|
|
66897
67026
|
},
|
|
66898
67027
|
|
|
66899
67028
|
/**
|
|
@@ -66904,7 +67033,7 @@ const workspaceApi$2 = {
|
|
|
66904
67033
|
* @returns
|
|
66905
67034
|
*/
|
|
66906
67035
|
saveWorkspaceForApplication: (appId, data) =>
|
|
66907
|
-
ipcRenderer$
|
|
67036
|
+
ipcRenderer$p.invoke(WORKSPACE_SAVE, { appId, data }),
|
|
66908
67037
|
|
|
66909
67038
|
/**
|
|
66910
67039
|
* deleteWorkspaceForApplication
|
|
@@ -66914,7 +67043,7 @@ const workspaceApi$2 = {
|
|
|
66914
67043
|
* @returns
|
|
66915
67044
|
*/
|
|
66916
67045
|
deleteWorkspaceForApplication: (appId, workspaceId) =>
|
|
66917
|
-
ipcRenderer$
|
|
67046
|
+
ipcRenderer$p.invoke(WORKSPACE_DELETE, { appId, workspaceId }),
|
|
66918
67047
|
};
|
|
66919
67048
|
|
|
66920
67049
|
var workspaceApi_1 = workspaceApi$2;
|
|
@@ -66926,13 +67055,13 @@ var workspaceApi_1 = workspaceApi$2;
|
|
|
66926
67055
|
*/
|
|
66927
67056
|
|
|
66928
67057
|
// ipcRenderer that must be used to invoke the events
|
|
66929
|
-
const { ipcRenderer: ipcRenderer$
|
|
67058
|
+
const { ipcRenderer: ipcRenderer$o } = require$$0$2;
|
|
66930
67059
|
|
|
66931
67060
|
const { LAYOUT_LIST } = events$8;
|
|
66932
67061
|
|
|
66933
67062
|
const layoutApi$2 = {
|
|
66934
67063
|
listLayoutsForApplication: (appId) =>
|
|
66935
|
-
ipcRenderer$
|
|
67064
|
+
ipcRenderer$o.invoke(LAYOUT_LIST, { appId }),
|
|
66936
67065
|
};
|
|
66937
67066
|
|
|
66938
67067
|
var layoutApi_1 = layoutApi$2;
|
|
@@ -66944,7 +67073,7 @@ var layoutApi_1 = layoutApi$2;
|
|
|
66944
67073
|
*/
|
|
66945
67074
|
|
|
66946
67075
|
// ipcRenderer that must be used to invoke the events
|
|
66947
|
-
const { ipcRenderer: ipcRenderer$
|
|
67076
|
+
const { ipcRenderer: ipcRenderer$n } = require$$0$2;
|
|
66948
67077
|
|
|
66949
67078
|
const {
|
|
66950
67079
|
DATA_JSON_TO_CSV_FILE,
|
|
@@ -66962,7 +67091,7 @@ const {
|
|
|
66962
67091
|
const dataApi$2 = {
|
|
66963
67092
|
// convert a json array of objects to a csv string and save to file
|
|
66964
67093
|
convertJsonToCsvFile: (appId, jsonObject, filename) =>
|
|
66965
|
-
ipcRenderer$
|
|
67094
|
+
ipcRenderer$n.invoke(DATA_JSON_TO_CSV_FILE, {
|
|
66966
67095
|
appId,
|
|
66967
67096
|
jsonObject,
|
|
66968
67097
|
filename,
|
|
@@ -66970,10 +67099,10 @@ const dataApi$2 = {
|
|
|
66970
67099
|
|
|
66971
67100
|
// convert a json array of objects to a csv string and return a string
|
|
66972
67101
|
convertJsonToCsvString: (appId, jsonObject) =>
|
|
66973
|
-
ipcRenderer$
|
|
67102
|
+
ipcRenderer$n.invoke(DATA_JSON_TO_CSV_STRING, { appId, jsonObject }),
|
|
66974
67103
|
|
|
66975
67104
|
parseXMLStream: (filepath, outpath, start) =>
|
|
66976
|
-
ipcRenderer$
|
|
67105
|
+
ipcRenderer$n.invoke(PARSE_XML_STREAM, {
|
|
66977
67106
|
filepath,
|
|
66978
67107
|
outpath,
|
|
66979
67108
|
start,
|
|
@@ -66987,7 +67116,7 @@ const dataApi$2 = {
|
|
|
66987
67116
|
headers = null,
|
|
66988
67117
|
limit = null,
|
|
66989
67118
|
) => {
|
|
66990
|
-
ipcRenderer$
|
|
67119
|
+
ipcRenderer$n.invoke(PARSE_CSV_STREAM, {
|
|
66991
67120
|
filepath,
|
|
66992
67121
|
outpath,
|
|
66993
67122
|
delimiter,
|
|
@@ -66998,15 +67127,15 @@ const dataApi$2 = {
|
|
|
66998
67127
|
},
|
|
66999
67128
|
|
|
67000
67129
|
readLinesFromFile: (filepath, lineCount) => {
|
|
67001
|
-
ipcRenderer$
|
|
67130
|
+
ipcRenderer$n.invoke(READ_LINES, { filepath, lineCount });
|
|
67002
67131
|
},
|
|
67003
67132
|
|
|
67004
67133
|
readJSONFromFile: (filepath, objectCount = null) => {
|
|
67005
|
-
ipcRenderer$
|
|
67134
|
+
ipcRenderer$n.invoke(READ_JSON, { filepath, objectCount });
|
|
67006
67135
|
},
|
|
67007
67136
|
|
|
67008
67137
|
readDataFromURL: (url, toFilepath, widgetId = null, token = null) => {
|
|
67009
|
-
ipcRenderer$
|
|
67138
|
+
ipcRenderer$n.invoke(READ_DATA_URL, { url, toFilepath, widgetId, token });
|
|
67010
67139
|
},
|
|
67011
67140
|
|
|
67012
67141
|
/*
|
|
@@ -67022,7 +67151,7 @@ const dataApi$2 = {
|
|
|
67022
67151
|
widgetId = null,
|
|
67023
67152
|
token = null,
|
|
67024
67153
|
) =>
|
|
67025
|
-
ipcRenderer$
|
|
67154
|
+
ipcRenderer$n.invoke(DATA_SAVE_TO_FILE, {
|
|
67026
67155
|
data,
|
|
67027
67156
|
filename,
|
|
67028
67157
|
append,
|
|
@@ -67041,7 +67170,7 @@ const dataApi$2 = {
|
|
|
67041
67170
|
* gates the gate itself).
|
|
67042
67171
|
*/
|
|
67043
67172
|
readData: (filename, returnEmpty = [], widgetId = null, token = null) =>
|
|
67044
|
-
ipcRenderer$
|
|
67173
|
+
ipcRenderer$n.invoke(DATA_READ_FROM_FILE, {
|
|
67045
67174
|
filename,
|
|
67046
67175
|
returnEmpty,
|
|
67047
67176
|
widgetId,
|
|
@@ -67053,7 +67182,7 @@ const dataApi$2 = {
|
|
|
67053
67182
|
* @returns
|
|
67054
67183
|
*/
|
|
67055
67184
|
transformFile: (filepath, outFilepath, mappingFunctionBody, args) => {
|
|
67056
|
-
ipcRenderer$
|
|
67185
|
+
ipcRenderer$n.invoke(TRANSFORM_FILE, {
|
|
67057
67186
|
filepath,
|
|
67058
67187
|
outFilepath,
|
|
67059
67188
|
mappingFunctionBody,
|
|
@@ -67071,7 +67200,7 @@ var dataApi_1 = dataApi$2;
|
|
|
67071
67200
|
*/
|
|
67072
67201
|
|
|
67073
67202
|
// ipcRenderer that must be used to invoke the events
|
|
67074
|
-
const { ipcRenderer: ipcRenderer$
|
|
67203
|
+
const { ipcRenderer: ipcRenderer$m } = require$$0$2;
|
|
67075
67204
|
|
|
67076
67205
|
const {
|
|
67077
67206
|
SETTINGS_GET,
|
|
@@ -67082,14 +67211,14 @@ const {
|
|
|
67082
67211
|
} = events$8;
|
|
67083
67212
|
|
|
67084
67213
|
const settingsApi$2 = {
|
|
67085
|
-
getSettingsForApplication: () => ipcRenderer$
|
|
67214
|
+
getSettingsForApplication: () => ipcRenderer$m.invoke(SETTINGS_GET, {}),
|
|
67086
67215
|
saveSettingsForApplication: (data) =>
|
|
67087
|
-
ipcRenderer$
|
|
67088
|
-
getDataDirectory: () => ipcRenderer$
|
|
67216
|
+
ipcRenderer$m.invoke(SETTINGS_SAVE, { data }),
|
|
67217
|
+
getDataDirectory: () => ipcRenderer$m.invoke(SETTINGS_GET_DATA_DIR, {}),
|
|
67089
67218
|
setDataDirectory: (dataDirectory) =>
|
|
67090
|
-
ipcRenderer$
|
|
67219
|
+
ipcRenderer$m.invoke(SETTINGS_SET_DATA_DIR, { dataDirectory }),
|
|
67091
67220
|
migrateDataDirectory: (oldDirectory, newDirectory) =>
|
|
67092
|
-
ipcRenderer$
|
|
67221
|
+
ipcRenderer$m.invoke(SETTINGS_MIGRATE_DATA_DIR, {
|
|
67093
67222
|
oldDirectory,
|
|
67094
67223
|
newDirectory,
|
|
67095
67224
|
}),
|
|
@@ -67104,7 +67233,7 @@ var settingsApi_1 = settingsApi$2;
|
|
|
67104
67233
|
* Provides file/folder chooser dialogs.
|
|
67105
67234
|
*/
|
|
67106
67235
|
|
|
67107
|
-
const { ipcRenderer: ipcRenderer$
|
|
67236
|
+
const { ipcRenderer: ipcRenderer$l } = require$$0$2;
|
|
67108
67237
|
|
|
67109
67238
|
const { CHOOSE_FILE } = events$8;
|
|
67110
67239
|
|
|
@@ -67117,7 +67246,7 @@ const dialogApi$2 = {
|
|
|
67117
67246
|
* @returns {Promise<string|null>} selected file/folder path, or null if cancelled
|
|
67118
67247
|
*/
|
|
67119
67248
|
chooseFile: (allowFile = true, extensions = ["*"]) => {
|
|
67120
|
-
return ipcRenderer$
|
|
67249
|
+
return ipcRenderer$l.invoke(CHOOSE_FILE, { allowFile, extensions });
|
|
67121
67250
|
},
|
|
67122
67251
|
|
|
67123
67252
|
/**
|
|
@@ -67142,7 +67271,7 @@ const dialogApi$2 = {
|
|
|
67142
67271
|
typeof options.allowFile === "boolean" ? options.allowFile : allowFile;
|
|
67143
67272
|
const resolvedExtensions = options.extensions || extensions;
|
|
67144
67273
|
|
|
67145
|
-
const filePath = await ipcRenderer$
|
|
67274
|
+
const filePath = await ipcRenderer$l.invoke(CHOOSE_FILE, {
|
|
67146
67275
|
allowFile: resolvedAllowFile,
|
|
67147
67276
|
extensions: resolvedExtensions,
|
|
67148
67277
|
});
|
|
@@ -67169,7 +67298,7 @@ var dialogApi_1 = dialogApi$2;
|
|
|
67169
67298
|
* mainApi.widgets.uninstall('Weather')
|
|
67170
67299
|
*/
|
|
67171
67300
|
|
|
67172
|
-
const { ipcRenderer: ipcRenderer$
|
|
67301
|
+
const { ipcRenderer: ipcRenderer$k } = require$$0$2;
|
|
67173
67302
|
|
|
67174
67303
|
const widgetApi$2 = {
|
|
67175
67304
|
/**
|
|
@@ -67178,7 +67307,7 @@ const widgetApi$2 = {
|
|
|
67178
67307
|
*/
|
|
67179
67308
|
list: async () => {
|
|
67180
67309
|
try {
|
|
67181
|
-
return await ipcRenderer$
|
|
67310
|
+
return await ipcRenderer$k.invoke("widget:list");
|
|
67182
67311
|
} catch (error) {
|
|
67183
67312
|
console.error("[WidgetApi] Error listing widgets:", error);
|
|
67184
67313
|
throw error;
|
|
@@ -67192,7 +67321,7 @@ const widgetApi$2 = {
|
|
|
67192
67321
|
*/
|
|
67193
67322
|
get: async (widgetName) => {
|
|
67194
67323
|
try {
|
|
67195
|
-
return await ipcRenderer$
|
|
67324
|
+
return await ipcRenderer$k.invoke("widget:get", widgetName);
|
|
67196
67325
|
} catch (error) {
|
|
67197
67326
|
console.error(`[WidgetApi] Error getting widget ${widgetName}:`, error);
|
|
67198
67327
|
throw error;
|
|
@@ -67223,7 +67352,7 @@ const widgetApi$2 = {
|
|
|
67223
67352
|
console.log(
|
|
67224
67353
|
`[WidgetApi] Installing widget: ${widgetName} from ${downloadUrl}`,
|
|
67225
67354
|
);
|
|
67226
|
-
const config = await ipcRenderer$
|
|
67355
|
+
const config = await ipcRenderer$k.invoke(
|
|
67227
67356
|
"widget:install",
|
|
67228
67357
|
widgetName,
|
|
67229
67358
|
downloadUrl,
|
|
@@ -67263,7 +67392,7 @@ const widgetApi$2 = {
|
|
|
67263
67392
|
console.log(
|
|
67264
67393
|
`[WidgetApi] Installing local widget: ${widgetName} from ${localPath}`,
|
|
67265
67394
|
);
|
|
67266
|
-
const config = await ipcRenderer$
|
|
67395
|
+
const config = await ipcRenderer$k.invoke(
|
|
67267
67396
|
"widget:install-local",
|
|
67268
67397
|
widgetName,
|
|
67269
67398
|
localPath,
|
|
@@ -67294,7 +67423,7 @@ const widgetApi$2 = {
|
|
|
67294
67423
|
loadFolder: async (folderPath) => {
|
|
67295
67424
|
try {
|
|
67296
67425
|
console.log(`[WidgetApi] Loading widgets from folder: ${folderPath}`);
|
|
67297
|
-
const results = await ipcRenderer$
|
|
67426
|
+
const results = await ipcRenderer$k.invoke(
|
|
67298
67427
|
"widget:load-folder",
|
|
67299
67428
|
folderPath,
|
|
67300
67429
|
);
|
|
@@ -67318,7 +67447,7 @@ const widgetApi$2 = {
|
|
|
67318
67447
|
uninstall: async (widgetName) => {
|
|
67319
67448
|
try {
|
|
67320
67449
|
console.log(`[WidgetApi] Uninstalling widget: ${widgetName}`);
|
|
67321
|
-
const success = await ipcRenderer$
|
|
67450
|
+
const success = await ipcRenderer$k.invoke("widget:uninstall", widgetName);
|
|
67322
67451
|
if (success) {
|
|
67323
67452
|
console.log(`[WidgetApi] ✓ Widget ${widgetName} uninstalled`);
|
|
67324
67453
|
} else {
|
|
@@ -67341,7 +67470,7 @@ const widgetApi$2 = {
|
|
|
67341
67470
|
*/
|
|
67342
67471
|
getCachePath: async () => {
|
|
67343
67472
|
try {
|
|
67344
|
-
return await ipcRenderer$
|
|
67473
|
+
return await ipcRenderer$k.invoke("widget:cache-path");
|
|
67345
67474
|
} catch (error) {
|
|
67346
67475
|
console.error("[WidgetApi] Error getting cache path:", error);
|
|
67347
67476
|
throw error;
|
|
@@ -67355,7 +67484,7 @@ const widgetApi$2 = {
|
|
|
67355
67484
|
*/
|
|
67356
67485
|
getStoragePath: async () => {
|
|
67357
67486
|
try {
|
|
67358
|
-
return await ipcRenderer$
|
|
67487
|
+
return await ipcRenderer$k.invoke("widget:storage-path");
|
|
67359
67488
|
} catch (error) {
|
|
67360
67489
|
console.error("[WidgetApi] Error getting storage path:", error);
|
|
67361
67490
|
throw error;
|
|
@@ -67372,7 +67501,7 @@ const widgetApi$2 = {
|
|
|
67372
67501
|
setStoragePath: async (customPath) => {
|
|
67373
67502
|
try {
|
|
67374
67503
|
console.log(`[WidgetApi] Setting storage path to: ${customPath}`);
|
|
67375
|
-
const result = await ipcRenderer$
|
|
67504
|
+
const result = await ipcRenderer$k.invoke(
|
|
67376
67505
|
"widget:set-storage-path",
|
|
67377
67506
|
customPath,
|
|
67378
67507
|
);
|
|
@@ -67394,7 +67523,7 @@ const widgetApi$2 = {
|
|
|
67394
67523
|
*/
|
|
67395
67524
|
getComponentConfigs: async () => {
|
|
67396
67525
|
try {
|
|
67397
|
-
return await ipcRenderer$
|
|
67526
|
+
return await ipcRenderer$k.invoke("widget:get-component-configs");
|
|
67398
67527
|
} catch (error) {
|
|
67399
67528
|
console.error("[WidgetApi] Error getting component configs:", error);
|
|
67400
67529
|
return [];
|
|
@@ -67409,7 +67538,7 @@ const widgetApi$2 = {
|
|
|
67409
67538
|
*/
|
|
67410
67539
|
readBundle: async (widgetName) => {
|
|
67411
67540
|
try {
|
|
67412
|
-
return await ipcRenderer$
|
|
67541
|
+
return await ipcRenderer$k.invoke("widget:read-bundle", widgetName);
|
|
67413
67542
|
} catch (error) {
|
|
67414
67543
|
console.error(
|
|
67415
67544
|
`[WidgetApi] Error reading bundle for ${widgetName}:`,
|
|
@@ -67428,7 +67557,7 @@ const widgetApi$2 = {
|
|
|
67428
67557
|
*/
|
|
67429
67558
|
readSources: async (widgetName, componentName) => {
|
|
67430
67559
|
try {
|
|
67431
|
-
return await ipcRenderer$
|
|
67560
|
+
return await ipcRenderer$k.invoke("widget:read-sources", {
|
|
67432
67561
|
widgetName,
|
|
67433
67562
|
componentName,
|
|
67434
67563
|
});
|
|
@@ -67448,7 +67577,7 @@ const widgetApi$2 = {
|
|
|
67448
67577
|
*/
|
|
67449
67578
|
readAllBundles: async () => {
|
|
67450
67579
|
try {
|
|
67451
|
-
return await ipcRenderer$
|
|
67580
|
+
return await ipcRenderer$k.invoke("widget:read-all-bundles");
|
|
67452
67581
|
} catch (error) {
|
|
67453
67582
|
console.error("[WidgetApi] Error reading all bundles:", error);
|
|
67454
67583
|
return [];
|
|
@@ -67468,7 +67597,7 @@ const widgetApi$2 = {
|
|
|
67468
67597
|
* });
|
|
67469
67598
|
*/
|
|
67470
67599
|
onInstalled: (callback) => {
|
|
67471
|
-
ipcRenderer$
|
|
67600
|
+
ipcRenderer$k.on("widget:installed", (event, data) => {
|
|
67472
67601
|
callback(data);
|
|
67473
67602
|
});
|
|
67474
67603
|
},
|
|
@@ -67485,7 +67614,7 @@ const widgetApi$2 = {
|
|
|
67485
67614
|
* });
|
|
67486
67615
|
*/
|
|
67487
67616
|
onUninstalled: (callback) => {
|
|
67488
|
-
ipcRenderer$
|
|
67617
|
+
ipcRenderer$k.on("widget:uninstalled", (event, data) => {
|
|
67489
67618
|
callback(data);
|
|
67490
67619
|
});
|
|
67491
67620
|
},
|
|
@@ -67503,7 +67632,7 @@ const widgetApi$2 = {
|
|
|
67503
67632
|
* });
|
|
67504
67633
|
*/
|
|
67505
67634
|
onLoaded: (callback) => {
|
|
67506
|
-
ipcRenderer$
|
|
67635
|
+
ipcRenderer$k.on("widgets:loaded", (event, data) => {
|
|
67507
67636
|
callback(data);
|
|
67508
67637
|
});
|
|
67509
67638
|
},
|
|
@@ -67514,7 +67643,7 @@ const widgetApi$2 = {
|
|
|
67514
67643
|
* @param {Function} callback - The callback to remove
|
|
67515
67644
|
*/
|
|
67516
67645
|
removeInstalledListener: (callback) => {
|
|
67517
|
-
ipcRenderer$
|
|
67646
|
+
ipcRenderer$k.removeListener("widget:installed", callback);
|
|
67518
67647
|
},
|
|
67519
67648
|
|
|
67520
67649
|
/**
|
|
@@ -67523,7 +67652,7 @@ const widgetApi$2 = {
|
|
|
67523
67652
|
* @param {Function} callback - The callback to remove
|
|
67524
67653
|
*/
|
|
67525
67654
|
removeUninstalledListener: (callback) => {
|
|
67526
|
-
ipcRenderer$
|
|
67655
|
+
ipcRenderer$k.removeListener("widget:uninstalled", callback);
|
|
67527
67656
|
},
|
|
67528
67657
|
|
|
67529
67658
|
/**
|
|
@@ -67532,7 +67661,7 @@ const widgetApi$2 = {
|
|
|
67532
67661
|
* @param {Function} callback - The callback to remove
|
|
67533
67662
|
*/
|
|
67534
67663
|
removeLoadedListener: (callback) => {
|
|
67535
|
-
ipcRenderer$
|
|
67664
|
+
ipcRenderer$k.removeListener("widgets:loaded", callback);
|
|
67536
67665
|
},
|
|
67537
67666
|
};
|
|
67538
67667
|
|
|
@@ -67545,7 +67674,7 @@ var widgetApi_1 = widgetApi$2;
|
|
|
67545
67674
|
* Communicates with main process via IPC to handle encryption and file storage
|
|
67546
67675
|
*/
|
|
67547
67676
|
|
|
67548
|
-
const { ipcRenderer: ipcRenderer$
|
|
67677
|
+
const { ipcRenderer: ipcRenderer$j } = require$$0$2;
|
|
67549
67678
|
const {
|
|
67550
67679
|
PROVIDER_SAVE,
|
|
67551
67680
|
PROVIDER_LIST,
|
|
@@ -67583,7 +67712,7 @@ const providerApi$2 = {
|
|
|
67583
67712
|
// value, preserve what's on disk" from "caller explicitly unset it".
|
|
67584
67713
|
isDefaultForType = undefined,
|
|
67585
67714
|
) =>
|
|
67586
|
-
ipcRenderer$
|
|
67715
|
+
ipcRenderer$j.invoke(PROVIDER_SAVE, {
|
|
67587
67716
|
appId,
|
|
67588
67717
|
providerName,
|
|
67589
67718
|
providerType,
|
|
@@ -67603,7 +67732,7 @@ const providerApi$2 = {
|
|
|
67603
67732
|
* @param {String} appId - the appId specified in the dash initialization
|
|
67604
67733
|
* @returns {Promise<Array>} Array of provider objects with name, type, credentials
|
|
67605
67734
|
*/
|
|
67606
|
-
listProviders: (appId) => ipcRenderer$
|
|
67735
|
+
listProviders: (appId) => ipcRenderer$j.invoke(PROVIDER_LIST, { appId }),
|
|
67607
67736
|
|
|
67608
67737
|
/**
|
|
67609
67738
|
* getProvider
|
|
@@ -67615,7 +67744,7 @@ const providerApi$2 = {
|
|
|
67615
67744
|
* @returns {Promise<Object>} Provider object with name, type, credentials
|
|
67616
67745
|
*/
|
|
67617
67746
|
getProvider: (appId, providerName) =>
|
|
67618
|
-
ipcRenderer$
|
|
67747
|
+
ipcRenderer$j.invoke(PROVIDER_GET, { appId, providerName }),
|
|
67619
67748
|
|
|
67620
67749
|
/**
|
|
67621
67750
|
* deleteProvider
|
|
@@ -67627,7 +67756,7 @@ const providerApi$2 = {
|
|
|
67627
67756
|
* @returns {Promise}
|
|
67628
67757
|
*/
|
|
67629
67758
|
deleteProvider: (appId, providerName) =>
|
|
67630
|
-
ipcRenderer$
|
|
67759
|
+
ipcRenderer$j.invoke(PROVIDER_DELETE, { appId, providerName }),
|
|
67631
67760
|
|
|
67632
67761
|
/**
|
|
67633
67762
|
* listProvidersForApplication
|
|
@@ -67637,14 +67766,14 @@ const providerApi$2 = {
|
|
|
67637
67766
|
* @param {String} appId - the appId specified in the dash initialization
|
|
67638
67767
|
*/
|
|
67639
67768
|
listProvidersForApplication: (appId) => {
|
|
67640
|
-
ipcRenderer$
|
|
67769
|
+
ipcRenderer$j
|
|
67641
67770
|
.invoke(PROVIDER_LIST, { appId })
|
|
67642
67771
|
.then((result) => {
|
|
67643
67772
|
// Emit the event for ElectronDashboardApi to listen to
|
|
67644
|
-
ipcRenderer$
|
|
67773
|
+
ipcRenderer$j.send("PROVIDER_LIST_COMPLETE", result);
|
|
67645
67774
|
})
|
|
67646
67775
|
.catch((error) => {
|
|
67647
|
-
ipcRenderer$
|
|
67776
|
+
ipcRenderer$j.send("PROVIDER_LIST_ERROR", {
|
|
67648
67777
|
error: error.message,
|
|
67649
67778
|
});
|
|
67650
67779
|
});
|
|
@@ -67661,7 +67790,7 @@ const providerApi$2 = {
|
|
|
67661
67790
|
providerType,
|
|
67662
67791
|
credentials,
|
|
67663
67792
|
) => {
|
|
67664
|
-
ipcRenderer$
|
|
67793
|
+
ipcRenderer$j
|
|
67665
67794
|
.invoke(PROVIDER_SAVE, {
|
|
67666
67795
|
appId,
|
|
67667
67796
|
providerName,
|
|
@@ -67669,10 +67798,10 @@ const providerApi$2 = {
|
|
|
67669
67798
|
credentials,
|
|
67670
67799
|
})
|
|
67671
67800
|
.then((result) => {
|
|
67672
|
-
ipcRenderer$
|
|
67801
|
+
ipcRenderer$j.send("PROVIDER_SAVE_COMPLETE", result);
|
|
67673
67802
|
})
|
|
67674
67803
|
.catch((error) => {
|
|
67675
|
-
ipcRenderer$
|
|
67804
|
+
ipcRenderer$j.send("PROVIDER_SAVE_ERROR", {
|
|
67676
67805
|
error: error.message,
|
|
67677
67806
|
});
|
|
67678
67807
|
});
|
|
@@ -67684,13 +67813,13 @@ const providerApi$2 = {
|
|
|
67684
67813
|
* Event-listener-based version for use with ElectronDashboardApi
|
|
67685
67814
|
*/
|
|
67686
67815
|
getProviderForApplication: (appId, providerName) => {
|
|
67687
|
-
ipcRenderer$
|
|
67816
|
+
ipcRenderer$j
|
|
67688
67817
|
.invoke(PROVIDER_GET, { appId, providerName })
|
|
67689
67818
|
.then((result) => {
|
|
67690
|
-
ipcRenderer$
|
|
67819
|
+
ipcRenderer$j.send("PROVIDER_GET_COMPLETE", result);
|
|
67691
67820
|
})
|
|
67692
67821
|
.catch((error) => {
|
|
67693
|
-
ipcRenderer$
|
|
67822
|
+
ipcRenderer$j.send("PROVIDER_GET_ERROR", {
|
|
67694
67823
|
error: error.message,
|
|
67695
67824
|
});
|
|
67696
67825
|
});
|
|
@@ -67702,13 +67831,13 @@ const providerApi$2 = {
|
|
|
67702
67831
|
* Event-listener-based version for use with ElectronDashboardApi
|
|
67703
67832
|
*/
|
|
67704
67833
|
deleteProviderForApplication: (appId, providerName) => {
|
|
67705
|
-
ipcRenderer$
|
|
67834
|
+
ipcRenderer$j
|
|
67706
67835
|
.invoke(PROVIDER_DELETE, { appId, providerName })
|
|
67707
67836
|
.then((result) => {
|
|
67708
|
-
ipcRenderer$
|
|
67837
|
+
ipcRenderer$j.send("PROVIDER_DELETE_COMPLETE", result);
|
|
67709
67838
|
})
|
|
67710
67839
|
.catch((error) => {
|
|
67711
|
-
ipcRenderer$
|
|
67840
|
+
ipcRenderer$j.send("PROVIDER_DELETE_ERROR", {
|
|
67712
67841
|
error: error.message,
|
|
67713
67842
|
});
|
|
67714
67843
|
});
|
|
@@ -67724,7 +67853,7 @@ var providerApi_1 = providerApi$2;
|
|
|
67724
67853
|
* Communicates with main process via IPC to manage MCP server lifecycle.
|
|
67725
67854
|
*/
|
|
67726
67855
|
|
|
67727
|
-
const { ipcRenderer: ipcRenderer$
|
|
67856
|
+
const { ipcRenderer: ipcRenderer$i } = require$$0$2;
|
|
67728
67857
|
const {
|
|
67729
67858
|
MCP_START_SERVER,
|
|
67730
67859
|
MCP_STOP_SERVER,
|
|
@@ -67763,7 +67892,7 @@ const mcpApi$2 = {
|
|
|
67763
67892
|
workspaceId = null,
|
|
67764
67893
|
pathScope = null,
|
|
67765
67894
|
) =>
|
|
67766
|
-
ipcRenderer$
|
|
67895
|
+
ipcRenderer$i.invoke(MCP_START_SERVER, {
|
|
67767
67896
|
serverName,
|
|
67768
67897
|
mcpConfig,
|
|
67769
67898
|
credentials,
|
|
@@ -67780,7 +67909,7 @@ const mcpApi$2 = {
|
|
|
67780
67909
|
* @returns {Promise<{ success, serverName } | { error, message }>}
|
|
67781
67910
|
*/
|
|
67782
67911
|
stopServer: (serverName, workspaceId = null) =>
|
|
67783
|
-
ipcRenderer$
|
|
67912
|
+
ipcRenderer$i.invoke(MCP_STOP_SERVER, { serverName, workspaceId }),
|
|
67784
67913
|
|
|
67785
67914
|
/**
|
|
67786
67915
|
* listTools
|
|
@@ -67791,7 +67920,7 @@ const mcpApi$2 = {
|
|
|
67791
67920
|
* @returns {Promise<{ tools } | { error, message }>}
|
|
67792
67921
|
*/
|
|
67793
67922
|
listTools: (serverName, workspaceId = null) =>
|
|
67794
|
-
ipcRenderer$
|
|
67923
|
+
ipcRenderer$i.invoke(MCP_LIST_TOOLS, { serverName, workspaceId }),
|
|
67795
67924
|
|
|
67796
67925
|
/**
|
|
67797
67926
|
* callTool
|
|
@@ -67820,7 +67949,7 @@ const mcpApi$2 = {
|
|
|
67820
67949
|
workspaceId = null,
|
|
67821
67950
|
token = null,
|
|
67822
67951
|
) =>
|
|
67823
|
-
ipcRenderer$
|
|
67952
|
+
ipcRenderer$i.invoke(MCP_CALL_TOOL, {
|
|
67824
67953
|
serverName,
|
|
67825
67954
|
toolName,
|
|
67826
67955
|
args,
|
|
@@ -67839,7 +67968,7 @@ const mcpApi$2 = {
|
|
|
67839
67968
|
* @returns {Promise<{ resources } | { error, message }>}
|
|
67840
67969
|
*/
|
|
67841
67970
|
listResources: (serverName, workspaceId = null) =>
|
|
67842
|
-
ipcRenderer$
|
|
67971
|
+
ipcRenderer$i.invoke(MCP_LIST_RESOURCES, { serverName, workspaceId }),
|
|
67843
67972
|
|
|
67844
67973
|
/**
|
|
67845
67974
|
* readResource
|
|
@@ -67851,7 +67980,7 @@ const mcpApi$2 = {
|
|
|
67851
67980
|
* @returns {Promise<{ resource } | { error, message }>}
|
|
67852
67981
|
*/
|
|
67853
67982
|
readResource: (serverName, uri, workspaceId = null) =>
|
|
67854
|
-
ipcRenderer$
|
|
67983
|
+
ipcRenderer$i.invoke(MCP_READ_RESOURCE, { serverName, uri, workspaceId }),
|
|
67855
67984
|
|
|
67856
67985
|
/**
|
|
67857
67986
|
* getServerStatus
|
|
@@ -67862,7 +67991,7 @@ const mcpApi$2 = {
|
|
|
67862
67991
|
* @returns {Promise<{ status, tools, error }>}
|
|
67863
67992
|
*/
|
|
67864
67993
|
getServerStatus: (serverName, workspaceId = null) =>
|
|
67865
|
-
ipcRenderer$
|
|
67994
|
+
ipcRenderer$i.invoke(MCP_SERVER_STATUS, { serverName, workspaceId }),
|
|
67866
67995
|
|
|
67867
67996
|
/**
|
|
67868
67997
|
* getCatalog
|
|
@@ -67870,7 +67999,7 @@ const mcpApi$2 = {
|
|
|
67870
67999
|
*
|
|
67871
68000
|
* @returns {Promise<{ catalog } | { error, message }>}
|
|
67872
68001
|
*/
|
|
67873
|
-
getCatalog: () => ipcRenderer$
|
|
68002
|
+
getCatalog: () => ipcRenderer$i.invoke(MCP_GET_CATALOG),
|
|
67874
68003
|
|
|
67875
68004
|
/**
|
|
67876
68005
|
* getKnownExternalCatalog
|
|
@@ -67882,7 +68011,7 @@ const mcpApi$2 = {
|
|
|
67882
68011
|
*
|
|
67883
68012
|
* @returns {Promise<{ success, servers } | { error, message, servers }>}
|
|
67884
68013
|
*/
|
|
67885
|
-
getKnownExternalCatalog: () => ipcRenderer$
|
|
68014
|
+
getKnownExternalCatalog: () => ipcRenderer$i.invoke(MCP_GET_KNOWN_EXTERNAL),
|
|
67886
68015
|
|
|
67887
68016
|
/**
|
|
67888
68017
|
* onInstallKnownExternalConfirm
|
|
@@ -67896,9 +68025,9 @@ const mcpApi$2 = {
|
|
|
67896
68025
|
*/
|
|
67897
68026
|
onInstallKnownExternalConfirm: (callback) => {
|
|
67898
68027
|
const handler = (_e, data) => callback(data);
|
|
67899
|
-
ipcRenderer$
|
|
68028
|
+
ipcRenderer$i.on(MCP_INSTALL_KNOWN_EXTERNAL_CONFIRM$1, handler);
|
|
67900
68029
|
return () =>
|
|
67901
|
-
ipcRenderer$
|
|
68030
|
+
ipcRenderer$i.removeListener(MCP_INSTALL_KNOWN_EXTERNAL_CONFIRM$1, handler);
|
|
67902
68031
|
},
|
|
67903
68032
|
|
|
67904
68033
|
/**
|
|
@@ -67909,7 +68038,7 @@ const mcpApi$2 = {
|
|
|
67909
68038
|
* @param {{ confirmed: boolean, credentials?: object, error?: string }} result
|
|
67910
68039
|
*/
|
|
67911
68040
|
sendInstallKnownExternalResult: (requestId, result) =>
|
|
67912
|
-
ipcRenderer$
|
|
68041
|
+
ipcRenderer$i.send(MCP_INSTALL_KNOWN_EXTERNAL_RESULT$1, { requestId, result }),
|
|
67913
68042
|
|
|
67914
68043
|
/**
|
|
67915
68044
|
* runAuth
|
|
@@ -67921,7 +68050,7 @@ const mcpApi$2 = {
|
|
|
67921
68050
|
* @returns {Promise<{ success } | { error, message }>}
|
|
67922
68051
|
*/
|
|
67923
68052
|
runAuth: (mcpConfig, credentials, authCommand) =>
|
|
67924
|
-
ipcRenderer$
|
|
68053
|
+
ipcRenderer$i.invoke(MCP_RUN_AUTH, { mcpConfig, credentials, authCommand }),
|
|
67925
68054
|
};
|
|
67926
68055
|
|
|
67927
68056
|
var mcpApi_1 = mcpApi$2;
|
|
@@ -67939,7 +68068,7 @@ var mcpApi_1 = mcpApi$2;
|
|
|
67939
68068
|
* mainApi.registry.checkUpdates([{ name: "weather-widgets", version: "1.0.0" }])
|
|
67940
68069
|
*/
|
|
67941
68070
|
|
|
67942
|
-
const { ipcRenderer: ipcRenderer$
|
|
68071
|
+
const { ipcRenderer: ipcRenderer$h } = require$$0$2;
|
|
67943
68072
|
|
|
67944
68073
|
const registryApi$2 = {
|
|
67945
68074
|
/**
|
|
@@ -67949,7 +68078,7 @@ const registryApi$2 = {
|
|
|
67949
68078
|
*/
|
|
67950
68079
|
fetchIndex: async (forceRefresh = false) => {
|
|
67951
68080
|
try {
|
|
67952
|
-
return await ipcRenderer$
|
|
68081
|
+
return await ipcRenderer$h.invoke("registry:fetch-index", forceRefresh);
|
|
67953
68082
|
} catch (error) {
|
|
67954
68083
|
console.error("[RegistryApi] Error fetching index:", error);
|
|
67955
68084
|
throw error;
|
|
@@ -67964,7 +68093,7 @@ const registryApi$2 = {
|
|
|
67964
68093
|
*/
|
|
67965
68094
|
search: async (query = "", filters = {}) => {
|
|
67966
68095
|
try {
|
|
67967
|
-
return await ipcRenderer$
|
|
68096
|
+
return await ipcRenderer$h.invoke("registry:search", query, filters);
|
|
67968
68097
|
} catch (error) {
|
|
67969
68098
|
console.error("[RegistryApi] Error searching registry:", error);
|
|
67970
68099
|
throw error;
|
|
@@ -67978,7 +68107,7 @@ const registryApi$2 = {
|
|
|
67978
68107
|
*/
|
|
67979
68108
|
getPackage: async (packageName) => {
|
|
67980
68109
|
try {
|
|
67981
|
-
return await ipcRenderer$
|
|
68110
|
+
return await ipcRenderer$h.invoke("registry:get-package", packageName);
|
|
67982
68111
|
} catch (error) {
|
|
67983
68112
|
console.error(
|
|
67984
68113
|
`[RegistryApi] Error getting package ${packageName}:`,
|
|
@@ -67995,7 +68124,7 @@ const registryApi$2 = {
|
|
|
67995
68124
|
*/
|
|
67996
68125
|
checkUpdates: async (installedWidgets = []) => {
|
|
67997
68126
|
try {
|
|
67998
|
-
return await ipcRenderer$
|
|
68127
|
+
return await ipcRenderer$h.invoke(
|
|
67999
68128
|
"registry:check-updates",
|
|
68000
68129
|
installedWidgets,
|
|
68001
68130
|
);
|
|
@@ -68013,7 +68142,7 @@ const registryApi$2 = {
|
|
|
68013
68142
|
*/
|
|
68014
68143
|
searchDashboards: async (query = "", filters = {}) => {
|
|
68015
68144
|
try {
|
|
68016
|
-
return await ipcRenderer$
|
|
68145
|
+
return await ipcRenderer$h.invoke(
|
|
68017
68146
|
"registry:search-dashboards",
|
|
68018
68147
|
query,
|
|
68019
68148
|
filters,
|
|
@@ -68032,7 +68161,7 @@ const registryApi$2 = {
|
|
|
68032
68161
|
*/
|
|
68033
68162
|
searchThemes: async (query = "", filters = {}) => {
|
|
68034
68163
|
try {
|
|
68035
|
-
return await ipcRenderer$
|
|
68164
|
+
return await ipcRenderer$h.invoke("registry:search-themes", query, filters);
|
|
68036
68165
|
} catch (error) {
|
|
68037
68166
|
console.error("[RegistryApi] Error searching themes:", error);
|
|
68038
68167
|
throw error;
|
|
@@ -68054,7 +68183,7 @@ const registryApi$2 = {
|
|
|
68054
68183
|
*/
|
|
68055
68184
|
publishWidget: async (appId, packageId, options = {}) => {
|
|
68056
68185
|
try {
|
|
68057
|
-
return await ipcRenderer$
|
|
68186
|
+
return await ipcRenderer$h.invoke("registry:publish-widget", {
|
|
68058
68187
|
appId,
|
|
68059
68188
|
packageId,
|
|
68060
68189
|
options,
|
|
@@ -68075,7 +68204,7 @@ const registryApi$2 = {
|
|
|
68075
68204
|
*/
|
|
68076
68205
|
inspectWidgetPackage: async (packageId) => {
|
|
68077
68206
|
try {
|
|
68078
|
-
return await ipcRenderer$
|
|
68207
|
+
return await ipcRenderer$h.invoke("registry:inspect-widget-package", {
|
|
68079
68208
|
packageId,
|
|
68080
68209
|
});
|
|
68081
68210
|
} catch (error) {
|
|
@@ -68096,7 +68225,7 @@ const registryApi$2 = {
|
|
|
68096
68225
|
*/
|
|
68097
68226
|
scanWidgetDefaults: async (packageId) => {
|
|
68098
68227
|
try {
|
|
68099
|
-
return await ipcRenderer$
|
|
68228
|
+
return await ipcRenderer$h.invoke("registry:scan-widget-defaults", {
|
|
68100
68229
|
packageId,
|
|
68101
68230
|
});
|
|
68102
68231
|
} catch (error) {
|
|
@@ -68119,7 +68248,7 @@ const registryApi$2 = {
|
|
|
68119
68248
|
*/
|
|
68120
68249
|
previewFetch: async (packageName, componentName = null) => {
|
|
68121
68250
|
try {
|
|
68122
|
-
return await ipcRenderer$
|
|
68251
|
+
return await ipcRenderer$h.invoke(
|
|
68123
68252
|
"registry:preview-fetch",
|
|
68124
68253
|
packageName,
|
|
68125
68254
|
componentName,
|
|
@@ -68145,7 +68274,7 @@ const registryApi$2 = {
|
|
|
68145
68274
|
*/
|
|
68146
68275
|
fetchPackageManifest: async (packageName) => {
|
|
68147
68276
|
try {
|
|
68148
|
-
return await ipcRenderer$
|
|
68277
|
+
return await ipcRenderer$h.invoke(
|
|
68149
68278
|
"registry:fetch-package-manifest",
|
|
68150
68279
|
packageName,
|
|
68151
68280
|
);
|
|
@@ -68167,7 +68296,7 @@ var registryApi_1 = registryApi$2;
|
|
|
68167
68296
|
* Handle the theme configuration file
|
|
68168
68297
|
*/
|
|
68169
68298
|
|
|
68170
|
-
const { ipcRenderer: ipcRenderer$
|
|
68299
|
+
const { ipcRenderer: ipcRenderer$g } = require$$0$2;
|
|
68171
68300
|
|
|
68172
68301
|
const {
|
|
68173
68302
|
THEME_LIST,
|
|
@@ -68180,17 +68309,17 @@ const {
|
|
|
68180
68309
|
|
|
68181
68310
|
const themeApi$2 = {
|
|
68182
68311
|
listThemesForApplication: (appId) =>
|
|
68183
|
-
ipcRenderer$
|
|
68312
|
+
ipcRenderer$g.invoke(THEME_LIST, { appId }),
|
|
68184
68313
|
saveThemeForApplication: (appId, themeName, themeObject) =>
|
|
68185
|
-
ipcRenderer$
|
|
68314
|
+
ipcRenderer$g.invoke(THEME_SAVE, { appId, themeName, themeObject }),
|
|
68186
68315
|
deleteThemeForApplication: (appId, themeKey) =>
|
|
68187
|
-
ipcRenderer$
|
|
68316
|
+
ipcRenderer$g.invoke(THEME_DELETE, { appId, themeKey }),
|
|
68188
68317
|
publishTheme: (appId, themeKey, options) =>
|
|
68189
|
-
ipcRenderer$
|
|
68318
|
+
ipcRenderer$g.invoke(THEME_PUBLISH, { appId, themeKey, options }),
|
|
68190
68319
|
installThemeFromRegistry: (appId, packageName) =>
|
|
68191
|
-
ipcRenderer$
|
|
68320
|
+
ipcRenderer$g.invoke(THEME_INSTALL_FROM_REGISTRY, { appId, packageName }),
|
|
68192
68321
|
getThemePublishPreview: (appId, themeKey) =>
|
|
68193
|
-
ipcRenderer$
|
|
68322
|
+
ipcRenderer$g.invoke(THEME_PUBLISH_PREVIEW, { appId, themeKey }),
|
|
68194
68323
|
};
|
|
68195
68324
|
|
|
68196
68325
|
var themeApi_1 = themeApi$2;
|
|
@@ -68202,7 +68331,7 @@ var themeApi_1 = themeApi$2;
|
|
|
68202
68331
|
*/
|
|
68203
68332
|
|
|
68204
68333
|
// ipcRenderer that must be used to invoke the events
|
|
68205
|
-
const { ipcRenderer: ipcRenderer$
|
|
68334
|
+
const { ipcRenderer: ipcRenderer$f } = require$$0$2;
|
|
68206
68335
|
|
|
68207
68336
|
const {
|
|
68208
68337
|
ALGOLIA_LIST_INDICES,
|
|
@@ -68215,10 +68344,10 @@ const {
|
|
|
68215
68344
|
|
|
68216
68345
|
const algoliaApi$2 = {
|
|
68217
68346
|
listIndices: (application) =>
|
|
68218
|
-
ipcRenderer$
|
|
68347
|
+
ipcRenderer$f.invoke(ALGOLIA_LIST_INDICES, application),
|
|
68219
68348
|
|
|
68220
68349
|
browseObjects: (appId, apiKey, indexName) => {
|
|
68221
|
-
ipcRenderer$
|
|
68350
|
+
ipcRenderer$f.invoke(ALGOLIA_BROWSE_OBJECTS, {
|
|
68222
68351
|
appId,
|
|
68223
68352
|
apiKey,
|
|
68224
68353
|
indexName,
|
|
@@ -68227,7 +68356,7 @@ const algoliaApi$2 = {
|
|
|
68227
68356
|
},
|
|
68228
68357
|
|
|
68229
68358
|
getAnalyticsForQuery: (application, indexName, query) =>
|
|
68230
|
-
ipcRenderer$
|
|
68359
|
+
ipcRenderer$f.invoke(ALGOLIA_ANALYTICS_FOR_QUERY, {
|
|
68231
68360
|
application,
|
|
68232
68361
|
indexName,
|
|
68233
68362
|
query,
|
|
@@ -68240,7 +68369,7 @@ const algoliaApi$2 = {
|
|
|
68240
68369
|
dir,
|
|
68241
68370
|
createIfNotExists = false,
|
|
68242
68371
|
) =>
|
|
68243
|
-
ipcRenderer$
|
|
68372
|
+
ipcRenderer$f.invoke(ALGOLIA_PARTIAL_UPDATE_OBJECTS, {
|
|
68244
68373
|
appId,
|
|
68245
68374
|
apiKey,
|
|
68246
68375
|
indexName,
|
|
@@ -68249,7 +68378,7 @@ const algoliaApi$2 = {
|
|
|
68249
68378
|
}),
|
|
68250
68379
|
|
|
68251
68380
|
createBatchesFromFile: (filepath, batchFilepath, batchSize) => {
|
|
68252
|
-
ipcRenderer$
|
|
68381
|
+
ipcRenderer$f.invoke(ALGOLIA_CREATE_BATCH, {
|
|
68253
68382
|
filepath,
|
|
68254
68383
|
batchFilepath,
|
|
68255
68384
|
batchSize,
|
|
@@ -68257,7 +68386,7 @@ const algoliaApi$2 = {
|
|
|
68257
68386
|
},
|
|
68258
68387
|
|
|
68259
68388
|
browseObjectsToFile: (appId, apiKey, indexName, toFilename, query = "") => {
|
|
68260
|
-
ipcRenderer$
|
|
68389
|
+
ipcRenderer$f.invoke(ALGOLIA_BROWSE_OBJECTS, {
|
|
68261
68390
|
appId,
|
|
68262
68391
|
apiKey,
|
|
68263
68392
|
indexName,
|
|
@@ -68267,7 +68396,7 @@ const algoliaApi$2 = {
|
|
|
68267
68396
|
},
|
|
68268
68397
|
|
|
68269
68398
|
search: (appId, apiKey, indexName, query = "", options = {}) =>
|
|
68270
|
-
ipcRenderer$
|
|
68399
|
+
ipcRenderer$f.invoke(ALGOLIA_SEARCH, {
|
|
68271
68400
|
appId,
|
|
68272
68401
|
apiKey,
|
|
68273
68402
|
indexName,
|
|
@@ -68282,14 +68411,14 @@ var algoliaApi_1 = algoliaApi$2;
|
|
|
68282
68411
|
* openAI
|
|
68283
68412
|
*/
|
|
68284
68413
|
|
|
68285
|
-
const { ipcRenderer: ipcRenderer$
|
|
68414
|
+
const { ipcRenderer: ipcRenderer$e } = require$$0$2;
|
|
68286
68415
|
|
|
68287
68416
|
const { OPENAI_DESCRIBE_IMAGE } = openaiEvents$1;
|
|
68288
68417
|
|
|
68289
68418
|
const openaiApi$2 = {
|
|
68290
68419
|
// convert a json array of objects to a csv string and save to file
|
|
68291
68420
|
describeImage: (imageUrl, apiKey, prompt = "What's in this image?") =>
|
|
68292
|
-
ipcRenderer$
|
|
68421
|
+
ipcRenderer$e.invoke(OPENAI_DESCRIBE_IMAGE, { imageUrl, apiKey, prompt }),
|
|
68293
68422
|
};
|
|
68294
68423
|
|
|
68295
68424
|
var openaiApi_1 = openaiApi$2;
|
|
@@ -68300,14 +68429,14 @@ var openaiApi_1 = openaiApi$2;
|
|
|
68300
68429
|
*/
|
|
68301
68430
|
|
|
68302
68431
|
// ipcRenderer that must be used to invoke the events
|
|
68303
|
-
const { ipcRenderer: ipcRenderer$
|
|
68432
|
+
const { ipcRenderer: ipcRenderer$d } = require$$0$2;
|
|
68304
68433
|
|
|
68305
68434
|
const { MENU_ITEMS_SAVE, MENU_ITEMS_LIST } = events$8;
|
|
68306
68435
|
|
|
68307
68436
|
const menuItemsApi$2 = {
|
|
68308
68437
|
saveMenuItem: (appId, menuItem) =>
|
|
68309
|
-
ipcRenderer$
|
|
68310
|
-
listMenuItems: (appId) => ipcRenderer$
|
|
68438
|
+
ipcRenderer$d.invoke(MENU_ITEMS_SAVE, { appId, menuItem }),
|
|
68439
|
+
listMenuItems: (appId) => ipcRenderer$d.invoke(MENU_ITEMS_LIST, { appId }),
|
|
68311
68440
|
};
|
|
68312
68441
|
|
|
68313
68442
|
var menuItemsApi_1 = menuItemsApi$2;
|
|
@@ -68320,7 +68449,7 @@ var menuItemsApi_1 = menuItemsApi$2;
|
|
|
68320
68449
|
* tool-use events, and request cancellation.
|
|
68321
68450
|
*/
|
|
68322
68451
|
|
|
68323
|
-
const { ipcRenderer: ipcRenderer$
|
|
68452
|
+
const { ipcRenderer: ipcRenderer$c } = require$$0$2;
|
|
68324
68453
|
const {
|
|
68325
68454
|
LLM_SEND_MESSAGE,
|
|
68326
68455
|
LLM_ABORT_REQUEST,
|
|
@@ -68342,7 +68471,7 @@ const _listenerMap = new Map();
|
|
|
68342
68471
|
function _addListener(channel, callback) {
|
|
68343
68472
|
const id = String(++_nextListenerId);
|
|
68344
68473
|
const wrapped = (_event, data) => callback(data);
|
|
68345
|
-
ipcRenderer$
|
|
68474
|
+
ipcRenderer$c.on(channel, wrapped);
|
|
68346
68475
|
_listenerMap.set(id, { channel, wrapped });
|
|
68347
68476
|
return id;
|
|
68348
68477
|
}
|
|
@@ -68357,7 +68486,7 @@ const llmApi$2 = {
|
|
|
68357
68486
|
* @returns {Promise<void>}
|
|
68358
68487
|
*/
|
|
68359
68488
|
sendMessage: (requestId, params) =>
|
|
68360
|
-
ipcRenderer$
|
|
68489
|
+
ipcRenderer$c.invoke(LLM_SEND_MESSAGE, { requestId, ...params }),
|
|
68361
68490
|
|
|
68362
68491
|
/**
|
|
68363
68492
|
* abortRequest
|
|
@@ -68367,7 +68496,7 @@ const llmApi$2 = {
|
|
|
68367
68496
|
* @returns {Promise<{ success: boolean }>}
|
|
68368
68497
|
*/
|
|
68369
68498
|
abortRequest: (requestId) =>
|
|
68370
|
-
ipcRenderer$
|
|
68499
|
+
ipcRenderer$c.invoke(LLM_ABORT_REQUEST, { requestId }),
|
|
68371
68500
|
|
|
68372
68501
|
/**
|
|
68373
68502
|
* listConnectedTools
|
|
@@ -68375,7 +68504,7 @@ const llmApi$2 = {
|
|
|
68375
68504
|
*
|
|
68376
68505
|
* @returns {Promise<Array<{ serverName, tools, resources, status }>>}
|
|
68377
68506
|
*/
|
|
68378
|
-
listConnectedTools: () => ipcRenderer$
|
|
68507
|
+
listConnectedTools: () => ipcRenderer$c.invoke(LLM_LIST_CONNECTED_TOOLS),
|
|
68379
68508
|
|
|
68380
68509
|
/**
|
|
68381
68510
|
* checkCliAvailable
|
|
@@ -68383,7 +68512,7 @@ const llmApi$2 = {
|
|
|
68383
68512
|
*
|
|
68384
68513
|
* @returns {Promise<{ available: boolean, path?: string }>}
|
|
68385
68514
|
*/
|
|
68386
|
-
checkCliAvailable: () => ipcRenderer$
|
|
68515
|
+
checkCliAvailable: () => ipcRenderer$c.invoke(LLM_CHECK_CLI_AVAILABLE),
|
|
68387
68516
|
|
|
68388
68517
|
/**
|
|
68389
68518
|
* clearCliSession
|
|
@@ -68393,7 +68522,7 @@ const llmApi$2 = {
|
|
|
68393
68522
|
* @returns {Promise<{ success: boolean }>}
|
|
68394
68523
|
*/
|
|
68395
68524
|
clearCliSession: (widgetUuid) =>
|
|
68396
|
-
ipcRenderer$
|
|
68525
|
+
ipcRenderer$c.invoke(LLM_CLEAR_CLI_SESSION, { widgetUuid }),
|
|
68397
68526
|
|
|
68398
68527
|
/**
|
|
68399
68528
|
* getCliSessionStatus
|
|
@@ -68403,7 +68532,7 @@ const llmApi$2 = {
|
|
|
68403
68532
|
* @returns {Promise<{ hasSession: boolean, sessionId?: string, isProcessActive: boolean }>}
|
|
68404
68533
|
*/
|
|
68405
68534
|
getCliSessionStatus: (widgetUuid) =>
|
|
68406
|
-
ipcRenderer$
|
|
68535
|
+
ipcRenderer$c.invoke(LLM_CLI_SESSION_STATUS, { widgetUuid }),
|
|
68407
68536
|
|
|
68408
68537
|
/**
|
|
68409
68538
|
* endCliSession
|
|
@@ -68413,7 +68542,7 @@ const llmApi$2 = {
|
|
|
68413
68542
|
* @returns {Promise<{ success: boolean }>}
|
|
68414
68543
|
*/
|
|
68415
68544
|
endCliSession: (widgetUuid) =>
|
|
68416
|
-
ipcRenderer$
|
|
68545
|
+
ipcRenderer$c.invoke(LLM_CLI_END_SESSION, { widgetUuid }),
|
|
68417
68546
|
|
|
68418
68547
|
// --- Stream event listeners ---
|
|
68419
68548
|
// Each on* method returns an opaque string ID. Strings cross the
|
|
@@ -68447,7 +68576,7 @@ const llmApi$2 = {
|
|
|
68447
68576
|
const listenerId = id !== undefined ? String(id) : String(idOrChannel);
|
|
68448
68577
|
const entry = _listenerMap.get(listenerId);
|
|
68449
68578
|
if (entry) {
|
|
68450
|
-
ipcRenderer$
|
|
68579
|
+
ipcRenderer$c.removeListener(entry.channel, entry.wrapped);
|
|
68451
68580
|
_listenerMap.delete(listenerId);
|
|
68452
68581
|
}
|
|
68453
68582
|
},
|
|
@@ -68459,14 +68588,14 @@ const llmApi$2 = {
|
|
|
68459
68588
|
*/
|
|
68460
68589
|
removeAllStreamListeners: () => {
|
|
68461
68590
|
for (const [, entry] of _listenerMap) {
|
|
68462
|
-
ipcRenderer$
|
|
68591
|
+
ipcRenderer$c.removeListener(entry.channel, entry.wrapped);
|
|
68463
68592
|
}
|
|
68464
68593
|
_listenerMap.clear();
|
|
68465
|
-
ipcRenderer$
|
|
68466
|
-
ipcRenderer$
|
|
68467
|
-
ipcRenderer$
|
|
68468
|
-
ipcRenderer$
|
|
68469
|
-
ipcRenderer$
|
|
68594
|
+
ipcRenderer$c.removeAllListeners(LLM_STREAM_DELTA);
|
|
68595
|
+
ipcRenderer$c.removeAllListeners(LLM_STREAM_TOOL_CALL);
|
|
68596
|
+
ipcRenderer$c.removeAllListeners(LLM_STREAM_TOOL_RESULT);
|
|
68597
|
+
ipcRenderer$c.removeAllListeners(LLM_STREAM_COMPLETE);
|
|
68598
|
+
ipcRenderer$c.removeAllListeners(LLM_STREAM_ERROR);
|
|
68470
68599
|
},
|
|
68471
68600
|
};
|
|
68472
68601
|
|
|
@@ -68479,7 +68608,7 @@ var llmApi_1 = llmApi$2;
|
|
|
68479
68608
|
* Exposed via contextBridge through mainApi.
|
|
68480
68609
|
*/
|
|
68481
68610
|
|
|
68482
|
-
const { ipcRenderer: ipcRenderer$
|
|
68611
|
+
const { ipcRenderer: ipcRenderer$b } = require$$0$2;
|
|
68483
68612
|
const {
|
|
68484
68613
|
DASHBOARD_CONFIG_EXPORT,
|
|
68485
68614
|
DASHBOARD_CONFIG_SELECT_FILE,
|
|
@@ -68506,7 +68635,7 @@ const dashboardConfigApi$2 = {
|
|
|
68506
68635
|
* @returns {Promise<Object>} Result with success, filePath, and config
|
|
68507
68636
|
*/
|
|
68508
68637
|
exportDashboardConfig: (appId, workspaceId, options = {}) =>
|
|
68509
|
-
ipcRenderer$
|
|
68638
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_EXPORT, {
|
|
68510
68639
|
appId,
|
|
68511
68640
|
workspaceId,
|
|
68512
68641
|
options,
|
|
@@ -68519,7 +68648,7 @@ const dashboardConfigApi$2 = {
|
|
|
68519
68648
|
*
|
|
68520
68649
|
* @returns {Promise<Object>} Result with success, filePath, and dashboardConfig preview
|
|
68521
68650
|
*/
|
|
68522
|
-
selectDashboardFile: () => ipcRenderer$
|
|
68651
|
+
selectDashboardFile: () => ipcRenderer$b.invoke(DASHBOARD_CONFIG_SELECT_FILE),
|
|
68523
68652
|
|
|
68524
68653
|
/**
|
|
68525
68654
|
* Import a dashboard config from a ZIP file.
|
|
@@ -68531,7 +68660,7 @@ const dashboardConfigApi$2 = {
|
|
|
68531
68660
|
* @returns {Promise<Object>} Result with success, workspace, and summary
|
|
68532
68661
|
*/
|
|
68533
68662
|
importDashboardConfig: (appId, options = {}) =>
|
|
68534
|
-
ipcRenderer$
|
|
68663
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_IMPORT, { appId, ...options }),
|
|
68535
68664
|
|
|
68536
68665
|
/**
|
|
68537
68666
|
* Install a dashboard from the registry by package name.
|
|
@@ -68549,7 +68678,7 @@ const dashboardConfigApi$2 = {
|
|
|
68549
68678
|
* @returns {Promise<Object>} Result with success, workspace, and summary
|
|
68550
68679
|
*/
|
|
68551
68680
|
installDashboardFromRegistry: (appId, packageName, options = {}) =>
|
|
68552
|
-
ipcRenderer$
|
|
68681
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_INSTALL, {
|
|
68553
68682
|
appId,
|
|
68554
68683
|
packageName,
|
|
68555
68684
|
options,
|
|
@@ -68563,7 +68692,7 @@ const dashboardConfigApi$2 = {
|
|
|
68563
68692
|
* @returns {Promise<Object>} Compatibility report with per-widget status
|
|
68564
68693
|
*/
|
|
68565
68694
|
checkDashboardCompatibility: (appId, dashboardWidgets) =>
|
|
68566
|
-
ipcRenderer$
|
|
68695
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_COMPATIBILITY, {
|
|
68567
68696
|
appId,
|
|
68568
68697
|
dashboardWidgets,
|
|
68569
68698
|
}),
|
|
@@ -68579,7 +68708,7 @@ const dashboardConfigApi$2 = {
|
|
|
68579
68708
|
* @returns {Promise<Object>} Result with success, manifest, filePath
|
|
68580
68709
|
*/
|
|
68581
68710
|
prepareDashboardForPublish: (appId, workspaceId, options = {}) =>
|
|
68582
|
-
ipcRenderer$
|
|
68711
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_PUBLISH, {
|
|
68583
68712
|
appId,
|
|
68584
68713
|
workspaceId,
|
|
68585
68714
|
options,
|
|
@@ -68598,7 +68727,7 @@ const dashboardConfigApi$2 = {
|
|
|
68598
68727
|
* @returns {Promise<Object>} { success, widgets, theme }
|
|
68599
68728
|
*/
|
|
68600
68729
|
collectDashboardDependencies: (appId, workspaceId, options = {}) =>
|
|
68601
|
-
ipcRenderer$
|
|
68730
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_COLLECT_DEPENDENCIES, {
|
|
68602
68731
|
appId,
|
|
68603
68732
|
workspaceId,
|
|
68604
68733
|
options,
|
|
@@ -68615,7 +68744,7 @@ const dashboardConfigApi$2 = {
|
|
|
68615
68744
|
* @returns {Promise<Object>} { success, widgets, theme, registryError? }
|
|
68616
68745
|
*/
|
|
68617
68746
|
getDashboardPublishPlan: (appId, workspaceId, options = {}) =>
|
|
68618
|
-
ipcRenderer$
|
|
68747
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_PUBLISH_PLAN, {
|
|
68619
68748
|
appId,
|
|
68620
68749
|
workspaceId,
|
|
68621
68750
|
options,
|
|
@@ -68629,7 +68758,7 @@ const dashboardConfigApi$2 = {
|
|
|
68629
68758
|
* @returns {Promise<Object>} Preview with metadata, widgets, wiring, compatibility
|
|
68630
68759
|
*/
|
|
68631
68760
|
getDashboardPreview: (packageName) =>
|
|
68632
|
-
ipcRenderer$
|
|
68761
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_PREVIEW, { packageName }),
|
|
68633
68762
|
|
|
68634
68763
|
/**
|
|
68635
68764
|
* Check installed dashboards for available updates.
|
|
@@ -68638,7 +68767,7 @@ const dashboardConfigApi$2 = {
|
|
|
68638
68767
|
* @returns {Promise<Object>} Result with updates array
|
|
68639
68768
|
*/
|
|
68640
68769
|
checkDashboardUpdates: (appId) =>
|
|
68641
|
-
ipcRenderer$
|
|
68770
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_CHECK_UPDATES, { appId }),
|
|
68642
68771
|
|
|
68643
68772
|
/**
|
|
68644
68773
|
* Get provider setup manifest for a dashboard's requirements.
|
|
@@ -68648,7 +68777,7 @@ const dashboardConfigApi$2 = {
|
|
|
68648
68777
|
* @returns {Promise<Object>} Setup manifest with per-provider status
|
|
68649
68778
|
*/
|
|
68650
68779
|
getProviderSetupManifest: (appId, requiredProviders) =>
|
|
68651
|
-
ipcRenderer$
|
|
68780
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_PROVIDER_SETUP, {
|
|
68652
68781
|
appId,
|
|
68653
68782
|
requiredProviders,
|
|
68654
68783
|
}),
|
|
@@ -68662,7 +68791,7 @@ const dashboardConfigApi$2 = {
|
|
|
68662
68791
|
* @returns {Promise<Object>} Preview with dashboardName, widgetCount, widgets, componentNames
|
|
68663
68792
|
*/
|
|
68664
68793
|
getPublishPreview: (appId, workspaceId) =>
|
|
68665
|
-
ipcRenderer$
|
|
68794
|
+
ipcRenderer$b.invoke(DASHBOARD_CONFIG_PUBLISH_PREVIEW, {
|
|
68666
68795
|
appId,
|
|
68667
68796
|
workspaceId,
|
|
68668
68797
|
}),
|
|
@@ -68676,9 +68805,9 @@ const dashboardConfigApi$2 = {
|
|
|
68676
68805
|
*/
|
|
68677
68806
|
onInstallProgress: (callback) => {
|
|
68678
68807
|
const handler = (_event, data) => callback(data);
|
|
68679
|
-
ipcRenderer$
|
|
68808
|
+
ipcRenderer$b.on(DASHBOARD_CONFIG_INSTALL_PROGRESS, handler);
|
|
68680
68809
|
return () =>
|
|
68681
|
-
ipcRenderer$
|
|
68810
|
+
ipcRenderer$b.removeListener(DASHBOARD_CONFIG_INSTALL_PROGRESS, handler);
|
|
68682
68811
|
},
|
|
68683
68812
|
};
|
|
68684
68813
|
|
|
@@ -68691,7 +68820,7 @@ var dashboardConfigApi_1 = dashboardConfigApi$2;
|
|
|
68691
68820
|
* Exposed via contextBridge through mainApi.
|
|
68692
68821
|
*/
|
|
68693
68822
|
|
|
68694
|
-
const { ipcRenderer: ipcRenderer$
|
|
68823
|
+
const { ipcRenderer: ipcRenderer$a } = require$$0$2;
|
|
68695
68824
|
const {
|
|
68696
68825
|
REGISTRY_AUTH_INITIATE_LOGIN,
|
|
68697
68826
|
REGISTRY_AUTH_POLL_TOKEN,
|
|
@@ -68712,7 +68841,7 @@ const registryAuthApi$2 = {
|
|
|
68712
68841
|
*
|
|
68713
68842
|
* @returns {Promise<Object>} { deviceCode, userCode, verificationUrl, verificationUrlComplete, expiresIn, interval }
|
|
68714
68843
|
*/
|
|
68715
|
-
initiateLogin: () => ipcRenderer$
|
|
68844
|
+
initiateLogin: () => ipcRenderer$a.invoke(REGISTRY_AUTH_INITIATE_LOGIN),
|
|
68716
68845
|
|
|
68717
68846
|
/**
|
|
68718
68847
|
* Poll for token after user completes browser auth.
|
|
@@ -68721,26 +68850,26 @@ const registryAuthApi$2 = {
|
|
|
68721
68850
|
* @returns {Promise<Object>} { status: 'pending' | 'authorized' | 'expired', token?, userId? }
|
|
68722
68851
|
*/
|
|
68723
68852
|
pollToken: (deviceCode) =>
|
|
68724
|
-
ipcRenderer$
|
|
68853
|
+
ipcRenderer$a.invoke(REGISTRY_AUTH_POLL_TOKEN, { deviceCode }),
|
|
68725
68854
|
|
|
68726
68855
|
/**
|
|
68727
68856
|
* Get current auth status.
|
|
68728
68857
|
*
|
|
68729
68858
|
* @returns {Promise<Object>} { authenticated: boolean, userId?: string }
|
|
68730
68859
|
*/
|
|
68731
|
-
getStatus: () => ipcRenderer$
|
|
68860
|
+
getStatus: () => ipcRenderer$a.invoke(REGISTRY_AUTH_GET_STATUS),
|
|
68732
68861
|
|
|
68733
68862
|
/**
|
|
68734
68863
|
* Get the authenticated user's registry profile.
|
|
68735
68864
|
*
|
|
68736
68865
|
* @returns {Promise<Object|null>} User profile or null
|
|
68737
68866
|
*/
|
|
68738
|
-
getProfile: () => ipcRenderer$
|
|
68867
|
+
getProfile: () => ipcRenderer$a.invoke(REGISTRY_AUTH_GET_PROFILE),
|
|
68739
68868
|
|
|
68740
68869
|
/**
|
|
68741
68870
|
* Logout from registry.
|
|
68742
68871
|
*/
|
|
68743
|
-
logout: () => ipcRenderer$
|
|
68872
|
+
logout: () => ipcRenderer$a.invoke(REGISTRY_AUTH_LOGOUT),
|
|
68744
68873
|
|
|
68745
68874
|
/**
|
|
68746
68875
|
* Publish a ZIP to the registry.
|
|
@@ -68750,7 +68879,7 @@ const registryAuthApi$2 = {
|
|
|
68750
68879
|
* @returns {Promise<Object>} { success, registryUrl, packageId, version, error? }
|
|
68751
68880
|
*/
|
|
68752
68881
|
publish: (zipPath, manifest) =>
|
|
68753
|
-
ipcRenderer$
|
|
68882
|
+
ipcRenderer$a.invoke(REGISTRY_AUTH_PUBLISH, { zipPath, manifest }),
|
|
68754
68883
|
|
|
68755
68884
|
/**
|
|
68756
68885
|
* Update the authenticated user's profile.
|
|
@@ -68759,14 +68888,14 @@ const registryAuthApi$2 = {
|
|
|
68759
68888
|
* @returns {Promise<Object|null>} Updated user or null
|
|
68760
68889
|
*/
|
|
68761
68890
|
updateProfile: (updates) =>
|
|
68762
|
-
ipcRenderer$
|
|
68891
|
+
ipcRenderer$a.invoke(REGISTRY_AUTH_UPDATE_PROFILE, updates),
|
|
68763
68892
|
|
|
68764
68893
|
/**
|
|
68765
68894
|
* Get the authenticated user's published packages.
|
|
68766
68895
|
*
|
|
68767
68896
|
* @returns {Promise<Object|null>} { packages: [...] } or null
|
|
68768
68897
|
*/
|
|
68769
|
-
getPackages: () => ipcRenderer$
|
|
68898
|
+
getPackages: () => ipcRenderer$a.invoke(REGISTRY_AUTH_GET_PACKAGES),
|
|
68770
68899
|
|
|
68771
68900
|
/**
|
|
68772
68901
|
* Update a published package's metadata.
|
|
@@ -68777,7 +68906,7 @@ const registryAuthApi$2 = {
|
|
|
68777
68906
|
* @returns {Promise<Object|null>} Updated package or null
|
|
68778
68907
|
*/
|
|
68779
68908
|
updatePackage: (scope, name, updates) =>
|
|
68780
|
-
ipcRenderer$
|
|
68909
|
+
ipcRenderer$a.invoke(REGISTRY_AUTH_UPDATE_PACKAGE, {
|
|
68781
68910
|
scope,
|
|
68782
68911
|
name,
|
|
68783
68912
|
updates,
|
|
@@ -68791,7 +68920,7 @@ const registryAuthApi$2 = {
|
|
|
68791
68920
|
* @returns {Promise<Object|null>} Response or null
|
|
68792
68921
|
*/
|
|
68793
68922
|
deletePackage: (scope, name) =>
|
|
68794
|
-
ipcRenderer$
|
|
68923
|
+
ipcRenderer$a.invoke(REGISTRY_AUTH_DELETE_PACKAGE, { scope, name }),
|
|
68795
68924
|
};
|
|
68796
68925
|
|
|
68797
68926
|
var registryAuthApi_1 = registryAuthApi$2;
|
|
@@ -68803,7 +68932,7 @@ var registryAuthApi_1 = registryAuthApi$2;
|
|
|
68803
68932
|
* Exposed via contextBridge through `window.mainApi.publisherKey`.
|
|
68804
68933
|
*/
|
|
68805
68934
|
|
|
68806
|
-
const { ipcRenderer: ipcRenderer$
|
|
68935
|
+
const { ipcRenderer: ipcRenderer$9 } = require$$0$2;
|
|
68807
68936
|
const {
|
|
68808
68937
|
PUBLISHER_KEY_GET_OR_CREATE,
|
|
68809
68938
|
PUBLISHER_KEY_DESCRIBE,
|
|
@@ -68823,23 +68952,59 @@ const publisherKeyApi$2 = {
|
|
|
68823
68952
|
* Rejects with `{ authRequired: true }` if not signed in to the
|
|
68824
68953
|
* registry; with a generic error otherwise.
|
|
68825
68954
|
*/
|
|
68826
|
-
getOrCreate: () => ipcRenderer$
|
|
68955
|
+
getOrCreate: () => ipcRenderer$9.invoke(PUBLISHER_KEY_GET_OR_CREATE),
|
|
68827
68956
|
|
|
68828
68957
|
/**
|
|
68829
68958
|
* Summary of the current local key (or null). Does not trigger
|
|
68830
68959
|
* registration — purely read-only.
|
|
68831
68960
|
*/
|
|
68832
|
-
describe: () => ipcRenderer$
|
|
68961
|
+
describe: () => ipcRenderer$9.invoke(PUBLISHER_KEY_DESCRIBE),
|
|
68833
68962
|
|
|
68834
68963
|
/**
|
|
68835
68964
|
* Revoke the local key on the registry and clear it from disk.
|
|
68836
68965
|
* Next publish will auto-generate a fresh keypair.
|
|
68837
68966
|
*/
|
|
68838
|
-
revoke: () => ipcRenderer$
|
|
68967
|
+
revoke: () => ipcRenderer$9.invoke(PUBLISHER_KEY_REVOKE),
|
|
68839
68968
|
};
|
|
68840
68969
|
|
|
68841
68970
|
var publisherKeyApi_1 = publisherKeyApi$2;
|
|
68842
68971
|
|
|
68972
|
+
/**
|
|
68973
|
+
* onboardingApi.js
|
|
68974
|
+
*
|
|
68975
|
+
* IPC bridge for the first-run onboarding flow (renderer side).
|
|
68976
|
+
* Exposed via contextBridge through `window.mainApi.onboarding`.
|
|
68977
|
+
*/
|
|
68978
|
+
|
|
68979
|
+
const { ipcRenderer: ipcRenderer$8 } = require$$0$2;
|
|
68980
|
+
const {
|
|
68981
|
+
ONBOARDING_GET_STATUS,
|
|
68982
|
+
ONBOARDING_MARK_COMPLETED,
|
|
68983
|
+
} = events$8;
|
|
68984
|
+
|
|
68985
|
+
const onboardingApi$2 = {
|
|
68986
|
+
/**
|
|
68987
|
+
* Read the current onboarding state. Always resolves; never rejects.
|
|
68988
|
+
* Returns `{ completed, completedAt, source }`. `completed:false` is
|
|
68989
|
+
* the "never seen" state — the renderer can treat that as the gate
|
|
68990
|
+
* to show the OnboardingModal.
|
|
68991
|
+
*/
|
|
68992
|
+
getStatus: () => ipcRenderer$8.invoke(ONBOARDING_GET_STATUS),
|
|
68993
|
+
|
|
68994
|
+
/**
|
|
68995
|
+
* Pin onboarding as completed. Idempotent — safe to call multiple
|
|
68996
|
+
* times; the first stamp wins.
|
|
68997
|
+
*
|
|
68998
|
+
* @param {Object} [opts]
|
|
68999
|
+
* @param {string} [opts.source] - "kitchen-sink", "dismissed", etc.
|
|
69000
|
+
* @returns {Promise<{ completed: true, completedAt: string, source: string|null }>}
|
|
69001
|
+
*/
|
|
69002
|
+
markCompleted: (opts = {}) =>
|
|
69003
|
+
ipcRenderer$8.invoke(ONBOARDING_MARK_COMPLETED, opts),
|
|
69004
|
+
};
|
|
69005
|
+
|
|
69006
|
+
var onboardingApi_1 = onboardingApi$2;
|
|
69007
|
+
|
|
68843
69008
|
/**
|
|
68844
69009
|
* notificationApi.js
|
|
68845
69010
|
*
|
|
@@ -70459,6 +70624,7 @@ const themeFromUrlApi$1 = themeFromUrlApi_1;
|
|
|
70459
70624
|
const webSocketApi$1 = webSocketApi_1;
|
|
70460
70625
|
const mcpDashServerApi$1 = mcpDashServerApi_1;
|
|
70461
70626
|
const publisherKeyApi$1 = publisherKeyApi_1;
|
|
70627
|
+
const onboardingApi$1 = onboardingApi_1;
|
|
70462
70628
|
|
|
70463
70629
|
// Events constants
|
|
70464
70630
|
const events$1 = events$8;
|
|
@@ -70532,6 +70698,7 @@ function createMainApi$1(extensions = {}) {
|
|
|
70532
70698
|
dashboardRatings: dashboardRatingsApi,
|
|
70533
70699
|
registryAuth: registryAuthApi$1,
|
|
70534
70700
|
publisherKey: publisherKeyApi$1,
|
|
70701
|
+
onboarding: onboardingApi$1,
|
|
70535
70702
|
session: sessionApi,
|
|
70536
70703
|
notifications: notificationApi$1,
|
|
70537
70704
|
scheduler: schedulerApi$1,
|
|
@@ -70587,6 +70754,7 @@ const dashboardConfigController = dashboardConfigController$1;
|
|
|
70587
70754
|
const registryAuthController = registryAuthController$2;
|
|
70588
70755
|
const registryApiController = registryApiController$3;
|
|
70589
70756
|
const publisherKeyController = publisherKeyController$1;
|
|
70757
|
+
const onboardingController = onboardingController$1;
|
|
70590
70758
|
const notificationController = notificationController_1;
|
|
70591
70759
|
const schedulerController = schedulerController_1;
|
|
70592
70760
|
const themeRegistryController = themeRegistryController$1;
|
|
@@ -70629,6 +70797,7 @@ const llmApi = llmApi_1;
|
|
|
70629
70797
|
const dashboardConfigApi = dashboardConfigApi_1;
|
|
70630
70798
|
const registryAuthApi = registryAuthApi_1;
|
|
70631
70799
|
const publisherKeyApi = publisherKeyApi_1;
|
|
70800
|
+
const onboardingApi = onboardingApi_1;
|
|
70632
70801
|
const notificationApi = notificationApi_1;
|
|
70633
70802
|
const schedulerApi = schedulerApi_1;
|
|
70634
70803
|
const themeFromUrlApi = themeFromUrlApi_1;
|
|
@@ -70693,6 +70862,7 @@ var electron = {
|
|
|
70693
70862
|
registryAuthController,
|
|
70694
70863
|
registryApiController,
|
|
70695
70864
|
publisherKeyController,
|
|
70865
|
+
onboardingController,
|
|
70696
70866
|
notificationController,
|
|
70697
70867
|
schedulerController,
|
|
70698
70868
|
themeRegistryController,
|
|
@@ -70727,6 +70897,7 @@ var electron = {
|
|
|
70727
70897
|
dashboardConfigApi,
|
|
70728
70898
|
registryAuthApi,
|
|
70729
70899
|
publisherKeyApi,
|
|
70900
|
+
onboardingApi,
|
|
70730
70901
|
notificationApi,
|
|
70731
70902
|
schedulerApi,
|
|
70732
70903
|
themeFromUrlApi,
|