From 470b047e60ad1f701f3911bc5b345c7141d61909 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sat, 18 Apr 2026 10:19:07 +0000 Subject: [PATCH 1/5] feat: add Premium Geo DB addon to project settings Adds a Premium Geo DB section to the project settings page so users can enable and disable the premium geolocation addon per-project on cloud. The section supports the full addon lifecycle: - Upgrade prompt when the current plan does not support the addon - Enable flow with optional 3DS payment authentication - Pending state with cancel & retry option - Active state with disable action - Scheduled-for-removal state with re-enable action Uses the new project-scoped SDK methods: listAddons, createPremiumGeoDBAddon, and deleteAddon. Bumps the @appwrite.io/console SDK pin accordingly. Co-Authored-By: Claude Opus 4.6 (1M context) --- bun.lock | 4 +- package.json | 2 +- .../settings/+page.svelte | 5 + .../settings/+page.ts | 15 +- .../settings/premiumGeoDB.svelte | 176 ++++++++++++++++++ .../settings/premiumGeoDBDisableModal.svelte | 54 ++++++ .../settings/premiumGeoDBEnableModal.svelte | 90 +++++++++ 7 files changed, 340 insertions(+), 6 deletions(-) create mode 100644 src/routes/(console)/project-[region]-[project]/settings/premiumGeoDB.svelte create mode 100644 src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBDisableModal.svelte create mode 100644 src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBEnableModal.svelte diff --git a/bun.lock b/bun.lock index 5e452c9474..f5a1514ea9 100644 --- a/bun.lock +++ b/bun.lock @@ -6,7 +6,7 @@ "name": "@appwrite/console", "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@f063676", + "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@febca4d", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3", "@appwrite.io/pink-legacy": "^1.0.3", @@ -113,7 +113,7 @@ "@analytics/type-utils": ["@analytics/type-utils@0.6.4", "", {}, "sha512-Ou1gQxFakOWLcPnbFVsrPb8g1wLLUZYYJXDPjHkG07+5mustGs5yqACx42UAu4A6NszNN6Z5gGxhyH45zPWRxw=="], - "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@f063676", { "dependencies": { "json-bigint": "1.0.0" } }], + "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@febca4d", { "dependencies": { "json-bigint": "1.0.0" } }], "@appwrite.io/pink-icons": ["@appwrite.io/pink-icons@0.25.0", "", {}, "sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q=="], diff --git a/package.json b/package.json index 099ae9cb1b..b48a5f4ec4 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@f063676", + "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@febca4d", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3", "@appwrite.io/pink-legacy": "^1.0.3", diff --git a/src/routes/(console)/project-[region]-[project]/settings/+page.svelte b/src/routes/(console)/project-[region]-[project]/settings/+page.svelte index 823f5a6e97..d422eb5472 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/+page.svelte @@ -17,6 +17,8 @@ import UpdateVariables from '../updateVariables.svelte'; import { page } from '$app/state'; import UpdateLabels from './updateLabels.svelte'; + import PremiumGeoDB from './premiumGeoDB.svelte'; + import { isCloud } from '$lib/system'; import { ID } from '@appwrite.io/console'; export let data; @@ -93,6 +95,9 @@ + {#if isCloud} + + {/if} { depends(Dependencies.PROJECT_VARIABLES); depends(Dependencies.PROJECT_INSTALLATIONS); + depends(Dependencies.ADDONS); const limit = PAGE_LIMIT; const offset = Number(url.searchParams.get('offset') ?? 0); const variablesOffset = Number(url.searchParams.get('variablesOffset') ?? 0); const projectSdk = sdk.forProject(params.region, params.project); - const [variables, installations] = await Promise.all([ + const [variables, installations, addons] = await Promise.all([ projectSdk.projectApi.listVariables({ queries: [Query.limit(limit), Query.offset(variablesOffset)] }), projectSdk.vcs.listInstallations({ queries: [Query.limit(limit), Query.offset(offset)] - }) + }), + isCloud + ? sdk + .forConsoleIn(params.region) + .projects.listAddons({ projectId: params.project }) + .catch(() => null) + : Promise.resolve(null) ]); return { @@ -24,6 +32,7 @@ export const load: PageLoad = async ({ depends, url, params }) => { offset, variablesOffset, variables, - installations + installations, + addons }; }; diff --git a/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDB.svelte b/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDB.svelte new file mode 100644 index 0000000000..6b27a1d8a2 --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDB.svelte @@ -0,0 +1,176 @@ + + + + Premium Geo DB + Enrich session and request data with premium geolocation details such as timezone, postal code, ISP, + connection type, and organization. Useful for fine-grained analytics, fraud detection, and personalized + user experiences. + + +
+ Premium Geo DB +
+ {#if !planSupportsPremiumGeoDB && canUpgradeToPremiumGeoDB} +

+ Premium Geo DB is not available on your current plan. Upgrade your plan to + enable it. +

+ + {:else if !planSupportsPremiumGeoDB} +

+ Premium Geo DB is not available on your current plan. +

+ {:else if isPending} +
+ +
+

+ A payment is awaiting confirmation. If the payment was interrupted, you can + cancel and retry. +

+ + {:else if isActive} +
+ {#if isScheduledForRemoval} + + {:else} + + {/if} +
+

+ Premium Geo DB is enabled for this project. +

+ {#if isScheduledForRemoval} +

+ Premium Geo DB will be removed at the end of your current billing cycle. +

+ + {:else} + + {/if} + {:else} +

+ Enable Premium Geo DB for this project to collect detailed geolocation data on + every request. Billed prorated for your current cycle. +

+ + {/if} +
+
+
+ + + +{#if premiumGeoDBAddon} + +{/if} diff --git a/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBDisableModal.svelte b/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBDisableModal.svelte new file mode 100644 index 0000000000..98a36efec6 --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBDisableModal.svelte @@ -0,0 +1,54 @@ + + + +

+ Are you sure you want to disable the Premium Geo DB addon? The addon will remain active + until the end of your current billing cycle and will not be renewed. +

+ + + + + +
diff --git a/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBEnableModal.svelte b/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBEnableModal.svelte new file mode 100644 index 0000000000..5a220fb7fc --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBEnableModal.svelte @@ -0,0 +1,90 @@ + + + +

+ By clicking Enable, your payment method will be charged for the prorated amount for + the remaining days in your billing cycle, and the addon will be added to this project's + subscription for future cycles. +

+

+ Premium Geo DB enriches session and request data with premium geolocation details including + timezone, postal code, ISP, connection type, and organization. +

+ + + + + +
From 5954b7562fb5684e5e411b1fd97fc0b80847d433 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 19 Apr 2026 11:13:07 +0000 Subject: [PATCH 2/5] feat(settings): show price in premium geo DB enable dialog Mirrors the BAA addon UX by fetching the addon price via organizations.getAddonPrice(Addon.Premiumgeodb) from the settings page loader, passing it through to the Premium Geo DB card and enable modal, and rendering the monthly/prorated breakdown with formatCurrency alongside the Enable CTA. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../settings/+page.svelte | 2 +- .../settings/+page.ts | 18 +++-- .../settings/premiumGeoDB.svelte | 18 ++++- .../settings/premiumGeoDBEnableModal.svelte | 66 +++++++++++++++++-- 4 files changed, 90 insertions(+), 14 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/settings/+page.svelte b/src/routes/(console)/project-[region]-[project]/settings/+page.svelte index d422eb5472..8d41dcdc5c 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/+page.svelte @@ -96,7 +96,7 @@ {#if isCloud} - + {/if} { +export const load: PageLoad = async ({ depends, url, params, parent }) => { depends(Dependencies.PROJECT_VARIABLES); depends(Dependencies.PROJECT_INSTALLATIONS); depends(Dependencies.ADDONS); + const { project } = await parent(); const limit = PAGE_LIMIT; const offset = Number(url.searchParams.get('offset') ?? 0); const variablesOffset = Number(url.searchParams.get('variablesOffset') ?? 0); const projectSdk = sdk.forProject(params.region, params.project); - const [variables, installations, addons] = await Promise.all([ + const [variables, installations, addons, addonPrice] = await Promise.all([ projectSdk.projectApi.listVariables({ queries: [Query.limit(limit), Query.offset(variablesOffset)] }), @@ -24,6 +25,14 @@ export const load: PageLoad = async ({ depends, url, params }) => { .forConsoleIn(params.region) .projects.listAddons({ projectId: params.project }) .catch(() => null) + : Promise.resolve(null), + isCloud + ? sdk.forConsole.organizations + .getAddonPrice({ + organizationId: project.teamId, + addon: Addon.Premiumgeodb + }) + .catch(() => null) : Promise.resolve(null) ]); @@ -33,6 +42,7 @@ export const load: PageLoad = async ({ depends, url, params }) => { variablesOffset, variables, installations, - addons + addons, + addonPrice }; }; diff --git a/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDB.svelte b/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDB.svelte index 6b27a1d8a2..e2770fb7ef 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDB.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDB.svelte @@ -9,12 +9,14 @@ import { Dependencies } from '$lib/constants'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; + import { formatCurrency } from '$lib/helpers/numbers'; import { Badge } from '@appwrite.io/pink-svelte'; import type { Models } from '@appwrite.io/console'; import PremiumGeoDBEnableModal from './premiumGeoDBEnableModal.svelte'; import PremiumGeoDBDisableModal from './premiumGeoDBDisableModal.svelte'; export let addons: Models.AddonList | null = null; + export let addonPrice: Models.AddonPrice | null = null; let showEnable = false; let showDisable = false; @@ -30,6 +32,7 @@ $: isPending = premiumGeoDBAddon?.status === 'pending'; $: isActive = premiumGeoDBAddon?.status === 'active'; $: isScheduledForRemoval = isActive && premiumGeoDBAddon?.nextValue === 0; + $: monthlyPriceLabel = addonPrice ? formatCurrency(addonPrice.monthlyPrice) : null; function hasUpgradeablePlanWithPremiumGeoDB(plan: Models.BillingPlan): boolean { if (!plan) return false; @@ -132,7 +135,11 @@ {/if}

- Premium Geo DB is enabled for this project. + {#if monthlyPriceLabel} + Premium Geo DB is enabled for this project at {monthlyPriceLabel}/month. + {:else} + Premium Geo DB is enabled for this project. + {/if}

{#if isScheduledForRemoval}

@@ -156,7 +163,12 @@ {:else}

Enable Premium Geo DB for this project to collect detailed geolocation data on - every request. Billed prorated for your current cycle. + every request.{#if monthlyPriceLabel} + This addon costs {monthlyPriceLabel}/month, prorated for your current + billing cycle. + {:else} + Billed prorated for your current cycle. + {/if}

+ + From 7e73d36e6a369953a4baa126d60bb7678c04ddf9 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 19 Apr 2026 11:55:08 +0000 Subject: [PATCH 3/5] update sdk --- bun.lock | 4 ++-- package.json | 4 ++-- .../settings/+page.ts | 22 +++++++++---------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/bun.lock b/bun.lock index f5a1514ea9..d749dbc87c 100644 --- a/bun.lock +++ b/bun.lock @@ -6,7 +6,7 @@ "name": "@appwrite/console", "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@febca4d", + "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@7df3842", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3", "@appwrite.io/pink-legacy": "^1.0.3", @@ -113,7 +113,7 @@ "@analytics/type-utils": ["@analytics/type-utils@0.6.4", "", {}, "sha512-Ou1gQxFakOWLcPnbFVsrPb8g1wLLUZYYJXDPjHkG07+5mustGs5yqACx42UAu4A6NszNN6Z5gGxhyH45zPWRxw=="], - "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@febca4d", { "dependencies": { "json-bigint": "1.0.0" } }], + "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@7df3842", { "dependencies": { "json-bigint": "1.0.0" } }], "@appwrite.io/pink-icons": ["@appwrite.io/pink-icons@0.25.0", "", {}, "sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q=="], diff --git a/package.json b/package.json index b48a5f4ec4..0bb37b85c7 100644 --- a/package.json +++ b/package.json @@ -20,12 +20,12 @@ }, "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@febca4d", + "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@7df3842", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3", "@appwrite.io/pink-legacy": "^1.0.3", "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@8dcaa17", - "@faker-js/faker": "^9.9.0", + "@faker-js/faker": "^9.9.0", "@plausible-analytics/tracker": "^0.4.4", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.55.1", diff --git a/src/routes/(console)/project-[region]-[project]/settings/+page.ts b/src/routes/(console)/project-[region]-[project]/settings/+page.ts index e43042e4f3..137e08e488 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/settings/+page.ts @@ -4,11 +4,10 @@ import { sdk } from '$lib/stores/sdk'; import { Addon, Query } from '@appwrite.io/console'; import type { PageLoad } from './$types'; -export const load: PageLoad = async ({ depends, url, params, parent }) => { +export const load: PageLoad = async ({ depends, url, params }) => { depends(Dependencies.PROJECT_VARIABLES); depends(Dependencies.PROJECT_INSTALLATIONS); depends(Dependencies.ADDONS); - const { project } = await parent(); const limit = PAGE_LIMIT; const offset = Number(url.searchParams.get('offset') ?? 0); const variablesOffset = Number(url.searchParams.get('variablesOffset') ?? 0); @@ -22,17 +21,18 @@ export const load: PageLoad = async ({ depends, url, params, parent }) => { }), isCloud ? sdk - .forConsoleIn(params.region) - .projects.listAddons({ projectId: params.project }) - .catch(() => null) + .forConsoleIn(params.region) + .projects.listAddons({ projectId: params.project }) + .catch(() => null) : Promise.resolve(null), isCloud - ? sdk.forConsole.organizations - .getAddonPrice({ - organizationId: project.teamId, - addon: Addon.Premiumgeodb - }) - .catch(() => null) + ? sdk.forConsoleIn(params.region) + .projects + .getAddonPrice({ + projectId: params.project, + addon: Addon.Premiumgeodb + }) + .catch(() => null) : Promise.resolve(null) ]); From 0e53210ad1b107b79887df362c9af3545784b85e Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 19 Apr 2026 12:14:26 +0000 Subject: [PATCH 4/5] feat(billing): render project addons in breakdown + use server addon name - Each project row in the organization billing breakdown now iterates its resources for addon_* entries (amount > 0) and renders them as child rows (e.g. Premium Geo DB under the project it was enabled on). The backend already filters project-scoped addons out of the team-level resources response, so the org "Addons" section shows only org-scoped addons (BAA, premiumGeoDBOrg) while project-scoped ones surface where they belong. - Org-level addon labels now read addon.name from the UsageResource payload that the getAggregation endpoint populates from billingAddons config. Dropped the hard-coded billingAddonNames map so new addons surface with their proper name without a console update. Co-Authored-By: Claude Opus 4.7 (1M context) --- package.json | 2 +- .../billing/planSummary.svelte | 20 +++++++++++++------ .../settings/+page.ts | 20 +++++++++---------- 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 0bb37b85c7..00b3e4d6cb 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3", "@appwrite.io/pink-legacy": "^1.0.3", "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@8dcaa17", - "@faker-js/faker": "^9.9.0", + "@faker-js/faker": "^9.9.0", "@plausible-analytics/tracker": "^0.4.4", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.55.1", diff --git a/src/routes/(console)/organization-[organization]/billing/planSummary.svelte b/src/routes/(console)/organization-[organization]/billing/planSummary.svelte index 84683f8c66..987d1bca6d 100644 --- a/src/routes/(console)/organization-[organization]/billing/planSummary.svelte +++ b/src/routes/(console)/organization-[organization]/billing/planSummary.svelte @@ -249,10 +249,6 @@ }; // addons (additional members, projects, etc.) - const billingAddonNames: Record = { - addon_baa: 'HIPAA BAA' - }; - const addons = (currentAggregation?.resources || []) .filter( (r) => @@ -269,8 +265,8 @@ ? 'Additional members' : addon.resourceId === 'projects' ? 'Additional projects' - : (billingAddonNames[addon.resourceId] ?? - `${addon.resourceId} overage (${formatNum(addon.value)})`), + : addon.name || + `${addon.resourceId} overage (${formatNum(addon.value)})`, usage: '', price: formatCurrency(addon.amount) }, @@ -400,6 +396,18 @@ priceFormatter: ({ amount }) => formatCurrency(amount), includeProgress: false }), + ...resources + .filter((r) => r.resourceId?.startsWith('addon_') && (r.amount ?? 0) > 0) + .map((addon) => + createRow({ + id: `addon-${addon.resourceId}`, + label: addon.name || addon.resourceId, + resource: addon, + usageFormatter: ({ value }) => formatNum(value), + priceFormatter: ({ amount }) => formatCurrency(amount), + includeProgress: false + }) + ), createRow({ id: 'usage-details', label: `Usage details`, diff --git a/src/routes/(console)/project-[region]-[project]/settings/+page.ts b/src/routes/(console)/project-[region]-[project]/settings/+page.ts index 137e08e488..536eef036a 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/settings/+page.ts @@ -21,18 +21,18 @@ export const load: PageLoad = async ({ depends, url, params }) => { }), isCloud ? sdk - .forConsoleIn(params.region) - .projects.listAddons({ projectId: params.project }) - .catch(() => null) + .forConsoleIn(params.region) + .projects.listAddons({ projectId: params.project }) + .catch(() => null) : Promise.resolve(null), isCloud - ? sdk.forConsoleIn(params.region) - .projects - .getAddonPrice({ - projectId: params.project, - addon: Addon.Premiumgeodb - }) - .catch(() => null) + ? sdk + .forConsoleIn(params.region) + .projects.getAddonPrice({ + projectId: params.project, + addon: Addon.Premiumgeodb + }) + .catch(() => null) : Promise.resolve(null) ]); From 13b04789450b506ee4615170791d947e4d1d7ba0 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Thu, 23 Apr 2026 01:11:24 +0000 Subject: [PATCH 5/5] chore: bump @appwrite.io/console SDK to 95547fc --- bun.lock | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bun.lock b/bun.lock index d749dbc87c..cf2eb304b5 100644 --- a/bun.lock +++ b/bun.lock @@ -6,7 +6,7 @@ "name": "@appwrite/console", "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@7df3842", + "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@95547fc", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3", "@appwrite.io/pink-legacy": "^1.0.3", @@ -113,7 +113,7 @@ "@analytics/type-utils": ["@analytics/type-utils@0.6.4", "", {}, "sha512-Ou1gQxFakOWLcPnbFVsrPb8g1wLLUZYYJXDPjHkG07+5mustGs5yqACx42UAu4A6NszNN6Z5gGxhyH45zPWRxw=="], - "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@7df3842", { "dependencies": { "json-bigint": "1.0.0" } }], + "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@95547fc", { "dependencies": { "json-bigint": "1.0.0" } }], "@appwrite.io/pink-icons": ["@appwrite.io/pink-icons@0.25.0", "", {}, "sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q=="], diff --git a/package.json b/package.json index 00b3e4d6cb..5c40d1a666 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@7df3842", + "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@95547fc", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3", "@appwrite.io/pink-legacy": "^1.0.3",