Rename deploy script to avoid pnpm conflict
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 1m55s

This commit is contained in:
openhands committed 2026-07-23 18:59:38 +02:00
1 parent 5913328a53
commit a058a6e923
38 files changed
+12899 -1

No files matched your search

+145
View File
@@ -0,0 +1,145 @@
// Type definitions for Next.js cacheLife configs
declare module 'next/cache' {
export { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache'
export {
updateTag,
revalidateTag,
revalidatePath,
refresh,
} from 'next/dist/server/web/spec-extension/revalidate'
export { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store'
/**
* Cache this `"use cache"` for a timespan defined by the `"default"` profile.
* ```
* stale: 180 seconds (3 minutes)
* revalidate: 900 seconds (15 minutes)
* expire: never
* ```
*
* This cache may be stale on clients for 3 minutes before checking with the server.
* If the server receives a new request after 15 minutes, start revalidating new values in the background.
* It lives for the maximum age of the server cache. If this entry has no traffic for a while, it may serve an old value the next request.
*/
export function cacheLife(profile: "default"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"seconds"` profile.
* ```
* stale: 30 seconds
* revalidate: 1 seconds
* expire: 60 seconds (1 minute)
* ```
*
* This cache may be stale on clients for 30 seconds before checking with the server.
* If the server receives a new request after 1 seconds, start revalidating new values in the background.
* If this entry has no traffic for 1 minute it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "seconds"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"minutes"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 60 seconds (1 minute)
* expire: 3600 seconds (1 hour)
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 1 minute, start revalidating new values in the background.
* If this entry has no traffic for 1 hour it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "minutes"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"hours"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 3600 seconds (1 hour)
* expire: 86400 seconds (1 day)
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 1 hour, start revalidating new values in the background.
* If this entry has no traffic for 1 day it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "hours"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"days"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 86400 seconds (1 day)
* expire: 604800 seconds (1 week)
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 1 day, start revalidating new values in the background.
* If this entry has no traffic for 1 week it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "days"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"weeks"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 604800 seconds (1 week)
* expire: 2592000 seconds (1 month)
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 1 week, start revalidating new values in the background.
* If this entry has no traffic for 1 month it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "weeks"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"max"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 2592000 seconds (1 month)
* expire: 31536000 seconds (365 days)
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 1 month, start revalidating new values in the background.
* If this entry has no traffic for 365 days it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "max"): void
/**
* Cache this `"use cache"` using a custom timespan.
* ```
* stale: ... // seconds
* revalidate: ... // seconds
* expire: ... // seconds
* ```
*
* This is similar to Cache-Control: max-age=`stale`,s-max-age=`revalidate`,stale-while-revalidate=`expire-revalidate`
*
* If a value is left out, the lowest of other cacheLife() calls or the default, is used instead.
*/
export function cacheLife(profile: {
/**
* This cache may be stale on clients for ... seconds before checking with the server.
*/
stale?: number,
/**
* If the server receives a new request after ... seconds, start revalidating new values in the background.
*/
revalidate?: number,
/**
* If this entry has no traffic for ... seconds it will expire. The next request will recompute it.
*/
expire?: number
}): void
import { cacheTag } from 'next/dist/server/use-cache/cache-tag'
export { cacheTag }
export const unstable_cacheTag: typeof cacheTag
export const unstable_cacheLife: typeof cacheLife
}
+345
View File
@@ -0,0 +1,345 @@
// This file is generated automatically by Next.js
// Do not edit this file manually
type AppRoutes = "/" | "/admin" | "/admin/achievements" | "/admin/ads" | "/admin/ads/[id]" | "/admin/ads/new" | "/admin/alerts" | "/admin/analytics" | "/admin/analytics/activity" | "/admin/analytics/economy" | "/admin/applications" | "/admin/articles" | "/admin/articles/[id]" | "/admin/articles/new" | "/admin/badges" | "/admin/banners" | "/admin/bans" | "/admin/calendar" | "/admin/calendar/[id]" | "/admin/catalog" | "/admin/catalog/[id]" | "/admin/catalog/builder-club" | "/admin/catalog/builder-club/[id]" | "/admin/commandocentrum" | "/admin/devops" | "/admin/devops/errors" | "/admin/email-templates" | "/admin/emulator" | "/admin/events" | "/admin/events/[id]" | "/admin/events/create" | "/admin/events/types" | "/admin/favicon" | "/admin/guilds" | "/admin/guilds/[id]" | "/admin/help-questions" | "/admin/help-questions/[id]" | "/admin/help-questions/new" | "/admin/help-tickets" | "/admin/help-tickets/[id]" | "/admin/housekeeping" | "/admin/import" | "/admin/import/audit" | "/admin/import/badges" | "/admin/import/clone" | "/admin/import/clothing" | "/admin/import/effects" | "/admin/import/furni" | "/admin/import/furni/upload" | "/admin/import/pets" | "/admin/import/repair-icons" | "/admin/import/sync" | "/admin/ip" | "/admin/logs" | "/admin/logs/audit" | "/admin/logs/chat" | "/admin/logs/commands" | "/admin/logs/trades" | "/admin/maintenance" | "/admin/marketplace" | "/admin/media" | "/admin/moderation" | "/admin/moderation/actions" | "/admin/moderation/cfh" | "/admin/moderation/cfh/[id]" | "/admin/moderation/team" | "/admin/navigation" | "/admin/online" | "/admin/permissions" | "/admin/permissions/[id]" | "/admin/photos" | "/admin/polls" | "/admin/polls/[id]" | "/admin/polls/create" | "/admin/prefixes" | "/admin/radio" | "/admin/radio/api-keys" | "/admin/radio/autodj" | "/admin/radio/banners" | "/admin/radio/embed" | "/admin/radio/history" | "/admin/radio/moderation" | "/admin/radio/monitoring" | "/admin/radio/points" | "/admin/radio/ranks" | "/admin/radio/settings" | "/admin/rare-values" | "/admin/rooms" | "/admin/rooms/[id]" | "/admin/rooms/[id]/furni" | "/admin/rooms/edit/[id]" | "/admin/rooms/show/[id]" | "/admin/settings" | "/admin/shop" | "/admin/shop/[id]" | "/admin/shop/new" | "/admin/sounds" | "/admin/subscriptions" | "/admin/tags" | "/admin/teams" | "/admin/theme" | "/admin/tickets" | "/admin/tickets/[id]" | "/admin/tickets/templates" | "/admin/transactions" | "/admin/translations" | "/admin/translations/client" | "/admin/translations/cms" | "/admin/translations/emulator" | "/admin/users" | "/admin/users/[id]" | "/admin/users/[id]/edit" | "/admin/users/edit/[id]" | "/admin/users/multi-accounts" | "/admin/users/show/[id]" | "/admin/vouchers" | "/admin/vpn" | "/admin/wordfilter" | "/admin/writeable-boxes" | "/apply/staff" | "/apply/team" | "/badges" | "/banned" | "/client" | "/community" | "/developers" | "/draw-badge" | "/events" | "/events/[slugOrId]" | "/forgot" | "/friends" | "/guilds" | "/guilds/[id]" | "/guilds/[id]/forum" | "/guilds/[id]/forum/[threadId]" | "/guilds/[id]/forum/new" | "/help" | "/help/[category]" | "/help/tickets" | "/help/tickets/[id]" | "/leaderboard" | "/login" | "/logo" | "/maintenance" | "/marketplace" | "/me" | "/messages" | "/mod" | "/mod/actions" | "/mod/bans" | "/mod/cfh" | "/mod/cfh/[id]" | "/mod/team" | "/mod/tickets" | "/mod/tickets/[id]" | "/news" | "/news/[slug]" | "/photos" | "/polls" | "/polls/[id]" | "/radio" | "/radio/apply" | "/radio/contests" | "/radio/contests/[id]" | "/radio/giveaways" | "/radio/giveaways/[id]" | "/radio/leaderboard" | "/radio/requests" | "/radio/schedule" | "/radio/shouts" | "/rankings" | "/rares" | "/rares/[category]" | "/redeem" | "/register" | "/reset" | "/room/[id]" | "/settings" | "/settings/2fa" | "/settings/connections" | "/settings/sessions" | "/shop" | "/shop/topup" | "/staff" | "/u/[username]" | "/verify"
type AppRouteHandlerRoutes = "/api/admin/analytics/export" | "/api/admin/catalog/icons" | "/api/admin/catalog/images" | "/api/admin/catalog/items" | "/api/admin/catalog/suggest" | "/api/admin/catalog/tree" | "/api/admin/devops/health" | "/api/admin/furni/search" | "/api/admin/import/audit" | "/api/admin/import/badges" | "/api/admin/import/badges/edit" | "/api/admin/import/clone" | "/api/admin/import/clone/batch" | "/api/admin/import/clone/icon" | "/api/admin/import/clone/sync-all" | "/api/admin/import/clothing" | "/api/admin/import/clothing/batch" | "/api/admin/import/clothing/sets" | "/api/admin/import/clothing/sets/batch" | "/api/admin/import/effects" | "/api/admin/import/effects/batch" | "/api/admin/import/furni" | "/api/admin/import/furni/batch" | "/api/admin/import/furni/batch-regen" | "/api/admin/import/furni/nitro-editor" | "/api/admin/import/furni/repair-icons" | "/api/admin/import/furni/resync" | "/api/admin/import/furni/upload" | "/api/admin/import/pets" | "/api/admin/import/pets/batch" | "/api/admin/import/pets/icon" | "/api/admin/permissions/assignments" | "/api/admin/permissions/roles" | "/api/admin/prefixes" | "/api/admin/prefixes/blacklist" | "/api/admin/prefixes/settings" | "/api/admin/users/actions" | "/api/articles" | "/api/articles/[slug]" | "/api/articles/[slug]/comment" | "/api/auth/[...nextauth]" | "/api/badges/leaderboard" | "/api/guilds" | "/api/guilds/[id]" | "/api/health" | "/api/home" | "/api/imaging/avatar" | "/api/imaging/badge" | "/api/leaderboard" | "/api/me" | "/api/me/tokens" | "/api/media" | "/api/media/[...path]" | "/api/nitro-assets/bundled/furniture/[...path]" | "/api/online" | "/api/online/count" | "/api/paypal/capture" | "/api/paypal/create" | "/api/photos" | "/api/radio/auto-play" | "/api/radio/config" | "/api/radio/current-dj" | "/api/radio/embed-config" | "/api/radio/listeners" | "/api/radio/now-playing" | "/api/radio/points" | "/api/radio/points/leaderboard" | "/api/radio/shouts" | "/api/radio/stream" | "/api/settings" | "/api/shop" | "/api/shop/categories" | "/api/staff" | "/api/teams" | "/api/tickets" | "/api/tickets/[id]" | "/api/tickets/[id]/reply" | "/api/tokens" | "/api/users/[username]" | "/api/values" | "/api/values/[id]" | "/api/values/categories" | "/imaging"
type PageRoutes = never
type LayoutRoutes = "/" | "/admin" | "/admin/radio" | "/admin/translations" | "/mod" | "/radio"
type RedirectRoutes = never
type RewriteRoutes = never
type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes
interface ParamMap {
"/": {}
"/admin": {}
"/admin/achievements": {}
"/admin/ads": {}
"/admin/ads/[id]": { "id": string; }
"/admin/ads/new": {}
"/admin/alerts": {}
"/admin/analytics": {}
"/admin/analytics/activity": {}
"/admin/analytics/economy": {}
"/admin/applications": {}
"/admin/articles": {}
"/admin/articles/[id]": { "id": string; }
"/admin/articles/new": {}
"/admin/badges": {}
"/admin/banners": {}
"/admin/bans": {}
"/admin/calendar": {}
"/admin/calendar/[id]": { "id": string; }
"/admin/catalog": {}
"/admin/catalog/[id]": { "id": string; }
"/admin/catalog/builder-club": {}
"/admin/catalog/builder-club/[id]": { "id": string; }
"/admin/commandocentrum": {}
"/admin/devops": {}
"/admin/devops/errors": {}
"/admin/email-templates": {}
"/admin/emulator": {}
"/admin/events": {}
"/admin/events/[id]": { "id": string; }
"/admin/events/create": {}
"/admin/events/types": {}
"/admin/favicon": {}
"/admin/guilds": {}
"/admin/guilds/[id]": { "id": string; }
"/admin/help-questions": {}
"/admin/help-questions/[id]": { "id": string; }
"/admin/help-questions/new": {}
"/admin/help-tickets": {}
"/admin/help-tickets/[id]": { "id": string; }
"/admin/housekeeping": {}
"/admin/import": {}
"/admin/import/audit": {}
"/admin/import/badges": {}
"/admin/import/clone": {}
"/admin/import/clothing": {}
"/admin/import/effects": {}
"/admin/import/furni": {}
"/admin/import/furni/upload": {}
"/admin/import/pets": {}
"/admin/import/repair-icons": {}
"/admin/import/sync": {}
"/admin/ip": {}
"/admin/logs": {}
"/admin/logs/audit": {}
"/admin/logs/chat": {}
"/admin/logs/commands": {}
"/admin/logs/trades": {}
"/admin/maintenance": {}
"/admin/marketplace": {}
"/admin/media": {}
"/admin/moderation": {}
"/admin/moderation/actions": {}
"/admin/moderation/cfh": {}
"/admin/moderation/cfh/[id]": { "id": string; }
"/admin/moderation/team": {}
"/admin/navigation": {}
"/admin/online": {}
"/admin/permissions": {}
"/admin/permissions/[id]": { "id": string; }
"/admin/photos": {}
"/admin/polls": {}
"/admin/polls/[id]": { "id": string; }
"/admin/polls/create": {}
"/admin/prefixes": {}
"/admin/radio": {}
"/admin/radio/api-keys": {}
"/admin/radio/autodj": {}
"/admin/radio/banners": {}
"/admin/radio/embed": {}
"/admin/radio/history": {}
"/admin/radio/moderation": {}
"/admin/radio/monitoring": {}
"/admin/radio/points": {}
"/admin/radio/ranks": {}
"/admin/radio/settings": {}
"/admin/rare-values": {}
"/admin/rooms": {}
"/admin/rooms/[id]": { "id": string; }
"/admin/rooms/[id]/furni": { "id": string; }
"/admin/rooms/edit/[id]": { "id": string; }
"/admin/rooms/show/[id]": { "id": string; }
"/admin/settings": {}
"/admin/shop": {}
"/admin/shop/[id]": { "id": string; }
"/admin/shop/new": {}
"/admin/sounds": {}
"/admin/subscriptions": {}
"/admin/tags": {}
"/admin/teams": {}
"/admin/theme": {}
"/admin/tickets": {}
"/admin/tickets/[id]": { "id": string; }
"/admin/tickets/templates": {}
"/admin/transactions": {}
"/admin/translations": {}
"/admin/translations/client": {}
"/admin/translations/cms": {}
"/admin/translations/emulator": {}
"/admin/users": {}
"/admin/users/[id]": { "id": string; }
"/admin/users/[id]/edit": { "id": string; }
"/admin/users/edit/[id]": { "id": string; }
"/admin/users/multi-accounts": {}
"/admin/users/show/[id]": { "id": string; }
"/admin/vouchers": {}
"/admin/vpn": {}
"/admin/wordfilter": {}
"/admin/writeable-boxes": {}
"/api/admin/analytics/export": {}
"/api/admin/catalog/icons": {}
"/api/admin/catalog/images": {}
"/api/admin/catalog/items": {}
"/api/admin/catalog/suggest": {}
"/api/admin/catalog/tree": {}
"/api/admin/devops/health": {}
"/api/admin/furni/search": {}
"/api/admin/import/audit": {}
"/api/admin/import/badges": {}
"/api/admin/import/badges/edit": {}
"/api/admin/import/clone": {}
"/api/admin/import/clone/batch": {}
"/api/admin/import/clone/icon": {}
"/api/admin/import/clone/sync-all": {}
"/api/admin/import/clothing": {}
"/api/admin/import/clothing/batch": {}
"/api/admin/import/clothing/sets": {}
"/api/admin/import/clothing/sets/batch": {}
"/api/admin/import/effects": {}
"/api/admin/import/effects/batch": {}
"/api/admin/import/furni": {}
"/api/admin/import/furni/batch": {}
"/api/admin/import/furni/batch-regen": {}
"/api/admin/import/furni/nitro-editor": {}
"/api/admin/import/furni/repair-icons": {}
"/api/admin/import/furni/resync": {}
"/api/admin/import/furni/upload": {}
"/api/admin/import/pets": {}
"/api/admin/import/pets/batch": {}
"/api/admin/import/pets/icon": {}
"/api/admin/permissions/assignments": {}
"/api/admin/permissions/roles": {}
"/api/admin/prefixes": {}
"/api/admin/prefixes/blacklist": {}
"/api/admin/prefixes/settings": {}
"/api/admin/users/actions": {}
"/api/articles": {}
"/api/articles/[slug]": { "slug": string; }
"/api/articles/[slug]/comment": { "slug": string; }
"/api/auth/[...nextauth]": { "nextauth": string[]; }
"/api/badges/leaderboard": {}
"/api/guilds": {}
"/api/guilds/[id]": { "id": string; }
"/api/health": {}
"/api/home": {}
"/api/imaging/avatar": {}
"/api/imaging/badge": {}
"/api/leaderboard": {}
"/api/me": {}
"/api/me/tokens": {}
"/api/media": {}
"/api/media/[...path]": { "path": string[]; }
"/api/nitro-assets/bundled/furniture/[...path]": { "path": string[]; }
"/api/online": {}
"/api/online/count": {}
"/api/paypal/capture": {}
"/api/paypal/create": {}
"/api/photos": {}
"/api/radio/auto-play": {}
"/api/radio/config": {}
"/api/radio/current-dj": {}
"/api/radio/embed-config": {}
"/api/radio/listeners": {}
"/api/radio/now-playing": {}
"/api/radio/points": {}
"/api/radio/points/leaderboard": {}
"/api/radio/shouts": {}
"/api/radio/stream": {}
"/api/settings": {}
"/api/shop": {}
"/api/shop/categories": {}
"/api/staff": {}
"/api/teams": {}
"/api/tickets": {}
"/api/tickets/[id]": { "id": string; }
"/api/tickets/[id]/reply": { "id": string; }
"/api/tokens": {}
"/api/users/[username]": { "username": string; }
"/api/values": {}
"/api/values/[id]": { "id": string; }
"/api/values/categories": {}
"/apply/staff": {}
"/apply/team": {}
"/badges": {}
"/banned": {}
"/client": {}
"/community": {}
"/developers": {}
"/draw-badge": {}
"/events": {}
"/events/[slugOrId]": { "slugOrId": string; }
"/forgot": {}
"/friends": {}
"/guilds": {}
"/guilds/[id]": { "id": string; }
"/guilds/[id]/forum": { "id": string; }
"/guilds/[id]/forum/[threadId]": { "id": string; "threadId": string; }
"/guilds/[id]/forum/new": { "id": string; }
"/help": {}
"/help/[category]": { "category": string; }
"/help/tickets": {}
"/help/tickets/[id]": { "id": string; }
"/imaging": {}
"/leaderboard": {}
"/login": {}
"/logo": {}
"/maintenance": {}
"/marketplace": {}
"/me": {}
"/messages": {}
"/mod": {}
"/mod/actions": {}
"/mod/bans": {}
"/mod/cfh": {}
"/mod/cfh/[id]": { "id": string; }
"/mod/team": {}
"/mod/tickets": {}
"/mod/tickets/[id]": { "id": string; }
"/news": {}
"/news/[slug]": { "slug": string; }
"/photos": {}
"/polls": {}
"/polls/[id]": { "id": string; }
"/radio": {}
"/radio/apply": {}
"/radio/contests": {}
"/radio/contests/[id]": { "id": string; }
"/radio/giveaways": {}
"/radio/giveaways/[id]": { "id": string; }
"/radio/leaderboard": {}
"/radio/requests": {}
"/radio/schedule": {}
"/radio/shouts": {}
"/rankings": {}
"/rares": {}
"/rares/[category]": { "category": string; }
"/redeem": {}
"/register": {}
"/reset": {}
"/room/[id]": { "id": string; }
"/settings": {}
"/settings/2fa": {}
"/settings/connections": {}
"/settings/sessions": {}
"/shop": {}
"/shop/topup": {}
"/staff": {}
"/u/[username]": { "username": string; }
"/verify": {}
}
export type ParamsOf<Route extends Routes> = ParamMap[Route]
interface LayoutSlotMap {
"/": never
"/admin": never
"/admin/radio": never
"/admin/translations": never
"/mod": never
"/radio": never
}
export type { AppRoutes, PageRoutes, LayoutRoutes, RedirectRoutes, RewriteRoutes, ParamMap, AppRouteHandlerRoutes }
declare global {
/**
* Props for Next.js App Router page components
* @example
* ```tsx
* export default function Page(props: PageProps<'/blog/[slug]'>) {
* const { slug } = await props.params
* return <div>Blog post: {slug}</div>
* }
* ```
*/
interface PageProps<AppRoute extends AppRoutes> {
params: Promise<ParamMap[AppRoute]>
searchParams: Promise<Record<string, string | string[] | undefined>>
}
/**
* Props for Next.js App Router layout components
* @example
* ```tsx
* export default function Layout(props: LayoutProps<'/dashboard'>) {
* return <div>{props.children}</div>
* }
* ```
*/
type LayoutProps<LayoutRoute extends LayoutRoutes> = {
params: Promise<ParamMap[LayoutRoute]>
children: React.ReactNode
} & {
[K in LayoutSlotMap[LayoutRoute]]: React.ReactNode
}
/**
* Context for Next.js App Router route handlers
* @example
* ```tsx
* export async function GET(request: NextRequest, context: RouteContext<'/api/users/[id]'>) {
* const { id } = await context.params
* return Response.json({ id })
* }
* ```
*/
interface RouteContext<AppRouteHandlerRoute extends AppRouteHandlerRoutes> {
params: Promise<ParamMap[AppRouteHandlerRoute]>
}
}
File diff suppressed because it is too large. Load diff