diff --git a/java/debugger/backend/intellij.java.debugger.impl.backend.iml b/java/debugger/backend/intellij.java.debugger.impl.backend.iml
index 13581464c39e..816fe7407e97 100644
--- a/java/debugger/backend/intellij.java.debugger.impl.backend.iml
+++ b/java/debugger/backend/intellij.java.debugger.impl.backend.iml
@@ -50,5 +50,7 @@
+
+
\ No newline at end of file
diff --git a/java/debugger/backend/src/com/intellij/java/debugger/impl/backend/BackendJavaDebuggerSessionApi.kt b/java/debugger/backend/src/com/intellij/java/debugger/impl/backend/BackendJavaDebuggerSessionApi.kt
index dfaeaa5454e8..d6a3b5e3e18c 100644
--- a/java/debugger/backend/src/com/intellij/java/debugger/impl/backend/BackendJavaDebuggerSessionApi.kt
+++ b/java/debugger/backend/src/com/intellij/java/debugger/impl/backend/BackendJavaDebuggerSessionApi.kt
@@ -8,11 +8,11 @@ import com.intellij.debugger.engine.executeOnDMT
import com.intellij.execution.filters.ExceptionFilters
import com.intellij.ide.ui.icons.rpcId
import com.intellij.java.debugger.impl.shared.rpc.*
+import com.intellij.platform.xdebugger.impl.rpc.toRpc
import com.intellij.unscramble.CompoundDumpItem
import com.intellij.unscramble.DumpItem
import com.intellij.xdebugger.impl.rpc.XDebugSessionId
import com.intellij.xdebugger.impl.rpc.models.findValue
-import com.intellij.xdebugger.impl.rpc.toRpc
import fleet.util.channels.use
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Dispatchers
diff --git a/java/debugger/frontend/intellij.java.debugger.impl.frontend.iml b/java/debugger/frontend/intellij.java.debugger.impl.frontend.iml
index 70782b975821..33c0a04654f2 100644
--- a/java/debugger/frontend/intellij.java.debugger.impl.frontend.iml
+++ b/java/debugger/frontend/intellij.java.debugger.impl.frontend.iml
@@ -45,5 +45,7 @@
+
+
\ No newline at end of file
diff --git a/java/debugger/impl/intellij.java.debugger.impl.iml b/java/debugger/impl/intellij.java.debugger.impl.iml
index 9c4cf8286be7..1903843454b1 100644
--- a/java/debugger/impl/intellij.java.debugger.impl.iml
+++ b/java/debugger/impl/intellij.java.debugger.impl.iml
@@ -86,6 +86,7 @@
+
diff --git a/java/debugger/shared/intellij.java.debugger.impl.shared.iml b/java/debugger/shared/intellij.java.debugger.impl.shared.iml
index 0578bfdcf4cf..6d5ee63d1d76 100644
--- a/java/debugger/shared/intellij.java.debugger.impl.shared.iml
+++ b/java/debugger/shared/intellij.java.debugger.impl.shared.iml
@@ -50,5 +50,7 @@
+
+
\ No newline at end of file
diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ThreadDumpAction.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ThreadDumpAction.kt
index 0d51ecd3fd0f..d4cc64d9456e 100644
--- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ThreadDumpAction.kt
+++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/actions/ThreadDumpAction.kt
@@ -19,11 +19,11 @@ import com.intellij.openapi.project.DumbAwareAction
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.NlsSafe
import com.intellij.openapi.util.registry.Registry
+import com.intellij.platform.xdebugger.impl.rpc.toSimpleTextAttributes
import com.intellij.ui.SimpleTextAttributes
import com.intellij.unscramble.DumpItem
import com.intellij.util.BitUtil
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
-import com.intellij.xdebugger.impl.rpc.toSimpleTextAttributes
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil
import fleet.rpc.core.util.map
import kotlinx.coroutines.Dispatchers
diff --git a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/rpc/JavaDebuggerSessionApi.kt b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/rpc/JavaDebuggerSessionApi.kt
index aed0a4249e27..84c8f115cf52 100644
--- a/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/rpc/JavaDebuggerSessionApi.kt
+++ b/java/debugger/shared/src/com/intellij/java/debugger/impl/shared/rpc/JavaDebuggerSessionApi.kt
@@ -5,7 +5,7 @@ import com.intellij.execution.filters.Filter
import com.intellij.ide.ui.icons.IconId
import com.intellij.openapi.util.NlsSafe
import com.intellij.platform.rpc.RemoteApiProviderService
-import com.intellij.xdebugger.impl.rpc.SerializableSimpleTextAttributes
+import com.intellij.platform.xdebugger.impl.rpc.SerializableSimpleTextAttributes
import com.intellij.xdebugger.impl.rpc.XDebugSessionId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
diff --git a/platform/platform-resources/src/META-INF/essential-modules.xml b/platform/platform-resources/src/META-INF/essential-modules.xml
index f717466856ea..1e95441cb906 100644
--- a/platform/platform-resources/src/META-INF/essential-modules.xml
+++ b/platform/platform-resources/src/META-INF/essential-modules.xml
@@ -35,7 +35,7 @@
-
+
diff --git a/platform/xdebugger-impl/backend/intellij.platform.debugger.impl.backend.iml b/platform/xdebugger-impl/backend/intellij.platform.debugger.impl.backend.iml
index 1f55fe0ce003..f7b21488d06d 100644
--- a/platform/xdebugger-impl/backend/intellij.platform.debugger.impl.backend.iml
+++ b/platform/xdebugger-impl/backend/intellij.platform.debugger.impl.backend.iml
@@ -59,5 +59,7 @@
+
+
\ No newline at end of file
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXBreakpointApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXBreakpointApi.kt
index 584b06623e1a..574b1d0beaa2 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXBreakpointApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXBreakpointApi.kt
@@ -8,6 +8,7 @@ import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.edtWriteAction
import com.intellij.platform.project.ProjectId
import com.intellij.platform.project.findProject
+import com.intellij.platform.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.XDebuggerManager
import com.intellij.xdebugger.breakpoints.SuspendPolicy
import com.intellij.xdebugger.breakpoints.XLineBreakpoint
@@ -16,14 +17,8 @@ import com.intellij.xdebugger.impl.breakpoints.XBreakpointManagerImpl
import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy.Monolith.Companion.getEditorsProvider
import com.intellij.xdebugger.impl.breakpoints.XBreakpointUtil
import com.intellij.xdebugger.impl.breakpoints.XLineBreakpointImpl
-import com.intellij.xdebugger.impl.rpc.XBreakpointApi
-import com.intellij.xdebugger.impl.rpc.XBreakpointId
-import com.intellij.xdebugger.impl.rpc.XBreakpointTypeId
-import com.intellij.xdebugger.impl.rpc.XExpressionDto
-import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
+import com.intellij.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.models.findValue
-import com.intellij.xdebugger.impl.rpc.sourcePosition
-import com.intellij.xdebugger.impl.rpc.xExpression
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXBreakpointTypeApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXBreakpointTypeApi.kt
index 983555d49677..f13d8bec2481 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXBreakpointTypeApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXBreakpointTypeApi.kt
@@ -40,7 +40,6 @@ import kotlinx.coroutines.flow.channelFlow
import org.jetbrains.concurrency.Promise
import org.jetbrains.concurrency.await
import org.jetbrains.concurrency.resolvedPromise
-import kotlin.collections.map
internal class BackendXBreakpointTypeApi : XBreakpointTypeApi {
override suspend fun getBreakpointTypeList(project: ProjectId): XBreakpointTypeList {
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebugSessionApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebugSessionApi.kt
index 2075aa90e861..fdd03a47362e 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebugSessionApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebugSessionApi.kt
@@ -13,6 +13,7 @@ import com.intellij.ide.vfs.virtualFile
import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.readAction
import com.intellij.openapi.util.NlsContexts
+import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.ui.ColoredTextContainer
import com.intellij.ui.SimpleTextAttributes
import com.intellij.xdebugger.XSourcePosition
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerBreakpointsDialogApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerBreakpointsDialogApi.kt
index e1cc2192d122..e5181ebf3762 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerBreakpointsDialogApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerBreakpointsDialogApi.kt
@@ -4,8 +4,8 @@ package com.intellij.platform.debugger.impl.backend
import com.intellij.platform.project.ProjectId
import com.intellij.platform.project.findProject
import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory
-import com.intellij.xdebugger.impl.rpc.ShowBreakpointDialogRequest
-import com.intellij.xdebugger.impl.rpc.XDebuggerBreakpointsDialogApi
+import com.intellij.platform.xdebugger.impl.rpc.ShowBreakpointDialogRequest
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerBreakpointsDialogApi
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.channelFlow
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerEvaluatorApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerEvaluatorApi.kt
index e5b88604286f..00030f90855a 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerEvaluatorApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerEvaluatorApi.kt
@@ -16,12 +16,19 @@ import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.XDebugSessionImpl
import com.intellij.xdebugger.impl.evaluate.quick.XDebuggerDocumentOffsetEvaluator
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
-import com.intellij.xdebugger.impl.rpc.*
-import com.intellij.xdebugger.impl.rpc.XFullValueEvaluatorDto.FullValueEvaluatorLinkAttributes
+import com.intellij.platform.xdebugger.impl.rpc.*
+import com.intellij.platform.xdebugger.impl.rpc.XFullValueEvaluatorDto.FullValueEvaluatorLinkAttributes
+import com.intellij.xdebugger.impl.rpc.XExpressionDto
+import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
+import com.intellij.xdebugger.impl.rpc.XStackFrameId
+import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModelsManager
import com.intellij.xdebugger.impl.rpc.models.XStackFrameModel
import com.intellij.xdebugger.impl.rpc.models.findValue
+import com.intellij.xdebugger.impl.rpc.sourcePosition
+import com.intellij.xdebugger.impl.rpc.toRpc
+import com.intellij.xdebugger.impl.rpc.xExpression
import fleet.rpc.core.RpcFlow
import fleet.rpc.core.toRpc
import kotlinx.coroutines.*
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerLuxApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerLuxApi.kt
index a1cd0c1367c7..a26e4d1978bb 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerLuxApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerLuxApi.kt
@@ -1,6 +1,6 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.platform.debugger.impl.backend
-import com.intellij.xdebugger.impl.rpc.XDebuggerLuxApi
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerLuxApi
internal class BackendXDebuggerLuxApi : XDebuggerLuxApi
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerManagerApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerManagerApi.kt
index 4dbc6582433f..1af65b4a7a09 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerManagerApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerManagerApi.kt
@@ -19,9 +19,25 @@ import com.intellij.xdebugger.impl.XDebuggerUtilImpl.reshowInlayRunToCursor
import com.intellij.xdebugger.impl.XSteppingSuspendContext
import com.intellij.xdebugger.impl.breakpoints.XBreakpointBase
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy.Companion.useFeProxy
-import com.intellij.xdebugger.impl.rpc.*
+import com.intellij.platform.xdebugger.impl.rpc.*
+import com.intellij.xdebugger.impl.rpc.SuspendData
+import com.intellij.xdebugger.impl.rpc.XBreakpointEvent
+import com.intellij.xdebugger.impl.rpc.XBreakpointsSetDto
+import com.intellij.xdebugger.impl.rpc.XDebugSessionDataDto
+import com.intellij.xdebugger.impl.rpc.XDebugSessionDto
+import com.intellij.xdebugger.impl.rpc.XDebugSessionId
+import com.intellij.xdebugger.impl.rpc.XDebugSessionState
+import com.intellij.xdebugger.impl.rpc.XDebugSessionsList
+import com.intellij.xdebugger.impl.rpc.XDebuggerEditorsProviderDto
+import com.intellij.xdebugger.impl.rpc.XDebuggerManagerApi
+import com.intellij.xdebugger.impl.rpc.XDebuggerManagerSessionEvent
+import com.intellij.xdebugger.impl.rpc.XDebuggerSessionEvent
+import com.intellij.xdebugger.impl.rpc.XExecutionStackDto
+import com.intellij.xdebugger.impl.rpc.XSmartStepIntoHandlerDto
+import com.intellij.xdebugger.impl.rpc.XSuspendContextDto
import com.intellij.xdebugger.impl.rpc.models.findValue
import com.intellij.xdebugger.impl.rpc.models.getOrStoreGlobally
+import com.intellij.xdebugger.impl.rpc.toRpc
import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl
import fleet.rpc.core.toRpc
import kotlinx.coroutines.*
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerNavigationApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerNavigationApi.kt
index a1be4eeedb36..34bd59662236 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerNavigationApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerNavigationApi.kt
@@ -5,9 +5,9 @@ import com.intellij.openapi.application.EDT
import com.intellij.openapi.components.Service
import com.intellij.openapi.components.service
import com.intellij.openapi.project.Project
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.frame.XNavigatable
import com.intellij.xdebugger.frame.XValue
-import com.intellij.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.impl.rpc.XValueId
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
import com.intellij.xdebugger.impl.ui.tree.actions.computeSourcePositionWithTimeout
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerRemoteApiProviders.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerRemoteApiProviders.kt
index a5136dc135bc..bc191397d3b7 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerRemoteApiProviders.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerRemoteApiProviders.kt
@@ -3,21 +3,11 @@ package com.intellij.platform.debugger.impl.backend
import com.intellij.platform.debugger.impl.backend.hotswap.BackendXDebuggerHotSwapApi
import com.intellij.platform.rpc.backend.RemoteApiProvider
-import com.intellij.xdebugger.impl.rpc.XBreakpointApi
+import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.XBreakpointTypeApi
import com.intellij.xdebugger.impl.rpc.XDebugSessionApi
-import com.intellij.xdebugger.impl.rpc.XDebuggerBreakpointsDialogApi
-import com.intellij.xdebugger.impl.rpc.XDebuggerEvaluatorApi
import com.intellij.xdebugger.impl.rpc.XDebuggerHotSwapApi
-import com.intellij.xdebugger.impl.rpc.XDebuggerLuxApi
import com.intellij.xdebugger.impl.rpc.XDebuggerManagerApi
-import com.intellij.xdebugger.impl.rpc.XDebuggerNavigationApi
-import com.intellij.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
-import com.intellij.xdebugger.impl.rpc.XDebuggerValueMarkupApi
-import com.intellij.xdebugger.impl.rpc.XDebuggerValueModifierApi
-import com.intellij.xdebugger.impl.rpc.XDependentBreakpointManagerApi
-import com.intellij.xdebugger.impl.rpc.XExecutionStackApi
-import com.intellij.xdebugger.impl.rpc.XValueApi
import fleet.rpc.remoteApiDescriptor
private class BackendXDebuggerRemoteApiProviders : RemoteApiProvider {
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueLookupHintsRemoteApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueLookupHintsRemoteApi.kt
index 5ea58023bd3c..82fc72e02930 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueLookupHintsRemoteApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueLookupHintsRemoteApi.kt
@@ -21,8 +21,8 @@ import com.intellij.xdebugger.evaluation.ExpressionInfo
import com.intellij.xdebugger.evaluation.XDebuggerEvaluator
import com.intellij.xdebugger.impl.evaluate.quick.XValueHint
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
-import com.intellij.xdebugger.impl.rpc.RemoteValueHintId
-import com.intellij.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
+import com.intellij.platform.xdebugger.impl.rpc.RemoteValueHintId
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueMarkupApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueMarkupApi.kt
index 9a49af98c66c..3fae69d6bba2 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueMarkupApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueMarkupApi.kt
@@ -1,10 +1,10 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.platform.debugger.impl.backend
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.ui.JBColor
import com.intellij.xdebugger.impl.XDebugSessionImpl
import com.intellij.xdebugger.impl.frame.XValueMarkers
-import com.intellij.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.xdebugger.impl.rpc.XValueId
import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueModifierApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueModifierApi.kt
index b8e04f543ad3..d3f4ea8c7665 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueModifierApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDebuggerValueModifierApi.kt
@@ -4,7 +4,10 @@ package com.intellij.platform.debugger.impl.backend
import com.intellij.openapi.util.NlsContexts
import com.intellij.xdebugger.frame.XValueModifier
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
-import com.intellij.xdebugger.impl.rpc.*
+import com.intellij.platform.xdebugger.impl.rpc.*
+import com.intellij.xdebugger.impl.rpc.XExpressionDto
+import com.intellij.xdebugger.impl.rpc.XValueId
+import com.intellij.xdebugger.impl.rpc.xExpression
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Deferred
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDependentBreakpointManagerApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDependentBreakpointManagerApi.kt
index e7088447c3d6..1c65540a85ec 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDependentBreakpointManagerApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXDependentBreakpointManagerApi.kt
@@ -5,17 +5,17 @@ import com.intellij.openapi.application.EDT
import com.intellij.openapi.project.Project
import com.intellij.platform.project.ProjectId
import com.intellij.platform.project.findProject
+import com.intellij.platform.xdebugger.impl.rpc.XBreakpointDependenciesDto
+import com.intellij.platform.xdebugger.impl.rpc.XBreakpointDependencyDto
+import com.intellij.platform.xdebugger.impl.rpc.XBreakpointDependencyEvent
+import com.intellij.platform.xdebugger.impl.rpc.XDependentBreakpointManagerApi
import com.intellij.xdebugger.XDebuggerManager
import com.intellij.xdebugger.breakpoints.XBreakpoint
import com.intellij.xdebugger.impl.XDebuggerManagerImpl
import com.intellij.xdebugger.impl.breakpoints.XBreakpointBase
import com.intellij.xdebugger.impl.breakpoints.XDependentBreakpointListener
import com.intellij.xdebugger.impl.breakpoints.XDependentBreakpointManager
-import com.intellij.xdebugger.impl.rpc.XBreakpointDependenciesDto
-import com.intellij.xdebugger.impl.rpc.XBreakpointDependencyDto
-import com.intellij.xdebugger.impl.rpc.XBreakpointDependencyEvent
import com.intellij.xdebugger.impl.rpc.XBreakpointId
-import com.intellij.xdebugger.impl.rpc.XDependentBreakpointManagerApi
import com.intellij.xdebugger.impl.rpc.models.findValue
import fleet.rpc.core.toRpc
import kotlinx.coroutines.Dispatchers
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXExecutionStackApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXExecutionStackApi.kt
index a0b496975ab4..1e2303276c42 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXExecutionStackApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXExecutionStackApi.kt
@@ -2,9 +2,14 @@
package com.intellij.platform.debugger.impl.backend
import com.intellij.openapi.util.NlsContexts
+import com.intellij.platform.xdebugger.impl.rpc.XExecutionStackApi
+import com.intellij.platform.xdebugger.impl.rpc.XStackFrameDto
+import com.intellij.platform.xdebugger.impl.rpc.XStackFramesEvent
+import com.intellij.platform.xdebugger.impl.rpc.XValueComputeChildrenEvent
import com.intellij.xdebugger.frame.XExecutionStack
import com.intellij.xdebugger.frame.XStackFrame
-import com.intellij.xdebugger.impl.rpc.*
+import com.intellij.xdebugger.impl.rpc.XExecutionStackId
+import com.intellij.xdebugger.impl.rpc.XStackFrameId
import com.intellij.xdebugger.impl.rpc.models.findValue
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.async
diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXValueApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXValueApi.kt
index 61afa7003160..b9211f0010f7 100644
--- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXValueApi.kt
+++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXValueApi.kt
@@ -4,18 +4,16 @@ package com.intellij.platform.debugger.impl.backend
import com.intellij.ide.ui.icons.rpcId
import com.intellij.openapi.util.NlsContexts
import com.intellij.platform.util.coroutines.childScope
+import com.intellij.platform.xdebugger.impl.rpc.XFullValueEvaluatorResult
+import com.intellij.platform.xdebugger.impl.rpc.XInlineDebuggerDataDto
+import com.intellij.platform.xdebugger.impl.rpc.XValueApi
+import com.intellij.platform.xdebugger.impl.rpc.XValueComputeChildrenEvent
import com.intellij.ui.SimpleTextAttributes
import com.intellij.xdebugger.Obsolescent
import com.intellij.xdebugger.XDebuggerBundle
import com.intellij.xdebugger.XSourcePosition
-import com.intellij.xdebugger.frame.XCompositeNode
-import com.intellij.xdebugger.frame.XDebuggerTreeNodeHyperlink
+import com.intellij.xdebugger.frame.*
import com.intellij.xdebugger.frame.XFullValueEvaluator.XFullValueEvaluationCallback
-import com.intellij.xdebugger.frame.XInlineDebuggerDataCallback
-import com.intellij.xdebugger.frame.XNavigatable
-import com.intellij.xdebugger.frame.XValue
-import com.intellij.xdebugger.frame.XValueChildrenList
-import com.intellij.xdebugger.frame.XValueContainer
import com.intellij.xdebugger.impl.XDebugSessionImpl
import com.intellij.xdebugger.impl.rpc.*
import com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
diff --git a/platform/xdebugger-impl/frontend/intellij.platform.debugger.impl.frontend.iml b/platform/xdebugger-impl/frontend/intellij.platform.debugger.impl.frontend.iml
index 5bbb390f8cdc..c3c473b8637b 100644
--- a/platform/xdebugger-impl/frontend/intellij.platform.debugger.impl.frontend.iml
+++ b/platform/xdebugger-impl/frontend/intellij.platform.debugger.impl.frontend.iml
@@ -56,5 +56,7 @@
+
+
\ No newline at end of file
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointManager.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointManager.kt
index 11a76f4f8520..df082e485e08 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointManager.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointManager.kt
@@ -10,6 +10,7 @@ import com.intellij.openapi.util.Disposer
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.platform.project.projectId
import com.intellij.platform.util.coroutines.childScope
+import com.intellij.platform.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.impl.XDebuggerUtilImpl
import com.intellij.xdebugger.impl.XLineBreakpointInstallationInfo
import com.intellij.xdebugger.impl.breakpoints.*
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointProxy.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointProxy.kt
index 3990e1b263a1..0393b9fdc5e0 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointProxy.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointProxy.kt
@@ -9,19 +9,21 @@ import com.intellij.openapi.editor.markup.GutterIconRenderer
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.NlsSafe
import com.intellij.platform.util.coroutines.childScope
+import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.pom.Navigatable
import com.intellij.xdebugger.XExpression
import com.intellij.xdebugger.XSourcePosition
import com.intellij.xdebugger.breakpoints.SuspendPolicy
import com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider
-import com.intellij.xdebugger.impl.breakpoints.BreakpointGutterIconRenderer
-import com.intellij.xdebugger.impl.breakpoints.CustomizedBreakpointPresentation
+import com.intellij.xdebugger.impl.breakpoints.*
import com.intellij.xdebugger.impl.breakpoints.XBreakpointBase.calculateIcon
-import com.intellij.xdebugger.impl.breakpoints.XBreakpointManagerProxy
-import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy
-import com.intellij.xdebugger.impl.breakpoints.XBreakpointTypeProxy
-import com.intellij.xdebugger.impl.breakpoints.XLineBreakpointTypeProxy
-import com.intellij.xdebugger.impl.rpc.*
+import com.intellij.xdebugger.impl.rpc.XBreakpointCustomPresentationDto
+import com.intellij.xdebugger.impl.rpc.XBreakpointDto
+import com.intellij.xdebugger.impl.rpc.XBreakpointDtoState
+import com.intellij.xdebugger.impl.rpc.XBreakpointId
+import com.intellij.xdebugger.impl.rpc.sourcePosition
+import com.intellij.xdebugger.impl.rpc.toRpc
+import com.intellij.xdebugger.impl.rpc.xExpression
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.cancel
import kotlinx.coroutines.flow.MutableStateFlow
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointType.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointType.kt
index fabc791853e2..0ff22426245b 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointType.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXBreakpointType.kt
@@ -10,6 +10,7 @@ import com.intellij.openapi.fileEditor.TextEditor
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.platform.project.projectId
+import com.intellij.platform.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.util.ThreeState
import com.intellij.xdebugger.breakpoints.SuspendPolicy
import com.intellij.xdebugger.breakpoints.XBreakpoint
@@ -19,7 +20,6 @@ import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy
import com.intellij.xdebugger.impl.breakpoints.XBreakpointTypeProxy
import com.intellij.xdebugger.impl.breakpoints.XLineBreakpointTypeProxy
import com.intellij.xdebugger.impl.frame.XDebugManagerProxy
-import com.intellij.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.impl.rpc.XBreakpointTypeApi
import com.intellij.xdebugger.impl.rpc.XBreakpointTypeDto
import com.intellij.xdebugger.impl.rpc.XLineBreakpointTypeInfo
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDebuggerBreakpointsDialogListener.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDebuggerBreakpointsDialogListener.kt
index 1f73140cee57..74ffe800ccb7 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDebuggerBreakpointsDialogListener.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDebuggerBreakpointsDialogListener.kt
@@ -9,7 +9,7 @@ import com.intellij.openapi.diagnostic.getOrLogException
import com.intellij.openapi.project.Project
import com.intellij.platform.project.projectId
import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory
-import com.intellij.xdebugger.impl.rpc.XDebuggerBreakpointsDialogApi
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerBreakpointsDialogApi
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDebuggerSession.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDebuggerSession.kt
index 70718053f435..9775ca97158e 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDebuggerSession.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDebuggerSession.kt
@@ -39,7 +39,20 @@ import com.intellij.xdebugger.impl.XSourceKind
import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy
import com.intellij.xdebugger.impl.frame.*
import com.intellij.xdebugger.impl.inline.DebuggerInlayListener
-import com.intellij.xdebugger.impl.rpc.*
+import com.intellij.platform.xdebugger.impl.rpc.*
+import com.intellij.xdebugger.impl.rpc.SuspendData
+import com.intellij.xdebugger.impl.rpc.XDebugSessionApi
+import com.intellij.xdebugger.impl.rpc.XDebugSessionDataDto
+import com.intellij.xdebugger.impl.rpc.XDebugSessionDto
+import com.intellij.xdebugger.impl.rpc.XDebugSessionId
+import com.intellij.xdebugger.impl.rpc.XDebugSessionState
+import com.intellij.xdebugger.impl.rpc.XDebuggerSessionEvent
+import com.intellij.xdebugger.impl.rpc.XDebuggerSessionTabDto
+import com.intellij.xdebugger.impl.rpc.XDebuggerSessionTabInfo
+import com.intellij.xdebugger.impl.rpc.XDebuggerSessionTabInfoCallback
+import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
+import com.intellij.xdebugger.impl.rpc.consoleView
+import com.intellij.xdebugger.impl.rpc.sourcePosition
import com.intellij.xdebugger.impl.ui.XDebugSessionData
import com.intellij.xdebugger.impl.ui.XDebugSessionTab
import com.intellij.xdebugger.ui.XDebugTabLayouter
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDependentBreakpointManagerProxy.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDependentBreakpointManagerProxy.kt
index 791225b434b4..e4f8f3f8c4b7 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDependentBreakpointManagerProxy.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXDependentBreakpointManagerProxy.kt
@@ -3,12 +3,12 @@ package com.intellij.platform.debugger.impl.frontend
import com.intellij.openapi.project.Project
import com.intellij.platform.project.projectId
+import com.intellij.platform.xdebugger.impl.rpc.XBreakpointDependencyDto
+import com.intellij.platform.xdebugger.impl.rpc.XBreakpointDependencyEvent
+import com.intellij.platform.xdebugger.impl.rpc.XDependentBreakpointManagerApi
import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy
import com.intellij.xdebugger.impl.breakpoints.XDependentBreakpointManagerProxy
-import com.intellij.xdebugger.impl.rpc.XBreakpointDependencyDto
-import com.intellij.xdebugger.impl.rpc.XBreakpointDependencyEvent
import com.intellij.xdebugger.impl.rpc.XBreakpointId
-import com.intellij.xdebugger.impl.rpc.XDependentBreakpointManagerApi
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.launch
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXLineBreakpointProxy.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXLineBreakpointProxy.kt
index df42bc91098c..fdbf2c21685d 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXLineBreakpointProxy.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXLineBreakpointProxy.kt
@@ -10,11 +10,11 @@ import com.intellij.openapi.editor.markup.RangeHighlighter
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.TextRange
import com.intellij.openapi.vfs.VirtualFile
+import com.intellij.platform.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.XDebuggerUtil
import com.intellij.xdebugger.XSourcePosition
import com.intellij.xdebugger.impl.breakpoints.*
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy.Companion.useFeLineBreakpointProxy
-import com.intellij.xdebugger.impl.rpc.XBreakpointApi
import com.intellij.xdebugger.impl.rpc.XBreakpointDto
import com.intellij.xdebugger.impl.rpc.XLineBreakpointInfo
import com.intellij.xdebugger.impl.rpc.toTextRange
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXValueMarkers.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXValueMarkers.kt
index 263501c0e813..df2adfbe1cc7 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXValueMarkers.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/FrontendXValueMarkers.kt
@@ -8,7 +8,7 @@ import com.intellij.platform.debugger.impl.frontend.evaluate.quick.FrontendXValu
import com.intellij.ui.JBColor
import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.frame.XValueMarkers
-import com.intellij.xdebugger.impl.rpc.XDebuggerValueMarkupApi
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import com.intellij.xdebugger.impl.ui.tree.ValueMarkup
import kotlinx.coroutines.CoroutineScope
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXDebuggerEvaluator.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXDebuggerEvaluator.kt
index 1bef8820bdbd..d9293c70f5fc 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXDebuggerEvaluator.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXDebuggerEvaluator.kt
@@ -12,7 +12,9 @@ import com.intellij.xdebugger.XSourcePosition
import com.intellij.xdebugger.evaluation.XDebuggerEvaluator
import com.intellij.xdebugger.impl.evaluate.quick.XDebuggerDocumentOffsetEvaluator
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
-import com.intellij.xdebugger.impl.rpc.*
+import com.intellij.platform.xdebugger.impl.rpc.*
+import com.intellij.xdebugger.impl.rpc.XStackFrameId
+import com.intellij.xdebugger.impl.rpc.toRpc
import fleet.util.logging.logger
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Deferred
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXFullValueEvaluator.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXFullValueEvaluator.kt
index a4b4d312b840..6dc0fe065d2e 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXFullValueEvaluator.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXFullValueEvaluator.kt
@@ -3,10 +3,10 @@ package com.intellij.platform.debugger.impl.frontend.evaluate.quick
import com.intellij.ide.ui.icons.icon
import com.intellij.openapi.application.EDT
+import com.intellij.platform.xdebugger.impl.rpc.XFullValueEvaluatorDto
+import com.intellij.platform.xdebugger.impl.rpc.XFullValueEvaluatorResult
+import com.intellij.platform.xdebugger.impl.rpc.XValueApi
import com.intellij.xdebugger.frame.XFullValueEvaluator
-import com.intellij.xdebugger.impl.rpc.XFullValueEvaluatorDto
-import com.intellij.xdebugger.impl.rpc.XFullValueEvaluatorResult
-import com.intellij.xdebugger.impl.rpc.XValueApi
import com.intellij.xdebugger.impl.rpc.XValueId
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValue.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValue.kt
index 63ccd5cfcfc0..b7d7f1bc500b 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValue.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValue.kt
@@ -15,7 +15,13 @@ import com.intellij.xdebugger.Obsolescent
import com.intellij.xdebugger.XExpression
import com.intellij.xdebugger.frame.*
import com.intellij.xdebugger.frame.presentation.XValuePresentation
-import com.intellij.xdebugger.impl.rpc.*
+import com.intellij.platform.xdebugger.impl.rpc.*
+import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
+import com.intellij.xdebugger.impl.rpc.XValueAdvancedPresentationPart
+import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
+import com.intellij.xdebugger.impl.rpc.XValueSerializedPresentation
+import com.intellij.xdebugger.impl.rpc.sourcePosition
+import com.intellij.xdebugger.impl.rpc.xExpression
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeEx
import kotlinx.coroutines.*
import kotlinx.coroutines.flow.*
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValueContainer.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValueContainer.kt
index 64a0bdfd1c24..659665ee250f 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValueContainer.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValueContainer.kt
@@ -8,7 +8,7 @@ import com.intellij.ui.SimpleTextAttributes
import com.intellij.xdebugger.frame.XCompositeNode
import com.intellij.xdebugger.frame.XValueChildrenList
import com.intellij.xdebugger.frame.XValueContainer
-import com.intellij.xdebugger.impl.rpc.XValueComputeChildrenEvent
+import com.intellij.platform.xdebugger.impl.rpc.XValueComputeChildrenEvent
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValueModifier.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValueModifier.kt
index 578baed14fbc..803ef352b983 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValueModifier.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/FrontendXValueModifier.kt
@@ -7,9 +7,9 @@ import com.intellij.openapi.project.Project
import com.intellij.xdebugger.XExpression
import com.intellij.xdebugger.frame.XValueModifier
import com.intellij.xdebugger.impl.breakpoints.XExpressionImpl
-import com.intellij.xdebugger.impl.rpc.SetValueResult
-import com.intellij.xdebugger.impl.rpc.XDebuggerValueModifierApi
-import com.intellij.xdebugger.impl.rpc.XValueDto
+import com.intellij.platform.xdebugger.impl.rpc.SetValueResult
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueModifierApi
+import com.intellij.platform.xdebugger.impl.rpc.XValueDto
import com.intellij.xdebugger.impl.rpc.toRpc
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/XQuickEvaluateHandler.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/XQuickEvaluateHandler.kt
index 9c84540016ae..735d0babaecb 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/XQuickEvaluateHandler.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/XQuickEvaluateHandler.kt
@@ -18,7 +18,7 @@ import com.intellij.xdebugger.impl.evaluate.quick.common.AbstractValueHint
import com.intellij.xdebugger.impl.evaluate.quick.common.QuickEvaluateHandler
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy.Companion.useFeProxy
-import com.intellij.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
import com.intellij.xdebugger.settings.XDebuggerSettingsManager
import kotlinx.coroutines.*
import kotlinx.coroutines.future.asCompletableFuture
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/common/RemotePluginsQuickEvaluateHandlerBridge.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/common/RemotePluginsQuickEvaluateHandlerBridge.kt
index f8894d70dc5b..88595c99b96d 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/common/RemotePluginsQuickEvaluateHandlerBridge.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/evaluate/quick/common/RemotePluginsQuickEvaluateHandlerBridge.kt
@@ -10,8 +10,8 @@ import com.intellij.xdebugger.evaluation.ExpressionInfo
import com.intellij.xdebugger.impl.evaluate.childCoroutineScope
import com.intellij.xdebugger.impl.evaluate.quick.common.AbstractValueHint
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
-import com.intellij.xdebugger.impl.rpc.RemoteValueHintId
-import com.intellij.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
+import com.intellij.platform.xdebugger.impl.rpc.RemoteValueHintId
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueLookupHintsRemoteApi
import kotlinx.coroutines.*
import java.awt.Point
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXExecutionStack.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXExecutionStack.kt
index a11a78534af3..1cc71b0705c3 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXExecutionStack.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXExecutionStack.kt
@@ -4,12 +4,12 @@ package com.intellij.platform.debugger.impl.frontend.frame
import com.intellij.ide.ui.icons.icon
import com.intellij.openapi.project.Project
import com.intellij.platform.debugger.impl.frontend.storage.getOrCreateStackFrame
+import com.intellij.platform.xdebugger.impl.rpc.XExecutionStackApi
+import com.intellij.platform.xdebugger.impl.rpc.XStackFramesEvent
import com.intellij.xdebugger.frame.XExecutionStack
import com.intellij.xdebugger.frame.XStackFrame
-import com.intellij.xdebugger.impl.rpc.XExecutionStackApi
import com.intellij.xdebugger.impl.rpc.XExecutionStackDto
import com.intellij.xdebugger.impl.rpc.XExecutionStackId
-import com.intellij.xdebugger.impl.rpc.XStackFramesEvent
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXStackFrame.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXStackFrame.kt
index 1b2733ce12bc..5ce08d57b4ae 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXStackFrame.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXStackFrame.kt
@@ -9,13 +9,16 @@ import com.intellij.openapi.util.NlsContexts
import com.intellij.platform.debugger.impl.frontend.evaluate.quick.FrontendXValueContainer
import com.intellij.platform.debugger.impl.frontend.evaluate.quick.createFrontendXDebuggerEvaluator
import com.intellij.platform.debugger.impl.frontend.storage.currentPresentation
+import com.intellij.platform.xdebugger.impl.rpc.*
import com.intellij.ui.ColoredTextContainer
import com.intellij.xdebugger.XSourcePosition
import com.intellij.xdebugger.evaluation.XDebuggerEvaluator
import com.intellij.xdebugger.frame.XCompositeNode
import com.intellij.xdebugger.frame.XStackFrame
import com.intellij.xdebugger.impl.frame.XDebuggerFramesList
-import com.intellij.xdebugger.impl.rpc.*
+import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
+import com.intellij.xdebugger.impl.rpc.XStackFrameId
+import com.intellij.xdebugger.impl.rpc.sourcePosition
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.MutableStateFlow
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXSuspendContext.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXSuspendContext.kt
index d6d91bbf0be7..e12d5f8cdb74 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXSuspendContext.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/frame/FrontendXSuspendContext.kt
@@ -3,11 +3,11 @@ package com.intellij.platform.debugger.impl.frontend.frame
import com.intellij.openapi.project.Project
import com.intellij.platform.debugger.impl.frontend.storage.getOrCreateStackFrame
+import com.intellij.platform.xdebugger.impl.rpc.XStackFrameDto
import com.intellij.xdebugger.frame.XExecutionStack
import com.intellij.xdebugger.frame.XSuspendContext
import com.intellij.xdebugger.impl.rpc.XDebugSessionApi
import com.intellij.xdebugger.impl.rpc.XExecutionStacksEvent
-import com.intellij.xdebugger.impl.rpc.XStackFrameDto
import com.intellij.xdebugger.impl.rpc.XSuspendContextDto
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.cancel
diff --git a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/storage/FrontendXStackFramesStorage.kt b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/storage/FrontendXStackFramesStorage.kt
index ad82cd88152e..c89797129e1d 100644
--- a/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/storage/FrontendXStackFramesStorage.kt
+++ b/platform/xdebugger-impl/frontend/src/com/intellij/platform/debugger/impl/frontend/storage/FrontendXStackFramesStorage.kt
@@ -3,9 +3,9 @@ package com.intellij.platform.debugger.impl.frontend.storage
import com.intellij.openapi.project.Project
import com.intellij.platform.debugger.impl.frontend.frame.FrontendXStackFrame
-import com.intellij.xdebugger.impl.rpc.XStackFrameDto
+import com.intellij.platform.xdebugger.impl.rpc.XStackFrameDto
+import com.intellij.platform.xdebugger.impl.rpc.XStackFramePresentation
import com.intellij.xdebugger.impl.rpc.XStackFrameId
-import com.intellij.xdebugger.impl.rpc.XStackFramePresentation
import fleet.multiplatform.shims.ConcurrentHashMap
import kotlinx.coroutines.CoroutineScope
import kotlin.coroutines.AbstractCoroutineContextElement
diff --git a/platform/xdebugger-impl/intellij.platform.debugger.impl.iml b/platform/xdebugger-impl/intellij.platform.debugger.impl.iml
index a1c321517eba..c791ea5b98ce 100644
--- a/platform/xdebugger-impl/intellij.platform.debugger.impl.iml
+++ b/platform/xdebugger-impl/intellij.platform.debugger.impl.iml
@@ -71,5 +71,7 @@
+
+
\ No newline at end of file
diff --git a/platform/xdebugger-impl/resources/META-INF/xdebugger.xml b/platform/xdebugger-impl/resources/META-INF/xdebugger.xml
index 4cf4cdbc1d3f..8b0be6a55645 100644
--- a/platform/xdebugger-impl/resources/META-INF/xdebugger.xml
+++ b/platform/xdebugger-impl/resources/META-INF/xdebugger.xml
@@ -37,8 +37,6 @@
-
diff --git a/platform/xdebugger-impl/rpc/intellij.platform.debugger.impl.rpc.iml b/platform/xdebugger-impl/rpc/intellij.platform.debugger.impl.rpc.iml
index 6b9d914ea53f..81202741aa15 100644
--- a/platform/xdebugger-impl/rpc/intellij.platform.debugger.impl.rpc.iml
+++ b/platform/xdebugger-impl/rpc/intellij.platform.debugger.impl.rpc.iml
@@ -36,6 +36,13 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/.keep b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/.keep
deleted file mode 100644
index e69de29bb2d1..000000000000
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XBreakpointApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XBreakpointApi.kt
similarity index 88%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XBreakpointApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XBreakpointApi.kt
index 33bb0210a447..63014bb6785c 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XBreakpointApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XBreakpointApi.kt
@@ -1,18 +1,19 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.ide.rpc.BackendDocumentId
import com.intellij.ide.rpc.FrontendDocumentId
import com.intellij.platform.project.ProjectId
-import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.RemoteApiProviderService
-import com.intellij.platform.rpc.UID
import com.intellij.xdebugger.breakpoints.SuspendPolicy
import com.intellij.xdebugger.evaluation.EvaluationMode
+import com.intellij.xdebugger.impl.rpc.XBreakpointId
+import com.intellij.xdebugger.impl.rpc.XBreakpointTypeId
+import com.intellij.xdebugger.impl.rpc.XExpressionDto
+import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
-import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
@@ -23,21 +24,21 @@ interface XBreakpointApi : RemoteApi {
suspend fun setSuspendPolicy(breakpointId: XBreakpointId, suspendPolicy: SuspendPolicy)
suspend fun setDefaultSuspendPolicy(project: ProjectId, breakpointTypeId: XBreakpointTypeId, policy: SuspendPolicy)
-
+
suspend fun setConditionEnabled(breakpointId: XBreakpointId, enabled: Boolean)
-
+
suspend fun setConditionExpression(breakpointId: XBreakpointId, condition: XExpressionDto?)
-
+
suspend fun setLogMessage(breakpointId: XBreakpointId, enabled: Boolean)
-
+
suspend fun setLogStack(breakpointId: XBreakpointId, enabled: Boolean)
-
+
suspend fun setLogExpressionEnabled(breakpointId: XBreakpointId, enabled: Boolean)
-
+
suspend fun setLogExpressionObject(breakpointId: XBreakpointId, logExpression: XExpressionDto?)
-
+
suspend fun setTemporary(breakpointId: XBreakpointId, isTemporary: Boolean)
-
+
suspend fun setUserDescription(breakpointId: XBreakpointId, description: String?)
suspend fun setFileUrl(breakpointId: XBreakpointId, fileUrl: String?)
@@ -54,8 +55,4 @@ interface XBreakpointApi : RemoteApi {
return RemoteApiProviderService.resolve(remoteApiDescriptor())
}
}
-}
-
-@ApiStatus.Internal
-@Serializable
-data class XBreakpointId(override val uid: UID) : Id
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerBreakpointsDialogApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerBreakpointsDialogApi.kt
similarity index 93%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerBreakpointsDialogApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerBreakpointsDialogApi.kt
index 120c69cadcf8..25acae0bdaf3 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerBreakpointsDialogApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerBreakpointsDialogApi.kt
@@ -1,8 +1,9 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.project.ProjectId
import com.intellij.platform.rpc.RemoteApiProviderService
+import com.intellij.xdebugger.impl.rpc.XBreakpointId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
diff --git a/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerConsoleViewData.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerConsoleViewData.kt
new file mode 100644
index 000000000000..afb784ff9ec2
--- /dev/null
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerConsoleViewData.kt
@@ -0,0 +1,14 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.platform.xdebugger.impl.rpc
+
+import com.intellij.execution.process.ProcessHandler
+import com.intellij.execution.ui.ConsoleView
+import com.intellij.execution.ui.RunContentDescriptor
+import com.intellij.openapi.extensions.ExtensionPointName
+import com.intellij.platform.project.ProjectId
+import com.intellij.xdebugger.XDebugProcess
+import com.intellij.xdebugger.impl.rpc.RemoteXDebuggerConsoleViewData
+import com.intellij.xdebugger.impl.rpc.XDebuggerConsoleViewData
+import kotlinx.serialization.Serializable
+import org.jetbrains.annotations.ApiStatus
+
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerEvaluatorApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerEvaluatorApi.kt
similarity index 66%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerEvaluatorApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerEvaluatorApi.kt
index e621d41312e6..85c9e10d3519 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerEvaluatorApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerEvaluatorApi.kt
@@ -1,17 +1,22 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.ide.rpc.DocumentId
import com.intellij.ide.ui.icons.IconId
import com.intellij.openapi.editor.colors.TextAttributesKey
import com.intellij.openapi.util.NlsContexts
import com.intellij.openapi.util.NlsSafe
-import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.ui.SimpleTextAttributes
import com.intellij.xdebugger.frame.XDebuggerTreeNodeHyperlink
import com.intellij.xdebugger.frame.XValueDescriptor
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueHintType
+import com.intellij.xdebugger.impl.rpc.XExpressionDto
+import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
+import com.intellij.xdebugger.impl.rpc.XStackFrameId
+import com.intellij.xdebugger.impl.rpc.XValueId
+import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
+import com.intellij.xdebugger.impl.rpc.XValueSerializedPresentation
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.core.DeferredSerializer
@@ -83,13 +88,6 @@ sealed interface XEvaluationResult {
data class EvaluationError(val errorMessage: @NlsContexts.DialogMessage String) : XEvaluationResult
}
-/**
- * @see com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
- */
-@ApiStatus.Internal
-@Serializable
-data class XValueId(override val uid: com.intellij.platform.rpc.UID) : Id
-
@ApiStatus.Internal
@Serializable
data class XValueDto(
@@ -112,31 +110,6 @@ data class XValueMarkerId(val id: UID)
@Serializable
data class XDebuggerEvaluatorDto(val canEvaluateInDocument: Boolean)
-@ApiStatus.Internal
-@Serializable
-sealed interface XValueSerializedPresentation {
- @ApiStatus.Internal
- @Serializable
- data class SimplePresentation(
- @JvmField val icon: IconId?,
- @JvmField val presentationType: String?,
- @JvmField val value: String,
- @JvmField val hasChildren: Boolean,
- ) : XValueSerializedPresentation
-
- @ApiStatus.Internal
- @Serializable
- data class AdvancedPresentation(
- @JvmField val icon: IconId?,
- @JvmField val hasChildren: Boolean,
- @JvmField val separator: String,
- @JvmField val isShownName: Boolean,
- @JvmField val presentationType: String?,
- @JvmField val isAsync: Boolean,
- @JvmField val parts: List,
- ) : XValueSerializedPresentation
-}
-
@ApiStatus.Internal
@Serializable
data class XFullValueEvaluatorDto(
@@ -165,47 +138,3 @@ sealed interface XFullValueEvaluatorResult {
data class EvaluationError(val errorMessage: @NlsContexts.DialogMessage String) : XFullValueEvaluatorResult
}
-@ApiStatus.Internal
-@Serializable
-sealed interface XValueAdvancedPresentationPart {
- @ApiStatus.Internal
- @Serializable
- data class Value(@JvmField val value: String) : XValueAdvancedPresentationPart
-
- @ApiStatus.Internal
- @Serializable
- data class StringValue(@JvmField val value: String) : XValueAdvancedPresentationPart
-
- @ApiStatus.Internal
- @Serializable
- data class NumericValue(@JvmField val value: String) : XValueAdvancedPresentationPart
-
- @ApiStatus.Internal
- @Serializable
- data class KeywordValue(@JvmField val value: String) : XValueAdvancedPresentationPart
-
- // TODO[IJPL-160146]: support [TextAttributesKey] serialization
- @ApiStatus.Internal
- @Serializable
- data class ValueWithAttributes(@JvmField val value: String, @Transient @JvmField val key: TextAttributesKey? = null) : XValueAdvancedPresentationPart
-
- @ApiStatus.Internal
- @Serializable
- data class StringValueWithHighlighting(
- @JvmField val value: String,
- @JvmField val additionalSpecialCharsToHighlight: String?,
- @JvmField val maxLength: Int,
- ) : XValueAdvancedPresentationPart
-
- @ApiStatus.Internal
- @Serializable
- data class Comment(@JvmField val comment: String) : XValueAdvancedPresentationPart
-
- @ApiStatus.Internal
- @Serializable
- data class SpecialSymbol(@JvmField val symbol: String) : XValueAdvancedPresentationPart
-
- @ApiStatus.Internal
- @Serializable
- data class Error(@JvmField val error: String) : XValueAdvancedPresentationPart
-}
\ No newline at end of file
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerLuxApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerLuxApi.kt
similarity index 91%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerLuxApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerLuxApi.kt
index cb8876c71b7c..81023611bf4f 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerLuxApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerLuxApi.kt
@@ -1,5 +1,5 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.rpc.RemoteApiProviderService
import fleet.rpc.RemoteApi
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerNavigationApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerNavigationApi.kt
similarity index 88%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerNavigationApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerNavigationApi.kt
index b611a4820ff5..62590261e3ed 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerNavigationApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerNavigationApi.kt
@@ -1,7 +1,8 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.rpc.RemoteApiProviderService
+import com.intellij.xdebugger.impl.rpc.XValueId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerValueLookupHintsRemoteApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerValueLookupHintsRemoteApi.kt
similarity index 96%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerValueLookupHintsRemoteApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerValueLookupHintsRemoteApi.kt
index 21b13783a7d5..2a3cbb31ffbc 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerValueLookupHintsRemoteApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerValueLookupHintsRemoteApi.kt
@@ -1,5 +1,5 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.openapi.editor.impl.EditorId
import com.intellij.platform.project.ProjectId
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerValueMarkupApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerValueMarkupApi.kt
similarity index 82%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerValueMarkupApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerValueMarkupApi.kt
index 3387bd2d246e..cf41ee612953 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerValueMarkupApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerValueMarkupApi.kt
@@ -1,7 +1,9 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.rpc.RemoteApiProviderService
+import com.intellij.xdebugger.impl.rpc.XValueId
+import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerValueModifierApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerValueModifierApi.kt
similarity index 88%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerValueModifierApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerValueModifierApi.kt
index 4fe02bab7ae8..3d06520c2f71 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerValueModifierApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDebuggerValueModifierApi.kt
@@ -1,8 +1,10 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.openapi.util.NlsContexts
import com.intellij.platform.rpc.RemoteApiProviderService
+import com.intellij.xdebugger.impl.rpc.XExpressionDto
+import com.intellij.xdebugger.impl.rpc.XValueId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDependentBreakpointManagerApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDependentBreakpointManagerApi.kt
similarity index 94%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDependentBreakpointManagerApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDependentBreakpointManagerApi.kt
index 5797697bd424..f96db022f513 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDependentBreakpointManagerApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XDependentBreakpointManagerApi.kt
@@ -1,9 +1,9 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.project.ProjectId
import com.intellij.platform.rpc.RemoteApiProviderService
-import com.intellij.xdebugger.impl.breakpoints.XBreakpointProxy
+import com.intellij.xdebugger.impl.rpc.XBreakpointId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.core.RpcFlow
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XExecutionStackApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XExecutionStackApi.kt
similarity index 85%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XExecutionStackApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XExecutionStackApi.kt
index 60087a3397b3..d644a92704f8 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XExecutionStackApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XExecutionStackApi.kt
@@ -1,7 +1,9 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.rpc.RemoteApiProviderService
+import com.intellij.xdebugger.impl.rpc.XExecutionStackId
+import com.intellij.xdebugger.impl.rpc.XStackFrameId
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.remoteApiDescriptor
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XStackTraceDto.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XStackTraceDto.kt
similarity index 77%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XStackTraceDto.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XStackTraceDto.kt
index 881de9d1d0f0..e72ca249c925 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XStackTraceDto.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XStackTraceDto.kt
@@ -1,5 +1,5 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.ide.ui.colors.ColorId
import com.intellij.ide.ui.colors.color
@@ -9,35 +9,13 @@ import com.intellij.openapi.util.NlsContexts
import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.UID
import com.intellij.ui.SimpleTextAttributes
+import com.intellij.xdebugger.impl.rpc.XExecutionStackId
+import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
+import com.intellij.xdebugger.impl.rpc.XStackFrameId
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
import org.jetbrains.annotations.Nls
-@ApiStatus.Internal
-@Serializable
-sealed interface XExecutionStacksEvent {
- @Serializable
- data class NewExecutionStacks(val stacks: List, val last: Boolean) : XExecutionStacksEvent
-
- @Serializable
- data class ErrorOccurred(val errorMessage: @NlsContexts.DialogMessage String) : XExecutionStacksEvent
-}
-
-/**
- * @see com.intellij.xdebugger.impl.rpc.models.XExecutionStackModel
- */
-@ApiStatus.Internal
-@Serializable
-data class XExecutionStackId(override val uid: UID) : Id
-
-@ApiStatus.Internal
-@Serializable
-data class XExecutionStackDto(
- val executionStackId: XExecutionStackId,
- val displayName: @Nls String,
- val icon: IconId?,
-)
-
@ApiStatus.Internal
@Serializable
sealed interface XStackFramesEvent {
@@ -49,14 +27,6 @@ sealed interface XStackFramesEvent {
data class ErrorOccurred(val errorMessage: @NlsContexts.DialogMessage String) : XStackFramesEvent
}
-/**
- * @see com.intellij.xdebugger.impl.rpc.models.XStackFrameValueIdType
- * @see com.intellij.xdebugger.impl.rpc.models.XStackFrameModel
- */
-@ApiStatus.Internal
-@Serializable
-data class XStackFrameId(override val uid: UID) : Id
-
@ApiStatus.Internal
@Serializable
data class XStackFrameDto(
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XValueApi.kt b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XValueApi.kt
similarity index 84%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XValueApi.kt
rename to platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XValueApi.kt
index 59973d38fdfb..6af866cec8ea 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XValueApi.kt
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/XValueApi.kt
@@ -1,8 +1,12 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xdebugger.impl.rpc
+package com.intellij.platform.xdebugger.impl.rpc
import com.intellij.platform.rpc.RemoteApiProviderService
import com.intellij.util.ThreeState
+import com.intellij.xdebugger.impl.rpc.XExpressionDto
+import com.intellij.xdebugger.impl.rpc.XSourcePositionDto
+import com.intellij.xdebugger.impl.rpc.XValueId
+import com.intellij.xdebugger.impl.rpc.XValueSerializedPresentation
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.core.RpcFlow
diff --git a/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/package-info.java b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/package-info.java
new file mode 100644
index 000000000000..720680b5091d
--- /dev/null
+++ b/platform/xdebugger-impl/rpc/src/com/intellij/platform/xdebugger/impl/rpc/package-info.java
@@ -0,0 +1,5 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+@Internal
+package com.intellij.platform.xdebugger.impl.rpc;
+
+import org.jetbrains.annotations.ApiStatus.Internal;
diff --git a/platform/xdebugger-impl/shared/intellij.platform.debugger.impl.shared.iml b/platform/xdebugger-impl/shared/intellij.platform.debugger.impl.shared.iml
index 87928c56b31f..141ec9fb9c47 100644
--- a/platform/xdebugger-impl/shared/intellij.platform.debugger.impl.shared.iml
+++ b/platform/xdebugger-impl/shared/intellij.platform.debugger.impl.shared.iml
@@ -36,5 +36,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/resources/intellij.platform.debugger.impl.shared.xml b/platform/xdebugger-impl/shared/resources/intellij.platform.debugger.impl.shared.xml
index 9d47e45ee4de..866712e33b60 100644
--- a/platform/xdebugger-impl/shared/resources/intellij.platform.debugger.impl.shared.xml
+++ b/platform/xdebugger-impl/shared/resources/intellij.platform.debugger.impl.shared.xml
@@ -1,3 +1,6 @@
-
+
+
+
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/src/com/intellij/platform/xdebugger/impl/shared/XDebuggerUtilImplShared.kt b/platform/xdebugger-impl/shared/src/com/intellij/platform/xdebugger/impl/shared/XDebuggerUtilImplShared.kt
new file mode 100644
index 000000000000..1912447c2416
--- /dev/null
+++ b/platform/xdebugger-impl/shared/src/com/intellij/platform/xdebugger/impl/shared/XDebuggerUtilImplShared.kt
@@ -0,0 +1,40 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.platform.xdebugger.impl.shared
+
+import com.intellij.openapi.fileEditor.OpenFileDescriptor
+import com.intellij.openapi.project.Project
+import com.intellij.pom.Navigatable
+import com.intellij.xdebugger.XSourcePosition
+import org.jetbrains.annotations.ApiStatus
+
+@ApiStatus.Internal
+object XDebuggerUtilImplShared {
+ @ApiStatus.Internal
+ @JvmStatic
+ fun createNavigatable(project: Project, position: XSourcePosition): Navigatable {
+ return XSourcePositionNavigatable(project, position)
+ }
+
+ @ApiStatus.Internal
+ @JvmStatic
+ fun createOpenFileDescriptor(project: Project, position: XSourcePosition): OpenFileDescriptor {
+ return if (position.getOffset() != -1)
+ OpenFileDescriptor(project, position.getFile(), position.getOffset())
+ else
+ OpenFileDescriptor(project, position.getFile(), position.getLine(), 0)
+ }
+
+ private class XSourcePositionNavigatable(private val myProject: Project, private val myPosition: XSourcePosition) : Navigatable {
+ override fun navigate(requestFocus: Boolean) {
+ createOpenFileDescriptor(myProject, myPosition).navigate(requestFocus)
+ }
+
+ override fun canNavigate(): Boolean {
+ return myPosition.getFile().isValid()
+ }
+
+ override fun canNavigateToSource(): Boolean {
+ return canNavigate()
+ }
+ }
+}
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/evaluate/quick/common/ValueHintType.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/evaluate/quick/common/ValueHintType.kt
new file mode 100644
index 000000000000..c42e06106e0d
--- /dev/null
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/evaluate/quick/common/ValueHintType.kt
@@ -0,0 +1,11 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.xdebugger.impl.evaluate.quick.common
+
+import kotlinx.serialization.Serializable
+
+@Serializable
+enum class ValueHintType {
+ MOUSE_OVER_HINT,
+ MOUSE_ALT_OVER_HINT,
+ MOUSE_CLICK_HINT
+}
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XBreakpointId.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XBreakpointId.kt
new file mode 100644
index 000000000000..7054b2af9ba4
--- /dev/null
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XBreakpointId.kt
@@ -0,0 +1,11 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.xdebugger.impl.rpc
+
+import com.intellij.platform.rpc.Id
+import com.intellij.platform.rpc.UID
+import kotlinx.serialization.Serializable
+import org.jetbrains.annotations.ApiStatus
+
+@ApiStatus.Internal
+@Serializable
+data class XBreakpointId(override val uid: UID) : Id
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XBreakpointTypeId.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XBreakpointTypeId.kt
new file mode 100644
index 000000000000..6c8cdefccc88
--- /dev/null
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XBreakpointTypeId.kt
@@ -0,0 +1,9 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.xdebugger.impl.rpc
+
+import kotlinx.serialization.Serializable
+import org.jetbrains.annotations.ApiStatus
+
+@ApiStatus.Internal
+@Serializable
+data class XBreakpointTypeId(val id: String)
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XDebugSessionId.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XDebugSessionId.kt
new file mode 100644
index 000000000000..42a69fe90b3a
--- /dev/null
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XDebugSessionId.kt
@@ -0,0 +1,15 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.xdebugger.impl.rpc
+
+import com.intellij.platform.rpc.Id
+import com.intellij.platform.rpc.UID
+import kotlinx.serialization.Serializable
+import org.jetbrains.annotations.ApiStatus
+
+/**
+ * @see XDebugSessionId.findValue
+ * @see com.intellij.xdebugger.impl.XDebugSessionImpl.id
+ */
+@ApiStatus.Internal
+@Serializable
+data class XDebugSessionId(override val uid: UID) : Id
\ No newline at end of file
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerConsoleViewData.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XDebuggerConsoleViewData.kt
similarity index 90%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerConsoleViewData.kt
rename to platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XDebuggerConsoleViewData.kt
index a5393b48832a..732e35b40492 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerConsoleViewData.kt
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XDebuggerConsoleViewData.kt
@@ -11,6 +11,23 @@ import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import org.jetbrains.annotations.ApiStatus
+// TODO: should be moved to RPC module!!
+@ApiStatus.Internal
+@Serializable
+class XDebuggerConsoleViewData(@Serializable internal val remoteData: RemoteXDebuggerConsoleViewData? = null, @Transient internal val localConsole: ConsoleView? = null)
+
+@ApiStatus.Internal
+@Serializable
+data class RemoteXDebuggerConsoleViewData(
+ val projectId: ProjectId,
+ val executionId: Long,
+ val idBased: Boolean,
+ val testFramework: String,
+ val uniqueId: String,
+ val consoleId: Int,
+ val runnerLayoutUiId: Int?,
+)
+
@ApiStatus.Internal
suspend fun ConsoleView.toRpc(contentDescriptor: RunContentDescriptor, debugProcess: XDebugProcess?): XDebuggerConsoleViewData {
val remoteData = XDebuggerConsoleViewConverter.EP_NAME.extensionList.firstNotNullOfOrNull {
@@ -42,20 +59,4 @@ interface XDebuggerConsoleViewConverter {
suspend fun convert(consoleView: ConsoleView, contentDescriptor: RunContentDescriptor, debugProcess: XDebugProcess?): RemoteXDebuggerConsoleViewData?
suspend fun convert(remoteData: RemoteXDebuggerConsoleViewData, processHandler: ProcessHandler): ConsoleView?
-}
-
-@ApiStatus.Internal
-@Serializable
-class XDebuggerConsoleViewData internal constructor(@Serializable internal val remoteData: RemoteXDebuggerConsoleViewData? = null, @Transient internal val localConsole: ConsoleView? = null)
-
-@ApiStatus.Internal
-@Serializable
-data class RemoteXDebuggerConsoleViewData(
- val projectId: ProjectId,
- val executionId: Long,
- val idBased: Boolean,
- val testFramework: String,
- val uniqueId: String,
- val consoleId: Int,
- val runnerLayoutUiId: Int?,
-)
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XExecutionStackId.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XExecutionStackId.kt
new file mode 100644
index 000000000000..64e467ddbc1a
--- /dev/null
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XExecutionStackId.kt
@@ -0,0 +1,14 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.xdebugger.impl.rpc
+
+import com.intellij.platform.rpc.Id
+import com.intellij.platform.rpc.UID
+import kotlinx.serialization.Serializable
+import org.jetbrains.annotations.ApiStatus
+
+/**
+ * @see com.intellij.xdebugger.impl.rpc.models.XExecutionStackModel
+ */
+@ApiStatus.Internal
+@Serializable
+data class XExecutionStackId(override val uid: UID) : Id
\ No newline at end of file
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XExpressionDto.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XExpressionDto.kt
similarity index 97%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XExpressionDto.kt
rename to platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XExpressionDto.kt
index 3a3956e55d38..a511100ce087 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XExpressionDto.kt
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XExpressionDto.kt
@@ -8,6 +8,7 @@ import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import org.jetbrains.annotations.ApiStatus
+// TODO: move to RPC module!!
@ApiStatus.Internal
@Serializable
data class XExpressionDto(
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XFileColorDto.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XFileColorDto.kt
similarity index 95%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XFileColorDto.kt
rename to platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XFileColorDto.kt
index 457a4640c459..8ee8f262bd04 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XFileColorDto.kt
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XFileColorDto.kt
@@ -6,6 +6,7 @@ import com.intellij.ide.vfs.VirtualFileId
import kotlinx.serialization.Serializable
import org.jetbrains.annotations.ApiStatus
+// TODO: should be moved to RPC module!!
@ApiStatus.Internal
@Serializable
data class XFileColorDto(
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XSourcePositionDto.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XSourcePositionDto.kt
similarity index 90%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XSourcePositionDto.kt
rename to platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XSourcePositionDto.kt
index 43d3d66fa764..7043990ef375 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XSourcePositionDto.kt
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XSourcePositionDto.kt
@@ -6,13 +6,14 @@ import com.intellij.ide.vfs.rpcId
import com.intellij.ide.vfs.virtualFile
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
+import com.intellij.platform.xdebugger.impl.shared.XDebuggerUtilImplShared
import com.intellij.pom.Navigatable
import com.intellij.xdebugger.XSourcePosition
-import com.intellij.xdebugger.impl.XDebuggerUtilImpl
import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import org.jetbrains.annotations.ApiStatus
+// TODO: move to RPC module!!
@ApiStatus.Internal
@Serializable
data class XSourcePositionDto(
@@ -52,6 +53,6 @@ private class SerializedXSourcePosition(private val dto: XSourcePositionDto) : X
}
override fun createNavigatable(project: Project): Navigatable {
- return XDebuggerUtilImpl.createNavigatable(project, this)
+ return XDebuggerUtilImplShared.createNavigatable(project, this)
}
-}
+}
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XStackFrameId.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XStackFrameId.kt
new file mode 100644
index 000000000000..3d3fbf179c7e
--- /dev/null
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XStackFrameId.kt
@@ -0,0 +1,15 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.xdebugger.impl.rpc
+
+import com.intellij.platform.rpc.Id
+import com.intellij.platform.rpc.UID
+import kotlinx.serialization.Serializable
+import org.jetbrains.annotations.ApiStatus
+
+/**
+ * @see com.intellij.xdebugger.impl.rpc.models.XStackFrameValueIdType
+ * @see com.intellij.xdebugger.impl.rpc.models.XStackFrameModel
+ */
+@ApiStatus.Internal
+@Serializable
+data class XStackFrameId(override val uid: UID) : Id
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XValueId.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XValueId.kt
new file mode 100644
index 000000000000..979e598581e7
--- /dev/null
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XValueId.kt
@@ -0,0 +1,13 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.xdebugger.impl.rpc
+
+import com.intellij.platform.rpc.Id
+import kotlinx.serialization.Serializable
+import org.jetbrains.annotations.ApiStatus
+
+/**
+ * @see com.intellij.xdebugger.impl.rpc.models.BackendXValueModel
+ */
+@ApiStatus.Internal
+@Serializable
+data class XValueId(override val uid: com.intellij.platform.rpc.UID) : Id
\ No newline at end of file
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XValueMarkerDto.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XValueMarkerDto.kt
similarity index 93%
rename from platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XValueMarkerDto.kt
rename to platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XValueMarkerDto.kt
index a936397bc3a1..19ac80330753 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XValueMarkerDto.kt
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XValueMarkerDto.kt
@@ -5,7 +5,7 @@ import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import java.awt.Color
-
+// TODO: move to RPC module!!
// TODO[IJPL-160146]: Implement implement Color serialization
@Serializable
data class XValueMarkerDto(val text: String, @Transient val color: Color? = null, val tooltipText: String?)
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XValueSerializedPresentation.kt b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XValueSerializedPresentation.kt
new file mode 100644
index 000000000000..fe8426c26e27
--- /dev/null
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/XValueSerializedPresentation.kt
@@ -0,0 +1,78 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.xdebugger.impl.rpc
+
+import com.intellij.ide.ui.icons.IconId
+import com.intellij.openapi.editor.colors.TextAttributesKey
+import kotlinx.serialization.Serializable
+import kotlinx.serialization.Transient
+import org.jetbrains.annotations.ApiStatus
+
+@ApiStatus.Internal
+@Serializable
+sealed interface XValueSerializedPresentation {
+ @ApiStatus.Internal
+ @Serializable
+ data class SimplePresentation(
+ @JvmField val icon: IconId?,
+ @JvmField val presentationType: String?,
+ @JvmField val value: String,
+ @JvmField val hasChildren: Boolean,
+ ) : XValueSerializedPresentation
+
+ @ApiStatus.Internal
+ @Serializable
+ data class AdvancedPresentation(
+ @JvmField val icon: IconId?,
+ @JvmField val hasChildren: Boolean,
+ @JvmField val separator: String,
+ @JvmField val isShownName: Boolean,
+ @JvmField val presentationType: String?,
+ @JvmField val isAsync: Boolean,
+ @JvmField val parts: List,
+ ) : XValueSerializedPresentation
+}
+
+@ApiStatus.Internal
+@Serializable
+sealed interface XValueAdvancedPresentationPart {
+ @ApiStatus.Internal
+ @Serializable
+ data class Value(@JvmField val value: String) : XValueAdvancedPresentationPart
+
+ @ApiStatus.Internal
+ @Serializable
+ data class StringValue(@JvmField val value: String) : XValueAdvancedPresentationPart
+
+ @ApiStatus.Internal
+ @Serializable
+ data class NumericValue(@JvmField val value: String) : XValueAdvancedPresentationPart
+
+ @ApiStatus.Internal
+ @Serializable
+ data class KeywordValue(@JvmField val value: String) : XValueAdvancedPresentationPart
+
+ // TODO[IJPL-160146]: support [TextAttributesKey] serialization
+ @ApiStatus.Internal
+ @Serializable
+ data class ValueWithAttributes(@JvmField val value: String, @Transient @JvmField val key: TextAttributesKey? = null) : XValueAdvancedPresentationPart
+
+ @ApiStatus.Internal
+ @Serializable
+ data class StringValueWithHighlighting(
+ @JvmField val value: String,
+ @JvmField val additionalSpecialCharsToHighlight: String?,
+ @JvmField val maxLength: Int,
+ ) : XValueAdvancedPresentationPart
+
+ @ApiStatus.Internal
+ @Serializable
+ data class Comment(@JvmField val comment: String) : XValueAdvancedPresentationPart
+
+ @ApiStatus.Internal
+ @Serializable
+ data class SpecialSymbol(@JvmField val symbol: String) : XValueAdvancedPresentationPart
+
+ @ApiStatus.Internal
+ @Serializable
+ data class Error(@JvmField val error: String) : XValueAdvancedPresentationPart
+}
\ No newline at end of file
diff --git a/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/package-info.java b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/package-info.java
new file mode 100644
index 000000000000..68876823073d
--- /dev/null
+++ b/platform/xdebugger-impl/shared/src/com/intellij/xdebugger/impl/rpc/package-info.java
@@ -0,0 +1,5 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+@Internal
+package com.intellij.xdebugger.impl.rpc;
+
+import org.jetbrains.annotations.ApiStatus.Internal;
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebugSessionImpl.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebugSessionImpl.kt
index 907adb3853e4..69ad66c288e5 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebugSessionImpl.kt
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebugSessionImpl.kt
@@ -25,7 +25,6 @@ import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.ReadAction
-import com.intellij.openapi.application.readAction
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.editor.markup.GutterIconRenderer
import com.intellij.openapi.project.Project
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerUtilImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerUtilImpl.java
index c2984fb8c84c..8340ad7d8dbb 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerUtilImpl.java
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerUtilImpl.java
@@ -26,6 +26,7 @@ import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.platform.xdebugger.impl.shared.XDebuggerUtilImplShared;
import com.intellij.pom.Navigatable;
import com.intellij.psi.*;
import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil;
@@ -959,37 +960,10 @@ public class XDebuggerUtilImpl extends XDebuggerUtil {
}
public static Navigatable createNavigatable(Project project, XSourcePosition position) {
- return new XSourcePositionNavigatable(project, position);
- }
-
- private static class XSourcePositionNavigatable implements Navigatable {
- private final Project myProject;
- private final XSourcePosition myPosition;
-
- private XSourcePositionNavigatable(Project project, XSourcePosition position) {
- myProject = project;
- myPosition = position;
- }
-
- @Override
- public void navigate(boolean requestFocus) {
- createOpenFileDescriptor(myProject, myPosition).navigate(requestFocus);
- }
-
- @Override
- public boolean canNavigate() {
- return myPosition.getFile().isValid();
- }
-
- @Override
- public boolean canNavigateToSource() {
- return canNavigate();
- }
+ return XDebuggerUtilImplShared.createNavigatable(project, position);
}
public static @NotNull OpenFileDescriptor createOpenFileDescriptor(@NotNull Project project, @NotNull XSourcePosition position) {
- return position.getOffset() != -1
- ? new OpenFileDescriptor(project, position.getFile(), position.getOffset())
- : new OpenFileDescriptor(project, position.getFile(), position.getLine(), 0);
+ return XDebuggerUtilImplShared.createOpenFileDescriptor(project, position);
}
}
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/handlers/XMarkObjectActionHandler.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/handlers/XMarkObjectActionHandler.kt
index 5efa13b7c7eb..0ecbe0c9f9c2 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/handlers/XMarkObjectActionHandler.kt
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/handlers/XMarkObjectActionHandler.kt
@@ -5,11 +5,11 @@ import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.PlatformCoreDataKeys
import com.intellij.openapi.application.EDT
import com.intellij.openapi.project.Project
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.ui.ComponentUtil
import com.intellij.xdebugger.impl.actions.MarkObjectActionHandler
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
import com.intellij.xdebugger.impl.frame.XValueMarkers
-import com.intellij.xdebugger.impl.rpc.XDebuggerValueMarkupApi
import com.intellij.xdebugger.impl.rpc.XValueMarkerDto
import com.intellij.xdebugger.impl.rpc.withId
import com.intellij.xdebugger.impl.ui.DebuggerUIUtil
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointBase.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointBase.java
index de575c2543aa..8c57986033fc 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointBase.java
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointBase.java
@@ -6,7 +6,6 @@ import com.intellij.featureStatistics.FeatureUsageTracker;
import com.intellij.icons.AllIcons;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.application.ApplicationManager;
-import com.intellij.openapi.editor.markup.GutterDraggableObject;
import com.intellij.openapi.editor.markup.GutterIconRenderer;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Comparing;
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointItem.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointItem.java
index ce9b951091a4..8301135a9c1f 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointItem.java
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointItem.java
@@ -17,7 +17,6 @@ import com.intellij.pom.Navigatable;
import com.intellij.ui.*;
import com.intellij.ui.popup.util.DetailView;
import com.intellij.util.concurrency.AppExecutorUtil;
-import com.intellij.xdebugger.breakpoints.XBreakpoint;
import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointItem;
import com.intellij.xdebugger.impl.breakpoints.ui.XLightBreakpointPropertiesPanel;
import com.intellij.xdebugger.impl.rpc.XBreakpointId;
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/BreakpointsDialog.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/BreakpointsDialog.java
index 35aa96bd3935..e8c52c1b6b50 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/BreakpointsDialog.java
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/BreakpointsDialog.java
@@ -6,7 +6,6 @@ import com.intellij.ide.DataManager;
import com.intellij.ide.util.treeView.TreeState;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.DumbAwareToggleAction;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
@@ -26,8 +25,6 @@ import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.ui.JBUI;
import com.intellij.util.ui.tree.TreeUtil;
import com.intellij.xdebugger.XDebuggerBundle;
-import com.intellij.xdebugger.breakpoints.XBreakpoint;
-import com.intellij.xdebugger.breakpoints.XBreakpointType;
import com.intellij.xdebugger.breakpoints.ui.XBreakpointGroupingRule;
import com.intellij.xdebugger.impl.breakpoints.*;
import com.intellij.xdebugger.impl.breakpoints.ui.grouping.XBreakpointCustomGroup;
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/coroutineUtils.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/coroutineUtils.kt
index 69f2162b1c32..1592efe68759 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/coroutineUtils.kt
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/coroutineUtils.kt
@@ -10,13 +10,13 @@ import com.intellij.openapi.components.service
import com.intellij.openapi.editor.impl.editorId
import com.intellij.openapi.project.Project
import com.intellij.platform.project.projectId
+import com.intellij.platform.xdebugger.impl.rpc.XValueApi
import com.intellij.util.ThreeState
import com.intellij.xdebugger.frame.XInlineDebuggerDataCallback
import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.frame.XDebugManagerProxy
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
import com.intellij.xdebugger.impl.rpc.XDebuggerManagerApi
-import com.intellij.xdebugger.impl.rpc.XValueApi
import com.intellij.xdebugger.impl.rpc.sourcePosition
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/common/ValueHintType.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/common/ValueHintType.kt
deleted file mode 100644
index 40a3dd5c882a..000000000000
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/common/ValueHintType.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.xdebugger.impl.evaluate.quick.common
-
-import kotlinx.serialization.Serializable
-
-@Serializable
-enum class ValueHintType {
- MOUSE_OVER_HINT,
- MOUSE_ALT_OVER_HINT,
- MOUSE_CLICK_HINT
-}
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XBreakpointTypeApi.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XBreakpointTypeApi.kt
index 919ba3944a79..2e28eaae2c75 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XBreakpointTypeApi.kt
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XBreakpointTypeApi.kt
@@ -75,10 +75,6 @@ fun XBreakpointTypeSerializableStandardPanels.standardPanel(): XBreakpointType.S
}
}
-@ApiStatus.Internal
-@Serializable
-data class XBreakpointTypeId(val id: String)
-
@ApiStatus.Internal
@Serializable
sealed interface XToggleLineBreakpointResponse
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebugSessionApi.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebugSessionApi.kt
index 03705398363d..dcbeb892ce13 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebugSessionApi.kt
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebugSessionApi.kt
@@ -9,6 +9,7 @@ import com.intellij.ide.rpc.FrontendDocumentId
import com.intellij.ide.ui.icons.IconId
import com.intellij.ide.vfs.VirtualFileId
import com.intellij.openapi.util.NlsContexts
+import kotlinx.serialization.Transient
import com.intellij.openapi.util.NlsSafe
import com.intellij.platform.rpc.Id
import com.intellij.platform.rpc.RemoteApiProviderService
@@ -24,7 +25,6 @@ import fleet.rpc.remoteApiDescriptor
import kotlinx.coroutines.channels.SendChannel
import kotlinx.coroutines.flow.Flow
import kotlinx.serialization.Serializable
-import kotlinx.serialization.Transient
import org.jetbrains.annotations.ApiStatus
import org.jetbrains.annotations.Nls
@@ -88,14 +88,6 @@ interface XDebugSessionApi : RemoteApi {
}
}
-/**
- * @see XDebugSessionId.findValue
- * @see com.intellij.xdebugger.impl.XDebugSessionImpl.id
- */
-@ApiStatus.Internal
-@Serializable
-data class XDebugSessionId(override val uid: UID) : Id
-
@ApiStatus.Internal
@Serializable
data class XDebugSessionDto(
@@ -113,6 +105,24 @@ data class XDebugSessionDto(
val activeNonLineBreakpointIdFlow: RpcFlow,
)
+@ApiStatus.Internal
+@Serializable
+sealed interface XExecutionStacksEvent {
+ @Serializable
+ data class NewExecutionStacks(val stacks: List, val last: Boolean) : XExecutionStacksEvent
+
+ @Serializable
+ data class ErrorOccurred(val errorMessage: @NlsContexts.DialogMessage String) : XExecutionStacksEvent
+}
+
+@ApiStatus.Internal
+@Serializable
+data class XExecutionStackDto(
+ val executionStackId: XExecutionStackId,
+ val displayName: @Nls String,
+ val icon: IconId?,
+)
+
// TODO: should be moved to platform
@ApiStatus.Internal
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerManagerApi.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerManagerApi.kt
index 086b8cc30aa8..5f2fcb40ba46 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerManagerApi.kt
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/XDebuggerManagerApi.kt
@@ -4,6 +4,7 @@ package com.intellij.xdebugger.impl.rpc
import com.intellij.openapi.editor.impl.EditorId
import com.intellij.platform.project.ProjectId
import com.intellij.platform.rpc.RemoteApiProviderService
+import com.intellij.platform.xdebugger.impl.rpc.XStackFrameDto
import fleet.rpc.RemoteApi
import fleet.rpc.Rpc
import fleet.rpc.core.DeferredSerializer
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/models/BackendXValueModel.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/models/BackendXValueModel.kt
index fc2252e935d5..68b62db7abcc 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/models/BackendXValueModel.kt
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/rpc/models/BackendXValueModel.kt
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.ApiStatus
/**
* Model which holds reference to the [XValue].
- * This model allows sending [XValueId] to a client and afterward retrieving [XValue] by this id.
+ * This model allows sending [com.intellij.platform.xdebugger.impl.rpc.XValueId] to a client and afterward retrieving [XValue] by this id.
*
* Since [XValue] implementation is provided by plugins we cannot easily extend this API to support
* [XFullValueEvaluator], [ValueMarkup] etc. which are needed for the RPC backend implementation.
@@ -33,7 +33,7 @@ import org.jetbrains.annotations.ApiStatus
*
* [BackendXValueModel] can be created by [BackendXValueModelsManager.createXValueModel] function.
*
- * @see [XValueId]
+ * @see [com.intellij.platform.xdebugger.impl.rpc.XValueId]
*/
@ApiStatus.Internal
class BackendXValueModel internal constructor(
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToSourceAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToSourceAction.kt
index 653c8e1d412d..f8f52d3d090a 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToSourceAction.kt
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToSourceAction.kt
@@ -5,9 +5,9 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification
import com.intellij.openapi.project.Project
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
-import com.intellij.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.impl.rpc.withId
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToTypeSourceAction.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToTypeSourceAction.kt
index 5990f5abf6d4..f4a251f6d7f4 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToTypeSourceAction.kt
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/actions/XJumpToTypeSourceAction.kt
@@ -5,9 +5,9 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification
import com.intellij.openapi.project.Project
+import com.intellij.platform.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.frame.XValue
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy
-import com.intellij.xdebugger.impl.rpc.XDebuggerNavigationApi
import com.intellij.xdebugger.impl.rpc.withId
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl