summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/cli/cmd/run.ts52
1 files changed, 26 insertions, 26 deletions
diff --git a/packages/opencode/src/cli/cmd/run.ts b/packages/opencode/src/cli/cmd/run.ts
index 0368b24cd..e04ed8103 100644
--- a/packages/opencode/src/cli/cmd/run.ts
+++ b/packages/opencode/src/cli/cmd/run.ts
@@ -165,6 +165,7 @@ export const RunCommand = cmd({
}
let text = ""
+ const messageID = Identifier.ascending("message")
Bus.subscribe(MessageV2.Event.PartUpdated, async (evt) => {
if (evt.properties.part.sessionID !== session.id) return
@@ -223,35 +224,34 @@ export const RunCommand = cmd({
UI.error(err)
})
- if (args.command) {
- await SessionPrompt.command({
- messageID: Identifier.ascending("message"),
+ const result = await (async () => {
+ if (args.command) {
+ return await SessionPrompt.command({
+ messageID,
+ sessionID: session.id,
+ agent: agent.name,
+ model: providerID + "/" + modelID,
+ command: args.command,
+ arguments: message,
+ })
+ }
+ return await SessionPrompt.prompt({
sessionID: session.id,
+ messageID,
+ model: {
+ providerID,
+ modelID,
+ },
agent: agent.name,
- model: providerID + "/" + modelID,
- command: args.command,
- arguments: message,
+ parts: [
+ {
+ id: Identifier.ascending("part"),
+ type: "text",
+ text: message,
+ },
+ ],
})
- return
- }
-
- const messageID = Identifier.ascending("message")
- const result = await SessionPrompt.prompt({
- sessionID: session.id,
- messageID,
- model: {
- providerID,
- modelID,
- },
- agent: agent.name,
- parts: [
- {
- id: Identifier.ascending("part"),
- type: "text",
- text: message,
- },
- ],
- })
+ })()
const isPiped = !process.stdout.isTTY
if (isPiped) {