flingit 0.0.51 → 0.0.52
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/README.md +1 -0
- package/dist/cli/commands/plugin.d.ts.map +1 -1
- package/dist/cli/commands/plugin.js +25 -9
- package/dist/cli/commands/plugin.js.map +1 -1
- package/dist/runtime/email-send.d.ts +20 -0
- package/dist/runtime/email-send.d.ts.map +1 -0
- package/dist/runtime/email-send.js +43 -0
- package/dist/runtime/email-send.js.map +1 -0
- package/dist/shared/email-send-types.d.ts +31 -0
- package/dist/shared/email-send-types.d.ts.map +1 -0
- package/dist/shared/email-send-types.js +8 -0
- package/dist/shared/email-send-types.js.map +1 -0
- package/dist/shared/plugin-metadata.d.ts.map +1 -1
- package/dist/shared/plugin-metadata.js +14 -0
- package/dist/shared/plugin-metadata.js.map +1 -1
- package/dist/worker-runtime/email-send.d.ts +31 -0
- package/dist/worker-runtime/email-send.d.ts.map +1 -0
- package/dist/worker-runtime/email-send.js +58 -0
- package/dist/worker-runtime/email-send.js.map +1 -0
- package/dist/worker-runtime/types.d.ts +1 -0
- package/dist/worker-runtime/types.d.ts.map +1 -1
- package/package.json +7 -1
- package/templates/default/dot-claude/skills/fling/.hash +1 -1
- package/templates/default/dot-claude/skills/fling/SKILL.md +8 -3
- package/templates/default/dot-claude/skills/fling/references/EMAIL-SEND.md +121 -0
- package/templates/default/package.json +23 -23
package/README.md
CHANGED
|
@@ -57,6 +57,7 @@ Fling provides these primitives (more to come) that Claude uses to build your to
|
|
|
57
57
|
| **Database** | Store and query data (SQLite) |
|
|
58
58
|
| **Secrets** | Manage API keys and credentials |
|
|
59
59
|
| **Storage** | Store and serve files (local or R2) |
|
|
60
|
+
| **Email** | Send and receive transactional emails |
|
|
60
61
|
| **Plugins** | Discord and Slack |
|
|
61
62
|
|
|
62
63
|
Everything works locally during development. When you're ready, just tell Claude Code to deploys to production.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAA8D,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,6BAA6B,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAYvH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,6BAA6B,CAAC;IACvC,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1F,aAAa,EAAE,eAAe,CAAC;CAChC;AAMD,wBAAgB,uBAAuB,IAAI,UAAU,CAsBpD;AAED,eAAO,MAAM,iBAAiB,YAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAA8D,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,6BAA6B,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAYvH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,6BAA6B,CAAC;IACvC,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1F,aAAa,EAAE,eAAe,CAAC;CAChC;AAMD,wBAAgB,uBAAuB,IAAI,UAAU,CAsBpD;AAED,eAAO,MAAM,iBAAiB,YAA4B,CAAC;AA2F3D,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,UAA8B,EACpC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAuGf;AAED,eAAO,MAAM,aAAa,SAMxB,CAAC;AAuBH;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,UAA8B,GACnC,OAAO,CAAC,IAAI,CAAC,CA8Df;AAiBD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,UAA8B,GACnC,OAAO,CAAC,IAAI,CAAC,CAoEf"}
|
|
@@ -64,6 +64,28 @@ function requirePluginMeta(plugin, deps) {
|
|
|
64
64
|
}
|
|
65
65
|
return meta;
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Guard: exit if plugin doesn't require installation (no OAuth).
|
|
69
|
+
* Auto-available plugins like email-send don't need install/remove/permissions.
|
|
70
|
+
*/
|
|
71
|
+
function requireInstallablePlugin(meta, deps) {
|
|
72
|
+
if (!meta.hasOAuth) {
|
|
73
|
+
deps.console.error(`The ${meta.name} plugin is auto-available and does not require installation.`);
|
|
74
|
+
deps.console.error(`Just import it in your code: import { email } from "flingit/plugin/${meta.id}"`);
|
|
75
|
+
deps.process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Common preamble for plugin commands: login check, plugin validation,
|
|
80
|
+
* installability check, and project name resolution.
|
|
81
|
+
*/
|
|
82
|
+
function requireInstallablePluginContext(plugin, deps) {
|
|
83
|
+
requireLogin(deps);
|
|
84
|
+
const meta = requirePluginMeta(plugin, deps);
|
|
85
|
+
requireInstallablePlugin(meta, deps);
|
|
86
|
+
const projectName = deps.getProjectName();
|
|
87
|
+
return { meta, projectName };
|
|
88
|
+
}
|
|
67
89
|
/**
|
|
68
90
|
* Wait for OAuth to complete by polling plugin status.
|
|
69
91
|
*/
|
|
@@ -94,9 +116,7 @@ async function waitForOAuth(pluginId, projectName, deps, maxWaitMs = 120000) {
|
|
|
94
116
|
* Exported for testing with injected dependencies.
|
|
95
117
|
*/
|
|
96
118
|
export async function runPluginInstall(plugin, deps = defaultPluginDeps, options = {}) {
|
|
97
|
-
|
|
98
|
-
const meta = requirePluginMeta(plugin, deps);
|
|
99
|
-
const projectName = deps.getProjectName();
|
|
119
|
+
const { meta, projectName } = requireInstallablePluginContext(plugin, deps);
|
|
100
120
|
// Check if already connected
|
|
101
121
|
try {
|
|
102
122
|
const statusRes = await deps.pluginFetch(plugin, "/status", {
|
|
@@ -206,9 +226,7 @@ Supported plugins:
|
|
|
206
226
|
* Exported for testing with injected dependencies.
|
|
207
227
|
*/
|
|
208
228
|
export async function runPluginPermissions(plugin, deps = defaultPluginDeps) {
|
|
209
|
-
|
|
210
|
-
const meta = requirePluginMeta(plugin, deps);
|
|
211
|
-
const projectName = deps.getProjectName();
|
|
229
|
+
const { meta, projectName } = requireInstallablePluginContext(plugin, deps);
|
|
212
230
|
try {
|
|
213
231
|
const response = await deps.pluginFetch(plugin, "/status", {
|
|
214
232
|
headers: { "X-Project-Name": projectName },
|
|
@@ -273,9 +291,7 @@ Examples:
|
|
|
273
291
|
* Exported for testing with injected dependencies.
|
|
274
292
|
*/
|
|
275
293
|
export async function runPluginRemove(plugin, deps = defaultPluginDeps) {
|
|
276
|
-
|
|
277
|
-
const meta = requirePluginMeta(plugin, deps);
|
|
278
|
-
const projectName = deps.getProjectName();
|
|
294
|
+
const { meta, projectName } = requireInstallablePluginContext(plugin, deps);
|
|
279
295
|
// Get current status from plugin worker
|
|
280
296
|
const statusRes = await deps.pluginFetch(plugin, "/status", {
|
|
281
297
|
headers: { "X-Project-Name": projectName },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/cli/commands/plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/cli/commands/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email Sending for Fling applications (Local runtime)
|
|
3
|
+
*
|
|
4
|
+
* In local development, email.send() logs the email details to the console
|
|
5
|
+
* instead of actually sending. Returns a fake success response.
|
|
6
|
+
*
|
|
7
|
+
* Used via the "flingit/plugin/email-send" subpath export.
|
|
8
|
+
*/
|
|
9
|
+
export type { SendEmailOptions, SendEmailResult } from "../shared/email-send-types.js";
|
|
10
|
+
import type { SendEmailOptions, SendEmailResult } from "../shared/email-send-types.js";
|
|
11
|
+
export declare const email: {
|
|
12
|
+
/**
|
|
13
|
+
* Send a transactional email (local dev: logs to console).
|
|
14
|
+
*
|
|
15
|
+
* In deployed workers, this sends real emails via the email plugin.
|
|
16
|
+
* In local development, it logs the email details and returns a fake success.
|
|
17
|
+
*/
|
|
18
|
+
send(options: SendEmailOptions): Promise<SendEmailResult>;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=email-send.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-send.d.ts","sourceRoot":"","sources":["../../src/runtime/email-send.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEvF,eAAO,MAAM,KAAK;IAChB;;;;;OAKG;kBACiB,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;CA+BhE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email Sending for Fling applications (Local runtime)
|
|
3
|
+
*
|
|
4
|
+
* In local development, email.send() logs the email details to the console
|
|
5
|
+
* instead of actually sending. Returns a fake success response.
|
|
6
|
+
*
|
|
7
|
+
* Used via the "flingit/plugin/email-send" subpath export.
|
|
8
|
+
*/
|
|
9
|
+
export const email = {
|
|
10
|
+
/**
|
|
11
|
+
* Send a transactional email (local dev: logs to console).
|
|
12
|
+
*
|
|
13
|
+
* In deployed workers, this sends real emails via the email plugin.
|
|
14
|
+
* In local development, it logs the email details and returns a fake success.
|
|
15
|
+
*/
|
|
16
|
+
async send(options) {
|
|
17
|
+
// Basic validation (mirrors deployed Zod schema behavior for dev/prod parity)
|
|
18
|
+
const toArray = Array.isArray(options.to) ? options.to : [options.to];
|
|
19
|
+
if (toArray.length === 0 || toArray.every((t) => !t)) {
|
|
20
|
+
throw new Error("email.send() requires a non-empty 'to' field");
|
|
21
|
+
}
|
|
22
|
+
if (!options.subject) {
|
|
23
|
+
throw new Error("email.send() requires a 'subject' field");
|
|
24
|
+
}
|
|
25
|
+
if (!options.text && !options.html) {
|
|
26
|
+
throw new Error("email.send() requires at least one of 'text' or 'html'");
|
|
27
|
+
}
|
|
28
|
+
const recipients = Array.isArray(options.to) ? options.to : [options.to];
|
|
29
|
+
const bodyPreview = options.text
|
|
30
|
+
? options.text.slice(0, 100) + (options.text.length > 100 ? "..." : "")
|
|
31
|
+
: "(HTML body)";
|
|
32
|
+
console.log(`[email] Local dev — would send email:\n` +
|
|
33
|
+
` To: ${recipients.join(", ")}\n` +
|
|
34
|
+
` Subject: ${options.subject}\n` +
|
|
35
|
+
` Body: ${bodyPreview}` +
|
|
36
|
+
(options.cc ? `\n CC: ${Array.isArray(options.cc) ? options.cc.join(", ") : options.cc}` : "") +
|
|
37
|
+
(options.bcc ? `\n BCC: ${Array.isArray(options.bcc) ? options.bcc.join(", ") : options.bcc}` : "") +
|
|
38
|
+
(options.replyTo ? `\n Reply-To: ${options.replyTo}` : ""));
|
|
39
|
+
const messageId = `local-${Date.now()}`;
|
|
40
|
+
return { success: true, messageId };
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=email-send.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-send.js","sourceRoot":"","sources":["../../src/runtime/email-send.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,OAAyB;QAClC,8EAA8E;QAC9E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI;YAC9B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,CAAC,CAAC,aAAa,CAAC;QAElB,OAAO,CAAC,GAAG,CACT,yCAAyC;YACzC,SAAS,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAClC,cAAc,OAAO,CAAC,OAAO,IAAI;YACjC,WAAW,WAAW,EAAE;YACxB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/F,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5D,CAAC;QAEF,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACtC,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared email sending types for user-facing runtime modules.
|
|
3
|
+
*
|
|
4
|
+
* Used by both src/runtime/email-send.ts (local dev) and
|
|
5
|
+
* src/worker-runtime/email-send.ts (deployed workers).
|
|
6
|
+
*/
|
|
7
|
+
/** Options for sending an email. */
|
|
8
|
+
export interface SendEmailOptions {
|
|
9
|
+
/** Recipient email address(es). */
|
|
10
|
+
to: string | string[];
|
|
11
|
+
/** Email subject line. */
|
|
12
|
+
subject: string;
|
|
13
|
+
/** Plain text body. At least one of `text` or `html` is required. */
|
|
14
|
+
text?: string;
|
|
15
|
+
/** HTML body. At least one of `text` or `html` is required. */
|
|
16
|
+
html?: string;
|
|
17
|
+
/** CC recipient(s). */
|
|
18
|
+
cc?: string | string[];
|
|
19
|
+
/** BCC recipient(s). */
|
|
20
|
+
bcc?: string | string[];
|
|
21
|
+
/** Reply-to address. */
|
|
22
|
+
replyTo?: string;
|
|
23
|
+
}
|
|
24
|
+
/** Result of sending an email. */
|
|
25
|
+
export interface SendEmailResult {
|
|
26
|
+
/** Whether the email was sent successfully. */
|
|
27
|
+
success: boolean;
|
|
28
|
+
/** Message ID from the email provider (available on success). */
|
|
29
|
+
messageId?: string;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=email-send-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-send-types.d.ts","sourceRoot":"","sources":["../../src/shared/email-send-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-send-types.js","sourceRoot":"","sources":["../../src/shared/email-send-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-metadata.d.ts","sourceRoot":"","sources":["../../src/shared/plugin-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAElB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,cAAc,EAAE,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"plugin-metadata.d.ts","sourceRoot":"","sources":["../../src/shared/plugin-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAElB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,cAAc,EAAE,MAAM,CAAC;CACxB;AA8DD;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD"}
|
|
@@ -6,6 +6,20 @@
|
|
|
6
6
|
* instead of hardcoding per-plugin conditionals.
|
|
7
7
|
*/
|
|
8
8
|
const pluginMetadata = [
|
|
9
|
+
{
|
|
10
|
+
id: "email-send",
|
|
11
|
+
name: "Email",
|
|
12
|
+
description: "Send transactional emails",
|
|
13
|
+
hasOAuth: false,
|
|
14
|
+
resourceType: "",
|
|
15
|
+
resourceTypePlural: "",
|
|
16
|
+
userLabel: "",
|
|
17
|
+
apis: [
|
|
18
|
+
"email.send(options)",
|
|
19
|
+
],
|
|
20
|
+
removalNote: [],
|
|
21
|
+
serviceBinding: "EMAIL_PLUGIN",
|
|
22
|
+
},
|
|
9
23
|
{
|
|
10
24
|
id: "discord",
|
|
11
25
|
name: "Discord",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-metadata.js","sourceRoot":"","sources":["../../src/shared/plugin-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,MAAM,cAAc,GAAiB;IACnC;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,QAAQ;QACtB,kBAAkB,EAAE,SAAS;QAC7B,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE;YACJ,+CAA+C;YAC/C,0BAA0B;YAC1B,qCAAqC;YACrC,wCAAwC;YACxC,8BAA8B;YAC9B,oDAAoD;YACpD,kDAAkD;SACnD;QACD,WAAW,EAAE;YACX,sDAAsD;YACtD,4DAA4D;SAC7D;QACD,cAAc,EAAE,gBAAgB;KACjC;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,WAAW;QACzB,kBAAkB,EAAE,YAAY;QAChC,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE;YACJ,mBAAmB;YACnB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;SACtB;QACD,WAAW,EAAE;YACX,2DAA2D;YAC3D,mEAAmE;SACpE;QACD,cAAc,EAAE,cAAc;KAC/B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"plugin-metadata.js","sourceRoot":"","sources":["../../src/shared/plugin-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,MAAM,cAAc,GAAiB;IACnC;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,EAAE;QAChB,kBAAkB,EAAE,EAAE;QACtB,SAAS,EAAE,EAAE;QACb,IAAI,EAAE;YACJ,qBAAqB;SACtB;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,cAAc;KAC/B;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,QAAQ;QACtB,kBAAkB,EAAE,SAAS;QAC7B,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE;YACJ,+CAA+C;YAC/C,0BAA0B;YAC1B,qCAAqC;YACrC,wCAAwC;YACxC,8BAA8B;YAC9B,oDAAoD;YACpD,kDAAkD;SACnD;QACD,WAAW,EAAE;YACX,sDAAsD;YACtD,4DAA4D;SAC7D;QACD,cAAc,EAAE,gBAAgB;KACjC;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,WAAW;QACzB,kBAAkB,EAAE,YAAY;QAChC,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE;YACJ,mBAAmB;YACnB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;SACtB;QACD,WAAW,EAAE;YACX,2DAA2D;YAC3D,mEAAmE;SACpE;QACD,cAAc,EAAE,cAAc;KAC/B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fling Worker Runtime - Email Sending
|
|
3
|
+
*
|
|
4
|
+
* Worker-compatible email sending runtime for Cloudflare Workers deployment.
|
|
5
|
+
* Sends emails via the EMAIL_PLUGIN service binding using HMAC-signed proxy requests.
|
|
6
|
+
*
|
|
7
|
+
* Used via the "flingit/plugin/email-send" subpath export.
|
|
8
|
+
*/
|
|
9
|
+
export type { SendEmailOptions, SendEmailResult } from "../shared/email-send-types.js";
|
|
10
|
+
import type { SendEmailOptions, SendEmailResult } from "../shared/email-send-types.js";
|
|
11
|
+
export declare const email: {
|
|
12
|
+
/**
|
|
13
|
+
* Send a transactional email.
|
|
14
|
+
*
|
|
15
|
+
* The email is sent from `<project-slug>@flingit.run`. Use the `replyTo`
|
|
16
|
+
* field to set a custom reply address.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { email } from "flingit/plugin/email-send";
|
|
21
|
+
*
|
|
22
|
+
* await email.send({
|
|
23
|
+
* to: "user@example.com",
|
|
24
|
+
* subject: "Welcome!",
|
|
25
|
+
* text: "Thanks for signing up.",
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
send(options: SendEmailOptions): Promise<SendEmailResult>;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=email-send.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-send.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/email-send.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAOvF,eAAO,MAAM,KAAK;IAChB;;;;;;;;;;;;;;;;OAgBG;kBACiB,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;CAwBhE,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fling Worker Runtime - Email Sending
|
|
3
|
+
*
|
|
4
|
+
* Worker-compatible email sending runtime for Cloudflare Workers deployment.
|
|
5
|
+
* Sends emails via the EMAIL_PLUGIN service binding using HMAC-signed proxy requests.
|
|
6
|
+
*
|
|
7
|
+
* Used via the "flingit/plugin/email-send" subpath export.
|
|
8
|
+
*/
|
|
9
|
+
import { getPluginMeta } from "../shared/plugin-metadata.js";
|
|
10
|
+
import { createPluginFetch, getProjectHeaders, throwResponseError } from "./plugin-common.js";
|
|
11
|
+
// Service binding name from plugin metadata (single source of truth)
|
|
12
|
+
const meta = getPluginMeta("email-send");
|
|
13
|
+
if (!meta)
|
|
14
|
+
throw new Error("email-send plugin not found in metadata registry");
|
|
15
|
+
const pluginFetch = createPluginFetch(meta.serviceBinding);
|
|
16
|
+
export const email = {
|
|
17
|
+
/**
|
|
18
|
+
* Send a transactional email.
|
|
19
|
+
*
|
|
20
|
+
* The email is sent from `<project-slug>@flingit.run`. Use the `replyTo`
|
|
21
|
+
* field to set a custom reply address.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import { email } from "flingit/plugin/email-send";
|
|
26
|
+
*
|
|
27
|
+
* await email.send({
|
|
28
|
+
* to: "user@example.com",
|
|
29
|
+
* subject: "Welcome!",
|
|
30
|
+
* text: "Thanks for signing up.",
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
async send(options) {
|
|
35
|
+
const response = await pluginFetch("/proxy/send", {
|
|
36
|
+
method: "POST",
|
|
37
|
+
headers: await getProjectHeaders(),
|
|
38
|
+
body: JSON.stringify({
|
|
39
|
+
to: options.to,
|
|
40
|
+
subject: options.subject,
|
|
41
|
+
text: options.text,
|
|
42
|
+
html: options.html,
|
|
43
|
+
cc: options.cc,
|
|
44
|
+
bcc: options.bcc,
|
|
45
|
+
replyTo: options.replyTo,
|
|
46
|
+
}),
|
|
47
|
+
});
|
|
48
|
+
if (!response.ok) {
|
|
49
|
+
await throwResponseError(response, "Failed to send email");
|
|
50
|
+
}
|
|
51
|
+
const data = (await response.json());
|
|
52
|
+
const result = { success: data.success };
|
|
53
|
+
if (data.messageId)
|
|
54
|
+
result.messageId = data.messageId;
|
|
55
|
+
return result;
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=email-send.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-send.js","sourceRoot":"","sources":["../../src/worker-runtime/email-send.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAM9F,qEAAqE;AACrE,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AACzC,IAAI,CAAC,IAAI;IAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AAC/E,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,IAAI,CAAC,OAAyB;QAClC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM,iBAAiB,EAAE;YAClC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,kBAAkB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA6C,CAAC;QACjF,MAAM,MAAM,GAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
|
|
@@ -70,6 +70,7 @@ export interface ServiceBinding {
|
|
|
70
70
|
export interface WorkerEnv {
|
|
71
71
|
DB?: D1Database;
|
|
72
72
|
STORAGE?: R2Bucket;
|
|
73
|
+
EMAIL_PLUGIN?: ServiceBinding;
|
|
73
74
|
DISCORD_PLUGIN?: ServiceBinding;
|
|
74
75
|
SLACK_PLUGIN?: ServiceBinding;
|
|
75
76
|
/** Cloudflare static assets binding — applies not_found_handling config */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,OAAO;IACnC,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC;IAChD,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACxD,GAAG,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,GAAG,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAC5C,KAAK,CAAC,UAAU,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAMD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,CACD,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,cAAc,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,GAAG,IAAI,EACrE,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,GACA,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,QAAQ,EAAE,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAMD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC7E;AAMD,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,2EAA2E;IAC3E,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flingit",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.52",
|
|
4
4
|
"description": "Small Software Platform - Build and deploy personal tools through conversation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -18,6 +18,12 @@
|
|
|
18
18
|
"import": "./dist/index.js",
|
|
19
19
|
"default": "./dist/index.js"
|
|
20
20
|
},
|
|
21
|
+
"./plugin/email-send": {
|
|
22
|
+
"workerd": "./dist/worker-runtime/email-send.js",
|
|
23
|
+
"types": "./dist/runtime/email-send.d.ts",
|
|
24
|
+
"import": "./dist/runtime/email-send.js",
|
|
25
|
+
"default": "./dist/runtime/email-send.js"
|
|
26
|
+
},
|
|
21
27
|
"./plugin/discord": {
|
|
22
28
|
"workerd": "./dist/worker-runtime/discord.js",
|
|
23
29
|
"types": "./dist/runtime/discord.d.ts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
6be6586ce3103be6887eaa6299777391
|
|
@@ -37,8 +37,9 @@ Fling provides these primitives that work identically in local development and p
|
|
|
37
37
|
5. **Cron** - Scheduled tasks that run on a schedule
|
|
38
38
|
6. **Storage** - File system locally, R2 in production
|
|
39
39
|
7. **Inbound Email** - Handle emails sent to `<project-slug>@flingit.run` with `onEmail` — see `references/EMAIL-INBOUND.md`
|
|
40
|
-
8. **
|
|
41
|
-
9. **
|
|
40
|
+
8. **Email Sending** - Send transactional emails from `<project-slug>@flingit.run` — see `references/EMAIL-SEND.md`
|
|
41
|
+
9. **Discord** and **Slack** - Chat bot integration — see `references/DISCORD.md` and `references/SLACK.md`
|
|
42
|
+
10. **WASM** - WebAssembly modules for compute-intensive tasks
|
|
42
43
|
|
|
43
44
|
## Project Structure
|
|
44
45
|
|
|
@@ -112,6 +113,10 @@ if (file) {
|
|
|
112
113
|
const meta = await storage.head("images/logo.png");
|
|
113
114
|
await storage.delete("old-file.txt");
|
|
114
115
|
const result = await storage.list({ prefix: "images/", limit: 100 });
|
|
116
|
+
|
|
117
|
+
// Email sending (from <project-slug>@flingit.run)
|
|
118
|
+
import { email } from "flingit/plugin/email-send";
|
|
119
|
+
await email.send({ to: "user@example.com", subject: "Hello", text: "Welcome!" });
|
|
115
120
|
```
|
|
116
121
|
|
|
117
122
|
```typescript
|
|
@@ -386,7 +391,7 @@ This approach:
|
|
|
386
391
|
|
|
387
392
|
**For large assets:** Serve them from the frontend (`public/` folder) instead.
|
|
388
393
|
|
|
389
|
-
See `references/API.md` for detailed API reference, `references/EMAIL-INBOUND.md` for inbound email handlers and payload fields, `references/EXAMPLES.md` for common patterns, `references/FEEDBACK.md` for collecting user feedback, and `references/GH-ACTION.md` for setting up automatic deployments with GitHub Actions.
|
|
394
|
+
See `references/API.md` for detailed API reference, `references/EMAIL-INBOUND.md` for inbound email handlers and payload fields, `references/EMAIL-SEND.md` for sending transactional emails, `references/EXAMPLES.md` for common patterns, `references/FEEDBACK.md` for collecting user feedback, and `references/GH-ACTION.md` for setting up automatic deployments with GitHub Actions.
|
|
390
395
|
|
|
391
396
|
## Updates
|
|
392
397
|
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Email Sending
|
|
2
|
+
|
|
3
|
+
Send transactional emails from your Fling project. No setup required — email sending is auto-available on all deployed projects.
|
|
4
|
+
|
|
5
|
+
## Quick Reference
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import { email } from "flingit/plugin/email-send";
|
|
9
|
+
|
|
10
|
+
// Simple text email
|
|
11
|
+
await email.send({
|
|
12
|
+
to: "user@example.com",
|
|
13
|
+
subject: "Welcome!",
|
|
14
|
+
text: "Thanks for signing up.",
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
// HTML email with multiple recipients
|
|
18
|
+
await email.send({
|
|
19
|
+
to: ["alice@example.com", "bob@example.com"],
|
|
20
|
+
cc: ["manager@example.com"],
|
|
21
|
+
bcc: ["audit@example.com"],
|
|
22
|
+
replyTo: "support@myapp.com",
|
|
23
|
+
subject: "Weekly report",
|
|
24
|
+
html: "<h1>Report</h1><p>All good.</p>",
|
|
25
|
+
});
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## API Reference
|
|
29
|
+
|
|
30
|
+
### `email.send(options)`
|
|
31
|
+
|
|
32
|
+
Send a transactional email.
|
|
33
|
+
|
|
34
|
+
**Parameters:**
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
interface SendEmailOptions {
|
|
38
|
+
/** Recipient email address(es). Required, at least one. */
|
|
39
|
+
to: string | string[];
|
|
40
|
+
/** Email subject line. Required. */
|
|
41
|
+
subject: string;
|
|
42
|
+
/** Plain text body. At least one of text or html required. */
|
|
43
|
+
text?: string;
|
|
44
|
+
/** HTML body. At least one of text or html required. */
|
|
45
|
+
html?: string;
|
|
46
|
+
/** CC recipient(s). */
|
|
47
|
+
cc?: string | string[];
|
|
48
|
+
/** BCC recipient(s). */
|
|
49
|
+
bcc?: string | string[];
|
|
50
|
+
/** Reply-to address. */
|
|
51
|
+
replyTo?: string;
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Returns:**
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
interface SendEmailResult {
|
|
59
|
+
/** Whether the email was sent successfully. */
|
|
60
|
+
success: boolean;
|
|
61
|
+
/** Message ID from the email provider. */
|
|
62
|
+
messageId?: string;
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## From Address
|
|
67
|
+
|
|
68
|
+
All emails are sent from `<project-slug>@flingit.run`. This matches the address used for inbound email (`onEmail`).
|
|
69
|
+
|
|
70
|
+
To set a custom reply address, use the `replyTo` field:
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
await email.send({
|
|
74
|
+
to: "user@example.com",
|
|
75
|
+
replyTo: "support@mycompany.com",
|
|
76
|
+
subject: "Hello",
|
|
77
|
+
text: "Reply to this email to reach our support team.",
|
|
78
|
+
});
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Error Handling
|
|
82
|
+
|
|
83
|
+
`email.send()` throws on failure. Common error scenarios:
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
try {
|
|
87
|
+
await email.send({
|
|
88
|
+
to: "user@example.com",
|
|
89
|
+
subject: "Hello",
|
|
90
|
+
text: "Hi there",
|
|
91
|
+
});
|
|
92
|
+
} catch (err) {
|
|
93
|
+
if (err.message.includes("PLUGIN_RATE_LIMIT_EXCEEDED")) {
|
|
94
|
+
// Rate limit hit — wait and retry
|
|
95
|
+
console.log("Rate limited, will retry later");
|
|
96
|
+
} else {
|
|
97
|
+
console.error("Failed to send email:", err.message);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Local Development
|
|
103
|
+
|
|
104
|
+
In `fling dev`, `email.send()` logs the email details to the console instead of actually sending. This lets you develop and test email flows without sending real emails.
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
[email] Local dev — would send email:
|
|
108
|
+
To: user@example.com
|
|
109
|
+
Subject: Welcome!
|
|
110
|
+
Body: Thanks for signing up.
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Important Constraints
|
|
114
|
+
|
|
115
|
+
- **Rate limit**: 3 email sends per 60 seconds per project (counts API calls, not recipients)
|
|
116
|
+
- **Recipients**: Max 50 total across to + cc + bcc combined per send
|
|
117
|
+
- **No attachments**: V1 supports text and HTML bodies only
|
|
118
|
+
- **No templates**: Build HTML in your code or use a templating library
|
|
119
|
+
- **Deployed only**: Real email sending only works in deployed workers (`fling push`). Local dev logs to console.
|
|
120
|
+
- **Subject length**: Max 998 characters (RFC 5322)
|
|
121
|
+
- **Body size**: Max 1MB each for text and HTML
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
2
|
+
"name": "fling-project",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "fling dev",
|
|
7
|
+
"start": "fling dev",
|
|
8
|
+
"build": "vite build",
|
|
9
|
+
"preview": "vite preview"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"flingit": "^0.0.1",
|
|
13
|
+
"react": "^19.2.4",
|
|
14
|
+
"react-dom": "^19.2.4"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"vite": "^7.3.1",
|
|
18
|
+
"@vitejs/plugin-react": "^5.1.4",
|
|
19
|
+
"@tailwindcss/vite": "^4",
|
|
20
|
+
"tailwindcss": "^4",
|
|
21
|
+
"@types/react": "^19.2.14",
|
|
22
|
+
"@types/react-dom": "^19.2.3",
|
|
23
|
+
"typescript": "~5.9.3"
|
|
24
|
+
}
|
|
25
25
|
}
|