diff --git a/README.md b/README.md
index bb31a703..df9f156d 100644
--- a/README.md
+++ b/README.md
@@ -76,18 +76,18 @@ Maven:
com.simiacryptus
skyenet-webui
- 1.0.19
+ 1.0.20
```
Gradle:
```groovy
-implementation group: 'com.simiacryptus', name: 'skyenet', version: '1.0.19'
+implementation group: 'com.simiacryptus', name: 'skyenet', version: '1.0.20'
```
```kotlin
-implementation("com.simiacryptus:skyenet:1.0.19")
+implementation("com.simiacryptus:skyenet:1.0.20")
```
### 🌟 To Use
diff --git a/core/build.gradle.kts b/core/build.gradle.kts
index 99fd29da..41ff14ff 100644
--- a/core/build.gradle.kts
+++ b/core/build.gradle.kts
@@ -30,9 +30,9 @@ val kotlin_version = "1.7.22"
val junit_version = "5.9.2"
dependencies {
- implementation(group = "com.simiacryptus", name = "joe-penai", version = "1.0.20")
+ implementation(group = "com.simiacryptus", name = "joe-penai", version = "1.0.23")
- implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.5")
+ implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.9")
compileOnlyApi(kotlin("stdlib"))
diff --git a/gradle.properties b/gradle.properties
index 0a13cc83..7e5d6c12 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,6 +1,6 @@
# Gradle Releases -> https://github.com/gradle/gradle/releases
libraryGroup = com.simiacryptus.skyenet
-libraryVersion = 1.0.19
+libraryVersion = 1.0.20
gradleVersion = 7.6.1
# Opt-out flag for bundling Kotlin standard library -> https://plugins.jetbrains.com/docs/intellij/kotlin.html#kotlin-standard-library
diff --git a/groovy/build.gradle.kts b/groovy/build.gradle.kts
index bbb15a64..5a9291c8 100644
--- a/groovy/build.gradle.kts
+++ b/groovy/build.gradle.kts
@@ -36,7 +36,7 @@ dependencies {
implementation(group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.7.1")
implementation(group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version = kotlin_version)
- implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.5")
+ implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.9")
implementation(group = "commons-io", name = "commons-io", version = "2.11.0")
testImplementation(group = "org.junit.jupiter", name = "junit-jupiter-api", version = "5.9.2")
diff --git a/java/build.gradle.kts b/java/build.gradle.kts
index 5bd14b67..579f2ede 100644
--- a/java/build.gradle.kts
+++ b/java/build.gradle.kts
@@ -35,7 +35,7 @@ dependencies {
implementation(kotlin("stdlib-jdk8"))
implementation(group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version = kotlin_version)
- implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.5")
+ implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.9")
implementation(group = "commons-io", name = "commons-io", version = "2.11.0")
testImplementation(group = "org.junit.jupiter", name = "junit-jupiter-api", version = "5.9.2")
diff --git a/kotlin/build.gradle.kts b/kotlin/build.gradle.kts
index 2f60cd9a..da338e05 100644
--- a/kotlin/build.gradle.kts
+++ b/kotlin/build.gradle.kts
@@ -38,7 +38,7 @@ dependencies {
implementation(kotlin("compiler-embeddable"))
implementation(kotlin("scripting-compiler-embeddable"))
- implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.5")
+ implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.9")
implementation(group = "commons-io", name = "commons-io", version = "2.11.0")
testImplementation(group = "org.junit.jupiter", name = "junit-jupiter-api", version = "5.9.2")
diff --git a/scala/build.gradle.kts b/scala/build.gradle.kts
index 74c5c1dc..4d23e6d5 100644
--- a/scala/build.gradle.kts
+++ b/scala/build.gradle.kts
@@ -36,9 +36,9 @@ dependencies {
implementation(group = "org.scala-lang", name = "scala-library", version = scala_version)
implementation(group = "org.scala-lang", name = "scala-compiler", version = scala_version)
implementation(group = "org.scala-lang", name = "scala-reflect", version = scala_version)
- implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.5")
+ implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.9")
- testImplementation(group = "org.slf4j", name = "slf4j-simple", version = "2.0.5")
+ testImplementation(group = "org.slf4j", name = "slf4j-simple", version = "2.0.9")
testImplementation(group = "org.junit.jupiter", name = "junit-jupiter", version = "5.8.1")
testImplementation(group = "org.scala-lang.modules", name = "scala-java8-compat_2.13", version = "0.9.1")
diff --git a/util/build.gradle.kts b/util/build.gradle.kts
index 2c9f1227..2466eab9 100644
--- a/util/build.gradle.kts
+++ b/util/build.gradle.kts
@@ -33,7 +33,7 @@ val logback_version = "1.2.12"
dependencies {
- implementation(group = "com.simiacryptus", name = "joe-penai", version = "1.0.20")
+ implementation(group = "com.simiacryptus", name = "joe-penai", version = "1.0.23")
implementation(project(":core"))
implementation(project(":webui"))
diff --git a/webui/build.gradle.kts b/webui/build.gradle.kts
index 7853ba65..b350096b 100644
--- a/webui/build.gradle.kts
+++ b/webui/build.gradle.kts
@@ -32,7 +32,7 @@ val jetty_version = "11.0.17"
val jackson_version = "2.15.2"
dependencies {
- implementation(group = "com.simiacryptus", name = "joe-penai", version = "1.0.20")
+ implementation(group = "com.simiacryptus", name = "joe-penai", version = "1.0.23")
implementation(project(":core"))
testImplementation(project(":groovy"))
@@ -63,8 +63,8 @@ dependencies {
implementation(group = "commons-io", name = "commons-io", version = "2.11.0")
implementation(group = "commons-codec", name = "commons-codec", version = "1.16.0")
- implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.5")
- testImplementation(group = "org.slf4j", name = "slf4j-simple", version = "2.0.5")
+ implementation(group = "org.slf4j", name = "slf4j-api", version = "2.0.9")
+ testImplementation(group = "org.slf4j", name = "slf4j-simple", version = "2.0.9")
testImplementation(kotlin("script-runtime"))
testImplementation(group = "org.junit.jupiter", name = "junit-jupiter-api", version = "5.9.2")
diff --git a/webui/src/main/kotlin/com/simiacryptus/skyenet/body/ChatSession.kt b/webui/src/main/kotlin/com/simiacryptus/skyenet/body/ChatSession.kt
index 7d3ae788..59127a84 100644
--- a/webui/src/main/kotlin/com/simiacryptus/skyenet/body/ChatSession.kt
+++ b/webui/src/main/kotlin/com/simiacryptus/skyenet/body/ChatSession.kt
@@ -24,7 +24,7 @@ abstract class ChatSession(
override fun run(userMessage: String) {
var responseContents = divInitializer()
responseContents += """
$userMessage
"""
- send("""$responseContents${parent.spinner}
""")
+ send("""$responseContents${SkyenetSessionServerBase.spinner}
""")
val response = handleMessage(userMessage, responseContents)
if(null != response) {
responseContents += """${renderResponse(response)}
"""
diff --git a/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SessionBase.kt b/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SessionBase.kt
index d7a8872f..d98548f0 100644
--- a/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SessionBase.kt
+++ b/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SessionBase.kt
@@ -46,6 +46,14 @@ abstract class SessionBase(val sessionId: String) : SessionInterface {
val spinner1 = if (showSpinner) """$spinner
""" else ""
return this@SessionBase.send("""$responseContents$spinner1""")
}
+
+ override fun sessionID(): String {
+ return sessionId
+ }
+
+ override fun divID(): String {
+ return operationID
+ }
}
}
}
\ No newline at end of file
diff --git a/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetCodingSession.kt b/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetCodingSession.kt
index 779167cd..8ae6c926 100644
--- a/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetCodingSession.kt
+++ b/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetCodingSession.kt
@@ -92,7 +92,7 @@ open class SkyenetCodingSession(
status.status = OperationStatus.OperationState.Cancelled
break
}
- send("""$messageTrail${parent.spinner}
""")
+ send("""$messageTrail${SkyenetSessionServerBase.spinner}
""")
status.status = OperationStatus.OperationState.Running
parent.sessionDataStorage.updateOperationStatus(sessionId, status.operationID, status)
messageTrail += execute(messageTrail, status, codedInstruction)
@@ -156,7 +156,7 @@ open class SkyenetCodingSession(
//language=HTML
val buffer = StringBuffer()
buffer.append("""Code:
""")
- send("""$messageTrail$buffer${parent.spinner}""")
+ send("""$messageTrail$buffer${SkyenetSessionServerBase.spinner}""")
val response = brain.implement(describedInstruction)
val codeBlocks = Brain.extractCodeBlocks(response)
var renderedResponse = SessionServerUtil.getRenderedResponse(codeBlocks)
@@ -174,7 +174,7 @@ open class SkyenetCodingSession(
break
} catch (ex: Throwable) {
buffer.append("""${codedInstruction}
${ex.message}
""")
- send("""$messageTrail$buffer${parent.spinner}""")
+ send("""$messageTrail$buffer${SkyenetSessionServerBase.spinner}""")
val respondWithCode =
brain.fixCommand(describedInstruction, codedInstruction, ex, status.resultOutput)
renderedResponse = SessionServerUtil.getRenderedResponse(respondWithCode.second)
@@ -199,7 +199,7 @@ open class SkyenetCodingSession(
status: OperationStatus,
): Pair {
//language=HTML
- send("""$messageTrailNew Code:
${parent.spinner}""")
+ send("""$messageTrailNew Code:
${SkyenetSessionServerBase.spinner}""")
val respondWithCode =
brain.fixCommand(describedInstruction, codedInstruction, e, status.resultOutput)
val renderedResponse = SessionServerUtil.getRenderedResponse(respondWithCode.second)
diff --git a/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetMacroChat.kt b/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetMacroChat.kt
index d0fd3636..df889d7e 100644
--- a/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetMacroChat.kt
+++ b/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetMacroChat.kt
@@ -41,12 +41,12 @@ abstract class SkyenetMacroChat(
val session : PersistentSessionBase = this
override fun run(userMessage: String) {
val operationID = ChatSession.randomID()
- val sessionDiv = newSessionDiv(operationID, spinner)
+ val sessionDiv = newSessionDiv(operationID, SkyenetSessionServerBase.spinner)
val thread = Thread {
playSempaphores[operationID] = Semaphore(0)
try {
processMessage(sessionId, userMessage, session, object : SessionUI {
- override val spinner: String get() = """${this@SkyenetMacroChat.spinner}
"""
+ override val spinner: String get() = """${SkyenetSessionServerBase.spinner}
"""
override val playButton: String get() = """"""
override val cancelButton: String get() = """"""
override val regenButton: String get() = """"""
@@ -135,5 +135,7 @@ abstract class SkyenetMacroChat(
abstract class SessionDiv {
abstract fun append(htmlToAppend: String, showSpinner: Boolean) : Unit
+ abstract fun sessionID(): String
+ abstract fun divID(): String
}
diff --git a/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetSessionServerBase.kt b/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetSessionServerBase.kt
index d75c5408..04c2c1bb 100644
--- a/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetSessionServerBase.kt
+++ b/webui/src/main/kotlin/com/simiacryptus/skyenet/body/SkyenetSessionServerBase.kt
@@ -21,9 +21,6 @@ abstract class SkyenetSessionServerBase(
abstract val api: OpenAIClient
- open val spinner =
- """Loading...
"""
-
open val sessionDataStorage = SessionDataStorage(File(File(".skynet"), applicationName))
override fun configure(context: WebAppContext, prefix: String, baseURL: String) {
@@ -113,7 +110,11 @@ abstract class SkyenetSessionServerBase(
"text/plain"
}
resp.status = HttpServletResponse.SC_OK
- resp.writer.write(file.readText())
+ file.inputStream().use { inputStream ->
+ resp.outputStream.use { outputStream ->
+ inputStream.copyTo(outputStream)
+ }
+ }
} else {
resp.contentType = "text/html"
resp.status = HttpServletResponse.SC_OK
@@ -189,6 +190,8 @@ abstract class SkyenetSessionServerBase(
companion object {
val logger = org.slf4j.LoggerFactory.getLogger(SkyenetSessionServerBase::class.java)
+ val spinner =
+ """Loading...
"""
}
}