From 1357bb984f8fe70222d468a6ddc03340336ee4c5 Mon Sep 17 00:00:00 2001 From: Shoubhit Dash Date: Fri, 24 Apr 2026 20:20:04 +0530 Subject: [PATCH] style: fix background task formatting --- .../src/cli/cmd/tui/routes/session/index.tsx | 3 ++- packages/opencode/src/tool/registry.ts | 6 +++--- packages/opencode/src/tool/task_status.ts | 14 +++++++++++--- packages/opencode/test/tool/task.test.ts | 8 ++++---- packages/ui/src/components/message-part.tsx | 3 ++- 5 files changed, 22 insertions(+), 12 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index b6cde459e9..50e39c7c3a 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -2000,7 +2000,8 @@ function Task(props: ToolProps) { const content = createMemo(() => { if (!props.input.description) return "" - const description = props.metadata.background === true ? `${props.input.description} (background)` : props.input.description + const description = + props.metadata.background === true ? `${props.input.description} (background)` : props.input.description let content = [`${Locale.titlecase(props.input.subagent_type ?? "General")} Task — ${description}`] if (isRunning() && tools().length > 0) { diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index eb0c75c7ac..64c38ccb4f 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -80,9 +80,9 @@ export const layer: Layer.Layer< | Todo.Service | Agent.Service | Skill.Service - | Session.Service - | SessionStatus.Service - | Provider.Service + | Session.Service + | SessionStatus.Service + | Provider.Service | LSP.Service | Instruction.Service | AppFileSystem.Service diff --git a/packages/opencode/src/tool/task_status.ts b/packages/opencode/src/tool/task_status.ts index 60d5218a38..db7960b485 100644 --- a/packages/opencode/src/tool/task_status.ts +++ b/packages/opencode/src/tool/task_status.ts @@ -66,7 +66,11 @@ export const TaskStatusTool = Tool.define( } const latestUser = yield* sessions.findMessage(taskID, (item) => item.info.role === "user") - if (Option.isSome(latestUser) && latestUser.value.info.role === "user" && latestUser.value.info.id > latestAssistant.value.info.id) { + if ( + Option.isSome(latestUser) && + latestUser.value.info.role === "user" && + latestUser.value.info.id > latestAssistant.value.info.id + ) { return { state: "running" as const, text: "Task is starting.", @@ -96,8 +100,12 @@ export const TaskStatusTool = Tool.define( } }) - const waitForTerminal: (taskID: SessionID, timeout: number) => Effect.Effect<{ result: InspectResult; timedOut: boolean }> = - Effect.fn("TaskStatusTool.waitForTerminal")(function* (taskID: SessionID, timeout: number) { + const waitForTerminal: ( + taskID: SessionID, + timeout: number, + ) => Effect.Effect<{ result: InspectResult; timedOut: boolean }> = Effect.fn( + "TaskStatusTool.waitForTerminal", + )(function* (taskID: SessionID, timeout: number) { const result = yield* inspect(taskID) if (result.state !== "running") return { result, timedOut: false } if (timeout <= 0) return { result, timedOut: true } diff --git a/packages/opencode/test/tool/task.test.ts b/packages/opencode/test/tool/task.test.ts index 95ee49a0c2..a5724630ec 100644 --- a/packages/opencode/test/tool/task.test.ts +++ b/packages/opencode/test/tool/task.test.ts @@ -336,10 +336,10 @@ describe("tool.task", () => { const result = yield* def.execute( { description: "inspect bug", - prompt: "look into the cache key path", - subagent_type: "general", - task_id: SessionID.make("ses_missing"), - }, + prompt: "look into the cache key path", + subagent_type: "general", + task_id: SessionID.make("ses_missing"), + }, { sessionID: chat.id, messageID: assistant.id, diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx index 3694b204fb..eb90b4d9e6 100644 --- a/packages/ui/src/components/message-part.tsx +++ b/packages/ui/src/components/message-part.tsx @@ -1751,7 +1751,8 @@ ToolRegistry.register({ const title = createMemo(() => agent().name ?? i18n.t("ui.tool.agent.default")) const tone = createMemo(() => agent().color) const subtitle = createMemo(() => { - const value = typeof props.input.description === "string" && props.input.description ? props.input.description : childSessionId() + const value = + typeof props.input.description === "string" && props.input.description ? props.input.description : childSessionId() if (!value) return value if (props.metadata.background === true) return `${value} (background)` return value