@ucptools/validator 1.0.0 → 1.0.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 (236) hide show
  1. package/.claude/settings.local.json +60 -0
  2. package/.vercel/README.txt +11 -0
  3. package/.vercel/project.json +1 -0
  4. package/dist/cli/index.d.ts +6 -0
  5. package/dist/cli/index.d.ts.map +1 -0
  6. package/dist/cli/index.js +279 -0
  7. package/dist/cli/index.js.map +1 -0
  8. package/dist/compliance/compliance-generator.d.ts +34 -0
  9. package/dist/compliance/compliance-generator.d.ts.map +1 -0
  10. package/dist/compliance/compliance-generator.js +320 -0
  11. package/dist/compliance/compliance-generator.js.map +1 -0
  12. package/dist/compliance/index.d.ts +8 -0
  13. package/dist/compliance/index.d.ts.map +1 -0
  14. package/dist/compliance/index.js +17 -0
  15. package/dist/compliance/index.js.map +1 -0
  16. package/dist/compliance/templates.d.ts +34 -0
  17. package/dist/compliance/templates.d.ts.map +1 -0
  18. package/{src/compliance/templates.ts → dist/compliance/templates.js} +117 -155
  19. package/dist/compliance/templates.js.map +1 -0
  20. package/dist/compliance/types.d.ts +64 -0
  21. package/dist/compliance/types.d.ts.map +1 -0
  22. package/dist/compliance/types.js +64 -0
  23. package/dist/compliance/types.js.map +1 -0
  24. package/dist/db/index.d.ts +11 -0
  25. package/dist/db/index.d.ts.map +1 -0
  26. package/dist/db/index.js +63 -0
  27. package/dist/db/index.js.map +1 -0
  28. package/dist/db/schema.d.ts +444 -0
  29. package/dist/db/schema.d.ts.map +1 -0
  30. package/dist/db/schema.js +65 -0
  31. package/dist/db/schema.js.map +1 -0
  32. package/dist/feed-analyzer/feed-analyzer.d.ts +26 -0
  33. package/dist/feed-analyzer/feed-analyzer.d.ts.map +1 -0
  34. package/{src/feed-analyzer/feed-analyzer.ts → dist/feed-analyzer/feed-analyzer.js} +642 -726
  35. package/dist/feed-analyzer/feed-analyzer.js.map +1 -0
  36. package/dist/feed-analyzer/index.d.ts +8 -0
  37. package/dist/feed-analyzer/index.d.ts.map +1 -0
  38. package/dist/feed-analyzer/index.js +19 -0
  39. package/dist/feed-analyzer/index.js.map +1 -0
  40. package/dist/feed-analyzer/types.d.ts +204 -0
  41. package/dist/feed-analyzer/types.d.ts.map +1 -0
  42. package/dist/feed-analyzer/types.js +162 -0
  43. package/dist/feed-analyzer/types.js.map +1 -0
  44. package/{src/generator/index.ts → dist/generator/index.d.ts} +1 -1
  45. package/dist/generator/index.d.ts.map +1 -0
  46. package/dist/generator/index.js +13 -0
  47. package/dist/generator/index.js.map +1 -0
  48. package/dist/generator/key-generator.d.ts +24 -0
  49. package/dist/generator/key-generator.d.ts.map +1 -0
  50. package/dist/generator/key-generator.js +144 -0
  51. package/dist/generator/key-generator.js.map +1 -0
  52. package/dist/generator/profile-builder.d.ts +15 -0
  53. package/dist/generator/profile-builder.d.ts.map +1 -0
  54. package/dist/generator/profile-builder.js +338 -0
  55. package/dist/generator/profile-builder.js.map +1 -0
  56. package/dist/hosting/artifacts-generator.d.ts +10 -0
  57. package/dist/hosting/artifacts-generator.d.ts.map +1 -0
  58. package/{src/hosting/artifacts-generator.ts → dist/hosting/artifacts-generator.js} +191 -241
  59. package/dist/hosting/artifacts-generator.js.map +1 -0
  60. package/{src/hosting/index.ts → dist/hosting/index.d.ts} +1 -1
  61. package/dist/hosting/index.d.ts.map +1 -0
  62. package/dist/hosting/index.js +10 -0
  63. package/dist/hosting/index.js.map +1 -0
  64. package/dist/index.d.ts +18 -0
  65. package/dist/index.d.ts.map +1 -0
  66. package/dist/index.js +78 -0
  67. package/dist/index.js.map +1 -0
  68. package/{src/security/index.ts → dist/security/index.d.ts} +8 -15
  69. package/dist/security/index.d.ts.map +1 -0
  70. package/dist/security/index.js +12 -0
  71. package/dist/security/index.js.map +1 -0
  72. package/dist/security/security-scanner.d.ts +10 -0
  73. package/dist/security/security-scanner.d.ts.map +1 -0
  74. package/dist/security/security-scanner.js +541 -0
  75. package/dist/security/security-scanner.js.map +1 -0
  76. package/dist/security/types.d.ts +48 -0
  77. package/dist/security/types.d.ts.map +1 -0
  78. package/dist/security/types.js +21 -0
  79. package/dist/security/types.js.map +1 -0
  80. package/dist/services/directory.d.ts +104 -0
  81. package/dist/services/directory.d.ts.map +1 -0
  82. package/dist/services/directory.js +333 -0
  83. package/dist/services/directory.js.map +1 -0
  84. package/dist/simulator/agent-simulator.d.ts +69 -0
  85. package/dist/simulator/agent-simulator.d.ts.map +1 -0
  86. package/{src/simulator/agent-simulator.ts → dist/simulator/agent-simulator.js} +650 -941
  87. package/dist/simulator/agent-simulator.js.map +1 -0
  88. package/{src/simulator/index.ts → dist/simulator/index.d.ts} +7 -7
  89. package/dist/simulator/index.d.ts.map +1 -0
  90. package/dist/simulator/index.js +23 -0
  91. package/dist/simulator/index.js.map +1 -0
  92. package/{src/simulator/types.ts → dist/simulator/types.d.ts} +145 -170
  93. package/dist/simulator/types.d.ts.map +1 -0
  94. package/dist/simulator/types.js +18 -0
  95. package/dist/simulator/types.js.map +1 -0
  96. package/dist/types/generator.d.ts +106 -0
  97. package/dist/types/generator.d.ts.map +1 -0
  98. package/dist/types/generator.js +6 -0
  99. package/dist/types/generator.js.map +1 -0
  100. package/{src/types/index.ts → dist/types/index.d.ts} +1 -1
  101. package/dist/types/index.d.ts.map +1 -0
  102. package/dist/types/index.js +23 -0
  103. package/dist/types/index.js.map +1 -0
  104. package/dist/types/ucp-profile.d.ts +103 -0
  105. package/dist/types/ucp-profile.d.ts.map +1 -0
  106. package/dist/types/ucp-profile.js +45 -0
  107. package/dist/types/ucp-profile.js.map +1 -0
  108. package/dist/types/validation.d.ts +68 -0
  109. package/dist/types/validation.d.ts.map +1 -0
  110. package/dist/types/validation.js +32 -0
  111. package/dist/types/validation.js.map +1 -0
  112. package/dist/validator/index.d.ts +26 -0
  113. package/dist/validator/index.d.ts.map +1 -0
  114. package/dist/validator/index.js +161 -0
  115. package/dist/validator/index.js.map +1 -0
  116. package/dist/validator/network-validator.d.ts +28 -0
  117. package/dist/validator/network-validator.d.ts.map +1 -0
  118. package/dist/validator/network-validator.js +319 -0
  119. package/dist/validator/network-validator.js.map +1 -0
  120. package/dist/validator/rules-validator.d.ts +11 -0
  121. package/dist/validator/rules-validator.d.ts.map +1 -0
  122. package/dist/validator/rules-validator.js +257 -0
  123. package/dist/validator/rules-validator.js.map +1 -0
  124. package/dist/validator/sdk-validator.d.ts +58 -0
  125. package/dist/validator/sdk-validator.d.ts.map +1 -0
  126. package/{src/validator/sdk-validator.ts → dist/validator/sdk-validator.js} +273 -330
  127. package/dist/validator/sdk-validator.js.map +1 -0
  128. package/dist/validator/structural-validator.d.ts +11 -0
  129. package/dist/validator/structural-validator.d.ts.map +1 -0
  130. package/dist/validator/structural-validator.js +415 -0
  131. package/dist/validator/structural-validator.js.map +1 -0
  132. package/package.json +1 -1
  133. package/publish-output.txt +0 -0
  134. package/CLAUDE.md +0 -109
  135. package/api/analyze-feed.js +0 -140
  136. package/api/badge.js +0 -185
  137. package/api/benchmark.js +0 -177
  138. package/api/directory-stats.ts +0 -29
  139. package/api/directory.ts +0 -73
  140. package/api/generate-compliance.js +0 -143
  141. package/api/generate-schema.js +0 -457
  142. package/api/generate.js +0 -132
  143. package/api/security-scan.js +0 -133
  144. package/api/simulate.js +0 -187
  145. package/api/tsconfig.json +0 -10
  146. package/api/validate.js +0 -1351
  147. package/apify-actor/.actor/actor.json +0 -68
  148. package/apify-actor/.actor/input_schema.json +0 -32
  149. package/apify-actor/APIFY-STORE-LISTING.md +0 -412
  150. package/apify-actor/Dockerfile +0 -8
  151. package/apify-actor/README.md +0 -166
  152. package/apify-actor/main.ts +0 -111
  153. package/apify-actor/package.json +0 -17
  154. package/apify-actor/src/main.js +0 -199
  155. package/docs/BRAND-IDENTITY.md +0 -238
  156. package/docs/BRAND-STYLE-GUIDE.md +0 -356
  157. package/drizzle/0000_black_king_cobra.sql +0 -39
  158. package/drizzle/meta/0000_snapshot.json +0 -309
  159. package/drizzle/meta/_journal.json +0 -13
  160. package/drizzle.config.ts +0 -10
  161. package/public/.well-known/ucp +0 -25
  162. package/public/android-chrome-192x192.png +0 -0
  163. package/public/android-chrome-512x512.png +0 -0
  164. package/public/apple-touch-icon.png +0 -0
  165. package/public/brand.css +0 -321
  166. package/public/directory.html +0 -701
  167. package/public/favicon-16x16.png +0 -0
  168. package/public/favicon-32x32.png +0 -0
  169. package/public/favicon.ico +0 -0
  170. package/public/guides/bigcommerce.html +0 -743
  171. package/public/guides/fastucp.html +0 -838
  172. package/public/guides/magento.html +0 -779
  173. package/public/guides/shopify.html +0 -726
  174. package/public/guides/squarespace.html +0 -749
  175. package/public/guides/wix.html +0 -747
  176. package/public/guides/woocommerce.html +0 -733
  177. package/public/index.html +0 -3835
  178. package/public/learn.html +0 -396
  179. package/public/logo.jpeg +0 -0
  180. package/public/og-image-icon.png +0 -0
  181. package/public/og-image.png +0 -0
  182. package/public/robots.txt +0 -6
  183. package/public/site.webmanifest +0 -31
  184. package/public/sitemap.xml +0 -69
  185. package/public/social/linkedin-banner-1128x191.png +0 -0
  186. package/public/social/temp.PNG +0 -0
  187. package/public/social/x-header-1500x500.png +0 -0
  188. package/public/verify.html +0 -410
  189. package/scripts/generate-favicons.js +0 -44
  190. package/scripts/generate-ico.js +0 -23
  191. package/scripts/generate-og-image.js +0 -45
  192. package/scripts/reset-db.ts +0 -77
  193. package/scripts/seed-db.ts +0 -71
  194. package/scripts/setup-benchmark-db.js +0 -70
  195. package/src/api/server.ts +0 -266
  196. package/src/cli/index.ts +0 -302
  197. package/src/compliance/compliance-generator.ts +0 -452
  198. package/src/compliance/index.ts +0 -28
  199. package/src/compliance/types.ts +0 -170
  200. package/src/db/index.ts +0 -28
  201. package/src/db/schema.ts +0 -84
  202. package/src/feed-analyzer/index.ts +0 -34
  203. package/src/feed-analyzer/types.ts +0 -354
  204. package/src/generator/key-generator.ts +0 -124
  205. package/src/generator/profile-builder.ts +0 -402
  206. package/src/index.ts +0 -105
  207. package/src/security/security-scanner.ts +0 -604
  208. package/src/security/types.ts +0 -55
  209. package/src/services/directory.ts +0 -434
  210. package/src/types/generator.ts +0 -140
  211. package/src/types/ucp-profile.ts +0 -140
  212. package/src/types/validation.ts +0 -89
  213. package/src/validator/index.ts +0 -194
  214. package/src/validator/network-validator.ts +0 -417
  215. package/src/validator/rules-validator.ts +0 -297
  216. package/src/validator/structural-validator.ts +0 -476
  217. package/tests/fixtures/non-compliant-profile.json +0 -25
  218. package/tests/fixtures/official-sample-profile.json +0 -75
  219. package/tests/integration/benchmark.test.ts +0 -207
  220. package/tests/integration/database.test.ts +0 -163
  221. package/tests/integration/directory-api.test.ts +0 -268
  222. package/tests/integration/simulate-api.test.ts +0 -230
  223. package/tests/integration/validate-api.test.ts +0 -269
  224. package/tests/setup.ts +0 -15
  225. package/tests/unit/agent-simulator.test.ts +0 -575
  226. package/tests/unit/compliance-generator.test.ts +0 -374
  227. package/tests/unit/directory-service.test.ts +0 -272
  228. package/tests/unit/feed-analyzer.test.ts +0 -517
  229. package/tests/unit/lint-suggestions.test.ts +0 -423
  230. package/tests/unit/official-samples.test.ts +0 -211
  231. package/tests/unit/pdf-report.test.ts +0 -390
  232. package/tests/unit/sdk-validator.test.ts +0 -531
  233. package/tests/unit/security-scanner.test.ts +0 -410
  234. package/tests/unit/validation.test.ts +0 -390
  235. package/vercel.json +0 -34
  236. package/vitest.config.ts +0 -22
@@ -0,0 +1,320 @@
1
+ "use strict";
2
+ /**
3
+ * GDPR/Privacy Compliance Generator
4
+ * Generates privacy policy addendums and consent language for agentic commerce
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.generateComplianceDocuments = generateComplianceDocuments;
8
+ exports.getAvailableRegions = getAvailableRegions;
9
+ exports.getLawfulBasisOptions = getLawfulBasisOptions;
10
+ exports.getAiPlatformOptions = getAiPlatformOptions;
11
+ const types_js_1 = require("./types.js");
12
+ const templates_js_1 = require("./templates.js");
13
+ /**
14
+ * Generate complete compliance documentation
15
+ */
16
+ function generateComplianceDocuments(input) {
17
+ // Validate input
18
+ validateInput(input);
19
+ // Build list of data processors
20
+ const processors = buildProcessorList(input);
21
+ // Generate all sections
22
+ const aiCommerceSection = (0, templates_js_1.generateAiCommerceSection)(input.companyName, processors, input.lawfulBasis, input.regions);
23
+ const processorDisclosures = (0, templates_js_1.generateProcessorDisclosures)(processors, input.regions);
24
+ const consentLanguage = (0, templates_js_1.generateConsentLanguage)(input.companyName, input.lawfulBasis, input.includeMarketingConsent || false);
25
+ const marketingOptIn = input.includeMarketingConsent
26
+ ? (0, templates_js_1.generateMarketingOptIn)(input.companyName)
27
+ : undefined;
28
+ const dataSubjectRights = (0, templates_js_1.generateDataSubjectRights)(input.companyName, input.companyEmail || 'privacy@yourcompany.com', input.dpoEmail, input.regions);
29
+ const trackingNotice = (0, templates_js_1.generateTrackingNotice)(input.companyName, input.regions);
30
+ const disclaimer = (0, templates_js_1.generateDisclaimer)();
31
+ // Build the full privacy addendum document
32
+ const privacyAddendum = buildPrivacyAddendum(input, aiCommerceSection, processorDisclosures, dataSubjectRights, trackingNotice, disclaimer);
33
+ // Generate embed HTML
34
+ const embedHtml = generateEmbedHtml(input.companyName, aiCommerceSection, processorDisclosures, dataSubjectRights, trackingNotice, disclaimer);
35
+ // Generate plain text
36
+ const plainText = generatePlainText(input.companyName, aiCommerceSection, processorDisclosures, consentLanguage, marketingOptIn, dataSubjectRights, trackingNotice, disclaimer);
37
+ return {
38
+ privacyAddendum,
39
+ snippets: {
40
+ aiCommerceSection,
41
+ processorDisclosures,
42
+ consentLanguage,
43
+ marketingOptIn,
44
+ dataSubjectRights,
45
+ trackingNotice,
46
+ },
47
+ embedHtml,
48
+ plainText,
49
+ generatedAt: new Date().toISOString(),
50
+ lawfulBasis: input.lawfulBasis,
51
+ regions: input.regions,
52
+ };
53
+ }
54
+ /**
55
+ * Validate generator input
56
+ */
57
+ function validateInput(input) {
58
+ if (!input.companyName || input.companyName.trim() === '') {
59
+ throw new Error('Company name is required');
60
+ }
61
+ if (!input.regions || input.regions.length === 0) {
62
+ throw new Error('At least one region must be selected');
63
+ }
64
+ if (!input.platforms || input.platforms.length === 0) {
65
+ throw new Error('At least one AI platform must be selected');
66
+ }
67
+ if (!input.lawfulBasis) {
68
+ throw new Error('Lawful basis must be specified');
69
+ }
70
+ }
71
+ /**
72
+ * Build the list of data processors from input
73
+ */
74
+ function buildProcessorList(input) {
75
+ const processors = [];
76
+ // Add AI platform processors
77
+ for (const platform of input.platforms) {
78
+ if (platform !== 'other') {
79
+ processors.push(types_js_1.AI_PLATFORM_PROCESSORS[platform]);
80
+ }
81
+ }
82
+ // Add custom processors
83
+ if (input.additionalProcessors) {
84
+ processors.push(...input.additionalProcessors);
85
+ }
86
+ return processors;
87
+ }
88
+ /**
89
+ * Build the full privacy addendum document
90
+ */
91
+ function buildPrivacyAddendum(input, aiCommerceSection, processorDisclosures, dataSubjectRights, trackingNotice, disclaimer) {
92
+ const sections = [
93
+ {
94
+ id: 'ai-commerce',
95
+ title: 'AI-Powered Shopping and Agentic Commerce',
96
+ content: aiCommerceSection,
97
+ required: true,
98
+ applicableRegions: ['eu', 'uk', 'california', 'global'],
99
+ },
100
+ {
101
+ id: 'processors',
102
+ title: 'Third-Party Data Processors',
103
+ content: processorDisclosures,
104
+ required: true,
105
+ applicableRegions: ['eu', 'uk', 'california', 'global'],
106
+ },
107
+ {
108
+ id: 'rights',
109
+ title: 'Your Data Rights',
110
+ content: dataSubjectRights,
111
+ required: true,
112
+ applicableRegions: ['eu', 'uk', 'california', 'global'],
113
+ },
114
+ {
115
+ id: 'tracking',
116
+ title: 'Tracking and Cookies',
117
+ content: trackingNotice,
118
+ required: false,
119
+ applicableRegions: ['eu', 'uk', 'global'],
120
+ },
121
+ ];
122
+ // Add data retention section if requested
123
+ if (input.includeDataRetention) {
124
+ const retentionYears = input.retentionPeriodYears || 7;
125
+ sections.push({
126
+ id: 'retention',
127
+ title: 'Data Retention',
128
+ content: generateDataRetentionSection(input.companyName, retentionYears, input.regions),
129
+ required: false,
130
+ applicableRegions: ['eu', 'uk', 'california', 'global'],
131
+ });
132
+ }
133
+ return {
134
+ title: `Privacy Policy Addendum: AI Commerce - ${input.companyName}`,
135
+ sections,
136
+ disclaimer,
137
+ generatedAt: new Date().toISOString(),
138
+ regions: input.regions,
139
+ };
140
+ }
141
+ /**
142
+ * Generate data retention section
143
+ */
144
+ function generateDataRetentionSection(companyName, retentionYears, regions) {
145
+ let section = `## Data Retention for AI Commerce Transactions
146
+
147
+ ${companyName} retains personal data from AI agent transactions for the following periods:
148
+
149
+ | Data Category | Retention Period | Purpose |
150
+ |--------------|------------------|---------|
151
+ | Order Information | ${retentionYears} years | Legal/tax compliance, warranty claims |
152
+ | Transaction Records | ${retentionYears} years | Financial records, dispute resolution |
153
+ | Delivery Information | 2 years | Customer service, delivery issues |
154
+ | Communication Records | 3 years | Customer support, quality assurance |
155
+ | Payment Confirmations | ${retentionYears} years | Financial audit requirements |
156
+
157
+ ### Retention Principles
158
+
159
+ - Data is retained only as long as necessary for the stated purposes
160
+ - We regularly review and delete data that is no longer needed
161
+ - You may request earlier deletion, subject to legal retention requirements
162
+ `;
163
+ if (regions.includes('eu') || regions.includes('uk')) {
164
+ section += `
165
+ ### GDPR Storage Limitation
166
+
167
+ In accordance with Article 5(1)(e) of the GDPR, we do not keep personal data for longer than necessary. Retention periods are based on:
168
+ - Contractual obligations
169
+ - Legal requirements (tax, accounting)
170
+ - Legitimate business needs
171
+ - Applicable limitation periods for legal claims
172
+ `;
173
+ }
174
+ return section;
175
+ }
176
+ /**
177
+ * Generate embeddable HTML
178
+ */
179
+ function generateEmbedHtml(companyName, aiCommerceSection, processorDisclosures, dataSubjectRights, trackingNotice, disclaimer) {
180
+ // Convert markdown to simple HTML
181
+ const convertMarkdown = (md) => {
182
+ return md
183
+ // Headers
184
+ .replace(/^### (.+)$/gm, '<h4>$1</h4>')
185
+ .replace(/^## (.+)$/gm, '<h3>$1</h3>')
186
+ .replace(/^# (.+)$/gm, '<h2>$1</h2>')
187
+ // Bold
188
+ .replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>')
189
+ // Lists
190
+ .replace(/^- (.+)$/gm, '<li>$1</li>')
191
+ // Blockquotes
192
+ .replace(/^> (.+)$/gm, '<blockquote>$1</blockquote>')
193
+ // Paragraphs
194
+ .replace(/\n\n/g, '</p><p>')
195
+ // Tables (basic)
196
+ .replace(/\|(.+)\|/g, (match) => {
197
+ const cells = match.split('|').filter(c => c.trim());
198
+ return '<tr>' + cells.map(c => `<td>${c.trim()}</td>`).join('') + '</tr>';
199
+ })
200
+ // Links
201
+ .replace(/\[(.+?)\]\((.+?)\)/g, '<a href="$2" target="_blank" rel="noopener">$1</a>');
202
+ };
203
+ return `<!-- AI Commerce Privacy Policy Addendum - Generated by UCP.tools -->
204
+ <div class="ucp-privacy-addendum">
205
+ <style>
206
+ .ucp-privacy-addendum {
207
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
208
+ line-height: 1.6;
209
+ color: #333;
210
+ max-width: 800px;
211
+ }
212
+ .ucp-privacy-addendum h2 { font-size: 1.5em; margin-top: 2em; border-bottom: 2px solid #2E86AB; padding-bottom: 0.5em; }
213
+ .ucp-privacy-addendum h3 { font-size: 1.2em; margin-top: 1.5em; color: #2E86AB; }
214
+ .ucp-privacy-addendum h4 { font-size: 1em; margin-top: 1em; }
215
+ .ucp-privacy-addendum table { width: 100%; border-collapse: collapse; margin: 1em 0; }
216
+ .ucp-privacy-addendum th, .ucp-privacy-addendum td { border: 1px solid #ddd; padding: 8px; text-align: left; }
217
+ .ucp-privacy-addendum th { background: #f5f5f5; }
218
+ .ucp-privacy-addendum blockquote { border-left: 4px solid #2E86AB; margin: 1em 0; padding: 0.5em 1em; background: #f9f9f9; }
219
+ .ucp-privacy-addendum .disclaimer { margin-top: 2em; padding: 1em; background: #fff3cd; border: 1px solid #ffc107; border-radius: 4px; font-size: 0.9em; }
220
+ </style>
221
+
222
+ <h2>Privacy Policy Addendum: AI Commerce</h2>
223
+ <p><em>Effective Date: ${new Date().toLocaleDateString()}</em></p>
224
+ <p>This addendum describes how ${companyName} handles personal data when you make purchases through AI shopping agents.</p>
225
+
226
+ <div class="section">
227
+ ${convertMarkdown(aiCommerceSection)}
228
+ </div>
229
+
230
+ <div class="section">
231
+ ${convertMarkdown(processorDisclosures)}
232
+ </div>
233
+
234
+ <div class="section">
235
+ ${convertMarkdown(dataSubjectRights)}
236
+ </div>
237
+
238
+ <div class="section">
239
+ ${convertMarkdown(trackingNotice)}
240
+ </div>
241
+
242
+ <div class="disclaimer">
243
+ ${convertMarkdown(disclaimer)}
244
+ </div>
245
+ </div>
246
+ <!-- End AI Commerce Privacy Policy Addendum -->`;
247
+ }
248
+ /**
249
+ * Generate plain text version
250
+ */
251
+ function generatePlainText(companyName, aiCommerceSection, processorDisclosures, consentLanguage, marketingOptIn, dataSubjectRights, trackingNotice, disclaimer) {
252
+ const divider = '='.repeat(60);
253
+ let text = `${divider}
254
+ PRIVACY POLICY ADDENDUM: AI COMMERCE
255
+ ${companyName}
256
+ Generated: ${new Date().toISOString()}
257
+ ${divider}
258
+
259
+ ${aiCommerceSection}
260
+
261
+ ${divider}
262
+
263
+ ${processorDisclosures}
264
+
265
+ ${divider}
266
+
267
+ ${consentLanguage}
268
+ `;
269
+ if (marketingOptIn) {
270
+ text += `
271
+ ${divider}
272
+
273
+ ${marketingOptIn}
274
+ `;
275
+ }
276
+ text += `
277
+ ${divider}
278
+
279
+ ${dataSubjectRights}
280
+
281
+ ${divider}
282
+
283
+ ${trackingNotice}
284
+
285
+ ${divider}
286
+
287
+ ${disclaimer}
288
+ `;
289
+ return text;
290
+ }
291
+ /**
292
+ * Get available regions with descriptions
293
+ */
294
+ function getAvailableRegions() {
295
+ return Object.entries(types_js_1.REGION_NAMES).map(([id, name]) => ({
296
+ id: id,
297
+ name,
298
+ }));
299
+ }
300
+ /**
301
+ * Get lawful basis options with descriptions
302
+ */
303
+ function getLawfulBasisOptions() {
304
+ return Object.entries(types_js_1.LAWFUL_BASIS_DESCRIPTIONS).map(([id, info]) => ({
305
+ id,
306
+ ...info,
307
+ }));
308
+ }
309
+ /**
310
+ * Get AI platform options
311
+ */
312
+ function getAiPlatformOptions() {
313
+ return [
314
+ { id: 'openai', name: 'OpenAI (ChatGPT Shopping)', description: 'ChatGPT-powered shopping assistant' },
315
+ { id: 'google', name: 'Google (AI Mode / Gemini)', description: 'Google AI shopping agent' },
316
+ { id: 'microsoft', name: 'Microsoft (Copilot)', description: 'Microsoft Copilot checkout' },
317
+ { id: 'other', name: 'Other AI Platforms', description: 'Other AI shopping agents' },
318
+ ];
319
+ }
320
+ //# sourceMappingURL=compliance-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance-generator.js","sourceRoot":"","sources":["../../src/compliance/compliance-generator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA4BH,kEA8FC;AAkSD,kDAKC;AAKD,sDAUC;AAKD,oDAWC;AAtbD,yCAIoB;AACpB,iDAQwB;AAExB;;GAEG;AACH,SAAgB,2BAA2B,CACzC,KAA+B;IAE/B,iBAAiB;IACjB,aAAa,CAAC,KAAK,CAAC,CAAC;IAErB,gCAAgC;IAChC,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE7C,wBAAwB;IACxB,MAAM,iBAAiB,GAAG,IAAA,wCAAyB,EACjD,KAAK,CAAC,WAAW,EACjB,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,OAAO,CACd,CAAC;IAEF,MAAM,oBAAoB,GAAG,IAAA,2CAA4B,EACvD,UAAU,EACV,KAAK,CAAC,OAAO,CACd,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,sCAAuB,EAC7C,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,uBAAuB,IAAI,KAAK,CACvC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,CAAC,uBAAuB;QAClD,CAAC,CAAC,IAAA,qCAAsB,EAAC,KAAK,CAAC,WAAW,CAAC;QAC3C,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,iBAAiB,GAAG,IAAA,wCAAyB,EACjD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,IAAI,yBAAyB,EAC/C,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,CACd,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,qCAAsB,EAC3C,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,OAAO,CACd,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,iCAAkB,GAAE,CAAC;IAExC,2CAA2C;IAC3C,MAAM,eAAe,GAAG,oBAAoB,CAC1C,KAAK,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,UAAU,CACX,CAAC;IAEF,sBAAsB;IACtB,MAAM,SAAS,GAAG,iBAAiB,CACjC,KAAK,CAAC,WAAW,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,UAAU,CACX,CAAC;IAEF,sBAAsB;IACtB,MAAM,SAAS,GAAG,iBAAiB,CACjC,KAAK,CAAC,WAAW,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,CACX,CAAC;IAEF,OAAO;QACL,eAAe;QACf,QAAQ,EAAE;YACR,iBAAiB;YACjB,oBAAoB;YACpB,eAAe;YACf,cAAc;YACd,iBAAiB;YACjB,cAAc;SACf;QACD,SAAS;QACT,SAAS;QACT,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAA+B;IACpD,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAA+B;IACzD,MAAM,UAAU,GAAoB,EAAE,CAAC;IAEvC,6BAA6B;IAC7B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,iCAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,KAA+B,EAC/B,iBAAyB,EACzB,oBAA4B,EAC5B,iBAAyB,EACzB,cAAsB,EACtB,UAAkB;IAElB,MAAM,QAAQ,GAAwB;QACpC;YACE,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,0CAA0C;YACjD,OAAO,EAAE,iBAAiB;YAC1B,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC;SACxD;QACD;YACE,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,6BAA6B;YACpC,OAAO,EAAE,oBAAoB;YAC7B,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC;SACxD;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE,iBAAiB;YAC1B,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC;SACxD;QACD;YACE,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC;SAC1C;KACF,CAAC;IAEF,0CAA0C;IAC1C,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,4BAA4B,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;YACvF,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,EAAE,0CAA0C,KAAK,CAAC,WAAW,EAAE;QACpE,QAAQ;QACR,UAAU;QACV,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CACnC,WAAmB,EACnB,cAAsB,EACtB,OAA2B;IAE3B,IAAI,OAAO,GAAG;;EAEd,WAAW;;;;wBAIW,cAAc;0BACZ,cAAc;;;4BAGZ,cAAc;;;;;;;CAOzC,CAAC;IAEA,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI;;;;;;;;CAQd,CAAC;IACA,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,WAAmB,EACnB,iBAAyB,EACzB,oBAA4B,EAC5B,iBAAyB,EACzB,cAAsB,EACtB,UAAkB;IAElB,kCAAkC;IAClC,MAAM,eAAe,GAAG,CAAC,EAAU,EAAU,EAAE;QAC7C,OAAO,EAAE;YACP,UAAU;aACT,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC;aACtC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC;aACrC,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC;YACrC,OAAO;aACN,OAAO,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;YACjD,QAAQ;aACP,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC;YACrC,cAAc;aACb,OAAO,CAAC,YAAY,EAAE,6BAA6B,CAAC;YACrD,aAAa;aACZ,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;YAC5B,iBAAiB;aAChB,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,OAAO,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QAC5E,CAAC,CAAC;YACF,QAAQ;aACP,OAAO,CAAC,qBAAqB,EAAE,oDAAoD,CAAC,CAAC;IAC1F,CAAC,CAAC;IAEF,OAAO;;;;;;;;;;;;;;;;;;;;2BAoBkB,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE;mCACvB,WAAW;;;MAGxC,eAAe,CAAC,iBAAiB,CAAC;;;;MAIlC,eAAe,CAAC,oBAAoB,CAAC;;;;MAIrC,eAAe,CAAC,iBAAiB,CAAC;;;;MAIlC,eAAe,CAAC,cAAc,CAAC;;;;MAI/B,eAAe,CAAC,UAAU,CAAC;;;iDAGgB,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,WAAmB,EACnB,iBAAyB,EACzB,oBAA4B,EAC5B,eAAuB,EACvB,cAAkC,EAClC,iBAAyB,EACzB,cAAsB,EACtB,UAAkB;IAElB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE/B,IAAI,IAAI,GAAG,GAAG,OAAO;;EAErB,WAAW;aACA,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;EACnC,OAAO;;EAEP,iBAAiB;;EAEjB,OAAO;;EAEP,oBAAoB;;EAEpB,OAAO;;EAEP,eAAe;CAChB,CAAC;IAEA,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,IAAI;EACV,OAAO;;EAEP,cAAc;CACf,CAAC;IACA,CAAC;IAED,IAAI,IAAI;EACR,OAAO;;EAEP,iBAAiB;;EAEjB,OAAO;;EAEP,cAAc;;EAEd,OAAO;;EAEP,UAAU;CACX,CAAC;IAEA,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,MAAM,CAAC,OAAO,CAAC,uBAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,EAAE,EAAE,EAAsB;QAC1B,IAAI;KACL,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IAMnC,OAAO,MAAM,CAAC,OAAO,CAAC,oCAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,EAAE;QACF,GAAG,IAAI;KACR,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAKlC,OAAO;QACL,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,WAAW,EAAE,oCAAoC,EAAE;QACtG,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,WAAW,EAAE,0BAA0B,EAAE;QAC5F,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,4BAA4B,EAAE;QAC3F,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,0BAA0B,EAAE;KACrF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * GDPR/Privacy Compliance Generator Module
3
+ * Generates privacy policy addendums and consent language for agentic commerce
4
+ */
5
+ export { generateComplianceDocuments, getAvailableRegions, getLawfulBasisOptions, getAiPlatformOptions, } from './compliance-generator.js';
6
+ export type { ComplianceRegion, LawfulBasis, AgentPlatform, ComplianceGeneratorInput, ComplianceGeneratorOutput, ComplianceDocument, ComplianceSection, DataProcessor, } from './types.js';
7
+ export { AI_PLATFORM_PROCESSORS, REGION_NAMES, LAWFUL_BASIS_DESCRIPTIONS, } from './types.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compliance/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * GDPR/Privacy Compliance Generator Module
4
+ * Generates privacy policy addendums and consent language for agentic commerce
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.LAWFUL_BASIS_DESCRIPTIONS = exports.REGION_NAMES = exports.AI_PLATFORM_PROCESSORS = exports.getAiPlatformOptions = exports.getLawfulBasisOptions = exports.getAvailableRegions = exports.generateComplianceDocuments = void 0;
8
+ var compliance_generator_js_1 = require("./compliance-generator.js");
9
+ Object.defineProperty(exports, "generateComplianceDocuments", { enumerable: true, get: function () { return compliance_generator_js_1.generateComplianceDocuments; } });
10
+ Object.defineProperty(exports, "getAvailableRegions", { enumerable: true, get: function () { return compliance_generator_js_1.getAvailableRegions; } });
11
+ Object.defineProperty(exports, "getLawfulBasisOptions", { enumerable: true, get: function () { return compliance_generator_js_1.getLawfulBasisOptions; } });
12
+ Object.defineProperty(exports, "getAiPlatformOptions", { enumerable: true, get: function () { return compliance_generator_js_1.getAiPlatformOptions; } });
13
+ var types_js_1 = require("./types.js");
14
+ Object.defineProperty(exports, "AI_PLATFORM_PROCESSORS", { enumerable: true, get: function () { return types_js_1.AI_PLATFORM_PROCESSORS; } });
15
+ Object.defineProperty(exports, "REGION_NAMES", { enumerable: true, get: function () { return types_js_1.REGION_NAMES; } });
16
+ Object.defineProperty(exports, "LAWFUL_BASIS_DESCRIPTIONS", { enumerable: true, get: function () { return types_js_1.LAWFUL_BASIS_DESCRIPTIONS; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compliance/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qEAKmC;AAJjC,sIAAA,2BAA2B,OAAA;AAC3B,8HAAA,mBAAmB,OAAA;AACnB,gIAAA,qBAAqB,OAAA;AACrB,+HAAA,oBAAoB,OAAA;AActB,uCAIoB;AAHlB,kHAAA,sBAAsB,OAAA;AACtB,wGAAA,YAAY,OAAA;AACZ,qHAAA,yBAAyB,OAAA"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * GDPR/Privacy Compliance Templates
3
+ * Template content for privacy policy addendums and consent language
4
+ */
5
+ import type { ComplianceRegion, LawfulBasis, DataProcessor } from './types.js';
6
+ /**
7
+ * Generate the AI Commerce privacy policy section
8
+ */
9
+ export declare function generateAiCommerceSection(companyName: string, platforms: DataProcessor[], lawfulBasis: LawfulBasis, regions: ComplianceRegion[]): string;
10
+ /**
11
+ * Generate data processor disclosures
12
+ */
13
+ export declare function generateProcessorDisclosures(processors: DataProcessor[], regions: ComplianceRegion[]): string;
14
+ /**
15
+ * Generate consent language for checkout
16
+ */
17
+ export declare function generateConsentLanguage(companyName: string, lawfulBasis: LawfulBasis, includeMarketing: boolean): string;
18
+ /**
19
+ * Generate marketing opt-in text
20
+ */
21
+ export declare function generateMarketingOptIn(companyName: string): string;
22
+ /**
23
+ * Generate data subject rights notice
24
+ */
25
+ export declare function generateDataSubjectRights(companyName: string, contactEmail: string, dpoEmail: string | undefined, regions: ComplianceRegion[]): string;
26
+ /**
27
+ * Generate tracking/cookie notice for agent transactions
28
+ */
29
+ export declare function generateTrackingNotice(companyName: string, regions: ComplianceRegion[]): string;
30
+ /**
31
+ * Generate the legal disclaimer
32
+ */
33
+ export declare function generateDisclaimer(): string;
34
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/compliance/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/E;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,aAAa,EAAE,EAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,gBAAgB,EAAE,GAC1B,MAAM,CAyDR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,aAAa,EAAE,EAC3B,OAAO,EAAE,gBAAgB,EAAE,GAC1B,MAAM,CA+BR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,OAAO,GACxB,MAAM,CAyCR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAuBlE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,gBAAgB,EAAE,GAC1B,MAAM,CA4DR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,gBAAgB,EAAE,GAC1B,MAAM,CAgDR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAgB3C"}