diff --git a/.changeset/jetbrains-download-cli.md b/.changeset/jetbrains-download-cli.md index 013e6299358..8885c1a8808 100644 --- a/.changeset/jetbrains-download-cli.md +++ b/.changeset/jetbrains-download-cli.md @@ -2,4 +2,4 @@ "@kilocode/kilo-jetbrains": patch --- -Download the pinned Kilo CLI release at connect time instead of bundling CLI binaries in the plugin. +Download the pinned Kilo Core release at connect time instead of bundling Core binaries in the plugin. diff --git a/packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/rpc/KiloAppRpcApiImpl.kt b/packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/rpc/KiloAppRpcApiImpl.kt index 5c2691a6b12..a68352daa51 100644 --- a/packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/rpc/KiloAppRpcApiImpl.kt +++ b/packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/rpc/KiloAppRpcApiImpl.kt @@ -9,6 +9,7 @@ import ai.kilocode.backend.app.ConfigWarning import ai.kilocode.backend.app.LoadError import ai.kilocode.backend.app.LoadProgress import ai.kilocode.backend.app.ProfileResult +import ai.kilocode.backend.cli.KiloCliPlatform import ai.kilocode.backend.cli.KiloProps import ai.kilocode.jetbrains.api.model.KiloProfile200Response import ai.kilocode.rpc.dto.ConfigPatchDto @@ -54,6 +55,8 @@ class KiloAppRpcApiImpl : KiloAppRpcApi { override suspend fun cliVersion(): String = KiloProps.cliVersion() + override suspend fun cliPlatform(): String = KiloCliPlatform.current() + override suspend fun retry() = app.retry() override suspend fun restart() = app.restart() diff --git a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/actions/CoreInfoAction.kt b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/actions/CoreInfoAction.kt new file mode 100644 index 00000000000..1bad925ec0c --- /dev/null +++ b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/actions/CoreInfoAction.kt @@ -0,0 +1,27 @@ +package ai.kilocode.client.actions + +import ai.kilocode.client.app.KiloAppService +import ai.kilocode.client.plugin.KiloBundle +import com.intellij.openapi.actionSystem.ActionUpdateThread +import com.intellij.openapi.actionSystem.AnAction +import com.intellij.openapi.actionSystem.AnActionEvent +import com.intellij.openapi.components.service +import com.intellij.openapi.project.DumbAware + +class CoreInfoAction : AnAction(), DumbAware { + override fun actionPerformed(e: AnActionEvent) = Unit + + override fun update(e: AnActionEvent) { + val app = service() + val info = app.core + if (info == null) app.fetchCoreInfoAsync() + e.presentation.text = info?.let { + KiloBundle.message("action.Kilo.CoreInfo.text", it.version, it.platform) + } ?: KiloBundle.message("action.Kilo.CoreInfo.loading") + e.presentation.description = KiloBundle.message("action.Kilo.CoreInfo.description") + e.presentation.isEnabled = false + e.presentation.isVisible = true + } + + override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT +} diff --git a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/app/KiloAppService.kt b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/app/KiloAppService.kt index 2ef806cfa98..7edea34c4a7 100644 --- a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/app/KiloAppService.kt +++ b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/app/KiloAppService.kt @@ -27,7 +27,7 @@ import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch /** - * App-level frontend service for Kilo CLI interaction. + * App-level frontend service for Kilo Core interaction. * * Communicates with the backend via [KiloAppRpcApi]. All operations * are app-scoped — no project context is needed. @@ -47,10 +47,13 @@ class KiloAppService internal constructor( private val started = AtomicBoolean(false) - /** CLI version string from the last successful health check, or null if unknown. */ + /** Core version and platform from the backend, or null if unknown. */ @Volatile - var version: String? = null - private set + private var info: CoreInfo? = null + + val core: CoreInfo? get() = info + + val version: String? get() = info?.version internal val _state = MutableStateFlow(init) val state: StateFlow = _state.asStateFlow() @@ -80,6 +83,9 @@ class KiloAppService internal constructor( private fun onState(state: KiloAppStateDto) { _state.value = state + val version = state.downloadVersion + val platform = state.downloadPlatform + if (version != null && platform != null) info = CoreInfo(version, platform) if (state.status == KiloAppStatusDto.READY) refreshModelFavoritesAsync() } @@ -96,20 +102,20 @@ class KiloAppService internal constructor( call { retry() } } - /** Kill the CLI process and restart it. */ + /** Kill the Core process and restart it. */ suspend fun restart() { LOG.info("restart: resetting state and sending RPC") started.set(false) - version = null + info = null call { restart() } LOG.info("restart: RPC returned — backend restart complete") } - /** Kill the CLI process, re-extract the binary, and restart. */ + /** Kill the Core process, re-download the binary, and restart. */ suspend fun reinstall() { LOG.info("reinstall: resetting state and sending RPC") started.set(false) - version = null + info = null call { reinstall() } LOG.info("reinstall: RPC returned — backend reinstall complete") } @@ -131,32 +137,41 @@ class KiloAppService internal constructor( cs.launch { reinstall() } } - suspend fun cliVersion(): String? = try { - call { cliVersion() } + suspend fun coreInfo(): CoreInfo? = try { + val next = CoreInfo( + version = call { cliVersion() }, + platform = call { cliPlatform() }, + ) + info = next + next } catch (e: Exception) { - LOG.warn("cliVersion failed", e) + LOG.warn("core info failed", e) null } - /** Fetch the pinned CLI version and cache it. */ - fun fetchVersionAsync(done: (String?) -> Unit = {}) { - version?.let { + /** Fetch the pinned Core version and platform and cache it. */ + fun fetchCoreInfoAsync(done: (CoreInfo?) -> Unit = {}) { + info?.let { done(it) return } cs.launch { - LOG.info("fetchVersion: requesting CLI version") - val text = cliVersion() - if (text == null) { + LOG.info("fetchCoreInfo: requesting Core version and platform") + val next = coreInfo() + if (next == null) { done(null) return@launch } - version = text - done(text) - LOG.info("fetchVersion: CLI version is $text") + done(next) + LOG.info("fetchCoreInfo: Core version is ${next.version} (${next.platform})") } } + /** Fetch the pinned Core version and cache it. */ + fun fetchVersionAsync(done: (String?) -> Unit = {}) { + fetchCoreInfoAsync { done(it?.version) } + } + fun refreshModelFavoritesAsync() { cs.launch { try { @@ -310,7 +325,7 @@ class KiloAppService internal constructor( fun watch(fn: (KiloAppStateDto) -> Unit): Job { return cs.launch { state.collect { next -> - if (next.status == KiloAppStatusDto.READY) fetchVersionAsync() + if (next.status == KiloAppStatusDto.READY) fetchCoreInfoAsync() fn(next) } } @@ -325,6 +340,8 @@ class KiloAppService internal constructor( } } +data class CoreInfo(val version: String, val platform: String) + private fun summary(patch: ConfigPatchDto): String { val values = patch.values.keys.sorted().joinToString(",").ifEmpty { "none" } return "values=$values agents=${patch.agents.size}" diff --git a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt index 08e8faaede7..2e7945cd4ef 100644 --- a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt +++ b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt @@ -485,14 +485,8 @@ class SessionUi( activity = { manager?.activity() ?: sessions.activity() }, titles = { manager?.titles().orEmpty() }, timers = timers, - cliVersion = app.version, ) empty = panel - app.fetchVersionAsync { version -> - ApplicationManager.getApplication().invokeLater { - if (!disposed && empty === panel) panel.setCliVersion(version) - } - } scroll.show(panel.view) } @@ -503,7 +497,6 @@ class SessionUi( is SessionControllerEvent.AppChanged -> { prompt.setReady(controller.model.isReady()) - empty?.setCliVersion(app.version) } is SessionControllerEvent.WorkspaceChanged -> { diff --git a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/empty/EmptySessionPanel.kt b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/empty/EmptySessionPanel.kt index c8b7a7cdc5d..f277884c261 100644 --- a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/empty/EmptySessionPanel.kt +++ b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/empty/EmptySessionPanel.kt @@ -55,7 +55,6 @@ class EmptySessionPanel( private val titles: () -> Map = { emptyMap() }, private val browse: (String) -> Unit = BrowserUtil::browse, private val timers: UiTimerSource = UiTimers, - cliVersion: String? = null, ) : BorderLayoutPanel(), Disposable, SessionEditorStyleTarget { val view: Align = align(HAlign.CENTER, VAlign.CENTER) @@ -74,13 +73,6 @@ class EmptySessionPanel( setAllowAutoWrapping(true) } - private val versionLabel = JBLabel().apply { - foreground = UIUtil.getContextHelpForeground() - font = com.intellij.util.ui.JBFont.small() - horizontalAlignment = JBLabel.CENTER - isVisible = false - } - private val description = object : BorderLayoutPanel() { override fun getPreferredSize(): Dimension { val size = super.getPreferredSize() @@ -120,15 +112,11 @@ class EmptySessionPanel( ).apply { horizontalAlignment = JBLabel.CENTER } - val logoBlock = Stack.vertical(gap = UiStyle.Gap.xs()) - .next(logo) - .next(versionLabel) val header = BorderLayoutPanel(0, gap).apply { isOpaque = false - add(logoBlock, BorderLayout.NORTH) + add(logo, BorderLayout.NORTH) add(description.align(HAlign.CENTER, VAlign.CENTER), BorderLayout.CENTER) } - setCliVersion(cliVersion) val south = BorderLayoutPanel().apply { isOpaque = false @@ -170,15 +158,6 @@ class EmptySessionPanel( internal fun feedbackContent(open: (String) -> Unit = {}): JComponent = EmptySessionFeedback.content(open) - @RequiresEdt - fun setCliVersion(version: String?) { - val text = version?.takeIf { it.isNotBlank() } - versionLabel.text = text?.let { KiloBundle.message("session.empty.cliVersion", it) }.orEmpty() - versionLabel.isVisible = text != null - revalidate() - repaint() - } - internal fun feedbackUrls() = EmptySessionFeedback.urls() internal fun showHistoryBorderPainted() = historyButton.isBorderPainted diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/kilo.jetbrains.frontend.xml b/packages/kilo-jetbrains/frontend/src/main/resources/kilo.jetbrains.frontend.xml index ecb2986f963..1d913645b23 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/kilo.jetbrains.frontend.xml +++ b/packages/kilo-jetbrains/frontend/src/main/resources/kilo.jetbrains.frontend.xml @@ -105,6 +105,9 @@ + + @@ -114,9 +117,11 @@ - + + + diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties index 00285f7666e..718b30439fe 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties @@ -1,8 +1,8 @@ common.delete=Delete session.connection.connecting=Loading... -session.connection.downloading=Downloading Kilo CLI… {0}% -session.connection.downloading.version=Downloading Kilo CLI v{0} ({1})… {2}% +session.connection.downloading=Downloading Kilo Core… {0}% +session.connection.downloading.version=Downloading Kilo Core v{0} ({1})… {2}% session.connection.error.app=Connection failed session.connection.error.workspace=Workspace loading failed session.connection.error.unknown=Unknown error @@ -12,7 +12,6 @@ session.connection.warning.config=Configuration warnings notification.group.kilo=Kilo Code session.empty.welcome=Kilo Code is an AI coding assistant. Ask it to build features, fix bugs, or explain your codebase. -session.empty.cliVersion=Kilo CLI v{0} session.account.balance=Balance: {0} session.account.switcher=Switch account session.empty.loading=Loading... @@ -282,7 +281,7 @@ action.Kilo.ToolWindowToolbar.text=Kilo Toolbar settings.kilo.displayName=Kilo Code settings.kilo.description=Configure Kilo Code AI coding assistant features and account settings. settings.cli.unavailable.title=Kilo Code is not connected -settings.cli.unavailable.message=Settings are available after Kilo Code connects to the CLI. If this does not resolve, restart the IDE or the Kilo CLI and try again. +settings.cli.unavailable.message=Settings are available after Kilo Code connects to Core. If this does not resolve, restart the IDE or Kilo Core and try again. settings.models.displayName=Models settings.providers.displayName=Providers settings.agentBehavior.displayName=Agent Behavior @@ -539,14 +538,17 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions action.Kilo.Restart.text=Restart -action.Kilo.Restart.cli.text=Restart CLI -action.Kilo.Restart.description=Kill and restart the CLI process +action.Kilo.Restart.cli.text=Restart Core +action.Kilo.Restart.description=Kill and restart the Core process action.Kilo.Reinstall.text=Reinstall -action.Kilo.Reinstall.cli.text=Reinstall CLI -action.Kilo.Reinstall.description=Re-extract the CLI binary and restart +action.Kilo.Reinstall.cli.text=Reinstall Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart +action.Kilo.CoreInfo.text=Core v{0} • Architecture: {1} +action.Kilo.CoreInfo.loading=Core details loading... +action.Kilo.CoreInfo.description=Kilo Core version and architecture action.Kilo.Session.Open.text=Open action.Kilo.Session.Open.description=Open the selected session action.Kilo.Session.Rename.text=Rename diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ar.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ar.properties index 080f53bf16d..54a06c17255 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ar.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ar.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=إيقاف جلسة Kilo الحالية action.Kilo.SettingsGroup.text=الإعدادات action.Kilo.SettingsGroup.description=إعدادات Kilo Code action.Kilo.Restart.text=إعادة تشغيل Kilo -action.Kilo.Restart.cli.text=إعادة تشغيل CLI -action.Kilo.Restart.description=إنهاء عملية CLI وإعادة تشغيلها +action.Kilo.Restart.cli.text=إعادة تشغيل Core +action.Kilo.Restart.description=إنهاء عملية Core وإعادة تشغيلها action.Kilo.Reinstall.text=إعادة تثبيت Kilo -action.Kilo.Reinstall.cli.text=إعادة تثبيت CLI -action.Kilo.Reinstall.description=استخراج CLI مجدداً وإعادة التشغيل +action.Kilo.Reinstall.cli.text=إعادة تثبيت Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=فتح action.Kilo.Session.Open.description=فتح الجلسة المحددة action.Kilo.Session.Rename.text=إعادة تسمية @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_bs.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_bs.properties index a68d6dd079b..8589d3cc662 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_bs.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_bs.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=Zaustavi trenutnu Kilo sesiju action.Kilo.SettingsGroup.text=Postavke action.Kilo.SettingsGroup.description=Postavke Kilo Code action.Kilo.Restart.text=Ponovo pokrenite Kilo -action.Kilo.Restart.cli.text=Ponovo pokrenite CLI -action.Kilo.Restart.description=Ugasite i ponovo pokrenite CLI proces +action.Kilo.Restart.cli.text=Ponovo pokrenite Core +action.Kilo.Restart.description=Ugasite i ponovo pokrenite Core proces action.Kilo.Reinstall.text=Ponovo instalirajte Kilo -action.Kilo.Reinstall.cli.text=Ponovo instalirajte CLI -action.Kilo.Reinstall.description=Ponovo raspakirajte CLI binarnu datoteku i ponovo pokrenite +action.Kilo.Reinstall.cli.text=Ponovo instalirajte Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Otvori action.Kilo.Session.Open.description=Otvorite odabranu sesiju action.Kilo.Session.Rename.text=Preimenuj @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_da.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_da.properties index d2d1ed7e20c..b14a7d7f371 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_da.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_da.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=Stop den aktuelle Kilo-session action.Kilo.SettingsGroup.text=Indstillinger action.Kilo.SettingsGroup.description=Kilo Code-indstillinger action.Kilo.Restart.text=Genstart Kilo -action.Kilo.Restart.cli.text=Genstart CLI -action.Kilo.Restart.description=Afslut og genstart CLI-processen +action.Kilo.Restart.cli.text=Genstart Core +action.Kilo.Restart.description=Afslut og genstart Core-processen action.Kilo.Reinstall.text=Geninstaller Kilo -action.Kilo.Reinstall.cli.text=Geninstaller CLI -action.Kilo.Reinstall.description=Udpak CLI-binærfilen igen og genstart +action.Kilo.Reinstall.cli.text=Geninstaller Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Åbn action.Kilo.Session.Open.description=Åbn den valgte session action.Kilo.Session.Rename.text=Omdøb @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_de.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_de.properties index 7a7a691fefb..508372e4255 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_de.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_de.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=Aktuelle Kilo-Sitzung stoppen action.Kilo.SettingsGroup.text=Einstellungen action.Kilo.SettingsGroup.description=Kilo Code Einstellungen action.Kilo.Restart.text=Kilo neu starten -action.Kilo.Restart.cli.text=CLI neu starten -action.Kilo.Restart.description=CLI-Prozess beenden und neu starten +action.Kilo.Restart.cli.text=Core neu starten +action.Kilo.Restart.description=Core-Prozess beenden und neu starten action.Kilo.Reinstall.text=Kilo neu installieren -action.Kilo.Reinstall.cli.text=CLI neu installieren -action.Kilo.Reinstall.description=CLI-Binärdatei neu extrahieren und neu starten +action.Kilo.Reinstall.cli.text=Core neu installieren +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Öffnen action.Kilo.Session.Open.description=Ausgewählte Sitzung öffnen action.Kilo.Session.Rename.text=Umbenennen @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_es.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_es.properties index baddfdc2248..eaae1f4cbf9 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_es.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_es.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=Detener la sesión actual de Kilo action.Kilo.SettingsGroup.text=Configuración action.Kilo.SettingsGroup.description=Configuración de Kilo Code action.Kilo.Restart.text=Reiniciar Kilo -action.Kilo.Restart.cli.text=Reiniciar CLI -action.Kilo.Restart.description=Terminar y reiniciar el proceso CLI +action.Kilo.Restart.cli.text=Reiniciar Core +action.Kilo.Restart.description=Terminar y reiniciar el proceso Core action.Kilo.Reinstall.text=Reinstalar Kilo -action.Kilo.Reinstall.cli.text=Reinstalar CLI -action.Kilo.Reinstall.description=Reextraer el binario CLI y reiniciar +action.Kilo.Reinstall.cli.text=Reinstalar Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Abrir action.Kilo.Session.Open.description=Abrir la sesión seleccionada action.Kilo.Session.Rename.text=Renombrar @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_fr.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_fr.properties index 1d938db28e5..ba0795ca4e7 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_fr.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_fr.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=Arrêter la session Kilo actuelle action.Kilo.SettingsGroup.text=Paramètres action.Kilo.SettingsGroup.description=Paramètres de Kilo Code action.Kilo.Restart.text=Redémarrer Kilo -action.Kilo.Restart.cli.text=Redémarrer CLI -action.Kilo.Restart.description=Tuer et redémarrer le processus CLI +action.Kilo.Restart.cli.text=Redémarrer Core +action.Kilo.Restart.description=Tuer et redémarrer le processus Core action.Kilo.Reinstall.text=Réinstaller Kilo -action.Kilo.Reinstall.cli.text=Réinstaller CLI -action.Kilo.Reinstall.description=Réextraire le binaire CLI et redémarrer +action.Kilo.Reinstall.cli.text=Réinstaller Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Ouvrir action.Kilo.Session.Open.description=Ouvrir la session sélectionnée action.Kilo.Session.Rename.text=Renommer @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ja.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ja.properties index 3912f106aaa..360e3124981 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ja.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ja.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=現在のKiloセッションを停止 action.Kilo.SettingsGroup.text=設定 action.Kilo.SettingsGroup.description=Kilo Codeの設定 action.Kilo.Restart.text=Kiloを再起動 -action.Kilo.Restart.cli.text=CLIを再起動 -action.Kilo.Restart.description=CLIプロセスを終了して再起動 +action.Kilo.Restart.cli.text=Coreを再起動 +action.Kilo.Restart.description=Coreプロセスを終了して再起動 action.Kilo.Reinstall.text=Kiloを再インストール -action.Kilo.Reinstall.cli.text=CLIを再インストール -action.Kilo.Reinstall.description=CLIバイナリを再展開して再起動 +action.Kilo.Reinstall.cli.text=Coreを再インストール +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=開く action.Kilo.Session.Open.description=選択したセッションを開く action.Kilo.Session.Rename.text=変名 @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ko.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ko.properties index 82d758dce12..970ddaf16d9 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ko.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ko.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=현재 Kilo 세션 정지 action.Kilo.SettingsGroup.text=설정 action.Kilo.SettingsGroup.description=Kilo Code 설정 action.Kilo.Restart.text=Kilo 재시작 -action.Kilo.Restart.cli.text=CLI 재시작 -action.Kilo.Restart.description=CLI 프로세스 종료 후 재시작 +action.Kilo.Restart.cli.text=Core 재시작 +action.Kilo.Restart.description=Core 프로세스 종료 후 재시작 action.Kilo.Reinstall.text=Kilo 재설치 -action.Kilo.Reinstall.cli.text=CLI 재설치 -action.Kilo.Reinstall.description=CLI 바이너리 재추출 후 재시작 +action.Kilo.Reinstall.cli.text=Core 재설치 +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=열기 action.Kilo.Session.Open.description=선택한 세션 열기 action.Kilo.Session.Rename.text=이름 바꾸기 @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_nl.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_nl.properties index 72e2813f190..7e19e9aee2c 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_nl.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_nl.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=Huidige Kilo-sessie stoppen action.Kilo.SettingsGroup.text=Instellingen action.Kilo.SettingsGroup.description=Kilo Code-instellingen action.Kilo.Restart.text=Kilo herstarten -action.Kilo.Restart.cli.text=CLI herstarten -action.Kilo.Restart.description=CLI-proces beëindigen en herstarten +action.Kilo.Restart.cli.text=Core herstarten +action.Kilo.Restart.description=Core-proces beëindigen en herstarten action.Kilo.Reinstall.text=Kilo herinstalleren -action.Kilo.Reinstall.cli.text=CLI herinstalleren -action.Kilo.Reinstall.description=CLI-binair opnieuw uitpakken en herstarten +action.Kilo.Reinstall.cli.text=Core herinstalleren +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Openen action.Kilo.Session.Open.description=Geselecteerde sessie openen action.Kilo.Session.Rename.text=Hernoemen @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_no.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_no.properties index 77052f93672..d55e8a0166a 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_no.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_no.properties @@ -139,11 +139,11 @@ action.Kilo.StopSession.description=Stopp gjeldende Kilo-økt action.Kilo.SettingsGroup.text=Innstillinger action.Kilo.SettingsGroup.description=Kilo Code-innstillinger action.Kilo.Restart.text=Start Kilo på nytt -action.Kilo.Restart.cli.text=Start CLI på nytt -action.Kilo.Restart.description=Avslutt og start CLI-prosessen på nytt +action.Kilo.Restart.cli.text=Start Core på nytt +action.Kilo.Restart.description=Avslutt og start Core-prosessen på nytt action.Kilo.Reinstall.text=Installer Kilo på nytt -action.Kilo.Reinstall.cli.text=Installer CLI på nytt -action.Kilo.Reinstall.description=Pakk ut CLI-binærfilen på nytt og start på nytt +action.Kilo.Reinstall.cli.text=Installer Core på nytt +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Åpne action.Kilo.Session.Open.description=Åpne valgt økt action.Kilo.Session.Rename.text=Gi nytt navn @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pl.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pl.properties index 171ac2d8241..dfa0f2442d8 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pl.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pl.properties @@ -139,11 +139,11 @@ action.Kilo.StopSession.description=Zatrzymaj bieżącą sesję Kilo action.Kilo.SettingsGroup.text=Ustawienia action.Kilo.SettingsGroup.description=Ustawienia Kilo Code action.Kilo.Restart.text=Uruchom ponownie Kilo -action.Kilo.Restart.cli.text=Uruchom ponownie CLI -action.Kilo.Restart.description=Zakończ i uruchom ponownie proces CLI +action.Kilo.Restart.cli.text=Uruchom ponownie Core +action.Kilo.Restart.description=Zakończ i uruchom ponownie proces Core action.Kilo.Reinstall.text=Zainstaluj ponownie Kilo -action.Kilo.Reinstall.cli.text=Zainstaluj ponownie CLI -action.Kilo.Reinstall.description=Ponownie wyodrębnij plik binarny CLI i uruchom ponownie +action.Kilo.Reinstall.cli.text=Zainstaluj ponownie Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Otwórz action.Kilo.Session.Open.description=Otwórz wybraną sesję action.Kilo.Session.Rename.text=Zmień nazwę @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pt_BR.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pt_BR.properties index cec8cecbdd2..aac69eaae96 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pt_BR.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pt_BR.properties @@ -139,11 +139,11 @@ action.Kilo.StopSession.description=Parar a sessão atual do Kilo action.Kilo.SettingsGroup.text=Configurações action.Kilo.SettingsGroup.description=Configurações do Kilo Code action.Kilo.Restart.text=Reiniciar Kilo -action.Kilo.Restart.cli.text=Reiniciar CLI -action.Kilo.Restart.description=Encerrar e reiniciar o processo CLI +action.Kilo.Restart.cli.text=Reiniciar Core +action.Kilo.Restart.description=Encerrar e reiniciar o processo Core action.Kilo.Reinstall.text=Reinstalar Kilo -action.Kilo.Reinstall.cli.text=Reinstalar CLI -action.Kilo.Reinstall.description=Reextrair o binário CLI e reiniciar +action.Kilo.Reinstall.cli.text=Reinstalar Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Abrir action.Kilo.Session.Open.description=Abrir a sessão selecionada action.Kilo.Session.Rename.text=Renomear @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ru.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ru.properties index f9528d1e32a..edf8aea4b50 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ru.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ru.properties @@ -139,11 +139,11 @@ action.Kilo.StopSession.description=Остановить текущую сесс action.Kilo.SettingsGroup.text=Настройки action.Kilo.SettingsGroup.description=Настройки Kilo Code action.Kilo.Restart.text=Перезапустить Kilo -action.Kilo.Restart.cli.text=Перезапустить CLI -action.Kilo.Restart.description=Завершить и перезапустить CLI-процесс +action.Kilo.Restart.cli.text=Перезапустить Core +action.Kilo.Restart.description=Завершить и перезапустить Core-процесс action.Kilo.Reinstall.text=Переустановить Kilo -action.Kilo.Reinstall.cli.text=Переустановить CLI -action.Kilo.Reinstall.description=Переизвлечь CLI-бинарник и перезапустить +action.Kilo.Reinstall.cli.text=Переустановить Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Открыть action.Kilo.Session.Open.description=Открыть выбранную сессию action.Kilo.Session.Rename.text=Переименовать @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_th.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_th.properties index c07d2fe693a..192fbafa392 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_th.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_th.properties @@ -139,11 +139,11 @@ action.Kilo.StopSession.description=หยุดเซสชัน Kilo ปั action.Kilo.SettingsGroup.text=การตั้งค่า action.Kilo.SettingsGroup.description=การตั้งค่า Kilo Code action.Kilo.Restart.text=รีสตาร์ต Kilo -action.Kilo.Restart.cli.text=รีสตาร์ต CLI -action.Kilo.Restart.description=สิ้นสุดและรีสตาร์ตกระบวนการ CLI +action.Kilo.Restart.cli.text=รีสตาร์ต Core +action.Kilo.Restart.description=สิ้นสุดและรีสตาร์ตกระบวนการ Core action.Kilo.Reinstall.text=ติดตั้ง Kilo ใหม่ -action.Kilo.Reinstall.cli.text=ติดตั้ง CLI ใหม่ -action.Kilo.Reinstall.description=แตกไฟล์ไบนารี CLI อีกครั้งและรีสตาร์ต +action.Kilo.Reinstall.cli.text=ติดตั้ง Core ใหม่ +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=เปิด action.Kilo.Session.Open.description=เปิดเซสชันที่เลือก action.Kilo.Session.Rename.text=เปลี่ยนชื่อ @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_tr.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_tr.properties index ed9646acac2..3976303b098 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_tr.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_tr.properties @@ -139,11 +139,11 @@ action.Kilo.StopSession.description=Geçerli Kilo oturumunu durdur action.Kilo.SettingsGroup.text=Ayarlar action.Kilo.SettingsGroup.description=Kilo Code ayarları action.Kilo.Restart.text=Kilo’yu yeniden başlat -action.Kilo.Restart.cli.text=CLI’yi yeniden başlat -action.Kilo.Restart.description=CLI sürecini sonlandır ve yeniden başlat +action.Kilo.Restart.cli.text=Core’yi yeniden başlat +action.Kilo.Restart.description=Core sürecini sonlandır ve yeniden başlat action.Kilo.Reinstall.text=Kilo’yu yeniden yükle -action.Kilo.Reinstall.cli.text=CLI’yi yeniden yükle -action.Kilo.Reinstall.description=CLI ikili dosyasını yeniden çıkar ve yeniden başlat +action.Kilo.Reinstall.cli.text=Core’yi yeniden yükle +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Aç action.Kilo.Session.Open.description=Seçilen oturumu aç action.Kilo.Session.Rename.text=Yeniden adlandır @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_uk.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_uk.properties index 7b6911cf734..6594c293afb 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_uk.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_uk.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=Зупинити поточну сесію K action.Kilo.SettingsGroup.text=Налаштування action.Kilo.SettingsGroup.description=Налаштування Kilo Code action.Kilo.Restart.text=Перезапустити Kilo -action.Kilo.Restart.cli.text=Перезапустити CLI -action.Kilo.Restart.description=Завершити і перезапустити CLI-процес +action.Kilo.Restart.cli.text=Перезапустити Core +action.Kilo.Restart.description=Завершити і перезапустити Core-процес action.Kilo.Reinstall.text=Перевстановити Kilo -action.Kilo.Reinstall.cli.text=Перевстановити CLI -action.Kilo.Reinstall.description=Перерозпакувати CLI-бінарний файл і перезапустити +action.Kilo.Reinstall.cli.text=Перевстановити Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=Відкрити action.Kilo.Session.Open.description=Відкрити вибрану сесію action.Kilo.Session.Rename.text=Перейменувати @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_CN.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_CN.properties index eedfaf9fa9c..959b9c8c9d3 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_CN.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_CN.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=停止当前 Kilo 会话 action.Kilo.SettingsGroup.text=设置 action.Kilo.SettingsGroup.description=Kilo Code 设置 action.Kilo.Restart.text=重启 Kilo -action.Kilo.Restart.cli.text=重启 CLI -action.Kilo.Restart.description=终止并重启 CLI 进程 +action.Kilo.Restart.cli.text=重启 Core +action.Kilo.Restart.description=终止并重启 Core 进程 action.Kilo.Reinstall.text=重新安装 Kilo -action.Kilo.Reinstall.cli.text=重新安装 CLI -action.Kilo.Reinstall.description=重新解压 CLI 二进制文件并重启 +action.Kilo.Reinstall.cli.text=重新安装 Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=打开 action.Kilo.Session.Open.description=打开所选会话 action.Kilo.Session.Rename.text=重命名 @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_TW.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_TW.properties index 6021a8790a1..b9e0268c877 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_TW.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_TW.properties @@ -134,11 +134,11 @@ action.Kilo.StopSession.description=停止目前的 Kilo 工作階段 action.Kilo.SettingsGroup.text=設定 action.Kilo.SettingsGroup.description=Kilo Code 設定 action.Kilo.Restart.text=重啟 Kilo -action.Kilo.Restart.cli.text=重啟 CLI -action.Kilo.Restart.description=終止並重啟 CLI 程序 +action.Kilo.Restart.cli.text=重啟 Core +action.Kilo.Restart.description=終止並重啟 Core 程序 action.Kilo.Reinstall.text=重新安裝 Kilo -action.Kilo.Reinstall.cli.text=重新安裝 CLI -action.Kilo.Reinstall.description=重新解壓縮 CLI 二進位檔案並重啟 +action.Kilo.Reinstall.cli.text=重新安裝 Core +action.Kilo.Reinstall.description=Download a fresh Core binary and restart action.Kilo.Session.Open.text=開啟 action.Kilo.Session.Open.description=開啟所選工作階段 action.Kilo.Session.Rename.text=重命名 @@ -310,8 +310,8 @@ action.Kilo.OpenGlobalConfig.text=Open: global {0} action.Kilo.CreateGlobalConfig.text=Create: global {0} action.Kilo.OpenGlobalConfig.description=Open or create the global Kilo config file action.Kilo.OpenConfig.failed=Failed to open Kilo config file -action.Kilo.CliGroup.text=CLI -action.Kilo.CliGroup.description=Kilo CLI actions +action.Kilo.CliGroup.text=Core +action.Kilo.CliGroup.description=Kilo Core actions settings.agentBehavior.agents.import.title=Import Agent Definition settings.agentBehavior.agents.import.description=Choose a .agent.json file exported from Kilo Code. settings.agentBehavior.agents.import.progress=Importing agent definition... diff --git a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/KiloRecoveryActionsTest.kt b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/KiloRecoveryActionsTest.kt index 14b0d61e4e6..8629fa1c762 100644 --- a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/KiloRecoveryActionsTest.kt +++ b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/KiloRecoveryActionsTest.kt @@ -1,8 +1,10 @@ package ai.kilocode.client.actions +import ai.kilocode.client.app.KiloAppService import ai.kilocode.client.app.KiloWorkspaceService import ai.kilocode.client.app.Workspace import ai.kilocode.client.session.SessionManager +import ai.kilocode.client.testing.FakeAppRpcApi import ai.kilocode.client.testing.FakeWorkspaceRpcApi import ai.kilocode.rpc.dto.ConfigTargetDto import ai.kilocode.rpc.dto.KiloWorkspaceStateDto @@ -30,11 +32,18 @@ import kotlinx.coroutines.withTimeout class KiloRecoveryActionsTest : BasePlatformTestCase() { private lateinit var scope: CoroutineScope private lateinit var rpc: FakeWorkspaceRpcApi + private lateinit var appRpc: FakeAppRpcApi override fun setUp() { super.setUp() scope = CoroutineScope(SupervisorJob()) rpc = FakeWorkspaceRpcApi() + appRpc = FakeAppRpcApi() + ApplicationManager.getApplication().replaceService( + KiloAppService::class.java, + KiloAppService(scope, appRpc), + testRootDisposable, + ) ApplicationManager.getApplication().replaceService( KiloWorkspaceService::class.java, KiloWorkspaceService(scope, rpc), @@ -68,38 +77,55 @@ class KiloRecoveryActionsTest : BasePlatformTestCase() { assertTrue("Reinstall should force-enable recovery action", event.presentation.isEnabled) } - fun `test restart action adds cli suffix in connection retry popup`() { + fun `test restart action adds core suffix in connection retry popup`() { val action = RestartKiloAction() val event = event(action, place = KiloActionPlaces.connectionRetryPopup()) update(action, event) - assertEquals("Restart CLI", event.presentation.text) + assertEquals("Restart Core", event.presentation.text) } - fun `test reinstall action adds cli suffix in connection retry popup`() { + fun `test reinstall action adds core suffix in connection retry popup`() { val action = ReinstallKiloAction() val event = event(action, place = KiloActionPlaces.connectionRetryPopup()) update(action, event) - assertEquals("Reinstall CLI", event.presentation.text) + assertEquals("Reinstall Core", event.presentation.text) } - fun `test cli group has visible menu text`() { + fun `test core group has visible menu text and info action`() { val xml = requireNotNull(javaClass.classLoader.getResourceAsStream("kilo.jetbrains.frontend.xml")) .bufferedReader() .use { it.readText() } - assertTrue(xml.contains("")) + assertTrue(xml.contains("")) assertTrue(xml.contains("")) assertTrue(xml.contains("")) + assertTrue(xml.contains("")) assertTrue(xml.contains("")) assertTrue(xml.contains("")) assertFalse(xml.contains("")) } + fun `test core info action shows version and architecture`() { + appRpc.cliVersion = "1.2.3" + appRpc.cliPlatform = "darwin-arm64" + ApplicationManager.getApplication().executeOnPooledThread { + runBlocking { app().coreInfo() } + }.get() + val action = CoreInfoAction() + val event = event(action) + + update(action, event) + + assertFalse(event.presentation.isEnabled) + assertTrue(event.presentation.isVisible) + assertEquals("Core v1.2.3 • Architecture: darwin-arm64", event.presentation.text) + } + fun `test local config action says open when target exists`() { rpc.localConfigPath = "/test/.kilo/kilo.jsonc" rpc.localConfigDisplayPath = "~/.kilo/kilo.jsonc" @@ -311,6 +337,8 @@ class KiloRecoveryActionsTest : BasePlatformTestCase() { private fun service(): KiloWorkspaceService = ApplicationManager.getApplication().getService(KiloWorkspaceService::class.java) + private fun app(): KiloAppService = ApplicationManager.getApplication().getService(KiloAppService::class.java) + private fun cacheGlobal(target: ConfigTargetDto) { val field = KiloWorkspaceService::class.java.getDeclaredField("globalConfig") field.isAccessible = true diff --git a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/ConnectionPanelTest.kt b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/ConnectionPanelTest.kt index f969235bb97..e7253e5867a 100644 --- a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/ConnectionPanelTest.kt +++ b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/ConnectionPanelTest.kt @@ -94,7 +94,7 @@ class ConnectionPanelTest : SessionControllerTestBase() { assertEquals("Try again", panel.retryText()) } - fun `test retry popup group uses cli recovery actions`() { + fun `test retry popup group uses core recovery actions`() { edt { panel.onEvent(SessionControllerEvent.ConnectionChanged.ShowError("CLI startup failed", null)) } @@ -104,9 +104,10 @@ class ConnectionPanelTest : SessionControllerTestBase() { assertTrue(panel.retryVisible()) assertEquals("Kilo.CliGroup", ConnectionPanel.CLI_GROUP_ID) - assertTrue(xml.contains("")) + assertTrue(xml.contains("")) assertTrue(xml.contains("")) assertTrue(xml.contains("")) + assertTrue(xml.contains("")) } fun `test ready warnings show collapsed banner with retry`() { diff --git a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/EmptySessionPanelTest.kt b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/EmptySessionPanelTest.kt index 6f362a0449c..d0c6f0b0eab 100644 --- a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/EmptySessionPanelTest.kt +++ b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/EmptySessionPanelTest.kt @@ -138,23 +138,6 @@ class EmptySessionPanelTest : BasePlatformTestCase() { ) } - fun `test cli version line updates`() { - val panel = panel() - val text = KiloBundle.message("session.empty.cliVersion", "1.2.3") - - panel.setCliVersion("1.2.3") - val label = UIUtil.uiTraverser(panel) - .filter(JBLabel::class.java) - .first { it.text == text } - - assertTrue(label.isVisible) - - panel.setCliVersion(null) - - assertEquals("", label.text) - assertFalse(label.isVisible) - } - fun `test selecting recent session does not open it`() { val panel = panel(listOf(session("ses_1"), session("ses_2"))) diff --git a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/testing/FakeAppRpcApi.kt b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/testing/FakeAppRpcApi.kt index 546ba6e55ff..bc67e9f2d89 100644 --- a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/testing/FakeAppRpcApi.kt +++ b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/testing/FakeAppRpcApi.kt @@ -32,6 +32,7 @@ class FakeAppRpcApi : KiloAppRpcApi { val state = MutableStateFlow(KiloAppStateDto(KiloAppStatusDto.DISCONNECTED)) var health = HealthDto(healthy = true, version = "1.0.0") var cliVersion = "1.0.0" + var cliPlatform = "darwin-arm64" var models = ModelStateDto() val selections = mutableListOf() val cleared = mutableListOf() @@ -73,6 +74,11 @@ class FakeAppRpcApi : KiloAppRpcApi { return cliVersion } + override suspend fun cliPlatform(): String { + assertNotEdt("cliPlatform") + return cliPlatform + } + override suspend fun retry() { assertNotEdt("retry") retries += 1 diff --git a/packages/kilo-jetbrains/shared/src/main/kotlin/ai/kilocode/rpc/KiloAppRpcApi.kt b/packages/kilo-jetbrains/shared/src/main/kotlin/ai/kilocode/rpc/KiloAppRpcApi.kt index 91f43499cae..e05b4c3bdf1 100644 --- a/packages/kilo-jetbrains/shared/src/main/kotlin/ai/kilocode/rpc/KiloAppRpcApi.kt +++ b/packages/kilo-jetbrains/shared/src/main/kotlin/ai/kilocode/rpc/KiloAppRpcApi.kt @@ -39,16 +39,19 @@ interface KiloAppRpcApi : RemoteApi { /** One-shot health check against /global/health. */ suspend fun health(): HealthDto - /** Pinned CLI version bundled in backend resources. */ + /** Pinned Core version bundled in backend resources. */ suspend fun cliVersion(): String + /** Core platform downloaded by the backend process. */ + suspend fun cliPlatform(): String + /** Retry app connection or loading after a failure. */ suspend fun retry() - /** Kill the CLI process and restart it. */ + /** Kill the Core process and restart it. */ suspend fun restart() - /** Kill the CLI process, re-extract the binary, and restart. */ + /** Kill the Core process, re-download the binary, and restart. */ suspend fun reinstall() /** Load persisted CLI model state such as favorites. */