Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
28 lines
922 B
TypeScript
28 lines
922 B
TypeScript
import { EOL } from "os"
|
|
import { AgentV2 } from "@opencode-ai/core/agent"
|
|
import { PluginBoot } from "@opencode-ai/core/plugin/boot"
|
|
import * as Effect from "effect/Effect"
|
|
import * as Command from "effect/unstable/cli/Command"
|
|
import { LocationServiceMap } from "@opencode-ai/core/location-layer"
|
|
import { AbsolutePath } from "@opencode-ai/core/schema"
|
|
|
|
export const AgentsCommand = Command.make("agents", {}, () =>
|
|
Effect.gen(function* () {
|
|
yield* PluginBoot.Service.use((service) => service.wait())
|
|
const agents = yield* AgentV2.Service.use((service) => service.all())
|
|
process.stdout.write(
|
|
JSON.stringify(
|
|
agents.sort((a, b) => a.id.localeCompare(b.id)),
|
|
null,
|
|
2,
|
|
) + EOL,
|
|
)
|
|
}).pipe(
|
|
Effect.provide(
|
|
LocationServiceMap.get({
|
|
directory: AbsolutePath.make(process.cwd()),
|
|
}),
|
|
),
|
|
),
|
|
).pipe(Command.withDescription("List all agents"))
|