opencode-subagents-sidebar-plugin 0.1.3 → 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":["elapsedLabel","canOpenTaskSession","isTaskPart","isVisibleTask","resolveTaskModel","taskAgent","taskDescription","taskModeLabel","taskModelLabel","taskSessionID","taskStatusLabel","taskVariantLabel","createEffect","createMemo","createSignal","For","on","onCleanup","onMount","Show","resolvedModel","api","part","session","sessionID","state","messages","modelName","model","name","provider","find","id","providerID","models","modelID","undefined","TaskDetails","props","fallback","known","fallbackFor","callID","fallbackPart","revision","tasksByCallID","get","childSessionID","childSession","canOpen","currentSessionID","openSession","route","navigate","close","_el$","_$createElement","_el$2","_el$3","_el$5","_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$23","_el$25","_el$26","_el$27","_$insertNode","_$setProp","_$insert","status","now","startedAt","_$effect","_p$","_v$","theme","current","text","_v$2","_v$3","textMuted","_v$4","_v$5","_v$6","_v$7","_v$8","_v$9","_v$0","primary","_v$1","_v$10","e","t","a","o","i","n","s","h","r","d","l","u","TaskCard","livePart","elapsed","openDetails","renderer","getSelection","getSelectedText","remember","openPopup","_el$29","_el$30","_el$31","_el$32","_el$33","_el$34","_el$35","_el$36","_el$37","_el$38","_c$","_$memo","_$createComponent","when","children","_el$39","_$p","variant","_el$41","_el$42","_c$2","_v$11","_v$12","_v$13","_v$14","RunningSubagents","scopeSessionID","setScopeSessionID","hydratedMessages","setHydratedMessages","setRevision","setNow","Date","firstSeen","Map","fallbacks","setOpenPopup","sessionRequest","loadMessages","request","length","result","client","directory","path","throwOnError","lifecycle","signal","aborted","data","value","selectSession","currentRequest","parentSessionID","parentID","allTaskParts","parts","flatMap","message","filter","visibleTaskParts","map","taskCallIDs","activeChildSessions","Set","Boolean","set","rememberLiveTasks","popupPart","popupSessionID","time","start","existing","releasePopup","ownership","token","closePopup","ui","dialog","clear","showPopup","Symbol","replace","unregister","timer","syncCurrentSession","has","refreshSession","push","event","properties","info","setInterval","clearInterval","dispose","_el$43","_el$44","_el$45","_el$47","_c$3","_el$48","each","_v$15","_v$16","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 { elapsedLabel } from \"./activity.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 PopupOwnership = {\n callID: string\n token: symbol\n}\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 TaskDetails(props: {\n api: TuiPluginApi\n callID: string\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 fallback = (): TaskFallback => {\n const known = props.fallbackFor(props.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(props.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 openSession = () => {\n const sessionID = childSessionID()\n if (!canOpen() || !sessionID) return\n props.api.route.navigate(\"session\", { sessionID })\n props.close()\n }\n\n return (\n <box width=\"100%\" flexDirection=\"column\" padding={1} gap={1}>\n <text fg={props.api.theme.current.text}>\n <b>Subagent details</b>\n </text>\n <box flexDirection=\"column\">\n <text fg={props.api.theme.current.text}>Agent: {taskAgent(part() ?? fallback().part)}</text>\n <text fg={props.api.theme.current.textMuted} wrapMode=\"word\">\n Assigned task: {taskDescription(part() ?? fallback().part)}\n </text>\n <text fg={props.api.theme.current.textMuted}>\n Status: {taskStatusLabel(part() ?? fallback().part, childSessionID() ? props.api.state.session.status(childSessionID()!) : undefined)}\n </text>\n <text fg={props.api.theme.current.textMuted}>\n Model: {modelName(props.api, model())}\n </text>\n <text fg={props.api.theme.current.textMuted}>\n Effort/variant: {taskVariantLabel(model()) ?? \"pending\"}\n </text>\n <text fg={props.api.theme.current.textMuted}>\n Elapsed: {elapsedLabel(props.now() - props.startedAt(part() ?? fallback().part))}\n </text>\n <text fg={props.api.theme.current.textMuted}>Child session ID: {childSessionID() ?? \"Waiting for child session\"}</text>\n <text fg={props.api.theme.current.textMuted}>Mode: {taskModeLabel(part() ?? fallback().part)}</text>\n </box>\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 )\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, part: VisibleTaskPart) => 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 const openDetails = () => {\n if (props.api.renderer.getSelection()?.getSelectedText()) return\n const part = livePart()\n if (!part) return\n props.remember(part)\n props.openPopup(props.callID, part)\n }\n\n return (\n <box width=\"100%\" height={2} overflow=\"hidden\" onMouseUp={openDetails}>\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} 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<{ info: Message; parts: ReadonlyArray<Part> }>>([])\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(on(() => props.sessionID, (sessionID) => void selectSession(sessionID)))\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 releasePopup = (ownership: PopupOwnership): void => {\n if (openPopup()?.token === ownership.token) setOpenPopup(undefined)\n }\n const closePopup = (ownership: PopupOwnership): void => {\n if (openPopup()?.token !== ownership.token) return\n setOpenPopup(undefined)\n props.api.ui.dialog.clear()\n }\n const showPopup = (callID: string, part: VisibleTaskPart): void => {\n const ownership = { callID, token: Symbol(callID) }\n setOpenPopup(ownership)\n props.api.ui.dialog.replace(() => (\n <TaskDetails\n api={props.api}\n callID={callID}\n currentSessionID={props.sessionID}\n fallbackPart={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 ), () => releasePopup(ownership))\n }\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 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 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 const ownership = openPopup()\n if (ownership) closePopup(ownership)\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 />\n )}\n </For>\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.3",
3
+ "version": "0.1.6",
4
4
  "description": "OpenCode TUI sidebar footer for active subagents.",
5
5
  "keywords": [
6
6
  "opencode",