MCPcopy Index your code
hub / github.com/anomalyco/opencode / attachAgent

Function attachAgent

packages/opencode/src/cli/cmd/run.ts:621–659  ·  view source on GitHub ↗
(sdk: OpencodeClient)

Source from the content-addressed store, hash-verified

619 }
620
621 async function attachAgent(sdk: OpencodeClient) {
622 if (!args.agent) return undefined
623 const name = args.agent
624
625 const modes = await sdk.app
626 .agents(undefined, { throwOnError: true })
627 .then((x) => x.data ?? [])
628 .catch(() => undefined)
629
630 if (!modes) {
631 UI.println(
632 UI.Style.TEXT_WARNING_BOLD + "!",
633 UI.Style.TEXT_NORMAL,
634 `failed to list agents from ${args.attach}. Falling back to default agent`,
635 )
636 return undefined
637 }
638
639 const agent = modes.find((a) => a.name === name)
640 if (!agent) {
641 UI.println(
642 UI.Style.TEXT_WARNING_BOLD + "!",
643 UI.Style.TEXT_NORMAL,
644 `agent "${name}" not found. Falling back to default agent`,
645 )
646 return undefined
647 }
648
649 if (agent.mode === "subagent") {
650 UI.println(
651 UI.Style.TEXT_WARNING_BOLD + "!",
652 UI.Style.TEXT_NORMAL,
653 `agent "${name}" is a subagent, not a primary agent. Falling back to default agent`,
654 )
655 return undefined
656 }
657
658 return name
659 }
660
661 async function pickAgent(sdk: OpencodeClient) {
662 if (!args.agent) return undefined

Callers 1

pickAgentFunction · 0.85

Calls 2

findMethod · 0.65
agentsMethod · 0.45

Tested by

no test coverage detected