@clay-design-system/email 0.0.0-stage → 0.2.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 (268) hide show
  1. package/README.md +48 -2
  2. package/dist/build/asset-scoring.d.ts +48 -0
  3. package/dist/build/asset-scoring.d.ts.map +1 -0
  4. package/dist/build/asset-scoring.js +57 -0
  5. package/dist/build/asset-scoring.js.map +1 -0
  6. package/dist/build/braze-transform.d.ts +20 -0
  7. package/dist/build/braze-transform.d.ts.map +1 -0
  8. package/dist/build/braze-transform.js +26 -0
  9. package/dist/build/braze-transform.js.map +1 -0
  10. package/dist/build/catalog.d.ts +25 -0
  11. package/dist/build/catalog.d.ts.map +1 -0
  12. package/dist/build/catalog.js +3 -0
  13. package/dist/build/catalog.js.map +1 -0
  14. package/dist/build/cloudinary-env.d.ts +15 -0
  15. package/dist/build/cloudinary-env.d.ts.map +1 -0
  16. package/dist/build/cloudinary-env.js +36 -0
  17. package/dist/build/cloudinary-env.js.map +1 -0
  18. package/dist/build/cloudinary-manifest.d.ts +33 -0
  19. package/dist/build/cloudinary-manifest.d.ts.map +1 -0
  20. package/dist/build/cloudinary-manifest.js +36 -0
  21. package/dist/build/cloudinary-manifest.js.map +1 -0
  22. package/dist/build/compile.d.ts +11 -0
  23. package/dist/build/compile.d.ts.map +1 -0
  24. package/dist/build/compile.js +234 -0
  25. package/dist/build/compile.js.map +1 -0
  26. package/dist/build/email-config.d.ts +26 -0
  27. package/dist/build/email-config.d.ts.map +1 -0
  28. package/dist/build/email-config.js +17 -0
  29. package/dist/build/email-config.js.map +1 -0
  30. package/dist/build/email-list.d.ts +6 -0
  31. package/dist/build/email-list.d.ts.map +1 -0
  32. package/dist/build/email-list.js +17 -0
  33. package/dist/build/email-list.js.map +1 -0
  34. package/dist/build/email-tree.d.ts +23 -0
  35. package/dist/build/email-tree.d.ts.map +1 -0
  36. package/dist/build/email-tree.js +46 -0
  37. package/dist/build/email-tree.js.map +1 -0
  38. package/dist/build/export-braze.d.ts +22 -0
  39. package/dist/build/export-braze.d.ts.map +1 -0
  40. package/dist/build/export-braze.js +92 -0
  41. package/dist/build/export-braze.js.map +1 -0
  42. package/dist/build/generate-stock-library-map.d.ts +13 -0
  43. package/dist/build/generate-stock-library-map.d.ts.map +1 -0
  44. package/dist/build/generate-stock-library-map.js +202 -0
  45. package/dist/build/generate-stock-library-map.js.map +1 -0
  46. package/dist/build/icon-registry-map.d.ts +34 -0
  47. package/dist/build/icon-registry-map.d.ts.map +1 -0
  48. package/dist/build/icon-registry-map.js +44 -0
  49. package/dist/build/icon-registry-map.js.map +1 -0
  50. package/dist/build/import-examples.d.ts +14 -0
  51. package/dist/build/import-examples.d.ts.map +1 -0
  52. package/dist/build/import-examples.js +65 -0
  53. package/dist/build/import-examples.js.map +1 -0
  54. package/dist/build/persona-character-map.d.ts +32 -0
  55. package/dist/build/persona-character-map.d.ts.map +1 -0
  56. package/dist/build/persona-character-map.js +90 -0
  57. package/dist/build/persona-character-map.js.map +1 -0
  58. package/dist/build/stock-library-map.d.ts +57 -0
  59. package/dist/build/stock-library-map.d.ts.map +1 -0
  60. package/dist/build/stock-library-map.js +1261 -0
  61. package/dist/build/stock-library-map.js.map +1 -0
  62. package/dist/build/upload-assets.d.ts +20 -0
  63. package/dist/build/upload-assets.d.ts.map +1 -0
  64. package/dist/build/upload-assets.js +153 -0
  65. package/dist/build/upload-assets.js.map +1 -0
  66. package/dist/build/upload-library-assets.d.ts +21 -0
  67. package/dist/build/upload-library-assets.d.ts.map +1 -0
  68. package/dist/build/upload-library-assets.js +182 -0
  69. package/dist/build/upload-library-assets.js.map +1 -0
  70. package/dist/build/visual-resolver.d.ts +70 -0
  71. package/dist/build/visual-resolver.d.ts.map +1 -0
  72. package/dist/build/visual-resolver.js +375 -0
  73. package/dist/build/visual-resolver.js.map +1 -0
  74. package/dist/catalog.json +467 -0
  75. package/dist/emails/component-buttons-icons.html +435 -0
  76. package/dist/emails/component-buttons-integration.html +256 -0
  77. package/dist/emails/component-buttons-primary.html +269 -0
  78. package/dist/emails/component-buttons-secondary.html +255 -0
  79. package/dist/emails/component-buttons-two-integrations.html +310 -0
  80. package/dist/emails/component-images-card-280h.html +281 -0
  81. package/dist/emails/component-images-card-320h.html +281 -0
  82. package/dist/emails/component-images-card.html +281 -0
  83. package/dist/emails/component-images-full-bleed-280h.html +279 -0
  84. package/dist/emails/component-images-full-bleed-400h.html +279 -0
  85. package/dist/emails/component-images-full-bleed.html +279 -0
  86. package/dist/emails/component-text-h1.html +254 -0
  87. package/dist/emails/component-text-h2.html +230 -0
  88. package/dist/emails/component-text-h3.html +255 -0
  89. package/dist/emails/component-text-h4.html +255 -0
  90. package/dist/emails/component-text-h5.html +254 -0
  91. package/dist/emails/component-text-p2.html +253 -0
  92. package/dist/emails/component-text-p3.html +254 -0
  93. package/dist/emails/component-text-p4.html +254 -0
  94. package/dist/emails/container.html +250 -0
  95. package/dist/emails/section-changelog-icon-list.html +1201 -0
  96. package/dist/emails/section-divider-line.html +340 -0
  97. package/dist/emails/section-feature-highlight-reversed.html +377 -0
  98. package/dist/emails/section-feature-highlight.html +384 -0
  99. package/dist/emails/section-feature-rows.html +328 -0
  100. package/dist/emails/section-feature-story-row-reversed.html +381 -0
  101. package/dist/emails/section-feature-story-row.html +382 -0
  102. package/dist/emails/section-footer-lifecycle.html +650 -0
  103. package/dist/emails/section-footer-two-column-minimal.html +318 -0
  104. package/dist/emails/section-footer.html +413 -0
  105. package/dist/emails/section-header.html +290 -0
  106. package/dist/emails/section-hero.html +276 -0
  107. package/dist/emails/section-icon-feature-list.html +554 -0
  108. package/dist/emails/section-image-caption-block.html +313 -0
  109. package/dist/emails/section-image-hero.html +341 -0
  110. package/dist/emails/section-lesson-card.html +628 -0
  111. package/dist/emails/section-list-action-items.html +590 -0
  112. package/dist/emails/section-list-feature-items.html +713 -0
  113. package/dist/emails/section-list-icon-items.html +701 -0
  114. package/dist/emails/section-list-numbered-items.html +733 -0
  115. package/dist/emails/section-logo-header.html +288 -0
  116. package/dist/emails/section-newsletter-hero.html +393 -0
  117. package/dist/emails/section-product-ui-hero.html +496 -0
  118. package/dist/emails/section-promo-banner.html +308 -0
  119. package/dist/emails/section-qa-block.html +440 -0
  120. package/dist/emails/section-resource-link-list.html +481 -0
  121. package/dist/emails/section-signoff.html +279 -0
  122. package/dist/emails/section-single-column-author.html +453 -0
  123. package/dist/emails/section-single-column-feature-card.html +312 -0
  124. package/dist/emails/section-single-column-product-card.html +393 -0
  125. package/dist/emails/section-single-column-promo-card.html +306 -0
  126. package/dist/emails/section-spacer-fill.html +281 -0
  127. package/dist/emails/section-testimonial-dark-card.html +363 -0
  128. package/dist/emails/section-text-h1-regular.html +254 -0
  129. package/dist/emails/section-text-h2-regular.html +254 -0
  130. package/dist/emails/section-text-h3-regular.html +254 -0
  131. package/dist/emails/section-text-h4-regular.html +254 -0
  132. package/dist/emails/section-text-h5-regular.html +254 -0
  133. package/dist/emails/section-text-mixed-heading.html +269 -0
  134. package/dist/emails/section-text-overline-heading.html +281 -0
  135. package/dist/emails/section-text-p1-bold.html +254 -0
  136. package/dist/emails/section-text-p1-regular.html +255 -0
  137. package/dist/emails/section-text-paragraph.html +358 -0
  138. package/dist/emails/section-text-quote-card.html +269 -0
  139. package/dist/emails/section-text-quote.html +313 -0
  140. package/dist/emails/section-text-small-headline.html +279 -0
  141. package/dist/emails/section-three-column-content-cards.html +499 -0
  142. package/dist/emails/section-three-column-icon-cards.html +510 -0
  143. package/dist/emails/section-three-column-image-grid.html +466 -0
  144. package/dist/emails/section-three-up-icon-benefits.html +464 -0
  145. package/dist/emails/section-two-column-feature-cards.html +708 -0
  146. package/dist/emails/section-two-column-grid.html +1131 -0
  147. package/dist/emails/section-two-column-img-text.html +331 -0
  148. package/dist/emails/section-two-column-live-tags.html +367 -0
  149. package/dist/emails/section-two-column-stacked.html +629 -0
  150. package/dist/emails/section-upsell-cta.html +597 -0
  151. package/dist/emails/section-value-bullet-list.html +313 -0
  152. package/dist/examples/manifest.d.ts +21 -0
  153. package/dist/examples/manifest.d.ts.map +1 -0
  154. package/dist/examples/manifest.js +84 -0
  155. package/dist/examples/manifest.js.map +1 -0
  156. package/dist/exports/contact-sales/Images/Contact_sales_Image_16f4175c-d08c-43f6-9d4c-a0606383271d.png +0 -0
  157. package/dist/exports/contact-sales/Images/Contact_sales_Image_659b3091-1da9-40c2-86b0-04250982e529.png +0 -0
  158. package/dist/exports/contact-sales/Images/Contact_sales_Image_79c651f4-5f0f-4a7f-8354-1f6f95ae86d9.png +0 -0
  159. package/dist/exports/contact-sales/index.braze.html +837 -0
  160. package/dist/exports/contact-sales/index.html +837 -0
  161. package/dist/exports/event-confirmation/Images/Confirmation_Image_11938de2-4161-4ae8-8969-90ea0d8b45cb.png +0 -0
  162. package/dist/exports/event-confirmation/Images/Confirmation_Image_3c52e81f-5d4f-452c-bad1-0471a27598f1.png +0 -0
  163. package/dist/exports/event-confirmation/Images/Confirmation_Image_3ec1fec8-bf46-4068-8835-633567a715f9.png +0 -0
  164. package/dist/exports/event-confirmation/Images/Confirmation_Image_c4980c01-c270-4384-a56c-0bae74814cf9.png +0 -0
  165. package/dist/exports/event-confirmation/Images/Confirmation_Image_cde93e8c-0f96-434d-acaf-1b86503c66f0.png +0 -0
  166. package/dist/exports/event-confirmation/index.braze.html +1055 -0
  167. package/dist/exports/event-confirmation/index.html +1055 -0
  168. package/dist/exports/legal-update/Images/v2_Image_07bbcc13-0ab8-46e4-ab94-98f215f85f69.png +0 -0
  169. package/dist/exports/legal-update/Images/v2_Image_34394d50-acdf-4375-b254-eef1f84aaacb.png +0 -0
  170. package/dist/exports/legal-update/Images/v2_Image_4a25f2bd-6270-439b-86c5-4a968a1b104f.png +0 -0
  171. package/dist/exports/legal-update/Images/v2_Image_7e8e814f-3112-4d8c-af5b-4f4616d84d9c.png +0 -0
  172. package/dist/exports/legal-update/Images/v2_Image_b24a04c8-4af0-42a1-be0f-cd3f66595e47.png +0 -0
  173. package/dist/exports/legal-update/Images/v2_Image_b709b9fb-836e-4c20-82e5-a9cb9d702392.png +0 -0
  174. package/dist/exports/legal-update/Images/v2_Image_ed7b924b-35e6-4536-be0c-92ddc8a34fc2.png +0 -0
  175. package/dist/exports/legal-update/index.braze.html +1731 -0
  176. package/dist/exports/legal-update/index.html +1731 -0
  177. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_09be22f6-1f30-4c58-bf33-1df0494b8fc2.png +0 -0
  178. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_2dfb595e-6fe2-4e6e-a73a-942a085b38ab.png +0 -0
  179. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_544c971b-b4b5-4c89-a25a-8f0d92644009.png +0 -0
  180. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_5b6a9576-1c33-40c5-81e3-637514fb6c78.png +0 -0
  181. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_680c6193-793a-4a24-8288-4bb4046f4f5e.png +0 -0
  182. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_75818ba9-026a-45d7-91e4-f992d4ee7690.png +0 -0
  183. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_785f18e6-816d-44d1-8efb-ecc82510b540.png +0 -0
  184. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_8bf9141d-9d63-4601-9e81-5c9d726e17f8.png +0 -0
  185. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_9097d6e0-65d0-4237-9661-963751812786.png +0 -0
  186. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_a4ef2f53-2eaf-438a-bfef-61455ac0915e.png +0 -0
  187. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_b7748f87-a7b7-4a91-981a-16567683e4b4.png +0 -0
  188. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_bc9830a4-2911-4768-808a-32cbbc39215e.png +0 -0
  189. package/dist/exports/newsletter/Images/Status_update_-_July_26_Image_ef0e8e92-9075-43a9-991f-09a77ef6d6d4.png +0 -0
  190. package/dist/exports/newsletter/index.braze.html +125 -0
  191. package/dist/exports/newsletter/index.html +125 -0
  192. package/dist/exports/newsletter-ai-june-july/Images/newsletter-ai-blocks.png +0 -0
  193. package/dist/exports/newsletter-ai-june-july/Images/newsletter-ai-hero-mcp.png +0 -0
  194. package/dist/exports/newsletter-ai-june-july/Images/newsletter-ai-magic.png +0 -0
  195. package/dist/exports/newsletter-ai-june-july/Images/newsletter-ai-mcp.png +0 -0
  196. package/dist/exports/newsletter-ai-june-july/Images/newsletter-ai-portfolio.png +0 -0
  197. package/dist/exports/newsletter-ai-june-july/index.braze.html +1640 -0
  198. package/dist/exports/newsletter-ai-june-july/index.html +1640 -0
  199. package/dist/exports/survey/Images/EmailLove_Image_3b6f4a6f-7f5f-418b-be71-9371b25c20ce.png +0 -0
  200. package/dist/exports/survey/Images/EmailLove_Image_f659c728-2401-485d-8d90-98c962d28c0c.png +0 -0
  201. package/dist/exports/survey/index.braze.html +515 -0
  202. package/dist/exports/survey/index.html +515 -0
  203. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Before_115ccc58-a47f-4eca-a1f2-c0d86e1e1cf4.png +0 -0
  204. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Before_aec4d0d3-6057-4b8a-8d8f-46fbd024f182.png +0 -0
  205. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Before_d139966a-6051-4383-bf8f-1e5138e1b030.png +0 -0
  206. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Image_080fa361-a3f2-4593-9ac0-03cf3a7972ff.png +0 -0
  207. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Image_5ebade34-8f1d-4c2c-9d27-5f9e843ce502.png +0 -0
  208. package/dist/exports/trial-01-welcome/Images/tp1_-_welcome_Image_aa5e4144-9ec8-4525-b01e-077d72f0bab6.png +0 -0
  209. package/dist/exports/trial-01-welcome/index.braze.html +941 -0
  210. package/dist/exports/trial-01-welcome/index.html +941 -0
  211. package/dist/exports/trial-02/Images/tp2_Image_5b0d9bc4-2e38-4252-8f20-d9f27d471c21.png +0 -0
  212. package/dist/exports/trial-02/Images/tp2_Image_b3f77c7c-cc8e-4db8-a5d9-072f4f621e72.png +0 -0
  213. package/dist/exports/trial-02/Images/tp2_Image_cafd1a17-1915-47cd-80f2-1c2d0b133cfe.png +0 -0
  214. package/dist/exports/trial-02/index.braze.html +923 -0
  215. package/dist/exports/trial-02/index.html +923 -0
  216. package/dist/exports/trial-03/Images/tp3_Image_1b96630c-fc4d-4aec-91fb-3c1d4d8544b3.png +0 -0
  217. package/dist/exports/trial-03/Images/tp3_Image_58f3a342-2193-4b5c-b30a-96f7f3338dd8.png +0 -0
  218. package/dist/exports/trial-03/Images/tp3_Image_6c4f307a-bac2-40e7-b4f1-9aa623c9eb8e.png +0 -0
  219. package/dist/exports/trial-03/Images/tp3_Image_848917ce-3f89-4538-a826-558b21f5fea7.png +0 -0
  220. package/dist/exports/trial-03/Images/tp3_Image_aae8410f-556f-4fb9-88f9-f276d75bafd2.png +0 -0
  221. package/dist/exports/trial-03/Images/tp3_Image_b4d5be39-509e-4f22-9601-dd070e4c6561.png +0 -0
  222. package/dist/exports/trial-03/index.braze.html +1129 -0
  223. package/dist/exports/trial-03/index.html +1129 -0
  224. package/dist/exports/trial-04/Images/tp4_Image_03bd5a56-25e3-4dcc-bef5-143bf12312d5.png +0 -0
  225. package/dist/exports/trial-04/Images/tp4_Image_0facbfca-b735-4199-a0d9-05a59341a1e3.gif +0 -0
  226. package/dist/exports/trial-04/Images/tp4_Image_171cee5f-cd3d-42f0-a180-995893d3742a.png +0 -0
  227. package/dist/exports/trial-04/Images/tp4_Image_3509d89d-1825-4817-8c1e-130fa294d0e1.png +0 -0
  228. package/dist/exports/trial-04/Images/tp4_Image_763a0f40-2985-4140-859b-ddd34f20a520.png +0 -0
  229. package/dist/exports/trial-04/Images/tp4_Image_cc2db4f5-b41d-45d7-a798-7a79e7b8d4d8.png +0 -0
  230. package/dist/exports/trial-04/index.braze.html +885 -0
  231. package/dist/exports/trial-04/index.html +885 -0
  232. package/dist/exports/trial-05/Images/tp5_Image_0248a517-5c60-4e84-ad1c-449dcf4f6a64.png +0 -0
  233. package/dist/exports/trial-05/Images/tp5_Image_4c1a2d5a-47d3-4801-bb3a-01c22decc108.png +0 -0
  234. package/dist/exports/trial-05/Images/tp5_Image_63ae77e7-cec7-4b4a-91e0-603b5a80929f.png +0 -0
  235. package/dist/exports/trial-05/Images/tp5_Image_7aa43530-6707-4308-ab0e-e4c38fc1b77d.png +0 -0
  236. package/dist/exports/trial-05/Images/tp5_Image_7efe5b6d-b360-4179-bee1-72908ba569bc.png +0 -0
  237. package/dist/exports/trial-05/Images/tp5_Image_b142bd84-c40a-4a29-b9d5-715b52fdd937.png +0 -0
  238. package/dist/exports/trial-05/Images/tp5_Image_c0c896ea-5b68-4f58-9e27-cdb4a1f1b438.png +0 -0
  239. package/dist/exports/trial-05/index.braze.html +1023 -0
  240. package/dist/exports/trial-05/index.html +1023 -0
  241. package/dist/exports/trial-06/Images/tp6_Image_2267a268-8a80-4e0d-8813-d4c75dbab6f2.png +0 -0
  242. package/dist/exports/trial-06/Images/tp6_Image_637a97b7-837e-478d-8ed1-6e8c2739fdc7.png +0 -0
  243. package/dist/exports/trial-06/Images/tp6_Image_a78df270-ad6f-41e6-8822-ba8ec38313a3.png +0 -0
  244. package/dist/exports/trial-06/index.braze.html +773 -0
  245. package/dist/exports/trial-06/index.html +773 -0
  246. package/dist/exports/winback/Images/_managers_Image_4587ac22-460c-487a-bc37-9dbc487e95a4.png +0 -0
  247. package/dist/exports/winback/Images/_managers_Image_8a77ec2c-ed49-480d-a1a1-7a38abad232a.png +0 -0
  248. package/dist/exports/winback/Images/_managers_Image_bb643775-8a2f-4e28-9dfb-6d1838c3561f.png +0 -0
  249. package/dist/exports/winback/Images/_managers_Image_f7d1bca5-0fcb-4d4c-abcd-40ce2d453b07.png +0 -0
  250. package/dist/exports/winback/index.braze.html +605 -0
  251. package/dist/exports/winback/index.html +605 -0
  252. package/dist/generated/email-tokens.d.ts +101 -0
  253. package/dist/generated/email-tokens.d.ts.map +1 -0
  254. package/dist/generated/email-tokens.js +104 -0
  255. package/dist/generated/email-tokens.js.map +1 -0
  256. package/dist/index.d.ts +9 -0
  257. package/dist/index.d.ts.map +1 -0
  258. package/dist/index.js +8 -0
  259. package/dist/index.js.map +1 -0
  260. package/dist/tokens/build-email-assets.d.ts +19 -0
  261. package/dist/tokens/build-email-assets.d.ts.map +1 -0
  262. package/dist/tokens/build-email-assets.js +186 -0
  263. package/dist/tokens/build-email-assets.js.map +1 -0
  264. package/dist/tokens/build-email-tokens.d.ts +17 -0
  265. package/dist/tokens/build-email-tokens.d.ts.map +1 -0
  266. package/dist/tokens/build-email-tokens.js +229 -0
  267. package/dist/tokens/build-email-tokens.js.map +1 -0
  268. package/package.json +41 -3
@@ -0,0 +1,1261 @@
1
+ /**
2
+ * GENERATED FILE — do not hand-edit. Regenerate via:
3
+ * pnpm --filter @clay-design-system/email library:generate-map
4
+ * Source: stock-library-source.csv (75 rows with a live cloudinary_url).
5
+ *
6
+ * The Cloudinary-hosted stock-image library (D5, board item Clay Lifecycle D5.5) — a tier
7
+ * visual-resolver.ts can search when a visual-brief slot's intent names a specific scene this
8
+ * bank already has (e.g. "Agile Dashboard with Kanban view"), before falling to a generic
9
+ * placeholder. Committed as generated TS (not read live from Cloudinary) so
10
+ * visual-resolver.test.ts stays CI-safe without live credentials — same reasoning as
11
+ * persona-character-map.ts.
12
+ */
13
+ import { containsWord, pickRankedMatch, SHAPE_ACCEPTABLE_RATIOS } from './asset-scoring';
14
+ export const STOCK_LIBRARY = [
15
+ {
16
+ id: 'asset/g2-review-cta-banner',
17
+ slug: 'g2-review-cta-banner',
18
+ name: 'G2 Review Request Banner',
19
+ description: 'A promotional banner asking users to leave a review on monday.com\'s G2 listing for a $25 gift card, with a "Leave a review" button and the G2 logo set against a bold geometric background.',
20
+ tags: ['review', 'cta', 'banner', 'card', 'campaign', 'marketing'],
21
+ tagForm: 'card',
22
+ tagContext: 'campaign',
23
+ useCaseDomain: 'Marketing',
24
+ width: 1120,
25
+ height: 400,
26
+ aspectRatioLabel: 'super wide',
27
+ localFile: 'g2-review-cta-banner.png',
28
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786974928/lifecycle/library/email-assets/g2-review-cta-banner.png',
29
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24154',
30
+ },
31
+ {
32
+ id: 'asset/elevate26-event-banner',
33
+ slug: 'elevate26-event-banner',
34
+ name: 'Elevate26 Event Banner',
35
+ description: 'An event promo banner for monday.com\'s Elevate26 conference in NYC and London, featuring the monday.com logo over a colorful geometric background.',
36
+ tags: ['elevate26', 'event', 'banner', 'card', 'campaign', 'marketing'],
37
+ tagForm: 'card',
38
+ tagContext: 'campaign',
39
+ useCaseDomain: 'Marketing',
40
+ width: 1280,
41
+ height: 345.6,
42
+ aspectRatioLabel: 'super wide',
43
+ localFile: 'elevate26-event-banner.png',
44
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786974928/lifecycle/library/email-assets/elevate26-event-banner.png',
45
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24168',
46
+ },
47
+ {
48
+ id: 'asset/ai-work-management-hero',
49
+ slug: 'ai-work-management-hero',
50
+ name: 'AI Work Management Platform Hero',
51
+ description: 'A marketing hero banner for monday.com\'s AI work management platform, showing an illustrated ops mascot beside a live board view (task table with status and priority columns) and a floating agent chat callout.',
52
+ tags: ['work', 'management', 'hero', 'dashboard', 'project', 'general'],
53
+ tagForm: 'dashboard',
54
+ tagContext: 'project',
55
+ useCaseDomain: 'General',
56
+ width: 1280,
57
+ height: 476,
58
+ aspectRatioLabel: 'super wide',
59
+ localFile: 'ai-work-management-hero.png',
60
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786974929/lifecycle/library/email-assets/ai-work-management-hero.png',
61
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-18742',
62
+ },
63
+ {
64
+ id: 'asset/ai-work-management-hero-alt',
65
+ slug: 'ai-work-management-hero-alt',
66
+ name: 'AI Work Management Platform Hero Alt',
67
+ description: 'An alternate-style hero banner for the same AI work management platform positioning, showing a different illustrated scene paired with a live report view and an agent chat callout.',
68
+ tags: ['work', 'management', 'hero', 'alt', 'dashboard', 'project', 'general'],
69
+ tagForm: 'dashboard',
70
+ tagContext: 'project',
71
+ useCaseDomain: 'General',
72
+ width: 1280,
73
+ height: 500,
74
+ aspectRatioLabel: 'super wide',
75
+ localFile: 'ai-work-management-hero-alt.png',
76
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786974929/lifecycle/library/email-assets/ai-work-management-hero-alt.png',
77
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-21335',
78
+ },
79
+ {
80
+ id: 'asset/team-working-illustration',
81
+ slug: 'team-working-illustration',
82
+ name: 'Team Working Illustration',
83
+ description: 'A brand illustration of two colleagues at work — one standing with a phone showing an analytics chat notification, one seated at a desk with a "done ✓" chat bubble overlay.',
84
+ tags: ['team', 'working', 'illustration', 'image-preview', 'campaign', 'marketing'],
85
+ tagForm: 'image-preview',
86
+ tagContext: 'campaign',
87
+ useCaseDomain: 'Marketing',
88
+ width: 1536.35546875,
89
+ height: 1152.2664794921875,
90
+ aspectRatioLabel: 'wide',
91
+ localFile: 'team-working-illustration.png',
92
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786974929/lifecycle/library/email-assets/team-working-illustration.png',
93
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-30402',
94
+ },
95
+ {
96
+ id: 'asset/chat-notification-sticker',
97
+ slug: 'chat-notification-sticker',
98
+ name: 'Chat Notification Sticker',
99
+ description: 'A small standalone chat/notification graphic — a speech bubble with text lines and a green smiley icon, matching the "done" bubble style used across Moshe\'s email illustrations.',
100
+ tags: ['chat', 'notification', 'sticker', 'bubble', 'campaign', 'marketing'],
101
+ tagForm: 'bubble',
102
+ tagContext: 'campaign',
103
+ useCaseDomain: 'Marketing',
104
+ width: 457.60302734375,
105
+ height: 350.60546875,
106
+ aspectRatioLabel: 'wide',
107
+ localFile: 'chat-notification-sticker.png',
108
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975030/lifecycle/library/email-assets/chat-notification-sticker.png',
109
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-30404',
110
+ },
111
+ {
112
+ id: 'asset/making-ai-work-webinar-promo',
113
+ slug: 'making-ai-work-webinar-promo',
114
+ name: 'Making AI Work Webinar Promo',
115
+ description: 'A square promo tile for the "Making AI Work" webinar series, July edition, with a play button and a gradient rainbow accent.',
116
+ tags: ['making', 'work', 'webinar', 'promo', 'card', 'campaign', 'marketing'],
117
+ tagForm: 'card',
118
+ tagContext: 'campaign',
119
+ useCaseDomain: 'Marketing',
120
+ width: 320,
121
+ height: 320,
122
+ aspectRatioLabel: 'square',
123
+ localFile: 'making-ai-work-webinar-promo.png',
124
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975030/lifecycle/library/email-assets/making-ai-work-webinar-promo.png',
125
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-30413',
126
+ },
127
+ {
128
+ id: 'asset/competitor-researcher-card',
129
+ slug: 'competitor-researcher-card',
130
+ name: 'Competitor Researcher Card',
131
+ description: 'An agent feature card for "Competitor Researcher," which tracks competitors 24/7, showing a Slack-style notification about new competitor intelligence.',
132
+ tags: ['competitor', 'researcher', 'card', 'marketing'],
133
+ tagForm: 'card',
134
+ tagContext: 'competitor',
135
+ useCaseDomain: 'Marketing',
136
+ width: 286,
137
+ height: 350,
138
+ aspectRatioLabel: 'square',
139
+ localFile: 'competitor-researcher-card.png',
140
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975030/lifecycle/library/email-assets/competitor-researcher-card.png',
141
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24433',
142
+ },
143
+ {
144
+ id: 'asset/content-creator-card',
145
+ slug: 'content-creator-card',
146
+ name: 'Content Creator Card',
147
+ description: 'An agent feature card for "Content Creator," which drafts posts in your brand voice, showing a LinkedIn post draft notification.',
148
+ tags: ['content', 'creator', 'card', 'campaign', 'marketing'],
149
+ tagForm: 'card',
150
+ tagContext: 'campaign',
151
+ useCaseDomain: 'Marketing',
152
+ width: 286,
153
+ height: 350,
154
+ aspectRatioLabel: 'square',
155
+ localFile: 'content-creator-card.png',
156
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975030/lifecycle/library/email-assets/content-creator-card.png',
157
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24518',
158
+ },
159
+ {
160
+ id: 'asset/performance-analyst-card',
161
+ slug: 'performance-analyst-card',
162
+ name: 'Performance Analyst Card',
163
+ description: 'An agent feature card for "Performance Analyst," which spots wasted budget, showing a budget-shift recommendation and performance chart.',
164
+ tags: ['performance', 'analyst', 'card', 'campaign', 'marketing'],
165
+ tagForm: 'card',
166
+ tagContext: 'campaign',
167
+ useCaseDomain: 'Marketing',
168
+ width: 286,
169
+ height: 350,
170
+ aspectRatioLabel: 'square',
171
+ localFile: 'performance-analyst-card.png',
172
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975031/lifecycle/library/email-assets/performance-analyst-card.png',
173
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24580',
174
+ },
175
+ {
176
+ id: 'asset/sprint-planner-card',
177
+ slug: 'sprint-planner-card',
178
+ name: 'Sprint Planner Card',
179
+ description: 'An agent feature card for "Sprint Planner," which builds realistic sprints, showing a proposed sprint scope with story points.',
180
+ tags: ['sprint', 'planner', 'card', 'project', 'pmo'],
181
+ tagForm: 'card',
182
+ tagContext: 'project',
183
+ useCaseDomain: 'PMO',
184
+ width: 286,
185
+ height: 350,
186
+ aspectRatioLabel: 'square',
187
+ localFile: 'sprint-planner-card.png',
188
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975031/lifecycle/library/email-assets/sprint-planner-card.png',
189
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24642',
190
+ },
191
+ {
192
+ id: 'asset/bug-prioritizer-card',
193
+ slug: 'bug-prioritizer-card',
194
+ name: 'Bug Prioritizer Card',
195
+ description: 'An agent feature card for "Bug Prioritizer," which separates critical bugs from noise, showing a bug categorization notification.',
196
+ tags: ['bug', 'prioritizer', 'card', 'project', 'it'],
197
+ tagForm: 'card',
198
+ tagContext: 'project',
199
+ useCaseDomain: 'IT',
200
+ width: 286,
201
+ height: 350,
202
+ aspectRatioLabel: 'square',
203
+ localFile: 'bug-prioritizer-card.png',
204
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975032/lifecycle/library/email-assets/bug-prioritizer-card.png',
205
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24710',
206
+ },
207
+ {
208
+ id: 'asset/spec-writer-card',
209
+ slug: 'spec-writer-card',
210
+ name: 'Spec Writer Card',
211
+ description: 'An agent feature card for "Spec Writer," which builds specs automatically, showing a meeting-transcript-to-spec notification with a linked spec sheet.',
212
+ tags: ['spec', 'writer', 'card', 'project', 'pmo'],
213
+ tagForm: 'card',
214
+ tagContext: 'project',
215
+ useCaseDomain: 'PMO',
216
+ width: 286,
217
+ height: 350,
218
+ aspectRatioLabel: 'square',
219
+ localFile: 'spec-writer-card.png',
220
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975032/lifecycle/library/email-assets/spec-writer-card.png',
221
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24786',
222
+ },
223
+ {
224
+ id: 'asset/intake-triage-expert-card',
225
+ slug: 'intake-triage-expert-card',
226
+ name: 'Intake Triage Expert Card',
227
+ description: 'An agent feature card for "Intake & Triage Expert," which solves tickets automatically, showing ticket review and triage stats.',
228
+ tags: ['intake', 'triage', 'expert', 'card', 'customer', 'it'],
229
+ tagForm: 'card',
230
+ tagContext: 'customer',
231
+ useCaseDomain: 'IT',
232
+ width: 286,
233
+ height: 350,
234
+ aspectRatioLabel: 'square',
235
+ localFile: 'intake-triage-expert-card.png',
236
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975032/lifecycle/library/email-assets/intake-triage-expert-card.png',
237
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24203',
238
+ },
239
+ {
240
+ id: 'asset/knowledge-expert-card',
241
+ slug: 'knowledge-expert-card',
242
+ name: 'Knowledge Expert Card',
243
+ description: 'An agent feature card for "Knowledge Expert," which turns tickets into knowledge, showing a detected-pattern notification with a linked guide.',
244
+ tags: ['knowledge', 'expert', 'card', 'customer', 'it'],
245
+ tagForm: 'card',
246
+ tagContext: 'customer',
247
+ useCaseDomain: 'IT',
248
+ width: 286,
249
+ height: 350,
250
+ aspectRatioLabel: 'square',
251
+ localFile: 'knowledge-expert-card.png',
252
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975032/lifecycle/library/email-assets/knowledge-expert-card.png',
253
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24255',
254
+ },
255
+ {
256
+ id: 'asset/incident-detector-card',
257
+ slug: 'incident-detector-card',
258
+ name: 'Incident Detector Card',
259
+ description: 'An agent feature card for "Incident Detector," which detects outages instantly, showing a critical-incident paging notification.',
260
+ tags: ['incident', 'detector', 'card', 'project', 'it'],
261
+ tagForm: 'card',
262
+ tagContext: 'project',
263
+ useCaseDomain: 'IT',
264
+ width: 286,
265
+ height: 350,
266
+ aspectRatioLabel: 'square',
267
+ localFile: 'incident-detector-card.png',
268
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975033/lifecycle/library/email-assets/incident-detector-card.png',
269
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24329',
270
+ },
271
+ {
272
+ id: 'asset/candidate-sourcer-card',
273
+ slug: 'candidate-sourcer-card',
274
+ name: 'Candidate Sourcer Card',
275
+ description: 'An agent feature card for "Candidate Sourcer," which finds talent fast, showing a shortlist-generated notification with a candidate table.',
276
+ tags: ['candidate', 'sourcer', 'card', 'hr'],
277
+ tagForm: 'card',
278
+ tagContext: 'candidate',
279
+ useCaseDomain: 'HR',
280
+ width: 286,
281
+ height: 350,
282
+ aspectRatioLabel: 'square',
283
+ localFile: 'candidate-sourcer-card.png',
284
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975033/lifecycle/library/email-assets/candidate-sourcer-card.png',
285
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25077',
286
+ },
287
+ {
288
+ id: 'asset/interview-scheduler-card',
289
+ slug: 'interview-scheduler-card',
290
+ name: 'Interview Scheduler Card',
291
+ description: 'An agent feature card for "Interview Scheduler," which syncs every calendar, showing a scheduled-interviews notification with a calendar view.',
292
+ tags: ['interview', 'scheduler', 'card', 'candidate', 'hr'],
293
+ tagForm: 'card',
294
+ tagContext: 'candidate',
295
+ useCaseDomain: 'HR',
296
+ width: 286,
297
+ height: 350,
298
+ aspectRatioLabel: 'square',
299
+ localFile: 'interview-scheduler-card.png',
300
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975033/lifecycle/library/email-assets/interview-scheduler-card.png',
301
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25191',
302
+ },
303
+ {
304
+ id: 'asset/resume-screener-card',
305
+ slug: 'resume-screener-card',
306
+ name: 'Resume Screener Card',
307
+ description: 'An agent feature card for "Resume Screener," which scores fit instantly, showing a candidate match score against an applicant CV.',
308
+ tags: ['resume', 'screener', 'card', 'candidate', 'hr'],
309
+ tagForm: 'card',
310
+ tagContext: 'candidate',
311
+ useCaseDomain: 'HR',
312
+ width: 286,
313
+ height: 350,
314
+ aspectRatioLabel: 'square',
315
+ localFile: 'resume-screener-card.png',
316
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975033/lifecycle/library/email-assets/resume-screener-card.png',
317
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25311',
318
+ },
319
+ {
320
+ id: 'asset/transcript-summarizer-card',
321
+ slug: 'transcript-summarizer-card',
322
+ name: 'Transcript Summarizer Card',
323
+ description: 'An agent feature card for "Transcript Summarizer," which extracts every action item, showing a meeting summary with decisions and action items.',
324
+ tags: ['transcript', 'summarizer', 'card', 'project', 'pmo'],
325
+ tagForm: 'card',
326
+ tagContext: 'project',
327
+ useCaseDomain: 'PMO',
328
+ width: 286,
329
+ height: 350,
330
+ aspectRatioLabel: 'square',
331
+ localFile: 'transcript-summarizer-card.png',
332
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975034/lifecycle/library/email-assets/transcript-summarizer-card.png',
333
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25380',
334
+ },
335
+ {
336
+ id: 'asset/data-quality-expert-crm-card',
337
+ slug: 'data-quality-expert-crm-card',
338
+ name: 'Data Quality Expert CRM Card',
339
+ description: 'An agent feature card for "Data Quality Expert," which cleans data while you sell, showing duplicate-contact detection in CRM records.',
340
+ tags: ['data', 'quality', 'expert', 'crm', 'card', 'customer', 'sales'],
341
+ tagForm: 'card',
342
+ tagContext: 'customer',
343
+ useCaseDomain: 'Sales',
344
+ width: 286,
345
+ height: 350,
346
+ aspectRatioLabel: 'square',
347
+ localFile: 'data-quality-expert-crm-card.png',
348
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975034/lifecycle/library/email-assets/data-quality-expert-crm-card.png',
349
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25438',
350
+ },
351
+ {
352
+ id: 'asset/data-quality-expert-deal-alerts-card',
353
+ slug: 'data-quality-expert-deal-alerts-card',
354
+ name: 'Data Quality Expert Deal Alerts Card',
355
+ description: 'A second scene for the "Data Quality Expert" agent, showing an at-risk-deals alert posted to a Slack channel.',
356
+ tags: ['data', 'quality', 'expert', 'deal', 'alerts', 'card', 'customer', 'sales'],
357
+ tagForm: 'card',
358
+ tagContext: 'customer',
359
+ useCaseDomain: 'Sales',
360
+ width: 286,
361
+ height: 350,
362
+ aspectRatioLabel: 'square',
363
+ localFile: 'data-quality-expert-deal-alerts-card.png',
364
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975034/lifecycle/library/email-assets/data-quality-expert-deal-alerts-card.png',
365
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25687',
366
+ },
367
+ {
368
+ id: 'asset/meeting-scheduler-card',
369
+ slug: 'meeting-scheduler-card',
370
+ name: 'Meeting Scheduler Card',
371
+ description: 'An agent feature card for "Meeting Scheduler," which syncs impossible calendars, showing scheduled meetings and stakeholder invites.',
372
+ tags: ['meeting', 'scheduler', 'card', 'project', 'pmo'],
373
+ tagForm: 'card',
374
+ tagContext: 'project',
375
+ useCaseDomain: 'PMO',
376
+ width: 286,
377
+ height: 350,
378
+ aspectRatioLabel: 'square',
379
+ localFile: 'meeting-scheduler-card.png',
380
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975034/lifecycle/library/email-assets/meeting-scheduler-card.png',
381
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24846',
382
+ },
383
+ {
384
+ id: 'asset/project-monitor-card',
385
+ slug: 'project-monitor-card',
386
+ name: 'Project Monitor Card',
387
+ description: 'An agent feature card for "Project Monitor," which surfaces hidden risks, showing a project portfolio status update with a breakdown chart.',
388
+ tags: ['project', 'monitor', 'card', 'pmo'],
389
+ tagForm: 'card',
390
+ tagContext: 'project',
391
+ useCaseDomain: 'PMO',
392
+ width: 286,
393
+ height: 350,
394
+ aspectRatioLabel: 'square',
395
+ localFile: 'project-monitor-card.png',
396
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975034/lifecycle/library/email-assets/project-monitor-card.png',
397
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24948',
398
+ },
399
+ {
400
+ id: 'asset/vendor-researcher-card',
401
+ slug: 'vendor-researcher-card',
402
+ name: 'Vendor Researcher Card',
403
+ description: 'An agent feature card for "Vendor Researcher," which compares every quote, showing a vendor comparison notification with a vendor list.',
404
+ tags: ['vendor', 'researcher', 'card', 'project', 'operations'],
405
+ tagForm: 'card',
406
+ tagContext: 'project',
407
+ useCaseDomain: 'Operations',
408
+ width: 286,
409
+ height: 350,
410
+ aspectRatioLabel: 'square',
411
+ localFile: 'vendor-researcher-card.png',
412
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975035/lifecycle/library/email-assets/vendor-researcher-card.png',
413
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-24985',
414
+ },
415
+ {
416
+ id: 'asset/product-agent-anthony-card',
417
+ slug: 'product-agent-anthony-card',
418
+ name: 'Product Agent Anthony Card',
419
+ description: 'A product-agent widget preview named "Anthony," shown searching boards and flagging two at-risk enterprise deals.',
420
+ tags: ['product', 'agent', 'anthony', 'card', 'project', 'sales'],
421
+ tagForm: 'card',
422
+ tagContext: 'project',
423
+ useCaseDomain: 'Sales',
424
+ width: 381.700927734375,
425
+ height: 326.9021301269531,
426
+ aspectRatioLabel: 'square',
427
+ localFile: 'product-agent-anthony-card.png',
428
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975035/lifecycle/library/email-assets/product-agent-anthony-card.png',
429
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25782',
430
+ },
431
+ {
432
+ id: 'asset/zoom-meeting-transcript-card',
433
+ slug: 'zoom-meeting-transcript-card',
434
+ name: 'Zoom Meeting Transcript Card',
435
+ description: 'A widget preview of a Zoom meeting transcript overview, flagging fragmented challenges discussed on the call.',
436
+ tags: ['zoom', 'meeting', 'transcript', 'card', 'project', 'general'],
437
+ tagForm: 'card',
438
+ tagContext: 'project',
439
+ useCaseDomain: 'General',
440
+ width: 381.700927734375,
441
+ height: 326.9021301269531,
442
+ aspectRatioLabel: 'square',
443
+ localFile: 'zoom-meeting-transcript-card.png',
444
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975035/lifecycle/library/email-assets/zoom-meeting-transcript-card.png',
445
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25796',
446
+ },
447
+ {
448
+ id: 'asset/leads-goal-stats-card',
449
+ slug: 'leads-goal-stats-card',
450
+ name: 'Leads Goal Stats Card',
451
+ description: 'A stats widget preview showing leads, goal percentage, and weekly change metrics alongside a trend chart.',
452
+ tags: ['leads', 'goal', 'stats', 'card', 'campaign', 'marketing'],
453
+ tagForm: 'card',
454
+ tagContext: 'campaign',
455
+ useCaseDomain: 'Marketing',
456
+ width: 381.700927734375,
457
+ height: 326.9021301269531,
458
+ aspectRatioLabel: 'square',
459
+ localFile: 'leads-goal-stats-card.png',
460
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975036/lifecycle/library/email-assets/leads-goal-stats-card.png',
461
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25830',
462
+ },
463
+ {
464
+ id: 'asset/risk-analyzer-dave-card',
465
+ slug: 'risk-analyzer-dave-card',
466
+ name: 'Risk Analyzer Dave Card',
467
+ description: 'A risk-analyzer widget preview named "Dave," reporting that 18 of 45 projects are at risk with a severity breakdown bar.',
468
+ tags: ['risk', 'analyzer', 'dave', 'card', 'project', 'pmo'],
469
+ tagForm: 'card',
470
+ tagContext: 'project',
471
+ useCaseDomain: 'PMO',
472
+ width: 381.700927734375,
473
+ height: 326.9021301269531,
474
+ aspectRatioLabel: 'square',
475
+ localFile: 'risk-analyzer-dave-card.png',
476
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975036/lifecycle/library/email-assets/risk-analyzer-dave-card.png',
477
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25850',
478
+ },
479
+ {
480
+ id: 'asset/interview-scheduler-robin-card',
481
+ slug: 'interview-scheduler-robin-card',
482
+ name: 'Interview Scheduler Robin Card',
483
+ description: 'An interview-scheduler widget preview named "Robin," showing two newly booked interview slots.',
484
+ tags: ['interview', 'scheduler', 'robin', 'card', 'candidate', 'hr'],
485
+ tagForm: 'card',
486
+ tagContext: 'candidate',
487
+ useCaseDomain: 'HR',
488
+ width: 381.700927734375,
489
+ height: 326.9021301269531,
490
+ aspectRatioLabel: 'square',
491
+ localFile: 'interview-scheduler-robin-card.png',
492
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975036/lifecycle/library/email-assets/interview-scheduler-robin-card.png',
493
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25882',
494
+ },
495
+ {
496
+ id: 'asset/scheduled-date-calendar-card',
497
+ slug: 'scheduled-date-calendar-card',
498
+ name: 'Scheduled Date Calendar Card',
499
+ description: 'A calendar widget preview highlighting a scheduled date (Jun 02) on a weekly view.',
500
+ tags: ['scheduled', 'date', 'calendar', 'card', 'project', 'general'],
501
+ tagForm: 'card',
502
+ tagContext: 'project',
503
+ useCaseDomain: 'General',
504
+ width: 381.700927734375,
505
+ height: 326.9021301269531,
506
+ aspectRatioLabel: 'square',
507
+ localFile: 'scheduled-date-calendar-card.png',
508
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975036/lifecycle/library/email-assets/scheduled-date-calendar-card.png',
509
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25939',
510
+ },
511
+ {
512
+ id: 'asset/ticket-workflow-automation-card',
513
+ slug: 'ticket-workflow-automation-card',
514
+ name: 'Ticket Workflow Automation Card',
515
+ description: 'A workflow-automation widget preview showing a ticket-created trigger connected to a severity-check step.',
516
+ tags: ['ticket', 'workflow', 'automation', 'card', 'customer', 'it'],
517
+ tagForm: 'card',
518
+ tagContext: 'customer',
519
+ useCaseDomain: 'IT',
520
+ width: 381.700927734375,
521
+ height: 326.9021301269531,
522
+ aspectRatioLabel: 'square',
523
+ localFile: 'ticket-workflow-automation-card.png',
524
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975037/lifecycle/library/email-assets/ticket-workflow-automation-card.png',
525
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-25984',
526
+ },
527
+ {
528
+ id: 'asset/merging-duplicated-tasks-card',
529
+ slug: 'merging-duplicated-tasks-card',
530
+ name: 'Merging Duplicated Tasks Card',
531
+ description: 'A widget preview showing four duplicated tasks being merged in a list view.',
532
+ tags: ['merging', 'duplicated', 'tasks', 'card', 'project', 'operations'],
533
+ tagForm: 'card',
534
+ tagContext: 'project',
535
+ useCaseDomain: 'Operations',
536
+ width: 381.700927734375,
537
+ height: 326.9021301269531,
538
+ aspectRatioLabel: 'square',
539
+ localFile: 'merging-duplicated-tasks-card.png',
540
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975037/lifecycle/library/email-assets/merging-duplicated-tasks-card.png',
541
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26062',
542
+ },
543
+ {
544
+ id: 'asset/agent-integrations-settings-card',
545
+ slug: 'agent-integrations-settings-card',
546
+ name: 'Agent Integrations Settings Card',
547
+ description: 'A settings widget preview showing an agent\'s background color picker and its connected integrations (Slack, Google Calendar, Gmail).',
548
+ tags: ['agent', 'integrations', 'settings', 'card', 'project', 'general'],
549
+ tagForm: 'card',
550
+ tagContext: 'project',
551
+ useCaseDomain: 'General',
552
+ width: 381.700927734375,
553
+ height: 326.9021301269531,
554
+ aspectRatioLabel: 'square',
555
+ localFile: 'agent-integrations-settings-card.png',
556
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975037/lifecycle/library/email-assets/agent-integrations-settings-card.png',
557
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26080',
558
+ },
559
+ {
560
+ id: 'asset/campaign-report-generating-card',
561
+ slug: 'campaign-report-generating-card',
562
+ name: 'Campaign Report Generating Card',
563
+ description: 'A widget preview showing a campaign performance report being generated, with a declining performance chart.',
564
+ tags: ['campaign', 'report', 'generating', 'card', 'marketing'],
565
+ tagForm: 'card',
566
+ tagContext: 'campaign',
567
+ useCaseDomain: 'Marketing',
568
+ width: 381.700927734375,
569
+ height: 326.9021301269531,
570
+ aspectRatioLabel: 'square',
571
+ localFile: 'campaign-report-generating-card.png',
572
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975037/lifecycle/library/email-assets/campaign-report-generating-card.png',
573
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26166',
574
+ },
575
+ {
576
+ id: 'asset/content-creator-drafting-card',
577
+ slug: 'content-creator-drafting-card',
578
+ name: 'Content Creator Drafting Card',
579
+ description: 'A widget preview of a content-creator agent scheduled for Thursday 3:00pm, shown drafting a request.',
580
+ tags: ['content', 'creator', 'drafting', 'card', 'campaign', 'marketing'],
581
+ tagForm: 'card',
582
+ tagContext: 'campaign',
583
+ useCaseDomain: 'Marketing',
584
+ width: 381.700927734375,
585
+ height: 326.9021301269531,
586
+ aspectRatioLabel: 'square',
587
+ localFile: 'content-creator-drafting-card.png',
588
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975037/lifecycle/library/email-assets/content-creator-drafting-card.png',
589
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26182',
590
+ },
591
+ {
592
+ id: 'asset/new-leads-scoring-exchange',
593
+ slug: 'new-leads-scoring-exchange',
594
+ name: 'New Leads Scoring Exchange',
595
+ description: 'A two-message agent exchange: a user reports 847 new leads, and the agent responds that it has scored them and moved 18 high-priority deals to the top of the pipeline.',
596
+ tags: ['new', 'leads', 'scoring', 'exchange', 'customer', 'sales'],
597
+ tagForm: 'exchange',
598
+ tagContext: 'customer',
599
+ useCaseDomain: 'Sales',
600
+ width: 715,
601
+ height: 508,
602
+ aspectRatioLabel: 'wide',
603
+ localFile: 'new-leads-scoring-exchange.png',
604
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975038/lifecycle/library/email-assets/new-leads-scoring-exchange.png',
605
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26333',
606
+ },
607
+ {
608
+ id: 'asset/deals-at-risk-exchange',
609
+ slug: 'deals-at-risk-exchange',
610
+ name: 'Deals At Risk Exchange',
611
+ description: 'A two-message agent exchange: a user asks which deals are at risk this month, and the agent flags three deals with no activity in 14+ days.',
612
+ tags: ['deals', 'risk', 'exchange', 'customer', 'sales'],
613
+ tagForm: 'exchange',
614
+ tagContext: 'customer',
615
+ useCaseDomain: 'Sales',
616
+ width: 715,
617
+ height: 508,
618
+ aspectRatioLabel: 'wide',
619
+ localFile: 'deals-at-risk-exchange.png',
620
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975038/lifecycle/library/email-assets/deals-at-risk-exchange.png',
621
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26360',
622
+ },
623
+ {
624
+ id: 'asset/conference-followups-exchange',
625
+ slug: 'conference-followups-exchange',
626
+ name: 'Conference Followups Exchange',
627
+ description: 'A two-message agent exchange: a user asks to draft follow-ups for everyone met at a conference, and the agent responds with 12 follow-up emails ready for review.',
628
+ tags: ['conference', 'followups', 'exchange', 'campaign', 'marketing'],
629
+ tagForm: 'exchange',
630
+ tagContext: 'campaign',
631
+ useCaseDomain: 'Marketing',
632
+ width: 715,
633
+ height: 508,
634
+ aspectRatioLabel: 'wide',
635
+ localFile: 'conference-followups-exchange.png',
636
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975038/lifecycle/library/email-assets/conference-followups-exchange.png',
637
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26370',
638
+ },
639
+ {
640
+ id: 'asset/agent-tools-settings-illustrated-card',
641
+ slug: 'agent-tools-settings-illustrated-card',
642
+ name: 'Agent Tools Settings Illustrated Card',
643
+ description: 'An illustrated agent-persona card showing a "Tools" settings panel with Web search, Slack, Google Calendar, and Gmail toggles.',
644
+ tags: ['agent', 'tools', 'settings', 'illustrated', 'card', 'project', 'general'],
645
+ tagForm: 'card',
646
+ tagContext: 'project',
647
+ useCaseDomain: 'General',
648
+ width: 648,
649
+ height: 552.7962036132812,
650
+ aspectRatioLabel: 'square',
651
+ localFile: 'agent-tools-settings-illustrated-card.png',
652
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975038/lifecycle/library/email-assets/agent-tools-settings-illustrated-card.png',
653
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26380',
654
+ },
655
+ {
656
+ id: 'asset/integrations-icon-cloud',
657
+ slug: 'integrations-icon-cloud',
658
+ name: 'Integrations Icon Cloud',
659
+ description: 'A decorative cluster of third-party integration logos (Slack, Outlook, QuickBooks, Gmail, Teams, ChatGPT, and others) scattered on a plain background.',
660
+ tags: ['integrations', 'icon', 'cloud', 'project', 'general'],
661
+ tagForm: 'icon',
662
+ tagContext: 'project',
663
+ useCaseDomain: 'General',
664
+ width: 417,
665
+ height: 425,
666
+ aspectRatioLabel: 'square',
667
+ localFile: 'integrations-icon-cloud.png',
668
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975038/lifecycle/library/email-assets/integrations-icon-cloud.png',
669
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26215',
670
+ },
671
+ {
672
+ id: 'asset/ai-model-selector-card',
673
+ slug: 'ai-model-selector-card',
674
+ name: 'AI Model Selector Card',
675
+ description: 'A "Models" panel preview showing a model picker listing Claude, Gemini, and ChatGPT with an option to connect more tools.',
676
+ tags: ['model', 'selector', 'card', 'list', 'project', 'general'],
677
+ tagForm: 'list',
678
+ tagContext: 'project',
679
+ useCaseDomain: 'General',
680
+ width: 417,
681
+ height: 425,
682
+ aspectRatioLabel: 'square',
683
+ localFile: 'ai-model-selector-card.png',
684
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975039/lifecycle/library/email-assets/ai-model-selector-card.png',
685
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26286',
686
+ },
687
+ {
688
+ id: 'asset/project-plan-claude-board-card',
689
+ slug: 'project-plan-claude-board-card',
690
+ name: 'Project Plan Claude Board Card',
691
+ description: 'A "Project plan" board preview with This month/Next month task rows, showing Claude creating next month\'s tasks.',
692
+ tags: ['project', 'plan', 'claude', 'board', 'card', 'board-view', 'pmo'],
693
+ tagForm: 'board-view',
694
+ tagContext: 'project',
695
+ useCaseDomain: 'PMO',
696
+ width: 417,
697
+ height: 425,
698
+ aspectRatioLabel: 'square',
699
+ localFile: 'project-plan-claude-board-card.png',
700
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975039/lifecycle/library/email-assets/project-plan-claude-board-card.png',
701
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26313',
702
+ },
703
+ {
704
+ id: 'asset/share-agent-with-team-card',
705
+ slug: 'share-agent-with-team-card',
706
+ name: 'Share Agent With Team Card',
707
+ description: 'A "Share agent with a team" modal preview, showing selected team members and a private-content-shared summary before confirming.',
708
+ tags: ['share', 'agent', 'team', 'card', 'project', 'general'],
709
+ tagForm: 'card',
710
+ tagContext: 'project',
711
+ useCaseDomain: 'General',
712
+ width: 417,
713
+ height: 425,
714
+ aspectRatioLabel: 'square',
715
+ localFile: 'share-agent-with-team-card.png',
716
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975039/lifecycle/library/email-assets/share-agent-with-team-card.png',
717
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26653',
718
+ },
719
+ {
720
+ id: 'asset/zoom-meeting-agent-grid-card',
721
+ slug: 'zoom-meeting-agent-grid-card',
722
+ name: 'Zoom Meeting Agent Grid Card',
723
+ description: 'A Zoom meeting grid preview showing "Alex Meeting Agent" alongside three human participants.',
724
+ tags: ['zoom', 'meeting', 'agent', 'grid', 'card', 'project', 'general'],
725
+ tagForm: 'card',
726
+ tagContext: 'project',
727
+ useCaseDomain: 'General',
728
+ width: 417,
729
+ height: 425,
730
+ aspectRatioLabel: 'square',
731
+ localFile: 'zoom-meeting-agent-grid-card.png',
732
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975039/lifecycle/library/email-assets/zoom-meeting-agent-grid-card.png',
733
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26682',
734
+ },
735
+ {
736
+ id: 'asset/ai-model-selector-blue-variant',
737
+ slug: 'ai-model-selector-blue-variant',
738
+ name: 'AI Model Selector Blue Variant',
739
+ description: 'A color-token variant of the "Models" panel preview — the same Claude/Gemini/ChatGPT picker as asset/ai-model-selector-card, set against a light-blue background bound to a Figma variable rather than a hardcoded color.',
740
+ tags: ['model', 'selector', 'blue', 'variant', 'list', 'project', 'general'],
741
+ tagForm: 'list',
742
+ tagContext: 'project',
743
+ useCaseDomain: 'General',
744
+ width: 417,
745
+ height: 425,
746
+ aspectRatioLabel: 'square',
747
+ localFile: 'ai-model-selector-blue-variant.png',
748
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975039/lifecycle/library/email-assets/ai-model-selector-blue-variant.png',
749
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26586',
750
+ },
751
+ {
752
+ id: 'asset/project-plan-claude-board-gray-variant',
753
+ slug: 'project-plan-claude-board-gray-variant',
754
+ name: 'Project Plan Claude Board Gray Variant',
755
+ description: 'A color-token variant of the "Project plan" board preview — the same Claude task-creation moment as asset/project-plan-claude-board-card, set against a light-gray background bound to a Figma variable rather than a hardcoded color.',
756
+ tags: ['project', 'plan', 'claude', 'board', 'gray', 'variant', 'board-view', 'pmo'],
757
+ tagForm: 'board-view',
758
+ tagContext: 'project',
759
+ useCaseDomain: 'PMO',
760
+ width: 417,
761
+ height: 425,
762
+ aspectRatioLabel: 'square',
763
+ localFile: 'project-plan-claude-board-gray-variant.png',
764
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975040/lifecycle/library/email-assets/project-plan-claude-board-gray-variant.png',
765
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26613',
766
+ },
767
+ {
768
+ id: 'asset/agile-dashboard-overview-hero',
769
+ slug: 'agile-dashboard-overview-hero',
770
+ name: 'Agile Dashboard Overview Hero',
771
+ description: 'A hero visual showing an Agile Dashboard (Kanban view with backlog/in-progress/in-review/done) alongside a real-photo persona and an "I need a project overview" chat request.',
772
+ tags: ['agile', 'dashboard', 'overview', 'hero', 'project', 'pmo'],
773
+ tagForm: 'dashboard',
774
+ tagContext: 'project',
775
+ useCaseDomain: 'PMO',
776
+ width: 1280,
777
+ height: 801.7021484375,
778
+ aspectRatioLabel: 'wide',
779
+ localFile: 'agile-dashboard-overview-hero.png',
780
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975040/lifecycle/library/email-assets/agile-dashboard-overview-hero.png',
781
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29514',
782
+ },
783
+ {
784
+ id: 'asset/executive-workstream-dashboard-hero',
785
+ slug: 'executive-workstream-dashboard-hero',
786
+ name: 'Executive Workstream Dashboard Hero',
787
+ description: 'A hero visual showing an Executive workstream dashboard (risk indicators, burndown chart, delivery flags) with a real-photo persona requesting a milestone-health view.',
788
+ tags: ['executive', 'workstream', 'dashboard', 'hero', 'project', 'pmo'],
789
+ tagForm: 'dashboard',
790
+ tagContext: 'project',
791
+ useCaseDomain: 'PMO',
792
+ width: 1280,
793
+ height: 801.7021484375,
794
+ aspectRatioLabel: 'wide',
795
+ localFile: 'executive-workstream-dashboard-hero.png',
796
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975041/lifecycle/library/email-assets/executive-workstream-dashboard-hero.png',
797
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29671',
798
+ },
799
+ {
800
+ id: 'asset/eli-milestone-tracker-hero',
801
+ slug: 'eli-milestone-tracker-hero',
802
+ name: 'Eli Milestone Tracker Hero',
803
+ description: 'A hero visual showing "Eli, Milestone tracker" reviewing cross-team work status, with a workstream snapshot and a real-photo persona.',
804
+ tags: ['eli', 'milestone', 'tracker', 'hero', 'card', 'project', 'pmo'],
805
+ tagForm: 'card',
806
+ tagContext: 'project',
807
+ useCaseDomain: 'PMO',
808
+ width: 1280,
809
+ height: 801.7021484375,
810
+ aspectRatioLabel: 'wide',
811
+ localFile: 'eli-milestone-tracker-hero.png',
812
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975041/lifecycle/library/email-assets/eli-milestone-tracker-hero.png',
813
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29738',
814
+ },
815
+ {
816
+ id: 'asset/ellie-marketing-manager-hero',
817
+ slug: 'ellie-marketing-manager-hero',
818
+ name: 'Ellie Marketing Manager Hero',
819
+ description: 'A hero visual introducing "Ellie, Marketing manager" alongside "Jade, Campaign Ops agent" and a launch-readiness checklist.',
820
+ tags: ['ellie', 'marketing', 'manager', 'hero', 'card', 'campaign'],
821
+ tagForm: 'card',
822
+ tagContext: 'campaign',
823
+ useCaseDomain: 'Marketing',
824
+ width: 1280,
825
+ height: 734.3742065429688,
826
+ aspectRatioLabel: 'wide',
827
+ localFile: 'ellie-marketing-manager-hero.png',
828
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975041/lifecycle/library/email-assets/ellie-marketing-manager-hero.png',
829
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-28935',
830
+ },
831
+ {
832
+ id: 'asset/fiona-milestone-tracker-hero',
833
+ slug: 'fiona-milestone-tracker-hero',
834
+ name: 'Fiona Milestone Tracker Hero',
835
+ description: 'A hero visual showing "Fiona, Milestone tracker" pulling task status across boards, flagging overdue and blocked tasks, with a real-photo persona.',
836
+ tags: ['fiona', 'milestone', 'tracker', 'hero', 'card', 'project', 'pmo'],
837
+ tagForm: 'card',
838
+ tagContext: 'project',
839
+ useCaseDomain: 'PMO',
840
+ width: 1280,
841
+ height: 800,
842
+ aspectRatioLabel: 'wide',
843
+ localFile: 'fiona-milestone-tracker-hero.png',
844
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975042/lifecycle/library/email-assets/fiona-milestone-tracker-hero.png',
845
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29581',
846
+ },
847
+ {
848
+ id: 'asset/maya-milestone-tracker-hero',
849
+ slug: 'maya-milestone-tracker-hero',
850
+ name: 'Maya Milestone Tracker Hero',
851
+ description: 'A hero visual showing "Maya, Milestone tracker" checking delivery risk for a Community Services Portal, with a real-photo persona.',
852
+ tags: ['maya', 'milestone', 'tracker', 'hero', 'card', 'project', 'pmo'],
853
+ tagForm: 'card',
854
+ tagContext: 'project',
855
+ useCaseDomain: 'PMO',
856
+ width: 1280,
857
+ height: 801.7021484375,
858
+ aspectRatioLabel: 'wide',
859
+ localFile: 'maya-milestone-tracker-hero.png',
860
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975041/lifecycle/library/email-assets/maya-milestone-tracker-hero.png',
861
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29434',
862
+ },
863
+ {
864
+ id: 'asset/job-offer-approvals-hero',
865
+ slug: 'job-offer-approvals-hero',
866
+ name: 'Job Offer Approvals Hero',
867
+ description: 'A hero visual showing a Job Offer Approvals board alongside a monday vibe chat creating a candidate feedback hub, with a real-photo persona.',
868
+ tags: ['job', 'offer', 'approvals', 'hero', 'board-view', 'candidate', 'hr'],
869
+ tagForm: 'board-view',
870
+ tagContext: 'candidate',
871
+ useCaseDomain: 'HR',
872
+ width: 1120,
873
+ height: 508,
874
+ aspectRatioLabel: 'wide',
875
+ localFile: 'job-offer-approvals-hero.png',
876
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975042/lifecycle/library/email-assets/job-offer-approvals-hero.png',
877
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-28918',
878
+ },
879
+ {
880
+ id: 'asset/active-deals-crosssell-hero',
881
+ slug: 'active-deals-crosssell-hero',
882
+ name: 'Active Deals Cross-sell Hero',
883
+ description: 'A hero visual showing an Active Deals board with a cross-sell opportunity notification, alongside a real-photo persona.',
884
+ tags: ['active', 'deals', 'crosssell', 'hero', 'board-view', 'customer', 'sales'],
885
+ tagForm: 'board-view',
886
+ tagContext: 'customer',
887
+ useCaseDomain: 'Sales',
888
+ width: 1280,
889
+ height: 492,
890
+ aspectRatioLabel: 'super wide',
891
+ localFile: 'active-deals-crosssell-hero.png',
892
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975042/lifecycle/library/email-assets/active-deals-crosssell-hero.png',
893
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29827',
894
+ },
895
+ {
896
+ id: 'asset/pipeline-health-tracker-hero',
897
+ slug: 'pipeline-health-tracker-hero',
898
+ name: 'Pipeline Health Tracker Hero',
899
+ description: 'A hero visual showing a Pipeline Health Tracker board with deal filters and analytics, alongside a monday vibe chat creating a pipeline-tracking app.',
900
+ tags: ['pipeline', 'health', 'tracker', 'hero', 'dashboard', 'customer', 'sales'],
901
+ tagForm: 'dashboard',
902
+ tagContext: 'customer',
903
+ useCaseDomain: 'Sales',
904
+ width: 1120,
905
+ height: 508,
906
+ aspectRatioLabel: 'wide',
907
+ localFile: 'pipeline-health-tracker-hero.png',
908
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975042/lifecycle/library/email-assets/pipeline-health-tracker-hero.png',
909
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-28289',
910
+ },
911
+ {
912
+ id: 'asset/noel-dependency-risk-mapper-hero',
913
+ slug: 'noel-dependency-risk-mapper-hero',
914
+ name: 'Noel Dependency Risk Mapper Hero',
915
+ description: 'A hero visual showing "Noel, Dependency and Risk Mapper" flagging a delayed store fit-out and notifying downstream stakeholders, in a chat exchange.',
916
+ tags: ['noel', 'dependency', 'risk', 'mapper', 'hero', 'exchange', 'project', 'operations'],
917
+ tagForm: 'exchange',
918
+ tagContext: 'project',
919
+ useCaseDomain: 'Operations',
920
+ width: 1120,
921
+ height: 619,
922
+ aspectRatioLabel: 'wide',
923
+ localFile: 'noel-dependency-risk-mapper-hero.png',
924
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975043/lifecycle/library/email-assets/noel-dependency-risk-mapper-hero.png',
925
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-30276',
926
+ },
927
+ {
928
+ id: 'asset/status-update-working-on-it-hero',
929
+ slug: 'status-update-working-on-it-hero',
930
+ name: 'Status Update Working On It Hero',
931
+ description: 'A hero visual showing a status-update chat exchange ("You haven\'t updated this task... it will be done by EOD") alongside a real-photo persona.',
932
+ tags: ['status', 'update', 'working', 'hero', 'exchange', 'project', 'general'],
933
+ tagForm: 'exchange',
934
+ tagContext: 'project',
935
+ useCaseDomain: 'General',
936
+ width: 1120,
937
+ height: 619,
938
+ aspectRatioLabel: 'wide',
939
+ localFile: 'status-update-working-on-it-hero.png',
940
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975043/lifecycle/library/email-assets/status-update-working-on-it-hero.png',
941
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-30310',
942
+ },
943
+ {
944
+ id: 'asset/global-marketing-event-leads-hero',
945
+ slug: 'global-marketing-event-leads-hero',
946
+ name: 'Global Marketing Event Leads Hero',
947
+ description: 'A hero visual showing a "Global marketing event" board with "Julius, Leads Sourcer" and "Lia, Meeting Scheduler" agent notifications, alongside a real-photo persona.',
948
+ tags: ['global', 'marketing', 'event', 'leads', 'hero', 'board-view', 'campaign'],
949
+ tagForm: 'board-view',
950
+ tagContext: 'campaign',
951
+ useCaseDomain: 'Marketing',
952
+ width: 1280,
953
+ height: 742,
954
+ aspectRatioLabel: 'wide',
955
+ localFile: 'global-marketing-event-leads-hero.png',
956
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975043/lifecycle/library/email-assets/global-marketing-event-leads-hero.png',
957
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=412-23653',
958
+ },
959
+ {
960
+ id: 'asset/campaign-launch-team-hero',
961
+ slug: 'campaign-launch-team-hero',
962
+ name: 'Campaign Launch Team Hero',
963
+ description: 'A hero visual showing a campaign-launch chat ("We\'re launching the campaign next Monday") with "Jim, Copywriter," "Jade, Campaign Ops agent," and "Kai, content creator" notifications.',
964
+ tags: ['campaign', 'launch', 'team', 'hero', 'exchange', 'marketing'],
965
+ tagForm: 'exchange',
966
+ tagContext: 'campaign',
967
+ useCaseDomain: 'Marketing',
968
+ width: 1280,
969
+ height: 809,
970
+ aspectRatioLabel: 'wide',
971
+ localFile: 'campaign-launch-team-hero.png',
972
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975043/lifecycle/library/email-assets/campaign-launch-team-hero.png',
973
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-27847',
974
+ },
975
+ {
976
+ id: 'asset/pmo-ops-meeting-scheduler-hero',
977
+ slug: 'pmo-ops-meeting-scheduler-hero',
978
+ name: 'PMO Ops Meeting Scheduler Hero',
979
+ description: 'A hero visual showing "Meeting Scheduler" syncing weekly project status meetings across a calendar and a project-planning task list.',
980
+ tags: ['pmo', 'ops', 'meeting', 'scheduler', 'hero', 'card', 'project'],
981
+ tagForm: 'card',
982
+ tagContext: 'project',
983
+ useCaseDomain: 'PMO',
984
+ width: 1200,
985
+ height: 600,
986
+ aspectRatioLabel: 'wide',
987
+ localFile: 'pmo-ops-meeting-scheduler-hero.png',
988
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975043/lifecycle/library/email-assets/pmo-ops-meeting-scheduler-hero.png',
989
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26905',
990
+ },
991
+ {
992
+ id: 'asset/global-marketing-event-claude-hero',
993
+ slug: 'global-marketing-event-claude-hero',
994
+ name: 'Global Marketing Event Claude Hero',
995
+ description: 'A hero visual showing a "Global marketing event" board with Claude creating next month\'s tasks, connected to Gmail, Calendar, and Slack integrations, alongside a real-photo persona.',
996
+ tags: ['global', 'marketing', 'event', 'claude', 'hero', 'board-view', 'campaign'],
997
+ tagForm: 'board-view',
998
+ tagContext: 'campaign',
999
+ useCaseDomain: 'Marketing',
1000
+ width: 1200,
1001
+ height: 800,
1002
+ aspectRatioLabel: 'wide',
1003
+ localFile: 'global-marketing-event-claude-hero.png',
1004
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975044/lifecycle/library/email-assets/global-marketing-event-claude-hero.png',
1005
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-28151',
1006
+ },
1007
+ {
1008
+ id: 'asset/global-marketing-event-leads-emails-hero',
1009
+ slug: 'global-marketing-event-leads-emails-hero',
1010
+ name: 'Global Marketing Event Leads Emails Hero',
1011
+ description: 'A hero visual showing a "Global marketing event" board with "40 leads created" and "40 emails sent" notifications, alongside a real-photo persona.',
1012
+ tags: ['global', 'marketing', 'event', 'leads', 'emails', 'hero', 'board-view', 'campaign'],
1013
+ tagForm: 'board-view',
1014
+ tagContext: 'campaign',
1015
+ useCaseDomain: 'Marketing',
1016
+ width: 1200,
1017
+ height: 625,
1018
+ aspectRatioLabel: 'wide',
1019
+ localFile: 'global-marketing-event-leads-emails-hero.png',
1020
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975044/lifecycle/library/email-assets/global-marketing-event-leads-emails-hero.png',
1021
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-28189',
1022
+ },
1023
+ {
1024
+ id: 'asset/marketing-jade-charlie-hero',
1025
+ slug: 'marketing-jade-charlie-hero',
1026
+ name: 'Marketing Jade Charlie Hero',
1027
+ description: 'A hero visual introducing "Jade, Creative Generator" and "Charlie, Campaign manager" for a Global marketing campaign board, with an agent chat prompt.',
1028
+ tags: ['marketing', 'jade', 'charlie', 'hero', 'card', 'campaign'],
1029
+ tagForm: 'card',
1030
+ tagContext: 'campaign',
1031
+ useCaseDomain: 'Marketing',
1032
+ width: 1280,
1033
+ height: 740,
1034
+ aspectRatioLabel: 'wide',
1035
+ localFile: 'marketing-jade-charlie-hero.png',
1036
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975044/lifecycle/library/email-assets/marketing-jade-charlie-hero.png',
1037
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29169',
1038
+ },
1039
+ {
1040
+ id: 'asset/ai-credit-usage-hero',
1041
+ slug: 'ai-credit-usage-hero',
1042
+ name: 'AI Credit Usage Hero',
1043
+ description: 'A hero visual showing an AI credit usage widget (50% of limit used) listing Monday Agents, Notetaker, Sidekick, AI Workflows, and other AI features, alongside a real-photo persona.',
1044
+ tags: ['credit', 'usage', 'hero', 'card', 'project', 'general'],
1045
+ tagForm: 'card',
1046
+ tagContext: 'project',
1047
+ useCaseDomain: 'General',
1048
+ width: 1120,
1049
+ height: 563,
1050
+ aspectRatioLabel: 'wide',
1051
+ localFile: 'ai-credit-usage-hero.png',
1052
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975044/lifecycle/library/email-assets/ai-credit-usage-hero.png',
1053
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29120',
1054
+ },
1055
+ {
1056
+ id: 'asset/global-marketing-event-video-call-hero',
1057
+ slug: 'global-marketing-event-video-call-hero',
1058
+ name: 'Global Marketing Event Video Call Hero',
1059
+ description: 'A hero visual showing a "Global marketing event" board tracking approved attendees, with a Zoom call overlay featuring Henry Park and Rosa Griffin.',
1060
+ tags: ['global', 'marketing', 'event', 'video', 'call', 'hero', 'board-view', 'campaign'],
1061
+ tagForm: 'board-view',
1062
+ tagContext: 'campaign',
1063
+ useCaseDomain: 'Marketing',
1064
+ width: 1280,
1065
+ height: 734.3742065429688,
1066
+ aspectRatioLabel: 'wide',
1067
+ localFile: 'global-marketing-event-video-call-hero.png',
1068
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975044/lifecycle/library/email-assets/global-marketing-event-video-call-hero.png',
1069
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29082',
1070
+ },
1071
+ {
1072
+ id: 'asset/build-campaign-with-ai-hero',
1073
+ slug: 'build-campaign-with-ai-hero',
1074
+ name: 'Build Campaign With AI Hero',
1075
+ description: 'A hero visual showing an AI campaign-builder assistant setting up a new-arrival email campaign, with a live preview, open-rate stat, and quick-action shortcuts.',
1076
+ tags: ['build', 'campaign', 'hero', 'card', 'marketing'],
1077
+ tagForm: 'card',
1078
+ tagContext: 'campaign',
1079
+ useCaseDomain: 'Marketing',
1080
+ width: 1280,
1081
+ height: 720,
1082
+ aspectRatioLabel: 'wide',
1083
+ localFile: 'build-campaign-with-ai-hero.png',
1084
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975045/lifecycle/library/email-assets/build-campaign-with-ai-hero.png',
1085
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29269',
1086
+ },
1087
+ {
1088
+ id: 'asset/making-ai-work-webinar-series-hero',
1089
+ slug: 'making-ai-work-webinar-series-hero',
1090
+ name: 'Making AI Work Webinar Series Hero',
1091
+ description: 'The wide hero-banner version of the "Making AI Work" AI webinar series branding — same campaign as asset/making-ai-work-webinar-promo, in a hero-banner format rather than a square promo tile.',
1092
+ tags: ['making', 'work', 'webinar', 'series', 'hero', 'card', 'campaign', 'marketing'],
1093
+ tagForm: 'card',
1094
+ tagContext: 'campaign',
1095
+ useCaseDomain: 'Marketing',
1096
+ width: 1280,
1097
+ height: 728,
1098
+ aspectRatioLabel: 'wide',
1099
+ localFile: 'making-ai-work-webinar-series-hero.png',
1100
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975045/lifecycle/library/email-assets/making-ai-work-webinar-series-hero.png',
1101
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29878',
1102
+ },
1103
+ {
1104
+ id: 'asset/global-marketing-event-attendees-hero',
1105
+ slug: 'global-marketing-event-attendees-hero',
1106
+ name: 'Global Marketing Event Attendees Hero',
1107
+ description: 'A hero visual showing a "Global marketing event" board with a Zoom video-call overlay and a "Calling Amanda" confirmation notification.',
1108
+ tags: ['global', 'marketing', 'event', 'attendees', 'hero', 'board-view', 'campaign'],
1109
+ tagForm: 'board-view',
1110
+ tagContext: 'campaign',
1111
+ useCaseDomain: 'Marketing',
1112
+ width: 1280,
1113
+ height: 701,
1114
+ aspectRatioLabel: 'wide',
1115
+ localFile: 'global-marketing-event-attendees-hero.png',
1116
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975045/lifecycle/library/email-assets/global-marketing-event-attendees-hero.png',
1117
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29908',
1118
+ },
1119
+ {
1120
+ id: 'asset/agent-capability-carousel-hero',
1121
+ slug: 'agent-capability-carousel-hero',
1122
+ name: 'Agent Capability Carousel Hero',
1123
+ description: 'A row of stacked agent-capability cards (Campaign Manager, Performance Analyst, Content Manager, Intake Agent, Risk Analyzer) shown as a carousel preview.',
1124
+ tags: ['agent', 'capability', 'carousel', 'hero', 'row', 'campaign', 'marketing'],
1125
+ tagForm: 'row',
1126
+ tagContext: 'campaign',
1127
+ useCaseDomain: 'Marketing',
1128
+ width: 1280,
1129
+ height: 423.3117370605469,
1130
+ aspectRatioLabel: 'super wide',
1131
+ localFile: 'agent-capability-carousel-hero.png',
1132
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975045/lifecycle/library/email-assets/agent-capability-carousel-hero.png',
1133
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29056',
1134
+ },
1135
+ {
1136
+ id: 'asset/customer-stat-carousel-hero',
1137
+ slug: 'customer-stat-carousel-hero',
1138
+ name: 'Customer Stat Carousel Hero',
1139
+ description: 'A carousel of customer-result stat cards — Datacom\'s efficiency gain, Canva\'s ad output increase, and a third partner\'s global team stat.',
1140
+ tags: ['customer', 'stat', 'carousel', 'hero', 'row', 'general'],
1141
+ tagForm: 'row',
1142
+ tagContext: 'customer',
1143
+ useCaseDomain: 'General',
1144
+ width: 1280,
1145
+ height: 482,
1146
+ aspectRatioLabel: 'super wide',
1147
+ localFile: 'customer-stat-carousel-hero.png',
1148
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975046/lifecycle/library/email-assets/customer-stat-carousel-hero.png',
1149
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-28992',
1150
+ },
1151
+ {
1152
+ id: 'asset/dan-blake-roadmap-card-hero',
1153
+ slug: 'dan-blake-roadmap-card-hero',
1154
+ name: 'Dan Blake Roadmap Card Hero',
1155
+ description: 'A stacked card carousel introducing "Dan, IT Team lead" and "Blake, Roadmap Builder," who created a Q3 roadmap timeline and drafted campaign copy variations.',
1156
+ tags: ['dan', 'blake', 'roadmap', 'card', 'hero', 'row', 'project', 'it'],
1157
+ tagForm: 'row',
1158
+ tagContext: 'project',
1159
+ useCaseDomain: 'IT',
1160
+ width: 1280,
1161
+ height: 740,
1162
+ aspectRatioLabel: 'wide',
1163
+ localFile: 'dan-blake-roadmap-card-hero.png',
1164
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975046/lifecycle/library/email-assets/dan-blake-roadmap-card-hero.png',
1165
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-29011',
1166
+ },
1167
+ {
1168
+ id: 'asset/contact-sales-zoom-scheduler-hero',
1169
+ slug: 'contact-sales-zoom-scheduler-hero',
1170
+ name: 'Contact Sales Zoom Scheduler Hero',
1171
+ description: 'A "Contact sales" hero visual showing a Zoom-call scheduling calendar alongside three real-photo team member portraits.',
1172
+ tags: ['contact', 'sales', 'zoom', 'scheduler', 'hero', 'card', 'customer'],
1173
+ tagForm: 'card',
1174
+ tagContext: 'customer',
1175
+ useCaseDomain: 'Sales',
1176
+ width: 1200,
1177
+ height: 633.9859008789062,
1178
+ aspectRatioLabel: 'wide',
1179
+ localFile: 'contact-sales-zoom-scheduler-hero.png',
1180
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975046/lifecycle/library/email-assets/contact-sales-zoom-scheduler-hero.png',
1181
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-26869',
1182
+ },
1183
+ {
1184
+ id: 'asset/sales-deal-risk-tracker-hero',
1185
+ slug: 'sales-deal-risk-tracker-hero',
1186
+ name: 'Sales Deal Risk Tracker Hero',
1187
+ description: 'A hero visual introducing the "Deal Risk Tracker" agent, showing a sales pipeline board and a Slack notification flagging at-risk deals.',
1188
+ tags: ['sales', 'deal', 'risk', 'tracker', 'hero', 'card', 'customer'],
1189
+ tagForm: 'card',
1190
+ tagContext: 'customer',
1191
+ useCaseDomain: 'Sales',
1192
+ width: 1200,
1193
+ height: 600,
1194
+ aspectRatioLabel: 'wide',
1195
+ localFile: 'sales-deal-risk-tracker-hero.png',
1196
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786975046/lifecycle/library/email-assets/sales-deal-risk-tracker-hero.png',
1197
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-27453',
1198
+ },
1199
+ {
1200
+ id: 'asset/product-spec-writer-hero',
1201
+ slug: 'product-spec-writer-hero',
1202
+ name: 'Product Spec Writer Hero',
1203
+ description: 'A hero visual introducing the "Product Spec Writer" agent, showing a chat request to draft an execution spec and a linked specs sheet, alongside a Product roadmap board.',
1204
+ tags: ['product', 'spec', 'writer', 'hero', 'card', 'project', 'pmo'],
1205
+ tagForm: 'card',
1206
+ tagContext: 'project',
1207
+ useCaseDomain: 'PMO',
1208
+ width: 1200,
1209
+ height: 600,
1210
+ aspectRatioLabel: 'wide',
1211
+ localFile: 'product-spec-writer-hero.png',
1212
+ cloudinaryUrl: 'https://dapulse-res.cloudinary.com/image/upload/v1786981419/lifecycle/library/email-assets/product-spec-writer-hero.png',
1213
+ figmaSource: 'https://www.figma.com/design/NhAbtw7WTxwz02cMJLC4v9/Assets-catalog?node-id=729-27275',
1214
+ },
1215
+ ];
1216
+ const KNOWN_DOMAINS = ['marketing', 'sales', 'it', 'pmo', 'hr', 'general', 'operations'];
1217
+ /** Unambiguous-or-nothing, same rule as every other fuzzy matcher here — no scoring, no guessing. */
1218
+ function extractDomainHint(text) {
1219
+ const lower = text.toLowerCase();
1220
+ const hits = KNOWN_DOMAINS.filter((d) => containsWord(lower, d));
1221
+ return hits.length === 1 ? hits[0] : null;
1222
+ }
1223
+ // Placeholder weights — aspect is treated as the most structurally reliable secondary signal;
1224
+ // tune once real disambiguation behavior has been observed against production briefs.
1225
+ const W_ASPECT = 2;
1226
+ const W_DOMAIN = 1;
1227
+ const W_FORM = 1;
1228
+ const W_CONTEXT = 1;
1229
+ /**
1230
+ * Stage 1: score each entry by how many of its `tags` appear as whole words in `intent` — same
1231
+ * content-overlap rule as before. Stage 2 (only among entries tied for the max content score):
1232
+ * break the tie using aspect-ratio fit for the slot's shape, useCaseDomain, and literal
1233
+ * tag_form/tag_context matches — but only if that produces a single, strictly-positive winner.
1234
+ * A content tie that's still tied (or all-zero) on every secondary signal stays null, exactly as
1235
+ * before this module existed. See asset-scoring.ts's pickRankedMatch for the exact two-stage rule.
1236
+ */
1237
+ export function findStockLibraryEntry(ctx) {
1238
+ const lower = ctx.intent.toLowerCase();
1239
+ const domainHint = extractDomainHint(ctx.intent) ?? (ctx.campaign ? extractDomainHint(ctx.campaign) : null);
1240
+ const acceptableRatios = SHAPE_ACCEPTABLE_RATIOS[ctx.shape];
1241
+ return pickRankedMatch(STOCK_LIBRARY, {
1242
+ contentScore: (entry) => entry.tags.filter((tag) => containsWord(lower, tag)).length,
1243
+ secondaryScore: (entry) => W_ASPECT * (acceptableRatios.has(entry.aspectRatioLabel) ? 1 : 0) +
1244
+ W_DOMAIN * (domainHint !== null && entry.useCaseDomain.toLowerCase() === domainHint ? 1 : 0) +
1245
+ W_FORM * (containsWord(lower, entry.tagForm) ? 1 : 0) +
1246
+ W_CONTEXT * (containsWord(lower, entry.tagContext) ? 1 : 0),
1247
+ explainSecondary: (entry) => {
1248
+ const reasons = [];
1249
+ if (acceptableRatios.has(entry.aspectRatioLabel))
1250
+ reasons.push('aspect:' + ctx.shape + '≈' + entry.aspectRatioLabel);
1251
+ if (domainHint !== null && entry.useCaseDomain.toLowerCase() === domainHint)
1252
+ reasons.push('domain:' + entry.useCaseDomain);
1253
+ if (containsWord(lower, entry.tagForm))
1254
+ reasons.push('tagForm:' + entry.tagForm);
1255
+ if (containsWord(lower, entry.tagContext))
1256
+ reasons.push('tagContext:' + entry.tagContext);
1257
+ return reasons;
1258
+ },
1259
+ });
1260
+ }
1261
+ //# sourceMappingURL=stock-library-map.js.map