@dimina-kit/devtools 0.4.0-dev.20260824071518 → 0.4.0-dev.20260828092243

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/main/api.d.ts +1 -1
  2. package/dist/main/app/app.js +55 -2
  3. package/dist/main/index.bundle.js +887 -234
  4. package/dist/main/ipc/index.d.ts +2 -0
  5. package/dist/main/ipc/index.js +2 -0
  6. package/dist/main/ipc/popover.js +1 -1
  7. package/dist/main/ipc/project-create.d.ts +15 -0
  8. package/dist/main/ipc/project-create.js +26 -0
  9. package/dist/main/ipc/projects.d.ts +1 -1
  10. package/dist/main/ipc/projects.js +11 -0
  11. package/dist/main/ipc/settings.js +2 -1
  12. package/dist/main/ipc/simulator-module.d.ts +4 -3
  13. package/dist/main/ipc/simulator-module.js +4 -5
  14. package/dist/main/ipc/tooltip.js +1 -1
  15. package/dist/main/ipc/views.d.ts +15 -1
  16. package/dist/main/ipc/views.js +61 -4
  17. package/dist/main/runtime/miniapp-runtime.d.ts +87 -19
  18. package/dist/main/services/notifications/renderer-notifier.d.ts +30 -1
  19. package/dist/main/services/notifications/renderer-notifier.js +23 -1
  20. package/dist/main/services/projects/project-repository.d.ts +4 -1
  21. package/dist/main/services/projects/project-repository.js +63 -5
  22. package/dist/main/services/update/update-manager.d.ts +17 -3
  23. package/dist/main/services/update/update-manager.js +25 -6
  24. package/dist/main/services/views/host-dialog-port-channel.d.ts +18 -0
  25. package/dist/main/services/views/host-dialog-port-channel.js +15 -0
  26. package/dist/main/services/views/host-dialog-session-runtime.d.ts +10 -0
  27. package/dist/main/services/views/host-dialog-session-runtime.js +17 -0
  28. package/dist/main/services/views/host-dialog-view.d.ts +95 -0
  29. package/dist/main/services/views/host-dialog-view.js +147 -0
  30. package/dist/main/services/views/host-sidebar-port-channel.d.ts +18 -0
  31. package/dist/main/services/views/host-sidebar-port-channel.js +15 -0
  32. package/dist/main/services/views/host-sidebar-session-runtime.d.ts +10 -0
  33. package/dist/main/services/views/host-sidebar-session-runtime.js +17 -0
  34. package/dist/main/services/views/host-sidebar-view.d.ts +59 -0
  35. package/dist/main/services/views/host-sidebar-view.js +44 -0
  36. package/dist/main/services/views/host-slot-port-channel.d.ts +107 -0
  37. package/dist/main/services/views/host-slot-port-channel.js +261 -0
  38. package/dist/main/services/views/host-slot-session-runtime.d.ts +40 -0
  39. package/dist/main/services/views/host-slot-session-runtime.js +50 -0
  40. package/dist/main/services/views/host-slot-view.d.ts +109 -0
  41. package/dist/main/services/views/host-slot-view.js +147 -0
  42. package/dist/main/services/views/host-toolbar-port-channel.d.ts +6 -91
  43. package/dist/main/services/views/host-toolbar-port-channel.js +10 -243
  44. package/dist/main/services/views/host-toolbar-session-runtime.d.ts +5 -30
  45. package/dist/main/services/views/host-toolbar-session-runtime.js +9 -47
  46. package/dist/main/services/views/host-toolbar-view.d.ts +34 -7
  47. package/dist/main/services/views/host-toolbar-view.js +30 -224
  48. package/dist/main/services/views/managed-web-contents-view.d.ts +48 -0
  49. package/dist/main/services/views/managed-web-contents-view.js +123 -0
  50. package/dist/main/services/views/overlay-panels-view.d.ts +23 -0
  51. package/dist/main/services/views/overlay-panels-view.js +93 -4
  52. package/dist/main/services/views/placement-reconciler.d.ts +14 -2
  53. package/dist/main/services/views/placement-reconciler.js +27 -0
  54. package/dist/main/services/views/placement-test-driver.d.ts +1 -0
  55. package/dist/main/services/views/placement-test-driver.js +3 -0
  56. package/dist/main/services/views/view-manager-devtools-host-test-fixtures.js +3 -1
  57. package/dist/main/services/views/view-manager.d.ts +10 -78
  58. package/dist/main/services/views/view-manager.js +34 -3
  59. package/dist/main/utils/paths.d.ts +4 -0
  60. package/dist/main/utils/paths.js +4 -0
  61. package/dist/main/utils/sender-policy.js +10 -0
  62. package/dist/native-host/common/common.js +65 -62
  63. package/dist/native-host/render/render.js +2230 -2052
  64. package/dist/native-host/service/service.js +2 -2
  65. package/dist/preload/runtime/host-dialog-advertiser.d.ts +22 -0
  66. package/dist/preload/runtime/host-dialog-advertiser.js +37 -0
  67. package/dist/preload/runtime/host-dialog-port.d.ts +44 -0
  68. package/dist/preload/runtime/host-dialog-port.js +53 -0
  69. package/dist/preload/runtime/host-dialog-runtime.d.ts +28 -0
  70. package/dist/preload/runtime/host-dialog-runtime.js +36 -0
  71. package/dist/preload/runtime/host-sidebar-advertiser.d.ts +19 -0
  72. package/dist/preload/runtime/host-sidebar-advertiser.js +35 -0
  73. package/dist/preload/runtime/host-sidebar-port.d.ts +44 -0
  74. package/dist/preload/runtime/host-sidebar-port.js +53 -0
  75. package/dist/preload/runtime/host-sidebar-runtime.d.ts +28 -0
  76. package/dist/preload/runtime/host-sidebar-runtime.js +36 -0
  77. package/dist/preload/runtime/host-slot-port-bridge.d.ts +18 -0
  78. package/dist/preload/runtime/host-slot-port-bridge.js +112 -0
  79. package/dist/preload/runtime/host-toolbar-advertiser.d.ts +5 -13
  80. package/dist/preload/runtime/host-toolbar-advertiser.js +18 -38
  81. package/dist/preload/runtime/host-toolbar-port.d.ts +9 -0
  82. package/dist/preload/runtime/host-toolbar-port.js +11 -95
  83. package/dist/preload/runtime/wait-for-slot-root.d.ts +20 -0
  84. package/dist/preload/runtime/wait-for-slot-root.js +52 -0
  85. package/dist/preload/windows/host-dialog-runtime.cjs +353 -0
  86. package/dist/preload/windows/host-dialog-runtime.cjs.map +7 -0
  87. package/dist/preload/windows/host-dialog-runtime.d.ts +2 -0
  88. package/dist/preload/windows/host-dialog-runtime.js +13 -0
  89. package/dist/preload/windows/host-sidebar-runtime.cjs +354 -0
  90. package/dist/preload/windows/host-sidebar-runtime.cjs.map +7 -0
  91. package/dist/preload/windows/host-sidebar-runtime.d.ts +2 -0
  92. package/dist/preload/windows/host-sidebar-runtime.js +13 -0
  93. package/dist/preload/windows/host-toolbar-runtime.cjs +134 -51
  94. package/dist/preload/windows/host-toolbar-runtime.cjs.map +3 -3
  95. package/dist/preload/windows/simulator.cjs.map +1 -1
  96. package/dist/renderer/assets/button-DsNqZm7o.js +2 -0
  97. package/dist/renderer/assets/constants-D7DfVqMp.js +2 -0
  98. package/dist/renderer/assets/constants-D8zsejFq.js +2 -0
  99. package/dist/renderer/assets/createLucideIcon-CYJeT1ji.js +2 -0
  100. package/dist/renderer/assets/dialog-pT4qWmka.js +46 -0
  101. package/dist/renderer/assets/dist-o70xmpc1.js +2 -0
  102. package/dist/renderer/assets/hostSidebarDefault-NvGZlE9O.js +2 -0
  103. package/dist/renderer/assets/index-zErhG3ta.js +5 -0
  104. package/dist/renderer/assets/input-4QxTXMZN.js +2 -0
  105. package/dist/renderer/assets/ipc-channels-overlays-Blr5TNoB.js +2 -0
  106. package/dist/renderer/assets/jsx-runtime-B-3rq1y5.css +1 -0
  107. package/dist/renderer/assets/jsx-runtime-CqVdW3eg.js +9 -0
  108. package/dist/renderer/assets/popover-CJiSWwuE.js +2 -0
  109. package/dist/renderer/assets/project-api-DZ1Zi6EC.js +2 -0
  110. package/dist/renderer/assets/projectCreateDialog-DMWNhw_1.js +2 -0
  111. package/dist/renderer/assets/select-C86pNcsu.js +2 -0
  112. package/dist/renderer/assets/settings-BoI8mLT1.js +2 -0
  113. package/dist/renderer/assets/settings-api-Bs_g4NHs.js +2 -0
  114. package/dist/renderer/assets/settings-tab-bar-DHLLygqv.js +2 -0
  115. package/dist/renderer/assets/tooltip-BhAyY0T4.js +2 -0
  116. package/dist/renderer/assets/types-YYjkvane.js +2 -0
  117. package/dist/renderer/assets/updateDialog-DPum3wx1.js +2 -0
  118. package/dist/renderer/assets/utils-kfQov6Pa.js +2 -0
  119. package/dist/renderer/assets/view-api-DFhb2R8-.js +2 -0
  120. package/dist/renderer/assets/{workbenchSettings-oq_EyfKf.js → workbenchSettings-DrajRQUk.js} +3 -3
  121. package/dist/renderer/entries/host-sidebar-default/index.html +21 -0
  122. package/dist/renderer/entries/main/index.html +15 -8
  123. package/dist/renderer/entries/popover/index.html +10 -7
  124. package/dist/renderer/entries/project-create-dialog/index.html +27 -0
  125. package/dist/renderer/entries/settings/index.html +10 -7
  126. package/dist/renderer/entries/tooltip/index.html +5 -4
  127. package/dist/renderer/entries/update-dialog/index.html +25 -0
  128. package/dist/renderer/entries/workbench-settings/index.html +11 -7
  129. package/dist/service-host/preload.cjs +10 -0
  130. package/dist/shared/constants.d.ts +22 -0
  131. package/dist/shared/constants.js +22 -0
  132. package/dist/shared/ipc-channels-overlays.d.ts +156 -0
  133. package/dist/shared/ipc-channels-overlays.js +186 -0
  134. package/dist/shared/ipc-channels.d.ts +0 -77
  135. package/dist/shared/ipc-channels.js +0 -98
  136. package/dist/shared/ipc-schemas.d.ts +33 -0
  137. package/dist/shared/ipc-schemas.js +41 -0
  138. package/dist/shared/types.d.ts +10 -0
  139. package/dist/shared/view-ids.d.ts +7 -0
  140. package/dist/shared/view-ids.js +10 -0
  141. package/package.json +8 -8
  142. package/dist/renderer/assets/constants-Bdz0LHdy.js +0 -2
  143. package/dist/renderer/assets/index-CtznrmHR.js +0 -49
  144. package/dist/renderer/assets/input-Dmm6nob5.js +0 -2
  145. package/dist/renderer/assets/ipc-transport-BOg0gR9W.js +0 -9
  146. package/dist/renderer/assets/ipc-transport-DgQhZaE9.css +0 -1
  147. package/dist/renderer/assets/popover-Cd1FEGOX.js +0 -2
  148. package/dist/renderer/assets/select-BaYox7If.js +0 -2
  149. package/dist/renderer/assets/settings-BXvwuFaz.js +0 -2
  150. package/dist/renderer/assets/settings-api-Bo9GbYqs.js +0 -2
  151. package/dist/renderer/assets/settings-tab-bar-Beia6lMr.js +0 -2
  152. package/dist/renderer/assets/tooltip-DfQqK3Sk.js +0 -2
  153. package/dist/renderer/assets/view-api-nn69je7A.js +0 -2
@@ -2,7 +2,7 @@ export { launch, buildDefaultMenu, openSettingsWindow } from './app/launch.js';
2
2
  export type { WorkbenchAppInstance } from './app/app.js';
3
3
  export { suppressEpipe, setupCdpPort } from './app/bootstrap.js';
4
4
  export { asMiniappRuntime } from './runtime/miniapp-runtime.js';
5
- export type { MiniappRuntime, MiniappSessionAppInfo, DiminaHostToolbarPageBridge, } from './runtime/miniapp-runtime.js';
5
+ export type { MiniappRuntime, MiniappSessionAppInfo, DiminaHostToolbarPageBridge, DiminaHostSidebarPageBridge, DiminaHostDialogPageBridge, } from './runtime/miniapp-runtime.js';
6
6
  export { createWorkbenchContext } from './services/workbench-context.js';
7
7
  export type { WorkbenchContext, CreateContextOptions } from './services/workbench-context.js';
8
8
  export { createMainWindow } from './windows/main-window/index.js';
@@ -4,6 +4,7 @@ import { registerProjectFsIpc } from '../ipc/project-fs.js';
4
4
  import { app, BrowserWindow, nativeImage, session } from 'electron';
5
5
  import fs from 'fs';
6
6
  import path from 'path';
7
+ import { HOST_SIDEBAR_DEFAULT_WIDTH } from '../../shared/constants.js';
7
8
  import { rendererDir as defaultRendererDir, defaultPreloadPath, devtoolsPackageRoot } from '../utils/paths.js';
8
9
  import { installThemeBackgroundSync } from '../utils/theme.js';
9
10
  import { createMainWindow, wireMainWindowEvents } from '../windows/main-window/index.js';
@@ -17,7 +18,7 @@ import { createWorkbenchContext } from '../services/workbench-context.js';
17
18
  import { setupCompileWorkerStandby } from '../services/compile-standby.js';
18
19
  import { loadWorkbenchSettings, applyTheme } from '../services/settings/index.js';
19
20
  import { installAppMenu } from '../menu/index.js';
20
- import { registerAppIpc, registerInternalDevtoolsIpc, registerTooltipIpc, popoverModule, projectsModule, sessionModule, settingsModule, simulatorModule, } from '../ipc/index.js';
21
+ import { registerAppIpc, registerInternalDevtoolsIpc, registerTooltipIpc, registerProjectCreateIpc, registerViewsIpc, popoverModule, projectsModule, sessionModule, settingsModule, simulatorModule, } from '../ipc/index.js';
21
22
  import { startAutomationServer } from '../services/automation/index.js';
22
23
  import { startMcpServer, setNativeHost, setActiveBridgeId, setNativeOverviewProvider, } from '../services/mcp/index.js';
23
24
  import { setupSimulatorStorage } from '../services/simulator-storage/index.js';
@@ -411,6 +412,19 @@ onInstanceCreated) {
411
412
  // overlay is core UI chrome (every toolbar in this app relies on it), not a
412
413
  // host-configurable feature.
413
414
  context.registry.add(registerTooltipIpc(context));
415
+ // Unconditional: the project-create dialog is core UI chrome (the built-in
416
+ // "新建项目" flow every host falls back to), not a host-configurable feature.
417
+ context.registry.add(registerProjectCreateIpc(context));
418
+ // Unconditional (not a toggleable BUILTIN_MODULES entry): placement/host-
419
+ // slot IPC has no real dependency on the simulator module — `ctx.views`
420
+ // (ViewManager) is constructed unconditionally regardless of
421
+ // `modules.simulator`, and host-sidebar in particular lives on the
422
+ // project-list page, unrelated to the simulator webview. Every renderer
423
+ // entry point also blocks its first render on `AllocatePlacementGeneration`
424
+ // (see renderer-placement-generation.ts) — gating any of this behind the
425
+ // simulator toggle would strand a host that disables it on the fatal
426
+ // boot-failure page, or leave placement silently non-functional.
427
+ context.registry.add(registerViewsIpc(context));
414
428
  // Referer/CORS webRequest policy for the simulator runtime's sessions (shared
415
429
  // fallback + every per-project partition). Registered into the context
416
430
  // registry so its configurator + per-session listeners are torn down with the
@@ -497,13 +511,52 @@ onInstanceCreated) {
497
511
  instance.registerSimulatorApi('login', async () => {
498
512
  return 'hello';
499
513
  });
514
+ // devtools' own default content for the host-sidebar slot: a narrow icon
515
+ // rail (logo + 小程序/小游戏 toggle) filtering the project-list grid by
516
+ // `Project.type`. Loaded BEFORE `config.onSetup` runs below, so any
517
+ // downstream `loadURL`/`loadFile` call inside onSetup necessarily happens
518
+ // later and naturally supersedes this default via plain chronological
519
+ // ordering — no override flag needed.
520
+ context.registry.add(context.views.hostSidebar.onMessage('project-category-selected', (payload) => {
521
+ const category = payload?.category;
522
+ if (category !== 'miniprogram' && category !== 'minigame')
523
+ return;
524
+ context.notify.hostSidebarCategorySelected(category);
525
+ }));
526
+ context.views.hostSidebar
527
+ .loadFile(path.join(rendererDir, 'entries/host-sidebar-default/index.html'))
528
+ .catch((err) => {
529
+ console.warn('[workbench] failed to load host-sidebar default content:', err);
530
+ });
531
+ // Seed the notified width with the rail's own known intrinsic width
532
+ // (`HOST_SIDEBAR_DEFAULT_WIDTH`) instead of leaving it at 0 until the
533
+ // rail's in-page advertiser reports back. That report can never arrive on
534
+ // its own: the placeholder above only becomes "desired visible" once a
535
+ // nonzero width is known (project-list-screen.tsx), attach only happens
536
+ // for a "desired visible" view (placement-reconciler.ts), and the rail's
537
+ // advertiser (view-anchor's measure-loop.ts) only ever fires via
538
+ // `requestAnimationFrame`, which Chromium never schedules for a
539
+ // WebContentsView that was never attached — a structural deadlock, not a
540
+ // slow-to-resolve race. `setWidthMode({fixed})` pushes the seed
541
+ // synchronously (no attach/rAF dependency) and, critically, retains it in
542
+ // `getHostSidebarWidth()` too, so a renderer that mounts and pulls before
543
+ // any push replays the real seed instead of a stale 0. Flipping back to
544
+ // 'auto' immediately after, before anything has attached or advertised, is
545
+ // a same-tick no-op past the seed (`setExtentMode`'s reapply branch only
546
+ // fires once something has actually been advertised) — it leaves the slot
547
+ // in 'auto' for whichever content ends up loaded (this rail's own later
548
+ // report, or a downstream replacement's), not pinned.
549
+ context.views.hostSidebar.setWidthMode({ fixed: HOST_SIDEBAR_DEFAULT_WIDTH });
550
+ context.views.hostSidebar.setWidthMode('auto');
500
551
  if (config.onSetup) {
501
552
  await config.onSetup(instance);
502
553
  }
503
554
  if (config.updateChecker) {
504
555
  instance.updateManager = new UpdateManager({
505
556
  checker: config.updateChecker,
506
- mainWindow,
557
+ showUpdatePanel: (info) => context.views.showUpdateDialog(info),
558
+ notifyDownloadProgress: (percent) => context.views.notifyUpdateDownloadProgress(percent),
559
+ hideUpdatePanel: () => context.views.hideUpdateDialog(),
507
560
  senderPolicy: context.senderPolicy,
508
561
  checkInterval: config.updateOptions?.checkInterval,
509
562
  initialDelay: config.updateOptions?.initialDelay,