opencode-subagents-sidebar-plugin 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","names":["Portal","useTerminalDimensions","elapsedLabel","placePopover","canOpenTaskSession","isTaskPart","isVisibleTask","latestAssistantText","resolveTaskModel","taskAgent","taskDescription","taskModeLabel","taskModelLabel","taskSessionID","taskStatusLabel","taskVariantLabel","createEffect","createMemo","createSignal","For","on","onCleanup","onMount","Show","POPOVER_SIZE","width","height","POPOVER_Z_INDEX","resolvedModel","api","part","session","sessionID","state","messages","modelName","model","name","provider","find","id","providerID","models","modelID","undefined","TaskPopover","props","viewport","hydratedChildMessages","setHydratedChildMessages","placement","ownership","anchor","callID","portalWrapper","hydrationRequest","requestedHydration","fallback","known","fallbackFor","fallbackPart","revision","tasksByCallID","get","childSessionID","childSession","canOpen","currentSessionID","liveChildMessages","parts","Map","hasParts","message","messageParts","set","length","ownsHydration","token","request","lifecycle","signal","aborted","hydrateChildMessages","result","client","directory","path","throwOnError","data","live","latestResponse","messageID","hydrated","map","info","responseLabel","openSession","route","navigate","close","applyPortalPlacement","next","wrapper","isDestroyed","position","left","top","zIndex","focusable","_$createComponent","mount","renderer","root","ref","element","children","_el$","_$createElement","_el$2","_el$3","_el$5","_el$6","_$createTextNode","_el$7","_el$8","_el$9","_el$0","_el$1","_el$10","_el$11","_el$12","_el$13","_el$14","_el$15","_el$16","_el$17","_el$18","_el$19","_el$20","_el$21","_el$23","_el$24","_el$25","_$insertNode","_$setProp","_$insert","status","now","startedAt","_$effect","_p$","_v$","theme","current","borderActive","_v$2","backgroundPanel","_v$3","text","_v$4","_v$5","textMuted","_v$6","_v$7","_v$8","_v$9","_v$0","_v$1","primary","_v$10","_v$11","e","t","a","o","i","n","s","h","r","d","l","u","c","TaskCard","livePart","elapsed","card","lastAnchor","x","screenX","y","screenY","updateAnchor","updatePopupAnchor","openDetails","getSelection","getSelectedText","currentAnchor","remember","openPopup","_el$27","_el$28","_el$29","_el$30","_el$31","_el$32","_el$33","_el$34","_el$35","_el$36","_$use","_c$","_$memo","when","_el$37","_$p","variant","_el$39","_el$40","_c$2","_v$12","_v$13","_v$14","_v$15","RunningSubagents","scopeSessionID","setScopeSessionID","hydratedMessages","setHydratedMessages","setRevision","setNow","Date","firstSeen","fallbacks","setOpenPopup","sessionRequest","loadMessages","value","selectSession","currentRequest","parentSessionID","parentID","previousSessionID","allTaskParts","flatMap","filter","visibleTaskParts","taskCallIDs","activeChildSessions","Set","Boolean","rememberLiveTasks","popupPart","popupSessionID","time","start","existing","closePopup","showPopup","Symbol","dismissForHostDialog","ui","dialog","open","dismissForHostDialogFrame","unregister","timer","syncCurrentSession","has","refreshSession","push","removeFrameCallback","event","properties","setFrameCallback","setInterval","clearInterval","dispose","_el$41","_el$42","_el$43","_el$45","_c$3","_el$46","each","_v$16","_v$17","fg","tui","slots","register","order","sidebar_footer","_ctx","session_id","plugin"],"sources":["../src/tui.tsx"],"sourcesContent":["/** @jsxImportSource @opentui/solid */\n\nimport type { TuiPlugin, TuiPluginApi, TuiPluginModule } from \"@opencode-ai/plugin/tui\"\nimport type { Message, Part, Session } from \"@opencode-ai/sdk/v2\"\nimport type { BoxRenderable } from \"@opentui/core\"\nimport { Portal, useTerminalDimensions } from \"@opentui/solid\"\nimport { elapsedLabel } from \"./activity.js\"\nimport { placePopover, type PopoverAnchor } from \"./popover.js\"\nimport {\n canOpenTaskSession,\n isTaskPart,\n isVisibleTask,\n latestAssistantText,\n resolveTaskModel,\n taskAgent,\n taskDescription,\n taskModeLabel,\n taskModelLabel,\n taskSessionID,\n taskStatusLabel,\n taskVariantLabel,\n type VisibleTaskPart,\n} from \"./tasks.js\"\nimport { createEffect, createMemo, createSignal, For, on, onCleanup, onMount, Show } from \"solid-js\"\n\ntype TaskFallback = {\n part: VisibleTaskPart\n sessionID?: string\n session?: Session\n}\n\ntype SessionMessageWithParts = {\n info: Message\n parts: ReadonlyArray<Part>\n}\n\ntype PopupOwnership = {\n callID: string\n token: symbol\n anchor: PopoverAnchor\n}\n\nconst POPOVER_SIZE = { width: 52, height: 14 }\nconst POPOVER_Z_INDEX = 100\n\nfunction resolvedModel(api: TuiPluginApi, part: VisibleTaskPart, session: Session | undefined, sessionID?: string) {\n return resolveTaskModel(part, session, sessionID ? api.state.session.messages(sessionID) : [])\n}\n\nfunction modelName(api: TuiPluginApi, model: ReturnType<typeof resolvedModel>): string {\n const name = model\n ? api.state.provider.find((provider) => provider.id === model.providerID)?.models[model.modelID]?.name\n : undefined\n return taskModelLabel(model, name)\n}\n\nfunction TaskPopover(props: {\n api: TuiPluginApi\n ownership: () => PopupOwnership\n currentSessionID: string\n fallbackPart: VisibleTaskPart\n tasksByCallID: () => Map<string, VisibleTaskPart>\n fallbackFor: (callID: string) => TaskFallback | undefined\n revision: () => number\n now: () => number\n startedAt: (part: VisibleTaskPart) => number\n close: () => void\n}) {\n const viewport = useTerminalDimensions()\n const [hydratedChildMessages, setHydratedChildMessages] = createSignal<{\n token: symbol\n sessionID: string\n messages: ReadonlyArray<SessionMessageWithParts>\n }>()\n const placement = createMemo(() => placePopover(props.ownership().anchor, viewport(), POPOVER_SIZE))\n const callID = () => props.ownership().callID\n let portalWrapper: BoxRenderable | undefined\n let hydrationRequest = 0\n let requestedHydration: { token: symbol; sessionID: string } | undefined\n\n const fallback = (): TaskFallback => {\n const known = props.fallbackFor(callID())\n if (known) return known\n const sessionID = taskSessionID(props.fallbackPart)\n return { part: props.fallbackPart, ...(sessionID ? { sessionID } : {}) }\n }\n const part = createMemo(() => {\n props.revision()\n return props.tasksByCallID().get(callID()) ?? fallback().part\n })\n const childSessionID = () => taskSessionID(part() ?? fallback().part) ?? fallback().sessionID\n const childSession = () => {\n props.revision()\n const sessionID = childSessionID()\n return (sessionID ? props.api.state.session.get(sessionID) : undefined) ?? fallback().session\n }\n const model = createMemo(() => {\n props.revision()\n return resolvedModel(props.api, part() ?? fallback().part, childSession(), childSessionID())\n })\n const canOpen = () => canOpenTaskSession(childSessionID(), props.currentSessionID)\n const liveChildMessages = createMemo(() => {\n props.revision()\n const sessionID = childSessionID()\n if (!sessionID) return undefined\n\n const messages = props.api.state.session.messages(sessionID)\n const parts = new Map<string, ReadonlyArray<Part>>()\n let hasParts = false\n for (const message of messages) {\n const messageParts = props.api.state.part(message.id)\n parts.set(message.id, messageParts)\n if (messageParts.length) hasParts = true\n }\n return { sessionID, messages, parts, hasParts }\n })\n const ownsHydration = (token: symbol, sessionID: string, request: number): boolean => {\n if (props.api.lifecycle.signal.aborted || request !== hydrationRequest) return false\n return props.ownership().token === token && childSessionID() === sessionID\n }\n const hydrateChildMessages = async (token: symbol, sessionID: string, request: number): Promise<void> => {\n try {\n const result = await props.api.client.session.messages(\n { sessionID, directory: props.api.state.path.directory },\n { throwOnError: true },\n )\n if (!ownsHydration(token, sessionID, request)) return\n if (liveChildMessages()?.hasParts) return\n setHydratedChildMessages({ token, sessionID, messages: result.data })\n } catch {\n if (ownsHydration(token, sessionID, request)) requestedHydration = undefined\n }\n }\n\n createEffect(() => {\n const ownership = props.ownership()\n const sessionID = childSessionID()\n const live = liveChildMessages()\n if (!sessionID || live?.hasParts) {\n if (requestedHydration) {\n requestedHydration = undefined\n hydrationRequest += 1\n }\n return\n }\n if (requestedHydration?.token === ownership.token && requestedHydration.sessionID === sessionID) return\n\n const request = ++hydrationRequest\n requestedHydration = { token: ownership.token, sessionID }\n setHydratedChildMessages(undefined)\n void hydrateChildMessages(ownership.token, sessionID, request)\n })\n\n const latestResponse = createMemo(() => {\n const ownership = props.ownership()\n const sessionID = childSessionID()\n if (!sessionID) return undefined\n\n const live = liveChildMessages()\n if (live?.hasParts) return latestAssistantText(live.messages, (messageID) => live.parts.get(messageID) ?? [])\n\n const hydrated = hydratedChildMessages()\n if (!hydrated || hydrated.token !== ownership.token || hydrated.sessionID !== sessionID) return undefined\n const parts = new Map(hydrated.messages.map((message) => [message.info.id, message.parts]))\n return latestAssistantText(\n hydrated.messages.map((message) => message.info),\n (messageID) => parts.get(messageID) ?? [],\n )\n })\n const responseLabel = () => latestResponse() ?? (childSessionID() ? \"Waiting for assistant response\" : \"Waiting for child session\")\n const openSession = () => {\n const sessionID = childSessionID()\n if (!canOpen() || !sessionID) return\n props.api.route.navigate(\"session\", { sessionID })\n props.close()\n }\n\n const applyPortalPlacement = (next = placement()): void => {\n const wrapper = portalWrapper\n if (!wrapper || wrapper.isDestroyed) return\n wrapper.position = \"absolute\"\n wrapper.left = next.left\n wrapper.top = next.top\n wrapper.width = next.width\n wrapper.height = next.height\n wrapper.zIndex = POPOVER_Z_INDEX\n wrapper.focusable = false\n }\n createEffect(() => applyPortalPlacement(placement()))\n\n onCleanup(() => {\n hydrationRequest += 1\n requestedHydration = undefined\n portalWrapper = undefined\n })\n\n return (\n <Portal\n mount={props.api.renderer.root}\n ref={(element) => {\n portalWrapper = element as BoxRenderable\n applyPortalPlacement()\n }}\n >\n <box\n width=\"100%\"\n height=\"100%\"\n focusable={false}\n live\n border\n borderColor={props.api.theme.current.borderActive}\n backgroundColor={props.api.theme.current.backgroundPanel}\n padding={1}\n flexDirection=\"column\"\n overflow=\"hidden\"\n >\n <text fg={props.api.theme.current.text} wrapMode=\"none\" truncate>\n <b>Subagent details</b>\n </text>\n <text fg={props.api.theme.current.text} wrapMode=\"none\" truncate>\n Agent: {taskAgent(part() ?? fallback().part)}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n Assigned: {taskDescription(part() ?? fallback().part)}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n Latest: {responseLabel()}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n Status: {taskStatusLabel(part() ?? fallback().part, childSessionID() ? props.api.state.session.status(childSessionID()!) : undefined)}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n Model: {modelName(props.api, model())} · {taskVariantLabel(model()) ?? \"pending\"}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n {taskModeLabel(part() ?? fallback().part)} · {elapsedLabel(props.now() - props.startedAt(part() ?? fallback().part))}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n Child: {childSessionID() ?? \"Waiting for child session\"}\n </text>\n <box flexDirection=\"row\" gap={2}>\n <box onMouseUp={openSession}>\n <text fg={canOpen() ? props.api.theme.current.primary : props.api.theme.current.textMuted}>\n <b>Open Session</b>\n </text>\n </box>\n <box onMouseUp={props.close}>\n <text fg={props.api.theme.current.primary}>\n <b>Close</b>\n </text>\n </box>\n </box>\n </box>\n </Portal>\n )\n}\n\nfunction TaskCard(props: {\n api: TuiPluginApi\n callID: string\n tasksByCallID: () => Map<string, VisibleTaskPart>\n fallbackFor: (callID: string) => TaskFallback | undefined\n remember: (part: VisibleTaskPart) => void\n revision: () => number\n now: () => number\n startedAt: (part: VisibleTaskPart) => number\n openPopup: (callID: string, anchor: PopoverAnchor) => void\n updatePopupAnchor: (callID: string, anchor: PopoverAnchor) => void\n}) {\n // The call ID is stable, while the actual ToolPart is re-read after each event.\n // This prevents cards from retaining a stale part object after a state update.\n const livePart = createMemo(() => props.tasksByCallID().get(props.callID))\n const part = () => livePart() ?? props.fallbackFor(props.callID)?.part\n const childSession = () => {\n props.revision()\n const current = part()\n if (!current) return undefined\n const sessionID = taskSessionID(current)\n return sessionID ? props.api.state.session.get(sessionID) : undefined\n }\n const model = () => {\n props.revision()\n const current = part()\n return current ? resolvedModel(props.api, current, childSession(), taskSessionID(current)) : undefined\n }\n const elapsed = () => {\n const current = part()\n return current ? elapsedLabel(props.now() - props.startedAt(current)) : \"\"\n }\n let card: BoxRenderable | undefined\n let lastAnchor: PopoverAnchor | undefined\n const anchor = (): PopoverAnchor | undefined =>\n card && { x: card.screenX, y: card.screenY, width: card.width, height: card.height }\n const updateAnchor = (): void => {\n const current = anchor()\n if (\n !current ||\n (lastAnchor &&\n lastAnchor.x === current.x &&\n lastAnchor.y === current.y &&\n lastAnchor.width === current.width &&\n lastAnchor.height === current.height)\n ) {\n return\n }\n lastAnchor = current\n props.updatePopupAnchor(props.callID, current)\n }\n onCleanup(() => {\n // The popover owns its last reported rect, so losing this card must not\n // reset its placement before the user explicitly closes it.\n card = undefined\n lastAnchor = undefined\n })\n const openDetails = () => {\n if (props.api.renderer.getSelection()?.getSelectedText()) return\n const part = livePart()\n const currentAnchor = anchor()\n if (!part || !currentAnchor) return\n props.remember(part)\n props.openPopup(props.callID, currentAnchor)\n }\n\n return (\n <box\n ref={(element) => {\n card = element\n updateAnchor()\n }}\n onSizeChange={updateAnchor}\n renderBefore={updateAnchor}\n width=\"100%\"\n height={2}\n flexDirection=\"column\"\n overflow=\"hidden\"\n onMouseUp={openDetails}\n >\n <box width=\"100%\" height={1} flexDirection=\"row\" overflow=\"hidden\">\n <text flexGrow={1} flexShrink={1} minWidth={0} wrapMode=\"none\" truncate fg={props.api.theme.current.text}>\n <b>{part() ? taskAgent(part()!) : \"subagent\"}</b>\n </text>\n <box\n flexShrink={1}\n minWidth={0}\n maxWidth={28}\n marginLeft={1}\n flexDirection=\"row\"\n >\n <text flexGrow={1} flexShrink={1} minWidth={0} wrapMode=\"none\" truncate fg={props.api.theme.current.textMuted}>\n {modelName(props.api, model())}\n </text>\n <Show\n when={taskVariantLabel(model())}\n fallback={\n <Show when={model()}>\n <text flexShrink={0} marginLeft={1} wrapMode=\"none\" truncate fg={props.api.theme.current.textMuted}>\n · pending\n </text>\n </Show>\n }\n >\n {(variant) => (\n <text flexShrink={0} marginLeft={1} wrapMode=\"none\" truncate fg={props.api.theme.current.textMuted}>\n · {variant()}\n </text>\n )}\n </Show>\n </box>\n </box>\n <box width=\"100%\" height={1} flexDirection=\"row\" overflow=\"hidden\">\n <text\n flexGrow={1}\n flexShrink={1}\n minWidth={0}\n wrapMode=\"none\"\n truncate\n fg={props.api.theme.current.textMuted}\n >\n {part() ? taskDescription(part()!) : \"Working\"}\n </text>\n <box width={8} flexShrink={0} flexDirection=\"row\" justifyContent=\"flex-end\">\n <text wrapMode=\"none\" truncate fg={props.api.theme.current.textMuted}>\n {elapsed()}\n </text>\n </box>\n </box>\n </box>\n )\n}\n\nfunction RunningSubagents(props: { api: TuiPluginApi; sessionID: string }) {\n const [scopeSessionID, setScopeSessionID] = createSignal<string>()\n const [hydratedMessages, setHydratedMessages] = createSignal<ReadonlyArray<SessionMessageWithParts>>([])\n const [revision, setRevision] = createSignal(0)\n const [now, setNow] = createSignal(Date.now())\n const firstSeen = new Map<string, number>()\n const fallbacks = new Map<string, TaskFallback>()\n const [openPopup, setOpenPopup] = createSignal<PopupOwnership>()\n let sessionRequest = 0\n\n const loadMessages = async (sessionID: string, request: number): Promise<void> => {\n if (props.api.state.session.messages(sessionID).length) return\n\n try {\n const result = await props.api.client.session.messages(\n { sessionID, directory: props.api.state.path.directory },\n { throwOnError: true },\n )\n if (props.api.lifecycle.signal.aborted || request !== sessionRequest || scopeSessionID() !== sessionID) return\n setHydratedMessages(result.data)\n setRevision((value) => value + 1)\n } catch {\n // Live session events can populate the public TUI state after a failed hydration.\n }\n }\n\n const selectSession = async (sessionID: string, known?: Session): Promise<void> => {\n const currentRequest = ++sessionRequest\n setScopeSessionID(undefined)\n setHydratedMessages([])\n let session = known ?? props.api.state.session.get(sessionID)\n\n if (!session) {\n try {\n const result = await props.api.client.session.get(\n { sessionID, directory: props.api.state.path.directory },\n { throwOnError: true },\n )\n session = result.data\n } catch {\n // Leave the scope unset so a failed child lookup cannot show its own tasks.\n // A later session event retries after local state is populated.\n return\n }\n }\n\n if (props.api.lifecycle.signal.aborted || currentRequest !== sessionRequest) return\n const parentSessionID = session.parentID ?? session.id\n setScopeSessionID(parentSessionID)\n setRevision((value) => value + 1)\n void loadMessages(parentSessionID, currentRequest)\n }\n\n createEffect(\n on(() => props.sessionID, (sessionID, previousSessionID) => {\n if (previousSessionID !== undefined && sessionID !== previousSessionID) setOpenPopup(undefined)\n void selectSession(sessionID)\n }),\n )\n\n const allTaskParts = createMemo(() => {\n revision()\n const sessionID = scopeSessionID()\n if (!sessionID) return []\n\n const messages = props.api.state.session.messages(sessionID)\n const parts = messages.length\n ? messages.flatMap((message) => props.api.state.part(message.id))\n : hydratedMessages().flatMap((message) => message.parts)\n return parts.filter(isTaskPart)\n })\n const visibleTaskParts = createMemo(() => allTaskParts().filter((part) => isVisibleTask(part, props.api.state.session.status)))\n // Popups need the direct parent's complete/error parts too, even after their\n // visible card has gone away.\n const tasksByCallID = createMemo(() => new Map(allTaskParts().map((part) => [part.callID, part])))\n const taskCallIDs = createMemo(() => visibleTaskParts().map((part) => part.callID))\n const activeChildSessions = createMemo(\n () => new Set(visibleTaskParts().map(taskSessionID).filter((sessionID): sessionID is string => Boolean(sessionID))),\n )\n\n const remember = (part: VisibleTaskPart): void => {\n const sessionID = taskSessionID(part)\n const session = sessionID ? props.api.state.session.get(sessionID) : undefined\n fallbacks.set(part.callID, { part, ...(sessionID ? { sessionID } : {}), ...(session ? { session } : {}) })\n }\n const rememberLiveTasks = () => {\n revision()\n for (const part of allTaskParts()) remember(part)\n }\n createEffect(rememberLiveTasks)\n\n const popupPart = createMemo(() => {\n revision()\n const callID = openPopup()?.callID\n return callID ? tasksByCallID().get(callID) ?? fallbacks.get(callID)?.part : undefined\n })\n const popupSessionID = createMemo(() => {\n const callID = openPopup()?.callID\n const part = popupPart()\n return (part ? taskSessionID(part) : undefined) ?? (callID ? fallbacks.get(callID)?.sessionID : undefined)\n })\n\n const startedAt = (part: VisibleTaskPart): number => {\n if (part.state.status !== \"pending\") return part.state.time.start\n const existing = firstSeen.get(part.callID)\n if (existing !== undefined) return existing\n const value = now()\n firstSeen.set(part.callID, value)\n return value\n }\n\n const closePopup = (ownership: PopupOwnership): void => {\n if (openPopup()?.token !== ownership.token) return\n setOpenPopup(undefined)\n }\n const showPopup = (callID: string, anchor: PopoverAnchor): void => {\n const ownership = { callID, token: Symbol(callID), anchor }\n setOpenPopup(ownership)\n }\n const updatePopupAnchor = (callID: string, anchor: PopoverAnchor): void => {\n const ownership = openPopup()\n if (!ownership || ownership.callID !== callID) return\n if (\n ownership.anchor.x === anchor.x &&\n ownership.anchor.y === anchor.y &&\n ownership.anchor.width === anchor.width &&\n ownership.anchor.height === anchor.height\n ) {\n return\n }\n setOpenPopup({ ...ownership, anchor })\n }\n const dismissForHostDialog = (): void => {\n if (openPopup() && props.api.ui.dialog.open) setOpenPopup(undefined)\n }\n const dismissForHostDialogFrame = async (): Promise<void> => {\n dismissForHostDialog()\n }\n createEffect(dismissForHostDialog)\n\n const unregister: Array<() => void> = []\n let timer: ReturnType<typeof setInterval> | undefined\n\n onMount(() => {\n const syncCurrentSession = (session: Session) => {\n if (session.id === props.sessionID) void selectSession(session.id, session)\n if (session.parentID === scopeSessionID() || activeChildSessions().has(session.id) || session.id === popupSessionID()) {\n setRevision((value) => value + 1)\n }\n }\n const refreshSession = (sessionID: string) => {\n if (sessionID === scopeSessionID() || activeChildSessions().has(sessionID) || sessionID === popupSessionID()) {\n setRevision((value) => value + 1)\n }\n }\n\n unregister.push(\n () => {\n props.api.renderer.removeFrameCallback(dismissForHostDialogFrame)\n },\n props.api.event.on(\"session.created\", (event) => syncCurrentSession(event.properties.info)),\n props.api.event.on(\"session.updated\", (event) => syncCurrentSession(event.properties.info)),\n props.api.event.on(\"message.updated\", (event) => refreshSession(event.properties.sessionID)),\n props.api.event.on(\"message.part.updated\", (event) => refreshSession(event.properties.sessionID)),\n props.api.event.on(\"message.part.removed\", (event) => refreshSession(event.properties.sessionID)),\n )\n props.api.renderer.setFrameCallback(dismissForHostDialogFrame)\n timer = setInterval(() => setNow(Date.now()), 1_000)\n })\n\n onCleanup(() => {\n sessionRequest += 1\n if (timer) clearInterval(timer)\n for (const dispose of unregister) dispose()\n setOpenPopup(undefined)\n })\n\n return (\n <box overflow=\"hidden\">\n <text fg={props.api.theme.current.text}>\n <b>Subagents</b>\n <span style={{ fg: props.api.theme.current.textMuted }}>\n {visibleTaskParts().length ? ` (${visibleTaskParts().length} running)` : \"\"}\n </span>\n </text>\n\n <Show\n when={taskCallIDs().length > 0}\n fallback={<text fg={props.api.theme.current.textMuted}>No subagent running</text>}\n >\n <For each={taskCallIDs()}>\n {(callID) => (\n <TaskCard\n api={props.api}\n callID={callID}\n tasksByCallID={tasksByCallID}\n fallbackFor={(id) => fallbacks.get(id)}\n remember={remember}\n revision={revision}\n now={now}\n startedAt={startedAt}\n openPopup={showPopup}\n updatePopupAnchor={updatePopupAnchor}\n />\n )}\n </For>\n </Show>\n <Show when={openPopup()}>\n {(ownership) => (\n <TaskPopover\n api={props.api}\n ownership={ownership}\n currentSessionID={props.sessionID}\n fallbackPart={fallbacks.get(ownership().callID)!.part}\n tasksByCallID={tasksByCallID}\n fallbackFor={(id) => fallbacks.get(id)}\n revision={revision}\n now={now}\n startedAt={startedAt}\n close={() => closePopup(ownership())}\n />\n )}\n </Show>\n </box>\n )\n}\n\nconst tui: TuiPlugin = async (api) => {\n api.slots.register({\n order: 90,\n slots: {\n sidebar_footer(_ctx, props) {\n return <RunningSubagents api={api} sessionID={props.session_id} />\n },\n },\n })\n}\n\nconst plugin = {\n id: \"opencode-subagents-sidebar-plugin\",\n tui,\n} satisfies TuiPluginModule\n\nexport default plugin\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"tui.js","names":["Portal","useTerminalDimensions","elapsedLabel","latestAssistantActivity","placePopover","canOpenTaskSession","isTaskPart","isVisibleTask","resolveTaskModel","taskAgent","taskDescription","taskModeLabel","taskModelLabel","taskSessionID","taskStatusLabel","taskVariantLabel","createEffect","createMemo","createSignal","For","on","onCleanup","onMount","Show","POPOVER_SIZE","width","height","POPOVER_Z_INDEX","resolvedModel","api","part","session","sessionID","state","messages","modelName","model","name","provider","find","id","providerID","models","modelID","undefined","TaskPopover","props","viewport","hydratedChildMessages","setHydratedChildMessages","placement","ownership","anchor","callID","portalWrapper","hydrationRequest","fallback","known","fallbackFor","fallbackPart","revision","tasksByCallID","get","childSessionID","childSession","canOpen","currentSessionID","liveChildMessages","parts","Map","message","messageParts","set","ownsHydration","token","request","lifecycle","signal","aborted","hydrateChildMessages","result","client","directory","path","throwOnError","data","now","latestResponse","live","liveActivity","messageID","hydrated","map","info","responseLabel","stopInside","event","stopPropagation","openSession","route","navigate","close","closePopover","applyPortalOverlay","next","wrapper","isDestroyed","position","left","top","zIndex","focusable","_$createComponent","mount","renderer","root","ref","element","children","_el$","_$createElement","_el$2","_el$3","_el$4","_el$6","_el$7","_$createTextNode","_el$8","_el$9","_el$0","_el$1","_el$10","_el$11","_el$12","_el$13","_el$14","_el$15","_el$16","_el$17","_el$18","_el$19","_el$20","_el$21","_el$22","_el$24","_el$25","_el$26","_$insertNode","_$setProp","_$insert","status","startedAt","_$effect","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","theme","current","borderActive","_v$7","backgroundPanel","_v$8","text","_v$9","_v$0","textMuted","_v$1","_v$10","_v$11","_v$12","_v$13","_v$14","primary","_v$15","e","t","a","o","i","n","s","h","r","d","l","u","c","w","m","f","y","ModelVariant","_el$28","_el$29","when","_el$30","_$p","_el$32","_el$33","warning","variant","_el$35","_el$37","_el$38","TaskCard","livePart","elapsed","card","lastAnchor","x","screenX","screenY","updateAnchor","updatePopupAnchor","openDetails","getSelection","getSelectedText","currentAnchor","remember","openPopup","_el$39","_el$40","_el$41","_el$42","_el$43","_el$44","_el$45","_el$46","_$use","_c$","_$memo","_c$2","_v$16","_v$17","_v$18","RunningSubagents","scopeSessionID","setScopeSessionID","hydratedMessages","setHydratedMessages","setRevision","setNow","Date","firstSeen","fallbacks","setOpenPopup","sessionRequest","loadMessages","length","value","selectSession","currentRequest","parentSessionID","parentID","previousSessionID","allTaskParts","flatMap","filter","visibleTaskParts","taskCallIDs","activeChildSessions","Set","Boolean","rememberLiveTasks","popupPart","popupSessionID","time","start","existing","closePopup","showPopup","Symbol","dismissForHostDialog","ui","dialog","open","dismissForHostDialogFrame","unregister","timer","syncCurrentSession","has","refreshSession","push","removeFrameCallback","properties","setFrameCallback","setInterval","clearInterval","dispose","_el$47","_el$48","_el$49","_el$51","_c$3","_el$53","_el$52","each","_v$19","_v$20","fg","tui","slots","register","order","sidebar_footer","_ctx","session_id","plugin"],"sources":["../src/tui.tsx"],"sourcesContent":["/** @jsxImportSource @opentui/solid */\n\nimport type { TuiPlugin, TuiPluginApi, TuiPluginModule } from \"@opencode-ai/plugin/tui\"\nimport type { Message, Part, Session } from \"@opencode-ai/sdk/v2\"\nimport type { BoxRenderable, MouseEvent } from \"@opentui/core\"\nimport { Portal, useTerminalDimensions } from \"@opentui/solid\"\nimport { elapsedLabel, latestAssistantActivity } from \"./activity.js\"\nimport { placePopover, type PopoverAnchor } from \"./popover.js\"\nimport {\n canOpenTaskSession,\n isTaskPart,\n isVisibleTask,\n resolveTaskModel,\n taskAgent,\n taskDescription,\n taskModeLabel,\n taskModelLabel,\n taskSessionID,\n taskStatusLabel,\n taskVariantLabel,\n type VisibleTaskPart,\n} from \"./tasks.js\"\nimport { createEffect, createMemo, createSignal, For, on, onCleanup, onMount, Show } from \"solid-js\"\n\ntype TaskFallback = {\n part: VisibleTaskPart\n sessionID?: string\n session?: Session\n}\n\ntype SessionMessageWithParts = {\n info: Message\n parts: ReadonlyArray<Part>\n}\n\ntype PopupOwnership = {\n callID: string\n token: symbol\n anchor: PopoverAnchor\n}\n\nconst POPOVER_SIZE = { width: 52, height: 14 }\nconst POPOVER_Z_INDEX = 100\n\nfunction resolvedModel(api: TuiPluginApi, part: VisibleTaskPart, session: Session | undefined, sessionID?: string) {\n return resolveTaskModel(part, session, sessionID ? api.state.session.messages(sessionID) : [])\n}\n\nfunction modelName(api: TuiPluginApi, model: ReturnType<typeof resolvedModel>): string {\n const name = model\n ? api.state.provider.find((provider) => provider.id === model.providerID)?.models[model.modelID]?.name\n : undefined\n return taskModelLabel(model, name)\n}\n\nfunction TaskPopover(props: {\n api: TuiPluginApi\n ownership: () => PopupOwnership\n currentSessionID: string\n fallbackPart: VisibleTaskPart\n tasksByCallID: () => Map<string, VisibleTaskPart>\n fallbackFor: (callID: string) => TaskFallback | undefined\n revision: () => number\n now: () => number\n startedAt: (part: VisibleTaskPart) => number\n close: () => void\n}) {\n const viewport = useTerminalDimensions()\n const [hydratedChildMessages, setHydratedChildMessages] = createSignal<{\n token: symbol\n sessionID: string\n messages: ReadonlyArray<SessionMessageWithParts>\n }>()\n const placement = createMemo(() => placePopover(props.ownership().anchor, viewport(), POPOVER_SIZE))\n const callID = () => props.ownership().callID\n let portalWrapper: BoxRenderable | undefined\n let hydrationRequest = 0\n\n const fallback = (): TaskFallback => {\n const known = props.fallbackFor(callID())\n if (known) return known\n const sessionID = taskSessionID(props.fallbackPart)\n return { part: props.fallbackPart, ...(sessionID ? { sessionID } : {}) }\n }\n const part = createMemo(() => {\n props.revision()\n return props.tasksByCallID().get(callID()) ?? fallback().part\n })\n const childSessionID = () => taskSessionID(part() ?? fallback().part) ?? fallback().sessionID\n const childSession = () => {\n props.revision()\n const sessionID = childSessionID()\n return (sessionID ? props.api.state.session.get(sessionID) : undefined) ?? fallback().session\n }\n const model = createMemo(() => {\n props.revision()\n return resolvedModel(props.api, part() ?? fallback().part, childSession(), childSessionID())\n })\n const canOpen = () => canOpenTaskSession(childSessionID(), props.currentSessionID)\n const liveChildMessages = createMemo(() => {\n props.revision()\n const sessionID = childSessionID()\n if (!sessionID) return undefined\n\n const messages = props.api.state.session.messages(sessionID)\n const parts = new Map<string, ReadonlyArray<Part>>()\n for (const message of messages) {\n const messageParts = props.api.state.part(message.id)\n parts.set(message.id, messageParts)\n }\n return { sessionID, messages, parts }\n })\n const ownsHydration = (token: symbol, sessionID: string, request: number): boolean => {\n if (props.api.lifecycle.signal.aborted || request !== hydrationRequest) return false\n return props.ownership().token === token && childSessionID() === sessionID\n }\n const hydrateChildMessages = async (token: symbol, sessionID: string, request: number): Promise<void> => {\n try {\n const result = await props.api.client.session.messages(\n { sessionID, directory: props.api.state.path.directory },\n { throwOnError: true },\n )\n if (!ownsHydration(token, sessionID, request)) return\n setHydratedChildMessages({ token, sessionID, messages: result.data })\n } catch {}\n }\n\n createEffect(() => {\n props.revision()\n props.now()\n const ownership = props.ownership()\n const sessionID = childSessionID()\n if (!sessionID) {\n hydrationRequest += 1\n setHydratedChildMessages(undefined)\n return\n }\n\n const request = ++hydrationRequest\n void hydrateChildMessages(ownership.token, sessionID, request)\n })\n\n const latestResponse = createMemo(() => {\n const ownership = props.ownership()\n const sessionID = childSessionID()\n if (!sessionID) return undefined\n\n const live = liveChildMessages()\n const liveActivity = live\n ? latestAssistantActivity(live.messages, (messageID) => live.parts.get(messageID) ?? [])\n : undefined\n if (liveActivity) return liveActivity\n\n const hydrated = hydratedChildMessages()\n if (!hydrated || hydrated.token !== ownership.token || hydrated.sessionID !== sessionID) return undefined\n const parts = new Map(hydrated.messages.map((message) => [message.info.id, message.parts]))\n return latestAssistantActivity(\n hydrated.messages.map((message) => message.info),\n (messageID) => parts.get(messageID) ?? [],\n )\n })\n const responseLabel = () => latestResponse() ?? (childSessionID() ? \"Waiting for subagent activity\" : \"Waiting for child session\")\n const stopInside = (event: MouseEvent): void => event.stopPropagation()\n const openSession = (event: MouseEvent) => {\n event.stopPropagation()\n const sessionID = childSessionID()\n if (!canOpen() || !sessionID) return\n props.api.route.navigate(\"session\", { sessionID })\n props.close()\n }\n const closePopover = (event: MouseEvent): void => {\n event.stopPropagation()\n props.close()\n }\n\n const applyPortalOverlay = (next = viewport()): void => {\n const wrapper = portalWrapper\n if (!wrapper || wrapper.isDestroyed) return\n wrapper.position = \"absolute\"\n wrapper.left = 0\n wrapper.top = 0\n wrapper.width = next.width\n wrapper.height = next.height\n wrapper.zIndex = POPOVER_Z_INDEX\n wrapper.focusable = false\n }\n createEffect(() => applyPortalOverlay(viewport()))\n\n onCleanup(() => {\n hydrationRequest += 1\n portalWrapper = undefined\n })\n\n return (\n <Portal\n mount={props.api.renderer.root}\n ref={(element) => {\n portalWrapper = element as BoxRenderable\n applyPortalOverlay()\n }}\n >\n <box\n width=\"100%\"\n height=\"100%\"\n focusable={false}\n onMouseUp={props.close}\n >\n <box\n position=\"absolute\"\n left={placement().left}\n top={placement().top}\n width={placement().width}\n height={placement().height}\n focusable={false}\n live\n border\n borderColor={props.api.theme.current.borderActive}\n backgroundColor={props.api.theme.current.backgroundPanel}\n padding={1}\n flexDirection=\"column\"\n overflow=\"hidden\"\n onMouseUp={stopInside}\n >\n <text fg={props.api.theme.current.text} wrapMode=\"none\" truncate>\n <b>Subagent details</b>\n </text>\n <text fg={props.api.theme.current.text} wrapMode=\"none\" truncate>\n Agent: {taskAgent(part() ?? fallback().part)}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n Assigned: {taskDescription(part() ?? fallback().part)}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n Current: {responseLabel()}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n Status: {taskStatusLabel(part() ?? fallback().part, childSessionID() ? props.api.state.session.status(childSessionID()!) : undefined)}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n Model: {modelName(props.api, model())} · {taskVariantLabel(model()) ?? \"pending\"}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n {taskModeLabel(part() ?? fallback().part)} · {elapsedLabel(props.now() - props.startedAt(part() ?? fallback().part))}\n </text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"none\" truncate>\n Child: {childSessionID() ?? \"Waiting for child session\"}\n </text>\n <box flexDirection=\"row\" gap={2}>\n <box onMouseUp={openSession}>\n <text fg={canOpen() ? props.api.theme.current.primary : props.api.theme.current.textMuted}>\n <b>Open Session</b>\n </text>\n </box>\n <box onMouseUp={closePopover}>\n <text fg={props.api.theme.current.primary}>\n <b>Close</b>\n </text>\n </box>\n </box>\n </box>\n </box>\n </Portal>\n )\n}\n\nfunction ModelVariant(props: {\n api: TuiPluginApi\n model: () => ReturnType<typeof resolvedModel>\n}) {\n return (\n <box flexShrink={1} minWidth={0} maxWidth={28} marginLeft={1} flexDirection=\"row\">\n <text flexGrow={1} flexShrink={1} minWidth={0} wrapMode=\"none\" truncate fg={props.api.theme.current.text}>\n {modelName(props.api, props.model())}\n </text>\n <Show\n when={taskVariantLabel(props.model())}\n fallback={\n <Show when={props.model()}>\n <text flexShrink={0} marginLeft={1} wrapMode=\"none\" fg={props.api.theme.current.textMuted}>·</text>\n <text flexShrink={0} marginLeft={1} wrapMode=\"none\" truncate fg={props.api.theme.current.warning}>\n <b>pending</b>\n </text>\n </Show>\n }\n >\n {(variant) => (\n <>\n <text flexShrink={0} marginLeft={1} wrapMode=\"none\" fg={props.api.theme.current.textMuted}>·</text>\n <text flexShrink={0} marginLeft={1} wrapMode=\"none\" truncate fg={props.api.theme.current.warning}>\n <b>{variant()}</b>\n </text>\n </>\n )}\n </Show>\n </box>\n )\n}\n\nfunction TaskCard(props: {\n api: TuiPluginApi\n callID: string\n tasksByCallID: () => Map<string, VisibleTaskPart>\n fallbackFor: (callID: string) => TaskFallback | undefined\n remember: (part: VisibleTaskPart) => void\n revision: () => number\n now: () => number\n startedAt: (part: VisibleTaskPart) => number\n openPopup: (callID: string, anchor: PopoverAnchor) => void\n updatePopupAnchor: (callID: string, anchor: PopoverAnchor) => void\n}) {\n // The call ID is stable, while the actual ToolPart is re-read after each event.\n // This prevents cards from retaining a stale part object after a state update.\n const livePart = createMemo(() => props.tasksByCallID().get(props.callID))\n const part = () => livePart() ?? props.fallbackFor(props.callID)?.part\n const childSession = () => {\n props.revision()\n const current = part()\n if (!current) return undefined\n const sessionID = taskSessionID(current)\n return sessionID ? props.api.state.session.get(sessionID) : undefined\n }\n const model = () => {\n props.revision()\n const current = part()\n return current ? resolvedModel(props.api, current, childSession(), taskSessionID(current)) : undefined\n }\n const elapsed = () => {\n const current = part()\n return current ? elapsedLabel(props.now() - props.startedAt(current)) : \"\"\n }\n let card: BoxRenderable | undefined\n let lastAnchor: PopoverAnchor | undefined\n const anchor = (): PopoverAnchor | undefined =>\n card && { x: card.screenX, y: card.screenY, width: card.width, height: card.height }\n const updateAnchor = (): void => {\n const current = anchor()\n if (\n !current ||\n (lastAnchor &&\n lastAnchor.x === current.x &&\n lastAnchor.y === current.y &&\n lastAnchor.width === current.width &&\n lastAnchor.height === current.height)\n ) {\n return\n }\n lastAnchor = current\n props.updatePopupAnchor(props.callID, current)\n }\n onCleanup(() => {\n // The popover owns its last reported rect, so losing this card must not\n // reset its placement before the user explicitly closes it.\n card = undefined\n lastAnchor = undefined\n })\n const openDetails = () => {\n if (props.api.renderer.getSelection()?.getSelectedText()) return\n const part = livePart()\n const currentAnchor = anchor()\n if (!part || !currentAnchor) return\n props.remember(part)\n props.openPopup(props.callID, currentAnchor)\n }\n\n return (\n <box\n ref={(element) => {\n card = element\n updateAnchor()\n }}\n onSizeChange={updateAnchor}\n renderBefore={updateAnchor}\n width=\"100%\"\n height={2}\n flexDirection=\"column\"\n overflow=\"hidden\"\n onMouseUp={openDetails}\n >\n <box width=\"100%\" height={1} flexDirection=\"row\" overflow=\"hidden\">\n <text flexGrow={1} flexShrink={1} minWidth={0} wrapMode=\"none\" truncate fg={props.api.theme.current.text}>\n <b>{part() ? taskAgent(part()!) : \"subagent\"}</b>\n </text>\n <ModelVariant api={props.api} model={model} />\n </box>\n <box width=\"100%\" height={1} flexDirection=\"row\" overflow=\"hidden\">\n <text\n flexGrow={1}\n flexShrink={1}\n minWidth={0}\n wrapMode=\"none\"\n truncate\n fg={props.api.theme.current.textMuted}\n >\n {part() ? taskDescription(part()!) : \"Working\"}\n </text>\n <box width={8} flexShrink={0} flexDirection=\"row\" justifyContent=\"flex-end\">\n <text wrapMode=\"none\" truncate fg={props.api.theme.current.textMuted}>\n {elapsed()}\n </text>\n </box>\n </box>\n </box>\n )\n}\n\nfunction RunningSubagents(props: { api: TuiPluginApi; sessionID: string }) {\n const [scopeSessionID, setScopeSessionID] = createSignal<string>()\n const [hydratedMessages, setHydratedMessages] = createSignal<ReadonlyArray<SessionMessageWithParts>>([])\n const [revision, setRevision] = createSignal(0)\n const [now, setNow] = createSignal(Date.now())\n const firstSeen = new Map<string, number>()\n const fallbacks = new Map<string, TaskFallback>()\n const [openPopup, setOpenPopup] = createSignal<PopupOwnership>()\n let sessionRequest = 0\n\n const loadMessages = async (sessionID: string, request: number): Promise<void> => {\n if (props.api.state.session.messages(sessionID).length) return\n\n try {\n const result = await props.api.client.session.messages(\n { sessionID, directory: props.api.state.path.directory },\n { throwOnError: true },\n )\n if (props.api.lifecycle.signal.aborted || request !== sessionRequest || scopeSessionID() !== sessionID) return\n setHydratedMessages(result.data)\n setRevision((value) => value + 1)\n } catch {\n // Live session events can populate the public TUI state after a failed hydration.\n }\n }\n\n const selectSession = async (sessionID: string, known?: Session): Promise<void> => {\n const currentRequest = ++sessionRequest\n setScopeSessionID(undefined)\n setHydratedMessages([])\n let session = known ?? props.api.state.session.get(sessionID)\n\n if (!session) {\n try {\n const result = await props.api.client.session.get(\n { sessionID, directory: props.api.state.path.directory },\n { throwOnError: true },\n )\n session = result.data\n } catch {\n // Leave the scope unset so a failed child lookup cannot show its own tasks.\n // A later session event retries after local state is populated.\n return\n }\n }\n\n if (props.api.lifecycle.signal.aborted || currentRequest !== sessionRequest) return\n const parentSessionID = session.parentID ?? session.id\n setScopeSessionID(parentSessionID)\n setRevision((value) => value + 1)\n void loadMessages(parentSessionID, currentRequest)\n }\n\n createEffect(\n on(() => props.sessionID, (sessionID, previousSessionID) => {\n if (previousSessionID !== undefined && sessionID !== previousSessionID) setOpenPopup(undefined)\n void selectSession(sessionID)\n }),\n )\n\n const allTaskParts = createMemo(() => {\n revision()\n const sessionID = scopeSessionID()\n if (!sessionID) return []\n\n const messages = props.api.state.session.messages(sessionID)\n const parts = messages.length\n ? messages.flatMap((message) => props.api.state.part(message.id))\n : hydratedMessages().flatMap((message) => message.parts)\n return parts.filter(isTaskPart)\n })\n const visibleTaskParts = createMemo(() => allTaskParts().filter((part) => isVisibleTask(part, props.api.state.session.status)))\n // Popups need the direct parent's complete/error parts too, even after their\n // visible card has gone away.\n const tasksByCallID = createMemo(() => new Map(allTaskParts().map((part) => [part.callID, part])))\n const taskCallIDs = createMemo(() => visibleTaskParts().map((part) => part.callID))\n const activeChildSessions = createMemo(\n () => new Set(visibleTaskParts().map(taskSessionID).filter((sessionID): sessionID is string => Boolean(sessionID))),\n )\n\n const remember = (part: VisibleTaskPart): void => {\n const sessionID = taskSessionID(part)\n const session = sessionID ? props.api.state.session.get(sessionID) : undefined\n fallbacks.set(part.callID, { part, ...(sessionID ? { sessionID } : {}), ...(session ? { session } : {}) })\n }\n const rememberLiveTasks = () => {\n revision()\n for (const part of allTaskParts()) remember(part)\n }\n createEffect(rememberLiveTasks)\n\n const popupPart = createMemo(() => {\n revision()\n const callID = openPopup()?.callID\n return callID ? tasksByCallID().get(callID) ?? fallbacks.get(callID)?.part : undefined\n })\n const popupSessionID = createMemo(() => {\n const callID = openPopup()?.callID\n const part = popupPart()\n return (part ? taskSessionID(part) : undefined) ?? (callID ? fallbacks.get(callID)?.sessionID : undefined)\n })\n\n const startedAt = (part: VisibleTaskPart): number => {\n if (part.state.status !== \"pending\") return part.state.time.start\n const existing = firstSeen.get(part.callID)\n if (existing !== undefined) return existing\n const value = now()\n firstSeen.set(part.callID, value)\n return value\n }\n\n const closePopup = (ownership: PopupOwnership): void => {\n if (openPopup()?.token !== ownership.token) return\n setOpenPopup(undefined)\n }\n const showPopup = (callID: string, anchor: PopoverAnchor): void => {\n const ownership = { callID, token: Symbol(callID), anchor }\n setOpenPopup(ownership)\n }\n const updatePopupAnchor = (callID: string, anchor: PopoverAnchor): void => {\n const ownership = openPopup()\n if (!ownership || ownership.callID !== callID) return\n if (\n ownership.anchor.x === anchor.x &&\n ownership.anchor.y === anchor.y &&\n ownership.anchor.width === anchor.width &&\n ownership.anchor.height === anchor.height\n ) {\n return\n }\n setOpenPopup({ ...ownership, anchor })\n }\n const dismissForHostDialog = (): void => {\n if (openPopup() && props.api.ui.dialog.open) setOpenPopup(undefined)\n }\n const dismissForHostDialogFrame = async (): Promise<void> => {\n dismissForHostDialog()\n }\n createEffect(dismissForHostDialog)\n\n const unregister: Array<() => void> = []\n let timer: ReturnType<typeof setInterval> | undefined\n\n onMount(() => {\n const syncCurrentSession = (session: Session) => {\n if (session.id === props.sessionID) void selectSession(session.id, session)\n if (session.parentID === scopeSessionID() || activeChildSessions().has(session.id) || session.id === popupSessionID()) {\n setRevision((value) => value + 1)\n }\n }\n const refreshSession = (sessionID: string) => {\n if (sessionID === scopeSessionID() || activeChildSessions().has(sessionID) || sessionID === popupSessionID()) {\n setRevision((value) => value + 1)\n }\n }\n\n unregister.push(\n () => {\n props.api.renderer.removeFrameCallback(dismissForHostDialogFrame)\n },\n props.api.event.on(\"session.created\", (event) => syncCurrentSession(event.properties.info)),\n props.api.event.on(\"session.updated\", (event) => syncCurrentSession(event.properties.info)),\n props.api.event.on(\"message.updated\", (event) => refreshSession(event.properties.sessionID)),\n props.api.event.on(\"message.part.updated\", (event) => refreshSession(event.properties.sessionID)),\n props.api.event.on(\"message.part.removed\", (event) => refreshSession(event.properties.sessionID)),\n )\n props.api.renderer.setFrameCallback(dismissForHostDialogFrame)\n timer = setInterval(() => setNow(Date.now()), 1_000)\n })\n\n onCleanup(() => {\n sessionRequest += 1\n if (timer) clearInterval(timer)\n for (const dispose of unregister) dispose()\n setOpenPopup(undefined)\n })\n\n return (\n <box overflow=\"hidden\" flexDirection=\"column\" gap={1}>\n <text fg={props.api.theme.current.text}>\n <b>Subagents</b>\n <span style={{ fg: props.api.theme.current.textMuted }}>\n {visibleTaskParts().length ? ` (${visibleTaskParts().length} running)` : \"\"}\n </span>\n </text>\n\n <Show\n when={taskCallIDs().length > 0}\n fallback={<text fg={props.api.theme.current.textMuted}>No subagent running</text>}\n >\n <box width=\"100%\" flexDirection=\"column\" gap={1}>\n <For each={taskCallIDs()}>\n {(callID) => (\n <TaskCard\n api={props.api}\n callID={callID}\n tasksByCallID={tasksByCallID}\n fallbackFor={(id) => fallbacks.get(id)}\n remember={remember}\n revision={revision}\n now={now}\n startedAt={startedAt}\n openPopup={showPopup}\n updatePopupAnchor={updatePopupAnchor}\n />\n )}\n </For>\n </box>\n </Show>\n <Show when={openPopup()}>\n {(ownership) => (\n <TaskPopover\n api={props.api}\n ownership={ownership}\n currentSessionID={props.sessionID}\n fallbackPart={fallbacks.get(ownership().callID)!.part}\n tasksByCallID={tasksByCallID}\n fallbackFor={(id) => fallbacks.get(id)}\n revision={revision}\n now={now}\n startedAt={startedAt}\n close={() => closePopup(ownership())}\n />\n )}\n </Show>\n </box>\n )\n}\n\nconst tui: TuiPlugin = async (api) => {\n api.slots.register({\n order: 90,\n slots: {\n sidebar_footer(_ctx, props) {\n return <RunningSubagents api={api} sessionID={props.session_id} />\n },\n },\n })\n}\n\nconst plugin = {\n id: \"opencode-subagents-sidebar-plugin\",\n tui,\n} satisfies TuiPluginModule\n\nexport default plugin\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-subagents-sidebar-plugin",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "OpenCode TUI sidebar footer for active subagents.",
5
5
  "keywords": [
6
6
  "opencode",