Skip to content

Commit

Permalink
feat(streaming): integrate OnStreamingService into ShireInlineChat
Browse files Browse the repository at this point in the history
- Added OnStreamingService import and usage in ShireInlineChatPanel, ShireInlineChatService, and ShireActionPromptBuilder.
- Updated LoggingStreamingService to initialize outputDir with LightVirtualFile.
- Removed unused JBCefApp import in WebViewWindow.
  • Loading branch information
phodal committed Jan 10, 2025
1 parent 4def627 commit 23858b1
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.phodal.shirecore.middleware.builtin.ui

import com.intellij.ui.JBColor
import com.intellij.ui.jcef.JBCefApp
import com.intellij.ui.jcef.JBCefBrowser
import javax.swing.JComponent

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.intellij.openapi.application.runInEdt
import com.intellij.openapi.application.runWriteAction
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.testFramework.LightVirtualFile
import com.phodal.shirecore.LLM_LOGGING
import com.phodal.shirecore.LLM_LOGGING_JSONL
import com.phodal.shirecore.ShireConstants
Expand All @@ -24,7 +25,7 @@ import kotlinx.serialization.json.Json
* - `result`: A private string that accumulates the streaming data received.
*/
class LoggingStreamingService : StreamingServiceProvider {
private lateinit var outputDir: VirtualFile
private var outputDir: VirtualFile = LightVirtualFile()
override var name: String = "logging"

private var result: String = ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.phodal.shirelang.provider
import com.intellij.openapi.project.Project
import com.phodal.shirecore.config.ShireActionLocation
import com.phodal.shirecore.provider.ide.ShirePromptBuilder
import com.phodal.shirecore.provider.streaming.OnStreamingService
import com.phodal.shirelang.actions.base.DynamicShireActionService
import com.phodal.shirelang.run.runner.ShireRunner
import kotlinx.coroutines.runBlocking
Expand All @@ -16,7 +17,12 @@ class ShireActionPromptBuilder : ShirePromptBuilder {

val initVariables = mapOf("chatPrompt" to originPrompt)
val finalPrompt = runBlocking {
ShireRunner.compileOnly(project, action.shireFile, initVariables, null)
val runnerContext = ShireRunner.compileOnly(project, action.shireFile, initVariables, null)

val service = project.getService(OnStreamingService::class.java)
service?.onStart(project, runnerContext.finalPrompt)

runnerContext
}.finalPrompt

return finalPrompt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import com.intellij.ui.components.JBTextArea
import com.intellij.util.ui.JBUI.CurrentTheme
import com.phodal.shirecore.ShireCoroutineScope
import com.phodal.shirecore.llm.LlmProvider
import com.phodal.shirecore.provider.streaming.OnStreamingService
import com.phodal.shirecore.runner.console.cancelHandler
import com.phodal.shirecore.ui.ShirePanelView
import com.phodal.shirecore.ui.input.ShireLineBorder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import com.phodal.shirecore.config.ShireActionLocation
import com.phodal.shirecore.provider.ide.ShirePromptBuilder
import com.phodal.shirecore.provider.shire.FileCreateService
import com.phodal.shirecore.provider.shire.FileRunService
import com.phodal.shirecore.provider.streaming.OnStreamingService
import com.phodal.shirelang.actions.base.DynamicShireActionService
import java.util.concurrent.ConcurrentHashMap
import kotlin.collections.set
Expand Down

0 comments on commit 23858b1

Please sign in to comment.