@nahisaho/katashiro-generator 0.2.2 → 0.2.4
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.
- package/dist/audio/AudioGenerator.d.ts +82 -0
- package/dist/audio/AudioGenerator.d.ts.map +1 -0
- package/dist/audio/AudioGenerator.js +561 -0
- package/dist/audio/AudioGenerator.js.map +1 -0
- package/dist/audio/SSMLBuilder.d.ts +114 -0
- package/dist/audio/SSMLBuilder.d.ts.map +1 -0
- package/dist/audio/SSMLBuilder.js +269 -0
- package/dist/audio/SSMLBuilder.js.map +1 -0
- package/dist/audio/index.d.ts +10 -0
- package/dist/audio/index.d.ts.map +1 -0
- package/dist/audio/index.js +12 -0
- package/dist/audio/index.js.map +1 -0
- package/dist/audio/types.d.ts +322 -0
- package/dist/audio/types.d.ts.map +1 -0
- package/dist/audio/types.js +102 -0
- package/dist/audio/types.js.map +1 -0
- package/dist/chart/ChartGenerator.d.ts +120 -0
- package/dist/chart/ChartGenerator.d.ts.map +1 -0
- package/dist/chart/ChartGenerator.js +328 -0
- package/dist/chart/ChartGenerator.js.map +1 -0
- package/dist/chart/DiagramGenerator.d.ts +141 -0
- package/dist/chart/DiagramGenerator.d.ts.map +1 -0
- package/dist/chart/DiagramGenerator.js +350 -0
- package/dist/chart/DiagramGenerator.js.map +1 -0
- package/dist/chart/MermaidBuilder.d.ts +291 -0
- package/dist/chart/MermaidBuilder.d.ts.map +1 -0
- package/dist/chart/MermaidBuilder.js +429 -0
- package/dist/chart/MermaidBuilder.js.map +1 -0
- package/dist/chart/SvgBuilder.d.ts +103 -0
- package/dist/chart/SvgBuilder.d.ts.map +1 -0
- package/dist/chart/SvgBuilder.js +503 -0
- package/dist/chart/SvgBuilder.js.map +1 -0
- package/dist/chart/index.d.ts +12 -0
- package/dist/chart/index.d.ts.map +1 -0
- package/dist/chart/index.js +13 -0
- package/dist/chart/index.js.map +1 -0
- package/dist/chart/types.d.ts +244 -0
- package/dist/chart/types.d.ts.map +1 -0
- package/dist/chart/types.js +107 -0
- package/dist/chart/types.js.map +1 -0
- package/dist/image/ImageGenerator.d.ts +145 -0
- package/dist/image/ImageGenerator.d.ts.map +1 -0
- package/dist/image/ImageGenerator.js +402 -0
- package/dist/image/ImageGenerator.js.map +1 -0
- package/dist/image/PromptOptimizer.d.ts +73 -0
- package/dist/image/PromptOptimizer.d.ts.map +1 -0
- package/dist/image/PromptOptimizer.js +295 -0
- package/dist/image/PromptOptimizer.js.map +1 -0
- package/dist/image/index.d.ts +10 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/index.js +12 -0
- package/dist/image/index.js.map +1 -0
- package/dist/image/types.d.ts +237 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/image/types.js +97 -0
- package/dist/image/types.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -1
- package/dist/ogp/OGPGenerator.d.ts +97 -0
- package/dist/ogp/OGPGenerator.d.ts.map +1 -0
- package/dist/ogp/OGPGenerator.js +245 -0
- package/dist/ogp/OGPGenerator.js.map +1 -0
- package/dist/ogp/OGPSvgBuilder.d.ts +95 -0
- package/dist/ogp/OGPSvgBuilder.d.ts.map +1 -0
- package/dist/ogp/OGPSvgBuilder.js +383 -0
- package/dist/ogp/OGPSvgBuilder.js.map +1 -0
- package/dist/ogp/index.d.ts +10 -0
- package/dist/ogp/index.d.ts.map +1 -0
- package/dist/ogp/index.js +12 -0
- package/dist/ogp/index.js.map +1 -0
- package/dist/ogp/types.d.ts +183 -0
- package/dist/ogp/types.d.ts.map +1 -0
- package/dist/ogp/types.js +204 -0
- package/dist/ogp/types.js.map +1 -0
- package/dist/video/FrameComposer.d.ts +95 -0
- package/dist/video/FrameComposer.d.ts.map +1 -0
- package/dist/video/FrameComposer.js +325 -0
- package/dist/video/FrameComposer.js.map +1 -0
- package/dist/video/VideoGenerator.d.ts +82 -0
- package/dist/video/VideoGenerator.d.ts.map +1 -0
- package/dist/video/VideoGenerator.js +325 -0
- package/dist/video/VideoGenerator.js.map +1 -0
- package/dist/video/index.d.ts +10 -0
- package/dist/video/index.d.ts.map +1 -0
- package/dist/video/index.js +12 -0
- package/dist/video/index.js.map +1 -0
- package/dist/video/types.d.ts +366 -0
- package/dist/video/types.d.ts.map +1 -0
- package/dist/video/types.js +111 -0
- package/dist/video/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/image/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,4 +17,9 @@ export { QiitaGenerator, type QiitaArticleOptions, type QiitaArticle, ZennGenera
|
|
|
17
17
|
export { ArticleGenerator, type ArticleTone, type ArticleAudience, type ArticleLength, type ArticleOptions, type GeneratedArticle, type ArticleCTA, type ArticleSEO, } from './article/index.js';
|
|
18
18
|
export { ContributionAnalyzer, VersioningManager, CollaborationTracker, TransparencyReportGenerator, type ContributorType, type AIContributionType, type HumanContributionType, type SectionContribution, type ContributionAnalysis, type ContributionSummary, type Version, type VersionDiff, type VersionHistory, type CollaborationSession, type SessionParticipant, type SessionOperation, type SessionStats, type TransparencyReport, type AIDisclosure, type TransparencyReportOptions, type SectionInput, type AnalysisOptions, type CreateVersionOptions, type DiffOptions, type AddParticipantOptions, type RecordOperationOptions, type ReportGeneratorConfig, } from './transparency/index.js';
|
|
19
19
|
export { WorkflowEngine, createWorkflow, QualityGate, createQualityCheck, StyleGuideEnforcer, createStyleRule, PipelineOrchestrator, PipelineConfigBuilder, PipelineTemplates, type StepStatus, type WorkflowStatus, type StepType, type WorkflowStep, type WorkflowDefinition, type WorkflowHooks, type WorkflowContext, type WorkflowLog, type StepResult, type WorkflowResult, type QualityCheckResult, type QualityGateResult, type QualityCheck, type StyleRule, type StyleViolation, type StyleCheckResult, type PipelineStage, type PipelineConfig, type CollectStageConfig, type AnalyzeStageConfig, type GenerateStageConfig, type ValidateStageConfig, type ExportStageConfig, type PipelineResult, } from './workflow/index.js';
|
|
20
|
+
export { ChartGenerator, DiagramGenerator, SvgBuilder, MermaidBuilder, type ChartType, type DiagramType, type OutputFormat, type ChartTheme, type DataPoint, type DataSeries, type ChartData, type AxisConfig, type LegendConfig, type ChartOptions, type DiagramOptions, type ChartOutput, type DiagramOutput, type ChartGeneratorConfig, type FlowchartNode, type FlowchartEdge, type FlowchartData, type SequenceParticipant, type SequenceMessage, type SequenceData, type ClassDefinition, type ClassRelation, type ClassDiagramData, type GanttTask, type GanttData, DEFAULT_CHART_CONFIG, ChartGeneratorError, CHART_ERROR_CODES, THEME_PALETTES, } from './chart/index.js';
|
|
21
|
+
export { OGPGenerator, createOGPGenerator, OGPSvgBuilder, type Platform, type AspectRatio, type OGPTheme, type GradientDirection, type TextAlign, type VerticalAlign, type OGPContent, type OGPStyle, type OGPOptions, type OGPImage, type PlatformConfig, type DecorationType, PLATFORM_CONFIGS, THEME_STYLES, DEFAULT_OGP_OPTIONS, OGPGeneratorError, OGP_ERROR_CODES, } from './ogp/index.js';
|
|
22
|
+
export { ImageGenerator, createImageGenerator, PromptOptimizer, optimizePrompt, enhancePrompt, type ImageModel, type ImageStyle, type ImageSizePreset, type ImageFormat, type ImageQuality, type ImageGenerationOptions, type PromptOptimizationOptions, type OptimizedPrompt, type GeneratedImage, type ImageMetadata, type ImageInput, type VariationOptions, type ImageEditOptions, type ModelProviderConfig, type ImageGeneratorConfig, SIZE_PRESETS, STYLE_KEYWORDS, QUALITY_KEYWORDS, DEFAULT_NEGATIVE_PROMPT, DEFAULT_IMAGE_OPTIONS, ImageGeneratorError, IMAGE_ERROR_CODES, } from './image/index.js';
|
|
23
|
+
export { AudioGenerator, SSMLBuilder, buildSSML, segmentText, type AudioProvider, type AudioFormat, type AudioQuality, type VoiceGender, type SpeakingStyle, type LanguageCode, type VoiceConfig, type TTSOptions, type SSMLElement, type TextSegment, type PodcastSpeaker, type PodcastSegment, type PodcastScript, type AudioBuffer, type GeneratedAudio, type AudioMetadata, type AvailableVoice, type AudioGeneratorOptions, PRESET_VOICES, QUALITY_PRESETS, DEFAULT_TTS_OPTIONS, AUDIO_ERROR_CODES, AudioGeneratorError, } from './audio/index.js';
|
|
24
|
+
export { VideoGenerator, createVideoGenerator, FrameComposer, generateTimeline, type VideoFormat, type VideoCodec, type AudioCodec, type ResolutionPreset, type AspectRatio as VideoAspectRatio, type TransitionType, type TextAnimationType, type HorizontalPosition, type VerticalPosition, type Resolution, type Slide as VideoSlide, type TransitionConfig, type KenBurnsEffect, type TextOverlay, type TextStyle, type TextAnimation, type AudioInput as VideoAudioInput, type VideoOptions, type VideoMetadataInput, type VideoOutput, type VideoMetadata, type VideoInput, type SlideshowConfig, type VideoGeneratorOptions, type FrameInfo, type RenderedFrame, RESOLUTION_PRESETS, getResolutionForAspectRatio, DEFAULT_VIDEO_OPTIONS, DEFAULT_TEXT_STYLE, DEFAULT_TRANSITION, VideoGeneratorError, VIDEO_ERROR_CODES, } from './video/index.js';
|
|
20
25
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -28,4 +28,44 @@ QualityGate, createQualityCheck,
|
|
|
28
28
|
StyleGuideEnforcer, createStyleRule,
|
|
29
29
|
// Pipeline Orchestrator
|
|
30
30
|
PipelineOrchestrator, PipelineConfigBuilder, PipelineTemplates, } from './workflow/index.js';
|
|
31
|
+
// Chart/Diagram module (REQ-MEDIA-002)
|
|
32
|
+
export {
|
|
33
|
+
// Generators
|
|
34
|
+
ChartGenerator, DiagramGenerator,
|
|
35
|
+
// Builders
|
|
36
|
+
SvgBuilder, MermaidBuilder,
|
|
37
|
+
// Constants
|
|
38
|
+
DEFAULT_CHART_CONFIG, ChartGeneratorError, CHART_ERROR_CODES, THEME_PALETTES, } from './chart/index.js';
|
|
39
|
+
// OGP/Thumbnail module (REQ-MEDIA-004)
|
|
40
|
+
export {
|
|
41
|
+
// Generator
|
|
42
|
+
OGPGenerator, createOGPGenerator,
|
|
43
|
+
// Builder
|
|
44
|
+
OGPSvgBuilder,
|
|
45
|
+
// Constants
|
|
46
|
+
PLATFORM_CONFIGS, THEME_STYLES, DEFAULT_OGP_OPTIONS, OGPGeneratorError, OGP_ERROR_CODES, } from './ogp/index.js';
|
|
47
|
+
// Image Generation module (REQ-MEDIA-001)
|
|
48
|
+
export {
|
|
49
|
+
// Generator
|
|
50
|
+
ImageGenerator, createImageGenerator,
|
|
51
|
+
// Prompt Optimizer
|
|
52
|
+
PromptOptimizer, optimizePrompt, enhancePrompt,
|
|
53
|
+
// Constants
|
|
54
|
+
SIZE_PRESETS, STYLE_KEYWORDS, QUALITY_KEYWORDS, DEFAULT_NEGATIVE_PROMPT, DEFAULT_IMAGE_OPTIONS, ImageGeneratorError, IMAGE_ERROR_CODES, } from './image/index.js';
|
|
55
|
+
// Audio/Podcast Generation module (REQ-MEDIA-005)
|
|
56
|
+
export {
|
|
57
|
+
// Generator
|
|
58
|
+
AudioGenerator,
|
|
59
|
+
// SSML Builder
|
|
60
|
+
SSMLBuilder, buildSSML, segmentText,
|
|
61
|
+
// Constants
|
|
62
|
+
PRESET_VOICES, QUALITY_PRESETS, DEFAULT_TTS_OPTIONS, AUDIO_ERROR_CODES, AudioGeneratorError, } from './audio/index.js';
|
|
63
|
+
// Video Generation module (REQ-MEDIA-003)
|
|
64
|
+
export {
|
|
65
|
+
// Generator
|
|
66
|
+
VideoGenerator, createVideoGenerator,
|
|
67
|
+
// Frame Composer
|
|
68
|
+
FrameComposer, generateTimeline,
|
|
69
|
+
// Constants
|
|
70
|
+
RESOLUTION_PRESETS, getResolutionForAspectRatio, DEFAULT_VIDEO_OPTIONS, DEFAULT_TEXT_STYLE, DEFAULT_TRANSITION, VideoGeneratorError, VIDEO_ERROR_CODES, } from './video/index.js';
|
|
31
71
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH,KAAK;AACL,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,gBAAgB,GAEjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,GAGlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,GAGf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,qBAAqB,GAKtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,GAId,MAAM,mBAAmB,CAAC;AAE3B,wCAAwC;AACxC,OAAO,EACL,cAAc,EAGd,aAAa,EAMb,aAAa,GAGd,MAAM,qBAAqB,CAAC;AAE7B,6BAA6B;AAC7B,OAAO,EACL,gBAAgB,GAQjB,MAAM,oBAAoB,CAAC;AAE5B,uCAAuC;AACvC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,GAwB5B,MAAM,yBAAyB,CAAC;AAEjC,mCAAmC;AACnC,OAAO;AACL,kBAAkB;AAClB,cAAc,EACd,cAAc;AACd,eAAe;AACf,WAAW,EACX,kBAAkB;AAClB,uBAAuB;AACvB,kBAAkB,EAClB,eAAe;AACf,wBAAwB;AACxB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GA0BlB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH,KAAK;AACL,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,gBAAgB,GAEjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,GAGlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,GAGf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,qBAAqB,GAKtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,GAId,MAAM,mBAAmB,CAAC;AAE3B,wCAAwC;AACxC,OAAO,EACL,cAAc,EAGd,aAAa,EAMb,aAAa,GAGd,MAAM,qBAAqB,CAAC;AAE7B,6BAA6B;AAC7B,OAAO,EACL,gBAAgB,GAQjB,MAAM,oBAAoB,CAAC;AAE5B,uCAAuC;AACvC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,GAwB5B,MAAM,yBAAyB,CAAC;AAEjC,mCAAmC;AACnC,OAAO;AACL,kBAAkB;AAClB,cAAc,EACd,cAAc;AACd,eAAe;AACf,WAAW,EACX,kBAAkB;AAClB,uBAAuB;AACvB,kBAAkB,EAClB,eAAe;AACf,wBAAwB;AACxB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GA0BlB,MAAM,qBAAqB,CAAC;AAE7B,uCAAuC;AACvC,OAAO;AACL,aAAa;AACb,cAAc,EACd,gBAAgB;AAChB,WAAW;AACX,UAAU,EACV,cAAc;AA2Bd,YAAY;AACZ,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,uCAAuC;AACvC,OAAO;AACL,YAAY;AACZ,YAAY,EACZ,kBAAkB;AAClB,UAAU;AACV,aAAa;AAcb,YAAY;AACZ,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,0CAA0C;AAC1C,OAAO;AACL,YAAY;AACZ,cAAc,EACd,oBAAoB;AACpB,mBAAmB;AACnB,eAAe,EACf,cAAc,EACd,aAAa;AAiBb,YAAY;AACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,kDAAkD;AAClD,OAAO;AACL,YAAY;AACZ,cAAc;AACd,eAAe;AACf,WAAW,EACX,SAAS,EACT,WAAW;AAoBX,YAAY;AACZ,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,0CAA0C;AAC1C,OAAO;AACL,YAAY;AACZ,cAAc,EACd,oBAAoB;AACpB,iBAAiB;AACjB,aAAa,EACb,gBAAgB;AA4BhB,YAAY;AACZ,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OGP Generator
|
|
3
|
+
* OGP画像・サムネイル生成
|
|
4
|
+
* REQ-MEDIA-004: サムネイル・OGP生成
|
|
5
|
+
*/
|
|
6
|
+
import type { OGPContent, OGPOptions, OGPImage, Platform, AspectRatio, OGPTheme, PlatformConfig } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* OGP画像生成クラス
|
|
9
|
+
* REQ-MEDIA-004-001: OGP画像生成
|
|
10
|
+
* REQ-MEDIA-004-002: サムネイル生成
|
|
11
|
+
* REQ-MEDIA-004-003: プラットフォーム最適化
|
|
12
|
+
*/
|
|
13
|
+
export declare class OGPGenerator {
|
|
14
|
+
private readonly defaultOptions;
|
|
15
|
+
constructor(defaultOptions?: Partial<OGPOptions>);
|
|
16
|
+
/**
|
|
17
|
+
* OGP画像を生成
|
|
18
|
+
* @param content OGPコンテンツ
|
|
19
|
+
* @param options 生成オプション
|
|
20
|
+
* @returns 生成されたOGP画像
|
|
21
|
+
*/
|
|
22
|
+
generate(content: OGPContent, options?: OGPOptions): Promise<OGPImage>;
|
|
23
|
+
/**
|
|
24
|
+
* プラットフォーム向けOGP画像を生成
|
|
25
|
+
* REQ-MEDIA-004-003: プラットフォーム最適化
|
|
26
|
+
* @param content OGPコンテンツ
|
|
27
|
+
* @param platform 対象プラットフォーム
|
|
28
|
+
* @param options 追加オプション
|
|
29
|
+
* @returns 生成されたOGP画像
|
|
30
|
+
*/
|
|
31
|
+
generateForPlatform(content: OGPContent, platform: Platform, options?: Partial<OGPOptions>): Promise<OGPImage>;
|
|
32
|
+
/**
|
|
33
|
+
* 複数プラットフォーム向けOGP画像を一括生成
|
|
34
|
+
* @param content OGPコンテンツ
|
|
35
|
+
* @param platforms 対象プラットフォーム配列
|
|
36
|
+
* @param options 追加オプション
|
|
37
|
+
* @returns プラットフォームごとのOGP画像マップ
|
|
38
|
+
*/
|
|
39
|
+
generateForPlatforms(content: OGPContent, platforms: Platform[], options?: Partial<OGPOptions>): Promise<Map<Platform, OGPImage>>;
|
|
40
|
+
/**
|
|
41
|
+
* サムネイル画像を生成
|
|
42
|
+
* REQ-MEDIA-004-002: サムネイル生成
|
|
43
|
+
* @param content OGPコンテンツ
|
|
44
|
+
* @param aspectRatio アスペクト比
|
|
45
|
+
* @param options 追加オプション
|
|
46
|
+
* @returns 生成されたサムネイル画像
|
|
47
|
+
*/
|
|
48
|
+
generateThumbnail(content: OGPContent, aspectRatio: AspectRatio, options?: Partial<OGPOptions>): Promise<OGPImage>;
|
|
49
|
+
/**
|
|
50
|
+
* 複数アスペクト比のサムネイルを一括生成
|
|
51
|
+
* @param content OGPコンテンツ
|
|
52
|
+
* @param aspectRatios アスペクト比配列
|
|
53
|
+
* @param options 追加オプション
|
|
54
|
+
* @returns アスペクト比ごとのサムネイルマップ
|
|
55
|
+
*/
|
|
56
|
+
generateThumbnails(content: OGPContent, aspectRatios: AspectRatio[], options?: Partial<OGPOptions>): Promise<Map<AspectRatio, OGPImage>>;
|
|
57
|
+
/**
|
|
58
|
+
* テーマプレビューを生成
|
|
59
|
+
* @param content OGPコンテンツ
|
|
60
|
+
* @param themes テーマ配列
|
|
61
|
+
* @returns テーマごとのプレビューマップ
|
|
62
|
+
*/
|
|
63
|
+
generateThemePreviews(content: OGPContent, themes: OGPTheme[]): Promise<Map<OGPTheme, OGPImage>>;
|
|
64
|
+
/**
|
|
65
|
+
* プラットフォーム設定を取得
|
|
66
|
+
*/
|
|
67
|
+
getPlatformConfig(platform: Platform): PlatformConfig;
|
|
68
|
+
/**
|
|
69
|
+
* 利用可能なプラットフォーム一覧を取得
|
|
70
|
+
*/
|
|
71
|
+
getAvailablePlatforms(): Platform[];
|
|
72
|
+
/**
|
|
73
|
+
* 利用可能なテーマ一覧を取得
|
|
74
|
+
*/
|
|
75
|
+
getAvailableThemes(): OGPTheme[];
|
|
76
|
+
/**
|
|
77
|
+
* SVGを生成
|
|
78
|
+
*/
|
|
79
|
+
private generateSvg;
|
|
80
|
+
/**
|
|
81
|
+
* メタデータを作成
|
|
82
|
+
*/
|
|
83
|
+
private createMetadata;
|
|
84
|
+
/**
|
|
85
|
+
* コンテンツを検証
|
|
86
|
+
*/
|
|
87
|
+
private validateContent;
|
|
88
|
+
/**
|
|
89
|
+
* アスペクト比から寸法を計算
|
|
90
|
+
*/
|
|
91
|
+
private calculateDimensions;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* ファクトリ関数
|
|
95
|
+
*/
|
|
96
|
+
export declare function createOGPGenerator(defaultOptions?: Partial<OGPOptions>): OGPGenerator;
|
|
97
|
+
//# sourceMappingURL=OGPGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OGPGenerator.d.ts","sourceRoot":"","sources":["../../src/ogp/OGPGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,cAAc,EACf,MAAM,YAAY,CAAC;AAUpB;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;gBAEhC,cAAc,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;IAIhD;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwB5E;;;;;;;OAOG;IACG,mBAAmB,CACvB,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC5B,OAAO,CAAC,QAAQ,CAAC;IAsBpB;;;;;;OAMG;IACG,oBAAoB,CACxB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAWnC;;;;;;;OAOG;IACG,iBAAiB,CACrB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC5B,OAAO,CAAC,QAAQ,CAAC;IAyBpB;;;;;;OAMG;IACG,kBAAkB,CACtB,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,WAAW,EAAE,EAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAWtC;;;;;OAKG;IACG,qBAAqB,CACzB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,QAAQ,EAAE,GACjB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAWnC;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc;IAWrD;;OAEG;IACH,qBAAqB,IAAI,QAAQ,EAAE;IAInC;;OAEG;IACH,kBAAkB,IAAI,QAAQ,EAAE;IAIhC;;OAEG;IACH,OAAO,CAAC,WAAW;IAwCnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAkBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAyB5B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,cAAc,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GACnC,YAAY,CAEd"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OGP Generator
|
|
3
|
+
* OGP画像・サムネイル生成
|
|
4
|
+
* REQ-MEDIA-004: サムネイル・OGP生成
|
|
5
|
+
*/
|
|
6
|
+
import { PLATFORM_CONFIGS, THEME_STYLES, DEFAULT_OGP_OPTIONS, OGPGeneratorError, OGP_ERROR_CODES, } from './types.js';
|
|
7
|
+
import { OGPSvgBuilder } from './OGPSvgBuilder.js';
|
|
8
|
+
/**
|
|
9
|
+
* OGP画像生成クラス
|
|
10
|
+
* REQ-MEDIA-004-001: OGP画像生成
|
|
11
|
+
* REQ-MEDIA-004-002: サムネイル生成
|
|
12
|
+
* REQ-MEDIA-004-003: プラットフォーム最適化
|
|
13
|
+
*/
|
|
14
|
+
export class OGPGenerator {
|
|
15
|
+
defaultOptions;
|
|
16
|
+
constructor(defaultOptions) {
|
|
17
|
+
this.defaultOptions = { ...DEFAULT_OGP_OPTIONS, ...defaultOptions };
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* OGP画像を生成
|
|
21
|
+
* @param content OGPコンテンツ
|
|
22
|
+
* @param options 生成オプション
|
|
23
|
+
* @returns 生成されたOGP画像
|
|
24
|
+
*/
|
|
25
|
+
async generate(content, options) {
|
|
26
|
+
this.validateContent(content);
|
|
27
|
+
const mergedOptions = { ...this.defaultOptions, ...options };
|
|
28
|
+
const width = mergedOptions.width ?? 1200;
|
|
29
|
+
const height = mergedOptions.height ?? 630;
|
|
30
|
+
const theme = mergedOptions.theme ?? 'default';
|
|
31
|
+
const format = mergedOptions.format ?? 'svg';
|
|
32
|
+
// SVGを生成
|
|
33
|
+
const svg = this.generateSvg(content, width, height, theme, mergedOptions);
|
|
34
|
+
// メタデータを作成
|
|
35
|
+
const metadata = this.createMetadata(content, width, height, mergedOptions);
|
|
36
|
+
return {
|
|
37
|
+
svg,
|
|
38
|
+
width,
|
|
39
|
+
height,
|
|
40
|
+
format,
|
|
41
|
+
metadata,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* プラットフォーム向けOGP画像を生成
|
|
46
|
+
* REQ-MEDIA-004-003: プラットフォーム最適化
|
|
47
|
+
* @param content OGPコンテンツ
|
|
48
|
+
* @param platform 対象プラットフォーム
|
|
49
|
+
* @param options 追加オプション
|
|
50
|
+
* @returns 生成されたOGP画像
|
|
51
|
+
*/
|
|
52
|
+
async generateForPlatform(content, platform, options) {
|
|
53
|
+
const platformConfig = this.getPlatformConfig(platform);
|
|
54
|
+
const platformOptions = {
|
|
55
|
+
...this.defaultOptions,
|
|
56
|
+
width: platformConfig.width,
|
|
57
|
+
height: platformConfig.height,
|
|
58
|
+
...options,
|
|
59
|
+
};
|
|
60
|
+
const result = await this.generate(content, platformOptions);
|
|
61
|
+
return {
|
|
62
|
+
...result,
|
|
63
|
+
metadata: {
|
|
64
|
+
...result.metadata,
|
|
65
|
+
platform: platformConfig.name,
|
|
66
|
+
platformId: platform,
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 複数プラットフォーム向けOGP画像を一括生成
|
|
72
|
+
* @param content OGPコンテンツ
|
|
73
|
+
* @param platforms 対象プラットフォーム配列
|
|
74
|
+
* @param options 追加オプション
|
|
75
|
+
* @returns プラットフォームごとのOGP画像マップ
|
|
76
|
+
*/
|
|
77
|
+
async generateForPlatforms(content, platforms, options) {
|
|
78
|
+
const results = new Map();
|
|
79
|
+
for (const platform of platforms) {
|
|
80
|
+
const image = await this.generateForPlatform(content, platform, options);
|
|
81
|
+
results.set(platform, image);
|
|
82
|
+
}
|
|
83
|
+
return results;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* サムネイル画像を生成
|
|
87
|
+
* REQ-MEDIA-004-002: サムネイル生成
|
|
88
|
+
* @param content OGPコンテンツ
|
|
89
|
+
* @param aspectRatio アスペクト比
|
|
90
|
+
* @param options 追加オプション
|
|
91
|
+
* @returns 生成されたサムネイル画像
|
|
92
|
+
*/
|
|
93
|
+
async generateThumbnail(content, aspectRatio, options) {
|
|
94
|
+
const { width, height } = this.calculateDimensions(aspectRatio, options?.width ?? 1200);
|
|
95
|
+
const thumbnailOptions = {
|
|
96
|
+
...this.defaultOptions,
|
|
97
|
+
width,
|
|
98
|
+
height,
|
|
99
|
+
...options,
|
|
100
|
+
};
|
|
101
|
+
const result = await this.generate(content, thumbnailOptions);
|
|
102
|
+
return {
|
|
103
|
+
...result,
|
|
104
|
+
metadata: {
|
|
105
|
+
...result.metadata,
|
|
106
|
+
aspectRatio,
|
|
107
|
+
isThumbnail: true,
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 複数アスペクト比のサムネイルを一括生成
|
|
113
|
+
* @param content OGPコンテンツ
|
|
114
|
+
* @param aspectRatios アスペクト比配列
|
|
115
|
+
* @param options 追加オプション
|
|
116
|
+
* @returns アスペクト比ごとのサムネイルマップ
|
|
117
|
+
*/
|
|
118
|
+
async generateThumbnails(content, aspectRatios, options) {
|
|
119
|
+
const results = new Map();
|
|
120
|
+
for (const ratio of aspectRatios) {
|
|
121
|
+
const image = await this.generateThumbnail(content, ratio, options);
|
|
122
|
+
results.set(ratio, image);
|
|
123
|
+
}
|
|
124
|
+
return results;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* テーマプレビューを生成
|
|
128
|
+
* @param content OGPコンテンツ
|
|
129
|
+
* @param themes テーマ配列
|
|
130
|
+
* @returns テーマごとのプレビューマップ
|
|
131
|
+
*/
|
|
132
|
+
async generateThemePreviews(content, themes) {
|
|
133
|
+
const results = new Map();
|
|
134
|
+
for (const theme of themes) {
|
|
135
|
+
const image = await this.generate(content, { theme });
|
|
136
|
+
results.set(theme, image);
|
|
137
|
+
}
|
|
138
|
+
return results;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* プラットフォーム設定を取得
|
|
142
|
+
*/
|
|
143
|
+
getPlatformConfig(platform) {
|
|
144
|
+
const config = PLATFORM_CONFIGS[platform];
|
|
145
|
+
if (!config) {
|
|
146
|
+
throw new OGPGeneratorError(OGP_ERROR_CODES.INVALID_PLATFORM, `Invalid platform: ${platform}`);
|
|
147
|
+
}
|
|
148
|
+
return config;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* 利用可能なプラットフォーム一覧を取得
|
|
152
|
+
*/
|
|
153
|
+
getAvailablePlatforms() {
|
|
154
|
+
return Object.keys(PLATFORM_CONFIGS);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* 利用可能なテーマ一覧を取得
|
|
158
|
+
*/
|
|
159
|
+
getAvailableThemes() {
|
|
160
|
+
return Object.keys(THEME_STYLES);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* SVGを生成
|
|
164
|
+
*/
|
|
165
|
+
generateSvg(content, width, height, theme, options) {
|
|
166
|
+
const builder = new OGPSvgBuilder(width, height, theme, options.customStyle);
|
|
167
|
+
// ヘッダー
|
|
168
|
+
builder.addHeader();
|
|
169
|
+
// 背景
|
|
170
|
+
if (content.backgroundImage) {
|
|
171
|
+
builder.addBackgroundImage(content.backgroundImage);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
builder.addBackground();
|
|
175
|
+
}
|
|
176
|
+
// 装飾(オプション)
|
|
177
|
+
if (options.decoration) {
|
|
178
|
+
builder.addDecoration(options.decoration);
|
|
179
|
+
}
|
|
180
|
+
// メインコンテンツ
|
|
181
|
+
builder.addContent(content);
|
|
182
|
+
// フッター
|
|
183
|
+
if (options.showFooter !== false) {
|
|
184
|
+
builder.addFooter(content);
|
|
185
|
+
}
|
|
186
|
+
// ロゴ
|
|
187
|
+
if (content.logo) {
|
|
188
|
+
builder.addLogo(content.logo);
|
|
189
|
+
}
|
|
190
|
+
return builder.build();
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* メタデータを作成
|
|
194
|
+
*/
|
|
195
|
+
createMetadata(content, width, height, options) {
|
|
196
|
+
return {
|
|
197
|
+
title: content.title,
|
|
198
|
+
description: content.description,
|
|
199
|
+
author: content.author,
|
|
200
|
+
siteName: content.siteName,
|
|
201
|
+
width,
|
|
202
|
+
height,
|
|
203
|
+
theme: options.theme,
|
|
204
|
+
generatedAt: new Date().toISOString(),
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* コンテンツを検証
|
|
209
|
+
*/
|
|
210
|
+
validateContent(content) {
|
|
211
|
+
if (!content) {
|
|
212
|
+
throw new OGPGeneratorError(OGP_ERROR_CODES.INVALID_CONTENT, 'Content is required');
|
|
213
|
+
}
|
|
214
|
+
if (!content.title || content.title.trim() === '') {
|
|
215
|
+
throw new OGPGeneratorError(OGP_ERROR_CODES.INVALID_CONTENT, 'Title is required');
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* アスペクト比から寸法を計算
|
|
220
|
+
*/
|
|
221
|
+
calculateDimensions(aspectRatio, baseWidth) {
|
|
222
|
+
const ratioMap = {
|
|
223
|
+
'16:9': 16 / 9,
|
|
224
|
+
'1:1': 1,
|
|
225
|
+
'4:3': 4 / 3,
|
|
226
|
+
'2:1': 2,
|
|
227
|
+
'1.91:1': 1.91,
|
|
228
|
+
};
|
|
229
|
+
const ratio = ratioMap[aspectRatio];
|
|
230
|
+
if (!ratio) {
|
|
231
|
+
throw new OGPGeneratorError(OGP_ERROR_CODES.INVALID_DIMENSIONS, `Invalid aspect ratio: ${aspectRatio}`);
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
width: baseWidth,
|
|
235
|
+
height: Math.round(baseWidth / ratio),
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* ファクトリ関数
|
|
241
|
+
*/
|
|
242
|
+
export function createOGPGenerator(defaultOptions) {
|
|
243
|
+
return new OGPGenerator(defaultOptions);
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=OGPGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OGPGenerator.js","sourceRoot":"","sources":["../../src/ogp/OGPGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OGP SVG Builder
|
|
3
|
+
* OGP画像をSVGで構築するユーティリティ
|
|
4
|
+
* REQ-MEDIA-004-001: OGP画像生成
|
|
5
|
+
*/
|
|
6
|
+
import type { OGPContent, OGPStyle } from './types.js';
|
|
7
|
+
import { type OGPTheme } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* OGP SVGビルダークラス
|
|
10
|
+
*/
|
|
11
|
+
export declare class OGPSvgBuilder {
|
|
12
|
+
private elements;
|
|
13
|
+
private readonly width;
|
|
14
|
+
private readonly height;
|
|
15
|
+
private readonly style;
|
|
16
|
+
private gradientId;
|
|
17
|
+
constructor(width: number, height: number, theme?: OGPTheme, customStyle?: Partial<OGPStyle>);
|
|
18
|
+
/**
|
|
19
|
+
* SVGヘッダーを追加
|
|
20
|
+
*/
|
|
21
|
+
addHeader(): void;
|
|
22
|
+
/**
|
|
23
|
+
* グラデーション定義を追加
|
|
24
|
+
*/
|
|
25
|
+
private addGradientDef;
|
|
26
|
+
/**
|
|
27
|
+
* グラデーション方向を座標に変換
|
|
28
|
+
*/
|
|
29
|
+
private getGradientCoords;
|
|
30
|
+
/**
|
|
31
|
+
* 背景を追加
|
|
32
|
+
*/
|
|
33
|
+
addBackground(): void;
|
|
34
|
+
/**
|
|
35
|
+
* 背景画像オーバーレイを追加
|
|
36
|
+
*/
|
|
37
|
+
addBackgroundImage(imageUrl: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* コンテンツを追加
|
|
40
|
+
*/
|
|
41
|
+
addContent(content: OGPContent): void;
|
|
42
|
+
/**
|
|
43
|
+
* フッター(メタ情報)を追加
|
|
44
|
+
*/
|
|
45
|
+
addFooter(content: OGPContent): void;
|
|
46
|
+
/**
|
|
47
|
+
* ロゴを追加
|
|
48
|
+
*/
|
|
49
|
+
addLogo(logoUrl: string, size?: number): void;
|
|
50
|
+
/**
|
|
51
|
+
* 装飾を追加
|
|
52
|
+
*/
|
|
53
|
+
addDecoration(type: 'dots' | 'lines' | 'circles' | 'corner'): void;
|
|
54
|
+
/**
|
|
55
|
+
* ドットパターンを追加
|
|
56
|
+
*/
|
|
57
|
+
private addDotPattern;
|
|
58
|
+
/**
|
|
59
|
+
* ラインパターンを追加
|
|
60
|
+
*/
|
|
61
|
+
private addLinePattern;
|
|
62
|
+
/**
|
|
63
|
+
* 円装飾を追加
|
|
64
|
+
*/
|
|
65
|
+
private addCircleDecoration;
|
|
66
|
+
/**
|
|
67
|
+
* コーナー装飾を追加
|
|
68
|
+
*/
|
|
69
|
+
private addCornerDecoration;
|
|
70
|
+
/**
|
|
71
|
+
* SVGを出力
|
|
72
|
+
*/
|
|
73
|
+
build(): string;
|
|
74
|
+
/**
|
|
75
|
+
* テキストを折り返し
|
|
76
|
+
*/
|
|
77
|
+
private wrapText;
|
|
78
|
+
/**
|
|
79
|
+
* X位置を計算
|
|
80
|
+
*/
|
|
81
|
+
private getXPosition;
|
|
82
|
+
/**
|
|
83
|
+
* テキストアンカーを取得
|
|
84
|
+
*/
|
|
85
|
+
private getTextAnchor;
|
|
86
|
+
/**
|
|
87
|
+
* Y位置を計算
|
|
88
|
+
*/
|
|
89
|
+
private getYPosition;
|
|
90
|
+
/**
|
|
91
|
+
* XMLエスケープ
|
|
92
|
+
*/
|
|
93
|
+
private escapeXml;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=OGPSvgBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OGPSvgBuilder.d.ts","sourceRoot":"","sources":["../../src/ogp/OGPSvgBuilder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EAIT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,UAAU,CAAkB;gBAGlC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,QAAoB,EAC3B,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAOjC;;OAEG;IACH,SAAS,IAAI,IAAI;IAgBjB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,aAAa,IAAI,IAAI;IAgCrB;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAc1C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAyErC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IA0CpC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,IAAI;IAUzC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI;IAmBlE;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,KAAK,IAAI,MAAM;IAKf;;OAEG;IACH,OAAO,CAAC,QAAQ;IAwDhB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;IACH,OAAO,CAAC,SAAS;CAQlB"}
|