( session: CDPSession, )
| 133 | } |
| 134 | |
| 135 | export async function createTargetUniverse( |
| 136 | session: CDPSession, |
| 137 | ): Promise<TargetUniverse> { |
| 138 | const settingStorage = new DevTools.Common.Settings.SettingsStorage({}); |
| 139 | const universe = new DevTools.Foundation.Universe.Universe({ |
| 140 | settingsCreationOptions: { |
| 141 | syncedStorage: settingStorage, |
| 142 | globalStorage: settingStorage, |
| 143 | localStorage: settingStorage, |
| 144 | settingRegistrations: |
| 145 | DevTools.Common.SettingRegistration.getRegisteredSettings(), |
| 146 | }, |
| 147 | overrideAutoStartModels: new Set([DevTools.DebuggerModel]), |
| 148 | }); |
| 149 | |
| 150 | const connection = new PuppeteerDevToolsConnection(session); |
| 151 | |
| 152 | const targetManager = universe.context.get(DevTools.TargetManager); |
| 153 | |
| 154 | targetManager.observeModels(DevTools.DebuggerModel, SKIP_ALL_PAUSES); |
| 155 | targetManager.observeModels( |
| 156 | DevTools.NetworkManager.NetworkManager, |
| 157 | DISABLE_NETWORK, |
| 158 | ); |
| 159 | |
| 160 | const target = targetManager.createTarget( |
| 161 | 'main', |
| 162 | '', |
| 163 | 'frame' as any, // eslint-disable-line @typescript-eslint/no-explicit-any |
| 164 | /* parentTarget */ null, |
| 165 | session.id(), |
| 166 | undefined, |
| 167 | connection, |
| 168 | ); |
| 169 | return {target, universe, session}; |
| 170 | } |
| 171 | |
| 172 | // We don't want to pause any DevTools universe session ever on the MCP side. |
| 173 | // |
no test coverage detected