mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-19 01:51:21 +08:00
feat(jetbrains): show Core runtime info
This commit is contained in:
@@ -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.
|
||||
|
||||
+3
@@ -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()
|
||||
|
||||
+27
@@ -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<KiloAppService>()
|
||||
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
|
||||
}
|
||||
+38
-21
@@ -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<KiloAppStateDto> = _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}"
|
||||
|
||||
-7
@@ -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 -> {
|
||||
|
||||
+1
-22
@@ -55,7 +55,6 @@ class EmptySessionPanel(
|
||||
private val titles: () -> Map<String, String> = { 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
|
||||
|
||||
@@ -105,6 +105,9 @@
|
||||
<action id="Kilo.Reinstall"
|
||||
class="ai.kilocode.client.actions.ReinstallKiloAction"/>
|
||||
|
||||
<action id="Kilo.CoreInfo"
|
||||
class="ai.kilocode.client.actions.CoreInfoAction"/>
|
||||
|
||||
<action id="Kilo.OpenSettings"
|
||||
class="ai.kilocode.client.actions.OpenSettingsAction"/>
|
||||
|
||||
@@ -114,9 +117,11 @@
|
||||
<action id="Kilo.OpenGlobalConfig"
|
||||
class="ai.kilocode.client.actions.OpenGlobalConfigAction"/>
|
||||
|
||||
<group id="Kilo.CliGroup" text="CLI" popup="true">
|
||||
<group id="Kilo.CliGroup" text="Core" popup="true">
|
||||
<reference ref="Kilo.Restart"/>
|
||||
<reference ref="Kilo.Reinstall"/>
|
||||
<separator/>
|
||||
<reference ref="Kilo.CoreInfo"/>
|
||||
</group>
|
||||
|
||||
<group id="Kilo.OpenConfigGroup" text="Config Files" popup="true">
|
||||
|
||||
+12
-10
@@ -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
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+6
-6
@@ -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...
|
||||
|
||||
+34
-6
@@ -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("<group id=\"Kilo.CliGroup\" text=\"CLI\" popup=\"true\">"))
|
||||
assertTrue(xml.contains("<group id=\"Kilo.CliGroup\" text=\"Core\" popup=\"true\">"))
|
||||
assertTrue(xml.contains("<reference ref=\"Kilo.Restart\"/>"))
|
||||
assertTrue(xml.contains("<reference ref=\"Kilo.Reinstall\"/>"))
|
||||
assertTrue(xml.contains("<reference ref=\"Kilo.CoreInfo\"/>"))
|
||||
assertTrue(xml.contains("<group id=\"Kilo.OpenConfigGroup\" text=\"Config Files\" popup=\"true\">"))
|
||||
assertTrue(xml.contains("<reference ref=\"Kilo.OpenConfigGroup\"/>"))
|
||||
assertFalse(xml.contains("<action id=\"Kilo.ShowProfile\""))
|
||||
assertFalse(xml.contains("<reference ref=\"Kilo.ShowProfile\"/>"))
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
+3
-2
@@ -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("<group id=\"Kilo.CliGroup\" text=\"CLI\" popup=\"true\">"))
|
||||
assertTrue(xml.contains("<group id=\"Kilo.CliGroup\" text=\"Core\" popup=\"true\">"))
|
||||
assertTrue(xml.contains("<reference ref=\"Kilo.Restart\"/>"))
|
||||
assertTrue(xml.contains("<reference ref=\"Kilo.Reinstall\"/>"))
|
||||
assertTrue(xml.contains("<reference ref=\"Kilo.CoreInfo\"/>"))
|
||||
}
|
||||
|
||||
fun `test ready warnings show collapsed banner with retry`() {
|
||||
|
||||
-17
@@ -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")))
|
||||
|
||||
|
||||
+6
@@ -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<ModelSelectionUpdateDto>()
|
||||
val cleared = mutableListOf<String>()
|
||||
@@ -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
|
||||
|
||||
@@ -39,16 +39,19 @@ interface KiloAppRpcApi : RemoteApi<Unit> {
|
||||
/** 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. */
|
||||
|
||||
Reference in New Issue
Block a user