mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 16:53:04 +08:00
feat(partnerctl-init): add finalize step
This commit is contained in:
@@ -9,6 +9,8 @@ import work.slhaf.partner.ctl.commands.init.buildFromSource
|
||||
import work.slhaf.partner.ctl.commands.init.configureExternalGateway
|
||||
import work.slhaf.partner.ctl.commands.init.configureOpenAiCompatible
|
||||
import work.slhaf.partner.ctl.commands.init.configureWebSocketGateway
|
||||
import work.slhaf.partner.ctl.support.CommandInterrupted
|
||||
import work.slhaf.partner.ctl.support.inheritCommand
|
||||
import work.slhaf.partner.ctl.support.loadAvailableGateway
|
||||
import work.slhaf.partner.ctl.ui.Choice
|
||||
import work.slhaf.partner.ctl.ui.Prompt
|
||||
@@ -226,7 +228,26 @@ class InitCommand : Runnable {
|
||||
}
|
||||
|
||||
private fun finalize(prompt: Prompt) {
|
||||
TODO("Not yet implemented")
|
||||
prompt.section("Finish")
|
||||
|
||||
if (!prompt.confirm("Start Partner now?", false)) {
|
||||
prompt.info("Initialization completed.")
|
||||
return
|
||||
}
|
||||
|
||||
val partnerJar = home.resolve("resource").resolve("partner-core.jar").toAbsolutePath().normalize()
|
||||
if (!Files.exists(partnerJar)) {
|
||||
throw CommandInterrupted("Partner runtime jar does not exist: $partnerJar")
|
||||
}
|
||||
|
||||
prompt.info("Starting Partner...")
|
||||
val exitCode = inheritCommand(
|
||||
command = listOf("java", "-jar", partnerJar.toString()),
|
||||
environment = mapOf("PARTNER_HOME" to home.toString()),
|
||||
)
|
||||
if (exitCode != 0) {
|
||||
throw CommandInterrupted("Partner exited with code $exitCode", exitCode)
|
||||
}
|
||||
}
|
||||
|
||||
private fun Json.encodeProviderConfig(providerConfig: ProviderConfig): JsonElement {
|
||||
|
||||
Reference in New Issue
Block a user