@agent-native/core 0.139.0 → 0.141.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.
- package/corpus/README.md +1 -1
- package/corpus/templates/analytics/actions/query-agent-native-analytics.ts +1 -1
- package/corpus/templates/analytics/changelog/2026-08-05-historical-analytics-rollups-stay-complete-and-atomic.md +6 -0
- package/corpus/templates/analytics/server/lib/dashboard-report.ts +0 -2
- package/corpus/templates/analytics/server/lib/first-party-analytics-rollups.ts +11 -6
- package/corpus/templates/analytics/server/lib/first-party-analytics.ts +8 -18
- package/corpus/templates/analytics/server/plugins/db.ts +174 -0
- package/corpus/templates/calendar/app/components/calendar/OutOfOfficeEvent.tsx +38 -38
- package/corpus/templates/calendar/changelog/2026-08-05-out-of-office-blocks-now-open-from-their-scheduled-time-rang.md +6 -0
- package/corpus/templates/calendar/server/lib/booking-emails.ts +70 -154
- package/corpus/templates/calendar/server/lib/event-guest-notifications.ts +28 -64
- package/corpus/templates/clips/actions/get-recording-player-data.ts +1 -0
- package/corpus/templates/clips/actions/invite-member.ts +16 -39
- package/corpus/templates/clips/app/components/player/comments-panel.tsx +2 -3
- package/corpus/templates/clips/app/components/player/reaction-emojis.ts +10 -0
- package/corpus/templates/clips/app/components/player/reactions-tray.tsx +2 -2
- package/corpus/templates/clips/app/components/player/video-player.tsx +20 -6
- package/corpus/templates/clips/app/routes/embed.$shareId.tsx +33 -0
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +5 -1
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +27 -1
- package/corpus/templates/clips/changelog/2026-08-05-comment-and-video-reaction-pickers-now-include-eyes-and-mind.md +6 -0
- package/corpus/templates/clips/changelog/2026-08-05-fresh-recordings-now-open-with-the-complete-video.md +6 -0
- package/corpus/templates/clips/server/lib/transactional-email-templates.ts +0 -24
- package/corpus/templates/clips/server/routes/api/public-recording.get.ts +1 -0
- package/corpus/templates/content/server/lib/comment-notifications.ts +26 -57
- package/corpus/templates/design/app/components/design/edit-panel/stroke-properties.tsx +16 -3
- package/corpus/templates/forms/server/lib/response-email.ts +0 -2
- package/corpus/templates/plan/actions/request-plan-access.ts +12 -33
- package/corpus/templates/plan/server/lib/comment-notifications.ts +27 -53
- package/corpus/templates/slides/server/lib/comment-notifications.ts +21 -44
- package/dist/a2a/handlers.js +9 -10
- package/dist/collab/routes.d.ts +1 -1
- package/dist/db/client.js +8 -8
- package/dist/db/migrations.js +39 -19
- package/dist/file-upload/actions/upload-image.d.ts +1 -1
- package/dist/localization/default-messages.d.ts +0 -45
- package/dist/localization/default-messages.js +0 -45
- package/dist/notifications/routes.d.ts +5 -5
- package/dist/observability/routes.d.ts +3 -3
- package/dist/org/handlers.js +1 -8
- package/dist/provider-api/actions/custom-provider-registration.d.ts +8 -8
- package/dist/provider-api/actions/provider-api.d.ts +12 -12
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/action-discovery.js +0 -22
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/auth.js +3 -1
- package/dist/server/better-auth-instance.js +2 -17
- package/dist/server/email.d.ts +0 -9
- package/dist/server/email.js +3 -44
- package/dist/server/index.d.ts +0 -1
- package/dist/server/index.js +0 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +3 -2
- package/docs/content/authentication.mdx +25 -19
- package/package.json +2 -1
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +3 -2
- package/corpus/templates/analytics/server/lib/emails.ts +0 -51
- package/corpus/templates/analytics/server/plugins/transactional-emails.ts +0 -5
- package/corpus/templates/calendar/server/lib/emails.ts +0 -167
- package/corpus/templates/calendar/server/plugins/transactional-emails.ts +0 -5
- package/corpus/templates/clips/server/lib/emails.ts +0 -256
- package/corpus/templates/clips/server/plugins/transactional-email-catalog.ts +0 -5
- package/corpus/templates/content/server/lib/emails.ts +0 -70
- package/corpus/templates/content/server/plugins/transactional-emails.ts +0 -5
- package/corpus/templates/dispatch/app/routes/transactional-email.$appId.$id.tsx +0 -4
- package/corpus/templates/dispatch/app/routes/transactional-email.tsx +0 -4
- package/corpus/templates/forms/server/lib/emails.ts +0 -52
- package/corpus/templates/forms/server/plugins/transactional-emails.ts +0 -5
- package/corpus/templates/plan/server/lib/emails.ts +0 -67
- package/corpus/templates/plan/server/plugins/transactional-emails.ts +0 -5
- package/corpus/templates/slides/server/lib/emails.ts +0 -40
- package/corpus/templates/slides/server/plugins/transactional-emails.ts +0 -5
- package/dist/email-catalog/actions/list-email-activity.d.ts +0 -6
- package/dist/email-catalog/actions/list-email-activity.js +0 -15
- package/dist/email-catalog/actions/list-email-engagement.d.ts +0 -6
- package/dist/email-catalog/actions/list-email-engagement.js +0 -15
- package/dist/email-catalog/actions/list-email-log.d.ts +0 -8
- package/dist/email-catalog/actions/list-email-log.js +0 -22
- package/dist/email-catalog/actions/list-transactional-emails.d.ts +0 -23
- package/dist/email-catalog/actions/list-transactional-emails.js +0 -61
- package/dist/email-catalog/actions/render-transactional-email-preview.d.ts +0 -10
- package/dist/email-catalog/actions/render-transactional-email-preview.js +0 -24
- package/dist/email-catalog/authorize.d.ts +0 -2
- package/dist/email-catalog/authorize.js +0 -10
- package/dist/email-catalog/log.d.ts +0 -57
- package/dist/email-catalog/log.js +0 -117
- package/dist/email-catalog/provider-metrics.d.ts +0 -34
- package/dist/email-catalog/provider-metrics.js +0 -165
- package/dist/email-catalog/registry.d.ts +0 -79
- package/dist/email-catalog/registry.js +0 -71
- package/dist/email-catalog/schema.d.ts +0 -212
- package/dist/email-catalog/schema.js +0 -49
- package/dist/email-catalog/system-emails.d.ts +0 -14
- package/dist/email-catalog/system-emails.js +0 -68
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Drizzle schema for the transactional email send log.
|
|
3
|
-
*
|
|
4
|
-
* One row per `sendEmail` attempt, written by the transport itself so every
|
|
5
|
-
* send is recorded regardless of which app or code path triggered it. This is
|
|
6
|
-
* the durable record of "did we send it": the provider's own activity feed ages
|
|
7
|
-
* out (SendGrid keeps 3 days without the extended-retention add-on), so send
|
|
8
|
-
* counts and last-sent must not depend on it.
|
|
9
|
-
*
|
|
10
|
-
* Engagement (opens, clicks, bounces) is deliberately NOT stored here. Only the
|
|
11
|
-
* provider knows it, and mirroring it would go stale the moment a recipient
|
|
12
|
-
* opens an old message. Dispatch reads engagement live from the provider and
|
|
13
|
-
* joins on `template_id`.
|
|
14
|
-
*/
|
|
15
|
-
export declare const emailLog: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
16
|
-
name: "email_log";
|
|
17
|
-
schema: undefined;
|
|
18
|
-
columns: {
|
|
19
|
-
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
20
|
-
name: "id";
|
|
21
|
-
tableName: "email_log";
|
|
22
|
-
dataType: "string";
|
|
23
|
-
columnType: "SQLiteText";
|
|
24
|
-
data: string;
|
|
25
|
-
driverParam: string;
|
|
26
|
-
notNull: true;
|
|
27
|
-
hasDefault: false;
|
|
28
|
-
isPrimaryKey: true;
|
|
29
|
-
isAutoincrement: false;
|
|
30
|
-
hasRuntimeDefault: false;
|
|
31
|
-
enumValues: [string, ...string[]];
|
|
32
|
-
baseColumn: never;
|
|
33
|
-
identity: undefined;
|
|
34
|
-
generated: undefined;
|
|
35
|
-
}, {}, {
|
|
36
|
-
length: number;
|
|
37
|
-
}>;
|
|
38
|
-
templateId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
39
|
-
name: "template_id";
|
|
40
|
-
tableName: "email_log";
|
|
41
|
-
dataType: "string";
|
|
42
|
-
columnType: "SQLiteText";
|
|
43
|
-
data: string;
|
|
44
|
-
driverParam: string;
|
|
45
|
-
notNull: false;
|
|
46
|
-
hasDefault: false;
|
|
47
|
-
isPrimaryKey: false;
|
|
48
|
-
isAutoincrement: false;
|
|
49
|
-
hasRuntimeDefault: false;
|
|
50
|
-
enumValues: [string, ...string[]];
|
|
51
|
-
baseColumn: never;
|
|
52
|
-
identity: undefined;
|
|
53
|
-
generated: undefined;
|
|
54
|
-
}, {}, {
|
|
55
|
-
length: number;
|
|
56
|
-
}>;
|
|
57
|
-
app: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
58
|
-
name: "app";
|
|
59
|
-
tableName: "email_log";
|
|
60
|
-
dataType: "string";
|
|
61
|
-
columnType: "SQLiteText";
|
|
62
|
-
data: string;
|
|
63
|
-
driverParam: string;
|
|
64
|
-
notNull: false;
|
|
65
|
-
hasDefault: false;
|
|
66
|
-
isPrimaryKey: false;
|
|
67
|
-
isAutoincrement: false;
|
|
68
|
-
hasRuntimeDefault: false;
|
|
69
|
-
enumValues: [string, ...string[]];
|
|
70
|
-
baseColumn: never;
|
|
71
|
-
identity: undefined;
|
|
72
|
-
generated: undefined;
|
|
73
|
-
}, {}, {
|
|
74
|
-
length: number;
|
|
75
|
-
}>;
|
|
76
|
-
recipient: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
77
|
-
name: "recipient";
|
|
78
|
-
tableName: "email_log";
|
|
79
|
-
dataType: "string";
|
|
80
|
-
columnType: "SQLiteText";
|
|
81
|
-
data: string;
|
|
82
|
-
driverParam: string;
|
|
83
|
-
notNull: true;
|
|
84
|
-
hasDefault: false;
|
|
85
|
-
isPrimaryKey: false;
|
|
86
|
-
isAutoincrement: false;
|
|
87
|
-
hasRuntimeDefault: false;
|
|
88
|
-
enumValues: [string, ...string[]];
|
|
89
|
-
baseColumn: never;
|
|
90
|
-
identity: undefined;
|
|
91
|
-
generated: undefined;
|
|
92
|
-
}, {}, {
|
|
93
|
-
length: number;
|
|
94
|
-
}>;
|
|
95
|
-
sender: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
96
|
-
name: "sender";
|
|
97
|
-
tableName: "email_log";
|
|
98
|
-
dataType: "string";
|
|
99
|
-
columnType: "SQLiteText";
|
|
100
|
-
data: string;
|
|
101
|
-
driverParam: string;
|
|
102
|
-
notNull: true;
|
|
103
|
-
hasDefault: false;
|
|
104
|
-
isPrimaryKey: false;
|
|
105
|
-
isAutoincrement: false;
|
|
106
|
-
hasRuntimeDefault: false;
|
|
107
|
-
enumValues: [string, ...string[]];
|
|
108
|
-
baseColumn: never;
|
|
109
|
-
identity: undefined;
|
|
110
|
-
generated: undefined;
|
|
111
|
-
}, {}, {
|
|
112
|
-
length: number;
|
|
113
|
-
}>;
|
|
114
|
-
subject: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
115
|
-
name: "subject";
|
|
116
|
-
tableName: "email_log";
|
|
117
|
-
dataType: "string";
|
|
118
|
-
columnType: "SQLiteText";
|
|
119
|
-
data: string;
|
|
120
|
-
driverParam: string;
|
|
121
|
-
notNull: true;
|
|
122
|
-
hasDefault: false;
|
|
123
|
-
isPrimaryKey: false;
|
|
124
|
-
isAutoincrement: false;
|
|
125
|
-
hasRuntimeDefault: false;
|
|
126
|
-
enumValues: [string, ...string[]];
|
|
127
|
-
baseColumn: never;
|
|
128
|
-
identity: undefined;
|
|
129
|
-
generated: undefined;
|
|
130
|
-
}, {}, {
|
|
131
|
-
length: number;
|
|
132
|
-
}>;
|
|
133
|
-
status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
134
|
-
name: "status";
|
|
135
|
-
tableName: "email_log";
|
|
136
|
-
dataType: "string";
|
|
137
|
-
columnType: "SQLiteText";
|
|
138
|
-
data: "failed" | "sent";
|
|
139
|
-
driverParam: string;
|
|
140
|
-
notNull: true;
|
|
141
|
-
hasDefault: false;
|
|
142
|
-
isPrimaryKey: false;
|
|
143
|
-
isAutoincrement: false;
|
|
144
|
-
hasRuntimeDefault: false;
|
|
145
|
-
enumValues: ["sent", "failed"];
|
|
146
|
-
baseColumn: never;
|
|
147
|
-
identity: undefined;
|
|
148
|
-
generated: undefined;
|
|
149
|
-
}, {}, {
|
|
150
|
-
length: number;
|
|
151
|
-
}>;
|
|
152
|
-
error: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
153
|
-
name: "error";
|
|
154
|
-
tableName: "email_log";
|
|
155
|
-
dataType: "string";
|
|
156
|
-
columnType: "SQLiteText";
|
|
157
|
-
data: string;
|
|
158
|
-
driverParam: string;
|
|
159
|
-
notNull: false;
|
|
160
|
-
hasDefault: false;
|
|
161
|
-
isPrimaryKey: false;
|
|
162
|
-
isAutoincrement: false;
|
|
163
|
-
hasRuntimeDefault: false;
|
|
164
|
-
enumValues: [string, ...string[]];
|
|
165
|
-
baseColumn: never;
|
|
166
|
-
identity: undefined;
|
|
167
|
-
generated: undefined;
|
|
168
|
-
}, {}, {
|
|
169
|
-
length: number;
|
|
170
|
-
}>;
|
|
171
|
-
provider: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
172
|
-
name: "provider";
|
|
173
|
-
tableName: "email_log";
|
|
174
|
-
dataType: "string";
|
|
175
|
-
columnType: "SQLiteText";
|
|
176
|
-
data: string;
|
|
177
|
-
driverParam: string;
|
|
178
|
-
notNull: true;
|
|
179
|
-
hasDefault: false;
|
|
180
|
-
isPrimaryKey: false;
|
|
181
|
-
isAutoincrement: false;
|
|
182
|
-
hasRuntimeDefault: false;
|
|
183
|
-
enumValues: [string, ...string[]];
|
|
184
|
-
baseColumn: never;
|
|
185
|
-
identity: undefined;
|
|
186
|
-
generated: undefined;
|
|
187
|
-
}, {}, {
|
|
188
|
-
length: number;
|
|
189
|
-
}>;
|
|
190
|
-
createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
191
|
-
name: "created_at";
|
|
192
|
-
tableName: "email_log";
|
|
193
|
-
dataType: "number";
|
|
194
|
-
columnType: "SQLiteInteger";
|
|
195
|
-
data: number;
|
|
196
|
-
driverParam: number;
|
|
197
|
-
notNull: true;
|
|
198
|
-
hasDefault: false;
|
|
199
|
-
isPrimaryKey: false;
|
|
200
|
-
isAutoincrement: false;
|
|
201
|
-
hasRuntimeDefault: false;
|
|
202
|
-
enumValues: undefined;
|
|
203
|
-
baseColumn: never;
|
|
204
|
-
identity: undefined;
|
|
205
|
-
generated: undefined;
|
|
206
|
-
}, {}, {}>;
|
|
207
|
-
};
|
|
208
|
-
dialect: 'sqlite';
|
|
209
|
-
}>;
|
|
210
|
-
export declare const EMAIL_LOG_CREATE_SQL = "CREATE TABLE IF NOT EXISTS email_log (\n id TEXT PRIMARY KEY,\n template_id TEXT,\n app TEXT,\n recipient TEXT NOT NULL,\n sender TEXT NOT NULL,\n subject TEXT NOT NULL,\n status TEXT NOT NULL,\n error TEXT,\n provider TEXT NOT NULL,\n created_at INTEGER NOT NULL\n)";
|
|
211
|
-
export declare const EMAIL_LOG_TEMPLATE_INDEX_SQL = "CREATE INDEX IF NOT EXISTS email_log_template_created_idx\n ON email_log (template_id, created_at)";
|
|
212
|
-
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Drizzle schema for the transactional email send log.
|
|
3
|
-
*
|
|
4
|
-
* One row per `sendEmail` attempt, written by the transport itself so every
|
|
5
|
-
* send is recorded regardless of which app or code path triggered it. This is
|
|
6
|
-
* the durable record of "did we send it": the provider's own activity feed ages
|
|
7
|
-
* out (SendGrid keeps 3 days without the extended-retention add-on), so send
|
|
8
|
-
* counts and last-sent must not depend on it.
|
|
9
|
-
*
|
|
10
|
-
* Engagement (opens, clicks, bounces) is deliberately NOT stored here. Only the
|
|
11
|
-
* provider knows it, and mirroring it would go stale the moment a recipient
|
|
12
|
-
* opens an old message. Dispatch reads engagement live from the provider and
|
|
13
|
-
* joins on `template_id`.
|
|
14
|
-
*/
|
|
15
|
-
import { table, text, integer } from "../db/schema.js";
|
|
16
|
-
export const emailLog = table("email_log", {
|
|
17
|
-
id: text("id").primaryKey(),
|
|
18
|
-
/** Registered transactional email id, e.g. "calendar.booking-confirmed". */
|
|
19
|
-
templateId: text("template_id"),
|
|
20
|
-
/** App slug that sent it. */
|
|
21
|
-
app: text("app"),
|
|
22
|
-
/** Recipient address. */
|
|
23
|
-
recipient: text("recipient").notNull(),
|
|
24
|
-
/** Resolved From address, after app-sender branding is applied. */
|
|
25
|
-
sender: text("sender").notNull(),
|
|
26
|
-
subject: text("subject").notNull(),
|
|
27
|
-
/** "sent" once the provider accepted it, or "failed". Never optimistic. */
|
|
28
|
-
status: text("status", { enum: ["sent", "failed"] }).notNull(),
|
|
29
|
-
/** Provider error text when status is "failed". */
|
|
30
|
-
error: text("error"),
|
|
31
|
-
/** "resend" | "sendgrid" | "dev". */
|
|
32
|
-
provider: text("provider").notNull(),
|
|
33
|
-
createdAt: integer("created_at").notNull(),
|
|
34
|
-
});
|
|
35
|
-
export const EMAIL_LOG_CREATE_SQL = `CREATE TABLE IF NOT EXISTS email_log (
|
|
36
|
-
id TEXT PRIMARY KEY,
|
|
37
|
-
template_id TEXT,
|
|
38
|
-
app TEXT,
|
|
39
|
-
recipient TEXT NOT NULL,
|
|
40
|
-
sender TEXT NOT NULL,
|
|
41
|
-
subject TEXT NOT NULL,
|
|
42
|
-
status TEXT NOT NULL,
|
|
43
|
-
error TEXT,
|
|
44
|
-
provider TEXT NOT NULL,
|
|
45
|
-
created_at INTEGER NOT NULL
|
|
46
|
-
)`;
|
|
47
|
-
export const EMAIL_LOG_TEMPLATE_INDEX_SQL = `CREATE INDEX IF NOT EXISTS email_log_template_created_idx
|
|
48
|
-
ON email_log (template_id, created_at)`;
|
|
49
|
-
//# sourceMappingURL=schema.js.map
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Catalog entries for the framework's own system emails.
|
|
3
|
-
*
|
|
4
|
-
* These ship with every app rather than belonging to one, so they register
|
|
5
|
-
* under the `core` app instead of the running app's slug. Importing this module
|
|
6
|
-
* performs the registration; `register-system-emails.ts` is the single import
|
|
7
|
-
* site so the emails appear in every app's catalog without each template
|
|
8
|
-
* remembering to opt in.
|
|
9
|
-
*/
|
|
10
|
-
export declare const CORE_INVITE_EMAIL_ID = "core.organization-invite";
|
|
11
|
-
export declare const CORE_VERIFY_SIGNUP_EMAIL_ID = "core.verify-signup";
|
|
12
|
-
export declare const CORE_RESET_PASSWORD_EMAIL_ID = "core.reset-password";
|
|
13
|
-
export declare function registerCoreSystemEmails(): void;
|
|
14
|
-
//# sourceMappingURL=system-emails.d.ts.map
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Catalog entries for the framework's own system emails.
|
|
3
|
-
*
|
|
4
|
-
* These ship with every app rather than belonging to one, so they register
|
|
5
|
-
* under the `core` app instead of the running app's slug. Importing this module
|
|
6
|
-
* performs the registration; `register-system-emails.ts` is the single import
|
|
7
|
-
* site so the emails appear in every app's catalog without each template
|
|
8
|
-
* remembering to opt in.
|
|
9
|
-
*/
|
|
10
|
-
import { renderInviteEmail, renderResetPasswordEmail, renderVerifySignupEmail, } from "../server/email-templates.js";
|
|
11
|
-
import { defineTransactionalEmail } from "./registry.js";
|
|
12
|
-
/** Obviously-fake sample data — these render in a preview pane, never send. */
|
|
13
|
-
const SAMPLE_URL = "https://example.com/accept/sample-token";
|
|
14
|
-
const SAMPLE_EMAIL = "sam.rivera@example.com";
|
|
15
|
-
export const CORE_INVITE_EMAIL_ID = "core.organization-invite";
|
|
16
|
-
export const CORE_VERIFY_SIGNUP_EMAIL_ID = "core.verify-signup";
|
|
17
|
-
export const CORE_RESET_PASSWORD_EMAIL_ID = "core.reset-password";
|
|
18
|
-
let registered = false;
|
|
19
|
-
export function registerCoreSystemEmails() {
|
|
20
|
-
if (registered)
|
|
21
|
-
return;
|
|
22
|
-
registered = true;
|
|
23
|
-
defineTransactionalEmail({
|
|
24
|
-
id: CORE_INVITE_EMAIL_ID,
|
|
25
|
-
app: "core",
|
|
26
|
-
name: "Organization invitation",
|
|
27
|
-
trigger: "A member invites someone to their organization from the team settings page.",
|
|
28
|
-
recipientLabel: "Invited address",
|
|
29
|
-
recipient: "The address typed into the invite form. One email per invited address.",
|
|
30
|
-
senderLabel: "Default, app-branded",
|
|
31
|
-
sender: "The configured EMAIL_FROM. On first-party agent-native.com deployments the display name becomes the app's own, with reply-to agent-native@builder.io.",
|
|
32
|
-
preview: () => renderInviteEmail({
|
|
33
|
-
invitee: SAMPLE_EMAIL,
|
|
34
|
-
orgName: "Northwind Design",
|
|
35
|
-
acceptUrl: SAMPLE_URL,
|
|
36
|
-
inviter: "alex.chen@example.com",
|
|
37
|
-
}),
|
|
38
|
-
});
|
|
39
|
-
defineTransactionalEmail({
|
|
40
|
-
id: CORE_VERIFY_SIGNUP_EMAIL_ID,
|
|
41
|
-
app: "core",
|
|
42
|
-
name: "Verify signup",
|
|
43
|
-
trigger: "A new account is created with email and password, before the account can be used.",
|
|
44
|
-
recipientLabel: "New account address",
|
|
45
|
-
recipient: "The address the account was registered with.",
|
|
46
|
-
senderLabel: "Default, app-branded",
|
|
47
|
-
sender: "The configured EMAIL_FROM, branded with the app name the signup happened in.",
|
|
48
|
-
preview: () => renderVerifySignupEmail({
|
|
49
|
-
email: SAMPLE_EMAIL,
|
|
50
|
-
verifyUrl: SAMPLE_URL,
|
|
51
|
-
}),
|
|
52
|
-
});
|
|
53
|
-
defineTransactionalEmail({
|
|
54
|
-
id: CORE_RESET_PASSWORD_EMAIL_ID,
|
|
55
|
-
app: "core",
|
|
56
|
-
name: "Reset password",
|
|
57
|
-
trigger: "A user requests a password reset from the sign-in screen. The link expires after one hour.",
|
|
58
|
-
recipientLabel: "Account address",
|
|
59
|
-
recipient: "The account address the reset was requested for, never an address supplied in the request body.",
|
|
60
|
-
senderLabel: "Default, app-branded",
|
|
61
|
-
sender: "The configured EMAIL_FROM, branded with the app name the reset was requested from.",
|
|
62
|
-
preview: () => renderResetPasswordEmail({
|
|
63
|
-
email: SAMPLE_EMAIL,
|
|
64
|
-
resetUrl: SAMPLE_URL,
|
|
65
|
-
}),
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=system-emails.js.map
|