@shogo-ai/email 1.10.0 → 2.4.2

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.
@@ -341,8 +341,11 @@ var EMAIL_CONSTANTS = {
341
341
  APP_NAME: "Shogo",
342
342
  APP_URL: "https://shogo.ai",
343
343
  SUPPORT_EMAIL: "support@shogo.ai",
344
- LOGO_URL: "https://shogo.ai/assets/images/shogo-logo-email.png",
345
- LOGO_DARK_URL: "https://shogo.ai/assets/images/shogo-logo-dark-email.png",
344
+ // Rendered from the current brand lockup (logo/shogo-logo-full{,-alt}.svg on
345
+ // shogo-website). Versioned filenames so the CDN's cached copy of the
346
+ // previous logo is never picked up by new sends.
347
+ LOGO_URL: "https://shogo.ai/assets/images/logo/shogo-logo-email-v2.png",
348
+ LOGO_DARK_URL: "https://shogo.ai/assets/images/logo/shogo-logo-dark-email-v2.png",
346
349
  FOOTER_TEXT: "© {{currentYear}} Shogo. All rights reserved"
347
350
  };
348
351
  var LIGHT_STYLES = `
@@ -509,8 +512,8 @@ function wrapInLayout(content) {
509
512
  <div class="email-container">
510
513
  <div class="email-header">
511
514
  <a href="${EMAIL_CONSTANTS.APP_URL}" style="display:inline-block;text-decoration:none;">
512
- <img class="email-logo-light" src="${EMAIL_CONSTANTS.LOGO_URL}" alt="${EMAIL_CONSTANTS.APP_NAME}" width="169" height="58" style="display:block;height:40px;width:auto;" />
513
- <img class="email-logo-dark" src="${EMAIL_CONSTANTS.LOGO_DARK_URL}" alt="${EMAIL_CONSTANTS.APP_NAME}" width="169" height="58" style="display:none;height:40px;width:auto;" />
515
+ <img class="email-logo-light" src="${EMAIL_CONSTANTS.LOGO_URL}" alt="${EMAIL_CONSTANTS.APP_NAME}" width="168" height="40" style="display:block;height:40px;width:auto;" />
516
+ <img class="email-logo-dark" src="${EMAIL_CONSTANTS.LOGO_DARK_URL}" alt="${EMAIL_CONSTANTS.APP_NAME}" width="168" height="40" style="display:none;height:40px;width:auto;" />
514
517
  </a>
515
518
  </div>
516
519
  <div class="email-content">
@@ -776,6 +779,33 @@ var paymentFailedTemplate = {
776
779
  }
777
780
  };
778
781
 
782
+ // src/templates/billing/payment-action-required.ts
783
+ var paymentActionRequiredTemplate = {
784
+ name: "payment-action-required",
785
+ subject: "Confirm your payment for {{workspaceName}}",
786
+ html: wrapInLayout(`
787
+ <h1 class="email-h1">Confirm Your Payment</h1>
788
+ <p class="email-text">
789
+ Your bank needs you to confirm the payment of <strong>{{currency}}{{amount}}</strong>
790
+ for <strong>{{workspaceName}}</strong> ({{planName}}). Nothing has been charged yet.
791
+ </p>
792
+ <p class="email-text">
793
+ This is a routine security check some banks require for recurring and
794
+ online payments. It only takes a moment.
795
+ </p>
796
+ <a href="{{confirmUrl}}" class="email-btn" style="color:#ffffff;text-decoration:none;">Confirm Payment</a>
797
+ <hr class="email-divider">
798
+ <p class="email-muted">
799
+ If you didn't expect this charge, please reply to this email or
800
+ contact support.
801
+ </p>
802
+ `),
803
+ defaults: {
804
+ appName: EMAIL_CONSTANTS.APP_NAME,
805
+ currency: "$"
806
+ }
807
+ };
808
+
779
809
  // src/templates/billing/usage-overage-charged.ts
780
810
  var usageOverageChargedTemplate = {
781
811
  name: "usage-overage-charged",
@@ -861,6 +891,25 @@ var memberJoinedTemplate = {
861
891
  }
862
892
  };
863
893
 
894
+ // src/templates/workspace/channel-digest.ts
895
+ var channelDigestTemplate = {
896
+ name: "channel-digest",
897
+ subject: "{{countLabel}} waiting in {{workspaceName}}",
898
+ html: wrapInLayout(`
899
+ <h1 class="email-h1">You have {{countLabel}}</h1>
900
+ <p class="email-text">Here's what you missed in <strong>{{workspaceName}}</strong>:</p>
901
+ <p class="email-text" style="white-space: pre-line;">{{summary}}</p>
902
+ <a href="{{channelsUrl}}" class="email-btn-outline">Open channels</a>
903
+ <p class="email-text" style="font-size: 12px; color: #888;">
904
+ You get this daily summary because email digests are on.
905
+ <a href="{{settingsUrl}}">Change notification settings</a>.
906
+ </p>
907
+ `),
908
+ defaults: {
909
+ appName: EMAIL_CONSTANTS.APP_NAME
910
+ }
911
+ };
912
+
864
913
  // src/templates/workspace/member-removed.ts
865
914
  var memberRemovedTemplate = {
866
915
  name: "member-removed",
@@ -909,6 +958,403 @@ var accountDeletedTemplate = {
909
958
  }
910
959
  };
911
960
 
961
+ // src/templates/lifecycle/drip.ts
962
+ var dripWelcomeTemplate = {
963
+ name: "drip-welcome",
964
+ subject: "Welcome to {{appName}} \u2014 your first agent is one message away",
965
+ html: wrapInLayout(`
966
+ <h1 class="email-h1">Hey {{name}},</h1>
967
+ <p class="email-text">
968
+ You just signed up for {{appName}} \u2014 a place where you build AI agents
969
+ by chatting with them. No YAML, no config files, just describe what you
970
+ want the agent to do.
971
+ </p>
972
+ <p class="email-text">
973
+ In the next 5 minutes you can have an agent that checks your GitHub PRs,
974
+ tracks your revenue, or manages your support queue \u2014 whatever you actually
975
+ need. Start with a template.
976
+ </p>
977
+ <a href="{{appUrl}}/templates" class="email-btn" style="color:#ffffff;text-decoration:none;">
978
+ Build your first agent \u2192
979
+ </a>
980
+ <hr class="email-divider">
981
+ <p class="email-muted">
982
+ Reply to this email any time \u2014 I read every one.
983
+ </p>
984
+ `),
985
+ defaults: {
986
+ appName: EMAIL_CONSTANTS.APP_NAME,
987
+ appUrl: EMAIL_CONSTANTS.APP_URL
988
+ }
989
+ };
990
+ var dripQuickWinTemplate = {
991
+ name: "drip-quick-win",
992
+ subject: "Start here: the Research Assistant takes 2 minutes",
993
+ html: wrapInLayout(`
994
+ <h1 class="email-h1">Your first agent in 2 minutes</h1>
995
+ <p class="email-text">Hi {{name}},</p>
996
+ <p class="email-text">
997
+ The fastest way to see what {{appName}} does is the Research Assistant.
998
+ It's pre-configured to search the web, summarize findings, and send you
999
+ a digest \u2014 no setup required beyond pointing it at a topic.
1000
+ </p>
1001
+ <p class="email-text">Three steps:</p>
1002
+ <p class="email-text">
1003
+ <strong>1.</strong> Open the template gallery<br>
1004
+ <strong>2.</strong> Install Research Assistant (one click)<br>
1005
+ <strong>3.</strong> Chat with it: <em>"Summarize the top AI news from this week"</em>
1006
+ </p>
1007
+ <a href="{{appUrl}}/templates" class="email-btn" style="color:#ffffff;text-decoration:none;">
1008
+ Install Research Assistant \u2192
1009
+ </a>
1010
+ <hr class="email-divider">
1011
+ <p class="email-muted">
1012
+ Takes 2 minutes. No integrations needed to start.
1013
+ </p>
1014
+ `),
1015
+ defaults: {
1016
+ appName: EMAIL_CONSTANTS.APP_NAME,
1017
+ appUrl: EMAIL_CONSTANTS.APP_URL
1018
+ }
1019
+ };
1020
+ var dripStuckNudgeTemplate = {
1021
+ name: "drip-stuck-nudge",
1022
+ subject: "Most people get stuck at this exact step",
1023
+ html: wrapInLayout(`
1024
+ <h1 class="email-h1">Stuck on setup?</h1>
1025
+ <p class="email-text">Hi {{name}},</p>
1026
+ <p class="email-text">
1027
+ I checked and you haven't created your first agent yet. The most common
1028
+ friction point is figuring out what to ask \u2014 it feels open-ended.
1029
+ </p>
1030
+ <p class="email-text">
1031
+ Here's the simplest starting prompt that works every time:
1032
+ </p>
1033
+ <p class="email-text" style="background:#f8f8f8;border-left:3px solid #e8853d;padding:12px 16px;border-radius:4px;font-style:italic;">
1034
+ "I want an agent that checks my GitHub for open pull requests each morning
1035
+ and sends me a Slack message with a summary."
1036
+ </p>
1037
+ <p class="email-text">
1038
+ Paste that, swap GitHub/Slack for your tools, and you have an agent in
1039
+ under 60 seconds.
1040
+ </p>
1041
+ <a href="{{appUrl}}" class="email-btn" style="color:#ffffff;text-decoration:none;">
1042
+ Resume setup \u2192
1043
+ </a>
1044
+ <hr class="email-divider">
1045
+ <p class="email-muted">
1046
+ Or just reply here \u2014 tell me what you're trying to automate and I'll help
1047
+ you set it up.
1048
+ </p>
1049
+ `),
1050
+ defaults: {
1051
+ appName: EMAIL_CONSTANTS.APP_NAME,
1052
+ appUrl: EMAIL_CONSTANTS.APP_URL
1053
+ }
1054
+ };
1055
+ var dripFirstActionTemplate = {
1056
+ name: "drip-first-action",
1057
+ subject: "Your agent is configured \u2014 now talk to it",
1058
+ html: wrapInLayout(`
1059
+ <h1 class="email-h1">{{agentName}} is ready</h1>
1060
+ <p class="email-text">Hi {{name}},</p>
1061
+ <p class="email-text">
1062
+ You created <strong>{{agentName}}</strong> \u2014 nice work. The last step is
1063
+ sending it a message so it knows what to do first.
1064
+ </p>
1065
+ <p class="email-text">
1066
+ Open the chat panel and try something like:
1067
+ </p>
1068
+ <p class="email-text" style="background:#f8f8f8;border-left:3px solid #e8853d;padding:12px 16px;border-radius:4px;font-style:italic;">
1069
+ "Check my GitHub for any open PRs that haven't been reviewed in 2+ days."
1070
+ </p>
1071
+ <p class="email-text">
1072
+ The first message is always the most satisfying \u2014 watch it actually go do
1073
+ something.
1074
+ </p>
1075
+ <a href="{{appUrl}}" class="email-btn" style="color:#ffffff;text-decoration:none;">
1076
+ Open {{agentName}} \u2192
1077
+ </a>
1078
+ `),
1079
+ defaults: {
1080
+ appName: EMAIL_CONSTANTS.APP_NAME,
1081
+ appUrl: EMAIL_CONSTANTS.APP_URL,
1082
+ agentName: "your agent"
1083
+ }
1084
+ };
1085
+ var dripSocialProofTemplate = {
1086
+ name: "drip-social-proof",
1087
+ subject: "What a 3-person startup is doing with Shogo",
1088
+ html: wrapInLayout(`
1089
+ <h1 class="email-h1">A real example</h1>
1090
+ <p class="email-text">Hi {{name}},</p>
1091
+ <p class="email-text">
1092
+ A small eng team uses three {{appName}} agents in production:
1093
+ </p>
1094
+ <p class="email-text">
1095
+ <strong>GitHub Ops</strong> \u2014 runs every morning, reviews all PRs opened
1096
+ in the last 24h, flags anything stale, and posts a summary to their
1097
+ #engineering Slack channel. Replaced a 15-minute standup ritual.
1098
+ </p>
1099
+ <p class="email-text">
1100
+ <strong>Revenue Tracker</strong> \u2014 pulls MRR from Stripe each Monday,
1101
+ compares it to the prior week, and sends a one-paragraph summary to the
1102
+ founder. Takes 8 seconds.
1103
+ </p>
1104
+ <p class="email-text">
1105
+ <strong>Incident Commander</strong> \u2014 watches their Sentry error feed,
1106
+ auto-groups similar errors, and creates Linear tickets with severity tags.
1107
+ Zero manual triage.
1108
+ </p>
1109
+ <p class="email-text">
1110
+ Every one of these started with a single chat message. None required any
1111
+ code.
1112
+ </p>
1113
+ <a href="{{appUrl}}/templates" class="email-btn" style="color:#ffffff;text-decoration:none;">
1114
+ See all templates \u2192
1115
+ </a>
1116
+ `),
1117
+ defaults: {
1118
+ appName: EMAIL_CONSTANTS.APP_NAME,
1119
+ appUrl: EMAIL_CONSTANTS.APP_URL
1120
+ }
1121
+ };
1122
+ var dripReEngagementTemplate = {
1123
+ name: "drip-re-engagement",
1124
+ subject: "{{agentName}} hasn't heard from you yet",
1125
+ html: wrapInLayout(`
1126
+ <h1 class="email-h1">Still there?</h1>
1127
+ <p class="email-text">Hi {{name}},</p>
1128
+ <p class="email-text">
1129
+ You set up <strong>{{agentName}}</strong> a few days ago but haven't sent
1130
+ it a message yet. That's the one missing step before it's actually useful.
1131
+ </p>
1132
+ <p class="email-text">
1133
+ Takes 30 seconds \u2014 open the agent, type one request, and see what happens.
1134
+ If it does something useful, great. If it doesn't, reply to this email and
1135
+ tell me what it got wrong \u2014 that's useful feedback too.
1136
+ </p>
1137
+ <a href="{{appUrl}}" class="email-btn" style="color:#ffffff;text-decoration:none;">
1138
+ Open {{agentName}} \u2192
1139
+ </a>
1140
+ <hr class="email-divider">
1141
+ <p class="email-muted">
1142
+ If {{appName}} isn't the right fit right now, no hard feelings \u2014 just reply
1143
+ and let me know what you were hoping it would do.
1144
+ </p>
1145
+ `),
1146
+ defaults: {
1147
+ appName: EMAIL_CONSTANTS.APP_NAME,
1148
+ appUrl: EMAIL_CONSTANTS.APP_URL,
1149
+ agentName: "your agent"
1150
+ }
1151
+ };
1152
+ var dripPowerUpTemplate = {
1153
+ name: "drip-power-up",
1154
+ subject: "Your agent just did something useful \u2014 here's the next level",
1155
+ html: wrapInLayout(`
1156
+ <h1 class="email-h1">Nice \u2014 your agent is working</h1>
1157
+ <p class="email-text">Hi {{name}},</p>
1158
+ <p class="email-text">
1159
+ Your agent just executed its first tool call. That's the real milestone \u2014
1160
+ it's not just chatting, it's actually doing things.
1161
+ </p>
1162
+ <p class="email-text">
1163
+ The next level is connecting more tools. {{appName}} has 250+ integrations
1164
+ \u2014 GitHub, Slack, Linear, Stripe, Sentry, Google Sheets, Notion, and more.
1165
+ Each one you connect makes your agent more capable.
1166
+ </p>
1167
+ <p class="email-text">
1168
+ Go to <strong>Settings \u2192 Integrations</strong> and connect the tools your
1169
+ agent should be able to use.
1170
+ </p>
1171
+ <a href="{{appUrl}}/integrations" class="email-btn" style="color:#ffffff;text-decoration:none;">
1172
+ Connect your first tool \u2192
1173
+ </a>
1174
+ `),
1175
+ defaults: {
1176
+ appName: EMAIL_CONSTANTS.APP_NAME,
1177
+ appUrl: EMAIL_CONSTANTS.APP_URL
1178
+ }
1179
+ };
1180
+ var dripHeartbeatTemplate = {
1181
+ name: "drip-heartbeat",
1182
+ subject: "Your agent can work while you sleep",
1183
+ html: wrapInLayout(`
1184
+ <h1 class="email-h1">Set it on autopilot</h1>
1185
+ <p class="email-text">Hi {{name}},</p>
1186
+ <p class="email-text">
1187
+ You've been chatting with your agent \u2014 now let it run on a schedule
1188
+ without you having to ask.
1189
+ </p>
1190
+ <p class="email-text">
1191
+ The <strong>Heartbeat</strong> feature wakes your agent on a timer \u2014
1192
+ every hour, every morning at 8am, every Monday \u2014 whatever makes sense.
1193
+ When it wakes up, it checks in, looks for work, and acts.
1194
+ </p>
1195
+ <p class="email-text">
1196
+ Example: "Every morning at 8am, check GitHub for PRs that need review and
1197
+ post a summary to Slack." That's one heartbeat. Your agent does it
1198
+ automatically, every day, without you touching it.
1199
+ </p>
1200
+ <p class="email-text">
1201
+ Go to your agent's settings and enable the Heartbeat. Pick an interval
1202
+ and a schedule. That's it.
1203
+ </p>
1204
+ <a href="{{appUrl}}" class="email-btn" style="color:#ffffff;text-decoration:none;">
1205
+ Set your first heartbeat \u2192
1206
+ </a>
1207
+ `),
1208
+ defaults: {
1209
+ appName: EMAIL_CONSTANTS.APP_NAME,
1210
+ appUrl: EMAIL_CONSTANTS.APP_URL
1211
+ }
1212
+ };
1213
+
1214
+ // src/templates/lifecycle/conversion.ts
1215
+ var conversionUsageLimitTemplate = {
1216
+ name: "conversion-usage-limit",
1217
+ subject: "You maxed out your free {{appName}} window \u2014 Pro is 10\xD7 bigger",
1218
+ html: wrapInLayout(`
1219
+ <span class="email-badge">Time to upgrade</span>
1220
+ <h1 class="email-h1" style="margin-top:16px;">You're outgrowing the free plan</h1>
1221
+ <p class="email-text">Hi {{name}},</p>
1222
+ <p class="email-text">
1223
+ You just hit your free usage window \u2014 which means your agents are doing
1224
+ real work for you. The free tier is capped low on purpose. Pro takes the
1225
+ brakes off.
1226
+ </p>
1227
+ <p class="email-text">
1228
+ Here's what changes the moment you upgrade:
1229
+ </p>
1230
+ <div style="background:#f8f8f8;border-radius:8px;padding:16px 20px;margin:0 0 16px;">
1231
+ <div class="email-detail-row">
1232
+ <span class="email-detail-label">Usage window (5h)</span>
1233
+ <span class="email-detail-value">{{freeWindow}} \u2192 {{proWindow}} (10\xD7)</span>
1234
+ </div>
1235
+ <div class="email-detail-row">
1236
+ <span class="email-detail-label">Advanced AI models</span>
1237
+ <span class="email-detail-value">Claude Sonnet, GPT-4o &amp; more</span>
1238
+ </div>
1239
+ <div class="email-detail-row">
1240
+ <span class="email-detail-label">Always-on apps</span>
1241
+ <span class="email-detail-value">1 per seat</span>
1242
+ </div>
1243
+ <div class="email-detail-row" style="border-bottom:none;">
1244
+ <span class="email-detail-label">Waiting on window resets</span>
1245
+ <span class="email-detail-value">Rarely \u2014 10\xD7 more headroom</span>
1246
+ </div>
1247
+ </div>
1248
+ <p class="email-text">
1249
+ Pro is <strong>$20/seat/month</strong>. If your agents save you more than
1250
+ an hour a week, it's already paid for itself \u2014 and you stop losing momentum
1251
+ every time the free window fills up.
1252
+ </p>
1253
+ <a href="{{appUrl}}/billing?plan=pro" class="email-btn" style="color:#ffffff;text-decoration:none;">
1254
+ Upgrade to Pro \u2192
1255
+ </a>
1256
+ <p class="email-muted">
1257
+ Prefer to save 2 months? <a href="{{appUrl}}/billing?plan=pro&amp;interval=annual" style="color:#e8853d;text-decoration:none;font-weight:600;">Get Pro annual for $200/yr \u2192</a>
1258
+ </p>
1259
+ <hr class="email-divider">
1260
+ <p class="email-muted">
1261
+ Not ready yet? Your free window resets automatically \u2014 no action needed.
1262
+ Questions about what's included? Just reply to this email.
1263
+ </p>
1264
+ `),
1265
+ defaults: {
1266
+ appName: EMAIL_CONSTANTS.APP_NAME,
1267
+ appUrl: EMAIL_CONSTANTS.APP_URL,
1268
+ freeWindow: "$0.20",
1269
+ proWindow: "$1.96"
1270
+ }
1271
+ };
1272
+ var conversionPowerUserTemplate = {
1273
+ name: "conversion-power-user",
1274
+ subject: "You're in the top tier of {{appName}} free users",
1275
+ html: wrapInLayout(`
1276
+ <h1 class="email-h1">You're a power user on the free plan</h1>
1277
+ <p class="email-text">Hi {{name}},</p>
1278
+ <p class="email-text">
1279
+ You've sent <strong>{{messageCount}} messages</strong> to your agents \u2014
1280
+ you're one of the most active users on the free plan. That's worth
1281
+ acknowledging.
1282
+ </p>
1283
+ <p class="email-text">
1284
+ You're currently limited to economy AI models and small usage windows.
1285
+ Pro unlocks:
1286
+ </p>
1287
+ <div style="background:#f8f8f8;border-radius:8px;padding:16px 20px;margin:0 0 16px;">
1288
+ <div class="email-detail-row">
1289
+ <span class="email-detail-label">AI models</span>
1290
+ <span class="email-detail-value">Claude Sonnet, GPT-4o, and more</span>
1291
+ </div>
1292
+ <div class="email-detail-row">
1293
+ <span class="email-detail-label">Usage windows</span>
1294
+ <span class="email-detail-value">10\xD7 larger</span>
1295
+ </div>
1296
+ <div class="email-detail-row">
1297
+ <span class="email-detail-label">Always-on apps</span>
1298
+ <span class="email-detail-value">1 per seat</span>
1299
+ </div>
1300
+ <div class="email-detail-row" style="border-bottom:none;">
1301
+ <span class="email-detail-label">Annual pricing</span>
1302
+ <span class="email-detail-value">$200/yr (2 months free)</span>
1303
+ </div>
1304
+ </div>
1305
+ <p class="email-text">
1306
+ Annual is the smart move if you plan to stick around \u2014 same Pro features,
1307
+ billed once a year.
1308
+ </p>
1309
+ <a href="{{appUrl}}/billing?plan=pro&interval=annual" class="email-btn" style="color:#ffffff;text-decoration:none;">
1310
+ Get Pro annual ($200/yr) \u2192
1311
+ </a>
1312
+ <hr class="email-divider">
1313
+ <p class="email-muted">
1314
+ Monthly is also available at $20/seat/month if you prefer.
1315
+ </p>
1316
+ `),
1317
+ defaults: {
1318
+ appName: EMAIL_CONSTANTS.APP_NAME,
1319
+ appUrl: EMAIL_CONSTANTS.APP_URL,
1320
+ messageCount: "several"
1321
+ }
1322
+ };
1323
+ var conversionWinBackTemplate = {
1324
+ name: "conversion-win-back",
1325
+ subject: "{{agentName}} hasn't heard from you in a week",
1326
+ html: wrapInLayout(`
1327
+ <h1 class="email-h1">It's been a while</h1>
1328
+ <p class="email-text">Hi {{name}},</p>
1329
+ <p class="email-text">
1330
+ <strong>{{agentName}}</strong> hasn't heard from you in a week. That's
1331
+ fine \u2014 sometimes the timing isn't right.
1332
+ </p>
1333
+ <p class="email-text">
1334
+ If you left because something wasn't working, reply to this and tell me.
1335
+ I'd rather fix the issue than lose you.
1336
+ </p>
1337
+ <p class="email-text">
1338
+ If life just got busy: your agent is still there, still configured, still
1339
+ ready. One message and you're back up.
1340
+ </p>
1341
+ <a href="{{appUrl}}" class="email-btn" style="color:#ffffff;text-decoration:none;">
1342
+ Check in with {{agentName}} \u2192
1343
+ </a>
1344
+ <hr class="email-divider">
1345
+ <p class="email-muted">
1346
+ Pro tip: enable the Heartbeat on your agent so it works even when you're
1347
+ not thinking about it \u2014 that's how people get the most value from
1348
+ {{appName}}.
1349
+ </p>
1350
+ `),
1351
+ defaults: {
1352
+ appName: EMAIL_CONSTANTS.APP_NAME,
1353
+ appUrl: EMAIL_CONSTANTS.APP_URL,
1354
+ agentName: "your agent"
1355
+ }
1356
+ };
1357
+
912
1358
  // src/templates/index.ts
913
1359
  var allTemplates = [
914
1360
  welcomeTemplate2,
@@ -920,11 +1366,26 @@ var allTemplates = [
920
1366
  planUpgradedTemplate,
921
1367
  paymentReceiptTemplate,
922
1368
  paymentFailedTemplate,
1369
+ paymentActionRequiredTemplate,
923
1370
  usageOverageChargedTemplate,
924
1371
  usageApproachingLimitTemplate,
925
1372
  memberJoinedTemplate,
926
1373
  memberRemovedTemplate,
927
- accountDeletedTemplate
1374
+ channelDigestTemplate,
1375
+ accountDeletedTemplate,
1376
+ // Lifecycle — Drip
1377
+ dripWelcomeTemplate,
1378
+ dripQuickWinTemplate,
1379
+ dripStuckNudgeTemplate,
1380
+ dripFirstActionTemplate,
1381
+ dripSocialProofTemplate,
1382
+ dripReEngagementTemplate,
1383
+ dripPowerUpTemplate,
1384
+ dripHeartbeatTemplate,
1385
+ // Lifecycle — Conversion
1386
+ conversionUsageLimitTemplate,
1387
+ conversionPowerUserTemplate,
1388
+ conversionWinBackTemplate
928
1389
  ];
929
1390
  function createShogoTemplateRegistry() {
930
1391
  const registry = new EmailTemplateRegistry();
@@ -952,4 +1413,4 @@ export {
952
1413
  allTemplates,
953
1414
  createShogoTemplateRegistry
954
1415
  };
955
- //# sourceMappingURL=chunk-AHEPUREO.js.map
1416
+ //# sourceMappingURL=chunk-NKFT5JLE.js.map