diff --git a/convex.json b/convex.json index 8cd4cfd..5dbf6e9 100644 --- a/convex.json +++ b/convex.json @@ -2,6 +2,6 @@ "$schema": "./node_modules/convex/schemas/convex.schema.json", "functions": "example/convex", "codegen": { - "legacyComponentApi": false + "legacyComponentApi": true } } diff --git a/example/convex/_generated/api.d.ts b/example/convex/_generated/api.d.ts index da717d1..c54d3e3 100644 --- a/example/convex/_generated/api.d.ts +++ b/example/convex/_generated/api.d.ts @@ -51,5 +51,133 @@ export declare const internal: FilterApi< >; export declare const components: { - resend: import("@convex-dev/resend/_generated/component.js").ComponentApi<"resend">; + resend: { + lib: { + cancelEmail: FunctionReference< + "mutation", + "internal", + { emailId: string }, + null + >; + cleanupAbandonedEmails: FunctionReference< + "mutation", + "internal", + { olderThan?: number }, + null + >; + cleanupOldEmails: FunctionReference< + "mutation", + "internal", + { olderThan?: number }, + null + >; + createManualEmail: FunctionReference< + "mutation", + "internal", + { + from: string; + headers?: Array<{ name: string; value: string }>; + replyTo?: Array; + subject: string; + to: string; + }, + string + >; + get: FunctionReference< + "query", + "internal", + { emailId: string }, + { + complained: boolean; + createdAt: number; + errorMessage?: string; + finalizedAt: number; + from: string; + headers?: Array<{ name: string; value: string }>; + html?: string; + opened: boolean; + replyTo: Array; + resendId?: string; + segment: number; + status: + | "waiting" + | "queued" + | "cancelled" + | "sent" + | "delivered" + | "delivery_delayed" + | "bounced" + | "failed"; + subject: string; + text?: string; + to: string; + } | null + >; + getStatus: FunctionReference< + "query", + "internal", + { emailId: string }, + { + complained: boolean; + errorMessage: string | null; + opened: boolean; + status: + | "waiting" + | "queued" + | "cancelled" + | "sent" + | "delivered" + | "delivery_delayed" + | "bounced" + | "failed"; + } | null + >; + handleEmailEvent: FunctionReference< + "mutation", + "internal", + { event: any }, + null + >; + sendEmail: FunctionReference< + "mutation", + "internal", + { + from: string; + headers?: Array<{ name: string; value: string }>; + html?: string; + options: { + apiKey: string; + initialBackoffMs: number; + onEmailEvent?: { fnHandle: string }; + retryAttempts: number; + testMode: boolean; + }; + replyTo?: Array; + subject: string; + text?: string; + to: string; + }, + string + >; + updateManualEmail: FunctionReference< + "mutation", + "internal", + { + emailId: string; + errorMessage?: string; + resendId?: string; + status: + | "waiting" + | "queued" + | "cancelled" + | "sent" + | "delivered" + | "delivery_delayed" + | "bounced" + | "failed"; + }, + null + >; + }; + }; }; diff --git a/package-lock.json b/package-lock.json index d16a2e1..cf39091 100644 --- a/package-lock.json +++ b/package-lock.json @@ -80,7 +80,6 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -351,7 +350,6 @@ "integrity": "sha512-NKBGBSIKUG584qrS1tyxVpX/AKJKQw5HgjYEnPLC0QsTw79JrGn+qUr8CXFb955Iy7GUdiiUv1rJ6JBGvaKb6w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@edge-runtime/primitives": "6.0.0" }, @@ -1177,7 +1175,6 @@ "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", @@ -1708,7 +1705,6 @@ "integrity": "sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -1759,7 +1755,6 @@ "integrity": "sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.46.2", "@typescript-eslint/types": "8.46.2", @@ -2093,7 +2088,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2306,7 +2300,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.19", "caniuse-lite": "^1.0.30001751", @@ -2577,7 +2570,6 @@ "resolved": "https://registry.npmjs.org/convex/-/convex-1.25.4.tgz", "integrity": "sha512-LiGZZTmbe5iHWwDOYfSA00w+uDM8kgLC0ohFJW0VgQlKcs8famHCE6yuplk4wwXyj9Lhb1+yMRfrAD2ZEquqHg==", "license": "Apache-2.0", - "peer": true, "dependencies": { "esbuild": "0.25.4", "jwt-decode": "^4.0.0", @@ -2914,7 +2906,6 @@ "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -4408,7 +4399,6 @@ "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", "devOptional": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -4863,7 +4853,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -5027,7 +5016,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "devOptional": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -5180,7 +5168,6 @@ "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -5294,7 +5281,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -5641,7 +5627,6 @@ "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "devOptional": true, "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" }