diff --git a/.changeset/dependabot-update-14271.md b/.changeset/dependabot-update-14271.md new file mode 100644 index 0000000000..4f4dbdd27d --- /dev/null +++ b/.changeset/dependabot-update-14271.md @@ -0,0 +1,12 @@ +--- +"miniflare": patch +"wrangler": patch +--- + +Update dependencies of "miniflare", "wrangler" + +The following dependency versions have been updated: + +| Dependency | From | To | +| ---------- | ------------ | ------------ | +| workerd | 1.20260611.1 | 1.20260612.1 | diff --git a/.changeset/fix-email-sending-endpoints.md b/.changeset/fix-email-sending-endpoints.md new file mode 100644 index 0000000000..f268ad3dfd --- /dev/null +++ b/.changeset/fix-email-sending-endpoints.md @@ -0,0 +1,13 @@ +--- +"wrangler": patch +--- + +Fix `wrangler email sending` commands + +The `email sending` commands previously failed against the Cloudflare API. They now work as expected: + +- `email sending enable ` enables Email Sending for a domain +- `email sending disable ` disables Email Sending for a domain +- `email sending settings ` shows the Email Sending configuration for a domain +- `email sending dns get ` shows the DNS records to set up for a domain +- `email sending list` previously listed zones. It now lists the domains that have Email Sending enabled — every enabled domain across your account by default, or just those under a specific domain when you pass a domain (or `--zone-id`). diff --git a/packages/miniflare/package.json b/packages/miniflare/package.json index b0a52223bb..0825350499 100644 --- a/packages/miniflare/package.json +++ b/packages/miniflare/package.json @@ -52,7 +52,7 @@ "@cspotcode/source-map-support": "0.8.1", "sharp": "0.34.5", "undici": "catalog:default", - "workerd": "1.20260611.1", + "workerd": "1.20260612.1", "ws": "catalog:default", "youch": "4.1.0-beta.10" }, diff --git a/packages/wrangler/package.json b/packages/wrangler/package.json index ad05dc847a..e86d2543ed 100644 --- a/packages/wrangler/package.json +++ b/packages/wrangler/package.json @@ -84,7 +84,7 @@ "miniflare": "workspace:*", "path-to-regexp": "6.3.0", "unenv": "2.0.0-rc.24", - "workerd": "1.20260611.1" + "workerd": "1.20260612.1" }, "devDependencies": { "@aws-sdk/client-s3": "^3.721.0", diff --git a/packages/wrangler/src/__tests__/email-routing.test.ts b/packages/wrangler/src/__tests__/email-routing.test.ts index 849cd231cb..497cf931d6 100644 --- a/packages/wrangler/src/__tests__/email-routing.test.ts +++ b/packages/wrangler/src/__tests__/email-routing.test.ts @@ -69,14 +69,13 @@ const mockAddress = { }; const mockSubdomain = { - email_sending_enabled: true, + enabled: true, name: "sub.example.com", tag: "aabbccdd11223344aabbccdd11223344", created: "2024-01-01T00:00:00Z", - email_sending_dkim_selector: "cf-bounce", - email_sending_return_path_domain: "cf-bounce.sub.example.com", - enabled: true, + dkim_selector: "cf-bounce", modified: "2024-01-02T00:00:00Z", + return_path_domain: "cf-bounce.sub.example.com", }; const mockSendingDnsRecords = [ @@ -743,23 +742,46 @@ describe("email sending commands", () => { // --- list --- describe("list", () => { - it("should list zones with email sending", async ({ expect }) => { + it("should list all subdomains in the account", async ({ expect }) => { mockListEmailSendingZones([mockSettings]); + mockListSendingSubdomainsForZone("75610dab9e69410a82cf7e400a09ecec", [ + mockSubdomain, + ]); await runWrangler("email sending list"); - expect(std.out).toContain("example.com"); + expect(std.out).toContain("sub.example.com"); + expect(std.out).toContain("aabbccdd11223344aabbccdd11223344"); expect(std.out).toContain("yes"); }); - it("should handle no zones", async ({ expect }) => { - mockListEmailSendingZones([]); + it("should handle no subdomains in the account", async ({ expect }) => { + mockListEmailSendingZones([mockSettings]); + mockListSendingSubdomainsForZone("75610dab9e69410a82cf7e400a09ecec", []); await runWrangler("email sending list"); - expect(std.out).toContain( - "No zones found with Email Sending in this account." - ); + expect(std.out).toContain("No sending subdomains found in this account."); + }); + + it("should list subdomains for a domain", async ({ expect }) => { + mockZoneLookup("example.com", "zone-id-1"); + mockListSendingSubdomains([mockSubdomain]); + + await runWrangler("email sending list example.com"); + + expect(std.out).toContain("sub.example.com"); + expect(std.out).toContain("aabbccdd11223344aabbccdd11223344"); + expect(std.out).toContain("yes"); + }); + + it("should handle no subdomains for a domain", async ({ expect }) => { + mockZoneLookup("example.com", "zone-id-1"); + mockListSendingSubdomains([]); + + await runWrangler("email sending list example.com"); + + expect(std.out).toContain("No sending subdomains found for this domain."); }); }); @@ -768,13 +790,24 @@ describe("email sending commands", () => { describe("settings", () => { it("should get sending settings", async ({ expect }) => { mockZoneLookup("example.com", "zone-id-1"); - mockGetSendingSettings("zone-id-1"); + mockListSendingSubdomains([{ ...mockSubdomain, name: "example.com" }]); await runWrangler("email sending settings example.com"); expect(std.out).toContain("Email Sending for example.com"); - expect(std.out).toContain("Enabled: true"); - expect(std.out).toContain("sub.example.com"); + expect(std.out).toContain("Enabled: true"); + expect(std.out).toContain("cf-bounce"); + }); + + it("should error when the domain has no sending subdomain", async ({ + expect, + }) => { + mockZoneLookup("example.com", "zone-id-1"); + mockListSendingSubdomains([]); + + await expect( + runWrangler("email sending settings example.com") + ).rejects.toThrow("No sending subdomain found for `example.com`"); }); }); @@ -783,7 +816,7 @@ describe("email sending commands", () => { describe("enable", () => { it("should enable sending for a zone", async ({ expect }) => { mockZoneLookup("example.com", "zone-id-1"); - mockEnableSending("zone-id-1"); + mockCreateSendingSubdomain(); await runWrangler("email sending enable example.com"); @@ -792,67 +825,60 @@ describe("email sending commands", () => { it("should enable sending for a subdomain", async ({ expect }) => { mockZoneLookup("sub.example.com", "zone-id-1"); - mockEnableSending("zone-id-1"); + mockCreateSendingSubdomain(); await runWrangler("email sending enable sub.example.com"); expect(std.out).toContain("Email Sending enabled for sub.example.com"); }); - it("should not send name for zone-level domain with --zone-id", async ({ + it("should send the zone name for a zone-level domain with --zone-id", async ({ expect, }) => { mockZoneDetails("zone-id-1", "example.com"); - const reqProm = mockEnableSendingCapture(); + const reqProm = mockCreateSendingSubdomainCapture(); await runWrangler("email sending enable example.com --zone-id zone-id-1"); - // Zone-level: body should be {} (no name) - await expect(reqProm).resolves.toMatchObject({}); - const body = await reqProm; - expect(body).not.toHaveProperty("name"); + await expect(reqProm).resolves.toMatchObject({ name: "example.com" }); }); it("should send name for subdomain with --zone-id", async ({ expect }) => { mockZoneDetails("zone-id-1", "example.com"); - const reqProm = mockEnableSendingCapture(); + const reqProm = mockCreateSendingSubdomainCapture(); await runWrangler( "email sending enable sub.example.com --zone-id zone-id-1" ); - // Subdomain: body should have { name: "sub.example.com" } await expect(reqProm).resolves.toMatchObject({ name: "sub.example.com", }); }); - it("should correctly handle multi-label TLD with --zone-id", async ({ + it("should send the zone name for multi-label TLD with --zone-id", async ({ expect, }) => { mockZoneDetails("zone-id-1", "example.co.uk"); - const reqProm = mockEnableSendingCapture(); + const reqProm = mockCreateSendingSubdomainCapture(); await runWrangler( "email sending enable example.co.uk --zone-id zone-id-1" ); - // example.co.uk is the zone itself, not a subdomain - const body = await reqProm; - expect(body).not.toHaveProperty("name"); + await expect(reqProm).resolves.toMatchObject({ name: "example.co.uk" }); }); - it("should detect subdomain of multi-label TLD with --zone-id", async ({ + it("should send subdomain of multi-label TLD with --zone-id", async ({ expect, }) => { mockZoneDetails("zone-id-1", "example.co.uk"); - const reqProm = mockEnableSendingCapture(); + const reqProm = mockCreateSendingSubdomainCapture(); await runWrangler( "email sending enable notifications.example.co.uk --zone-id zone-id-1" ); - // notifications.example.co.uk is a subdomain of example.co.uk await expect(reqProm).resolves.toMatchObject({ name: "notifications.example.co.uk", }); @@ -860,52 +886,54 @@ describe("email sending commands", () => { }); describe("disable", () => { - it("should disable sending for a zone", async ({ expect }) => { + it("should disable sending for a domain", async ({ expect }) => { mockConfirm({ text: "Are you sure you want to disable Email Sending for example.com?", result: true, }); mockZoneLookup("example.com", "zone-id-1"); - mockDisableSending("zone-id-1"); + mockListSendingSubdomains([{ ...mockSubdomain, name: "example.com" }]); + const reqProm = mockDeleteSendingSubdomainCapture(); await runWrangler("email sending disable example.com"); + await expect(reqProm).resolves.toBe("aabbccdd11223344aabbccdd11223344"); expect(std.out).toContain("Email Sending disabled for example.com"); }); - it("should not send name for zone-level domain with --zone-id", async ({ + it("should delete the matching subdomain with --zone-id", async ({ expect, }) => { mockConfirm({ - text: "Are you sure you want to disable Email Sending for example.com?", + text: "Are you sure you want to disable Email Sending for sub.example.com?", result: true, }); mockZoneDetails("zone-id-1", "example.com"); - const reqProm = mockDisableSendingCapture(); + mockListSendingSubdomains([mockSubdomain]); + const reqProm = mockDeleteSendingSubdomainCapture(); await runWrangler( - "email sending disable example.com --zone-id zone-id-1" + "email sending disable sub.example.com --zone-id zone-id-1" ); - const body = await reqProm; - expect(body).not.toHaveProperty("name"); + await expect(reqProm).resolves.toBe("aabbccdd11223344aabbccdd11223344"); }); - it("should send name for subdomain with --zone-id", async ({ expect }) => { + it("should error when the domain has no sending subdomain", async ({ + expect, + }) => { mockConfirm({ - text: "Are you sure you want to disable Email Sending for sub.example.com?", + text: "Are you sure you want to disable Email Sending for missing.example.com?", result: true, }); mockZoneDetails("zone-id-1", "example.com"); - const reqProm = mockDisableSendingCapture(); - - await runWrangler( - "email sending disable sub.example.com --zone-id zone-id-1" - ); + mockListSendingSubdomains([mockSubdomain]); - await expect(reqProm).resolves.toMatchObject({ - name: "sub.example.com", - }); + await expect( + runWrangler( + "email sending disable missing.example.com --zone-id zone-id-1" + ) + ).rejects.toThrow("No sending subdomain found for `missing.example.com`"); }); }); @@ -914,7 +942,7 @@ describe("email sending commands", () => { describe("dns get", () => { it("should show sending dns records", async ({ expect }) => { mockZoneLookup("sub.example.com", "zone-id-1"); - mockGetSendingSettings("zone-id-1"); + mockListSendingSubdomains([mockSubdomain]); mockGetSendingDns( "zone-id-1", "aabbccdd11223344aabbccdd11223344", @@ -929,7 +957,7 @@ describe("email sending commands", () => { it("should handle no dns records", async ({ expect }) => { mockZoneLookup("sub.example.com", "zone-id-1"); - mockGetSendingSettings("zone-id-1"); + mockListSendingSubdomains([mockSubdomain]); mockGetSendingDns("zone-id-1", "aabbccdd11223344aabbccdd11223344", []); await runWrangler("email sending dns get sub.example.com"); @@ -939,11 +967,16 @@ describe("email sending commands", () => { ); }); - it("should use zone-level dns endpoint for zone domain with --zone-id", async ({ + it("should get dns records for a zone-apex domain with --zone-id", async ({ expect, }) => { mockZoneDetails("zone-id-1", "example.com"); - mockGetSendingZoneDns(mockSendingDnsRecords); + mockListSendingSubdomains([{ ...mockSubdomain, name: "example.com" }]); + mockGetSendingDns( + "zone-id-1", + "aabbccdd11223344aabbccdd11223344", + mockSendingDnsRecords + ); await runWrangler( "email sending dns get example.com --zone-id zone-id-1" @@ -953,11 +986,11 @@ describe("email sending commands", () => { expect(std.out).toContain("v=spf1"); }); - it("should use subdomain dns endpoint for subdomain with --zone-id", async ({ + it("should get dns records for a subdomain with --zone-id", async ({ expect, }) => { mockZoneDetails("zone-id-1", "example.com"); - mockGetSendingSettings("zone-id-1"); + mockListSendingSubdomains([mockSubdomain]); mockGetSendingDns( "zone-id-1", "aabbccdd11223344aabbccdd11223344", @@ -1469,53 +1502,41 @@ function mockListEmailSendingZones(settings: (typeof mockSettings)[]) { ); } -function mockEnableSending(_zoneId: string) { +function mockListSendingSubdomains(subdomains: (typeof mockSubdomain)[]) { msw.use( - http.post( - "*/zones/:zoneId/email/sending/enable", - async ({ request }) => { - const body = (await request.json()) as Record; - const name = (body.name as string) || "example.com"; - return HttpResponse.json( - createFetchResult({ ...mockSettings, name, status: "ready" }, true) - ); + http.get( + "*/zones/:zoneId/email/sending/subdomains", + () => { + return HttpResponse.json(createFetchResult(subdomains, true)); }, { once: true } ) ); } -function mockEnableSendingCapture(): Promise> { - return new Promise((resolve) => { - msw.use( - http.post( - "*/zones/:zoneId/email/sending/enable", - async ({ request }) => { - const body = (await request.json()) as Record; - resolve(body); - const name = (body.name as string) || "example.com"; - return HttpResponse.json( - createFetchResult({ ...mockSettings, name, status: "ready" }, true) - ); - }, - { once: true } - ) - ); - }); +function mockListSendingSubdomainsForZone( + zoneId: string, + subdomains: (typeof mockSubdomain)[] +) { + msw.use( + http.get("*/zones/:zoneId/email/sending/subdomains", ({ params }) => { + if (params.zoneId !== zoneId) { + return HttpResponse.json(createFetchResult([], true)); + } + return HttpResponse.json(createFetchResult(subdomains, true)); + }) + ); } -function mockDisableSending(_zoneId: string) { +function mockCreateSendingSubdomain() { msw.use( http.post( - "*/zones/:zoneId/email/sending/disable", + "*/zones/:zoneId/email/sending/subdomains", async ({ request }) => { const body = (await request.json()) as Record; const name = (body.name as string) || "example.com"; return HttpResponse.json( - createFetchResult( - { ...mockSettings, name, enabled: false, status: "unconfigured" }, - true - ) + createFetchResult({ ...mockSubdomain, name, enabled: true }, true) ); }, { once: true } @@ -1523,20 +1544,17 @@ function mockDisableSending(_zoneId: string) { ); } -function mockDisableSendingCapture(): Promise> { +function mockCreateSendingSubdomainCapture(): Promise> { return new Promise((resolve) => { msw.use( http.post( - "*/zones/:zoneId/email/sending/disable", + "*/zones/:zoneId/email/sending/subdomains", async ({ request }) => { const body = (await request.json()) as Record; resolve(body); const name = (body.name as string) || "example.com"; return HttpResponse.json( - createFetchResult( - { ...mockSettings, name, enabled: false, status: "unconfigured" }, - true - ) + createFetchResult({ ...mockSubdomain, name, enabled: true }, true) ); }, { once: true } @@ -1545,36 +1563,19 @@ function mockDisableSendingCapture(): Promise> { }); } -function mockGetSendingZoneDns(records: typeof mockSendingDnsRecords) { - msw.use( - http.get( - "*/zones/:zoneId/email/sending/dns", - () => { - return HttpResponse.json(createFetchResult(records, true)); - }, - { once: true } - ) - ); -} - -function mockGetSendingSettings(_zoneId: string) { - msw.use( - http.get( - "*/zones/:zoneId/email/sending", - () => { - return HttpResponse.json( - createFetchResult( - { - ...mockSettings, - subdomains: [mockSubdomain], - }, - true - ) - ); - }, - { once: true } - ) - ); +function mockDeleteSendingSubdomainCapture(): Promise { + return new Promise((resolve) => { + msw.use( + http.delete( + "*/zones/:zoneId/email/sending/subdomains/:subdomainId", + ({ params }) => { + resolve(params.subdomainId as string); + return HttpResponse.json(createFetchResult(null, true)); + }, + { once: true } + ) + ); + }); } function mockGetSendingDns( diff --git a/packages/wrangler/src/email-routing/client.ts b/packages/wrangler/src/email-routing/client.ts index 5c4c1a0bad..50415d432d 100644 --- a/packages/wrangler/src/email-routing/client.ts +++ b/packages/wrangler/src/email-routing/client.ts @@ -1,4 +1,4 @@ -import { fetchPagedListResult, fetchResult } from "../cfetch"; +import { fetchListResult, fetchPagedListResult, fetchResult } from "../cfetch"; import { requireAuth } from "../user"; import type { EmailRoutingAddress, @@ -8,7 +8,7 @@ import type { EmailRoutingSettings, EmailSendingDnsRecord, EmailSendingSendResponse, - EmailSendingSettings, + EmailSendingSubdomain, } from "./index"; import type { Config } from "@cloudflare/workers-utils"; @@ -275,62 +275,49 @@ export async function deleteEmailRoutingAddress( ); } -export async function getEmailSendingSettings( +export async function listEmailSendingSubdomains( config: Config, zoneId: string -): Promise { +): Promise { await requireAuth(config); - return await fetchResult( + return await fetchListResult( config, - `/zones/${zoneId}/email/sending` + `/zones/${zoneId}/email/sending/subdomains` ); } -export async function enableEmailSending( +export async function createEmailSendingSubdomain( config: Config, zoneId: string, - name?: string -): Promise { + name: string +): Promise { await requireAuth(config); - return await fetchResult( + return await fetchResult( config, - `/zones/${zoneId}/email/sending/enable`, + `/zones/${zoneId}/email/sending/subdomains`, { method: "POST", headers: { "Content-Type": "application/json" }, - body: JSON.stringify(name ? { name } : {}), + body: JSON.stringify({ name }), } ); } -export async function disableEmailSending( +export async function deleteEmailSendingSubdomain( config: Config, zoneId: string, - name?: string -): Promise { + subdomainId: string +): Promise { await requireAuth(config); - return await fetchResult( + await fetchResult( config, - `/zones/${zoneId}/email/sending/disable`, + `/zones/${zoneId}/email/sending/subdomains/${subdomainId}`, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(name ? { name } : {}), + method: "DELETE", } ); } -export async function getEmailSendingDns( - config: Config, - zoneId: string -): Promise { - await requireAuth(config); - return await fetchResult( - config, - `/zones/${zoneId}/email/sending/dns` - ); -} - export async function getEmailSendingSubdomainDns( config: Config, zoneId: string, diff --git a/packages/wrangler/src/email-routing/index.ts b/packages/wrangler/src/email-routing/index.ts index df141bea51..977a548009 100644 --- a/packages/wrangler/src/email-routing/index.ts +++ b/packages/wrangler/src/email-routing/index.ts @@ -127,14 +127,13 @@ export interface EmailRoutingAddress { } export interface EmailSendingSubdomain { - tag: string; - name: string; enabled: boolean; - status?: string; -} - -export interface EmailSendingSettings extends EmailRoutingSettings { - subdomains?: EmailSendingSubdomain[]; + name: string; + tag: string; + created?: string; + dkim_selector?: string; + modified?: string; + return_path_domain?: string; } export interface EmailSendingDnsRecord { diff --git a/packages/wrangler/src/email-routing/sending/disable.ts b/packages/wrangler/src/email-routing/sending/disable.ts index 60f6702026..ec3620b832 100644 --- a/packages/wrangler/src/email-routing/sending/disable.ts +++ b/packages/wrangler/src/email-routing/sending/disable.ts @@ -1,8 +1,8 @@ import { createCommand } from "../../core/create-command"; import { confirm } from "../../dialogs"; import { logger } from "../../logger"; -import { disableEmailSending } from "../client"; -import { resolveDomain } from "../utils"; +import { deleteEmailSendingSubdomain } from "../client"; +import { resolveDomain, resolveSendingSubdomain } from "../utils"; export const emailSendingDisableCommand = createCommand({ metadata: { @@ -30,7 +30,7 @@ export const emailSendingDisableCommand = createCommand({ }, positionalArgs: ["domain"], async handler(args, { config }) { - const { zoneId, isSubdomain, domain } = await resolveDomain( + const { zoneId, domain } = await resolveDomain( config, args.domain, args.zoneId @@ -47,11 +47,9 @@ export const emailSendingDisableCommand = createCommand({ } } - const name = isSubdomain ? domain : undefined; - const settings = await disableEmailSending(config, zoneId, name); + const subdomain = await resolveSendingSubdomain(config, zoneId, domain); + await deleteEmailSendingSubdomain(config, zoneId, subdomain.tag); - logger.log( - `Email Sending disabled for ${settings.name} (status: ${settings.status})` - ); + logger.log(`Email Sending disabled for ${subdomain.name}`); }, }); diff --git a/packages/wrangler/src/email-routing/sending/dns-get.ts b/packages/wrangler/src/email-routing/sending/dns-get.ts index 86f295540c..dc7499bb7e 100644 --- a/packages/wrangler/src/email-routing/sending/dns-get.ts +++ b/packages/wrangler/src/email-routing/sending/dns-get.ts @@ -1,13 +1,7 @@ -import { UserError } from "@cloudflare/workers-utils"; import { createCommand } from "../../core/create-command"; import { logger } from "../../logger"; -import { - getEmailSendingDns, - getEmailSendingSettings, - getEmailSendingSubdomainDns, -} from "../client"; -import { resolveDomain } from "../utils"; -import type { EmailSendingDnsRecord } from "../index"; +import { getEmailSendingSubdomainDns } from "../client"; +import { resolveDomain, resolveSendingSubdomain } from "../utils"; export const emailSendingDnsGetCommand = createCommand({ metadata: { @@ -29,29 +23,18 @@ export const emailSendingDnsGetCommand = createCommand({ }, positionalArgs: ["domain"], async handler(args, { config }) { - const { zoneId, isSubdomain } = await resolveDomain( + const { zoneId, domain } = await resolveDomain( config, args.domain, args.zoneId ); - let records: EmailSendingDnsRecord[]; - - if (!isSubdomain) { - // Zone-level sending domain uses /email/sending/dns - records = await getEmailSendingDns(config, zoneId); - } else { - // Subdomain — find the tag from settings and use the subdomain DNS endpoint - const settings = await getEmailSendingSettings(config, zoneId); - const match = settings.subdomains?.find((s) => s.name === args.domain); - if (!match) { - throw new UserError( - `No sending subdomain found for \`${args.domain}\`. Run \`wrangler email sending settings ${args.domain}\` to see configured domains.`, - { telemetryMessage: "email routing sending dns subdomain not found" } - ); - } - records = await getEmailSendingSubdomainDns(config, zoneId, match.tag); - } + const subdomain = await resolveSendingSubdomain(config, zoneId, domain); + const records = await getEmailSendingSubdomainDns( + config, + zoneId, + subdomain.tag + ); if (records.length === 0) { logger.log("No DNS records found for this sending domain."); diff --git a/packages/wrangler/src/email-routing/sending/enable.ts b/packages/wrangler/src/email-routing/sending/enable.ts index c0237e810a..c0fc61efa0 100644 --- a/packages/wrangler/src/email-routing/sending/enable.ts +++ b/packages/wrangler/src/email-routing/sending/enable.ts @@ -1,6 +1,6 @@ import { createCommand } from "../../core/create-command"; import { logger } from "../../logger"; -import { enableEmailSending } from "../client"; +import { createEmailSendingSubdomain } from "../client"; import { resolveDomain } from "../utils"; export const emailSendingEnableCommand = createCommand({ @@ -23,16 +23,15 @@ export const emailSendingEnableCommand = createCommand({ }, positionalArgs: ["domain"], async handler(args, { config }) { - const { zoneId, isSubdomain, domain } = await resolveDomain( + const { zoneId, domain } = await resolveDomain( config, args.domain, args.zoneId ); - const name = isSubdomain ? domain : undefined; - const settings = await enableEmailSending(config, zoneId, name); + const subdomain = await createEmailSendingSubdomain(config, zoneId, domain); logger.log( - `Email Sending enabled for ${settings.name} (status: ${settings.status})` + `Email Sending enabled for ${subdomain.name} (enabled: ${subdomain.enabled})` ); }, }); diff --git a/packages/wrangler/src/email-routing/sending/list.ts b/packages/wrangler/src/email-routing/sending/list.ts index f27481be3c..5ab55dd556 100644 --- a/packages/wrangler/src/email-routing/sending/list.ts +++ b/packages/wrangler/src/email-routing/sending/list.ts @@ -1,27 +1,70 @@ import { createCommand } from "../../core/create-command"; import { logger } from "../../logger"; -import { listEmailSendingZones } from "../client"; +import { listEmailSendingSubdomains, listEmailSendingZones } from "../client"; +import { resolveDomain } from "../utils"; export const emailSendingListCommand = createCommand({ metadata: { - description: "List zones with Email Sending", + description: + "List Email Sending subdomains (all subdomains in the account when no domain is given)", status: "open beta", owner: "Product: Email Service", }, - args: {}, - async handler(_args, { config }) { - const zones = await listEmailSendingZones(config); + args: { + domain: { + type: "string", + description: + "Domain whose sending subdomains to list. Lists all subdomains in the account when omitted.", + }, + "zone-id": { + type: "string", + description: "Zone ID (optional, skips zone lookup if provided)", + }, + }, + positionalArgs: ["domain"], + async handler(args, { config }) { + if (args.domain || args.zoneId) { + const zoneId = args.zoneId + ? args.zoneId + : (await resolveDomain(config, args.domain ?? "", args.zoneId)).zoneId; + const subdomains = await listEmailSendingSubdomains(config, zoneId); - if (zones.length === 0) { - logger.log("No zones found with Email Sending in this account."); + if (subdomains.length === 0) { + logger.log("No sending subdomains found for this domain."); + return; + } + + logger.table( + subdomains.map((subdomain) => ({ + name: subdomain.name, + enabled: subdomain.enabled ? "yes" : "no", + tag: subdomain.tag, + })) + ); return; } - const results = zones.map((zone) => ({ - zone: zone.name, - "zone id": zone.id, - enabled: zone.enabled ? "yes" : "no", - })); + const zones = await listEmailSendingZones(config); + const subdomainsByZone = await Promise.all( + zones.map(async (zone) => ({ + zone, + subdomains: await listEmailSendingSubdomains(config, zone.id), + })) + ); + + const results = subdomainsByZone.flatMap(({ zone, subdomains }) => + subdomains.map((subdomain) => ({ + zone: zone.name, + name: subdomain.name, + enabled: subdomain.enabled ? "yes" : "no", + tag: subdomain.tag, + })) + ); + + if (results.length === 0) { + logger.log("No sending subdomains found in this account."); + return; + } logger.table(results); }, diff --git a/packages/wrangler/src/email-routing/sending/settings.ts b/packages/wrangler/src/email-routing/sending/settings.ts index e50abb15a2..1aace36cd1 100644 --- a/packages/wrangler/src/email-routing/sending/settings.ts +++ b/packages/wrangler/src/email-routing/sending/settings.ts @@ -1,11 +1,10 @@ import { createCommand } from "../../core/create-command"; import { logger } from "../../logger"; -import { getEmailSendingSettings } from "../client"; -import { resolveDomain } from "../utils"; +import { resolveDomain, resolveSendingSubdomain } from "../utils"; export const emailSendingSettingsCommand = createCommand({ metadata: { - description: "Get Email Sending settings for a zone", + description: "Get Email Sending settings for a domain", status: "open beta", owner: "Product: Email Service", }, @@ -22,23 +21,19 @@ export const emailSendingSettingsCommand = createCommand({ }, positionalArgs: ["domain"], async handler(args, { config }) { - const { zoneId } = await resolveDomain(config, args.domain, args.zoneId); - const settings = await getEmailSendingSettings(config, zoneId); + const { zoneId, domain } = await resolveDomain( + config, + args.domain, + args.zoneId + ); + const subdomain = await resolveSendingSubdomain(config, zoneId, domain); - logger.log(`Email Sending for ${settings.name}:`); - logger.log(` Enabled: ${settings.enabled}`); - logger.log(` Status: ${settings.status}`); - logger.log(` Created: ${settings.created}`); - logger.log(` Modified: ${settings.modified}`); - - const subdomains = settings.subdomains; - if (Array.isArray(subdomains) && subdomains.length > 0) { - logger.log(` Subdomains:`); - for (const s of subdomains) { - logger.log( - ` - ${s.name} (enabled: ${s.enabled}, status: ${s.status ?? "unknown"})` - ); - } - } + logger.log(`Email Sending for ${subdomain.name}:`); + logger.log(` Enabled: ${subdomain.enabled}`); + logger.log(` Tag: ${subdomain.tag}`); + logger.log(` Created: ${subdomain.created ?? ""}`); + logger.log(` Modified: ${subdomain.modified ?? ""}`); + logger.log(` DKIM selector: ${subdomain.dkim_selector ?? ""}`); + logger.log(` Return-path domain: ${subdomain.return_path_domain ?? ""}`); }, }); diff --git a/packages/wrangler/src/email-routing/utils.ts b/packages/wrangler/src/email-routing/utils.ts index 35c39ab447..c455e4b008 100644 --- a/packages/wrangler/src/email-routing/utils.ts +++ b/packages/wrangler/src/email-routing/utils.ts @@ -2,6 +2,8 @@ import { UserError } from "@cloudflare/workers-utils"; import { fetchListResult, fetchResult } from "../cfetch"; import { requireAuth } from "../user"; import { retryOnAPIFailure } from "../utils/retry"; +import { listEmailSendingSubdomains } from "./client"; +import type { EmailSendingSubdomain } from "./index"; import type { ComplianceConfig, Config } from "@cloudflare/workers-utils"; export async function resolveZoneId( @@ -108,3 +110,19 @@ export async function resolveDomain( { telemetryMessage: "email routing domain zone not found" } ); } + +export async function resolveSendingSubdomain( + config: Config, + zoneId: string, + name: string +): Promise { + const subdomains = await listEmailSendingSubdomains(config, zoneId); + const match = subdomains.find((s) => s.name === name); + if (!match) { + throw new UserError( + `No sending subdomain found for \`${name}\`. Run \`wrangler email sending list ${name}\` to see configured subdomains.`, + { telemetryMessage: "email sending subdomain not found" } + ); + } + return match; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eda72d8bd6..74af328264 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,8 +10,8 @@ catalogs: specifier: 0.13.3 version: 0.13.3 '@cloudflare/workers-types': - specifier: ^4.20260611.1 - version: 4.20260611.1 + specifier: ^4.20260612.1 + version: 4.20260612.1 '@hey-api/openapi-ts': specifier: 0.94.0 version: 0.94.0 @@ -182,7 +182,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@fixture/shared': specifier: workspace:* version: link:../shared @@ -230,7 +230,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 ts-dedent: specifier: ^2.2.0 version: 2.2.0 @@ -248,7 +248,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -269,7 +269,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -293,7 +293,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -329,7 +329,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 undici: specifier: catalog:default version: 7.24.8 @@ -344,7 +344,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/mimetext': specifier: ^2.0.4 version: 2.0.4 @@ -383,7 +383,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@fixture/shared': specifier: workspace:* version: link:../shared @@ -407,7 +407,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/jest-image-snapshot': specifier: ^6.4.0 version: 6.4.0 @@ -434,7 +434,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 miniflare: specifier: workspace:* version: link:../../packages/miniflare @@ -504,7 +504,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/is-even': specifier: ^1.0.2 version: 1.0.2 @@ -522,11 +522,11 @@ importers: dependencies: '@sentry/cloudflare': specifier: ^10 - version: 10.50.0(@cloudflare/workers-types@4.20260611.1) + version: 10.50.0(@cloudflare/workers-types@4.20260612.1) devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 vitest: specifier: catalog:default version: 4.1.0(@opentelemetry/api@1.9.1)(@types/node@22.15.17)(@vitest/ui@4.1.0)(msw@2.12.4(@types/node@22.15.17)(typescript@5.9.3))(vite@8.0.13(@types/node@22.15.17)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.1)) @@ -557,7 +557,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -585,7 +585,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/node': specifier: 22.15.17 version: 22.15.17 @@ -615,7 +615,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 undici: specifier: catalog:default version: 7.24.8 @@ -633,7 +633,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/debug': specifier: 4.1.12 version: 4.1.12 @@ -666,7 +666,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -691,7 +691,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@fixture/pages-plugin': specifier: workspace:* version: link:../pages-plugin-example @@ -715,7 +715,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -754,7 +754,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -775,7 +775,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -796,7 +796,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -814,7 +814,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 is-odd: specifier: ^3.0.1 version: 3.0.1 @@ -833,7 +833,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@fixture/pages-plugin': specifier: workspace:* version: link:../pages-plugin-example @@ -893,7 +893,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -914,7 +914,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -1070,19 +1070,19 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 fixtures/rules-app: devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 fixtures/secrets-store: devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 wrangler: specifier: workspace:* version: link:../../packages/wrangler @@ -1109,7 +1109,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/is-even': specifier: ^1.0.2 version: 1.0.2 @@ -1133,7 +1133,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 vitest: specifier: catalog:default version: 4.1.0(@opentelemetry/api@1.9.1)(@types/node@22.15.17)(@vitest/ui@4.1.0)(msw@2.12.4(@types/node@22.15.17)(typescript@5.9.3))(vite@8.0.13(@types/node@22.15.17)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.1)) @@ -1148,7 +1148,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 esbuild: specifier: catalog:default version: 0.27.3 @@ -1166,7 +1166,7 @@ importers: devDependencies: '@better-auth/stripe': specifier: ^1.4.6 - version: 1.5.4(70d0aabc062167cd58748037a9ade3d1) + version: 1.5.4(e2ec0b1c27773f7f57651fba7fb9ebed) '@cloudflare/containers': specifier: ^0.2.2 version: 0.2.2 @@ -1175,7 +1175,7 @@ importers: version: link:../../packages/vitest-pool-workers '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@microlabs/otel-cf-workers': specifier: 1.0.0-rc.45 version: 1.0.0-rc.45(@opentelemetry/api@1.9.1) @@ -1190,7 +1190,7 @@ importers: version: 3.2.6 better-auth: specifier: ^1.4.6 - version: 1.5.4(@cloudflare/workers-types@4.20260611.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260611.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)))(mongodb@7.1.0)(mysql2@3.15.3)(pg@8.16.3)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@4.1.0) + version: 1.5.4(@cloudflare/workers-types@4.20260612.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260612.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)))(mongodb@7.1.0)(mysql2@3.15.3)(pg@8.16.3)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@4.1.0) discord-api-types: specifier: 0.37.98 version: 0.37.98 @@ -1261,7 +1261,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@fixture/shared': specifier: workspace:* version: link:../shared @@ -1316,7 +1316,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 wrangler: specifier: workspace:* version: link:../../packages/wrangler @@ -1328,7 +1328,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 miniflare: specifier: workspace:* version: link:../../packages/miniflare @@ -1376,7 +1376,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 run-script-os: specifier: ^1.1.6 version: 1.1.6 @@ -1400,7 +1400,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -1421,7 +1421,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -1442,7 +1442,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -1463,7 +1463,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -1484,7 +1484,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/jest-image-snapshot': specifier: ^6.4.0 version: 6.4.0 @@ -1517,7 +1517,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/node': specifier: 22.15.17 version: 22.15.17 @@ -1544,7 +1544,7 @@ importers: version: link:../../packages/workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -1562,7 +1562,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -1653,7 +1653,7 @@ importers: version: link:../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@cloudflare/workers-utils': specifier: workspace:* version: link:../workers-utils @@ -1719,7 +1719,7 @@ importers: version: link:../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@cloudflare/workers-utils': specifier: workspace:* version: link:../workers-utils @@ -1930,7 +1930,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@octokit/types': specifier: ^13.8.0 version: 13.8.0 @@ -1951,7 +1951,7 @@ importers: version: link:../vitest-pool-workers '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@cloudflare/workers-utils': specifier: workspace:* version: link:../workers-utils @@ -1975,7 +1975,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@cloudflare/workers-utils': specifier: workspace:* version: link:../workers-utils @@ -2002,10 +2002,10 @@ importers: devDependencies: '@cloudflare/vitest-pool-workers': specifier: catalog:default - version: 0.13.3(@cloudflare/workers-types@4.20260611.1)(@vitest/runner@4.1.0)(@vitest/snapshot@4.1.0)(vitest@4.1.0) + version: 0.13.3(@cloudflare/workers-types@4.20260612.1)(@vitest/runner@4.1.0)(@vitest/snapshot@4.1.0)(vitest@4.1.0) '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/mime': specifier: ^3.0.4 version: 3.0.4 @@ -2155,8 +2155,8 @@ importers: specifier: catalog:default version: 7.24.8 workerd: - specifier: 1.20260611.1 - version: 1.20260611.1 + specifier: 1.20260612.1 + version: 1.20260612.1 ws: specifier: catalog:default version: 8.20.1 @@ -2181,7 +2181,7 @@ importers: version: link:../workers-shared '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@cloudflare/workers-utils': specifier: workspace:* version: link:../workers-utils @@ -2347,7 +2347,7 @@ importers: devDependencies: '@cloudflare/vitest-pool-workers': specifier: catalog:default - version: 0.13.3(@cloudflare/workers-types@4.20260611.1)(@vitest/runner@4.1.0)(@vitest/snapshot@4.1.0)(vitest@4.1.0) + version: 0.13.3(@cloudflare/workers-types@4.20260612.1)(@vitest/runner@4.1.0)(@vitest/snapshot@4.1.0)(vitest@4.1.0) '@cloudflare/workers-shared': specifier: workspace:* version: link:../workers-shared @@ -2356,7 +2356,7 @@ importers: version: link:../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 concurrently: specifier: ^8.2.2 version: 8.2.2 @@ -2384,7 +2384,7 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@cloudflare/workers-utils': specifier: workspace:* version: link:../workers-utils @@ -2418,7 +2418,7 @@ importers: version: link:../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/node': specifier: 22.15.17 version: 22.15.17 @@ -2442,7 +2442,7 @@ importers: version: link:../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 esbuild: specifier: catalog:default version: 0.27.3 @@ -2525,7 +2525,7 @@ importers: version: link:../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@cloudflare/workers-utils': specifier: workspace:* version: link:../workers-utils @@ -2621,7 +2621,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2642,7 +2642,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2663,7 +2663,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2684,7 +2684,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2705,7 +2705,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2726,7 +2726,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2747,7 +2747,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2768,7 +2768,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2789,7 +2789,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2810,7 +2810,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2831,7 +2831,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2852,7 +2852,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2873,7 +2873,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2894,7 +2894,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2915,7 +2915,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2936,7 +2936,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -2957,7 +2957,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/mimetext': specifier: ^2.0.4 version: 2.0.4 @@ -2990,7 +2990,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3011,7 +3011,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3032,7 +3032,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3053,7 +3053,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3074,7 +3074,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3095,7 +3095,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3116,7 +3116,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3137,7 +3137,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@playground/main-resolution-package': specifier: file:./package version: file:packages/vite-plugin-cloudflare/playground/main-resolution/package @@ -3161,7 +3161,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/express': specifier: ^5.0.1 version: 5.0.1 @@ -3188,7 +3188,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@playground/module-resolution-excludes': specifier: file:./packages/excludes version: file:packages/vite-plugin-cloudflare/playground/module-resolution/packages/excludes @@ -3200,7 +3200,7 @@ importers: version: file:packages/vite-plugin-cloudflare/playground/module-resolution/packages/requires '@remix-run/cloudflare': specifier: 2.12.0 - version: 2.12.0(@cloudflare/workers-types@4.20260611.1)(typescript@5.8.3) + version: 2.12.0(@cloudflare/workers-types@4.20260612.1)(typescript@5.8.3) '@types/react': specifier: ^18.3.11 version: 18.3.18 @@ -3233,7 +3233,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3254,7 +3254,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@fixture/shared': specifier: workspace:* version: link:../../../../fixtures/shared @@ -3306,7 +3306,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/react': specifier: 19.1.0 version: 19.1.0 @@ -3327,7 +3327,7 @@ importers: dependencies: partyserver: specifier: ^0.3.3 - version: 0.3.3(@cloudflare/workers-types@4.20260611.1) + version: 0.3.3(@cloudflare/workers-types@4.20260612.1) partysocket: specifier: ^1.1.16 version: 1.1.16(react@19.2.1) @@ -3346,7 +3346,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@tailwindcss/vite': specifier: ^4.2.1 version: 4.2.2(vite@8.0.13(@types/node@22.15.17)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.1)) @@ -3382,7 +3382,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3403,7 +3403,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@cloudflare/workers-utils': specifier: workspace:* version: link:../../../workers-utils @@ -3443,7 +3443,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/react': specifier: 19.1.0 version: 19.1.0 @@ -3473,7 +3473,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3494,7 +3494,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3522,7 +3522,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/react': specifier: 19.1.0 version: 19.1.0 @@ -3555,7 +3555,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3576,7 +3576,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3597,7 +3597,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3618,7 +3618,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@vitejs/plugin-basic-ssl': specifier: ^2.2.0 version: 2.2.0(vite@8.0.13(@types/node@22.15.17)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.1)) @@ -3642,7 +3642,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3663,7 +3663,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3684,7 +3684,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3705,7 +3705,7 @@ importers: version: link:../../../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 typescript: specifier: catalog:default version: 5.8.3 @@ -3742,7 +3742,7 @@ importers: version: link:../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@cloudflare/workers-utils': specifier: workspace:* version: link:../workers-utils @@ -3997,13 +3997,13 @@ importers: devDependencies: '@cloudflare/vitest-pool-workers': specifier: catalog:default - version: 0.13.3(@cloudflare/workers-types@4.20260611.1)(@vitest/runner@4.1.0)(@vitest/snapshot@4.1.0)(vitest@4.1.0) + version: 0.13.3(@cloudflare/workers-types@4.20260612.1)(@vitest/runner@4.1.0)(@vitest/snapshot@4.1.0)(vitest@4.1.0) '@cloudflare/workers-tsconfig': specifier: workspace:* version: link:../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@sentry/cli': specifier: ^2.37.0 version: 2.41.1(encoding@0.1.13) @@ -4121,13 +4121,13 @@ importers: devDependencies: '@cloudflare/vitest-pool-workers': specifier: catalog:default - version: 0.13.3(@cloudflare/workers-types@4.20260611.1)(@vitest/runner@4.1.0)(@vitest/snapshot@4.1.0)(vitest@4.1.0) + version: 0.13.3(@cloudflare/workers-types@4.20260612.1)(@vitest/runner@4.1.0)(@vitest/snapshot@4.1.0)(vitest@4.1.0) '@cloudflare/workers-tsconfig': specifier: workspace:* version: link:../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@types/mime': specifier: ^3.0.4 version: 3.0.4 @@ -4165,8 +4165,8 @@ importers: specifier: 2.0.0-rc.24 version: 2.0.0-rc.24 workerd: - specifier: 1.20260611.1 - version: 1.20260611.1 + specifier: 1.20260612.1 + version: 1.20260612.1 devDependencies: '@aws-sdk/client-s3': specifier: ^3.721.0 @@ -4206,7 +4206,7 @@ importers: version: link:../workers-tsconfig '@cloudflare/workers-types': specifier: catalog:default - version: 4.20260611.1 + version: 4.20260612.1 '@cloudflare/workers-utils': specifier: workspace:* version: link:../workers-utils @@ -5375,8 +5375,8 @@ packages: cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-64@1.20260611.1': - resolution: {integrity: sha512-iJICldmi4sBGgi7IrQles8cStOGXM/Tmv95C4OODVs6VIbMsJPqThUM5h3uYVQNULuJ8I/aVvnJ3Eh/wZCKwuA==} + '@cloudflare/workerd-darwin-64@1.20260612.1': + resolution: {integrity: sha512-ADvnLu/nB5QZYazacTuo6FT2y3ej/mOdA30dw6bsuE+FGx3jhGA37qrbGLVDlstBrDIxNXoJmQhaVc1Osmygtw==} engines: {node: '>=16'} cpu: [x64] os: [darwin] @@ -5393,8 +5393,8 @@ packages: cpu: [arm64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20260611.1': - resolution: {integrity: sha512-yBbVXvbZyltR3I7NJdC4C4ItkItjZSiabcA/3HzEWOUQjLVKFqRh4so6ToHr70VCYh8VGeR8EDZL23igLhXqFQ==} + '@cloudflare/workerd-darwin-arm64@1.20260612.1': + resolution: {integrity: sha512-CrspCqwJjG0skELbri99t9nIyqAxvv7EodJeKCMm3Jnr355WhSeUCn7LAvF5XNxLtWKQAIxMG9qj8uYIkg1k8Q==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] @@ -5411,8 +5411,8 @@ packages: cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-64@1.20260611.1': - resolution: {integrity: sha512-PfNjpxOlaIgZFYuhD7+neEEewCN2Ud993wEEN0fmbtSOax1AK53LGqmXUDvFhnbkHxJLFAxYCSNISW8QbzaAIg==} + '@cloudflare/workerd-linux-64@1.20260612.1': + resolution: {integrity: sha512-oMDQxH7lfojpTBkoEWOnPbZJW/XC0sfHg2GDeilAyujzcf67hlNDcQDR5FBOEMNtl8Ir5mXnoRhiovFx9SCHiw==} engines: {node: '>=16'} cpu: [x64] os: [linux] @@ -5429,8 +5429,8 @@ packages: cpu: [arm64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20260611.1': - resolution: {integrity: sha512-GEp4XbuIKjlF8pakqXcUDJfKiJosD/Q7S83J0d+r+z9XIlYGfF3ntm08e2aiF5TFTwp3fnG4yMoPUAKNhNJpvQ==} + '@cloudflare/workerd-linux-arm64@1.20260612.1': + resolution: {integrity: sha512-i9nKUYqw6fnM0KuZGCvfysH1TIchoPiVwWk/e+cSihTczE7NcnvE779v1KMzR7eRJKGRiWvpxREjyLoj7Udxow==} engines: {node: '>=16'} cpu: [arm64] os: [linux] @@ -5447,8 +5447,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workerd-windows-64@1.20260611.1': - resolution: {integrity: sha512-S6JkS0kEbcCKs19RGqEPhjCRbP8GBkQwqYLp2fhBJtD/KTlwqLzOJ9E6PQ7gQKgWHtxy1NBG3oXarlNFRNU/dw==} + '@cloudflare/workerd-windows-64@1.20260612.1': + resolution: {integrity: sha512-yLuFnNtByfFE5NX3Ho3+WucoZUNOKVL1PI7dGwXNEJgjcbA2FCJ6X8N27hNu/3OqAiGwsilTTo6RjeID315Tuw==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -5461,8 +5461,8 @@ packages: react: ^17.0.2 || ^18.2.21 react-dom: ^17.0.2 || ^18.2.21 - '@cloudflare/workers-types@4.20260611.1': - resolution: {integrity: sha512-DLiz8Ol1OIWLigJ+dGvuQ5Nm66D/CHNPasl8YnPiz6fGo10ggYSIVuEDMlFk6oho+piAHstNmZMl088w8xqW6g==} + '@cloudflare/workers-types@4.20260612.1': + resolution: {integrity: sha512-PMQI7XP/wrMhxyjseUHoHj6XFqkHaf4utWQ/hhefVY8oMK2LJ730oeQ7H/nZSVMexZe39DzsdOx7sf1PqMr7+Q==} '@codemirror/autocomplete@6.20.0': resolution: {integrity: sha512-bOwvTOIJcG5FVo5gUUupiwYh8MioPLQ4UcqbcRf7UQ98X90tCa9E1kZ3Z7tqwpZxYyOvh1YTYbmZE9RTfTp5hg==} @@ -15160,8 +15160,8 @@ packages: engines: {node: '>=16'} hasBin: true - workerd@1.20260611.1: - resolution: {integrity: sha512-CS/640T7pIJ2HYX6x2DwKFGbcSckAWN3tgcdq+ptB6SaqjWUhlzIgA/YhPuwIU+/NnMnGpqOFX/hC18Oyge63w==} + workerd@1.20260612.1: + resolution: {integrity: sha512-4Tn2Dzz/SksrMz0JItVMCwOJC98BfgM/QnPCY8TBXBHStJ5WCXp1rrsSy7Z6fhIOdZyVv0/Qm7ArwzygRGkO/A==} engines: {node: '>=16'} hasBin: true @@ -16188,7 +16188,7 @@ snapshots: optionalDependencies: '@types/react': 19.2.13 - '@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1)': + '@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1)': dependencies: '@better-auth/utils': 0.3.1 '@better-fetch/fetch': 1.1.21 @@ -16199,9 +16199,9 @@ snapshots: nanostores: 1.1.1 zod: 4.4.3 optionalDependencies: - '@cloudflare/workers-types': 4.20260611.1 + '@cloudflare/workers-types': 4.20260612.1 - '@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@6.2.1)(kysely@0.28.11)(nanostores@1.1.1)': + '@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@6.2.1)(kysely@0.28.11)(nanostores@1.1.1)': dependencies: '@better-auth/utils': 0.3.1 '@better-fetch/fetch': 1.1.21 @@ -16212,50 +16212,50 @@ snapshots: nanostores: 1.1.1 zod: 4.4.3 optionalDependencies: - '@cloudflare/workers-types': 4.20260611.1 + '@cloudflare/workers-types': 4.20260612.1 - '@better-auth/drizzle-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260611.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)))': + '@better-auth/drizzle-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260612.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)))': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 - drizzle-orm: 0.45.1(@cloudflare/workers-types@4.20260611.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)) + drizzle-orm: 0.45.1(@cloudflare/workers-types@4.20260612.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)) - '@better-auth/kysely-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(kysely@0.28.11)': + '@better-auth/kysely-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(kysely@0.28.11)': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 kysely: 0.28.11 - '@better-auth/memory-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)': + '@better-auth/memory-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 - '@better-auth/mongo-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(mongodb@7.1.0)': + '@better-auth/mongo-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(mongodb@7.1.0)': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 mongodb: 7.1.0 - '@better-auth/prisma-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))': + '@better-auth/prisma-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 '@prisma/client': 7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3) prisma: 7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3) - '@better-auth/stripe@1.5.4(70d0aabc062167cd58748037a9ade3d1)': + '@better-auth/stripe@1.5.4(e2ec0b1c27773f7f57651fba7fb9ebed)': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) - better-auth: 1.5.4(@cloudflare/workers-types@4.20260611.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260611.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)))(mongodb@7.1.0)(mysql2@3.15.3)(pg@8.16.3)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@4.1.0) + '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) + better-auth: 1.5.4(@cloudflare/workers-types@4.20260612.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260612.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)))(mongodb@7.1.0)(mysql2@3.15.3)(pg@8.16.3)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@4.1.0) better-call: 1.3.2(zod@4.3.6) defu: 6.1.4 stripe: 20.4.1(@types/node@22.15.17) zod: 4.3.6 - '@better-auth/telemetry@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))': + '@better-auth/telemetry@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 '@better-fetch/fetch': 1.1.21 @@ -16820,7 +16820,7 @@ snapshots: lodash.memoize: 4.1.2 marked: 0.3.19 - '@cloudflare/vitest-pool-workers@0.13.3(@cloudflare/workers-types@4.20260611.1)(@vitest/runner@4.1.0)(@vitest/snapshot@4.1.0)(vitest@4.1.0)': + '@cloudflare/vitest-pool-workers@0.13.3(@cloudflare/workers-types@4.20260612.1)(@vitest/runner@4.1.0)(@vitest/snapshot@4.1.0)(vitest@4.1.0)': dependencies: '@vitest/runner': 4.1.0 '@vitest/snapshot': 4.1.0 @@ -16828,7 +16828,7 @@ snapshots: esbuild: 0.27.3 miniflare: 4.20260317.1 vitest: 4.1.0(@opentelemetry/api@1.9.1)(@types/node@22.15.17)(@vitest/ui@4.1.0)(msw@2.12.4(@types/node@22.15.17)(typescript@5.9.3))(vite@8.0.13(@types/node@22.15.17)(esbuild@0.27.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.1)) - wrangler: 4.76.0(@cloudflare/workers-types@4.20260611.1) + wrangler: 4.76.0(@cloudflare/workers-types@4.20260612.1) zod: 3.25.76 transitivePeerDependencies: - '@cloudflare/workers-types' @@ -16841,7 +16841,7 @@ snapshots: '@cloudflare/workerd-darwin-64@1.20260423.1': optional: true - '@cloudflare/workerd-darwin-64@1.20260611.1': + '@cloudflare/workerd-darwin-64@1.20260612.1': optional: true '@cloudflare/workerd-darwin-arm64@1.20260317.1': @@ -16850,7 +16850,7 @@ snapshots: '@cloudflare/workerd-darwin-arm64@1.20260423.1': optional: true - '@cloudflare/workerd-darwin-arm64@1.20260611.1': + '@cloudflare/workerd-darwin-arm64@1.20260612.1': optional: true '@cloudflare/workerd-linux-64@1.20260317.1': @@ -16859,7 +16859,7 @@ snapshots: '@cloudflare/workerd-linux-64@1.20260423.1': optional: true - '@cloudflare/workerd-linux-64@1.20260611.1': + '@cloudflare/workerd-linux-64@1.20260612.1': optional: true '@cloudflare/workerd-linux-arm64@1.20260317.1': @@ -16868,7 +16868,7 @@ snapshots: '@cloudflare/workerd-linux-arm64@1.20260423.1': optional: true - '@cloudflare/workerd-linux-arm64@1.20260611.1': + '@cloudflare/workerd-linux-arm64@1.20260612.1': optional: true '@cloudflare/workerd-windows-64@1.20260317.1': @@ -16877,7 +16877,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260423.1': optional: true - '@cloudflare/workerd-windows-64@1.20260611.1': + '@cloudflare/workerd-windows-64@1.20260612.1': optional: true '@cloudflare/workers-editor-shared@0.1.1(@cloudflare/style-const@6.1.3(react@19.2.4))(@cloudflare/style-container@7.12.2(@cloudflare/style-const@6.1.3(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': @@ -16888,7 +16888,7 @@ snapshots: react-dom: 19.2.4(react@19.2.4) react-split-pane: 0.1.92(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@cloudflare/workers-types@4.20260611.1': {} + '@cloudflare/workers-types@4.20260612.1': {} '@codemirror/autocomplete@6.20.0': dependencies: @@ -18271,7 +18271,7 @@ snapshots: '@prisma/adapter-d1@7.0.1': dependencies: - '@cloudflare/workers-types': 4.20260611.1 + '@cloudflare/workers-types': 4.20260612.1 '@prisma/driver-adapter-utils': 7.0.1 ky: 1.7.5 @@ -18502,10 +18502,10 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@remix-run/cloudflare@2.12.0(@cloudflare/workers-types@4.20260611.1)(typescript@5.8.3)': + '@remix-run/cloudflare@2.12.0(@cloudflare/workers-types@4.20260612.1)(typescript@5.8.3)': dependencies: '@cloudflare/kv-asset-handler': 0.1.3 - '@cloudflare/workers-types': 4.20260611.1 + '@cloudflare/workers-types': 4.20260612.1 '@remix-run/server-runtime': 2.12.0(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 @@ -19041,12 +19041,12 @@ snapshots: - encoding - supports-color - '@sentry/cloudflare@10.50.0(@cloudflare/workers-types@4.20260611.1)': + '@sentry/cloudflare@10.50.0(@cloudflare/workers-types@4.20260612.1)': dependencies: '@opentelemetry/api': 1.9.1 '@sentry/core': 10.50.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260611.1 + '@cloudflare/workers-types': 4.20260612.1 '@sentry/core@10.50.0': {} @@ -20686,15 +20686,15 @@ snapshots: before-after-hook@2.2.3: {} - better-auth@1.5.4(@cloudflare/workers-types@4.20260611.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260611.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)))(mongodb@7.1.0)(mysql2@3.15.3)(pg@8.16.3)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@4.1.0): + better-auth@1.5.4(@cloudflare/workers-types@4.20260612.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260612.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)))(mongodb@7.1.0)(mysql2@3.15.3)(pg@8.16.3)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@4.1.0): dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@6.2.1)(kysely@0.28.11)(nanostores@1.1.1) - '@better-auth/drizzle-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260611.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))) - '@better-auth/kysely-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(kysely@0.28.11) - '@better-auth/memory-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1) - '@better-auth/mongo-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(mongodb@7.1.0) - '@better-auth/prisma-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)) - '@better-auth/telemetry': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260611.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1)) + '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@6.2.1)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/drizzle-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260612.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))) + '@better-auth/kysely-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(kysely@0.28.11) + '@better-auth/memory-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1) + '@better-auth/mongo-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(mongodb@7.1.0) + '@better-auth/prisma-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)) + '@better-auth/telemetry': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260612.1)(better-call@1.3.2(zod@4.3.6))(jose@5.9.3)(kysely@0.28.11)(nanostores@1.1.1)) '@better-auth/utils': 0.3.1 '@better-fetch/fetch': 1.1.21 '@noble/ciphers': 2.1.1 @@ -20707,7 +20707,7 @@ snapshots: zod: 4.3.6 optionalDependencies: '@prisma/client': 7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3) - drizzle-orm: 0.45.1(@cloudflare/workers-types@4.20260611.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)) + drizzle-orm: 0.45.1(@cloudflare/workers-types@4.20260612.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)) mongodb: 7.1.0 mysql2: 3.15.3 pg: 8.16.3 @@ -21518,9 +21518,9 @@ snapshots: dependencies: wordwrap: 1.0.0 - drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260611.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)): + drizzle-orm@0.45.1(@cloudflare/workers-types@4.20260612.1)(@electric-sql/pglite@0.3.2)(@opentelemetry/api@1.9.1)(@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3))(@types/pg@8.15.4)(kysely@0.28.11)(mysql2@3.15.3)(pg@8.16.3)(postgres@3.4.7)(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3)): optionalDependencies: - '@cloudflare/workers-types': 4.20260611.1 + '@cloudflare/workers-types': 4.20260612.1 '@electric-sql/pglite': 0.3.2 '@opentelemetry/api': 1.9.1 '@prisma/client': 7.0.1(prisma@7.0.1(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.8.3))(typescript@5.8.3) @@ -23972,9 +23972,9 @@ snapshots: parseurl@1.3.3: {} - partyserver@0.3.3(@cloudflare/workers-types@4.20260611.1): + partyserver@0.3.3(@cloudflare/workers-types@4.20260612.1): dependencies: - '@cloudflare/workers-types': 4.20260611.1 + '@cloudflare/workers-types': 4.20260612.1 nanoid: 5.1.7 partysocket@1.1.16(react@19.2.1): @@ -26795,15 +26795,15 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260423.1 '@cloudflare/workerd-windows-64': 1.20260423.1 - workerd@1.20260611.1: + workerd@1.20260612.1: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20260611.1 - '@cloudflare/workerd-darwin-arm64': 1.20260611.1 - '@cloudflare/workerd-linux-64': 1.20260611.1 - '@cloudflare/workerd-linux-arm64': 1.20260611.1 - '@cloudflare/workerd-windows-64': 1.20260611.1 + '@cloudflare/workerd-darwin-64': 1.20260612.1 + '@cloudflare/workerd-darwin-arm64': 1.20260612.1 + '@cloudflare/workerd-linux-64': 1.20260612.1 + '@cloudflare/workerd-linux-arm64': 1.20260612.1 + '@cloudflare/workerd-windows-64': 1.20260612.1 - wrangler@4.76.0(@cloudflare/workers-types@4.20260611.1): + wrangler@4.76.0(@cloudflare/workers-types@4.20260612.1): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260317.1) @@ -26814,7 +26814,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260317.1 optionalDependencies: - '@cloudflare/workers-types': 4.20260611.1 + '@cloudflare/workers-types': 4.20260612.1 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index fcd67b0077..22ed929a94 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -118,8 +118,8 @@ catalog: "ws": "8.20.1" esbuild: "0.27.3" playwright-chromium: "1.60.0" - "@cloudflare/workers-types": "^4.20260611.1" - workerd: "1.20260611.1" + "@cloudflare/workers-types": "^4.20260612.1" + workerd: "1.20260612.1" jsonc-parser: "3.2.0" smol-toml: "1.5.2" msw: 2.12.4