1import type { ProviderDriverKind } from "@t3tools/contracts";
2
3import {
4 AcpRegistryAdapterV2Driver,
5 type AcpRegistryAdapterV2DriverEnv,
6} from "@t3tools/provider-acp-registry/server";
7import {
8 ClaudeAdapterV2Driver,
9 type ClaudeAdapterV2DriverEnv,
10} from "./Adapters/ClaudeAdapterV2.ts";
11import { CodexAdapterV2Driver, type CodexAdapterV2DriverEnv } from "./Adapters/CodexAdapterV2.ts";
12import {
13 CursorAdapterV2Driver,
14 type CursorAdapterV2DriverEnv,
15} from "@t3tools/provider-cursor/server";
16import { GrokAdapterV2Driver, type GrokAdapterV2DriverEnv } from "@t3tools/provider-grok/server";
17import {
18 OpenCodeAdapterV2Driver,
19 type OpenCodeAdapterV2DriverEnv,
20} from "@t3tools/provider-opencode/server";
21import { PiAdapterV2Driver, type PiAdapterV2DriverEnv } from "@t3tools/provider-pi/server";
22import type { AnyProviderAdapterDriver } from "@t3tools/provider-core/server/adapterDriver";
23
24export type BuiltInProviderAdapterDriversV2Env =
25 | AcpRegistryAdapterV2DriverEnv
26 | ClaudeAdapterV2DriverEnv
27 | CodexAdapterV2DriverEnv
28 | CursorAdapterV2DriverEnv
29 | GrokAdapterV2DriverEnv
30 | OpenCodeAdapterV2DriverEnv
31 | PiAdapterV2DriverEnv;
32
33const BUILT_IN_PROVIDER_ADAPTER_DRIVERS_V2: ReadonlyArray<
34 AnyProviderAdapterDriver<BuiltInProviderAdapterDriversV2Env>
35> = [
36 CodexAdapterV2Driver,
37 ClaudeAdapterV2Driver,
38 CursorAdapterV2Driver,
39 OpenCodeAdapterV2Driver,
40 GrokAdapterV2Driver,
41 PiAdapterV2Driver,
42 AcpRegistryAdapterV2Driver,
43];
44
45export const BUILT_IN_PROVIDER_ADAPTER_DRIVER_KINDS_V2: ReadonlySet<ProviderDriverKind> = new Set(
46 BUILT_IN_PROVIDER_ADAPTER_DRIVERS_V2.map((driver) => driver.driverKind),
47);