opencode-subagents-sidebar-plugin 0.1.3 → 0.1.5

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","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":[]}
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.5",
4
4
  "description": "OpenCode TUI sidebar footer for active subagents.",
5
5
  "keywords": [
6
6
  "opencode",