@forgespace/branding-mcp 0.32.0 → 0.55.1

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 (196) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +47 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/branding-core/generators/brand-affiliate.d.ts +4 -0
  6. package/dist/lib/branding-core/generators/brand-affiliate.d.ts.map +1 -0
  7. package/dist/lib/branding-core/generators/brand-affiliate.js +249 -0
  8. package/dist/lib/branding-core/generators/brand-affiliate.js.map +1 -0
  9. package/dist/lib/branding-core/generators/brand-analytics.d.ts +3 -0
  10. package/dist/lib/branding-core/generators/brand-analytics.d.ts.map +1 -0
  11. package/dist/lib/branding-core/generators/brand-analytics.js +208 -0
  12. package/dist/lib/branding-core/generators/brand-analytics.js.map +1 -0
  13. package/dist/lib/branding-core/generators/brand-audio.d.ts +4 -0
  14. package/dist/lib/branding-core/generators/brand-audio.d.ts.map +1 -0
  15. package/dist/lib/branding-core/generators/brand-audio.js +200 -0
  16. package/dist/lib/branding-core/generators/brand-audio.js.map +1 -0
  17. package/dist/lib/branding-core/generators/brand-b2b.d.ts +4 -0
  18. package/dist/lib/branding-core/generators/brand-b2b.d.ts.map +1 -0
  19. package/dist/lib/branding-core/generators/brand-b2b.js +236 -0
  20. package/dist/lib/branding-core/generators/brand-b2b.js.map +1 -0
  21. package/dist/lib/branding-core/generators/brand-chatbot.d.ts +4 -0
  22. package/dist/lib/branding-core/generators/brand-chatbot.d.ts.map +1 -0
  23. package/dist/lib/branding-core/generators/brand-chatbot.js +174 -0
  24. package/dist/lib/branding-core/generators/brand-chatbot.js.map +1 -0
  25. package/dist/lib/branding-core/generators/brand-competitive.d.ts +3 -0
  26. package/dist/lib/branding-core/generators/brand-competitive.d.ts.map +1 -0
  27. package/dist/lib/branding-core/generators/brand-competitive.js +274 -0
  28. package/dist/lib/branding-core/generators/brand-competitive.js.map +1 -0
  29. package/dist/lib/branding-core/generators/brand-crisis.d.ts +3 -0
  30. package/dist/lib/branding-core/generators/brand-crisis.d.ts.map +1 -0
  31. package/dist/lib/branding-core/generators/brand-crisis.js +256 -0
  32. package/dist/lib/branding-core/generators/brand-crisis.js.map +1 -0
  33. package/dist/lib/branding-core/generators/brand-customer.d.ts +4 -0
  34. package/dist/lib/branding-core/generators/brand-customer.d.ts.map +1 -0
  35. package/dist/lib/branding-core/generators/brand-customer.js +270 -0
  36. package/dist/lib/branding-core/generators/brand-customer.js.map +1 -0
  37. package/dist/lib/branding-core/generators/brand-ecommerce.d.ts +4 -0
  38. package/dist/lib/branding-core/generators/brand-ecommerce.d.ts.map +1 -0
  39. package/dist/lib/branding-core/generators/brand-ecommerce.js +255 -0
  40. package/dist/lib/branding-core/generators/brand-ecommerce.js.map +1 -0
  41. package/dist/lib/branding-core/generators/brand-fintech.d.ts +3 -0
  42. package/dist/lib/branding-core/generators/brand-fintech.d.ts.map +1 -0
  43. package/dist/lib/branding-core/generators/brand-fintech.js +225 -0
  44. package/dist/lib/branding-core/generators/brand-fintech.js.map +1 -0
  45. package/dist/lib/branding-core/generators/brand-globalisation.d.ts +3 -0
  46. package/dist/lib/branding-core/generators/brand-globalisation.d.ts.map +1 -0
  47. package/dist/lib/branding-core/generators/brand-globalisation.js +222 -0
  48. package/dist/lib/branding-core/generators/brand-globalisation.js.map +1 -0
  49. package/dist/lib/branding-core/generators/brand-influencer.d.ts +4 -0
  50. package/dist/lib/branding-core/generators/brand-influencer.d.ts.map +1 -0
  51. package/dist/lib/branding-core/generators/brand-influencer.js +262 -0
  52. package/dist/lib/branding-core/generators/brand-influencer.js.map +1 -0
  53. package/dist/lib/branding-core/generators/brand-innovation.d.ts +3 -0
  54. package/dist/lib/branding-core/generators/brand-innovation.d.ts.map +1 -0
  55. package/dist/lib/branding-core/generators/brand-innovation.js +229 -0
  56. package/dist/lib/branding-core/generators/brand-innovation.js.map +1 -0
  57. package/dist/lib/branding-core/generators/brand-loyalty.d.ts +4 -0
  58. package/dist/lib/branding-core/generators/brand-loyalty.d.ts.map +1 -0
  59. package/dist/lib/branding-core/generators/brand-loyalty.js +231 -0
  60. package/dist/lib/branding-core/generators/brand-loyalty.js.map +1 -0
  61. package/dist/lib/branding-core/generators/brand-marketplace.d.ts +4 -0
  62. package/dist/lib/branding-core/generators/brand-marketplace.d.ts.map +1 -0
  63. package/dist/lib/branding-core/generators/brand-marketplace.js +251 -0
  64. package/dist/lib/branding-core/generators/brand-marketplace.js.map +1 -0
  65. package/dist/lib/branding-core/generators/brand-newsletter.d.ts +4 -0
  66. package/dist/lib/branding-core/generators/brand-newsletter.d.ts.map +1 -0
  67. package/dist/lib/branding-core/generators/brand-newsletter.js +173 -0
  68. package/dist/lib/branding-core/generators/brand-newsletter.js.map +1 -0
  69. package/dist/lib/branding-core/generators/brand-podcast.d.ts +3 -0
  70. package/dist/lib/branding-core/generators/brand-podcast.d.ts.map +1 -0
  71. package/dist/lib/branding-core/generators/brand-podcast.js +217 -0
  72. package/dist/lib/branding-core/generators/brand-podcast.js.map +1 -0
  73. package/dist/lib/branding-core/generators/brand-saas.d.ts +3 -0
  74. package/dist/lib/branding-core/generators/brand-saas.d.ts.map +1 -0
  75. package/dist/lib/branding-core/generators/brand-saas.js +212 -0
  76. package/dist/lib/branding-core/generators/brand-saas.js.map +1 -0
  77. package/dist/lib/branding-core/generators/brand-seo.d.ts +4 -0
  78. package/dist/lib/branding-core/generators/brand-seo.d.ts.map +1 -0
  79. package/dist/lib/branding-core/generators/brand-seo.js +269 -0
  80. package/dist/lib/branding-core/generators/brand-seo.js.map +1 -0
  81. package/dist/lib/branding-core/generators/brand-subscription.d.ts +4 -0
  82. package/dist/lib/branding-core/generators/brand-subscription.d.ts.map +1 -0
  83. package/dist/lib/branding-core/generators/brand-subscription.js +218 -0
  84. package/dist/lib/branding-core/generators/brand-subscription.js.map +1 -0
  85. package/dist/lib/branding-core/generators/brand-training.d.ts +4 -0
  86. package/dist/lib/branding-core/generators/brand-training.d.ts.map +1 -0
  87. package/dist/lib/branding-core/generators/brand-training.js +261 -0
  88. package/dist/lib/branding-core/generators/brand-training.js.map +1 -0
  89. package/dist/lib/branding-core/generators/brand-video.d.ts +3 -0
  90. package/dist/lib/branding-core/generators/brand-video.d.ts.map +1 -0
  91. package/dist/lib/branding-core/generators/brand-video.js +228 -0
  92. package/dist/lib/branding-core/generators/brand-video.js.map +1 -0
  93. package/dist/lib/branding-core/generators/brand-webinar.d.ts +4 -0
  94. package/dist/lib/branding-core/generators/brand-webinar.d.ts.map +1 -0
  95. package/dist/lib/branding-core/generators/brand-webinar.js +165 -0
  96. package/dist/lib/branding-core/generators/brand-webinar.js.map +1 -0
  97. package/dist/lib/branding-core/index.d.ts +23 -0
  98. package/dist/lib/branding-core/index.d.ts.map +1 -1
  99. package/dist/lib/branding-core/index.js +23 -0
  100. package/dist/lib/branding-core/index.js.map +1 -1
  101. package/dist/lib/types.d.ts +379 -0
  102. package/dist/lib/types.d.ts.map +1 -1
  103. package/dist/tools/generate-brand-affiliate.d.ts +3 -0
  104. package/dist/tools/generate-brand-affiliate.d.ts.map +1 -0
  105. package/dist/tools/generate-brand-affiliate.js +14 -0
  106. package/dist/tools/generate-brand-affiliate.js.map +1 -0
  107. package/dist/tools/generate-brand-analytics.d.ts +3 -0
  108. package/dist/tools/generate-brand-analytics.d.ts.map +1 -0
  109. package/dist/tools/generate-brand-analytics.js +19 -0
  110. package/dist/tools/generate-brand-analytics.js.map +1 -0
  111. package/dist/tools/generate-brand-audio.d.ts +3 -0
  112. package/dist/tools/generate-brand-audio.d.ts.map +1 -0
  113. package/dist/tools/generate-brand-audio.js +14 -0
  114. package/dist/tools/generate-brand-audio.js.map +1 -0
  115. package/dist/tools/generate-brand-b2b.d.ts +3 -0
  116. package/dist/tools/generate-brand-b2b.d.ts.map +1 -0
  117. package/dist/tools/generate-brand-b2b.js +10 -0
  118. package/dist/tools/generate-brand-b2b.js.map +1 -0
  119. package/dist/tools/generate-brand-chatbot.d.ts +3 -0
  120. package/dist/tools/generate-brand-chatbot.d.ts.map +1 -0
  121. package/dist/tools/generate-brand-chatbot.js +10 -0
  122. package/dist/tools/generate-brand-chatbot.js.map +1 -0
  123. package/dist/tools/generate-brand-competitive.d.ts +3 -0
  124. package/dist/tools/generate-brand-competitive.d.ts.map +1 -0
  125. package/dist/tools/generate-brand-competitive.js +14 -0
  126. package/dist/tools/generate-brand-competitive.js.map +1 -0
  127. package/dist/tools/generate-brand-crisis.d.ts +3 -0
  128. package/dist/tools/generate-brand-crisis.d.ts.map +1 -0
  129. package/dist/tools/generate-brand-crisis.js +14 -0
  130. package/dist/tools/generate-brand-crisis.js.map +1 -0
  131. package/dist/tools/generate-brand-customer.d.ts +3 -0
  132. package/dist/tools/generate-brand-customer.d.ts.map +1 -0
  133. package/dist/tools/generate-brand-customer.js +19 -0
  134. package/dist/tools/generate-brand-customer.js.map +1 -0
  135. package/dist/tools/generate-brand-ecommerce.d.ts +3 -0
  136. package/dist/tools/generate-brand-ecommerce.d.ts.map +1 -0
  137. package/dist/tools/generate-brand-ecommerce.js +14 -0
  138. package/dist/tools/generate-brand-ecommerce.js.map +1 -0
  139. package/dist/tools/generate-brand-fintech.d.ts +3 -0
  140. package/dist/tools/generate-brand-fintech.d.ts.map +1 -0
  141. package/dist/tools/generate-brand-fintech.js +14 -0
  142. package/dist/tools/generate-brand-fintech.js.map +1 -0
  143. package/dist/tools/generate-brand-globalisation.d.ts +3 -0
  144. package/dist/tools/generate-brand-globalisation.d.ts.map +1 -0
  145. package/dist/tools/generate-brand-globalisation.js +14 -0
  146. package/dist/tools/generate-brand-globalisation.js.map +1 -0
  147. package/dist/tools/generate-brand-influencer.d.ts +3 -0
  148. package/dist/tools/generate-brand-influencer.d.ts.map +1 -0
  149. package/dist/tools/generate-brand-influencer.js +10 -0
  150. package/dist/tools/generate-brand-influencer.js.map +1 -0
  151. package/dist/tools/generate-brand-innovation.d.ts +3 -0
  152. package/dist/tools/generate-brand-innovation.d.ts.map +1 -0
  153. package/dist/tools/generate-brand-innovation.js +19 -0
  154. package/dist/tools/generate-brand-innovation.js.map +1 -0
  155. package/dist/tools/generate-brand-loyalty.d.ts +3 -0
  156. package/dist/tools/generate-brand-loyalty.d.ts.map +1 -0
  157. package/dist/tools/generate-brand-loyalty.js +14 -0
  158. package/dist/tools/generate-brand-loyalty.js.map +1 -0
  159. package/dist/tools/generate-brand-marketplace.d.ts +3 -0
  160. package/dist/tools/generate-brand-marketplace.d.ts.map +1 -0
  161. package/dist/tools/generate-brand-marketplace.js +14 -0
  162. package/dist/tools/generate-brand-marketplace.js.map +1 -0
  163. package/dist/tools/generate-brand-newsletter.d.ts +3 -0
  164. package/dist/tools/generate-brand-newsletter.d.ts.map +1 -0
  165. package/dist/tools/generate-brand-newsletter.js +14 -0
  166. package/dist/tools/generate-brand-newsletter.js.map +1 -0
  167. package/dist/tools/generate-brand-podcast.d.ts +3 -0
  168. package/dist/tools/generate-brand-podcast.d.ts.map +1 -0
  169. package/dist/tools/generate-brand-podcast.js +10 -0
  170. package/dist/tools/generate-brand-podcast.js.map +1 -0
  171. package/dist/tools/generate-brand-saas.d.ts +3 -0
  172. package/dist/tools/generate-brand-saas.d.ts.map +1 -0
  173. package/dist/tools/generate-brand-saas.js +14 -0
  174. package/dist/tools/generate-brand-saas.js.map +1 -0
  175. package/dist/tools/generate-brand-seo.d.ts +3 -0
  176. package/dist/tools/generate-brand-seo.d.ts.map +1 -0
  177. package/dist/tools/generate-brand-seo.js +14 -0
  178. package/dist/tools/generate-brand-seo.js.map +1 -0
  179. package/dist/tools/generate-brand-subscription.d.ts +3 -0
  180. package/dist/tools/generate-brand-subscription.d.ts.map +1 -0
  181. package/dist/tools/generate-brand-subscription.js +14 -0
  182. package/dist/tools/generate-brand-subscription.js.map +1 -0
  183. package/dist/tools/generate-brand-training.d.ts +3 -0
  184. package/dist/tools/generate-brand-training.d.ts.map +1 -0
  185. package/dist/tools/generate-brand-training.js +14 -0
  186. package/dist/tools/generate-brand-training.js.map +1 -0
  187. package/dist/tools/generate-brand-video.d.ts +3 -0
  188. package/dist/tools/generate-brand-video.d.ts.map +1 -0
  189. package/dist/tools/generate-brand-video.js +14 -0
  190. package/dist/tools/generate-brand-video.js.map +1 -0
  191. package/dist/tools/generate-brand-webinar.d.ts +3 -0
  192. package/dist/tools/generate-brand-webinar.d.ts.map +1 -0
  193. package/dist/tools/generate-brand-webinar.js +10 -0
  194. package/dist/tools/generate-brand-webinar.js.map +1 -0
  195. package/package.json +2 -2
  196. package/server.json +3 -3
@@ -0,0 +1,231 @@
1
+ const VALID_STYLES = new Set([
2
+ 'minimal',
3
+ 'bold',
4
+ 'elegant',
5
+ 'playful',
6
+ 'corporate',
7
+ 'tech',
8
+ 'organic',
9
+ 'retro',
10
+ ]);
11
+ const STYLE_PROGRAM_APPROACH = {
12
+ minimal: 'A streamlined, transparent rewards system with simple earn-and-redeem mechanics and no complexity.',
13
+ bold: 'A high-energy, gamified loyalty experience with exclusive drops, challenges, and status symbols.',
14
+ elegant: 'A prestige membership programme with white-glove benefits, curated experiences, and invitation-only tiers.',
15
+ playful: 'A fun, collectible-based system with surprise rewards, badges, and social sharing moments.',
16
+ corporate: 'A structured B2B loyalty framework with volume-based incentives, dedicated account benefits, and contract rewards.',
17
+ tech: 'A developer-friendly points API with programmable rewards, webhook integrations, and data transparency.',
18
+ organic: 'A values-driven loyalty circle rewarding eco-friendly behaviours, referrals, and community impact.',
19
+ retro: 'A classic stamp-card inspired programme with nostalgic milestones, collector rewards, and vintage aesthetics.',
20
+ };
21
+ const STYLE_TIERS = {
22
+ minimal: ['Member', 'Plus', 'Premium'],
23
+ bold: ['Starter', 'Insider', 'Elite', 'Icon'],
24
+ elegant: ['Member', 'Associate', 'Fellow', 'Patron'],
25
+ playful: ['Explorer', 'Adventurer', 'Champion', 'Legend'],
26
+ corporate: ['Silver', 'Gold', 'Platinum', 'Diamond'],
27
+ tech: ['Contributor', 'Builder', 'Architect', 'Core'],
28
+ organic: ['Seedling', 'Sprout', 'Grove', 'Forest'],
29
+ retro: ['Bronze', 'Silver', 'Gold', 'Hall of Fame'],
30
+ };
31
+ const STYLE_EARN_MECHANISMS = {
32
+ minimal: ['1 point per £1 spent', 'Bonus points on featured products', 'Birthday double points'],
33
+ bold: [
34
+ '2x points on new launches',
35
+ 'Streak bonuses for consecutive purchases',
36
+ 'Social share rewards',
37
+ 'Challenge completions',
38
+ ],
39
+ elegant: [
40
+ 'Points per £ spent (tiered multipliers)',
41
+ 'Event attendance credits',
42
+ 'Referral rewards',
43
+ 'Anniversary bonuses',
44
+ ],
45
+ playful: [
46
+ 'Points per purchase',
47
+ 'Collectible unlocks',
48
+ 'Mini-game completions',
49
+ 'Friend referrals',
50
+ 'Review rewards',
51
+ ],
52
+ corporate: [
53
+ 'Volume-based point accrual',
54
+ 'Contract renewal bonuses',
55
+ 'Training completion credits',
56
+ 'Referral commissions',
57
+ ],
58
+ tech: [
59
+ 'API usage milestones',
60
+ 'Open-source contributions',
61
+ 'Beta testing participation',
62
+ 'Documentation contributions',
63
+ 'Purchase credits',
64
+ ],
65
+ organic: [
66
+ 'Eco-purchase multipliers',
67
+ 'Refill/return programme points',
68
+ 'Community volunteering credits',
69
+ 'Referral rewards',
70
+ 'Impact milestones',
71
+ ],
72
+ retro: ['Stamp per purchase', 'Milestone stamps', 'Event attendance stamps', 'Social stamps'],
73
+ };
74
+ const STYLE_REDEEM_OPTIONS = {
75
+ minimal: ['Discount vouchers', 'Free product', 'Exclusive access'],
76
+ bold: [
77
+ 'Limited-edition drops',
78
+ 'Early access to launches',
79
+ 'Event tickets',
80
+ 'Exclusive merchandise',
81
+ ],
82
+ elegant: [
83
+ 'Complimentary upgrades',
84
+ 'Curated experiences',
85
+ 'Personal shopping sessions',
86
+ 'Charitable donations',
87
+ ],
88
+ playful: [
89
+ 'Product discounts',
90
+ 'Mystery box rewards',
91
+ 'Avatar upgrades',
92
+ 'Exclusive digital badges',
93
+ ],
94
+ corporate: [
95
+ 'Volume discounts',
96
+ 'Dedicated support hours',
97
+ 'Training credits',
98
+ 'Co-marketing opportunities',
99
+ ],
100
+ tech: [
101
+ 'API credit top-ups',
102
+ 'Priority support',
103
+ 'Beta access',
104
+ 'Swag and merchandise',
105
+ 'Conference tickets',
106
+ ],
107
+ organic: [
108
+ 'Product credits',
109
+ 'Charity donations',
110
+ 'Tree planting',
111
+ 'Community event access',
112
+ 'Upcycled merch',
113
+ ],
114
+ retro: [
115
+ 'Free product on full card',
116
+ 'Vintage-style collectibles',
117
+ 'Anniversary gifts',
118
+ 'Hall of fame recognition',
119
+ ],
120
+ };
121
+ const STYLE_ENGAGEMENT_TACTICS = {
122
+ minimal: ['Monthly points summary', 'Clear progress bar', 'Simple tier tracker'],
123
+ bold: [
124
+ 'Leaderboards',
125
+ 'Limited-time challenges',
126
+ 'Exclusive member drops',
127
+ 'FOMO countdown timers',
128
+ ],
129
+ elegant: [
130
+ 'Personal concierge updates',
131
+ 'Invitation-only events',
132
+ 'Curated gift at tier milestone',
133
+ ],
134
+ playful: [
135
+ 'Weekly surprise reveals',
136
+ 'Seasonal collectible series',
137
+ 'Social sharing streaks',
138
+ 'Friend challenges',
139
+ ],
140
+ corporate: [
141
+ 'Quarterly business reviews',
142
+ 'Dedicated success manager',
143
+ 'Priority renewal reminders',
144
+ ],
145
+ tech: [
146
+ 'API dashboard with points analytics',
147
+ 'Webhook-triggered celebrations',
148
+ 'Open changelog for points rules',
149
+ ],
150
+ organic: [
151
+ 'Impact dashboard (trees planted, CO2 saved)',
152
+ 'Community spotlights',
153
+ 'Circular economy milestones',
154
+ ],
155
+ retro: [
156
+ 'Physical loyalty card option',
157
+ 'Anniversary postcards',
158
+ 'Collector milestone certificates',
159
+ ],
160
+ };
161
+ const STYLE_EXPIRY_POLICY = {
162
+ minimal: 'Points expire after 12 months of inactivity.',
163
+ bold: 'Points valid for 24 months; Icon tier points never expire.',
164
+ elegant: 'Points never expire while membership is active.',
165
+ playful: 'Points expire after 18 months; collectibles never expire.',
166
+ corporate: 'Points expire at contract year-end; roll-over available at Platinum+.',
167
+ tech: 'Points expire after 24 months of API inactivity.',
168
+ organic: 'Points expire after 18 months; impact credits never expire.',
169
+ retro: 'Stamps expire after 2 years; Hall of Fame status is permanent.',
170
+ };
171
+ function buildTierBenefits(brand, safeStyle) {
172
+ const tiers = STYLE_TIERS[safeStyle];
173
+ const baseBenefits = {
174
+ [tiers[0]]: ['Access to loyalty dashboard', 'Birthday reward', 'Early sale access'],
175
+ [tiers[1]]: [
176
+ 'All Member benefits',
177
+ '2x points weekends',
178
+ 'Free shipping threshold reduced by 20%',
179
+ ],
180
+ [tiers[2]]: [
181
+ `All ${tiers[1]} benefits`,
182
+ 'Dedicated support line',
183
+ 'Quarterly bonus points',
184
+ 'Exclusive product access',
185
+ ],
186
+ };
187
+ if (tiers[3]) {
188
+ baseBenefits[tiers[3]] = [
189
+ `All ${tiers[2]} benefits`,
190
+ 'Personal account manager',
191
+ 'Invitation-only events',
192
+ `${brand.name} ambassador status`,
193
+ ];
194
+ }
195
+ return tiers.map((tier) => ({
196
+ tier,
197
+ benefits: baseBenefits[tier] ?? [`All benefits of the ${tier} tier`],
198
+ }));
199
+ }
200
+ function buildAnalyticsKpis() {
201
+ return {
202
+ active_member_rate: '% members earning/redeeming in last 90 days',
203
+ redemption_rate: '% points redeemed vs issued',
204
+ tier_progression_rate: '% members advancing tiers per quarter',
205
+ churn_rate_loyalty_vs_non: 'Retention lift of loyalty members over non-members',
206
+ incremental_revenue_per_member: 'Revenue attributable to loyalty participation',
207
+ nps_loyalty_cohort: 'NPS score for active loyalty members',
208
+ };
209
+ }
210
+ function buildBriefSummary(brand, safeStyle) {
211
+ const approach = STYLE_PROGRAM_APPROACH[safeStyle];
212
+ const tiers = STYLE_TIERS[safeStyle];
213
+ return `${brand.name}${brand.tagline ? ` — "${brand.tagline}"` : ''} Loyalty Programme: ${approach} The programme features ${tiers.length} tiers (${tiers.join(', ')}), rewarding customers with points for every interaction and offering curated redemption options aligned to the brand's ${safeStyle} style.`;
214
+ }
215
+ export function generateBrandLoyalty(brand) {
216
+ const safeStyle = VALID_STYLES.has(brand.style)
217
+ ? brand.style
218
+ : 'minimal';
219
+ return {
220
+ programApproach: STYLE_PROGRAM_APPROACH[safeStyle],
221
+ tiers: STYLE_TIERS[safeStyle],
222
+ tierBenefits: buildTierBenefits(brand, safeStyle),
223
+ earnMechanisms: STYLE_EARN_MECHANISMS[safeStyle],
224
+ redeemOptions: STYLE_REDEEM_OPTIONS[safeStyle],
225
+ engagementTactics: STYLE_ENGAGEMENT_TACTICS[safeStyle],
226
+ expiryPolicy: STYLE_EXPIRY_POLICY[safeStyle],
227
+ analyticsKpis: buildAnalyticsKpis(),
228
+ loyaltyBriefSummary: buildBriefSummary(brand, safeStyle),
229
+ };
230
+ }
231
+ //# sourceMappingURL=brand-loyalty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-loyalty.js","sourceRoot":"","sources":["../../../../src/lib/branding-core/generators/brand-loyalty.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { BrandIdentity } from '../../types.js';
2
+ import type { BrandMarketplaceOutput } from '../../types.js';
3
+ export declare function generateBrandMarketplace(brand: BrandIdentity): BrandMarketplaceOutput;
4
+ //# sourceMappingURL=brand-marketplace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-marketplace.d.ts","sourceRoot":"","sources":["../../../../src/lib/branding-core/generators/brand-marketplace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAuQ7D,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,sBAAsB,CAerF"}
@@ -0,0 +1,251 @@
1
+ const VALID_STYLES = new Set([
2
+ 'minimal',
3
+ 'bold',
4
+ 'elegant',
5
+ 'playful',
6
+ 'corporate',
7
+ 'tech',
8
+ 'organic',
9
+ 'retro',
10
+ ]);
11
+ const STYLE_MARKETPLACE_APPROACH = {
12
+ minimal: 'Clean, curated presence on selective high-quality marketplaces with a focus on brand integrity over volume.',
13
+ bold: 'Aggressive multi-channel marketplace expansion with bold creative assets that stand out in crowded listings.',
14
+ elegant: 'Premium marketplace positioning with luxury-tier platforms and white-glove seller programmes.',
15
+ playful: 'Fun, personality-driven marketplace presence with creative product titles and vibrant imagery.',
16
+ corporate: 'Strategic B2B marketplace coverage across enterprise procurement channels with compliance-ready listings.',
17
+ tech: 'Developer-first marketplace distribution including app stores, API marketplaces, and SaaS directories.',
18
+ organic: 'Values-aligned marketplace selection prioritising ethical, sustainable, and independent platforms.',
19
+ retro: 'Vintage-authentic marketplace presence on collector and heritage platforms with artisanal positioning.',
20
+ };
21
+ const STYLE_PRIMARY_MARKETPLACES = {
22
+ minimal: ['Brand DTC website', 'Curated boutique marketplaces', 'Local artisan platforms'],
23
+ bold: ['Amazon', 'eBay', 'Walmart Marketplace', 'TikTok Shop'],
24
+ elegant: ['Farfetch', 'Net-a-Porter', 'Harrods Online', 'Saks Fifth Avenue'],
25
+ playful: ['Etsy', 'TikTok Shop', 'Depop', 'Amazon Handmade'],
26
+ corporate: ['AWS Marketplace', 'Alibaba B2B', 'ThomasNet', 'Ariba Network'],
27
+ tech: [
28
+ 'AWS Marketplace',
29
+ 'Azure Marketplace',
30
+ 'Google Cloud Marketplace',
31
+ 'Salesforce AppExchange',
32
+ ],
33
+ organic: ['Etsy', 'Not On The High Street', 'Wolf & Badger', 'EarthHero'],
34
+ retro: ['Etsy', 'eBay Collectibles', 'Ruby Lane', 'Chairish'],
35
+ };
36
+ const STYLE_LISTING_PRINCIPLES = {
37
+ minimal: [
38
+ 'Short precise titles under 60 characters',
39
+ 'Minimal white-space imagery',
40
+ 'Single primary benefit statement',
41
+ 'Clean bullet points',
42
+ ],
43
+ bold: [
44
+ 'Keyword-rich titles with top benefits',
45
+ 'A+ content with bold lifestyle imagery',
46
+ 'Comparison charts vs competitors',
47
+ 'Video content in listings',
48
+ ],
49
+ elegant: [
50
+ 'Luxury descriptors in title and copy',
51
+ 'Editorial-quality imagery',
52
+ 'Provenance and craftsmanship story',
53
+ 'Concierge-level descriptions',
54
+ ],
55
+ playful: [
56
+ 'Fun punchy titles with emoji',
57
+ 'Bright colourful product photography',
58
+ 'Story-driven descriptions',
59
+ 'Social proof callouts',
60
+ ],
61
+ corporate: [
62
+ 'Compliance and specification focus',
63
+ 'Data-sheet style bullet points',
64
+ 'Bulk pricing tiers',
65
+ 'SLA and support details',
66
+ ],
67
+ tech: [
68
+ 'Feature-first technical titles',
69
+ 'Integration and compatibility details',
70
+ 'Developer documentation links',
71
+ 'Version and changelog notes',
72
+ ],
73
+ organic: [
74
+ 'Ingredient and provenance transparency',
75
+ 'Certifications in title',
76
+ 'Impact and ethics story',
77
+ 'Eco-credentials bullet points',
78
+ ],
79
+ retro: [
80
+ 'Era and provenance in title',
81
+ 'Detailed condition descriptions',
82
+ 'Authenticity guarantees',
83
+ 'Historical context and story',
84
+ ],
85
+ };
86
+ const STYLE_ADVERTISING_APPROACH = {
87
+ minimal: ['Low-spend brand-protection ads', 'Retargeting only', 'No discount promotions'],
88
+ bold: [
89
+ 'Sponsored Products broad match',
90
+ 'Sponsored Brands video',
91
+ 'Coupons and deal-of-the-day',
92
+ 'Lightning deals',
93
+ ],
94
+ elegant: ['Curated sponsored placements', 'Editorial ad slots', 'No discount advertising'],
95
+ playful: ['TikTok in-feed video ads', 'Sponsored Posts', 'Bundle deals', 'Giveaway campaigns'],
96
+ corporate: [
97
+ 'Category ads on procurement platforms',
98
+ 'Thought-leadership content ads',
99
+ 'RFP response boosting',
100
+ ],
101
+ tech: [
102
+ 'Developer newsletter placements',
103
+ 'App store search ads',
104
+ 'Free tier promotion',
105
+ 'Trial conversion campaigns',
106
+ ],
107
+ organic: [
108
+ 'Purpose-driven sponsor slots',
109
+ 'Community newsletter ads',
110
+ 'Zero paid-search on ethical grounds',
111
+ ],
112
+ retro: [
113
+ 'Promoted listings on collector platforms',
114
+ 'Curated showcase features',
115
+ 'Editorial vintage picks',
116
+ ],
117
+ };
118
+ const STYLE_REVIEW_STRATEGY = {
119
+ minimal: [
120
+ 'Post-purchase email follow-up',
121
+ 'Quality guarantee messaging',
122
+ 'Respond to all reviews within 48h',
123
+ ],
124
+ bold: [
125
+ 'Automated review request sequences',
126
+ 'Vine programme enrolment',
127
+ 'Public response to negative reviews',
128
+ 'Star-rating goal: 4.5+',
129
+ ],
130
+ elegant: [
131
+ 'Personal thank-you inserts',
132
+ 'Concierge follow-up call for high-value orders',
133
+ 'Discreet review invitation',
134
+ ],
135
+ playful: [
136
+ 'Unboxing hashtag campaigns',
137
+ 'Fun review prompt inserts',
138
+ 'User-generated content reposting',
139
+ ],
140
+ corporate: [
141
+ 'Case study requests post-deployment',
142
+ 'G2 and Capterra review campaigns',
143
+ 'Reference customer programme',
144
+ ],
145
+ tech: [
146
+ 'G2 and Product Hunt reviews',
147
+ 'GitHub star campaigns',
148
+ 'Changelog appreciation emails',
149
+ 'Developer testimonials',
150
+ ],
151
+ organic: [
152
+ 'Handwritten thank-you cards',
153
+ 'Community shoutout requests',
154
+ 'Values-aligned review prompts',
155
+ ],
156
+ retro: [
157
+ 'Personalised collector community shoutouts',
158
+ 'Show-and-tell requests',
159
+ 'Authenticity confirmation reviews',
160
+ ],
161
+ };
162
+ const STYLE_PRICING_APPROACH = {
163
+ minimal: 'Value-anchored pricing without discounts; maintain perceived brand premium.',
164
+ bold: 'Competitive pricing with strategic promotions; use volume discounts and bundles.',
165
+ elegant: 'Premium pricing with no markdown strategy; brand equity over velocity.',
166
+ playful: 'Accessible price points with frequent seasonal promotions and bundles.',
167
+ corporate: 'Tiered B2B pricing with contract-based discounts and volume brackets.',
168
+ tech: 'Freemium entry with clear upgrade tiers; usage-based pricing transparency.',
169
+ organic: 'Fair-trade premium pricing that reflects true cost and ethical sourcing.',
170
+ retro: 'Collector-fair pricing with provenance-based premium; no deep discounts.',
171
+ };
172
+ function buildFulfilmentOptions(brand, safeStyle) {
173
+ const base = [
174
+ 'Direct fulfilment from owned warehouse for quality control',
175
+ 'Third-party logistics (3PL) for high-volume channels',
176
+ 'Maintain brand packaging standards across all fulfilment routes',
177
+ 'Branded inserts and unboxing experience in all parcels',
178
+ 'Same-day or next-day SLA on flagship marketplace',
179
+ ];
180
+ if (safeStyle === 'tech') {
181
+ base.push('Digital delivery via secure download links', 'API-based licence provisioning');
182
+ }
183
+ if (safeStyle === 'elegant') {
184
+ base.push('White-glove gift wrapping service', 'Named account manager for boutique orders');
185
+ }
186
+ if (safeStyle === 'organic') {
187
+ base.push('Carbon-neutral shipping provider', 'Minimal packaging with compostable materials');
188
+ }
189
+ return base;
190
+ }
191
+ function buildComplianceChecklist(brand, safeStyle) {
192
+ const base = [
193
+ `Register ${brand.name} trademark before marketplace expansion`,
194
+ 'Enrol in Brand Registry on applicable platforms',
195
+ 'Monitor for counterfeit or unauthorised sellers',
196
+ 'Ensure product descriptions meet platform content policies',
197
+ 'Maintain accurate inventory to avoid stockout penalties',
198
+ 'Follow marketplace data and privacy terms for customer data',
199
+ ];
200
+ if (safeStyle === 'corporate') {
201
+ base.push('SOC 2 and ISO 27001 documentation for enterprise listings', 'GDPR-compliant data processing agreements');
202
+ }
203
+ if (safeStyle === 'organic') {
204
+ base.push('Upload organic certification documents to platform profile', 'Comply with FTC Green Guides for environmental claims');
205
+ }
206
+ if (safeStyle === 'tech') {
207
+ base.push('App store guideline compliance review before each release', 'API usage policy review quarterly');
208
+ }
209
+ return base;
210
+ }
211
+ function buildSuccessMetrics(safeStyle) {
212
+ const base = {
213
+ conversion_rate: 'Listing views to purchases; target >5%',
214
+ buy_box_percentage: 'Percentage of time brand wins buy box; target >90%',
215
+ average_review_rating: 'Aggregate star rating across listings; target 4.5+',
216
+ return_rate: 'Percentage of orders returned; target <3%',
217
+ organic_rank: 'Average keyword ranking position for top 5 search terms',
218
+ revenue_per_listing: 'Revenue divided by active SKU count',
219
+ };
220
+ if (safeStyle === 'tech') {
221
+ base['trial_to_paid_rate'] = 'Percentage converting from free trial; target >20%';
222
+ base['marketplace_review_nps'] = 'Net Promoter Score from marketplace reviews';
223
+ }
224
+ if (safeStyle === 'corporate') {
225
+ base['rfp_win_rate'] = 'Enterprise RFP conversion rate from marketplace leads';
226
+ base['contract_value'] = 'Average annual contract value from marketplace acquisition';
227
+ }
228
+ return base;
229
+ }
230
+ function buildBriefSummary(brand, safeStyle) {
231
+ const approach = STYLE_MARKETPLACE_APPROACH[safeStyle];
232
+ const platforms = STYLE_PRIMARY_MARKETPLACES[safeStyle];
233
+ const taglinePart = brand.tagline ? ` — "${brand.tagline}"` : '';
234
+ return `${brand.name}${taglinePart} marketplace strategy: ${approach} Primary channels include ${platforms[0]}, ${platforms[1]}, and ${platforms[2] ?? 'additional curated platforms'}.`;
235
+ }
236
+ export function generateBrandMarketplace(brand) {
237
+ const safeStyle = VALID_STYLES.has(brand.style) ? brand.style : 'minimal';
238
+ return {
239
+ marketplaceApproach: STYLE_MARKETPLACE_APPROACH[safeStyle],
240
+ primaryMarketplaces: STYLE_PRIMARY_MARKETPLACES[safeStyle],
241
+ listingPrinciples: STYLE_LISTING_PRINCIPLES[safeStyle],
242
+ advertisingApproach: STYLE_ADVERTISING_APPROACH[safeStyle],
243
+ reviewStrategy: STYLE_REVIEW_STRATEGY[safeStyle],
244
+ pricingApproach: STYLE_PRICING_APPROACH[safeStyle],
245
+ fulfilmentOptions: buildFulfilmentOptions(brand, safeStyle),
246
+ complianceChecklist: buildComplianceChecklist(brand, safeStyle),
247
+ successMetrics: buildSuccessMetrics(safeStyle),
248
+ marketplaceBriefSummary: buildBriefSummary(brand, safeStyle),
249
+ };
250
+ }
251
+ //# sourceMappingURL=brand-marketplace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-marketplace.js","sourceRoot":"","sources":["../../../../src/lib/branding-core/generators/brand-marketplace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { BrandIdentity } from '../../types.js';
2
+ import type { BrandNewsletterOutput } from '../../types.js';
3
+ export declare function generateBrandNewsletter(brand: BrandIdentity): BrandNewsletterOutput;
4
+ //# sourceMappingURL=brand-newsletter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-newsletter.d.ts","sourceRoot":"","sources":["../../../../src/lib/branding-core/generators/brand-newsletter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAwK5D,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,qBAAqB,CAenF"}