@dimina-kit/devtools 0.4.0-dev.20260728110120 → 0.4.0-dev.20260731100034
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/README.md +68 -0
- package/dist/main/api.d.ts +1 -0
- package/dist/main/app/app.d.ts +3 -0
- package/dist/main/app/app.js +15 -0
- package/dist/main/app/bootstrap.d.ts +8 -5
- package/dist/main/app/bootstrap.js +15 -15
- package/dist/main/index.bundle.js +2359 -5132
- package/dist/main/ipc/app-lifecycle.d.ts +1 -31
- package/dist/main/ipc/app-lifecycle.js +1 -53
- package/dist/main/ipc/bridge-router.d.ts +19 -152
- package/dist/main/ipc/bridge-router.js +28 -2186
- package/dist/main/ipc/page-scroll.d.ts +1 -13
- package/dist/main/ipc/page-scroll.js +1 -16
- package/dist/main/ipc/session-listener-bag.d.ts +1 -40
- package/dist/main/ipc/session-listener-bag.js +1 -39
- package/dist/main/services/console-forward/index.d.ts +1 -60
- package/dist/main/services/console-forward/index.js +1 -225
- package/dist/main/services/console-forward/internal-log.d.ts +1 -10
- package/dist/main/services/console-forward/internal-log.js +1 -22
- package/dist/main/services/diagnostics/index.d.ts +1 -58
- package/dist/main/services/diagnostics/index.js +1 -60
- package/dist/main/services/dimina-resource-server.d.ts +1 -6
- package/dist/main/services/dimina-resource-server.js +1 -98
- package/dist/main/services/network-forward/index.d.ts +15 -3
- package/dist/main/services/network-forward/index.js +30 -4
- package/dist/main/services/network-forward/websocket.d.ts +36 -0
- package/dist/main/services/network-forward/websocket.js +120 -0
- package/dist/main/services/service-host-pool/pool.d.ts +1 -196
- package/dist/main/services/service-host-pool/pool.js +1 -363
- package/dist/main/services/simulator/custom-apis.d.ts +1 -42
- package/dist/main/services/simulator/custom-apis.js +1 -46
- package/dist/main/services/simulator/referer.d.ts +1 -9
- package/dist/main/services/simulator/referer.js +1 -19
- package/dist/main/services/simulator/ui-extensions.d.ts +13 -0
- package/dist/main/services/simulator/ui-extensions.js +166 -0
- package/dist/main/services/simulator-storage/service-storage-ops.d.ts +1 -39
- package/dist/main/services/simulator-storage/service-storage-ops.js +1 -66
- package/dist/main/services/simulator-temp-files/disk.d.ts +1 -54
- package/dist/main/services/simulator-temp-files/disk.js +1 -237
- package/dist/main/services/simulator-temp-files/fs-channels.d.ts +1 -68
- package/dist/main/services/simulator-temp-files/fs-channels.js +1 -107
- package/dist/main/services/simulator-temp-files/index.d.ts +1 -32
- package/dist/main/services/simulator-temp-files/index.js +1 -181
- package/dist/main/services/simulator-temp-files/request-handler.d.ts +1 -29
- package/dist/main/services/simulator-temp-files/request-handler.js +1 -177
- package/dist/main/services/simulator-temp-files/resolver.d.ts +1 -21
- package/dist/main/services/simulator-temp-files/resolver.js +1 -21
- package/dist/main/services/simulator-temp-files/store.d.ts +1 -13
- package/dist/main/services/simulator-temp-files/store.js +1 -23
- package/dist/main/services/views/miniapp-partition.d.ts +1 -89
- package/dist/main/services/views/miniapp-partition.js +1 -158
- package/dist/main/services/views/native-simulator-view.js +3 -0
- package/dist/main/services/views/simulator-session-policy.d.ts +1 -27
- package/dist/main/services/views/simulator-session-policy.js +1 -98
- package/dist/main/services/views/view-manager.d.ts +5 -0
- package/dist/main/services/workbench-context.d.ts +10 -1
- package/dist/main/services/workbench-context.js +20 -0
- package/dist/main/utils/ipc-registry.d.ts +21 -3
- package/dist/main/utils/ipc-registry.js +26 -23
- package/dist/main/utils/paths.d.ts +14 -0
- package/dist/main/utils/paths.js +14 -0
- package/dist/main/windows/service-host-window/create.d.ts +1 -92
- package/dist/main/windows/service-host-window/create.js +1 -154
- package/dist/native-host/render/render.js +51 -52
- package/dist/native-host/service/service.js +2 -2
- package/dist/preload/index.d.ts +2 -0
- package/dist/preload/index.js +1 -0
- package/dist/preload/runtime/clipboard.d.ts +6 -0
- package/dist/preload/runtime/clipboard.js +12 -0
- package/dist/preload/runtime/native-host.js +4 -10
- package/dist/preload/windows/host-toolbar-runtime.cjs.map +2 -2
- package/dist/preload/windows/main.cjs +46 -126
- package/dist/preload/windows/main.cjs.map +3 -3
- package/dist/preload/windows/simulator.cjs +83 -56
- package/dist/preload/windows/simulator.cjs.map +4 -4
- package/dist/preload/windows/simulator.js +83 -56
- package/dist/renderer/assets/{index-BJlFbXHb.js → index-BBg3YI5b.js} +2 -2
- package/dist/renderer/entries/main/index.html +1 -1
- package/dist/shared/bridge-channels.d.ts +1 -419
- package/dist/shared/bridge-channels.js +1 -89
- package/dist/shared/dmb-resource-url.d.ts +2 -0
- package/dist/shared/dmb-resource-url.js +2 -0
- package/dist/shared/ipc-channels.d.ts +2 -32
- package/dist/shared/ipc-channels.js +2 -5
- package/dist/shared/request-core.d.ts +1 -83
- package/dist/shared/request-core.js +1 -167
- package/dist/shared/simulator-ui.d.ts +61 -0
- package/dist/shared/simulator-ui.js +12 -0
- package/dist/shared/types.d.ts +7 -0
- package/dist/simulator/assets/device-shell-B03OuytR.js +2 -0
- package/dist/simulator/assets/device-shell-DbC5ccs8.css +1 -0
- package/dist/simulator/assets/{jsx-runtime-BDTY6fEq.js → jsx-runtime-hBv-rHqQ.js} +2 -2
- package/dist/simulator/assets/{simulator-CRyLSz1N.js → simulator-DpdXUf--.js} +5 -5
- package/dist/simulator/simulator.html +2 -2
- package/dist/simulator/temp-files.d.ts +29 -0
- package/dist/simulator/temp-files.js +79 -0
- package/dist/simulator/types.d.ts +43 -0
- package/dist/simulator/types.js +2 -0
- package/package.json +10 -5
- package/dist/shared/simulator-api-metadata.d.ts +0 -26
- package/dist/shared/simulator-api-metadata.js +0 -59
- package/dist/shared/vpath.d.ts +0 -42
- package/dist/shared/vpath.js +0 -105
- package/dist/simulator/assets/device-shell-DOy53Y0s.css +0 -1
- package/dist/simulator/assets/device-shell-Sbkjw8Nb.js +0 -2
|
@@ -341,6 +341,49 @@ function installSimulatorBridge() {
|
|
|
341
341
|
// src/preload/runtime/custom-apis.ts
|
|
342
342
|
var import_electron2 = require("electron");
|
|
343
343
|
|
|
344
|
+
// ../dimina-electron-runtime/dist/shared/bridge-channels.js
|
|
345
|
+
var BRIDGE_CHANNELS = {
|
|
346
|
+
SPAWN: "dmb:spawn",
|
|
347
|
+
DISPOSE: "dmb:dispose",
|
|
348
|
+
PAGE_OPEN: "dmb:page:open",
|
|
349
|
+
PAGE_CLOSE: "dmb:page:close",
|
|
350
|
+
PAGE_LIFECYCLE: "dmb:page:lifecycle",
|
|
351
|
+
NAV_CALLBACK: "dmb:nav:callback",
|
|
352
|
+
SERVICE_INVOKE: "dmb:service:invoke",
|
|
353
|
+
SERVICE_PUBLISH: "dmb:service:publish",
|
|
354
|
+
RENDER_INVOKE: "dmb:render:invoke",
|
|
355
|
+
RENDER_PUBLISH: "dmb:render:publish",
|
|
356
|
+
TO_SERVICE: "dmb:to-service",
|
|
357
|
+
TO_RENDER: "dmb:to-render",
|
|
358
|
+
SIMULATOR_API: "dmb:simulator-api",
|
|
359
|
+
/** simulator → main: ack of an API_CALL request (carries success/fail args). */
|
|
360
|
+
API_RESPONSE: "dmb:api:response",
|
|
361
|
+
/**
|
|
362
|
+
* simulator webview preload → main (sendSync): "is native-host mode on?".
|
|
363
|
+
* The guest preload can't read the launch `process.env`, so it asks main
|
|
364
|
+
* (which can) at install time. Reply is `e.returnValue = boolean`.
|
|
365
|
+
*/
|
|
366
|
+
NATIVE_HOST_ENABLED: "dmb:native-host-enabled",
|
|
367
|
+
/**
|
|
368
|
+
* simulator (DeviceShell) → main: the visible top-of-stack page bridgeId.
|
|
369
|
+
* Main has no z-order concept — the active page lives only in DeviceShell's
|
|
370
|
+
* ShellState — so devtools panels / automation that must target "the current
|
|
371
|
+
* page's render webContents" resolve it through this signal. Fire-and-forget.
|
|
372
|
+
*/
|
|
373
|
+
ACTIVE_PAGE: "dmb:active-page",
|
|
374
|
+
/**
|
|
375
|
+
* simulator (DeviceShell) → main: the FULL ordered page stack (bottom→top)
|
|
376
|
+
* whenever it changes. Main has no stack of its own (it only learns the
|
|
377
|
+
* active bridgeId via ACTIVE_PAGE), so automation's `App.getPageStack` needs
|
|
378
|
+
* this to report multi-page stacks. Fire-and-forget.
|
|
379
|
+
*/
|
|
380
|
+
PAGE_STACK: "dmb:page-stack"
|
|
381
|
+
};
|
|
382
|
+
var SimulatorCustomApiBridgeChannel = {
|
|
383
|
+
Request: "simulator:custom-apis:bridge-request",
|
|
384
|
+
Response: "simulator:custom-apis:bridge-response"
|
|
385
|
+
};
|
|
386
|
+
|
|
344
387
|
// src/shared/ipc-channels.ts
|
|
345
388
|
var SimulatorChannel = {
|
|
346
389
|
// Ask main to create the simulator as a top-level WebContentsView (so nested
|
|
@@ -365,10 +408,6 @@ var SimulatorChannel = {
|
|
|
365
408
|
// string (same bare format as `getCurrentPagePath`), or '' when unknown.
|
|
366
409
|
CurrentPage: "simulator:current-page"
|
|
367
410
|
};
|
|
368
|
-
var SimulatorCustomApiBridgeChannel = {
|
|
369
|
-
Request: "simulator:custom-apis:bridge-request",
|
|
370
|
-
Response: "simulator:custom-apis:bridge-response"
|
|
371
|
-
};
|
|
372
411
|
|
|
373
412
|
// src/preload/runtime/custom-apis.ts
|
|
374
413
|
var LIST_RETRY_INTERVAL_MS = 150;
|
|
@@ -654,7 +693,7 @@ function createAppDataSource() {
|
|
|
654
693
|
};
|
|
655
694
|
}
|
|
656
695
|
|
|
657
|
-
//
|
|
696
|
+
// ../dimina-electron-runtime/dist/shared/request-core.js
|
|
658
697
|
var DEFAULT_REQUEST_TIMEOUT_MS = 6e4;
|
|
659
698
|
var MAX_TIMEOUT_MS = 2147483647;
|
|
660
699
|
function resolveTimeoutBudgetMs(timeout) {
|
|
@@ -664,9 +703,11 @@ function resolveTimeoutBudgetMs(timeout) {
|
|
|
664
703
|
function buildHeaders(header) {
|
|
665
704
|
const headers = new Headers();
|
|
666
705
|
for (const [key, value] of Object.entries(header ?? {})) {
|
|
667
|
-
if (value != null)
|
|
706
|
+
if (value != null)
|
|
707
|
+
headers.set(key, String(value));
|
|
668
708
|
}
|
|
669
|
-
if (!headers.has("content-type"))
|
|
709
|
+
if (!headers.has("content-type"))
|
|
710
|
+
headers.set("content-type", "application/json");
|
|
670
711
|
return headers;
|
|
671
712
|
}
|
|
672
713
|
function appendQueryParams(url, data) {
|
|
@@ -678,7 +719,8 @@ function appendQueryParams(url, data) {
|
|
|
678
719
|
return resolved.toString();
|
|
679
720
|
}
|
|
680
721
|
function encodeBody(data, contentType) {
|
|
681
|
-
if (typeof data === "string")
|
|
722
|
+
if (typeof data === "string")
|
|
723
|
+
return data;
|
|
682
724
|
if (contentType.includes("application/x-www-form-urlencoded")) {
|
|
683
725
|
const form = new URLSearchParams();
|
|
684
726
|
for (const [key, value] of Object.entries(data)) {
|
|
@@ -693,7 +735,8 @@ async function decodeResponseData(response, dataType, responseType) {
|
|
|
693
735
|
return response.arrayBuffer();
|
|
694
736
|
}
|
|
695
737
|
const text = await response.text();
|
|
696
|
-
if (dataType !== "json")
|
|
738
|
+
if (dataType !== "json")
|
|
739
|
+
return text;
|
|
697
740
|
try {
|
|
698
741
|
return JSON.parse(text);
|
|
699
742
|
} catch {
|
|
@@ -717,14 +760,16 @@ function performRequest(opts, callbacks) {
|
|
|
717
760
|
init.signal = controller.signal;
|
|
718
761
|
let settled = false;
|
|
719
762
|
function settleSuccess(res) {
|
|
720
|
-
if (settled)
|
|
763
|
+
if (settled)
|
|
764
|
+
return;
|
|
721
765
|
settled = true;
|
|
722
766
|
clearTimeout(timer);
|
|
723
767
|
callbacks.success?.(res);
|
|
724
768
|
callbacks.complete?.(res);
|
|
725
769
|
}
|
|
726
770
|
function settleFail(err) {
|
|
727
|
-
if (settled)
|
|
771
|
+
if (settled)
|
|
772
|
+
return;
|
|
728
773
|
settled = true;
|
|
729
774
|
clearTimeout(timer);
|
|
730
775
|
callbacks.fail?.(err);
|
|
@@ -909,44 +954,19 @@ function setupApiCompatHook() {
|
|
|
909
954
|
// src/preload/runtime/native-host.ts
|
|
910
955
|
var import_electron5 = require("electron");
|
|
911
956
|
|
|
912
|
-
//
|
|
913
|
-
var
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
TO_RENDER: "dmb:to-render",
|
|
926
|
-
SIMULATOR_API: "dmb:simulator-api",
|
|
927
|
-
/** simulator → main: ack of an API_CALL request (carries success/fail args). */
|
|
928
|
-
API_RESPONSE: "dmb:api:response",
|
|
929
|
-
/**
|
|
930
|
-
* simulator webview preload → main (sendSync): "is native-host mode on?".
|
|
931
|
-
* The guest preload can't read the launch `process.env`, so it asks main
|
|
932
|
-
* (which can) at install time. Reply is `e.returnValue = boolean`.
|
|
933
|
-
*/
|
|
934
|
-
NATIVE_HOST_ENABLED: "dmb:native-host-enabled",
|
|
935
|
-
/**
|
|
936
|
-
* simulator (DeviceShell) → main: the visible top-of-stack page bridgeId.
|
|
937
|
-
* Main has no z-order concept — the active page lives only in DeviceShell's
|
|
938
|
-
* ShellState — so devtools panels / automation that must target "the current
|
|
939
|
-
* page's render webContents" resolve it through this signal. Fire-and-forget.
|
|
940
|
-
*/
|
|
941
|
-
ACTIVE_PAGE: "dmb:active-page",
|
|
942
|
-
/**
|
|
943
|
-
* simulator (DeviceShell) → main: the FULL ordered page stack (bottom→top)
|
|
944
|
-
* whenever it changes. Main has no stack of its own (it only learns the
|
|
945
|
-
* active bridgeId via ACTIVE_PAGE), so automation's `App.getPageStack` needs
|
|
946
|
-
* this to report multi-page stacks. Fire-and-forget.
|
|
947
|
-
*/
|
|
948
|
-
PAGE_STACK: "dmb:page-stack"
|
|
949
|
-
};
|
|
957
|
+
// ../dimina-electron-runtime/dist/shared/dmb-resource-url.js
|
|
958
|
+
var DMB_SDK_PREFIX = "/__sdk__/";
|
|
959
|
+
function buildRenderHostDocumentUrl(opts) {
|
|
960
|
+
const url = new URL(`dmb-resource://${opts.bridgeId}${DMB_SDK_PREFIX}render-host/pageFrame.html`);
|
|
961
|
+
url.searchParams.set("bridgeId", opts.bridgeId);
|
|
962
|
+
url.searchParams.set("appId", opts.appId);
|
|
963
|
+
url.searchParams.set("pagePath", opts.pagePath);
|
|
964
|
+
if (opts.isTab)
|
|
965
|
+
url.searchParams.set("isTab", "1");
|
|
966
|
+
if (opts.backgroundColor)
|
|
967
|
+
url.searchParams.set("bgColor", opts.backgroundColor);
|
|
968
|
+
return url.toString();
|
|
969
|
+
}
|
|
950
970
|
|
|
951
971
|
// src/preload/runtime/native-host.ts
|
|
952
972
|
function queryNativeHostConfig() {
|
|
@@ -990,13 +1010,7 @@ function buildBridge2(cfg) {
|
|
|
990
1010
|
import_electron5.ipcRenderer.send(BRIDGE_CHANNELS.PAGE_STACK, payload);
|
|
991
1011
|
},
|
|
992
1012
|
createRenderHostUrl(opts) {
|
|
993
|
-
|
|
994
|
-
url.searchParams.set("bridgeId", opts.bridgeId);
|
|
995
|
-
url.searchParams.set("appId", opts.appId);
|
|
996
|
-
url.searchParams.set("pagePath", opts.pagePath);
|
|
997
|
-
if (opts.isTab) url.searchParams.set("isTab", "1");
|
|
998
|
-
if (opts.backgroundColor) url.searchParams.set("bgColor", opts.backgroundColor);
|
|
999
|
-
return url.toString();
|
|
1013
|
+
return buildRenderHostDocumentUrl(opts);
|
|
1000
1014
|
},
|
|
1001
1015
|
renderPreloadUrl: cfg.renderPreloadUrl,
|
|
1002
1016
|
device: cfg.device,
|
|
@@ -1017,12 +1031,25 @@ function installNativeHostBridge() {
|
|
|
1017
1031
|
return exposeOnMainWorld("__diminaNativeHost", buildBridge2(cfg));
|
|
1018
1032
|
}
|
|
1019
1033
|
|
|
1034
|
+
// src/preload/runtime/clipboard.ts
|
|
1035
|
+
var import_electron6 = require("electron");
|
|
1036
|
+
function buildBridge3() {
|
|
1037
|
+
return {
|
|
1038
|
+
readText: () => import_electron6.clipboard.readText(),
|
|
1039
|
+
writeText: (text) => import_electron6.clipboard.writeText(text)
|
|
1040
|
+
};
|
|
1041
|
+
}
|
|
1042
|
+
function installClipboardBridge() {
|
|
1043
|
+
return exposeOnMainWorld("__diminaClipboard", buildBridge3());
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1020
1046
|
// src/preload/windows/simulator.ts
|
|
1021
1047
|
setupApiCompatHook();
|
|
1022
1048
|
installSimulatorBridge();
|
|
1023
1049
|
installCustomApisBridge();
|
|
1024
1050
|
installTempFileBridge();
|
|
1025
1051
|
installConsoleInstrumentation();
|
|
1052
|
+
installClipboardBridge();
|
|
1026
1053
|
installNativeHostBridge();
|
|
1027
1054
|
createAppDataSource().start(() => {
|
|
1028
1055
|
});
|