flingit 0.0.36 → 0.0.37
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/dist/cli/commands/plugin.d.ts +4 -1
- package/dist/cli/commands/plugin.d.ts.map +1 -1
- package/dist/cli/commands/plugin.js +19 -19
- package/dist/cli/commands/plugin.js.map +1 -1
- package/dist/cli/commands/project.d.ts +5 -0
- package/dist/cli/commands/project.d.ts.map +1 -1
- package/dist/cli/commands/project.js +76 -6
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/push.d.ts +2 -0
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +117 -109
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/secret.d.ts.map +1 -1
- package/dist/cli/commands/secret.js +0 -14
- package/dist/cli/commands/secret.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/email.d.ts +37 -0
- package/dist/runtime/email.d.ts.map +1 -0
- package/dist/runtime/email.js +43 -0
- package/dist/runtime/email.js.map +1 -0
- package/dist/types/email.d.ts +51 -0
- package/dist/types/email.d.ts.map +1 -0
- package/dist/types/email.js +9 -0
- package/dist/types/email.js.map +1 -0
- package/dist/worker-runtime/entry-extract.d.ts.map +1 -1
- package/dist/worker-runtime/entry-extract.js +8 -7
- package/dist/worker-runtime/entry-extract.js.map +1 -1
- package/dist/worker-runtime/entry.d.ts +2 -1
- package/dist/worker-runtime/entry.d.ts.map +1 -1
- package/dist/worker-runtime/entry.js +43 -1
- package/dist/worker-runtime/entry.js.map +1 -1
- package/dist/worker-runtime/index.d.ts +35 -7
- package/dist/worker-runtime/index.d.ts.map +1 -1
- package/dist/worker-runtime/index.js +40 -16
- package/dist/worker-runtime/index.js.map +1 -1
- package/dist/worker-runtime/plugin-common.d.ts.map +1 -1
- package/dist/worker-runtime/plugin-common.js +3 -0
- package/dist/worker-runtime/plugin-common.js.map +1 -1
- package/dist/worker-runtime/types.d.ts +80 -0
- package/dist/worker-runtime/types.d.ts.map +1 -0
- package/dist/worker-runtime/types.js +9 -0
- package/dist/worker-runtime/types.js.map +1 -0
- package/package.json +2 -1
- package/templates/default/dot-claude/skills/fling/.hash +1 -1
- package/templates/default/dot-claude/skills/fling/SKILL.md +3 -0
- package/templates/default/dot-claude/skills/fling/references/DISCORD.md +1 -1
- package/templates/default/dot-claude/skills/fling/references/SLACK.md +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inbound Email TypeScript Interfaces
|
|
3
|
+
*
|
|
4
|
+
* Defines the payload shape for inbound emails dispatched from the
|
|
5
|
+
* email-inbound platform worker to user workers at /__email.
|
|
6
|
+
* Shared between platform/email-inbound and src/worker-runtime.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=email.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/types/email.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-extract.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/entry-extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"entry-extract.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/entry-extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAwFH;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BxF"}
|
|
@@ -20,17 +20,18 @@ import { getAllPluginMetadata } from "./plugin-registry.js";
|
|
|
20
20
|
*/
|
|
21
21
|
function createStubD1() {
|
|
22
22
|
function createStubStatement() {
|
|
23
|
-
const stmt = {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
const stmt = {
|
|
24
|
+
bind(..._args) { return stmt; },
|
|
25
|
+
async first() { return null; },
|
|
26
|
+
async all() { return { results: [], success: true, meta: { changes: 0, last_row_id: 0 } }; },
|
|
27
|
+
async run() { return { results: [], success: true, meta: { changes: 0, last_row_id: 0 } }; },
|
|
28
|
+
};
|
|
28
29
|
return stmt;
|
|
29
30
|
}
|
|
30
31
|
return {
|
|
31
32
|
prepare: (_sql) => createStubStatement(),
|
|
32
33
|
batch: async () => [],
|
|
33
|
-
exec: async () =>
|
|
34
|
+
exec: async () => { },
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
@@ -41,7 +42,7 @@ function createStubR2() {
|
|
|
41
42
|
put: async () => ({ key: "", size: 0, etag: "", uploaded: new Date() }),
|
|
42
43
|
get: async () => null,
|
|
43
44
|
head: async () => null,
|
|
44
|
-
delete: async () =>
|
|
45
|
+
delete: async () => { },
|
|
45
46
|
list: async () => ({ objects: [], truncated: false }),
|
|
46
47
|
};
|
|
47
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-extract.js","sourceRoot":"","sources":["../../src/worker-runtime/entry-extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"entry-extract.js","sourceRoot":"","sources":["../../src/worker-runtime/entry-extract.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* export default createWorkerEntry(() => import("./user-app.js"));
|
|
11
11
|
*/
|
|
12
12
|
import type { ExecutionContext } from "hono";
|
|
13
|
+
import type { WorkerEnv } from "./types.js";
|
|
13
14
|
/**
|
|
14
15
|
* Create a Cloudflare Worker entry point.
|
|
15
16
|
*
|
|
@@ -17,6 +18,6 @@ import type { ExecutionContext } from "hono";
|
|
|
17
18
|
* @returns Worker module with fetch handler
|
|
18
19
|
*/
|
|
19
20
|
export declare function createWorkerEntry(loadUserApp: () => Promise<unknown>): {
|
|
20
|
-
fetch(request: Request, env:
|
|
21
|
+
fetch(request: Request, env: WorkerEnv, ctx: ExecutionContext): Promise<Response>;
|
|
21
22
|
};
|
|
22
23
|
//# sourceMappingURL=entry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAa5C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG;IACtE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACnF,CAuJA"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* import { createWorkerEntry } from "./entry.js";
|
|
10
10
|
* export default createWorkerEntry(() => import("./user-app.js"));
|
|
11
11
|
*/
|
|
12
|
-
import { __initEnv, __getApp, __runMigrations, __getCronHandlers } from "./index.js";
|
|
12
|
+
import { __initEnv, __getApp, __runMigrations, __getCronHandlers, __getEmailHandler } from "./index.js";
|
|
13
13
|
import { __handlePluginRequest as __handle_discord } from "./discord.js";
|
|
14
14
|
import { __handlePluginRequest as __handle_slack } from "./slack.js";
|
|
15
15
|
const pluginHandlers = {
|
|
@@ -56,6 +56,44 @@ export function createWorkerEntry(loadUserApp) {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
+
async function handleEmailRequest(request, env) {
|
|
60
|
+
await ensureInit(env);
|
|
61
|
+
let email;
|
|
62
|
+
try {
|
|
63
|
+
email = (await request.json());
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return new Response(JSON.stringify({ success: false, error: "Invalid JSON body" }), {
|
|
67
|
+
status: 400,
|
|
68
|
+
headers: { "Content-Type": "application/json" },
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
const handler = __getEmailHandler();
|
|
72
|
+
if (!handler) {
|
|
73
|
+
return new Response(JSON.stringify({ success: false, error: "No email handler registered" }), {
|
|
74
|
+
status: 404,
|
|
75
|
+
headers: { "Content-Type": "application/json" },
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
console.log("Handling inbound email from " + email.from.address);
|
|
80
|
+
await handler(email);
|
|
81
|
+
return new Response(JSON.stringify({ success: true }), {
|
|
82
|
+
headers: { "Content-Type": "application/json" },
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
87
|
+
console.error("[email] Error:", error);
|
|
88
|
+
return new Response(JSON.stringify({
|
|
89
|
+
success: false,
|
|
90
|
+
error: errorMessage,
|
|
91
|
+
}), {
|
|
92
|
+
status: 500,
|
|
93
|
+
headers: { "Content-Type": "application/json" },
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
59
97
|
async function handleCronRequest(request, env) {
|
|
60
98
|
await ensureInit(env);
|
|
61
99
|
// Parse cron job name and scheduled time from request body
|
|
@@ -100,6 +138,10 @@ export function createWorkerEntry(loadUserApp) {
|
|
|
100
138
|
return {
|
|
101
139
|
async fetch(request, env, ctx) {
|
|
102
140
|
const url = new URL(request.url);
|
|
141
|
+
// Handle internal email requests
|
|
142
|
+
if (url.pathname === "/__email" && request.method === "POST") {
|
|
143
|
+
return handleEmailRequest(request, env);
|
|
144
|
+
}
|
|
103
145
|
// Handle internal cron requests
|
|
104
146
|
if (url.pathname === "/__cron" && request.method === "POST") {
|
|
105
147
|
return handleCronRequest(request, env);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/worker-runtime/entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/worker-runtime/entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,15 +10,19 @@
|
|
|
10
10
|
* - Workers: imports from src/worker-runtime/index.ts (this file)
|
|
11
11
|
*/
|
|
12
12
|
import { Hono } from "hono";
|
|
13
|
+
import type { WorkerEnv, D1Database } from "./types.js";
|
|
13
14
|
/**
|
|
14
15
|
* Initialize the Worker environment.
|
|
15
16
|
* Called by the generated _worker.ts before importing user code.
|
|
17
|
+
*
|
|
18
|
+
* Accepts Record<string, unknown> as the boundary between the untyped
|
|
19
|
+
* CF world and our typed internals.
|
|
16
20
|
*/
|
|
17
21
|
export declare function __initEnv(env: Record<string, unknown>): void;
|
|
18
22
|
/**
|
|
19
23
|
* Get the Worker environment.
|
|
20
24
|
*/
|
|
21
|
-
export declare function __getEnv():
|
|
25
|
+
export declare function __getEnv(): WorkerEnv;
|
|
22
26
|
type Variables = {
|
|
23
27
|
requestId: string;
|
|
24
28
|
};
|
|
@@ -34,6 +38,35 @@ export declare const app: Hono<{
|
|
|
34
38
|
export declare function __getApp(): Hono<{
|
|
35
39
|
Variables: Variables;
|
|
36
40
|
}, import("hono/types").BlankSchema, "/">;
|
|
41
|
+
import type { InboundEmail } from "../types/email.js";
|
|
42
|
+
/**
|
|
43
|
+
* Email handler type.
|
|
44
|
+
*/
|
|
45
|
+
type EmailHandler = (email: InboundEmail) => Promise<void> | void;
|
|
46
|
+
/**
|
|
47
|
+
* Register an inbound email handler.
|
|
48
|
+
*
|
|
49
|
+
* When an email is received at {slug}@flingit.run, the platform's
|
|
50
|
+
* email-inbound worker parses it and dispatches to your handler.
|
|
51
|
+
*
|
|
52
|
+
* @param handler - Function to handle inbound emails
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* import { onEmail } from "flingit";
|
|
57
|
+
*
|
|
58
|
+
* onEmail(async (email) => {
|
|
59
|
+
* console.log(`Email from ${email.from.address}: ${email.subject}`);
|
|
60
|
+
* // Process the email...
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare function onEmail(handler: EmailHandler): void;
|
|
65
|
+
/**
|
|
66
|
+
* Get the registered email handler (internal use by generated worker code).
|
|
67
|
+
*/
|
|
68
|
+
export declare function __getEmailHandler(): EmailHandler | null;
|
|
69
|
+
export type { InboundEmail } from "../types/email.js";
|
|
37
70
|
/**
|
|
38
71
|
* Cron handler type. Handlers can optionally return a JSON-serializable result.
|
|
39
72
|
*/
|
|
@@ -100,11 +133,7 @@ export declare function __runMigrations(): Promise<void>;
|
|
|
100
133
|
* This works in both local (sync SQLite) and Workers (async D1) environments
|
|
101
134
|
* because `await` on a sync value just returns it.
|
|
102
135
|
*/
|
|
103
|
-
export declare const db:
|
|
104
|
-
prepare(sql: string): any;
|
|
105
|
-
batch(statements: unknown[]): any;
|
|
106
|
-
exec(sql: string): Promise<void>;
|
|
107
|
-
};
|
|
136
|
+
export declare const db: D1Database;
|
|
108
137
|
/**
|
|
109
138
|
* Secrets stub - will use Worker bindings when implemented.
|
|
110
139
|
*/
|
|
@@ -132,5 +161,4 @@ import type { Storage } from "../types/storage.js";
|
|
|
132
161
|
* ```
|
|
133
162
|
*/
|
|
134
163
|
export declare const storage: Storage;
|
|
135
|
-
export {};
|
|
136
164
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EAMX,MAAM,YAAY,CAAC;AAKpB;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,SAAS,CAKpC;AAMD,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG;eAAyB,SAAS;yCAAK,CAAC;AASxD;;GAEG;AACH,wBAAgB,QAAQ;eAZiB,SAAS;0CAcjD;AAMD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAIlE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAKnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,GAAG,IAAI,CAEvD;AAGD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAE/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB;cAtCgB,MAAM;aAAW,WAAW;GAwC5E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM1D;AAaD;;GAEG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC3B,IAAI,CAKN;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAsFrD;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,EAAE,EAAE,UAiChB,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,OAAO;cACR,MAAM,GAAG,MAAM;cAUf,MAAM,GAAG,OAAO;CAI3B,CAAC;AAMF,OAAO,KAAK,EACV,OAAO,EAMR,MAAM,qBAAqB,CAAC;AA6C7B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,OAAO,EAAE,OA6CrB,CAAC"}
|
|
@@ -15,6 +15,9 @@ let workerEnv = null;
|
|
|
15
15
|
/**
|
|
16
16
|
* Initialize the Worker environment.
|
|
17
17
|
* Called by the generated _worker.ts before importing user code.
|
|
18
|
+
*
|
|
19
|
+
* Accepts Record<string, unknown> as the boundary between the untyped
|
|
20
|
+
* CF world and our typed internals.
|
|
18
21
|
*/
|
|
19
22
|
export function __initEnv(env) {
|
|
20
23
|
workerEnv = env;
|
|
@@ -44,6 +47,37 @@ app.use("*", async (c, next) => {
|
|
|
44
47
|
export function __getApp() {
|
|
45
48
|
return app;
|
|
46
49
|
}
|
|
50
|
+
let emailHandler = null;
|
|
51
|
+
/**
|
|
52
|
+
* Register an inbound email handler.
|
|
53
|
+
*
|
|
54
|
+
* When an email is received at {slug}@flingit.run, the platform's
|
|
55
|
+
* email-inbound worker parses it and dispatches to your handler.
|
|
56
|
+
*
|
|
57
|
+
* @param handler - Function to handle inbound emails
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* import { onEmail } from "flingit";
|
|
62
|
+
*
|
|
63
|
+
* onEmail(async (email) => {
|
|
64
|
+
* console.log(`Email from ${email.from.address}: ${email.subject}`);
|
|
65
|
+
* // Process the email...
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export function onEmail(handler) {
|
|
70
|
+
if (emailHandler) {
|
|
71
|
+
throw new Error("Email handler already registered. Only one onEmail handler is allowed.");
|
|
72
|
+
}
|
|
73
|
+
emailHandler = handler;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get the registered email handler (internal use by generated worker code).
|
|
77
|
+
*/
|
|
78
|
+
export function __getEmailHandler() {
|
|
79
|
+
return emailHandler;
|
|
80
|
+
}
|
|
47
81
|
const cronHandlers = new Map();
|
|
48
82
|
/**
|
|
49
83
|
* Register a cron job.
|
|
@@ -116,22 +150,17 @@ export async function __runMigrations() {
|
|
|
116
150
|
}
|
|
117
151
|
// Create tracking table if it doesn't exist
|
|
118
152
|
// Note: Using prepare().run() instead of exec() for D1 compatibility
|
|
119
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
120
153
|
const createStmt = db.prepare(`
|
|
121
154
|
CREATE TABLE IF NOT EXISTS _migrations (
|
|
122
155
|
name TEXT PRIMARY KEY,
|
|
123
156
|
applied_at TEXT DEFAULT (datetime('now'))
|
|
124
157
|
)
|
|
125
158
|
`);
|
|
126
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
127
159
|
await createStmt.run();
|
|
128
160
|
// Get already-applied migrations
|
|
129
161
|
const applied = new Set();
|
|
130
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
|
|
131
162
|
const result = await db.prepare("SELECT name FROM _migrations").all();
|
|
132
|
-
|
|
133
|
-
const rows = result.results;
|
|
134
|
-
for (const row of rows) {
|
|
163
|
+
for (const row of result.results) {
|
|
135
164
|
applied.add(row.name);
|
|
136
165
|
}
|
|
137
166
|
// Sort migrations alphabetically by name
|
|
@@ -146,7 +175,6 @@ export async function __runMigrations() {
|
|
|
146
175
|
await migration.handler();
|
|
147
176
|
// Record successful migration (use INSERT OR IGNORE to handle race conditions
|
|
148
177
|
// where another worker may have already recorded this migration)
|
|
149
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
150
178
|
await db.prepare("INSERT OR IGNORE INTO _migrations (name) VALUES (?)").bind(migration.name).run();
|
|
151
179
|
console.log(`[migrate] Completed "${migration.name}"`);
|
|
152
180
|
}
|
|
@@ -204,33 +232,29 @@ export async function __runMigrations() {
|
|
|
204
232
|
export const db = {
|
|
205
233
|
prepare(sql) {
|
|
206
234
|
const env = __getEnv();
|
|
207
|
-
const d1 = env
|
|
235
|
+
const d1 = env.DB;
|
|
208
236
|
if (!d1) {
|
|
209
237
|
throw new Error('D1 database not configured. Add [[d1_databases]] to wrangler.toml with binding = "DB".');
|
|
210
238
|
}
|
|
211
|
-
// D1 binding type not available outside Workers context
|
|
212
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return
|
|
213
239
|
return d1.prepare(sql);
|
|
214
240
|
},
|
|
215
241
|
batch(statements) {
|
|
216
242
|
const env = __getEnv();
|
|
217
|
-
const d1 = env
|
|
243
|
+
const d1 = env.DB;
|
|
218
244
|
if (!d1) {
|
|
219
245
|
throw new Error('D1 database not configured. Add [[d1_databases]] to wrangler.toml with binding = "DB".');
|
|
220
246
|
}
|
|
221
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return
|
|
222
247
|
return d1.batch(statements);
|
|
223
248
|
},
|
|
224
249
|
async exec(sql) {
|
|
225
250
|
const env = __getEnv();
|
|
226
|
-
const d1 = env
|
|
251
|
+
const d1 = env.DB;
|
|
227
252
|
if (!d1) {
|
|
228
253
|
throw new Error('D1 database not configured. Add [[d1_databases]] to wrangler.toml with binding = "DB".');
|
|
229
254
|
}
|
|
230
255
|
// D1 exec() does not return results. Keep the local API consistent
|
|
231
256
|
// by returning undefined in all cases.
|
|
232
|
-
|
|
233
|
-
await d1.exec?.(sql);
|
|
257
|
+
await d1.exec(sql);
|
|
234
258
|
},
|
|
235
259
|
};
|
|
236
260
|
// ============================================================================
|
|
@@ -287,7 +311,7 @@ function mapR2ObjectBody(obj) {
|
|
|
287
311
|
*/
|
|
288
312
|
function getR2Bucket() {
|
|
289
313
|
const env = __getEnv();
|
|
290
|
-
const r2 = env
|
|
314
|
+
const r2 = env.STORAGE;
|
|
291
315
|
if (!r2) {
|
|
292
316
|
throw new Error("Storage not configured. Deploy your project with 'fling push' first.");
|
|
293
317
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker-runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker-runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-common.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/plugin-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"plugin-common.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/plugin-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAc9G;AAMD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAajF;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAoB7D;AAKD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWzE;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAWnG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
* plugin-specific logic.
|
|
7
7
|
*/
|
|
8
8
|
import { __getEnv } from "./index.js";
|
|
9
|
+
// ═══════════════════════════════════════════════════════
|
|
10
|
+
// SERVICE BINDING FETCH
|
|
11
|
+
// ═══════════════════════════════════════════════════════
|
|
9
12
|
/**
|
|
10
13
|
* Create a pluginFetch function bound to a specific service binding name.
|
|
11
14
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-common.js","sourceRoot":"","sources":["../../src/worker-runtime/plugin-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"plugin-common.js","sourceRoot":"","sources":["../../src/worker-runtime/plugin-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal local type definitions for Cloudflare Worker bindings.
|
|
3
|
+
*
|
|
4
|
+
* `@cloudflare/workers-types` can't be added to the root tsconfig because
|
|
5
|
+
* it would pollute CLI/Node.js code with incompatible Worker globals.
|
|
6
|
+
* These interfaces cover only the API surface the worker runtime actually uses.
|
|
7
|
+
*/
|
|
8
|
+
export interface D1Meta {
|
|
9
|
+
changes: number;
|
|
10
|
+
last_row_id: number;
|
|
11
|
+
/** Extra fields like `duration`, `rows_read`, etc. from CF */
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
export interface D1Result<T = unknown> {
|
|
15
|
+
results: T[];
|
|
16
|
+
success: boolean;
|
|
17
|
+
meta: D1Meta;
|
|
18
|
+
}
|
|
19
|
+
export interface D1PreparedStatement {
|
|
20
|
+
bind(...values: unknown[]): D1PreparedStatement;
|
|
21
|
+
first<T = unknown>(colName?: string): Promise<T | null>;
|
|
22
|
+
all<T = unknown>(): Promise<D1Result<T>>;
|
|
23
|
+
run<T = unknown>(): Promise<D1Result<T>>;
|
|
24
|
+
}
|
|
25
|
+
export interface D1Database {
|
|
26
|
+
prepare(query: string): D1PreparedStatement;
|
|
27
|
+
batch(statements: D1PreparedStatement[]): Promise<D1Result[]>;
|
|
28
|
+
exec(query: string): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
export interface R2Object {
|
|
31
|
+
key: string;
|
|
32
|
+
size: number;
|
|
33
|
+
etag: string;
|
|
34
|
+
uploaded: Date;
|
|
35
|
+
httpMetadata?: {
|
|
36
|
+
contentType?: string;
|
|
37
|
+
};
|
|
38
|
+
customMetadata?: Record<string, string>;
|
|
39
|
+
}
|
|
40
|
+
export interface R2ObjectBody extends R2Object {
|
|
41
|
+
body: ReadableStream<Uint8Array>;
|
|
42
|
+
bodyUsed: boolean;
|
|
43
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
44
|
+
text(): Promise<string>;
|
|
45
|
+
json<T>(): Promise<T>;
|
|
46
|
+
}
|
|
47
|
+
export interface R2Bucket {
|
|
48
|
+
put(key: string, value: ReadableStream | ArrayBuffer | ArrayBufferView | string | null, options?: {
|
|
49
|
+
httpMetadata?: {
|
|
50
|
+
contentType?: string;
|
|
51
|
+
};
|
|
52
|
+
customMetadata?: Record<string, string>;
|
|
53
|
+
}): Promise<R2Object>;
|
|
54
|
+
get(key: string): Promise<R2ObjectBody | null>;
|
|
55
|
+
head(key: string): Promise<R2Object | null>;
|
|
56
|
+
delete(keys: string | string[]): Promise<void>;
|
|
57
|
+
list(options?: {
|
|
58
|
+
prefix?: string;
|
|
59
|
+
cursor?: string;
|
|
60
|
+
limit?: number;
|
|
61
|
+
}): Promise<{
|
|
62
|
+
objects: R2Object[];
|
|
63
|
+
truncated: boolean;
|
|
64
|
+
cursor?: string;
|
|
65
|
+
}>;
|
|
66
|
+
}
|
|
67
|
+
export interface ServiceBinding {
|
|
68
|
+
fetch(input: string | Request | URL, init?: RequestInit): Promise<Response>;
|
|
69
|
+
}
|
|
70
|
+
export interface WorkerEnv {
|
|
71
|
+
DB?: D1Database;
|
|
72
|
+
STORAGE?: R2Bucket;
|
|
73
|
+
DISCORD_PLUGIN?: ServiceBinding;
|
|
74
|
+
SLACK_PLUGIN?: ServiceBinding;
|
|
75
|
+
FLING_PROJECT_ID?: string;
|
|
76
|
+
FLING_WORKER_SECRET?: string;
|
|
77
|
+
/** User-defined secrets accessed via `secrets.get(name)` */
|
|
78
|
+
[key: string]: unknown;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal local type definitions for Cloudflare Worker bindings.
|
|
3
|
+
*
|
|
4
|
+
* `@cloudflare/workers-types` can't be added to the root tsconfig because
|
|
5
|
+
* it would pollute CLI/Node.js code with incompatible Worker globals.
|
|
6
|
+
* These interfaces cover only the API surface the worker runtime actually uses.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/worker-runtime/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flingit",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.37",
|
|
4
4
|
"description": "Personal Software Platform - Build and deploy personal tools through conversation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -77,6 +77,7 @@
|
|
|
77
77
|
"dotenv": "^17.2.3",
|
|
78
78
|
"esbuild": "^0.27.2",
|
|
79
79
|
"hono": "^4.11.7",
|
|
80
|
+
"postal-mime": "^2.7.3",
|
|
80
81
|
"tsx": "^4.19.0",
|
|
81
82
|
"zod": "^3.25.76"
|
|
82
83
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
260019c8b38972cfed27c20e615307f0
|
|
@@ -147,6 +147,7 @@ npm exec fling logs # View local logs
|
|
|
147
147
|
npm exec fling push # Build and deploy to Cloudflare Workers
|
|
148
148
|
npm exec fling project slug # Show current project slug and URL
|
|
149
149
|
npm exec fling project slug:set <new-slug> # Change project slug (affects URL)
|
|
150
|
+
npm exec fling project takedown # Delete project and all data
|
|
150
151
|
npm exec fling cron list # List registered cron jobs
|
|
151
152
|
npm exec fling cron history <name> # View invocation history
|
|
152
153
|
npm exec fling cron trigger <name> # Manually trigger a cron job
|
|
@@ -307,6 +308,8 @@ This gives collaborators:
|
|
|
307
308
|
|
|
308
309
|
10. **Feedback** - If the user encounters problems that directly or indirectly have to do with fling, suggest to them leaving feedback. Details in `references/FEEDBACK.md`.
|
|
309
310
|
|
|
311
|
+
11. **Never run `fling project takedown` without explicit user confirmation** - This command permanently deletes the deployed project including all data in the production database, all files in storage, and the deployed worker code. You MUST NOT run this command unless the user has explicitly confirmed that they understand and accept that all data in their published app will be permanently lost. Always explain what will be destroyed before asking for confirmation.
|
|
312
|
+
|
|
310
313
|
**If the user's request might hit platform limitations, warn them early and suggest alternatives.**
|
|
311
314
|
|
|
312
315
|
## Migrations
|
|
@@ -315,7 +315,7 @@ npm exec fling plugin remove discord # Disconnect, release all servers
|
|
|
315
315
|
|
|
316
316
|
4. **Plugin must be installed first** — Run `fling plugin install discord` before using any Discord features. Check with `fling plugin permissions discord`.
|
|
317
317
|
|
|
318
|
-
5. **Rate limit: 60
|
|
318
|
+
5. **Rate limit: 3 per 60 seconds per project** — `reply`, `followup`, `sendMessage`, `editMessage`, and `addReaction` all count as "things". When exceeded, methods throw an error containing `PLUGIN_RATE_LIMIT_EXCEEDED`.
|
|
319
319
|
|
|
320
320
|
```typescript
|
|
321
321
|
try {
|
|
@@ -213,7 +213,7 @@ npm exec fling plugin remove slack # Disconnect, release all workspaces
|
|
|
213
213
|
|
|
214
214
|
4. **Plugin must be installed first** — Run `fling plugin install slack` before using any Slack features. Check with `fling plugin permissions slack`.
|
|
215
215
|
|
|
216
|
-
5. **Rate limit: 60
|
|
216
|
+
5. **Rate limit: 3 per 60 seconds per project** — `sendMessage`, `editMessage`, `addReaction`, and thread replies all count as "things". When exceeded, methods throw an error containing `PLUGIN_RATE_LIMIT_EXCEEDED`.
|
|
217
217
|
|
|
218
218
|
```typescript
|
|
219
219
|
try {
|