@clay-design-system/email 0.2.4 → 0.3.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 (195) hide show
  1. package/MIGRATION.md +31 -0
  2. package/README.md +7 -0
  3. package/dist/build/catalog.d.ts +0 -1
  4. package/dist/generated/email-tokens.d.ts +0 -1
  5. package/dist/generated/email-tokens.js +0 -1
  6. package/dist/index.d.ts +1 -2
  7. package/dist/index.js +0 -1
  8. package/package.json +14 -5
  9. package/dist/build/asset-scoring.d.ts +0 -48
  10. package/dist/build/asset-scoring.d.ts.map +0 -1
  11. package/dist/build/asset-scoring.js +0 -58
  12. package/dist/build/asset-scoring.js.map +0 -1
  13. package/dist/build/braze-transform.d.ts +0 -20
  14. package/dist/build/braze-transform.d.ts.map +0 -1
  15. package/dist/build/braze-transform.js +0 -26
  16. package/dist/build/braze-transform.js.map +0 -1
  17. package/dist/build/catalog.d.ts.map +0 -1
  18. package/dist/build/catalog.js +0 -3
  19. package/dist/build/catalog.js.map +0 -1
  20. package/dist/build/cloudinary-env.d.ts +0 -15
  21. package/dist/build/cloudinary-env.d.ts.map +0 -1
  22. package/dist/build/cloudinary-env.js +0 -36
  23. package/dist/build/cloudinary-env.js.map +0 -1
  24. package/dist/build/cloudinary-manifest.d.ts +0 -33
  25. package/dist/build/cloudinary-manifest.d.ts.map +0 -1
  26. package/dist/build/cloudinary-manifest.js +0 -36
  27. package/dist/build/cloudinary-manifest.js.map +0 -1
  28. package/dist/build/compile.d.ts +0 -11
  29. package/dist/build/compile.d.ts.map +0 -1
  30. package/dist/build/compile.js +0 -234
  31. package/dist/build/compile.js.map +0 -1
  32. package/dist/build/email-config.d.ts +0 -26
  33. package/dist/build/email-config.d.ts.map +0 -1
  34. package/dist/build/email-config.js +0 -17
  35. package/dist/build/email-config.js.map +0 -1
  36. package/dist/build/email-list.d.ts +0 -6
  37. package/dist/build/email-list.d.ts.map +0 -1
  38. package/dist/build/email-list.js +0 -17
  39. package/dist/build/email-list.js.map +0 -1
  40. package/dist/build/email-tree.d.ts +0 -23
  41. package/dist/build/email-tree.d.ts.map +0 -1
  42. package/dist/build/email-tree.js +0 -46
  43. package/dist/build/email-tree.js.map +0 -1
  44. package/dist/build/export-braze.d.ts +0 -22
  45. package/dist/build/export-braze.d.ts.map +0 -1
  46. package/dist/build/export-braze.js +0 -92
  47. package/dist/build/export-braze.js.map +0 -1
  48. package/dist/build/generate-stock-library-map.d.ts +0 -13
  49. package/dist/build/generate-stock-library-map.d.ts.map +0 -1
  50. package/dist/build/generate-stock-library-map.js +0 -202
  51. package/dist/build/generate-stock-library-map.js.map +0 -1
  52. package/dist/build/icon-registry-map.d.ts +0 -34
  53. package/dist/build/icon-registry-map.d.ts.map +0 -1
  54. package/dist/build/icon-registry-map.js +0 -44
  55. package/dist/build/icon-registry-map.js.map +0 -1
  56. package/dist/build/import-examples.d.ts +0 -14
  57. package/dist/build/import-examples.d.ts.map +0 -1
  58. package/dist/build/import-examples.js +0 -65
  59. package/dist/build/import-examples.js.map +0 -1
  60. package/dist/build/persona-character-map.d.ts +0 -32
  61. package/dist/build/persona-character-map.d.ts.map +0 -1
  62. package/dist/build/persona-character-map.js +0 -90
  63. package/dist/build/persona-character-map.js.map +0 -1
  64. package/dist/build/placeholder.d.ts +0 -79
  65. package/dist/build/placeholder.d.ts.map +0 -1
  66. package/dist/build/placeholder.js +0 -148
  67. package/dist/build/placeholder.js.map +0 -1
  68. package/dist/build/stock-library-map.d.ts +0 -57
  69. package/dist/build/stock-library-map.d.ts.map +0 -1
  70. package/dist/build/stock-library-map.js +0 -1261
  71. package/dist/build/stock-library-map.js.map +0 -1
  72. package/dist/build/upload-assets.d.ts +0 -20
  73. package/dist/build/upload-assets.d.ts.map +0 -1
  74. package/dist/build/upload-assets.js +0 -153
  75. package/dist/build/upload-assets.js.map +0 -1
  76. package/dist/build/upload-library-assets.d.ts +0 -21
  77. package/dist/build/upload-library-assets.d.ts.map +0 -1
  78. package/dist/build/upload-library-assets.js +0 -182
  79. package/dist/build/upload-library-assets.js.map +0 -1
  80. package/dist/build/visual-resolver.d.ts +0 -87
  81. package/dist/build/visual-resolver.d.ts.map +0 -1
  82. package/dist/build/visual-resolver.js +0 -439
  83. package/dist/build/visual-resolver.js.map +0 -1
  84. package/dist/examples/manifest.d.ts +0 -21
  85. package/dist/examples/manifest.d.ts.map +0 -1
  86. package/dist/examples/manifest.js +0 -84
  87. package/dist/examples/manifest.js.map +0 -1
  88. package/dist/exports/contact-sales/Images/Contact_sales_Image_16f4175c-d08c-43f6-9d4c-a0606383271d.png +0 -0
  89. package/dist/exports/contact-sales/Images/Contact_sales_Image_659b3091-1da9-40c2-86b0-04250982e529.png +0 -0
  90. package/dist/exports/contact-sales/Images/Contact_sales_Image_79c651f4-5f0f-4a7f-8354-1f6f95ae86d9.png +0 -0
  91. package/dist/exports/contact-sales/index.braze.html +0 -837
  92. package/dist/exports/contact-sales/index.html +0 -837
  93. package/dist/exports/event-confirmation/Images/Confirmation_Image_11938de2-4161-4ae8-8969-90ea0d8b45cb.png +0 -0
  94. package/dist/exports/event-confirmation/Images/Confirmation_Image_3c52e81f-5d4f-452c-bad1-0471a27598f1.png +0 -0
  95. package/dist/exports/event-confirmation/Images/Confirmation_Image_3ec1fec8-bf46-4068-8835-633567a715f9.png +0 -0
  96. package/dist/exports/event-confirmation/Images/Confirmation_Image_c4980c01-c270-4384-a56c-0bae74814cf9.png +0 -0
  97. package/dist/exports/event-confirmation/Images/Confirmation_Image_cde93e8c-0f96-434d-acaf-1b86503c66f0.png +0 -0
  98. package/dist/exports/event-confirmation/index.braze.html +0 -1055
  99. package/dist/exports/event-confirmation/index.html +0 -1055
  100. package/dist/exports/legal-update/Images/v2_Image_07bbcc13-0ab8-46e4-ab94-98f215f85f69.png +0 -0
  101. package/dist/exports/legal-update/Images/v2_Image_34394d50-acdf-4375-b254-eef1f84aaacb.png +0 -0
  102. package/dist/exports/legal-update/Images/v2_Image_4a25f2bd-6270-439b-86c5-4a968a1b104f.png +0 -0
  103. package/dist/exports/legal-update/Images/v2_Image_7e8e814f-3112-4d8c-af5b-4f4616d84d9c.png +0 -0
  104. package/dist/exports/legal-update/Images/v2_Image_b24a04c8-4af0-42a1-be0f-cd3f66595e47.png +0 -0
  105. package/dist/exports/legal-update/Images/v2_Image_b709b9fb-836e-4c20-82e5-a9cb9d702392.png +0 -0
  106. package/dist/exports/legal-update/Images/v2_Image_ed7b924b-35e6-4536-be0c-92ddc8a34fc2.png +0 -0
  107. package/dist/exports/legal-update/index.braze.html +0 -1731
  108. package/dist/exports/legal-update/index.html +0 -1731
  109. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_09be22f6-1f30-4c58-bf33-1df0494b8fc2.png +0 -0
  110. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_2dfb595e-6fe2-4e6e-a73a-942a085b38ab.png +0 -0
  111. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_544c971b-b4b5-4c89-a25a-8f0d92644009.png +0 -0
  112. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_5b6a9576-1c33-40c5-81e3-637514fb6c78.png +0 -0
  113. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_680c6193-793a-4a24-8288-4bb4046f4f5e.png +0 -0
  114. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_75818ba9-026a-45d7-91e4-f992d4ee7690.png +0 -0
  115. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_785f18e6-816d-44d1-8efb-ecc82510b540.png +0 -0
  116. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_8bf9141d-9d63-4601-9e81-5c9d726e17f8.png +0 -0
  117. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_9097d6e0-65d0-4237-9661-963751812786.png +0 -0
  118. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_a4ef2f53-2eaf-438a-bfef-61455ac0915e.png +0 -0
  119. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_b7748f87-a7b7-4a91-981a-16567683e4b4.png +0 -0
  120. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_bc9830a4-2911-4768-808a-32cbbc39215e.png +0 -0
  121. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_ef0e8e92-9075-43a9-991f-09a77ef6d6d4.png +0 -0
  122. package/dist/exports/newsletter/index.braze.html +0 -125
  123. package/dist/exports/newsletter/index.html +0 -125
  124. package/dist/exports/newsletter-ai-june-july/Images/newsletter-ai-blocks.png +0 -0
  125. package/dist/exports/newsletter-ai-june-july/Images/newsletter-ai-hero-mcp.png +0 -0
  126. package/dist/exports/newsletter-ai-june-july/Images/newsletter-ai-magic.png +0 -0
  127. package/dist/exports/newsletter-ai-june-july/Images/newsletter-ai-mcp.png +0 -0
  128. package/dist/exports/newsletter-ai-june-july/Images/newsletter-ai-portfolio.png +0 -0
  129. package/dist/exports/newsletter-ai-june-july/index.braze.html +0 -1640
  130. package/dist/exports/newsletter-ai-june-july/index.html +0 -1640
  131. package/dist/exports/survey/Images/EmailLove_Image_3b6f4a6f-7f5f-418b-be71-9371b25c20ce.png +0 -0
  132. package/dist/exports/survey/Images/EmailLove_Image_f659c728-2401-485d-8d90-98c962d28c0c.png +0 -0
  133. package/dist/exports/survey/index.braze.html +0 -515
  134. package/dist/exports/survey/index.html +0 -515
  135. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Before_115ccc58-a47f-4eca-a1f2-c0d86e1e1cf4.png +0 -0
  136. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Before_aec4d0d3-6057-4b8a-8d8f-46fbd024f182.png +0 -0
  137. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Before_d139966a-6051-4383-bf8f-1e5138e1b030.png +0 -0
  138. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Image_080fa361-a3f2-4593-9ac0-03cf3a7972ff.png +0 -0
  139. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Image_5ebade34-8f1d-4c2c-9d27-5f9e843ce502.png +0 -0
  140. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Image_aa5e4144-9ec8-4525-b01e-077d72f0bab6.png +0 -0
  141. package/dist/exports/trial-01-welcome/index.braze.html +0 -941
  142. package/dist/exports/trial-01-welcome/index.html +0 -941
  143. package/dist/exports/trial-02/Images/tp2_Image_5b0d9bc4-2e38-4252-8f20-d9f27d471c21.png +0 -0
  144. package/dist/exports/trial-02/Images/tp2_Image_b3f77c7c-cc8e-4db8-a5d9-072f4f621e72.png +0 -0
  145. package/dist/exports/trial-02/Images/tp2_Image_cafd1a17-1915-47cd-80f2-1c2d0b133cfe.png +0 -0
  146. package/dist/exports/trial-02/index.braze.html +0 -923
  147. package/dist/exports/trial-02/index.html +0 -923
  148. package/dist/exports/trial-03/Images/tp3_Image_1b96630c-fc4d-4aec-91fb-3c1d4d8544b3.png +0 -0
  149. package/dist/exports/trial-03/Images/tp3_Image_58f3a342-2193-4b5c-b30a-96f7f3338dd8.png +0 -0
  150. package/dist/exports/trial-03/Images/tp3_Image_6c4f307a-bac2-40e7-b4f1-9aa623c9eb8e.png +0 -0
  151. package/dist/exports/trial-03/Images/tp3_Image_848917ce-3f89-4538-a826-558b21f5fea7.png +0 -0
  152. package/dist/exports/trial-03/Images/tp3_Image_aae8410f-556f-4fb9-88f9-f276d75bafd2.png +0 -0
  153. package/dist/exports/trial-03/Images/tp3_Image_b4d5be39-509e-4f22-9601-dd070e4c6561.png +0 -0
  154. package/dist/exports/trial-03/index.braze.html +0 -1129
  155. package/dist/exports/trial-03/index.html +0 -1129
  156. package/dist/exports/trial-04/Images/tp4_Image_03bd5a56-25e3-4dcc-bef5-143bf12312d5.png +0 -0
  157. package/dist/exports/trial-04/Images/tp4_Image_0facbfca-b735-4199-a0d9-05a59341a1e3.gif +0 -0
  158. package/dist/exports/trial-04/Images/tp4_Image_171cee5f-cd3d-42f0-a180-995893d3742a.png +0 -0
  159. package/dist/exports/trial-04/Images/tp4_Image_3509d89d-1825-4817-8c1e-130fa294d0e1.png +0 -0
  160. package/dist/exports/trial-04/Images/tp4_Image_763a0f40-2985-4140-859b-ddd34f20a520.png +0 -0
  161. package/dist/exports/trial-04/Images/tp4_Image_cc2db4f5-b41d-45d7-a798-7a79e7b8d4d8.png +0 -0
  162. package/dist/exports/trial-04/index.braze.html +0 -885
  163. package/dist/exports/trial-04/index.html +0 -885
  164. package/dist/exports/trial-05/Images/tp5_Image_0248a517-5c60-4e84-ad1c-449dcf4f6a64.png +0 -0
  165. package/dist/exports/trial-05/Images/tp5_Image_4c1a2d5a-47d3-4801-bb3a-01c22decc108.png +0 -0
  166. package/dist/exports/trial-05/Images/tp5_Image_63ae77e7-cec7-4b4a-91e0-603b5a80929f.png +0 -0
  167. package/dist/exports/trial-05/Images/tp5_Image_7aa43530-6707-4308-ab0e-e4c38fc1b77d.png +0 -0
  168. package/dist/exports/trial-05/Images/tp5_Image_7efe5b6d-b360-4179-bee1-72908ba569bc.png +0 -0
  169. package/dist/exports/trial-05/Images/tp5_Image_b142bd84-c40a-4a29-b9d5-715b52fdd937.png +0 -0
  170. package/dist/exports/trial-05/Images/tp5_Image_c0c896ea-5b68-4f58-9e27-cdb4a1f1b438.png +0 -0
  171. package/dist/exports/trial-05/index.braze.html +0 -1023
  172. package/dist/exports/trial-05/index.html +0 -1023
  173. package/dist/exports/trial-06/Images/tp6_Image_2267a268-8a80-4e0d-8813-d4c75dbab6f2.png +0 -0
  174. package/dist/exports/trial-06/Images/tp6_Image_637a97b7-837e-478d-8ed1-6e8c2739fdc7.png +0 -0
  175. package/dist/exports/trial-06/Images/tp6_Image_a78df270-ad6f-41e6-8822-ba8ec38313a3.png +0 -0
  176. package/dist/exports/trial-06/index.braze.html +0 -773
  177. package/dist/exports/trial-06/index.html +0 -773
  178. package/dist/exports/winback/Images/_managers_Image_4587ac22-460c-487a-bc37-9dbc487e95a4.png +0 -0
  179. package/dist/exports/winback/Images/_managers_Image_8a77ec2c-ed49-480d-a1a1-7a38abad232a.png +0 -0
  180. package/dist/exports/winback/Images/_managers_Image_bb643775-8a2f-4e28-9dfb-6d1838c3561f.png +0 -0
  181. package/dist/exports/winback/Images/_managers_Image_f7d1bca5-0fcb-4d4c-abcd-40ce2d453b07.png +0 -0
  182. package/dist/exports/winback/index.braze.html +0 -605
  183. package/dist/exports/winback/index.html +0 -605
  184. package/dist/generated/email-tokens.d.ts.map +0 -1
  185. package/dist/generated/email-tokens.js.map +0 -1
  186. package/dist/index.d.ts.map +0 -1
  187. package/dist/index.js.map +0 -1
  188. package/dist/tokens/build-email-assets.d.ts +0 -19
  189. package/dist/tokens/build-email-assets.d.ts.map +0 -1
  190. package/dist/tokens/build-email-assets.js +0 -186
  191. package/dist/tokens/build-email-assets.js.map +0 -1
  192. package/dist/tokens/build-email-tokens.d.ts +0 -17
  193. package/dist/tokens/build-email-tokens.d.ts.map +0 -1
  194. package/dist/tokens/build-email-tokens.js +0 -229
  195. package/dist/tokens/build-email-tokens.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"stock-library-map.js","sourceRoot":"","sources":["../../src/build/stock-library-map.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Cloudinary asset upload.
3
- *
4
- * Scans every email's source .mjml for local, non-shared, raster asset references and uploads
5
- * each to Cloudinary at `lifecycle/<campaign>/<email>/<filename>` (OPEN-QUESTIONS.md D18),
6
- * skipping anything already uploaded with unchanged content. Writes a manifest that compile.ts
7
- * reads to swap those assets' `src` for the hosted URL instead of inlining them as base64 — the
8
- * root cause of Q15 (base64-inlined images blowing past Gmail's 102KB clip limit).
9
- *
10
- * Shared DS asset folders (icons/integrations/logos/placeholders/shared) and any SVG are
11
- * intentionally skipped — D20 accepts raster-only (PNG/GIF/JPG/JPEG/WEBP) for the hosted path;
12
- * those stay base64-inlined exactly as before.
13
- *
14
- * Usage:
15
- * pnpm --filter @clay-design-system/email email:upload
16
- * pnpm --filter @clay-design-system/email email:upload -- --campaign=sales-agent-activation
17
- * pnpm --filter @clay-design-system/email email:upload -- --dry-run
18
- */
19
- export {};
20
- //# sourceMappingURL=upload-assets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-assets.d.ts","sourceRoot":"","sources":["../../src/build/upload-assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -1,153 +0,0 @@
1
- /**
2
- * Cloudinary asset upload.
3
- *
4
- * Scans every email's source .mjml for local, non-shared, raster asset references and uploads
5
- * each to Cloudinary at `lifecycle/<campaign>/<email>/<filename>` (OPEN-QUESTIONS.md D18),
6
- * skipping anything already uploaded with unchanged content. Writes a manifest that compile.ts
7
- * reads to swap those assets' `src` for the hosted URL instead of inlining them as base64 — the
8
- * root cause of Q15 (base64-inlined images blowing past Gmail's 102KB clip limit).
9
- *
10
- * Shared DS asset folders (icons/integrations/logos/placeholders/shared) and any SVG are
11
- * intentionally skipped — D20 accepts raster-only (PNG/GIF/JPG/JPEG/WEBP) for the hosted path;
12
- * those stay base64-inlined exactly as before.
13
- *
14
- * Usage:
15
- * pnpm --filter @clay-design-system/email email:upload
16
- * pnpm --filter @clay-design-system/email email:upload -- --campaign=sales-agent-activation
17
- * pnpm --filter @clay-design-system/email email:upload -- --dry-run
18
- */
19
- import { createHash } from 'node:crypto';
20
- import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';
21
- import { dirname, resolve } from 'node:path';
22
- import { v2 as cloudinary } from 'cloudinary';
23
- import { loadCloudinaryEnv } from './cloudinary-env';
24
- import { cloudinaryManifestPath, loadCloudinaryManifest, } from './cloudinary-manifest';
25
- import { assetsDir, walkEmails } from './email-tree';
26
- const SHARED_ASSET_DIRS = new Set(['icons', 'integrations', 'logos', 'placeholders', 'shared']);
27
- const RASTER_EXTS = new Set(['png', 'jpg', 'jpeg', 'gif', 'webp']);
28
- const ASSET_SRC_RE = /src="[^"]*\/assets\/([^"?#]+)"/g;
29
- const CONCURRENCY = 5;
30
- const campaignFilterArg = process.argv.find((a) => a.startsWith('--campaign='));
31
- const campaignFilter = campaignFilterArg ? campaignFilterArg.slice('--campaign='.length) : null;
32
- const dryRun = process.argv.includes('--dry-run');
33
- /** Every local, non-shared, raster asset each email references, deduped by target public_id. */
34
- function collectUploadTasks() {
35
- const tasks = new Map();
36
- for (const { campaign, emailSlug, mjmlPath } of walkEmails()) {
37
- if (campaignFilter && campaign !== campaignFilter)
38
- continue;
39
- if (!existsSync(mjmlPath))
40
- continue;
41
- const mjmlSource = readFileSync(mjmlPath, 'utf-8');
42
- for (const match of mjmlSource.matchAll(ASSET_SRC_RE)) {
43
- const sourcePath = match[1];
44
- const firstSegment = sourcePath.split('/')[0];
45
- const ext = (sourcePath.split('.').pop() ?? '').toLowerCase();
46
- if (SHARED_ASSET_DIRS.has(firstSegment) || !RASTER_EXTS.has(ext))
47
- continue;
48
- const filename = sourcePath.split('/').pop();
49
- if (!filename)
50
- continue;
51
- const stem = filename.slice(0, filename.length - ext.length - 1);
52
- const publicId = `lifecycle/${campaign}/${emailSlug}/${stem}`;
53
- if (tasks.has(publicId))
54
- continue;
55
- tasks.set(publicId, { publicId, absPath: resolve(assetsDir, sourcePath), sourcePath, campaign, email: emailSlug });
56
- }
57
- }
58
- return [...tasks.values()];
59
- }
60
- function sha256(absPath) {
61
- return createHash('sha256').update(readFileSync(absPath)).digest('hex').slice(0, 16);
62
- }
63
- async function runWithConcurrency(items, limit, fn) {
64
- let cursor = 0;
65
- async function worker() {
66
- while (cursor < items.length) {
67
- const item = items[cursor++];
68
- await fn(item);
69
- }
70
- }
71
- await Promise.all(Array.from({ length: Math.min(limit, items.length) }, worker));
72
- }
73
- async function main() {
74
- const tasks = collectUploadTasks();
75
- if (!tasks.length) {
76
- console.log('email:upload — no local campaign raster assets found to upload.');
77
- return;
78
- }
79
- const existingManifest = loadCloudinaryManifest();
80
- const assets = { ...(existingManifest?.assets ?? {}) };
81
- let cloudName = existingManifest?.cloudName ?? '';
82
- if (!dryRun) {
83
- const env = loadCloudinaryEnv();
84
- cloudinary.config({ cloud_name: env.cloudName, api_key: env.apiKey, api_secret: env.apiSecret });
85
- cloudName = env.cloudName;
86
- }
87
- let actioned = 0;
88
- let skipped = 0;
89
- let failed = 0;
90
- await runWithConcurrency(tasks, CONCURRENCY, async (task) => {
91
- if (!existsSync(task.absPath)) {
92
- console.warn(` ✗ ${task.publicId} — source file missing: ${task.absPath}`);
93
- failed++;
94
- return;
95
- }
96
- const contentHash = sha256(task.absPath);
97
- const prior = assets[task.publicId];
98
- if (prior && prior.contentHash === contentHash) {
99
- skipped++;
100
- return;
101
- }
102
- const bytes = statSync(task.absPath).size;
103
- if (dryRun) {
104
- console.log(` would upload: ${task.publicId} (${(bytes / 1024).toFixed(0)} KB)`);
105
- actioned++;
106
- return;
107
- }
108
- try {
109
- const result = await cloudinary.uploader.upload(task.absPath, {
110
- public_id: task.publicId,
111
- overwrite: true,
112
- invalidate: true,
113
- unique_filename: false,
114
- resource_type: 'image',
115
- });
116
- assets[task.publicId] = {
117
- sourcePath: task.sourcePath,
118
- campaign: task.campaign,
119
- email: task.email,
120
- url: result.secure_url,
121
- bytes,
122
- contentHash,
123
- uploadedAt: new Date().toISOString(),
124
- };
125
- actioned++;
126
- console.log(` ✓ ${task.publicId} → ${result.secure_url}`);
127
- }
128
- catch (err) {
129
- failed++;
130
- console.error(` ✗ ${task.publicId} — ${err.message}`);
131
- }
132
- });
133
- if (!dryRun) {
134
- const manifest = {
135
- generatedFrom: '@clay-design-system/email src/build/upload-assets.ts',
136
- cloudName,
137
- assets,
138
- };
139
- mkdirSync(dirname(cloudinaryManifestPath), { recursive: true });
140
- writeFileSync(cloudinaryManifestPath, JSON.stringify(manifest, null, 2));
141
- console.log(`\nManifest written → ${cloudinaryManifestPath}`);
142
- }
143
- const actionLabel = dryRun ? 'would upload' : 'uploaded';
144
- console.log(`\nemail:upload — ${actioned} ${actionLabel}, ${skipped} unchanged (skipped), ${failed} failed` +
145
- (dryRun ? ' [dry run — nothing sent to Cloudinary]' : ''));
146
- if (failed > 0)
147
- process.exitCode = 1;
148
- }
149
- main().catch((err) => {
150
- console.error(err.message);
151
- process.exit(1);
152
- });
153
- //# sourceMappingURL=upload-assets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-assets.js","sourceRoot":"","sources":["../../src/build/upload-assets.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Stock-library asset upload (D5.4, board item Clay Lifecycle D5).
3
- *
4
- * One-time bulk push of the email asset-catalog bank (packages/email/src/assets/
5
- * _stock-library-staging/, sourced from CatalogTest.csv's Email-channel rows) to Cloudinary,
6
- * under a dedicated `lifecycle/library/email-assets/<slug>` folder — a sibling to
7
- * `lifecycle/<campaign>/...` (upload-assets.ts's per-campaign uploads) and deliberately not
8
- * `asset-catalog/...` (the separate Asset Catalog system's own Cloudinary convention, see
9
- * SCHEMA.md), since this is a new copy for our stock-library use case, not the same records.
10
- *
11
- * Idempotent (content-hash check, like upload-assets.ts) — safe to re-run after adding more rows
12
- * to the staging CSV. Writes the resulting secure_url back into `cloudinary_url` on both the
13
- * staging CSV (packages/email/src/assets/_stock-library-staging/email-assets-catalog.csv) and,
14
- * as a courtesy, the external copy at EMAILS_ASSETS_EXTERNAL_CSV below.
15
- *
16
- * Usage:
17
- * pnpm --filter @clay-design-system/email library:upload -- --dry-run
18
- * pnpm --filter @clay-design-system/email library:upload
19
- */
20
- export {};
21
- //# sourceMappingURL=upload-library-assets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-library-assets.d.ts","sourceRoot":"","sources":["../../src/build/upload-library-assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
@@ -1,182 +0,0 @@
1
- /**
2
- * Stock-library asset upload (D5.4, board item Clay Lifecycle D5).
3
- *
4
- * One-time bulk push of the email asset-catalog bank (packages/email/src/assets/
5
- * _stock-library-staging/, sourced from CatalogTest.csv's Email-channel rows) to Cloudinary,
6
- * under a dedicated `lifecycle/library/email-assets/<slug>` folder — a sibling to
7
- * `lifecycle/<campaign>/...` (upload-assets.ts's per-campaign uploads) and deliberately not
8
- * `asset-catalog/...` (the separate Asset Catalog system's own Cloudinary convention, see
9
- * SCHEMA.md), since this is a new copy for our stock-library use case, not the same records.
10
- *
11
- * Idempotent (content-hash check, like upload-assets.ts) — safe to re-run after adding more rows
12
- * to the staging CSV. Writes the resulting secure_url back into `cloudinary_url` on both the
13
- * staging CSV (packages/email/src/assets/_stock-library-staging/email-assets-catalog.csv) and,
14
- * as a courtesy, the external copy at EMAILS_ASSETS_EXTERNAL_CSV below.
15
- *
16
- * Usage:
17
- * pnpm --filter @clay-design-system/email library:upload -- --dry-run
18
- * pnpm --filter @clay-design-system/email library:upload
19
- */
20
- import { createHash } from 'node:crypto';
21
- import { existsSync, readFileSync, statSync, writeFileSync } from 'node:fs';
22
- import { dirname, resolve } from 'node:path';
23
- import { fileURLToPath } from 'node:url';
24
- import { v2 as cloudinary } from 'cloudinary';
25
- import { loadCloudinaryEnv } from './cloudinary-env';
26
- const __dirname = dirname(fileURLToPath(import.meta.url));
27
- const pkgDir = resolve(__dirname, '..', '..');
28
- const STAGING_DIR = resolve(pkgDir, 'src/assets/_stock-library-staging');
29
- const STAGING_CSV = resolve(STAGING_DIR, 'email-assets-catalog.csv');
30
- // Courtesy mirror only — not one of the protected originals (CatalogTest.csv/chips_seed.sql/
31
- // SCHEMA.md, or the raw PNGs); we created this file ourselves in the prior step.
32
- const EXTERNAL_CSV = '/Users/eliorsi/Development/emails assets/email-assets-catalog.csv';
33
- const FOLDER = 'lifecycle/library/email-assets';
34
- const CONCURRENCY = 5;
35
- const dryRun = process.argv.includes('--dry-run');
36
- const limitArg = process.argv.find((a) => a.startsWith('--limit='));
37
- const limit = limitArg ? Number(limitArg.slice('--limit='.length)) : undefined;
38
- const CSV_FIELDS = [
39
- 'id', 'name', 'description', 'tag_form', 'tag_context', 'use_case_domain',
40
- 'width', 'height', 'ratio', 'figma_source', 'local_file', 'cloudinary_url',
41
- ];
42
- /** Minimal RFC 4180 parser — handles quoted fields with embedded commas/newlines (SCHEMA.md trap #1). */
43
- function parseCsv(text) {
44
- const rows = [];
45
- let field = '';
46
- let row = [];
47
- let inQuotes = false;
48
- for (let i = 0; i < text.length; i++) {
49
- const c = text[i];
50
- if (inQuotes) {
51
- if (c === '"') {
52
- if (text[i + 1] === '"') {
53
- field += '"';
54
- i++;
55
- }
56
- else {
57
- inQuotes = false;
58
- }
59
- }
60
- else
61
- field += c;
62
- }
63
- else if (c === '"')
64
- inQuotes = true;
65
- else if (c === ',') {
66
- row.push(field);
67
- field = '';
68
- }
69
- else if (c === '\n') {
70
- row.push(field);
71
- rows.push(row);
72
- row = [];
73
- field = '';
74
- }
75
- else if (c === '\r') { /* skip */ }
76
- else
77
- field += c;
78
- }
79
- if (field.length || row.length) {
80
- row.push(field);
81
- rows.push(row);
82
- }
83
- const [header, ...body] = rows.filter((r) => r.length > 1 || r[0] !== '');
84
- return body.map((r) => Object.fromEntries(header.map((h, idx) => [h, r[idx] ?? ''])));
85
- }
86
- function toCsv(rows) {
87
- const escape = (v) => (/[",\n]/.test(v) ? `"${v.replace(/"/g, '""')}"` : v);
88
- const lines = [CSV_FIELDS.join(',')];
89
- for (const r of rows)
90
- lines.push(CSV_FIELDS.map((f) => escape(r[f] ?? '')).join(','));
91
- return lines.join('\n') + '\n';
92
- }
93
- /** tag_form/tag_context/use_case_domain, lowercased and space-hyphenated, deduped, non-empty. */
94
- function buildTags(r) {
95
- const raw = [r.tag_form, r.tag_context, r.use_case_domain];
96
- const tags = raw.filter(Boolean).map((t) => t.trim().toLowerCase().replace(/\s+/g, '-'));
97
- return [...new Set(tags)];
98
- }
99
- function sha256(absPath) {
100
- return createHash('sha256').update(readFileSync(absPath)).digest('hex').slice(0, 16);
101
- }
102
- async function runWithConcurrency(items, limit, fn) {
103
- let cursor = 0;
104
- async function worker() {
105
- while (cursor < items.length) {
106
- const item = items[cursor++];
107
- await fn(item);
108
- }
109
- }
110
- await Promise.all(Array.from({ length: Math.min(limit, items.length) }, worker));
111
- }
112
- async function main() {
113
- if (!existsSync(STAGING_CSV)) {
114
- console.error(`Staging CSV not found: ${STAGING_CSV}`);
115
- process.exitCode = 1;
116
- return;
117
- }
118
- const rows = parseCsv(readFileSync(STAGING_CSV, 'utf-8'));
119
- console.log(`Loaded ${rows.length} rows from ${STAGING_CSV}\n`);
120
- if (!dryRun) {
121
- const env = loadCloudinaryEnv();
122
- cloudinary.config({ cloud_name: env.cloudName, api_key: env.apiKey, api_secret: env.apiSecret });
123
- }
124
- let uploaded = 0;
125
- let skipped = 0;
126
- let failed = 0;
127
- const uploadSet = limit ? rows.slice(0, limit) : rows;
128
- if (limit)
129
- console.log(`--limit=${limit}: uploading only the first ${uploadSet.length} of ${rows.length} rows\n`);
130
- await runWithConcurrency(uploadSet, CONCURRENCY, async (row) => {
131
- const slug = row.id.split('/', 2)[1];
132
- const absPath = resolve(STAGING_DIR, row.local_file);
133
- if (!existsSync(absPath)) {
134
- console.warn(` ✗ ${slug} — local file missing: ${absPath}`);
135
- failed++;
136
- return;
137
- }
138
- const publicId = `${FOLDER}/${slug}`;
139
- const contentHash = sha256(absPath);
140
- const bytes = statSync(absPath).size;
141
- if (dryRun) {
142
- console.log(` would upload: ${publicId} (${(bytes / 1024).toFixed(0)} KB) tags=[${buildTags(row).join(', ')}]`);
143
- uploaded++;
144
- return;
145
- }
146
- try {
147
- const result = await cloudinary.uploader.upload(absPath, {
148
- public_id: publicId,
149
- overwrite: true,
150
- invalidate: true,
151
- unique_filename: false,
152
- resource_type: 'image',
153
- tags: buildTags(row),
154
- context: { source: 'asset-catalog', figma_source: row.figma_source, content_hash: contentHash },
155
- });
156
- row.cloudinary_url = result.secure_url;
157
- uploaded++;
158
- console.log(` ✓ ${publicId} → ${result.secure_url}`);
159
- }
160
- catch (err) {
161
- failed++;
162
- console.error(` ✗ ${publicId} — ${err.message}`);
163
- }
164
- });
165
- if (!dryRun) {
166
- writeFileSync(STAGING_CSV, toCsv(rows));
167
- console.log(`\nUpdated ${STAGING_CSV}`);
168
- if (existsSync(EXTERNAL_CSV)) {
169
- writeFileSync(EXTERNAL_CSV, toCsv(rows));
170
- console.log(`Updated ${EXTERNAL_CSV}`);
171
- }
172
- }
173
- const label = dryRun ? 'would upload' : 'uploaded';
174
- console.log(`\nlibrary:upload — ${uploaded} ${label}, ${skipped} unchanged, ${failed} failed` + (dryRun ? ' [dry run — nothing sent to Cloudinary]' : ''));
175
- if (failed > 0)
176
- process.exitCode = 1;
177
- }
178
- main().catch((err) => {
179
- console.error(err.message);
180
- process.exit(1);
181
- });
182
- //# sourceMappingURL=upload-library-assets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-library-assets.js","sourceRoot":"","sources":["../../src/build/upload-library-assets.ts"],"names":[],"mappings":"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"}
@@ -1,87 +0,0 @@
1
- /**
2
- * Visual-brief resolver (OPEN-QUESTIONS.md M3 + D6/D8/D21; BRIEF-HANDOVER.md §3).
3
- *
4
- * Takes the 4-field per-slot visual brief (slot / intent / source / assetRef) and resolves each
5
- * slot to exactly one of three outcomes, per the priority order already documented in
6
- * skills/email-assets/SKILL.md Process step 2 — this module executes those already-decided rules
7
- * in code instead of leaving them as prose a human has to walk by hand:
8
- *
9
- * - 'resolved' — a real asset: AgentVisual (tier 1, mandatory for a standalone agent
10
- * portrait), a shared logo or local campaign asset (tier 3), a hosted match
11
- * from the Cloudinary stock library (tier 5 — D5.6, board item Clay
12
- * Lifecycle D5; product-ui/abstract only, see that branch below for why not
13
- * logo), or a match against the ~600-icon Clay registry (tier 6 — D6, board
14
- * item Clay Lifecycle D6; `icon` source only).
15
- * - 'placeholder' — a LEGITIMATE gap: a composite agent+UI scene (tier 2 — no dedicated
16
- * library yet, see knowledge/hero-pipeline.md) or anything else tier 3/5/6
17
- * didn't find (tier 4).
18
- * - 'gap' — NOT legitimate: a standalone agent portrait naming an agent the repo's
19
- * AgentVisual library doesn't have, or a must-use:<file> the brief names
20
- * that doesn't actually exist anywhere. email-assets/SKILL.md is explicit
21
- * that a placeholder is never an acceptable substitute for either of these —
22
- * they need a human decision, not a silent swap.
23
- *
24
- * Every slot gets exactly one of the three statuses above — never nothing. That's the literal
25
- * "no silent gaps" contract from OPEN-QUESTIONS.md M3's "Done when".
26
- *
27
- * Usage: tsx src/build/visual-resolver.ts --brief=<path-to-visual-brief.json>
28
- */
29
- import { type SlotShape } from './asset-scoring';
30
- import { type StockLibraryEntry } from './stock-library-map';
31
- export type VisualSource = 'agent-portrait' | 'product-ui' | 'logo' | 'abstract' | 'icon' | string;
32
- export interface VisualSlotSpec {
33
- /** e.g. "product-ui-hero → Image" — ties the slot to a real section field (BRIEF-HANDOVER §3). */
34
- slot: string;
35
- /** Free text: what the image shows. */
36
- intent: string;
37
- source: VisualSource;
38
- /** Exact library key when the brief knows it, e.g. "agentImageMap: outbound-prospector". */
39
- assetRef?: string;
40
- }
41
- export type VisualResolutionStatus = 'resolved' | 'placeholder' | 'gap';
42
- export interface VisualResolution {
43
- slot: string;
44
- status: VisualResolutionStatus;
45
- tier: 1 | 2 | 3 | 4 | 5 | 6;
46
- /** Always present — why this outcome, so a reviewer never has to guess. */
47
- detail: string;
48
- /**
49
- * status === 'resolved'. A local disk path for tiers 1/3 (still needs upload-assets.ts before
50
- * it's usable in a sent email), or an already-hosted https:// Cloudinary URL for tier 5 (the
51
- * stock library — no further upload step needed, use it in the HTML as-is).
52
- */
53
- assetPath?: string;
54
- /** status === 'placeholder' */
55
- placeholderSvg?: string;
56
- placeholderComment?: string;
57
- /** status === 'placeholder': the `email:placeholder` command that renders it labelled, on an approved tint. */
58
- placeholderCommand?: string;
59
- /** status === 'gap' */
60
- gapReason?: string;
61
- }
62
- export type { SlotShape };
63
- /**
64
- * A slot's rough layout shape — derived automatically from the slot spec, never hand-authored in
65
- * a brief. `slot` is formatted "<section/touchpoint> → <field label>" (e.g. "product-ui-hero →
66
- * Image", "tp1a-library → hero image"), so a keyword search over it catches both a literal
67
- * section-component name and a free-text touchpoint field label. Passed to findStockLibraryEntry
68
- * as a stage-2 tie-breaker only (see stock-library-map.ts) — it never gates a match on its own.
69
- */
70
- export declare function deriveSlotShape(spec: VisualSlotSpec): SlotShape;
71
- /**
72
- * Tier 5 by name (K10 EM-6): a brief that already knows the stock image names it in `assetRef` —
73
- * `stock: <slug>`, `asset/<slug>`, the bare slug, the entry name, its file name or its Cloudinary URL.
74
- * An exact key wins. A partial slug (`ai-work-management-hero` also prefixes `…-hero-alt`) or a
75
- * name shared by several entries is a tie, broken deterministically — never by catalogue order:
76
- * 1. more of the entry's tags named in `intent`, 2. aspect fits the slot shape, 3. shorter slug,
77
- * 4. slug A→Z.
78
- * No entry matches the ref → null, and the resolver falls back to the intent search.
79
- */
80
- export declare function findStockEntryByRef(assetRef: string, intent: string, shape: SlotShape): {
81
- entry: StockLibraryEntry;
82
- via: 'exact' | 'tie-break';
83
- candidates: string[];
84
- } | null;
85
- /** Resolve one visual-brief slot. `campaign` scopes tier-3 local-folder lookups. */
86
- export declare function resolveVisualSlot(spec: VisualSlotSpec, campaign: string): VisualResolution;
87
- //# sourceMappingURL=visual-resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"visual-resolver.d.ts","sourceRoot":"","sources":["../../src/build/visual-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAIzE,OAAO,EAAwC,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAgClG,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;AAElG,MAAM,WAAW,cAAc;IAC7B,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAA;IACZ,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IACpB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,aAAa,GAAG,KAAK,CAAA;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,sBAAsB,CAAA;IAC9B,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,+GAA+G;IAC/G,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAiBD,YAAY,EAAE,SAAS,EAAE,CAAA;AAEzB;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CAO/D;AAkGD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf;IAAE,KAAK,EAAE,iBAAiB,CAAC;IAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CA4BvF;AAgBD,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CA4K1F"}