types.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. export type BooleanArg = 'yes' | 'no';
  2. export type BackgroundSubagentsArg = 'ask' | 'yes' | 'no';
  3. export type CompanionArg = 'ask' | BooleanArg;
  4. export interface InstallArgs {
  5. tui: boolean;
  6. skills?: BooleanArg;
  7. preset?: string;
  8. dryRun?: boolean;
  9. reset?: boolean;
  10. backgroundSubagents?: BackgroundSubagentsArg;
  11. backgroundSubagentsTarget?: string;
  12. companion?: CompanionArg;
  13. }
  14. export interface OpenCodeConfig {
  15. plugin?: unknown[];
  16. provider?: Record<string, unknown>;
  17. agent?: Record<string, unknown>;
  18. [key: string]: unknown;
  19. }
  20. export interface InstallConfig {
  21. hasTmux: boolean;
  22. installCustomSkills: boolean;
  23. preset?: string;
  24. promptForStar?: boolean;
  25. dryRun?: boolean;
  26. reset: boolean;
  27. backgroundSubagents: BackgroundSubagentsArg;
  28. backgroundSubagentsTarget?: string;
  29. companion?: CompanionArg;
  30. }
  31. export interface ConfigMergeResult {
  32. success: boolean;
  33. configPath: string;
  34. error?: string;
  35. }
  36. export interface DetectedConfig {
  37. isInstalled: boolean;
  38. hasKimi: boolean;
  39. hasOpenAI: boolean;
  40. hasAnthropic?: boolean;
  41. hasCopilot?: boolean;
  42. hasZaiPlan?: boolean;
  43. hasAntigravity: boolean;
  44. hasChutes?: boolean;
  45. hasOpencodeZen: boolean;
  46. hasTmux: boolean;
  47. }