mirror of
https://github.com/sst/opencode.git
synced 2025-08-22 22:14:14 +00:00
sync
This commit is contained in:
parent
f22e97dd05
commit
42931d4d2a
1 changed files with 39 additions and 38 deletions
|
@ -248,6 +248,7 @@ async function assertOpencodeConnected() {
|
||||||
let retry = 0
|
let retry = 0
|
||||||
let connected = false
|
let connected = false
|
||||||
do {
|
do {
|
||||||
|
// TODO
|
||||||
console.log("!@#!@#!@# TRYING")
|
console.log("!@#!@#!@# TRYING")
|
||||||
try {
|
try {
|
||||||
await client.app.get<true>()
|
await client.app.get<true>()
|
||||||
|
@ -520,50 +521,50 @@ async function chat(text: string, files: PromptFiles = []) {
|
||||||
console.log("Sending message to opencode...")
|
console.log("Sending message to opencode...")
|
||||||
const { providerID, modelID } = useModel()
|
const { providerID, modelID } = useModel()
|
||||||
|
|
||||||
const result = await client.session
|
const chat = await client.session.chat<true>({
|
||||||
.chat<true>({
|
path: session,
|
||||||
path: session,
|
body: {
|
||||||
body: {
|
providerID,
|
||||||
providerID,
|
modelID,
|
||||||
modelID,
|
agent: "build",
|
||||||
agent: "build",
|
parts: [
|
||||||
parts: [
|
{
|
||||||
|
type: "text",
|
||||||
|
text,
|
||||||
|
},
|
||||||
|
...files.flatMap((f) => [
|
||||||
{
|
{
|
||||||
type: "text",
|
type: "file" as const,
|
||||||
text,
|
mime: f.mime,
|
||||||
},
|
url: `data:${f.mime};base64,${f.content}`,
|
||||||
...files.flatMap((f) => [
|
filename: f.filename,
|
||||||
{
|
source: {
|
||||||
type: "file" as const,
|
type: "file" as const,
|
||||||
mime: f.mime,
|
text: {
|
||||||
url: `data:${f.mime};base64,${f.content}`,
|
value: f.replacement,
|
||||||
filename: f.filename,
|
start: f.start,
|
||||||
source: {
|
end: f.end,
|
||||||
type: "file" as const,
|
|
||||||
text: {
|
|
||||||
value: f.replacement,
|
|
||||||
start: f.start,
|
|
||||||
end: f.end,
|
|
||||||
},
|
|
||||||
path: f.filename,
|
|
||||||
},
|
},
|
||||||
|
path: f.filename,
|
||||||
},
|
},
|
||||||
]),
|
},
|
||||||
],
|
]),
|
||||||
},
|
],
|
||||||
})
|
},
|
||||||
.then((r) => r.data)
|
})
|
||||||
|
|
||||||
const message = await client.session
|
// TODO
|
||||||
.message<true>({
|
console.log("!@#!@#!@# CHAT", chat.data)
|
||||||
path: {
|
|
||||||
id: result.sessionID,
|
|
||||||
messageID: result.id,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
.then((r) => r.data)
|
|
||||||
|
|
||||||
const match = message.parts.findLast((p) => p.type === "text")
|
const message = await client.session.message<true>({
|
||||||
|
path: {
|
||||||
|
id: chat.data.sessionID,
|
||||||
|
messageID: chat.data.id,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
console.log("!@#!@#!@# MESSAGE", message.data)
|
||||||
|
|
||||||
|
const match = message.data.parts.findLast((p) => p.type === "text")
|
||||||
if (!match) throw new Error("Failed to parse the text response")
|
if (!match) throw new Error("Failed to parse the text response")
|
||||||
|
|
||||||
return match.text
|
return match.text
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue