@gendive/slide 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,6 +12,10 @@ interface AiProviderActions {
12
12
  setProviderConfig: (config: AiProviderConfig | null) => void;
13
13
  getProviderConfig: () => AiProviderConfig | null;
14
14
  }
15
+ /**
16
+ * @description AI 설정 초기값 (null = 외부에서 설정 필요)
17
+ * @Todo vibecode - Editor의 aiConfig prop으로 설정
18
+ */
15
19
  /**
16
20
  * @description AI 상태 관리 스토어
17
21
  * @Todo vibecode - Zustand 기반 AI 상태 관리 + 제공자 설정
@@ -78,6 +78,32 @@ export interface AiSlideGenerationRequest {
78
78
  includeImages: boolean;
79
79
  language?: 'ko' | 'en';
80
80
  }
81
+ /**
82
+ * @description AI 편집 액션 - 이미지 추가
83
+ * @Todo vibecode - 이미지 추가 액션 정의
84
+ */
85
+ export interface AiAddImageAction {
86
+ type: 'addImage';
87
+ position: 'right' | 'left' | 'bottom' | 'center';
88
+ description: string;
89
+ suggestedSize?: {
90
+ width: number;
91
+ height: number;
92
+ };
93
+ }
94
+ /**
95
+ * @description AI 편집 액션 - 레이아웃 제안
96
+ * @Todo vibecode - 레이아웃 변경 제안 액션
97
+ */
98
+ export interface AiSuggestLayoutAction {
99
+ type: 'suggestLayout';
100
+ layout: LayoutType;
101
+ reason: string;
102
+ }
103
+ /**
104
+ * @description AI 편집 액션 타입
105
+ */
106
+ export type AiEditAction = AiAddImageAction | AiSuggestLayoutAction;
81
107
  /**
82
108
  * @description 생성된 슬라이드 구조
83
109
  */
@@ -88,6 +114,7 @@ export interface AiGeneratedSlide {
88
114
  content?: string;
89
115
  bulletPoints?: string[];
90
116
  imagePrompt?: string;
117
+ actions?: AiEditAction[];
91
118
  }
92
119
  /**
93
120
  * @description 슬라이드 생성 응답
@@ -1,5 +1,17 @@
1
+ import { AiProviderConfig } from '../ai/types';
2
+ /**
3
+ * @description Editor 컴포넌트 Props
4
+ * @Todo vibecode - AI 설정을 외부에서 주입
5
+ */
6
+ export interface EditorProps {
7
+ /**
8
+ * @description AI 제공자 설정 (필수)
9
+ * @example { provider: 'devdive', apiKey: 'YOUR_API_KEY', model: 'gpt-4o' }
10
+ */
11
+ aiConfig?: AiProviderConfig;
12
+ }
1
13
  /**
2
14
  * @description 메인 에디터 레이아웃 컴포넌트
3
15
  * @Todo vibecode - Tailwind → Mantine 마이그레이션 완료
4
16
  */
5
- export declare const Editor: () => import("react/jsx-runtime").JSX.Element;
17
+ export declare const Editor: ({ aiConfig }: EditorProps) => import("react/jsx-runtime").JSX.Element;