@mathrunet/masamune_firebase_workflow_marketing 3.8.0

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 (146) hide show
  1. package/CHANGELOG.md +361 -0
  2. package/LICENSE +21 -0
  3. package/README.md +70 -0
  4. package/assets/fonts/NotoSans-Bold.ttf +1439 -0
  5. package/assets/fonts/NotoSans-Regular.ttf +1439 -0
  6. package/assets/fonts/NotoSans.ttf +0 -0
  7. package/assets/fonts/NotoSansJP-Bold.ttf +0 -0
  8. package/assets/fonts/NotoSansJP-Regular.ttf +0 -0
  9. package/assets/fonts/NotoSansKR-Bold.ttf +1439 -0
  10. package/assets/fonts/NotoSansKR-Regular.ttf +1439 -0
  11. package/assets/fonts/NotoSansKR.ttf +0 -0
  12. package/assets/fonts/NotoSansSC-Bold.ttf +1439 -0
  13. package/assets/fonts/NotoSansSC-Regular.ttf +1439 -0
  14. package/assets/fonts/NotoSansSC.ttf +0 -0
  15. package/dist/clients/app_store_client.d.ts +54 -0
  16. package/dist/clients/app_store_client.js +280 -0
  17. package/dist/clients/app_store_client.js.map +1 -0
  18. package/dist/clients/firebase_analytics_client.d.ts +67 -0
  19. package/dist/clients/firebase_analytics_client.js +411 -0
  20. package/dist/clients/firebase_analytics_client.js.map +1 -0
  21. package/dist/clients/github_content_client.d.ts +83 -0
  22. package/dist/clients/github_content_client.js +443 -0
  23. package/dist/clients/github_content_client.js.map +1 -0
  24. package/dist/clients/google_play_client.d.ts +49 -0
  25. package/dist/clients/google_play_client.js +275 -0
  26. package/dist/clients/google_play_client.js.map +1 -0
  27. package/dist/functions/analyze_github_init.d.ts +37 -0
  28. package/dist/functions/analyze_github_init.js +299 -0
  29. package/dist/functions/analyze_github_init.js.map +1 -0
  30. package/dist/functions/analyze_github_process.d.ts +25 -0
  31. package/dist/functions/analyze_github_process.js +268 -0
  32. package/dist/functions/analyze_github_process.js.map +1 -0
  33. package/dist/functions/analyze_github_summary.d.ts +32 -0
  34. package/dist/functions/analyze_github_summary.js +270 -0
  35. package/dist/functions/analyze_github_summary.js.map +1 -0
  36. package/dist/functions/analyze_market_research.d.ts +40 -0
  37. package/dist/functions/analyze_market_research.js +346 -0
  38. package/dist/functions/analyze_market_research.js.map +1 -0
  39. package/dist/functions/analyze_marketing_data.d.ts +96 -0
  40. package/dist/functions/analyze_marketing_data.js +990 -0
  41. package/dist/functions/analyze_marketing_data.js.map +1 -0
  42. package/dist/functions/collect_from_app_store.d.ts +25 -0
  43. package/dist/functions/collect_from_app_store.js +148 -0
  44. package/dist/functions/collect_from_app_store.js.map +1 -0
  45. package/dist/functions/collect_from_firebase_analytics.d.ts +25 -0
  46. package/dist/functions/collect_from_firebase_analytics.js +142 -0
  47. package/dist/functions/collect_from_firebase_analytics.js.map +1 -0
  48. package/dist/functions/collect_from_google_play_console.d.ts +25 -0
  49. package/dist/functions/collect_from_google_play_console.js +142 -0
  50. package/dist/functions/collect_from_google_play_console.js.map +1 -0
  51. package/dist/functions/generate_marketing_markdown.d.ts +89 -0
  52. package/dist/functions/generate_marketing_markdown.js +653 -0
  53. package/dist/functions/generate_marketing_markdown.js.map +1 -0
  54. package/dist/functions/generate_marketing_pdf.d.ts +25 -0
  55. package/dist/functions/generate_marketing_pdf.js +175 -0
  56. package/dist/functions/generate_marketing_pdf.js.map +1 -0
  57. package/dist/functions/research_market.d.ts +56 -0
  58. package/dist/functions/research_market.js +434 -0
  59. package/dist/functions/research_market.js.map +1 -0
  60. package/dist/functions.d.ts +571 -0
  61. package/dist/functions.js +648 -0
  62. package/dist/functions.js.map +1 -0
  63. package/dist/index.d.ts +13 -0
  64. package/dist/index.js +30 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/locales/de_DE.d.ts +5 -0
  67. package/dist/locales/de_DE.js +111 -0
  68. package/dist/locales/de_DE.js.map +1 -0
  69. package/dist/locales/en.d.ts +5 -0
  70. package/dist/locales/en.js +111 -0
  71. package/dist/locales/en.js.map +1 -0
  72. package/dist/locales/es_ES.d.ts +5 -0
  73. package/dist/locales/es_ES.js +111 -0
  74. package/dist/locales/es_ES.js.map +1 -0
  75. package/dist/locales/fr_FR.d.ts +5 -0
  76. package/dist/locales/fr_FR.js +111 -0
  77. package/dist/locales/fr_FR.js.map +1 -0
  78. package/dist/locales/id_ID.d.ts +5 -0
  79. package/dist/locales/id_ID.js +111 -0
  80. package/dist/locales/id_ID.js.map +1 -0
  81. package/dist/locales/index.d.ts +59 -0
  82. package/dist/locales/index.js +155 -0
  83. package/dist/locales/index.js.map +1 -0
  84. package/dist/locales/ja.d.ts +5 -0
  85. package/dist/locales/ja.js +111 -0
  86. package/dist/locales/ja.js.map +1 -0
  87. package/dist/locales/ko_KR.d.ts +5 -0
  88. package/dist/locales/ko_KR.js +111 -0
  89. package/dist/locales/ko_KR.js.map +1 -0
  90. package/dist/locales/pt_PT.d.ts +5 -0
  91. package/dist/locales/pt_PT.js +111 -0
  92. package/dist/locales/pt_PT.js.map +1 -0
  93. package/dist/locales/ru_RU.d.ts +5 -0
  94. package/dist/locales/ru_RU.js +111 -0
  95. package/dist/locales/ru_RU.js.map +1 -0
  96. package/dist/locales/types.d.ts +105 -0
  97. package/dist/locales/types.js +8 -0
  98. package/dist/locales/types.js.map +1 -0
  99. package/dist/locales/zh_CN.d.ts +5 -0
  100. package/dist/locales/zh_CN.js +111 -0
  101. package/dist/locales/zh_CN.js.map +1 -0
  102. package/dist/models/app_store_data.d.ts +87 -0
  103. package/dist/models/app_store_data.js +8 -0
  104. package/dist/models/app_store_data.js.map +1 -0
  105. package/dist/models/chart_data.d.ts +104 -0
  106. package/dist/models/chart_data.js +8 -0
  107. package/dist/models/chart_data.js.map +1 -0
  108. package/dist/models/common.d.ts +42 -0
  109. package/dist/models/common.js +8 -0
  110. package/dist/models/common.js.map +1 -0
  111. package/dist/models/firebase_analytics_data.d.ts +134 -0
  112. package/dist/models/firebase_analytics_data.js +8 -0
  113. package/dist/models/firebase_analytics_data.js.map +1 -0
  114. package/dist/models/github_analysis_data.d.ts +266 -0
  115. package/dist/models/github_analysis_data.js +101 -0
  116. package/dist/models/github_analysis_data.js.map +1 -0
  117. package/dist/models/google_play_data.d.ts +115 -0
  118. package/dist/models/google_play_data.js +8 -0
  119. package/dist/models/google_play_data.js.map +1 -0
  120. package/dist/models/index.d.ts +14 -0
  121. package/dist/models/index.js +36 -0
  122. package/dist/models/index.js.map +1 -0
  123. package/dist/models/market_research_data.d.ts +259 -0
  124. package/dist/models/market_research_data.js +8 -0
  125. package/dist/models/market_research_data.js.map +1 -0
  126. package/dist/models/marketing_analysis_data.d.ts +200 -0
  127. package/dist/models/marketing_analysis_data.js +8 -0
  128. package/dist/models/marketing_analysis_data.js.map +1 -0
  129. package/dist/models/pdf_data.d.ts +112 -0
  130. package/dist/models/pdf_data.js +8 -0
  131. package/dist/models/pdf_data.js.map +1 -0
  132. package/dist/services/chart_service.d.ts +54 -0
  133. package/dist/services/chart_service.js +436 -0
  134. package/dist/services/chart_service.js.map +1 -0
  135. package/dist/services/github_analysis_service.d.ts +73 -0
  136. package/dist/services/github_analysis_service.js +488 -0
  137. package/dist/services/github_analysis_service.js.map +1 -0
  138. package/dist/services/pdf_service.d.ts +112 -0
  139. package/dist/services/pdf_service.js +1397 -0
  140. package/dist/services/pdf_service.js.map +1 -0
  141. package/dist/utils/github_analysis_storage.d.ts +88 -0
  142. package/dist/utils/github_analysis_storage.js +154 -0
  143. package/dist/utils/github_analysis_storage.js.map +1 -0
  144. package/package.json +64 -0
  145. package/scripts/cleanup_test_data.ts +304 -0
  146. package/scripts/list_test_data.ts +85 -0
@@ -0,0 +1,571 @@
1
+ import * as masamune from "@mathrunet/masamune_firebase";
2
+ /**
3
+ * Define a list of applicable Functions for FirebaseFunctions.
4
+ *
5
+ * FirebaseFunctions用の適用可能なFunctionの一覧を定義します。
6
+ */
7
+ export declare const Functions: {
8
+ /**
9
+ * A function for collecting data from Google Play Console.
10
+ *
11
+ * Google Play Consoleからデータを収集するためのFunction。
12
+ *
13
+ * @description
14
+ * Collects app performance metrics, reviews, and statistics from Google Play Console
15
+ * using service account credentials configured in the project settings.
16
+ *
17
+ * Google Play Consoleからアプリのパフォーマンス指標、レビュー、統計情報を収集します。
18
+ * プロジェクト設定で構成されたサービスアカウント認証情報を使用します。
19
+ *
20
+ * @param {ActionCommand} command - Action command parameters / アクションコマンドパラメータ
21
+ * @param {string} command.packageName - (Required) Android package name (e.g., "com.example.app") / (必須) Androidパッケージ名 (例: "com.example.app")
22
+ * @param {string} [command.startDate] - Start date for data collection (YYYY-MM-DD format, default: 7 days ago) / データ収集開始日 (YYYY-MM-DD形式、デフォルト: 7日前)
23
+ * @param {string} [command.endDate] - End date for data collection (YYYY-MM-DD format, default: yesterday) / データ収集終了日 (YYYY-MM-DD形式、デフォルト: 昨日)
24
+ *
25
+ * @returns {Action.results.googlePlayConsole} - Collection results / 収集結果
26
+ * @returns {Object} results.googlePlayConsole - Google Play Console data / Google Play Consoleデータ
27
+ * @returns {number} [results.googlePlayConsole.downloads] - Total download count / 総ダウンロード数
28
+ * @returns {number} [results.googlePlayConsole.activeInstalls] - Active installation count / アクティブインストール数
29
+ * @returns {number} [results.googlePlayConsole.rating] - Average rating (1-5) / 平均評価 (1-5)
30
+ * @returns {number} [results.googlePlayConsole.ratingCount] - Total number of ratings / 評価総数
31
+ * @returns {Array<Review>} [results.googlePlayConsole.recentReviews] - Recent user reviews / 最新のユーザーレビュー
32
+ * @returns {string} [results.googlePlayConsole.error] - Error message if collection failed / 収集失敗時のエラーメッセージ
33
+ *
34
+ * @requires
35
+ * - Project must have `googleServiceAccount` configured / プロジェクトに`googleServiceAccount`が設定されている必要があります
36
+ * - Service account must have Google Play Developer API access / サービスアカウントにGoogle Play Developer APIへのアクセス権限が必要です
37
+ *
38
+ * @example
39
+ * // Action command example
40
+ * {
41
+ * command: "collect_from_google_play_console",
42
+ * packageName: "com.example.myapp",
43
+ * startDate: "2024-01-01",
44
+ * endDate: "2024-01-31"
45
+ * }
46
+ */
47
+ readonly collectFromGooglePlayConsole: (options?: masamune.HttpFunctionsOptions) => masamune.FunctionsData;
48
+ /**
49
+ * A function for collecting data from App Store Connect.
50
+ *
51
+ * App Store Connectからデータを収集するためのFunction。
52
+ *
53
+ * @description
54
+ * Collects app performance metrics, reviews, and statistics from App Store Connect
55
+ * using App Store Connect API credentials configured in the project settings.
56
+ *
57
+ * App Store Connectからアプリのパフォーマンス指標、レビュー、統計情報を収集します。
58
+ * プロジェクト設定で構成されたApp Store Connect API認証情報を使用します。
59
+ *
60
+ * @param {ActionCommand} command - Action command parameters / アクションコマンドパラメータ
61
+ * @param {string} command.appId - (Required) App Store app ID / (必須) App StoreアプリID
62
+ * @param {string} [command.vendorNumber] - Vendor number for sales reports / 売上レポート用のベンダー番号
63
+ * @param {string} [command.startDate] - Start date for data collection (YYYY-MM-DD format, default: 7 days ago) / データ収集開始日 (YYYY-MM-DD形式、デフォルト: 7日前)
64
+ * @param {string} [command.endDate] - End date for data collection (YYYY-MM-DD format, default: yesterday) / データ収集終了日 (YYYY-MM-DD形式、デフォルト: 昨日)
65
+ *
66
+ * @returns {Action.results.appStore} - Collection results / 収集結果
67
+ * @returns {Object} results.appStore - App Store data / App Storeデータ
68
+ * @returns {string} [results.appStore.appName] - App name / アプリ名
69
+ * @returns {number} [results.appStore.downloads] - Total download count / 総ダウンロード数
70
+ * @returns {number} [results.appStore.rating] - Average rating (1-5) / 平均評価 (1-5)
71
+ * @returns {number} [results.appStore.ratingCount] - Total number of ratings / 評価総数
72
+ * @returns {Array<Review>} [results.appStore.recentReviews] - Recent user reviews / 最新のユーザーレビュー
73
+ * @returns {string} [results.appStore.error] - Error message if collection failed / 収集失敗時のエラーメッセージ
74
+ *
75
+ * @requires
76
+ * - Project must have `appstoreIssuerId`, `appstoreAuthKeyId`, and `appstoreAuthKey` configured / プロジェクトに`appstoreIssuerId`、`appstoreAuthKeyId`、`appstoreAuthKey`が設定されている必要があります
77
+ * - API key must have App Store Connect API access / APIキーにApp Store Connect APIへのアクセス権限が必要です
78
+ *
79
+ * @example
80
+ * // Action command example
81
+ * {
82
+ * command: "collect_from_app_store",
83
+ * appId: "123456789",
84
+ * vendorNumber: "12345678",
85
+ * startDate: "2024-01-01",
86
+ * endDate: "2024-01-31"
87
+ * }
88
+ */
89
+ readonly collectFromAppStore: (options?: masamune.HttpFunctionsOptions) => masamune.FunctionsData;
90
+ /**
91
+ * A function for collecting data from Firebase Analytics.
92
+ *
93
+ * Firebase Analyticsからデータを収集するためのFunction。
94
+ *
95
+ * @description
96
+ * Collects user engagement metrics and event data from Firebase Analytics (Google Analytics 4)
97
+ * using service account credentials configured in the project settings.
98
+ *
99
+ * Firebase Analytics (Google Analytics 4)からユーザーエンゲージメント指標とイベントデータを収集します。
100
+ * プロジェクト設定で構成されたサービスアカウント認証情報を使用します。
101
+ *
102
+ * @param {ActionCommand} command - Action command parameters / アクションコマンドパラメータ
103
+ * @param {string} command.propertyId - (Required) Firebase Analytics property ID (e.g., "12345678") / (必須) Firebase AnalyticsプロパティID (例: "12345678")
104
+ * @param {string} [command.startDate] - Start date for data collection (YYYY-MM-DD format, default: 7 days ago) / データ収集開始日 (YYYY-MM-DD形式、デフォルト: 7日前)
105
+ * @param {string} [command.endDate] - End date for data collection (YYYY-MM-DD format, default: yesterday) / データ収集終了日 (YYYY-MM-DD形式、デフォルト: 昨日)
106
+ *
107
+ * @returns {Action.results.firebaseAnalytics} - Collection results / 収集結果
108
+ * @returns {Object} results.firebaseAnalytics - Firebase Analytics data / Firebase Analyticsデータ
109
+ * @returns {number} [results.firebaseAnalytics.activeUsers] - Active user count / アクティブユーザー数
110
+ * @returns {number} [results.firebaseAnalytics.sessions] - Session count / セッション数
111
+ * @returns {number} [results.firebaseAnalytics.engagementRate] - Engagement rate / エンゲージメント率
112
+ * @returns {number} [results.firebaseAnalytics.averageSessionDuration] - Average session duration in seconds / 平均セッション時間(秒)
113
+ * @returns {Object} [results.firebaseAnalytics.events] - Event data by event name / イベント名別のイベントデータ
114
+ * @returns {string} [results.firebaseAnalytics.error] - Error message if collection failed / 収集失敗時のエラーメッセージ
115
+ *
116
+ * @requires
117
+ * - Project must have `googleServiceAccount` configured / プロジェクトに`googleServiceAccount`が設定されている必要があります
118
+ * - Service account must have Google Analytics Data API access / サービスアカウントにGoogle Analytics Data APIへのアクセス権限が必要です
119
+ *
120
+ * @example
121
+ * // Action command example
122
+ * {
123
+ * command: "collect_from_firebase_analytics",
124
+ * propertyId: "12345678",
125
+ * startDate: "2024-01-01",
126
+ * endDate: "2024-01-31"
127
+ * }
128
+ */
129
+ readonly collectFromFirebaseAnalytics: (options?: masamune.HttpFunctionsOptions) => masamune.FunctionsData;
130
+ /**
131
+ * A function for analyzing marketing data using AI (Gemini).
132
+ *
133
+ * AIを使用してマーケティングデータを解析するためのFunction。
134
+ *
135
+ * @description
136
+ * Analyzes marketing data collected from Google Play Console, App Store, and Firebase Analytics
137
+ * using Google's Gemini AI. Generates comprehensive insights, improvement suggestions, trend analysis,
138
+ * review analysis, and optional GitHub-aware improvements and market positioning analysis.
139
+ *
140
+ * Google Play Console、App Store、Firebase Analyticsから収集したマーケティングデータを
141
+ * GoogleのGemini AIを使用して分析します。包括的なインサイト、改善提案、トレンド分析、
142
+ * レビュー分析、およびオプションのGitHub対応改善提案と市場ポジショニング分析を生成します。
143
+ *
144
+ * @param {ActionCommand} command - Action command parameters (none required) / アクションコマンドパラメータ(必須なし)
145
+ *
146
+ * @returns {Action.results.marketingAnalytics} - AI-generated analysis results / AI生成の分析結果
147
+ * @returns {Object} results.marketingAnalytics - Marketing analytics data / マーケティング分析データ
148
+ * @returns {OverallAnalysis} results.marketingAnalytics.overallAnalysis - Overall performance analysis / 総合パフォーマンス分析
149
+ * @returns {string} results.marketingAnalytics.overallAnalysis.summary - Executive summary (2-3 paragraphs) / エグゼクティブサマリー(2-3段落)
150
+ * @returns {string[]} results.marketingAnalytics.overallAnalysis.highlights - Key highlights (positive points) / 主要なハイライト(ポジティブなポイント)
151
+ * @returns {string[]} results.marketingAnalytics.overallAnalysis.concerns - Areas of concern / 懸念事項
152
+ * @returns {KeyMetric[]} results.marketingAnalytics.overallAnalysis.keyMetrics - Key performance metrics / 主要パフォーマンス指標
153
+ * @returns {ImprovementSuggestion[]} results.marketingAnalytics.improvementSuggestions - Actionable improvement suggestions (5-8 items) / 実行可能な改善提案(5-8項目)
154
+ * @returns {string} results.marketingAnalytics.improvementSuggestions[].title - Suggestion title / 提案タイトル
155
+ * @returns {string} results.marketingAnalytics.improvementSuggestions[].description - Detailed description / 詳細説明
156
+ * @returns {"high"|"medium"|"low"} results.marketingAnalytics.improvementSuggestions[].priority - Priority level / 優先度
157
+ * @returns {string} results.marketingAnalytics.improvementSuggestions[].category - Category (user_acquisition, retention, engagement, monetization, quality, development) / カテゴリー
158
+ * @returns {string} results.marketingAnalytics.improvementSuggestions[].expectedImpact - Expected impact / 期待される影響
159
+ * @returns {TrendAnalysis} results.marketingAnalytics.trendAnalysis - Trend analysis and predictions / トレンド分析と予測
160
+ * @returns {string} results.marketingAnalytics.trendAnalysis.userGrowthTrend - User growth trend analysis / ユーザー成長トレンド分析
161
+ * @returns {string} results.marketingAnalytics.trendAnalysis.engagementTrend - Engagement trend analysis / エンゲージメントトレンド分析
162
+ * @returns {string} results.marketingAnalytics.trendAnalysis.ratingTrend - Rating trend analysis / 評価トレンド分析
163
+ * @returns {string[]} results.marketingAnalytics.trendAnalysis.predictions - Predictions for next period / 次期予測
164
+ * @returns {ReviewAnalysis} results.marketingAnalytics.reviewAnalysis - User review analysis / ユーザーレビュー分析
165
+ * @returns {Object} results.marketingAnalytics.reviewAnalysis.sentiment - Sentiment breakdown (percentages must sum to 100) / センチメント内訳(合計100%)
166
+ * @returns {number} results.marketingAnalytics.reviewAnalysis.sentiment.positive - Positive sentiment percentage / ポジティブセンチメント率
167
+ * @returns {number} results.marketingAnalytics.reviewAnalysis.sentiment.neutral - Neutral sentiment percentage / ニュートラルセンチメント率
168
+ * @returns {number} results.marketingAnalytics.reviewAnalysis.sentiment.negative - Negative sentiment percentage / ネガティブセンチメント率
169
+ * @returns {string[]} results.marketingAnalytics.reviewAnalysis.commonThemes - Common themes in reviews / レビューの共通テーマ
170
+ * @returns {string[]} results.marketingAnalytics.reviewAnalysis.actionableInsights - Actionable insights from reviews / レビューから得られる実行可能なインサイト
171
+ * @returns {CompetitivePositioningAnalysis} [results.marketingAnalytics.competitivePositioning] - Competitive positioning (when market research data is available) / 競合ポジショニング(市場調査データがある場合)
172
+ * @returns {string} results.marketingAnalytics.competitivePositioning.marketPosition - Current market position / 現在の市場ポジション
173
+ * @returns {Object[]} results.marketingAnalytics.competitivePositioning.competitorComparison - Competitor comparison / 競合比較
174
+ * @returns {string} results.marketingAnalytics.competitivePositioning.differentiationStrategy - Differentiation strategy / 差別化戦略
175
+ * @returns {string[]} results.marketingAnalytics.competitivePositioning.quickWins - Quick-win tactics / クイックウィン戦術
176
+ * @returns {MarketOpportunityPriorityAnalysis} [results.marketingAnalytics.marketOpportunityPriority] - Market opportunity priority (when market research data is available) / 市場機会優先度(市場調査データがある場合)
177
+ * @returns {Object[]} results.marketingAnalytics.marketOpportunityPriority.prioritizedOpportunities - Prioritized opportunities / 優先順位付けされた機会
178
+ * @returns {string} results.marketingAnalytics.marketOpportunityPriority.strategicRecommendation - Strategic recommendation / 戦略的推奨事項
179
+ * @returns {boolean} results.marketingAnalytics.marketDataIntegrated - Whether market research data was integrated / 市場調査データが統合されたかどうか
180
+ * @returns {string} results.marketingAnalytics.generatedAt - Generation timestamp (ISO 8601) / 生成タイムスタンプ(ISO 8601)
181
+ *
182
+ * @returns {Action.results.githubImprovements} - GitHub-aware improvement suggestions (when GitHub analysis is available) / GitHub対応改善提案(GitHub分析がある場合)
183
+ * @returns {string} results.githubImprovements.repository - Repository name / リポジトリ名
184
+ * @returns {string} results.githubImprovements.framework - Detected framework / 検出されたフレームワーク
185
+ * @returns {string} results.githubImprovements.improvementSummary - Summary of improvements / 改善提案サマリー
186
+ * @returns {Object[]} results.githubImprovements.improvements - Code-level improvement suggestions / コードレベルの改善提案
187
+ * @returns {string} results.githubImprovements.improvements[].title - Improvement title / 改善タイトル
188
+ * @returns {string} results.githubImprovements.improvements[].description - Detailed description / 詳細説明
189
+ * @returns {string} results.githubImprovements.improvements[].relatedFeature - Related feature name / 関連機能名
190
+ * @returns {Object[]} results.githubImprovements.improvements[].codeReferences - Code file references / コードファイル参照
191
+ * @returns {string} results.githubImprovements.improvements[].codeReferences[].filePath - File path / ファイルパス
192
+ * @returns {string} results.githubImprovements.improvements[].codeReferences[].currentFunctionality - Current functionality / 現在の機能
193
+ * @returns {string} results.githubImprovements.improvements[].codeReferences[].proposedChange - Proposed change / 提案される変更
194
+ * @returns {"add"|"modify"|"refactor"|"optimize"} results.githubImprovements.improvements[].codeReferences[].modificationType - Modification type / 変更タイプ
195
+ *
196
+ * @returns {Action.usage} - AI cost (in USD) added to action.usage / AIコスト(USD)がaction.usageに追加されます
197
+ *
198
+ * @requires
199
+ * - Task must have at least one of: googlePlayConsole, appStore, firebaseAnalytics in task.results / タスクに少なくとも1つのデータソースが必要です
200
+ * - GCP project ID must be configured in environment variables / 環境変数にGCPプロジェクトIDが設定されている必要があります
201
+ *
202
+ * @example
203
+ * // Action command example (no parameters needed)
204
+ * {
205
+ * command: "analyze_marketing_data"
206
+ * }
207
+ */
208
+ readonly analyzeMarketingData: (options?: masamune.HttpFunctionsOptions) => masamune.FunctionsData;
209
+ /**
210
+ * A function for generating marketing analytics PDF report.
211
+ *
212
+ * マーケティング分析PDFレポートを生成するためのFunction。
213
+ *
214
+ * @description
215
+ * Generates a comprehensive PDF report from marketing analytics data.
216
+ * Creates charts for key metrics and compiles all analysis into a formatted PDF document
217
+ * that is uploaded to Firebase Storage.
218
+ *
219
+ * マーケティング分析データから包括的なPDFレポートを生成します。
220
+ * 主要指標のグラフを作成し、すべての分析をフォーマットされたPDFドキュメントにまとめ、
221
+ * Firebase Storageにアップロードします。
222
+ *
223
+ * @param {ActionCommand} command - Action command parameters / アクションコマンドパラメータ
224
+ * @param {"daily"|"weekly"|"monthly"} [command.reportType="weekly"] - Report type (daily, weekly, or monthly) / レポートタイプ(日次、週次、月次)
225
+ * @param {string} [command.startDate] - Report start date (used for date range display) / レポート開始日(日付範囲表示に使用)
226
+ * @param {string} [command.endDate] - Report end date (used for date range display) / レポート終了日(日付範囲表示に使用)
227
+ *
228
+ * @returns {Action.assets.marketingAnalyticsPdf} - PDF report file path / PDFレポートファイルパス
229
+ * @returns {string} assets.marketingAnalyticsPdf - Firebase Storage path to the generated PDF (e.g., "reports/{taskId}/{timestamp}_marketing_report.pdf") / 生成されたPDFへのFirebase Storageパス
230
+ *
231
+ * @returns {Action.results.pdfError} - Error information if generation failed / 生成失敗時のエラー情報
232
+ * @returns {string} [results.pdfError] - Error message / エラーメッセージ
233
+ *
234
+ * @requires
235
+ * - Task must have at least one of: googlePlayConsole, appStore, firebaseAnalytics in task.results / タスクに少なくとも1つのデータソースが必要です
236
+ * - Firebase Storage bucket must be configured / Firebase Storageバケットが設定されている必要があります
237
+ *
238
+ * @pdf_contents
239
+ * The generated PDF includes:
240
+ * - Executive summary
241
+ * - Key metrics dashboard
242
+ * - Performance charts (downloads, ratings, engagement, etc.)
243
+ * - Trend analysis
244
+ * - Review sentiment analysis
245
+ * - Improvement suggestions
246
+ * - GitHub repository improvements (if available)
247
+ * - Market positioning analysis (if market research data is available)
248
+ *
249
+ * 生成されるPDFには以下が含まれます:
250
+ * - エグゼクティブサマリー
251
+ * - 主要指標ダッシュボード
252
+ * - パフォーマンスチャート(ダウンロード数、評価、エンゲージメントなど)
253
+ * - トレンド分析
254
+ * - レビューセンチメント分析
255
+ * - 改善提案
256
+ * - GitHubリポジトリ改善提案(利用可能な場合)
257
+ * - 市場ポジショニング分析(市場調査データがある場合)
258
+ *
259
+ * @example
260
+ * // Action command example
261
+ * {
262
+ * command: "generate_marketing_pdf",
263
+ * reportType: "weekly",
264
+ * startDate: "2024-01-01",
265
+ * endDate: "2024-01-07"
266
+ * }
267
+ */
268
+ readonly generateMarketingPdf: (options?: masamune.HttpFunctionsOptions) => masamune.FunctionsData;
269
+ /**
270
+ * A function for initializing GitHub repository analysis.
271
+ *
272
+ * GitHubリポジトリ解析を初期化するためのFunction。
273
+ *
274
+ * @description
275
+ * Initializes GitHub repository analysis by scanning the repository structure,
276
+ * detecting the framework, and creating a file list for batch processing.
277
+ * This function dynamically updates task.actions to add process and summary steps.
278
+ *
279
+ * GitHubリポジトリ解析を初期化し、リポジトリ構造をスキャンし、
280
+ * フレームワークを検出し、バッチ処理用のファイルリストを作成します。
281
+ * このfunctionはtask.actionsを動的に更新してプロセスとサマリーのステップを追加します。
282
+ *
283
+ * @param {ActionCommand} command - Action command parameters / アクションコマンドパラメータ
284
+ * @param {string} command.githubRepository - (Required) GitHub repository in format "owner/repo" (e.g., "facebook/react") / (必須) GitHubリポジトリ(形式: "owner/repo"、例: "facebook/react")
285
+ * @param {string} [command.githubRepositoryPath=""] - Path within repository to analyze (default: root) / 解析するリポジトリ内のパス(デフォルト: ルート)
286
+ * @param {number} command.index - Current action index in task.actions / task.actions内の現在のアクションインデックス
287
+ *
288
+ * @returns {Action.results.githubAnalysisInit} - Initialization results / 初期化結果
289
+ * @returns {string} results.githubAnalysisInit.repository - Repository name / リポジトリ名
290
+ * @returns {string} results.githubAnalysisInit.repositoryPath - Repository path / リポジトリパス
291
+ * @returns {string} results.githubAnalysisInit.framework - Detected framework (e.g., "flutter", "react-native", "android", "ios") / 検出されたフレームワーク
292
+ * @returns {string[]} results.githubAnalysisInit.platforms - Detected platforms / 検出されたプラットフォーム
293
+ * @returns {number} results.githubAnalysisInit.totalFiles - Total files to analyze / 解析対象ファイル総数
294
+ * @returns {number} results.githubAnalysisInit.totalFolders - Total folders / フォルダー総数
295
+ * @returns {number} results.githubAnalysisInit.batchCount - Number of process batches to create / 作成されるプロセスバッチ数
296
+ * @returns {string} [results.githubAnalysis.error] - Error message if initialization failed / 初期化失敗時のエラーメッセージ
297
+ *
298
+ * @side_effects
299
+ * - Updates task.actions to insert analyze_github_process actions (one per folder batch) / task.actionsを更新してanalyze_github_processアクションを挿入(フォルダーバッチごとに1つ)
300
+ * - Updates task.actions to insert analyze_github_summary action at the end / task.actionsを更新してanalyze_github_summaryアクションを最後に挿入
301
+ * - Saves analysis state to Firebase Storage / 分析状態をFirebase Storageに保存
302
+ *
303
+ * @requires
304
+ * - Project must have `githubPersonalAccessToken` configured / プロジェクトに`githubPersonalAccessToken`が設定されている必要があります
305
+ * - GitHub token must have repository read access / GitHubトークンにリポジトリ読み取りアクセス権限が必要です
306
+ *
307
+ * @example
308
+ * // Action command example
309
+ * {
310
+ * command: "analyze_github_init",
311
+ * index: 3,
312
+ * githubRepository: "flutter/flutter",
313
+ * githubRepositoryPath: "packages/flutter"
314
+ * }
315
+ */
316
+ readonly analyzeGithubInit: (options?: masamune.HttpFunctionsOptions) => masamune.FunctionsData;
317
+ /**
318
+ * A function for processing a batch of GitHub files.
319
+ *
320
+ * GitHubファイルのバッチを処理するためのFunction。
321
+ *
322
+ * @description
323
+ * Processes a folder batch from the GitHub repository analysis.
324
+ * Reads all files in the folder, generates AI summaries for files and folders,
325
+ * and caches the results in Firebase Storage for the summary step.
326
+ *
327
+ * GitHubリポジトリ解析からフォルダーバッチを処理します。
328
+ * フォルダー内のすべてのファイルを読み取り、ファイルとフォルダーのAIサマリーを生成し、
329
+ * サマリーステップのために結果をFirebase Storageにキャッシュします。
330
+ *
331
+ * @param {ActionCommand} command - Action command parameters / アクションコマンドパラメータ
332
+ * @param {string} command.githubRepository - (Required) GitHub repository in format "owner/repo" / (必須) GitHubリポジトリ(形式: "owner/repo")
333
+ * @param {string} [command.githubRepositoryPath=""] - Path within repository / リポジトリ内のパス
334
+ * @param {number} command.batchIndex - Batch index to process (0-based) / 処理するバッチインデックス(0始まり)
335
+ *
336
+ * @returns {Action.results.githubAnalysisProcess} - Processing results / 処理結果
337
+ * @returns {number} results.githubAnalysisProcess.batchIndex - Batch index that was processed / 処理されたバッチインデックス
338
+ * @returns {string} results.githubAnalysisProcess.folderPath - Folder path that was analyzed / 解析されたフォルダーパス
339
+ * @returns {number} results.githubAnalysisProcess.filesProcessed - Number of files in the batch / バッチ内のファイル数
340
+ * @returns {number} results.githubAnalysisProcess.filesAnalyzed - Number of files successfully analyzed / 正常に解析されたファイル数
341
+ * @returns {number} results.githubAnalysisProcess.totalProcessed - Total files processed so far / これまでに処理された総ファイル数
342
+ * @returns {number} results.githubAnalysisProcess.totalFiles - Total files to process / 処理する総ファイル数
343
+ * @returns {number} results.githubAnalysisProcess.inputTokens - AI input tokens used / 使用されたAI入力トークン
344
+ * @returns {number} results.githubAnalysisProcess.outputTokens - AI output tokens generated / 生成されたAI出力トークン
345
+ * @returns {boolean} [results.githubAnalysisProcess.skipped] - Whether the batch was skipped (already processed) / バッチがスキップされたかどうか(既に処理済み)
346
+ * @returns {string} [results.githubAnalysisProcess.error] - Error message if processing failed / 処理失敗時のエラーメッセージ
347
+ *
348
+ * @returns {Action.usage} - AI cost (in USD) added to action.usage / AIコスト(USD)がaction.usageに追加されます
349
+ *
350
+ * @requires
351
+ * - analyze_github_init must have been run first / analyze_github_initが先に実行されている必要があります
352
+ * - Project must have `githubPersonalAccessToken` configured / プロジェクトに`githubPersonalAccessToken`が設定されている必要があります
353
+ *
354
+ * @note
355
+ * This function is automatically created by analyze_github_init and should not be called directly.
356
+ * Multiple instances run in parallel to process different folder batches.
357
+ *
358
+ * このfunctionはanalyze_github_initによって自動的に作成され、直接呼び出すべきではありません。
359
+ * 異なるフォルダーバッチを処理するために複数のインスタンスが並列実行されます。
360
+ *
361
+ * @example
362
+ * // Action command example (auto-generated by analyze_github_init)
363
+ * {
364
+ * command: "analyze_github_process",
365
+ * githubRepository: "flutter/flutter",
366
+ * githubRepositoryPath: "packages/flutter",
367
+ * batchIndex: 0
368
+ * }
369
+ */
370
+ readonly analyzeGithubProcess: (options?: masamune.HttpFunctionsOptions) => masamune.FunctionsData;
371
+ /**
372
+ * A function for generating final GitHub repository analysis.
373
+ *
374
+ * GitHubリポジトリの最終解析を生成するためのFunction。
375
+ *
376
+ * @description
377
+ * Generates the final comprehensive repository analysis by aggregating all folder summaries
378
+ * from the process steps. Uses AI to create an overview, architecture description,
379
+ * and feature list for the repository.
380
+ *
381
+ * プロセスステップからすべてのフォルダーサマリーを集約して、最終的な包括的なリポジトリ解析を生成します。
382
+ * AIを使用してリポジトリの概要、アーキテクチャ説明、機能リストを作成します。
383
+ *
384
+ * @param {ActionCommand} command - Action command parameters / アクションコマンドパラメータ
385
+ * @param {string} command.githubRepository - (Required) GitHub repository in format "owner/repo" / (必須) GitHubリポジトリ(形式: "owner/repo")
386
+ * @param {string} [command.githubRepositoryPath=""] - Path within repository / リポジトリ内のパス
387
+ *
388
+ * @returns {Action.results.githubRepository} - Final repository analysis / 最終リポジトリ解析
389
+ * @returns {string} results.githubRepository.repository - Repository name / リポジトリ名
390
+ * @returns {string} results.githubRepository.framework - Detected framework / 検出されたフレームワーク
391
+ * @returns {string[]} results.githubRepository.platforms - Detected platforms / 検出されたプラットフォーム
392
+ * @returns {string} results.githubRepository.overview - High-level overview of the repository / リポジトリの概要
393
+ * @returns {string} results.githubRepository.architecture - Architecture description / アーキテクチャ説明
394
+ * @returns {RepositoryFeature[]} results.githubRepository.features - List of features / 機能リスト
395
+ * @returns {string} results.githubRepository.features[].name - Feature name / 機能名
396
+ * @returns {string} results.githubRepository.features[].description - Feature description / 機能説明
397
+ * @returns {string[]} results.githubRepository.features[].relatedFiles - Related file paths / 関連ファイルパス
398
+ * @returns {string} results.githubRepository.generatedAt - Generation timestamp (ISO 8601) / 生成タイムスタンプ(ISO 8601)
399
+ * @returns {string} [results.githubRepository.error] - Error message if analysis failed / 解析失敗時のエラーメッセージ
400
+ *
401
+ * @returns {Action.search} - Search text for vector embedding / ベクトル埋め込み用の検索テキスト
402
+ *
403
+ * @returns {Action.usage} - AI cost (in USD) added to action.usage / AIコスト(USD)がaction.usageに追加されます
404
+ *
405
+ * @requires
406
+ * - All analyze_github_process actions must have completed / すべてのanalyze_github_processアクションが完了している必要があります
407
+ * - Project must have valid analysis data in Firebase Storage / プロジェクトにFirebase Storageに有効な解析データが必要です
408
+ *
409
+ * @note
410
+ * This function is automatically created by analyze_github_init and should not be called directly.
411
+ * It runs after all analyze_github_process actions have completed.
412
+ *
413
+ * このfunctionはanalyze_github_initによって自動的に作成され、直接呼び出すべきではありません。
414
+ * すべてのanalyze_github_processアクションが完了した後に実行されます。
415
+ *
416
+ * @example
417
+ * // Action command example (auto-generated by analyze_github_init)
418
+ * {
419
+ * command: "analyze_github_summary",
420
+ * githubRepository: "flutter/flutter",
421
+ * githubRepositoryPath: "packages/flutter"
422
+ * }
423
+ */
424
+ readonly analyzeGithubSummary: (options?: masamune.HttpFunctionsOptions) => masamune.FunctionsData;
425
+ /**
426
+ * A function for conducting market research using Gemini with Google Search.
427
+ *
428
+ * Gemini + Google Searchを使用して市場調査を行うためのFunction。
429
+ *
430
+ * @description
431
+ * Conducts comprehensive market research using Google's Gemini AI with Google Search grounding.
432
+ * Analyzes market potential, competitor landscape, and business opportunities based on
433
+ * project information. Uses real-time web search to gather current market data.
434
+ *
435
+ * GoogleのGemini AIとGoogle Search groundingを使用して包括的な市場調査を実施します。
436
+ * プロジェクト情報に基づいて市場ポテンシャル、競合状況、ビジネス機会を分析します。
437
+ * リアルタイムのウェブ検索を使用して現在の市場データを収集します。
438
+ *
439
+ * @param {ActionCommand} command - Action command parameters (none required) / アクションコマンドパラメータ(必須なし)
440
+ *
441
+ * @returns {Action.results.marketResearchData} - Market research results / 市場調査結果
442
+ * @returns {MarketPotential} results.marketResearchData.marketPotential - Market potential analysis / 市場ポテンシャル分析
443
+ * @returns {string} results.marketResearchData.marketPotential.summary - Market potential summary / 市場ポテンシャルサマリー
444
+ * @returns {string} [results.marketResearchData.marketPotential.tam] - Total Addressable Market estimate / TAM(Total Addressable Market)推定値
445
+ * @returns {string} [results.marketResearchData.marketPotential.sam] - Serviceable Addressable Market estimate / SAM(Serviceable Addressable Market)推定値
446
+ * @returns {string} [results.marketResearchData.marketPotential.som] - Serviceable Obtainable Market estimate / SOM(Serviceable Obtainable Market)推定値
447
+ * @returns {string[]} results.marketResearchData.marketPotential.marketDrivers - Key market drivers / 主要な市場ドライバー
448
+ * @returns {string[]} results.marketResearchData.marketPotential.marketBarriers - Market entry barriers / 市場参入障壁
449
+ * @returns {string[]} results.marketResearchData.marketPotential.targetSegments - Target market segments / ターゲット市場セグメント
450
+ * @returns {CompetitorAnalysis} results.marketResearchData.competitorAnalysis - Competitor analysis / 競合分析
451
+ * @returns {Competitor[]} results.marketResearchData.competitorAnalysis.competitors - List of competitors (3-5 companies) / 競合リスト(3-5社)
452
+ * @returns {string} results.marketResearchData.competitorAnalysis.competitors[].name - Competitor name / 競合名
453
+ * @returns {string} results.marketResearchData.competitorAnalysis.competitors[].description - Competitor description / 競合説明
454
+ * @returns {string} [results.marketResearchData.competitorAnalysis.competitors[].marketShare] - Market share / 市場シェア
455
+ * @returns {string[]} results.marketResearchData.competitorAnalysis.competitors[].strengths - Competitor strengths / 競合の強み
456
+ * @returns {string[]} results.marketResearchData.competitorAnalysis.competitors[].weaknesses - Competitor weaknesses / 競合の弱み
457
+ * @returns {string} [results.marketResearchData.competitorAnalysis.competitors[].pricing] - Pricing model / 価格モデル
458
+ * @returns {string} [results.marketResearchData.competitorAnalysis.competitors[].targetAudience] - Target audience / ターゲット層
459
+ * @returns {string} [results.marketResearchData.competitorAnalysis.competitors[].sourceUrl] - Source URL / ソースURL
460
+ * @returns {string} results.marketResearchData.competitorAnalysis.marketLandscape - Overall market landscape / 市場全体の状況
461
+ * @returns {string[]} results.marketResearchData.competitorAnalysis.competitiveAdvantages - Our competitive advantages / 当社の競争優位性
462
+ * @returns {string[]} results.marketResearchData.competitorAnalysis.differentiationOpportunities - Differentiation opportunities / 差別化機会
463
+ * @returns {string[]} results.marketResearchData.competitorAnalysis.marketGaps - Unmet market needs / 未充足の市場ニーズ
464
+ * @returns {BusinessOpportunity[]} results.marketResearchData.businessOpportunities - Business opportunities / ビジネス機会
465
+ * @returns {string} results.marketResearchData.businessOpportunities[].title - Opportunity title / 機会タイトル
466
+ * @returns {string} results.marketResearchData.businessOpportunities[].description - Opportunity description / 機会説明
467
+ * @returns {"market_gap"|"emerging_trend"|"underserved_segment"|"technology_shift"|"regulatory_change"|"other"} results.marketResearchData.businessOpportunities[].type - Opportunity type / 機会タイプ
468
+ * @returns {"high"|"medium"|"low"} results.marketResearchData.businessOpportunities[].potentialImpact - Potential impact / 潜在的インパクト
469
+ * @returns {"immediate"|"short_term"|"medium_term"|"long_term"} results.marketResearchData.businessOpportunities[].timeframe - Timeframe / 時間枠
470
+ * @returns {string[]} results.marketResearchData.businessOpportunities[].requirements - Requirements to pursue / 追求するための要件
471
+ * @returns {string[]} results.marketResearchData.businessOpportunities[].risks - Associated risks / 関連リスク
472
+ * @returns {string[]} results.marketResearchData.dataSources - Data source URLs / データソースURL
473
+ * @returns {string} results.marketResearchData.generatedAt - Generation timestamp (ISO 8601) / 生成タイムスタンプ(ISO 8601)
474
+ * @returns {string} [results.marketResearchData.error] - Error message if research failed / 調査失敗時のエラーメッセージ
475
+ *
476
+ * @returns {Action.usage} - AI cost (in USD) added to action.usage / AIコスト(USD)がaction.usageに追加されます
477
+ *
478
+ * @requires
479
+ * - Project must have at least `description` field configured / プロジェクトに少なくとも`description`フィールドが設定されている必要があります
480
+ * - GCP project ID must be configured in environment variables / 環境変数にGCPプロジェクトIDが設定されている必要があります
481
+ *
482
+ * @note
483
+ * Uses Gemini with Google Search grounding to collect real-time market data.
484
+ * Prioritizes data from the last 12 months for accuracy.
485
+ *
486
+ * リアルタイムの市場データを収集するためにGoogle Search groundingを使用したGeminiを使用します。
487
+ * 精度のために過去12か月のデータを優先します。
488
+ *
489
+ * @example
490
+ * // Action command example (no parameters needed)
491
+ * {
492
+ * command: "research_market"
493
+ * }
494
+ */
495
+ readonly researchMarket: (options?: masamune.HttpFunctionsOptions) => masamune.FunctionsData;
496
+ /**
497
+ * A function for analyzing market research data.
498
+ *
499
+ * 市場調査データを分析するためのFunction。
500
+ *
501
+ * @description
502
+ * Performs deep strategic analysis of market research data collected by research_market.
503
+ * Generates demand forecasts, revenue enhancement strategies, traffic growth strategies,
504
+ * and key insights for business planning.
505
+ *
506
+ * research_marketによって収集された市場調査データの深い戦略分析を実行します。
507
+ * 需要予測、収益向上戦略、トラフィック成長戦略、およびビジネス計画のための主要なインサイトを生成します。
508
+ *
509
+ * @param {ActionCommand} command - Action command parameters (none required) / アクションコマンドパラメータ(必須なし)
510
+ *
511
+ * @returns {Action.results.marketResearch} - Strategic analysis results / 戦略分析結果
512
+ * @returns {string} results.marketResearch.summary - Executive summary of the analysis / 分析のエグゼクティブサマリー
513
+ * @returns {DemandForecast} results.marketResearch.demandForecast - Demand forecast analysis / 需要予測分析
514
+ * @returns {DemandPeriod} results.marketResearch.demandForecast.currentDemand - Current demand analysis / 現在の需要分析
515
+ * @returns {DemandPeriod} results.marketResearch.demandForecast.threeMonthForecast - 3-month forecast / 3か月予測
516
+ * @returns {DemandPeriod} results.marketResearch.demandForecast.oneYearForecast - 1-year forecast / 1年予測
517
+ * @returns {DemandPeriod} results.marketResearch.demandForecast.threeYearForecast - 3-year forecast / 3年予測
518
+ * @returns {DemandPeriod} results.marketResearch.demandForecast.fiveYearForecast - 5-year forecast / 5年予測
519
+ * @returns {string} results.marketResearch.demandForecast.currentDemand.period - Period label / 期間ラベル
520
+ * @returns {"very_high"|"high"|"medium"|"low"|"very_low"} results.marketResearch.demandForecast.currentDemand.demandLevel - Demand level / 需要レベル
521
+ * @returns {string} [results.marketResearch.demandForecast.currentDemand.estimatedMarketSize] - Estimated market size / 推定市場規模
522
+ * @returns {string} [results.marketResearch.demandForecast.currentDemand.growthRate] - Growth rate / 成長率
523
+ * @returns {string[]} results.marketResearch.demandForecast.currentDemand.keyFactors - Key factors driving forecast / 予測を駆動する主要因子
524
+ * @returns {"high"|"medium"|"low"} results.marketResearch.demandForecast.currentDemand.confidence - Forecast confidence / 予測信頼度
525
+ * @returns {"rapidly_growing"|"growing"|"stable"|"declining"|"rapidly_declining"} results.marketResearch.demandForecast.overallTrend - Overall market trend / 市場全体のトレンド
526
+ * @returns {string} results.marketResearch.demandForecast.summary - Forecast summary / 予測サマリー
527
+ * @returns {RevenueStrategy[]} results.marketResearch.revenueStrategies - Revenue enhancement strategies (3-5 items) / 収益向上戦略(3-5項目)
528
+ * @returns {string} results.marketResearch.revenueStrategies[].name - Strategy name / 戦略名
529
+ * @returns {string} results.marketResearch.revenueStrategies[].description - Strategy description / 戦略説明
530
+ * @returns {"pricing"|"monetization"|"expansion"|"partnership"|"product"|"marketing"} results.marketResearch.revenueStrategies[].type - Strategy type / 戦略タイプ
531
+ * @returns {"high"|"medium"|"low"} results.marketResearch.revenueStrategies[].priority - Priority level / 優先度
532
+ * @returns {string} results.marketResearch.revenueStrategies[].expectedImpact - Expected impact / 期待される影響
533
+ * @returns {string[]} results.marketResearch.revenueStrategies[].implementationSteps - Implementation steps / 実装ステップ
534
+ * @returns {string[]} results.marketResearch.revenueStrategies[].kpiMetrics - KPI metrics to track / 追跡するKPI指標
535
+ * @returns {string} results.marketResearch.revenueStrategies[].timeline - Implementation timeline / 実装タイムライン
536
+ * @returns {TrafficStrategy[]} results.marketResearch.trafficStrategies - Traffic growth strategies (3-5 items) / トラフィック成長戦略(3-5項目)
537
+ * @returns {string} results.marketResearch.trafficStrategies[].name - Strategy name / 戦略名
538
+ * @returns {string} results.marketResearch.trafficStrategies[].description - Strategy description / 戦略説明
539
+ * @returns {"organic_search"|"paid_ads"|"social_media"|"content_marketing"|"referral"|"email"|"partnerships"|"other"} results.marketResearch.trafficStrategies[].channel - Channel type / チャネルタイプ
540
+ * @returns {"high"|"medium"|"low"} results.marketResearch.trafficStrategies[].priority - Priority level / 優先度
541
+ * @returns {string} results.marketResearch.trafficStrategies[].expectedImpact - Expected impact / 期待される影響
542
+ * @returns {string[]} results.marketResearch.trafficStrategies[].implementationSteps - Implementation steps / 実装ステップ
543
+ * @returns {string} [results.marketResearch.trafficStrategies[].estimatedCost] - Estimated cost / 推定コスト
544
+ * @returns {string} results.marketResearch.trafficStrategies[].timeline - Implementation timeline / 実装タイムライン
545
+ * @returns {string[]} results.marketResearch.keyInsights - Key insights (5-7 items) / 主要なインサイト(5-7項目)
546
+ * @returns {MarketResearchData} results.marketResearch.researchData - Original research data / 元の調査データ
547
+ * @returns {string} results.marketResearch.generatedAt - Generation timestamp (ISO 8601) / 生成タイムスタンプ(ISO 8601)
548
+ * @returns {string} [results.marketResearch.error] - Error message if analysis failed / 分析失敗時のエラーメッセージ
549
+ *
550
+ * @returns {Action.usage} - AI cost (in USD) added to action.usage / AIコスト(USD)がaction.usageに追加されます
551
+ *
552
+ * @requires
553
+ * - Task must have valid marketResearchData in task.results / タスクに有効なmarketResearchDataが必要です
554
+ * - research_market must have been run first / research_marketが先に実行されている必要があります
555
+ * - GCP project ID must be configured in environment variables / 環境変数にGCPプロジェクトIDが設定されている必要があります
556
+ *
557
+ * @note
558
+ * This function analyzes the raw market research data and generates actionable strategic insights.
559
+ * It should be run after research_market to get comprehensive strategic recommendations.
560
+ *
561
+ * このfunctionは生の市場調査データを分析し、実行可能な戦略的インサイトを生成します。
562
+ * 包括的な戦略的推奨事項を得るためにresearch_marketの後に実行する必要があります。
563
+ *
564
+ * @example
565
+ * // Action command example (no parameters needed)
566
+ * {
567
+ * command: "analyze_market_research"
568
+ * }
569
+ */
570
+ readonly analyzeMarketResearch: (options?: masamune.HttpFunctionsOptions) => masamune.FunctionsData;
571
+ };