@nahisaho/katashiro-generator 0.1.8 → 0.2.2

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.
Files changed (83) hide show
  1. package/dist/article/article-generator.d.ts +150 -0
  2. package/dist/article/article-generator.d.ts.map +1 -0
  3. package/dist/article/article-generator.js +224 -0
  4. package/dist/article/article-generator.js.map +1 -0
  5. package/dist/article/index.d.ts +8 -0
  6. package/dist/article/index.d.ts.map +1 -0
  7. package/dist/article/index.js +8 -0
  8. package/dist/article/index.js.map +1 -0
  9. package/dist/citation/citation-generator.d.ts +22 -0
  10. package/dist/citation/citation-generator.d.ts.map +1 -1
  11. package/dist/citation/citation-generator.js +94 -1
  12. package/dist/citation/citation-generator.js.map +1 -1
  13. package/dist/citation/index.d.ts +1 -1
  14. package/dist/citation/index.d.ts.map +1 -1
  15. package/dist/index.d.ts +4 -0
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +16 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/platform/index.d.ts +10 -0
  20. package/dist/platform/index.d.ts.map +1 -0
  21. package/dist/platform/index.js +10 -0
  22. package/dist/platform/index.js.map +1 -0
  23. package/dist/platform/note.d.ts +74 -0
  24. package/dist/platform/note.d.ts.map +1 -0
  25. package/dist/platform/note.js +142 -0
  26. package/dist/platform/note.js.map +1 -0
  27. package/dist/platform/qiita.d.ts +83 -0
  28. package/dist/platform/qiita.d.ts.map +1 -0
  29. package/dist/platform/qiita.js +148 -0
  30. package/dist/platform/qiita.js.map +1 -0
  31. package/dist/platform/zenn.d.ts +125 -0
  32. package/dist/platform/zenn.d.ts.map +1 -0
  33. package/dist/platform/zenn.js +202 -0
  34. package/dist/platform/zenn.js.map +1 -0
  35. package/dist/transparency/collaboration-tracker.d.ts +153 -0
  36. package/dist/transparency/collaboration-tracker.d.ts.map +1 -0
  37. package/dist/transparency/collaboration-tracker.js +380 -0
  38. package/dist/transparency/collaboration-tracker.js.map +1 -0
  39. package/dist/transparency/contribution-analyzer.d.ts +95 -0
  40. package/dist/transparency/contribution-analyzer.d.ts.map +1 -0
  41. package/dist/transparency/contribution-analyzer.js +326 -0
  42. package/dist/transparency/contribution-analyzer.js.map +1 -0
  43. package/dist/transparency/index.d.ts +13 -0
  44. package/dist/transparency/index.d.ts.map +1 -0
  45. package/dist/transparency/index.js +16 -0
  46. package/dist/transparency/index.js.map +1 -0
  47. package/dist/transparency/transparency-report-generator.d.ts +90 -0
  48. package/dist/transparency/transparency-report-generator.d.ts.map +1 -0
  49. package/dist/transparency/transparency-report-generator.js +471 -0
  50. package/dist/transparency/transparency-report-generator.js.map +1 -0
  51. package/dist/transparency/types.d.ts +277 -0
  52. package/dist/transparency/types.d.ts.map +1 -0
  53. package/dist/transparency/types.js +8 -0
  54. package/dist/transparency/types.js.map +1 -0
  55. package/dist/transparency/versioning-manager.d.ts +132 -0
  56. package/dist/transparency/versioning-manager.d.ts.map +1 -0
  57. package/dist/transparency/versioning-manager.js +388 -0
  58. package/dist/transparency/versioning-manager.js.map +1 -0
  59. package/dist/workflow/index.d.ts +12 -0
  60. package/dist/workflow/index.d.ts.map +1 -0
  61. package/dist/workflow/index.js +15 -0
  62. package/dist/workflow/index.js.map +1 -0
  63. package/dist/workflow/pipeline-orchestrator.d.ts +126 -0
  64. package/dist/workflow/pipeline-orchestrator.d.ts.map +1 -0
  65. package/dist/workflow/pipeline-orchestrator.js +459 -0
  66. package/dist/workflow/pipeline-orchestrator.js.map +1 -0
  67. package/dist/workflow/quality-gate.d.ts +80 -0
  68. package/dist/workflow/quality-gate.d.ts.map +1 -0
  69. package/dist/workflow/quality-gate.js +398 -0
  70. package/dist/workflow/quality-gate.js.map +1 -0
  71. package/dist/workflow/style-guide-enforcer.d.ts +71 -0
  72. package/dist/workflow/style-guide-enforcer.d.ts.map +1 -0
  73. package/dist/workflow/style-guide-enforcer.js +422 -0
  74. package/dist/workflow/style-guide-enforcer.js.map +1 -0
  75. package/dist/workflow/types.d.ts +326 -0
  76. package/dist/workflow/types.d.ts.map +1 -0
  77. package/dist/workflow/types.js +8 -0
  78. package/dist/workflow/types.js.map +1 -0
  79. package/dist/workflow/workflow-engine.d.ts +113 -0
  80. package/dist/workflow/workflow-engine.d.ts.map +1 -0
  81. package/dist/workflow/workflow-engine.js +429 -0
  82. package/dist/workflow/workflow-engine.js.map +1 -0
  83. package/package.json +1 -1
@@ -0,0 +1,150 @@
1
+ /**
2
+ * ArticleGenerator - 記事生成(トーン制御・SEO最適化)
3
+ *
4
+ * @since 0.2.0
5
+ * @requirement REQ-GENERATE-002-ENH-001
6
+ * @design DES-KATASHIRO-002 §4.8 記事生成強化
7
+ */
8
+ /**
9
+ * 記事のトーン
10
+ */
11
+ export type ArticleTone = 'formal' | 'casual' | 'technical' | 'conversational';
12
+ /**
13
+ * 対象読者レベル
14
+ */
15
+ export type ArticleAudience = 'beginner' | 'intermediate' | 'expert';
16
+ /**
17
+ * 記事の長さ
18
+ */
19
+ export type ArticleLength = 'short' | 'medium' | 'long';
20
+ /**
21
+ * SEO設定
22
+ */
23
+ export interface ArticleSEO {
24
+ /** ターゲットキーワード */
25
+ keywords: string[];
26
+ /** メタディスクリプション */
27
+ metaDescription?: string;
28
+ }
29
+ /**
30
+ * CTA(Call to Action)設定
31
+ */
32
+ export interface ArticleCTA {
33
+ /** CTAタイプ */
34
+ type: 'newsletter' | 'product' | 'link' | 'custom';
35
+ /** CTAテキスト */
36
+ text: string;
37
+ /** リンクURL */
38
+ url?: string;
39
+ }
40
+ /**
41
+ * 記事生成オプション
42
+ */
43
+ export interface ArticleOptions {
44
+ /** タイトル */
45
+ title: string;
46
+ /** トピック/テーマ */
47
+ topic: string;
48
+ /** トーン */
49
+ tone: ArticleTone;
50
+ /** 対象読者 */
51
+ audience: ArticleAudience;
52
+ /** 長さ */
53
+ length: ArticleLength;
54
+ /** SEO設定 */
55
+ seo?: ArticleSEO;
56
+ /** CTA設定 */
57
+ cta?: ArticleCTA;
58
+ /** 参考ソース */
59
+ sources?: Array<{
60
+ title: string;
61
+ url: string;
62
+ }>;
63
+ /** 追加コンテンツ(本文に含める内容) */
64
+ content?: string;
65
+ }
66
+ /**
67
+ * 生成された記事
68
+ */
69
+ export interface GeneratedArticle {
70
+ /** タイトル */
71
+ title: string;
72
+ /** 冒頭の引き込み文 */
73
+ hook: string;
74
+ /** 本文 */
75
+ body: string;
76
+ /** CTA部分 */
77
+ cta?: string;
78
+ /** メタ情報 */
79
+ meta: {
80
+ description: string;
81
+ keywords: string[];
82
+ readingTime: number;
83
+ wordCount: number;
84
+ };
85
+ /** 参考文献リスト */
86
+ citations: string[];
87
+ }
88
+ /**
89
+ * 記事生成クラス
90
+ */
91
+ export declare class ArticleGenerator {
92
+ /**
93
+ * 記事を生成
94
+ */
95
+ generate(options: ArticleOptions): Promise<GeneratedArticle>;
96
+ /**
97
+ * フック(冒頭文)を生成
98
+ */
99
+ generateHook(topic: string, tone: ArticleTone): Promise<string>;
100
+ /**
101
+ * CTA部分を生成
102
+ */
103
+ generateCTA(cta: ArticleCTA): string;
104
+ /**
105
+ * 読了時間を推定(分)
106
+ */
107
+ estimateReadingTime(wordCount: number): number;
108
+ /**
109
+ * 本文を生成
110
+ */
111
+ private generateBody;
112
+ /**
113
+ * 導入部を生成
114
+ */
115
+ private generateIntroduction;
116
+ /**
117
+ * セクションを生成
118
+ */
119
+ private generateSection;
120
+ /**
121
+ * まとめを生成
122
+ */
123
+ private generateConclusion;
124
+ /**
125
+ * テキストをトーンに合わせて調整
126
+ */
127
+ private adaptTone;
128
+ /**
129
+ * 単語数をカウント
130
+ */
131
+ private countWords;
132
+ /**
133
+ * キーワードを抽出
134
+ */
135
+ private extractKeywords;
136
+ /**
137
+ * メタディスクリプションを生成
138
+ */
139
+ private generateMetaDescription;
140
+ /**
141
+ * SEOキーワード密度をチェック
142
+ */
143
+ checkKeywordDensity(content: string, keywords: string[]): {
144
+ keyword: string;
145
+ count: number;
146
+ density: number;
147
+ status: 'ok' | 'low' | 'high';
148
+ }[];
149
+ }
150
+ //# sourceMappingURL=article-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article-generator.d.ts","sourceRoot":"","sources":["../../src/article/article-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * ArticleGenerator - 記事生成(トーン制御・SEO最適化)
3
+ *
4
+ * @since 0.2.0
5
+ * @requirement REQ-GENERATE-002-ENH-001
6
+ * @design DES-KATASHIRO-002 §4.8 記事生成強化
7
+ */
8
+ /**
9
+ * 長さ設定(目安文字数)
10
+ */
11
+ const LENGTH_CONFIG = {
12
+ short: { min: 500, max: 800, sections: 2 },
13
+ medium: { min: 1200, max: 2000, sections: 4 },
14
+ long: { min: 2500, max: 4000, sections: 6 },
15
+ };
16
+ /**
17
+ * 記事生成クラス
18
+ */
19
+ export class ArticleGenerator {
20
+ /**
21
+ * 記事を生成
22
+ */
23
+ async generate(options) {
24
+ const lengthConfig = LENGTH_CONFIG[options.length];
25
+ // フック生成
26
+ const hook = await this.generateHook(options.topic, options.tone);
27
+ // 本文生成
28
+ const body = this.generateBody(options, lengthConfig);
29
+ // CTA生成
30
+ const cta = options.cta ? this.generateCTA(options.cta) : undefined;
31
+ // メタ情報
32
+ const fullContent = `${hook}\n\n${body}`;
33
+ const wordCount = this.countWords(fullContent);
34
+ const readingTime = this.estimateReadingTime(wordCount);
35
+ // SEOメタ
36
+ const keywords = options.seo?.keywords || this.extractKeywords(options.topic);
37
+ const description = options.seo?.metaDescription ||
38
+ this.generateMetaDescription(options.title, options.topic, options.tone);
39
+ // 引用
40
+ const citations = options.sources?.map(s => `- [${s.title}](${s.url})`) || [];
41
+ return {
42
+ title: options.title,
43
+ hook,
44
+ body,
45
+ cta,
46
+ meta: {
47
+ description,
48
+ keywords,
49
+ readingTime,
50
+ wordCount,
51
+ },
52
+ citations,
53
+ };
54
+ }
55
+ /**
56
+ * フック(冒頭文)を生成
57
+ */
58
+ async generateHook(topic, tone) {
59
+ const hooks = {
60
+ formal: (t) => `${t}について、体系的に解説いたします。本記事では、重要なポイントを整理し、実践的な知見を提供します。`,
61
+ casual: (t) => `${t}って、実は奥が深いんです!今日はその魅力と活用法をわかりやすく紹介しますね。`,
62
+ technical: (t) => `本稿では${t}の技術的側面を詳細に解説する。実装例とベストプラクティスを中心に述べる。`,
63
+ conversational: (t) => `「${t}」について気になっていませんか?この記事では、あなたの疑問にお答えしながら、一緒に理解を深めていきましょう。`,
64
+ };
65
+ return hooks[tone](topic);
66
+ }
67
+ /**
68
+ * CTA部分を生成
69
+ */
70
+ generateCTA(cta) {
71
+ const templates = {
72
+ newsletter: (c) => `\n\n---\n\n📬 **${c.text}**\n\n${c.url ? `[登録はこちら](${c.url})` : ''}`,
73
+ product: (c) => `\n\n---\n\n🛒 **${c.text}**\n\n${c.url ? `[詳細を見る](${c.url})` : ''}`,
74
+ link: (c) => `\n\n---\n\n🔗 **${c.text}**\n\n${c.url ? `[こちらをクリック](${c.url})` : ''}`,
75
+ custom: (c) => `\n\n---\n\n${c.text}${c.url ? `\n\n[詳細](${c.url})` : ''}`,
76
+ };
77
+ return templates[cta.type](cta);
78
+ }
79
+ /**
80
+ * 読了時間を推定(分)
81
+ */
82
+ estimateReadingTime(wordCount) {
83
+ // 日本語: 約400-600文字/分、英語: 約200-250語/分
84
+ // 日本語は文字数ベースで計算
85
+ const charsPerMinute = 500;
86
+ return Math.max(1, Math.ceil(wordCount / charsPerMinute));
87
+ }
88
+ /**
89
+ * 本文を生成
90
+ */
91
+ generateBody(options, lengthConfig) {
92
+ const sections = [];
93
+ const { tone, audience, topic, content } = options;
94
+ // 導入部
95
+ sections.push(this.generateIntroduction(topic, tone, audience));
96
+ // メインコンテンツがある場合は使用
97
+ if (content) {
98
+ sections.push(this.adaptTone(content, tone));
99
+ }
100
+ else {
101
+ // セクションを生成
102
+ for (let i = 0; i < lengthConfig.sections - 1; i++) {
103
+ sections.push(this.generateSection(topic, tone, i));
104
+ }
105
+ }
106
+ // まとめ
107
+ sections.push(this.generateConclusion(topic, tone));
108
+ return sections.join('\n\n');
109
+ }
110
+ /**
111
+ * 導入部を生成
112
+ */
113
+ generateIntroduction(topic, _tone, audience) {
114
+ const audienceNote = {
115
+ beginner: '初めての方でも理解できるよう、基礎から丁寧に説明します。',
116
+ intermediate: 'ある程度の基礎知識をお持ちの方向けに、実践的な内容を中心にお伝えします。',
117
+ expert: '専門家の方向けに、高度なトピックと最新の知見を紹介します。',
118
+ };
119
+ return `## はじめに\n\n${audienceNote[audience]}\n\n${topic}を理解することで、より効果的な活用が可能になります。`;
120
+ }
121
+ /**
122
+ * セクションを生成
123
+ */
124
+ generateSection(topic, _tone, index) {
125
+ const sectionTitles = [
126
+ '基本概念',
127
+ '実践方法',
128
+ '応用テクニック',
129
+ '注意点とベストプラクティス',
130
+ '今後の展望',
131
+ ];
132
+ const title = sectionTitles[index % sectionTitles.length];
133
+ return `## ${title}\n\n${topic}の${title}について解説します。\n\n(ここに詳細なコンテンツが入ります)`;
134
+ }
135
+ /**
136
+ * まとめを生成
137
+ */
138
+ generateConclusion(topic, tone) {
139
+ const conclusions = {
140
+ formal: `## まとめ\n\n本記事では${topic}について解説いたしました。今後の参考にしていただければ幸いです。`,
141
+ casual: `## まとめ\n\nいかがでしたか?${topic}について、少しでも参考になれば嬉しいです!`,
142
+ technical: `## まとめ\n\n以上、${topic}の技術的概要を述べた。実装時の参考としていただきたい。`,
143
+ conversational: `## まとめ\n\n${topic}について、一緒に見てきましたね。何か新しい発見はありましたか?`,
144
+ };
145
+ return conclusions[tone];
146
+ }
147
+ /**
148
+ * テキストをトーンに合わせて調整
149
+ */
150
+ adaptTone(text, tone) {
151
+ // 簡易的なトーン調整(実際はより高度な処理が必要)
152
+ let result = text;
153
+ if (tone === 'casual') {
154
+ result = result.replace(/です。/g, 'ですね!');
155
+ result = result.replace(/ます。/g, 'ますよ!');
156
+ }
157
+ else if (tone === 'technical') {
158
+ result = result.replace(/〜ですね/g, '〜である');
159
+ result = result.replace(/〜しましょう/g, '〜する');
160
+ }
161
+ return result;
162
+ }
163
+ /**
164
+ * 単語数をカウント
165
+ */
166
+ countWords(text) {
167
+ // 日本語は文字数、英語は単語数でカウント
168
+ const japaneseChars = text.match(/[\u3040-\u309f\u30a0-\u30ff\u4e00-\u9faf]/g) || [];
169
+ const englishWords = text.match(/[a-zA-Z]+/g) || [];
170
+ return japaneseChars.length + englishWords.length;
171
+ }
172
+ /**
173
+ * キーワードを抽出
174
+ */
175
+ extractKeywords(topic) {
176
+ // 簡易的なキーワード抽出
177
+ const words = topic
178
+ .split(/[\s、,]+/)
179
+ .filter(w => w.length > 1);
180
+ return [...new Set(words)].slice(0, 5);
181
+ }
182
+ /**
183
+ * メタディスクリプションを生成
184
+ */
185
+ generateMetaDescription(title, topic, tone) {
186
+ const base = `${topic}について解説。`;
187
+ const suffix = {
188
+ formal: '専門的な観点から体系的にまとめています。',
189
+ casual: 'わかりやすく楽しく紹介しています!',
190
+ technical: '技術的な詳細と実装例を含みます。',
191
+ conversational: 'あなたの疑問にお答えします。',
192
+ };
193
+ const description = `${title} - ${base}${suffix[tone]}`;
194
+ // 120-160文字に調整
195
+ if (description.length > 160) {
196
+ return description.slice(0, 157) + '...';
197
+ }
198
+ return description;
199
+ }
200
+ /**
201
+ * SEOキーワード密度をチェック
202
+ */
203
+ checkKeywordDensity(content, keywords) {
204
+ const totalChars = content.length;
205
+ return keywords.map(keyword => {
206
+ const regex = new RegExp(keyword, 'gi');
207
+ const matches = content.match(regex) || [];
208
+ const count = matches.length;
209
+ const density = (count * keyword.length / totalChars) * 100;
210
+ let status;
211
+ if (density < 0.5) {
212
+ status = 'low';
213
+ }
214
+ else if (density > 3) {
215
+ status = 'high';
216
+ }
217
+ else {
218
+ status = 'ok';
219
+ }
220
+ return { keyword, count, density: Math.round(density * 100) / 100, status };
221
+ });
222
+ }
223
+ }
224
+ //# sourceMappingURL=article-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article-generator.js","sourceRoot":"","sources":["../../src/article/article-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Article generator module
3
+ * @since 0.2.0
4
+ * @requirement REQ-GENERATE-002-ENH
5
+ * @design DES-KATASHIRO-002 §4.8 記事生成強化
6
+ */
7
+ export { ArticleGenerator, type ArticleTone, type ArticleAudience, type ArticleLength, type ArticleOptions, type GeneratedArticle, type ArticleCTA, type ArticleSEO, } from './article-generator.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/article/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,UAAU,GAChB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Article generator module
3
+ * @since 0.2.0
4
+ * @requirement REQ-GENERATE-002-ENH
5
+ * @design DES-KATASHIRO-002 §4.8 記事生成強化
6
+ */
7
+ export { ArticleGenerator, } from './article-generator.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/article/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,gBAAgB,GAQjB,MAAM,wBAAwB,CAAC"}
@@ -2,7 +2,9 @@
2
2
  * CitationGenerator - 引用・参考文献生成
3
3
  *
4
4
  * @requirement REQ-GEN-003
5
+ * @requirement REQ-CITE-001-ENH (v0.2.0)
5
6
  * @design DES-KATASHIRO-001 §2.3 Generator Container
7
+ * @design DES-KATASHIRO-002 §3.1 CitationGenerator
6
8
  * @task TSK-033
7
9
  */
8
10
  import type { Source } from '@nahisaho/katashiro-core';
@@ -30,6 +32,16 @@ export interface SourceInput {
30
32
  readonly date?: string;
31
33
  readonly publishedAt?: string;
32
34
  }
35
+ /**
36
+ * 引用バリデーション結果
37
+ * @since 0.2.0
38
+ */
39
+ export interface CitationValidationResult {
40
+ readonly valid: boolean;
41
+ readonly errors: string[];
42
+ readonly warnings: string[];
43
+ readonly suggestions: string[];
44
+ }
33
45
  /**
34
46
  * 引用生成実装
35
47
  */
@@ -39,6 +51,16 @@ export declare class CitationGenerator {
39
51
  * AGENTS.md互換API
40
52
  */
41
53
  generate(input: Source | SourceInput, style?: CitationStyle): GeneratedCitation;
54
+ /**
55
+ * 引用を検証
56
+ * @since 0.2.0
57
+ * @requirement REQ-CITE-001-ENH
58
+ */
59
+ validate(input: Source | SourceInput): CitationValidationResult;
60
+ /**
61
+ * Source型かどうかを判定
62
+ */
63
+ private isSource;
42
64
  /**
43
65
  * SourceInputをSourceに正規化
44
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"citation-generator.d.ts","sourceRoot":"","sources":["../../src/citation/citation-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,KAAK,GAAE,aAAqB,GAAG,iBAAiB;IAMtF;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,iBAAiB;IAYzE;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM;IAgBrE;;OAEG;IACH,oBAAoB,CAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM;IAqBT;;OAEG;IACH,OAAO,CAAC,cAAc;IAwBtB;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,WAAW;CAOpB"}
1
+ {"version":3,"file":"citation-generator.d.ts","sourceRoot":"","sources":["../../src/citation/citation-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,KAAK,GAAE,aAAqB,GAAG,iBAAiB;IAMtF;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,wBAAwB;IAoF/D;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,iBAAiB;IAYzE;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM;IAgBrE;;OAEG;IACH,oBAAoB,CAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM;IAqBT;;OAEG;IACH,OAAO,CAAC,cAAc;IAwBtB;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,WAAW;CAOpB"}
@@ -2,7 +2,9 @@
2
2
  * CitationGenerator - 引用・参考文献生成
3
3
  *
4
4
  * @requirement REQ-GEN-003
5
+ * @requirement REQ-CITE-001-ENH (v0.2.0)
5
6
  * @design DES-KATASHIRO-001 §2.3 Generator Container
7
+ * @design DES-KATASHIRO-002 §3.1 CitationGenerator
6
8
  * @task TSK-033
7
9
  */
8
10
  /**
@@ -18,12 +20,103 @@ export class CitationGenerator {
18
20
  const source = this.normalizeSource(input);
19
21
  return this.generateCitation(source, style);
20
22
  }
23
+ /**
24
+ * 引用を検証
25
+ * @since 0.2.0
26
+ * @requirement REQ-CITE-001-ENH
27
+ */
28
+ validate(input) {
29
+ const errors = [];
30
+ const warnings = [];
31
+ const suggestions = [];
32
+ // 必須フィールドチェック
33
+ if (this.isSource(input)) {
34
+ // Source型の検証
35
+ const src = input;
36
+ if (!src.id) {
37
+ errors.push('Source ID is required');
38
+ }
39
+ if (!src.url && !src.metadata?.title) {
40
+ errors.push('Either URL or title is required');
41
+ }
42
+ if (!src.fetchedAt) {
43
+ warnings.push('fetchedAt is missing, will use current date');
44
+ }
45
+ }
46
+ else {
47
+ // SourceInput型の検証
48
+ const inp = input;
49
+ if (!inp.title || inp.title.trim() === '') {
50
+ errors.push('Title is required');
51
+ }
52
+ if (!inp.url && !inp.author) {
53
+ warnings.push('Neither URL nor author provided - citation may be incomplete');
54
+ }
55
+ }
56
+ // 共通チェック
57
+ const title = this.isSource(input) ? input.metadata?.title : input.title;
58
+ const url = this.isSource(input) ? input.url : input.url;
59
+ const author = this.isSource(input) ? input.metadata?.author : input.author;
60
+ const date = this.isSource(input)
61
+ ? input.metadata?.publishedAt
62
+ : (input.publishedAt || input.date);
63
+ // URL検証
64
+ if (url) {
65
+ try {
66
+ new URL(url);
67
+ }
68
+ catch {
69
+ errors.push(`Invalid URL format: ${url}`);
70
+ }
71
+ }
72
+ // 日付検証
73
+ if (date) {
74
+ const parsed = Date.parse(date);
75
+ if (isNaN(parsed)) {
76
+ warnings.push(`Date format may be invalid: ${date}`);
77
+ }
78
+ else if (parsed > Date.now()) {
79
+ warnings.push('Published date is in the future');
80
+ }
81
+ }
82
+ else {
83
+ suggestions.push('Adding a publication date improves citation accuracy');
84
+ }
85
+ // 著者検証
86
+ if (!author) {
87
+ suggestions.push('Adding author information is recommended for academic citations');
88
+ }
89
+ // タイトル品質チェック
90
+ if (title) {
91
+ if (title.length < 3) {
92
+ warnings.push('Title seems too short');
93
+ }
94
+ if (title.length > 500) {
95
+ warnings.push('Title seems too long, consider truncating');
96
+ }
97
+ if (/^https?:\/\//.test(title)) {
98
+ warnings.push('Title appears to be a URL, not a proper title');
99
+ }
100
+ }
101
+ return {
102
+ valid: errors.length === 0,
103
+ errors,
104
+ warnings,
105
+ suggestions,
106
+ };
107
+ }
108
+ /**
109
+ * Source型かどうかを判定
110
+ */
111
+ isSource(input) {
112
+ return 'id' in input && 'fetchedAt' in input && 'metadata' in input;
113
+ }
21
114
  /**
22
115
  * SourceInputをSourceに正規化
23
116
  */
24
117
  normalizeSource(input) {
25
118
  // すでにSourceの場合はそのまま返す
26
- if ('id' in input && 'fetchedAt' in input && 'metadata' in input) {
119
+ if (this.isSource(input)) {
27
120
  return input;
28
121
  }
29
122
  // SourceInputからSourceを構築
@@ -1 +1 @@
1
- {"version":3,"file":"citation-generator.js","sourceRoot":"","sources":["../../src/citation/citation-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"citation-generator.js","sourceRoot":"","sources":["../../src/citation/citation-generator.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  * Citation module exports
3
3
  */
4
4
  export { CitationGenerator, } from './citation-generator.js';
5
- export type { CitationStyle, GeneratedCitation, } from './citation-generator.js';
5
+ export type { CitationStyle, GeneratedCitation, CitationValidationResult, SourceInput, } from './citation-generator.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/citation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,aAAa,EACb,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/citation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,GACZ,MAAM,yBAAyB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -13,4 +13,8 @@ export { CitationGenerator, type CitationStyle, type GeneratedCitation, } from '
13
13
  export { TemplateEngine, type Template, type HelperFunction, } from './template/index.js';
14
14
  export { PresentationGenerator, type SlideType, type Slide, type Presentation, type PresentationConfig, } from './presentation/index.js';
15
15
  export { ExportService, type ExportFormat, type ExportOptions, type ExportResult, } from './export/index.js';
16
+ export { QiitaGenerator, type QiitaArticleOptions, type QiitaArticle, ZennGenerator, type ZennArticleOptions, type ZennArticle, type ZennBookOptions, type ZennBook, type ZennBookChapter, NoteGenerator, type NoteArticleOptions, type NoteArticle, } from './platform/index.js';
17
+ export { ArticleGenerator, type ArticleTone, type ArticleAudience, type ArticleLength, type ArticleOptions, type GeneratedArticle, type ArticleCTA, type ArticleSEO, } from './article/index.js';
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
+ 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';
16
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,gBAAgB,EAChB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,qBAAqB,EACrB,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}