agents.ts 872 B

1234567891011121314151617
  1. import { EOL } from "os"
  2. import { AgentV2 } from "@opencode-ai/core/agent"
  3. import { LocationServiceMap } from "@opencode-ai/core/location-layer"
  4. import { PluginBoot } from "@opencode-ai/core/plugin/boot"
  5. import { AbsolutePath } from "@opencode-ai/core/schema"
  6. import * as Effect from "effect/Effect"
  7. import { Api } from "../../api"
  8. import { CliBuilder } from "../../cli-builder"
  9. export default CliBuilder.handler(Api.commands.debug.commands.agents, Effect.fn("cli.debug.agents")(function* () {
  10. const svc = {
  11. plugin: yield* PluginBoot.Service,
  12. agent: yield* AgentV2.Service,
  13. }
  14. yield* svc.plugin.wait()
  15. process.stdout.write(JSON.stringify((yield* svc.agent.all()).sort((a, b) => a.id.localeCompare(b.id)), null, 2) + EOL)
  16. }, Effect.provide(LocationServiceMap.get({ directory: AbsolutePath.make(process.cwd()) })), Effect.provide(LocationServiceMap.layer)))