chore(deps): bump the minor-patch group with 9 updates (#355)

* chore(deps): bump the minor-patch group with 9 updates

Bumps the minor-patch group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@inquirer/prompts](https://github.com/SBoudrias/Inquirer.js) | `8.1.0` | `8.2.0` |
| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.4.10` | `1.4.12` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.70.0` | `7.71.0` |
| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.90.2` | `0.90.3` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.0.3` | `25.0.7` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.7` | `19.2.8` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.23.0` | `0.24.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.38.0` | `1.39.0` |
| [vite-tsconfig-paths](https://github.com/aleclarson/vite-tsconfig-paths) | `6.0.3` | `6.0.4` |


Updates `@inquirer/prompts` from 8.1.0 to 8.2.0
- [Release notes](https://github.com/SBoudrias/Inquirer.js/releases)
- [Commits](https://github.com/SBoudrias/Inquirer.js/compare/@inquirer/prompts@8.1.0...@inquirer/prompts@8.2.0)

Updates `better-auth` from 1.4.10 to 1.4.12
- [Release notes](https://github.com/better-auth/better-auth/releases)
- [Commits](https://github.com/better-auth/better-auth/commits/v1.4.12/packages/better-auth)

Updates `react-hook-form` from 7.70.0 to 7.71.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.70.0...v7.71.0)

Updates `@hey-api/openapi-ts` from 0.90.2 to 0.90.3
- [Release notes](https://github.com/hey-api/openapi-ts/releases)
- [Changelog](https://github.com/hey-api/openapi-ts/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/hey-api/openapi-ts/compare/@hey-api/openapi-ts@0.90.2...@hey-api/openapi-ts@0.90.3)

Updates `@types/node` from 25.0.3 to 25.0.7
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@types/react` from 19.2.7 to 19.2.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `oxfmt` from 0.23.0 to 0.24.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.24.0/npm/oxfmt)

Updates `oxlint` from 1.38.0 to 1.39.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.39.0/npm/oxlint)

Updates `vite-tsconfig-paths` from 6.0.3 to 6.0.4
- [Release notes](https://github.com/aleclarson/vite-tsconfig-paths/releases)
- [Commits](https://github.com/aleclarson/vite-tsconfig-paths/compare/v6.0.3...v6.0.4)

---
updated-dependencies:
- dependency-name: "@inquirer/prompts"
  dependency-version: 8.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-patch
- dependency-name: better-auth
  dependency-version: 1.4.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-patch
- dependency-name: react-hook-form
  dependency-version: 7.71.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-patch
- dependency-name: "@hey-api/openapi-ts"
  dependency-version: 0.90.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-patch
- dependency-name: "@types/node"
  dependency-version: 25.0.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-patch
- dependency-name: "@types/react"
  dependency-version: 19.2.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-patch
- dependency-name: oxfmt
  dependency-version: 0.24.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-patch
- dependency-name: oxlint
  dependency-version: 1.39.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-patch
- dependency-name: vite-tsconfig-paths
  dependency-version: 6.0.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: gen api client

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Meienberger <github@thisprops.com>
This commit is contained in:
dependabot[bot] 2026-01-13 07:52:27 +01:00 committed by Nicolas Meienberger
parent 9fe134b93a
commit cb72e6c073
17 changed files with 392 additions and 1007 deletions

View file

@ -1,10 +1,6 @@
// This file is auto-generated by @hey-api/openapi-ts
import {
type DefaultError,
queryOptions,
type UseMutationOptions,
} from "@tanstack/react-query";
import { type DefaultError, queryOptions, type UseMutationOptions } from "@tanstack/react-query";
import { client } from "../client.gen";
import {
@ -179,8 +175,7 @@ const createQueryKey = <TOptions extends Options>(
): [QueryKey<TOptions>[0]] => {
const params: QueryKey<TOptions>[0] = {
_id: id,
baseUrl:
options?.baseUrl || (options?.client ?? client).getConfig().baseUrl,
baseUrl: options?.baseUrl || (options?.client ?? client).getConfig().baseUrl,
} as QueryKey<TOptions>[0];
if (infinite) {
params._infinite = infinite;
@ -203,19 +198,13 @@ const createQueryKey = <TOptions extends Options>(
return [params];
};
export const getStatusQueryKey = (options?: Options<GetStatusData>) =>
createQueryKey("getStatus", options);
export const getStatusQueryKey = (options?: Options<GetStatusData>) => createQueryKey("getStatus", options);
/**
* Get authentication system status
*/
export const getStatusOptions = (options?: Options<GetStatusData>) =>
queryOptions<
GetStatusResponse,
DefaultError,
GetStatusResponse,
ReturnType<typeof getStatusQueryKey>
>({
queryOptions<GetStatusResponse, DefaultError, GetStatusResponse, ReturnType<typeof getStatusQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await getStatus({
...options,
@ -228,19 +217,13 @@ export const getStatusOptions = (options?: Options<GetStatusData>) =>
queryKey: getStatusQueryKey(options),
});
export const listVolumesQueryKey = (options?: Options<ListVolumesData>) =>
createQueryKey("listVolumes", options);
export const listVolumesQueryKey = (options?: Options<ListVolumesData>) => createQueryKey("listVolumes", options);
/**
* List all volumes
*/
export const listVolumesOptions = (options?: Options<ListVolumesData>) =>
queryOptions<
ListVolumesResponse,
DefaultError,
ListVolumesResponse,
ReturnType<typeof listVolumesQueryKey>
>({
queryOptions<ListVolumesResponse, DefaultError, ListVolumesResponse, ReturnType<typeof listVolumesQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await listVolumes({
...options,
@ -258,16 +241,8 @@ export const listVolumesOptions = (options?: Options<ListVolumesData>) =>
*/
export const createVolumeMutation = (
options?: Partial<Options<CreateVolumeData>>,
): UseMutationOptions<
CreateVolumeResponse,
DefaultError,
Options<CreateVolumeData>
> => {
const mutationOptions: UseMutationOptions<
CreateVolumeResponse,
DefaultError,
Options<CreateVolumeData>
> = {
): UseMutationOptions<CreateVolumeResponse, DefaultError, Options<CreateVolumeData>> => {
const mutationOptions: UseMutationOptions<CreateVolumeResponse, DefaultError, Options<CreateVolumeData>> = {
mutationFn: async (fnOptions) => {
const { data } = await createVolume({
...options,
@ -285,16 +260,8 @@ export const createVolumeMutation = (
*/
export const testConnectionMutation = (
options?: Partial<Options<TestConnectionData>>,
): UseMutationOptions<
TestConnectionResponse,
DefaultError,
Options<TestConnectionData>
> => {
const mutationOptions: UseMutationOptions<
TestConnectionResponse,
DefaultError,
Options<TestConnectionData>
> = {
): UseMutationOptions<TestConnectionResponse, DefaultError, Options<TestConnectionData>> => {
const mutationOptions: UseMutationOptions<TestConnectionResponse, DefaultError, Options<TestConnectionData>> = {
mutationFn: async (fnOptions) => {
const { data } = await testConnection({
...options,
@ -312,16 +279,8 @@ export const testConnectionMutation = (
*/
export const deleteVolumeMutation = (
options?: Partial<Options<DeleteVolumeData>>,
): UseMutationOptions<
DeleteVolumeResponse,
DefaultError,
Options<DeleteVolumeData>
> => {
const mutationOptions: UseMutationOptions<
DeleteVolumeResponse,
DefaultError,
Options<DeleteVolumeData>
> = {
): UseMutationOptions<DeleteVolumeResponse, DefaultError, Options<DeleteVolumeData>> => {
const mutationOptions: UseMutationOptions<DeleteVolumeResponse, DefaultError, Options<DeleteVolumeData>> = {
mutationFn: async (fnOptions) => {
const { data } = await deleteVolume({
...options,
@ -334,19 +293,13 @@ export const deleteVolumeMutation = (
return mutationOptions;
};
export const getVolumeQueryKey = (options: Options<GetVolumeData>) =>
createQueryKey("getVolume", options);
export const getVolumeQueryKey = (options: Options<GetVolumeData>) => createQueryKey("getVolume", options);
/**
* Get a volume by name
*/
export const getVolumeOptions = (options: Options<GetVolumeData>) =>
queryOptions<
GetVolumeResponse,
DefaultError,
GetVolumeResponse,
ReturnType<typeof getVolumeQueryKey>
>({
queryOptions<GetVolumeResponse, DefaultError, GetVolumeResponse, ReturnType<typeof getVolumeQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await getVolume({
...options,
@ -364,16 +317,8 @@ export const getVolumeOptions = (options: Options<GetVolumeData>) =>
*/
export const updateVolumeMutation = (
options?: Partial<Options<UpdateVolumeData>>,
): UseMutationOptions<
UpdateVolumeResponse,
DefaultError,
Options<UpdateVolumeData>
> => {
const mutationOptions: UseMutationOptions<
UpdateVolumeResponse,
DefaultError,
Options<UpdateVolumeData>
> = {
): UseMutationOptions<UpdateVolumeResponse, DefaultError, Options<UpdateVolumeData>> => {
const mutationOptions: UseMutationOptions<UpdateVolumeResponse, DefaultError, Options<UpdateVolumeData>> = {
mutationFn: async (fnOptions) => {
const { data } = await updateVolume({
...options,
@ -391,16 +336,8 @@ export const updateVolumeMutation = (
*/
export const mountVolumeMutation = (
options?: Partial<Options<MountVolumeData>>,
): UseMutationOptions<
MountVolumeResponse,
DefaultError,
Options<MountVolumeData>
> => {
const mutationOptions: UseMutationOptions<
MountVolumeResponse,
DefaultError,
Options<MountVolumeData>
> = {
): UseMutationOptions<MountVolumeResponse, DefaultError, Options<MountVolumeData>> => {
const mutationOptions: UseMutationOptions<MountVolumeResponse, DefaultError, Options<MountVolumeData>> = {
mutationFn: async (fnOptions) => {
const { data } = await mountVolume({
...options,
@ -418,16 +355,8 @@ export const mountVolumeMutation = (
*/
export const unmountVolumeMutation = (
options?: Partial<Options<UnmountVolumeData>>,
): UseMutationOptions<
UnmountVolumeResponse,
DefaultError,
Options<UnmountVolumeData>
> => {
const mutationOptions: UseMutationOptions<
UnmountVolumeResponse,
DefaultError,
Options<UnmountVolumeData>
> = {
): UseMutationOptions<UnmountVolumeResponse, DefaultError, Options<UnmountVolumeData>> => {
const mutationOptions: UseMutationOptions<UnmountVolumeResponse, DefaultError, Options<UnmountVolumeData>> = {
mutationFn: async (fnOptions) => {
const { data } = await unmountVolume({
...options,
@ -445,16 +374,8 @@ export const unmountVolumeMutation = (
*/
export const healthCheckVolumeMutation = (
options?: Partial<Options<HealthCheckVolumeData>>,
): UseMutationOptions<
HealthCheckVolumeResponse,
DefaultError,
Options<HealthCheckVolumeData>
> => {
const mutationOptions: UseMutationOptions<
HealthCheckVolumeResponse,
DefaultError,
Options<HealthCheckVolumeData>
> = {
): UseMutationOptions<HealthCheckVolumeResponse, DefaultError, Options<HealthCheckVolumeData>> => {
const mutationOptions: UseMutationOptions<HealthCheckVolumeResponse, DefaultError, Options<HealthCheckVolumeData>> = {
mutationFn: async (fnOptions) => {
const { data } = await healthCheckVolume({
...options,
@ -467,19 +388,13 @@ export const healthCheckVolumeMutation = (
return mutationOptions;
};
export const listFilesQueryKey = (options: Options<ListFilesData>) =>
createQueryKey("listFiles", options);
export const listFilesQueryKey = (options: Options<ListFilesData>) => createQueryKey("listFiles", options);
/**
* List files in a volume directory
*/
export const listFilesOptions = (options: Options<ListFilesData>) =>
queryOptions<
ListFilesResponse,
DefaultError,
ListFilesResponse,
ReturnType<typeof listFilesQueryKey>
>({
queryOptions<ListFilesResponse, DefaultError, ListFilesResponse, ReturnType<typeof listFilesQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await listFiles({
...options,
@ -492,16 +407,13 @@ export const listFilesOptions = (options: Options<ListFilesData>) =>
queryKey: listFilesQueryKey(options),
});
export const browseFilesystemQueryKey = (
options?: Options<BrowseFilesystemData>,
) => createQueryKey("browseFilesystem", options);
export const browseFilesystemQueryKey = (options?: Options<BrowseFilesystemData>) =>
createQueryKey("browseFilesystem", options);
/**
* Browse directories on the host filesystem
*/
export const browseFilesystemOptions = (
options?: Options<BrowseFilesystemData>,
) =>
export const browseFilesystemOptions = (options?: Options<BrowseFilesystemData>) =>
queryOptions<
BrowseFilesystemResponse,
DefaultError,
@ -520,16 +432,13 @@ export const browseFilesystemOptions = (
queryKey: browseFilesystemQueryKey(options),
});
export const listRepositoriesQueryKey = (
options?: Options<ListRepositoriesData>,
) => createQueryKey("listRepositories", options);
export const listRepositoriesQueryKey = (options?: Options<ListRepositoriesData>) =>
createQueryKey("listRepositories", options);
/**
* List all repositories
*/
export const listRepositoriesOptions = (
options?: Options<ListRepositoriesData>,
) =>
export const listRepositoriesOptions = (options?: Options<ListRepositoriesData>) =>
queryOptions<
ListRepositoriesResponse,
DefaultError,
@ -553,16 +462,8 @@ export const listRepositoriesOptions = (
*/
export const createRepositoryMutation = (
options?: Partial<Options<CreateRepositoryData>>,
): UseMutationOptions<
CreateRepositoryResponse,
DefaultError,
Options<CreateRepositoryData>
> => {
const mutationOptions: UseMutationOptions<
CreateRepositoryResponse,
DefaultError,
Options<CreateRepositoryData>
> = {
): UseMutationOptions<CreateRepositoryResponse, DefaultError, Options<CreateRepositoryData>> => {
const mutationOptions: UseMutationOptions<CreateRepositoryResponse, DefaultError, Options<CreateRepositoryData>> = {
mutationFn: async (fnOptions) => {
const { data } = await createRepository({
...options,
@ -575,16 +476,13 @@ export const createRepositoryMutation = (
return mutationOptions;
};
export const listRcloneRemotesQueryKey = (
options?: Options<ListRcloneRemotesData>,
) => createQueryKey("listRcloneRemotes", options);
export const listRcloneRemotesQueryKey = (options?: Options<ListRcloneRemotesData>) =>
createQueryKey("listRcloneRemotes", options);
/**
* List all configured rclone remotes on the host system
*/
export const listRcloneRemotesOptions = (
options?: Options<ListRcloneRemotesData>,
) =>
export const listRcloneRemotesOptions = (options?: Options<ListRcloneRemotesData>) =>
queryOptions<
ListRcloneRemotesResponse,
DefaultError,
@ -608,16 +506,8 @@ export const listRcloneRemotesOptions = (
*/
export const deleteRepositoryMutation = (
options?: Partial<Options<DeleteRepositoryData>>,
): UseMutationOptions<
DeleteRepositoryResponse,
DefaultError,
Options<DeleteRepositoryData>
> => {
const mutationOptions: UseMutationOptions<
DeleteRepositoryResponse,
DefaultError,
Options<DeleteRepositoryData>
> = {
): UseMutationOptions<DeleteRepositoryResponse, DefaultError, Options<DeleteRepositoryData>> => {
const mutationOptions: UseMutationOptions<DeleteRepositoryResponse, DefaultError, Options<DeleteRepositoryData>> = {
mutationFn: async (fnOptions) => {
const { data } = await deleteRepository({
...options,
@ -630,19 +520,13 @@ export const deleteRepositoryMutation = (
return mutationOptions;
};
export const getRepositoryQueryKey = (options: Options<GetRepositoryData>) =>
createQueryKey("getRepository", options);
export const getRepositoryQueryKey = (options: Options<GetRepositoryData>) => createQueryKey("getRepository", options);
/**
* Get a single repository by ID
*/
export const getRepositoryOptions = (options: Options<GetRepositoryData>) =>
queryOptions<
GetRepositoryResponse,
DefaultError,
GetRepositoryResponse,
ReturnType<typeof getRepositoryQueryKey>
>({
queryOptions<GetRepositoryResponse, DefaultError, GetRepositoryResponse, ReturnType<typeof getRepositoryQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await getRepository({
...options,
@ -660,16 +544,8 @@ export const getRepositoryOptions = (options: Options<GetRepositoryData>) =>
*/
export const updateRepositoryMutation = (
options?: Partial<Options<UpdateRepositoryData>>,
): UseMutationOptions<
UpdateRepositoryResponse,
DefaultError,
Options<UpdateRepositoryData>
> => {
const mutationOptions: UseMutationOptions<
UpdateRepositoryResponse,
DefaultError,
Options<UpdateRepositoryData>
> = {
): UseMutationOptions<UpdateRepositoryResponse, DefaultError, Options<UpdateRepositoryData>> => {
const mutationOptions: UseMutationOptions<UpdateRepositoryResponse, DefaultError, Options<UpdateRepositoryData>> = {
mutationFn: async (fnOptions) => {
const { data } = await updateRepository({
...options,
@ -687,16 +563,8 @@ export const updateRepositoryMutation = (
*/
export const deleteSnapshotsMutation = (
options?: Partial<Options<DeleteSnapshotsData>>,
): UseMutationOptions<
DeleteSnapshotsResponse,
DefaultError,
Options<DeleteSnapshotsData>
> => {
const mutationOptions: UseMutationOptions<
DeleteSnapshotsResponse,
DefaultError,
Options<DeleteSnapshotsData>
> = {
): UseMutationOptions<DeleteSnapshotsResponse, DefaultError, Options<DeleteSnapshotsData>> => {
const mutationOptions: UseMutationOptions<DeleteSnapshotsResponse, DefaultError, Options<DeleteSnapshotsData>> = {
mutationFn: async (fnOptions) => {
const { data } = await deleteSnapshots({
...options,
@ -709,19 +577,13 @@ export const deleteSnapshotsMutation = (
return mutationOptions;
};
export const listSnapshotsQueryKey = (options: Options<ListSnapshotsData>) =>
createQueryKey("listSnapshots", options);
export const listSnapshotsQueryKey = (options: Options<ListSnapshotsData>) => createQueryKey("listSnapshots", options);
/**
* List all snapshots in a repository
*/
export const listSnapshotsOptions = (options: Options<ListSnapshotsData>) =>
queryOptions<
ListSnapshotsResponse,
DefaultError,
ListSnapshotsResponse,
ReturnType<typeof listSnapshotsQueryKey>
>({
queryOptions<ListSnapshotsResponse, DefaultError, ListSnapshotsResponse, ReturnType<typeof listSnapshotsQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await listSnapshots({
...options,
@ -739,16 +601,8 @@ export const listSnapshotsOptions = (options: Options<ListSnapshotsData>) =>
*/
export const deleteSnapshotMutation = (
options?: Partial<Options<DeleteSnapshotData>>,
): UseMutationOptions<
DeleteSnapshotResponse,
DefaultError,
Options<DeleteSnapshotData>
> => {
const mutationOptions: UseMutationOptions<
DeleteSnapshotResponse,
DefaultError,
Options<DeleteSnapshotData>
> = {
): UseMutationOptions<DeleteSnapshotResponse, DefaultError, Options<DeleteSnapshotData>> => {
const mutationOptions: UseMutationOptions<DeleteSnapshotResponse, DefaultError, Options<DeleteSnapshotData>> = {
mutationFn: async (fnOptions) => {
const { data } = await deleteSnapshot({
...options,
@ -761,16 +615,13 @@ export const deleteSnapshotMutation = (
return mutationOptions;
};
export const getSnapshotDetailsQueryKey = (
options: Options<GetSnapshotDetailsData>,
) => createQueryKey("getSnapshotDetails", options);
export const getSnapshotDetailsQueryKey = (options: Options<GetSnapshotDetailsData>) =>
createQueryKey("getSnapshotDetails", options);
/**
* Get details of a specific snapshot
*/
export const getSnapshotDetailsOptions = (
options: Options<GetSnapshotDetailsData>,
) =>
export const getSnapshotDetailsOptions = (options: Options<GetSnapshotDetailsData>) =>
queryOptions<
GetSnapshotDetailsResponse,
DefaultError,
@ -789,16 +640,13 @@ export const getSnapshotDetailsOptions = (
queryKey: getSnapshotDetailsQueryKey(options),
});
export const listSnapshotFilesQueryKey = (
options: Options<ListSnapshotFilesData>,
) => createQueryKey("listSnapshotFiles", options);
export const listSnapshotFilesQueryKey = (options: Options<ListSnapshotFilesData>) =>
createQueryKey("listSnapshotFiles", options);
/**
* List files and directories in a snapshot
*/
export const listSnapshotFilesOptions = (
options: Options<ListSnapshotFilesData>,
) =>
export const listSnapshotFilesOptions = (options: Options<ListSnapshotFilesData>) =>
queryOptions<
ListSnapshotFilesResponse,
DefaultError,
@ -822,16 +670,8 @@ export const listSnapshotFilesOptions = (
*/
export const restoreSnapshotMutation = (
options?: Partial<Options<RestoreSnapshotData>>,
): UseMutationOptions<
RestoreSnapshotResponse,
DefaultError,
Options<RestoreSnapshotData>
> => {
const mutationOptions: UseMutationOptions<
RestoreSnapshotResponse,
DefaultError,
Options<RestoreSnapshotData>
> = {
): UseMutationOptions<RestoreSnapshotResponse, DefaultError, Options<RestoreSnapshotData>> => {
const mutationOptions: UseMutationOptions<RestoreSnapshotResponse, DefaultError, Options<RestoreSnapshotData>> = {
mutationFn: async (fnOptions) => {
const { data } = await restoreSnapshot({
...options,
@ -849,16 +689,8 @@ export const restoreSnapshotMutation = (
*/
export const doctorRepositoryMutation = (
options?: Partial<Options<DoctorRepositoryData>>,
): UseMutationOptions<
DoctorRepositoryResponse,
DefaultError,
Options<DoctorRepositoryData>
> => {
const mutationOptions: UseMutationOptions<
DoctorRepositoryResponse,
DefaultError,
Options<DoctorRepositoryData>
> = {
): UseMutationOptions<DoctorRepositoryResponse, DefaultError, Options<DoctorRepositoryData>> => {
const mutationOptions: UseMutationOptions<DoctorRepositoryResponse, DefaultError, Options<DoctorRepositoryData>> = {
mutationFn: async (fnOptions) => {
const { data } = await doctorRepository({
...options,
@ -876,16 +708,8 @@ export const doctorRepositoryMutation = (
*/
export const tagSnapshotsMutation = (
options?: Partial<Options<TagSnapshotsData>>,
): UseMutationOptions<
TagSnapshotsResponse,
DefaultError,
Options<TagSnapshotsData>
> => {
const mutationOptions: UseMutationOptions<
TagSnapshotsResponse,
DefaultError,
Options<TagSnapshotsData>
> = {
): UseMutationOptions<TagSnapshotsResponse, DefaultError, Options<TagSnapshotsData>> => {
const mutationOptions: UseMutationOptions<TagSnapshotsResponse, DefaultError, Options<TagSnapshotsData>> = {
mutationFn: async (fnOptions) => {
const { data } = await tagSnapshots({
...options,
@ -898,16 +722,13 @@ export const tagSnapshotsMutation = (
return mutationOptions;
};
export const listBackupSchedulesQueryKey = (
options?: Options<ListBackupSchedulesData>,
) => createQueryKey("listBackupSchedules", options);
export const listBackupSchedulesQueryKey = (options?: Options<ListBackupSchedulesData>) =>
createQueryKey("listBackupSchedules", options);
/**
* List all backup schedules
*/
export const listBackupSchedulesOptions = (
options?: Options<ListBackupSchedulesData>,
) =>
export const listBackupSchedulesOptions = (options?: Options<ListBackupSchedulesData>) =>
queryOptions<
ListBackupSchedulesResponse,
DefaultError,
@ -931,11 +752,7 @@ export const listBackupSchedulesOptions = (
*/
export const createBackupScheduleMutation = (
options?: Partial<Options<CreateBackupScheduleData>>,
): UseMutationOptions<
CreateBackupScheduleResponse,
DefaultError,
Options<CreateBackupScheduleData>
> => {
): UseMutationOptions<CreateBackupScheduleResponse, DefaultError, Options<CreateBackupScheduleData>> => {
const mutationOptions: UseMutationOptions<
CreateBackupScheduleResponse,
DefaultError,
@ -958,11 +775,7 @@ export const createBackupScheduleMutation = (
*/
export const deleteBackupScheduleMutation = (
options?: Partial<Options<DeleteBackupScheduleData>>,
): UseMutationOptions<
DeleteBackupScheduleResponse,
DefaultError,
Options<DeleteBackupScheduleData>
> => {
): UseMutationOptions<DeleteBackupScheduleResponse, DefaultError, Options<DeleteBackupScheduleData>> => {
const mutationOptions: UseMutationOptions<
DeleteBackupScheduleResponse,
DefaultError,
@ -980,16 +793,13 @@ export const deleteBackupScheduleMutation = (
return mutationOptions;
};
export const getBackupScheduleQueryKey = (
options: Options<GetBackupScheduleData>,
) => createQueryKey("getBackupSchedule", options);
export const getBackupScheduleQueryKey = (options: Options<GetBackupScheduleData>) =>
createQueryKey("getBackupSchedule", options);
/**
* Get a backup schedule by ID
*/
export const getBackupScheduleOptions = (
options: Options<GetBackupScheduleData>,
) =>
export const getBackupScheduleOptions = (options: Options<GetBackupScheduleData>) =>
queryOptions<
GetBackupScheduleResponse,
DefaultError,
@ -1013,11 +823,7 @@ export const getBackupScheduleOptions = (
*/
export const updateBackupScheduleMutation = (
options?: Partial<Options<UpdateBackupScheduleData>>,
): UseMutationOptions<
UpdateBackupScheduleResponse,
DefaultError,
Options<UpdateBackupScheduleData>
> => {
): UseMutationOptions<UpdateBackupScheduleResponse, DefaultError, Options<UpdateBackupScheduleData>> => {
const mutationOptions: UseMutationOptions<
UpdateBackupScheduleResponse,
DefaultError,
@ -1035,16 +841,13 @@ export const updateBackupScheduleMutation = (
return mutationOptions;
};
export const getBackupScheduleForVolumeQueryKey = (
options: Options<GetBackupScheduleForVolumeData>,
) => createQueryKey("getBackupScheduleForVolume", options);
export const getBackupScheduleForVolumeQueryKey = (options: Options<GetBackupScheduleForVolumeData>) =>
createQueryKey("getBackupScheduleForVolume", options);
/**
* Get a backup schedule for a specific volume
*/
export const getBackupScheduleForVolumeOptions = (
options: Options<GetBackupScheduleForVolumeData>,
) =>
export const getBackupScheduleForVolumeOptions = (options: Options<GetBackupScheduleForVolumeData>) =>
queryOptions<
GetBackupScheduleForVolumeResponse,
DefaultError,
@ -1068,16 +871,8 @@ export const getBackupScheduleForVolumeOptions = (
*/
export const runBackupNowMutation = (
options?: Partial<Options<RunBackupNowData>>,
): UseMutationOptions<
RunBackupNowResponse,
DefaultError,
Options<RunBackupNowData>
> => {
const mutationOptions: UseMutationOptions<
RunBackupNowResponse,
DefaultError,
Options<RunBackupNowData>
> = {
): UseMutationOptions<RunBackupNowResponse, DefaultError, Options<RunBackupNowData>> => {
const mutationOptions: UseMutationOptions<RunBackupNowResponse, DefaultError, Options<RunBackupNowData>> = {
mutationFn: async (fnOptions) => {
const { data } = await runBackupNow({
...options,
@ -1095,16 +890,8 @@ export const runBackupNowMutation = (
*/
export const stopBackupMutation = (
options?: Partial<Options<StopBackupData>>,
): UseMutationOptions<
StopBackupResponse,
DefaultError,
Options<StopBackupData>
> => {
const mutationOptions: UseMutationOptions<
StopBackupResponse,
DefaultError,
Options<StopBackupData>
> = {
): UseMutationOptions<StopBackupResponse, DefaultError, Options<StopBackupData>> => {
const mutationOptions: UseMutationOptions<StopBackupResponse, DefaultError, Options<StopBackupData>> = {
mutationFn: async (fnOptions) => {
const { data } = await stopBackup({
...options,
@ -1122,16 +909,8 @@ export const stopBackupMutation = (
*/
export const runForgetMutation = (
options?: Partial<Options<RunForgetData>>,
): UseMutationOptions<
RunForgetResponse,
DefaultError,
Options<RunForgetData>
> => {
const mutationOptions: UseMutationOptions<
RunForgetResponse,
DefaultError,
Options<RunForgetData>
> = {
): UseMutationOptions<RunForgetResponse, DefaultError, Options<RunForgetData>> => {
const mutationOptions: UseMutationOptions<RunForgetResponse, DefaultError, Options<RunForgetData>> = {
mutationFn: async (fnOptions) => {
const { data } = await runForget({
...options,
@ -1144,16 +923,13 @@ export const runForgetMutation = (
return mutationOptions;
};
export const getScheduleNotificationsQueryKey = (
options: Options<GetScheduleNotificationsData>,
) => createQueryKey("getScheduleNotifications", options);
export const getScheduleNotificationsQueryKey = (options: Options<GetScheduleNotificationsData>) =>
createQueryKey("getScheduleNotifications", options);
/**
* Get notification assignments for a backup schedule
*/
export const getScheduleNotificationsOptions = (
options: Options<GetScheduleNotificationsData>,
) =>
export const getScheduleNotificationsOptions = (options: Options<GetScheduleNotificationsData>) =>
queryOptions<
GetScheduleNotificationsResponse,
DefaultError,
@ -1177,11 +953,7 @@ export const getScheduleNotificationsOptions = (
*/
export const updateScheduleNotificationsMutation = (
options?: Partial<Options<UpdateScheduleNotificationsData>>,
): UseMutationOptions<
UpdateScheduleNotificationsResponse,
DefaultError,
Options<UpdateScheduleNotificationsData>
> => {
): UseMutationOptions<UpdateScheduleNotificationsResponse, DefaultError, Options<UpdateScheduleNotificationsData>> => {
const mutationOptions: UseMutationOptions<
UpdateScheduleNotificationsResponse,
DefaultError,
@ -1199,16 +971,13 @@ export const updateScheduleNotificationsMutation = (
return mutationOptions;
};
export const getScheduleMirrorsQueryKey = (
options: Options<GetScheduleMirrorsData>,
) => createQueryKey("getScheduleMirrors", options);
export const getScheduleMirrorsQueryKey = (options: Options<GetScheduleMirrorsData>) =>
createQueryKey("getScheduleMirrors", options);
/**
* Get mirror repository assignments for a backup schedule
*/
export const getScheduleMirrorsOptions = (
options: Options<GetScheduleMirrorsData>,
) =>
export const getScheduleMirrorsOptions = (options: Options<GetScheduleMirrorsData>) =>
queryOptions<
GetScheduleMirrorsResponse,
DefaultError,
@ -1232,11 +1001,7 @@ export const getScheduleMirrorsOptions = (
*/
export const updateScheduleMirrorsMutation = (
options?: Partial<Options<UpdateScheduleMirrorsData>>,
): UseMutationOptions<
UpdateScheduleMirrorsResponse,
DefaultError,
Options<UpdateScheduleMirrorsData>
> => {
): UseMutationOptions<UpdateScheduleMirrorsResponse, DefaultError, Options<UpdateScheduleMirrorsData>> => {
const mutationOptions: UseMutationOptions<
UpdateScheduleMirrorsResponse,
DefaultError,
@ -1254,16 +1019,13 @@ export const updateScheduleMirrorsMutation = (
return mutationOptions;
};
export const getMirrorCompatibilityQueryKey = (
options: Options<GetMirrorCompatibilityData>,
) => createQueryKey("getMirrorCompatibility", options);
export const getMirrorCompatibilityQueryKey = (options: Options<GetMirrorCompatibilityData>) =>
createQueryKey("getMirrorCompatibility", options);
/**
* Get mirror compatibility info for all repositories relative to a backup schedule's primary repository
*/
export const getMirrorCompatibilityOptions = (
options: Options<GetMirrorCompatibilityData>,
) =>
export const getMirrorCompatibilityOptions = (options: Options<GetMirrorCompatibilityData>) =>
queryOptions<
GetMirrorCompatibilityResponse,
DefaultError,
@ -1287,11 +1049,7 @@ export const getMirrorCompatibilityOptions = (
*/
export const reorderBackupSchedulesMutation = (
options?: Partial<Options<ReorderBackupSchedulesData>>,
): UseMutationOptions<
ReorderBackupSchedulesResponse,
DefaultError,
Options<ReorderBackupSchedulesData>
> => {
): UseMutationOptions<ReorderBackupSchedulesResponse, DefaultError, Options<ReorderBackupSchedulesData>> => {
const mutationOptions: UseMutationOptions<
ReorderBackupSchedulesResponse,
DefaultError,
@ -1309,16 +1067,13 @@ export const reorderBackupSchedulesMutation = (
return mutationOptions;
};
export const listNotificationDestinationsQueryKey = (
options?: Options<ListNotificationDestinationsData>,
) => createQueryKey("listNotificationDestinations", options);
export const listNotificationDestinationsQueryKey = (options?: Options<ListNotificationDestinationsData>) =>
createQueryKey("listNotificationDestinations", options);
/**
* List all notification destinations
*/
export const listNotificationDestinationsOptions = (
options?: Options<ListNotificationDestinationsData>,
) =>
export const listNotificationDestinationsOptions = (options?: Options<ListNotificationDestinationsData>) =>
queryOptions<
ListNotificationDestinationsResponse,
DefaultError,
@ -1391,16 +1146,13 @@ export const deleteNotificationDestinationMutation = (
return mutationOptions;
};
export const getNotificationDestinationQueryKey = (
options: Options<GetNotificationDestinationData>,
) => createQueryKey("getNotificationDestination", options);
export const getNotificationDestinationQueryKey = (options: Options<GetNotificationDestinationData>) =>
createQueryKey("getNotificationDestination", options);
/**
* Get a notification destination by ID
*/
export const getNotificationDestinationOptions = (
options: Options<GetNotificationDestinationData>,
) =>
export const getNotificationDestinationOptions = (options: Options<GetNotificationDestinationData>) =>
queryOptions<
GetNotificationDestinationResponse,
DefaultError,
@ -1451,11 +1203,7 @@ export const updateNotificationDestinationMutation = (
*/
export const testNotificationDestinationMutation = (
options?: Partial<Options<TestNotificationDestinationData>>,
): UseMutationOptions<
TestNotificationDestinationResponse,
DefaultError,
Options<TestNotificationDestinationData>
> => {
): UseMutationOptions<TestNotificationDestinationResponse, DefaultError, Options<TestNotificationDestinationData>> => {
const mutationOptions: UseMutationOptions<
TestNotificationDestinationResponse,
DefaultError,
@ -1473,19 +1221,13 @@ export const testNotificationDestinationMutation = (
return mutationOptions;
};
export const getSystemInfoQueryKey = (options?: Options<GetSystemInfoData>) =>
createQueryKey("getSystemInfo", options);
export const getSystemInfoQueryKey = (options?: Options<GetSystemInfoData>) => createQueryKey("getSystemInfo", options);
/**
* Get system information including available capabilities
*/
export const getSystemInfoOptions = (options?: Options<GetSystemInfoData>) =>
queryOptions<
GetSystemInfoResponse,
DefaultError,
GetSystemInfoResponse,
ReturnType<typeof getSystemInfoQueryKey>
>({
queryOptions<GetSystemInfoResponse, DefaultError, GetSystemInfoResponse, ReturnType<typeof getSystemInfoQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await getSystemInfo({
...options,
@ -1498,19 +1240,13 @@ export const getSystemInfoOptions = (options?: Options<GetSystemInfoData>) =>
queryKey: getSystemInfoQueryKey(options),
});
export const getUpdatesQueryKey = (options?: Options<GetUpdatesData>) =>
createQueryKey("getUpdates", options);
export const getUpdatesQueryKey = (options?: Options<GetUpdatesData>) => createQueryKey("getUpdates", options);
/**
* Check for application updates from GitHub
*/
export const getUpdatesOptions = (options?: Options<GetUpdatesData>) =>
queryOptions<
GetUpdatesResponse,
DefaultError,
GetUpdatesResponse,
ReturnType<typeof getUpdatesQueryKey>
>({
queryOptions<GetUpdatesResponse, DefaultError, GetUpdatesResponse, ReturnType<typeof getUpdatesQueryKey>>({
queryFn: async ({ queryKey, signal }) => {
const { data } = await getUpdates({
...options,
@ -1528,11 +1264,7 @@ export const getUpdatesOptions = (options?: Options<GetUpdatesData>) =>
*/
export const downloadResticPasswordMutation = (
options?: Partial<Options<DownloadResticPasswordData>>,
): UseMutationOptions<
DownloadResticPasswordResponse,
DefaultError,
Options<DownloadResticPasswordData>
> => {
): UseMutationOptions<DownloadResticPasswordResponse, DefaultError, Options<DownloadResticPasswordData>> => {
const mutationOptions: UseMutationOptions<
DownloadResticPasswordResponse,
DefaultError,

View file

@ -1,11 +1,6 @@
// This file is auto-generated by @hey-api/openapi-ts
import {
type ClientOptions,
type Config,
createClient,
createConfig,
} from "./client";
import { type ClientOptions, type Config, createClient, createConfig } from "./client";
import type { ClientOptions as ClientOptions2 } from "./types.gen";
/**
@ -20,6 +15,4 @@ export type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (
override?: Config<ClientOptions & T>,
) => Config<Required<ClientOptions> & T>;
export const client = createClient(
createConfig<ClientOptions2>({ baseUrl: "http://localhost:4096" }),
);
export const client = createClient(createConfig<ClientOptions2>({ baseUrl: "http://localhost:4096" }));

View file

@ -2,11 +2,7 @@
export type { Auth } from "../core/auth.gen";
export type { QuerySerializerOptions } from "../core/bodySerializer.gen";
export {
formDataBodySerializer,
jsonBodySerializer,
urlSearchParamsBodySerializer,
} from "../core/bodySerializer.gen";
export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer } from "../core/bodySerializer.gen";
export { buildClientParams } from "../core/params.gen";
export { serializeQueryKeyValue } from "../core/queryKeySerializer.gen";
export { createClient } from "./client.gen";

View file

@ -1,21 +1,14 @@
// This file is auto-generated by @hey-api/openapi-ts
import type { Auth } from "../core/auth.gen";
import type {
ServerSentEventsOptions,
ServerSentEventsResult,
} from "../core/serverSentEvents.gen";
import type {
Client as CoreClient,
Config as CoreConfig,
} from "../core/types.gen";
import type { ServerSentEventsOptions, ServerSentEventsResult } from "../core/serverSentEvents.gen";
import type { Client as CoreClient, Config as CoreConfig } from "../core/types.gen";
import type { Middleware } from "./utils.gen";
export type ResponseStyle = "data" | "fields";
export interface Config<T extends ClientOptions = ClientOptions>
extends Omit<RequestInit, "body" | "headers" | "method">,
CoreConfig {
extends Omit<RequestInit, "body" | "headers" | "method">, CoreConfig {
/**
* Base URL for all requests made by this client.
*/
@ -42,14 +35,7 @@ export interface Config<T extends ClientOptions = ClientOptions>
*
* @default 'auto'
*/
parseAs?:
| "arrayBuffer"
| "auto"
| "blob"
| "formData"
| "json"
| "stream"
| "text";
parseAs?: "arrayBuffer" | "auto" | "blob" | "formData" | "json" | "stream" | "text";
/**
* Should we return only data or multiple fields (data, error, response, etc.)?
*
@ -69,17 +55,15 @@ export interface RequestOptions<
TResponseStyle extends ResponseStyle = "fields",
ThrowOnError extends boolean = boolean,
Url extends string = string,
> extends Config<{
>
extends
Config<{
responseStyle: TResponseStyle;
throwOnError: ThrowOnError;
}>,
Pick<
ServerSentEventsOptions<TData>,
| "onSseError"
| "onSseEvent"
| "sseDefaultRetryDelay"
| "sseMaxRetryAttempts"
| "sseMaxRetryDelay"
"onSseError" | "onSseEvent" | "sseDefaultRetryDelay" | "sseMaxRetryAttempts" | "sseMaxRetryDelay"
> {
/**
* Any body that you want to add to your request.
@ -116,32 +100,22 @@ export type RequestResult<
? TData[keyof TData]
: TData
: {
data: TData extends Record<string, unknown>
? TData[keyof TData]
: TData;
data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
request: Request;
response: Response;
}
>
: Promise<
TResponseStyle extends "data"
?
| (TData extends Record<string, unknown>
? TData[keyof TData]
: TData)
| undefined
? (TData extends Record<string, unknown> ? TData[keyof TData] : TData) | undefined
: (
| {
data: TData extends Record<string, unknown>
? TData[keyof TData]
: TData;
data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
error: undefined;
}
| {
data: undefined;
error: TError extends Record<string, unknown>
? TError[keyof TError]
: TError;
error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
}
) & {
request: Request;
@ -180,10 +154,7 @@ type RequestFn = <
TResponseStyle extends ResponseStyle = "fields",
>(
options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method"> &
Pick<
Required<RequestOptions<TData, TResponseStyle, ThrowOnError>>,
"method"
>,
Pick<Required<RequestOptions<TData, TResponseStyle, ThrowOnError>>, "method">,
) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
type BuildUrlFn = <
@ -197,13 +168,7 @@ type BuildUrlFn = <
options: TData & Options<TData>,
) => string;
export type Client = CoreClient<
RequestFn,
Config,
MethodFn,
BuildUrlFn,
SseFn
> & {
export type Client = CoreClient<RequestFn, Config, MethodFn, BuildUrlFn, SseFn> & {
interceptors: Middleware<Request, Response, unknown, ResolvedRequestOptions>;
};
@ -234,8 +199,5 @@ export type Options<
ThrowOnError extends boolean = boolean,
TResponse = unknown,
TResponseStyle extends ResponseStyle = "fields",
> = OmitKeys<
RequestOptions<TResponse, TResponseStyle, ThrowOnError>,
"body" | "path" | "query" | "url"
> &
> = OmitKeys<RequestOptions<TResponse, TResponseStyle, ThrowOnError>, "body" | "path" | "query" | "url"> &
([TData] extends [never] ? unknown : Omit<TData, "url">);

View file

@ -3,23 +3,11 @@
import { getAuthToken } from "../core/auth.gen";
import type { QuerySerializerOptions } from "../core/bodySerializer.gen";
import { jsonBodySerializer } from "../core/bodySerializer.gen";
import {
serializeArrayParam,
serializeObjectParam,
serializePrimitiveParam,
} from "../core/pathSerializer.gen";
import { serializeArrayParam, serializeObjectParam, serializePrimitiveParam } from "../core/pathSerializer.gen";
import { getUrl } from "../core/utils.gen";
import type {
Client,
ClientOptions,
Config,
RequestOptions,
} from "./types.gen";
import type { Client, ClientOptions, Config, RequestOptions } from "./types.gen";
export const createQuerySerializer = <T = unknown>({
parameters = {},
...args
}: QuerySerializerOptions = {}) => {
export const createQuerySerializer = <T = unknown>({ parameters = {}, ...args }: QuerySerializerOptions = {}) => {
const querySerializer = (queryParams: T) => {
const search: string[] = [];
if (queryParams && typeof queryParams === "object") {
@ -70,9 +58,7 @@ export const createQuerySerializer = <T = unknown>({
/**
* Infers parseAs value from provided Content-Type header.
*/
export const getParseAs = (
contentType: string | null,
): Exclude<Config["parseAs"], "auto"> => {
export const getParseAs = (contentType: string | null): Exclude<Config["parseAs"], "auto"> => {
if (!contentType) {
// If no Content-Type header is provided, the best we can do is return the raw response body,
// which is effectively the same as the 'stream' option.
@ -85,10 +71,7 @@ export const getParseAs = (
return;
}
if (
cleanContent.startsWith("application/json") ||
cleanContent.endsWith("+json")
) {
if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) {
return "json";
}
@ -96,11 +79,7 @@ export const getParseAs = (
return "formData";
}
if (
["application/", "audio/", "image/", "video/"].some((type) =>
cleanContent.startsWith(type),
)
) {
if (["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))) {
return "blob";
}
@ -120,11 +99,7 @@ const checkForExistence = (
if (!name) {
return false;
}
if (
options.headers.has(name) ||
options.query?.[name] ||
options.headers.get("Cookie")?.includes(`${name}=`)
) {
if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) {
return true;
}
return false;
@ -197,19 +172,14 @@ const headersEntries = (headers: Headers): Array<[string, string]> => {
return entries;
};
export const mergeHeaders = (
...headers: Array<Required<Config>["headers"] | undefined>
): Headers => {
export const mergeHeaders = (...headers: Array<Required<Config>["headers"] | undefined>): Headers => {
const mergedHeaders = new Headers();
for (const header of headers) {
if (!header) {
continue;
}
const iterator =
header instanceof Headers
? headersEntries(header)
: Object.entries(header);
const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);
for (const [key, value] of iterator) {
if (value === null) {
@ -221,10 +191,7 @@ export const mergeHeaders = (
} else if (value !== undefined) {
// assume object headers are meant to be JSON stringified, i.e. their
// content value in OpenAPI specification is 'application/json'
mergedHeaders.set(
key,
typeof value === "object" ? JSON.stringify(value) : (value as string),
);
mergedHeaders.set(key, typeof value === "object" ? JSON.stringify(value) : (value as string));
}
}
}
@ -238,16 +205,9 @@ type ErrInterceptor<Err, Res, Req, Options> = (
options: Options,
) => Err | Promise<Err>;
type ReqInterceptor<Req, Options> = (
request: Req,
options: Options,
) => Req | Promise<Req>;
type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
type ResInterceptor<Res, Req, Options> = (
response: Res,
request: Req,
options: Options,
) => Res | Promise<Res>;
type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
class Interceptors<Interceptor> {
fns: Array<Interceptor | null> = [];
@ -275,10 +235,7 @@ class Interceptors<Interceptor> {
return this.fns.indexOf(id);
}
update(
id: number | Interceptor,
fn: Interceptor,
): number | Interceptor | false {
update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
if (this.fns[index]) {
this.fns[index] = fn;
@ -299,12 +256,7 @@ export interface Middleware<Req, Res, Err, Options> {
response: Interceptors<ResInterceptor<Res, Req, Options>>;
}
export const createInterceptors = <Req, Res, Err, Options>(): Middleware<
Req,
Res,
Err,
Options
> => ({
export const createInterceptors = <Req, Res, Err, Options>(): Middleware<Req, Res, Err, Options> => ({
error: new Interceptors<ErrInterceptor<Err, Res, Req, Options>>(),
request: new Interceptors<ReqInterceptor<Req, Options>>(),
response: new Interceptors<ResInterceptor<Res, Req, Options>>(),

View file

@ -23,8 +23,7 @@ export const getAuthToken = async (
auth: Auth,
callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken,
): Promise<string | undefined> => {
const token =
typeof callback === "function" ? await callback(auth) : callback;
const token = typeof callback === "function" ? await callback(auth) : callback;
if (!token) {
return;

View file

@ -1,10 +1,6 @@
// This file is auto-generated by @hey-api/openapi-ts
import type {
ArrayStyle,
ObjectStyle,
SerializerOptions,
} from "./pathSerializer.gen";
import type { ArrayStyle, ObjectStyle, SerializerOptions } from "./pathSerializer.gen";
export type QuerySerializer = (query: Record<string, unknown>) => string;
@ -24,11 +20,7 @@ export type QuerySerializerOptions = QuerySerializerOptionsObject & {
parameters?: Record<string, QuerySerializerOptionsObject>;
};
const serializeFormDataPair = (
data: FormData,
key: string,
value: unknown,
): void => {
const serializeFormDataPair = (data: FormData, key: string, value: unknown): void => {
if (typeof value === "string" || value instanceof Blob) {
data.append(key, value);
} else if (value instanceof Date) {
@ -38,11 +30,7 @@ const serializeFormDataPair = (
}
};
const serializeUrlSearchParamsPair = (
data: URLSearchParams,
key: string,
value: unknown,
): void => {
const serializeUrlSearchParamsPair = (data: URLSearchParams, key: string, value: unknown): void => {
if (typeof value === "string") {
data.append(key, value);
} else {
@ -51,9 +39,7 @@ const serializeUrlSearchParamsPair = (
};
export const formDataBodySerializer = {
bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(
body: T,
): FormData => {
bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T): FormData => {
const data = new FormData();
Object.entries(body).forEach(([key, value]) => {
@ -73,15 +59,11 @@ export const formDataBodySerializer = {
export const jsonBodySerializer = {
bodySerializer: <T>(body: T): string =>
JSON.stringify(body, (_key, value) =>
typeof value === "bigint" ? value.toString() : value,
),
JSON.stringify(body, (_key, value) => (typeof value === "bigint" ? value.toString() : value)),
};
export const urlSearchParamsBodySerializer = {
bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(
body: T,
): string => {
bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T): string => {
const data = new URLSearchParams();
Object.entries(body).forEach(([key, value]) => {

View file

@ -102,10 +102,7 @@ const stripEmptySlots = (params: Params) => {
}
};
export const buildClientParams = (
args: ReadonlyArray<unknown>,
fields: FieldsConfig,
) => {
export const buildClientParams = (args: ReadonlyArray<unknown>, fields: FieldsConfig) => {
const params: Params = {
body: {},
headers: {},
@ -148,15 +145,11 @@ export const buildClientParams = (
params[field.map] = value;
}
} else {
const extra = extraPrefixes.find(([prefix]) =>
key.startsWith(prefix),
);
const extra = extraPrefixes.find(([prefix]) => key.startsWith(prefix));
if (extra) {
const [prefix, slot] = extra;
(params[slot] as Record<string, unknown>)[
key.slice(prefix.length)
] = value;
(params[slot] as Record<string, unknown>)[key.slice(prefix.length)] = value;
} else if ("allowExtra" in config && config.allowExtra) {
for (const [slot, allowed] of Object.entries(config.allowExtra)) {
if (allowed) {

View file

@ -1,8 +1,6 @@
// This file is auto-generated by @hey-api/openapi-ts
interface SerializeOptions<T>
extends SerializePrimitiveOptions,
SerializerOptions<T> {}
interface SerializeOptions<T> extends SerializePrimitiveOptions, SerializerOptions<T> {}
interface SerializePrimitiveOptions {
allowReserved?: boolean;
@ -76,9 +74,9 @@ export const serializeArrayParam = ({
value: unknown[];
}) => {
if (!explode) {
const joinedValues = (
allowReserved ? value : value.map((v) => encodeURIComponent(v as string))
).join(separatorArrayNoExplode(style));
const joinedValues = (allowReserved ? value : value.map((v) => encodeURIComponent(v as string))).join(
separatorArrayNoExplode(style),
);
switch (style) {
case "label":
return `.${joinedValues}`;
@ -105,16 +103,10 @@ export const serializeArrayParam = ({
});
})
.join(separator);
return style === "label" || style === "matrix"
? separator + joinedValues
: joinedValues;
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
};
export const serializePrimitiveParam = ({
allowReserved,
name,
value,
}: SerializePrimitiveParam) => {
export const serializePrimitiveParam = ({ allowReserved, name, value }: SerializePrimitiveParam) => {
if (value === undefined || value === null) {
return "";
}
@ -146,11 +138,7 @@ export const serializeObjectParam = ({
if (style !== "deepObject" && !explode) {
let values: string[] = [];
Object.entries(value).forEach(([key, v]) => {
values = [
...values,
key,
allowReserved ? (v as string) : encodeURIComponent(v as string),
];
values = [...values, key, allowReserved ? (v as string) : encodeURIComponent(v as string)];
});
const joinedValues = values.join(",");
switch (style) {
@ -175,7 +163,5 @@ export const serializeObjectParam = ({
}),
)
.join(separator);
return style === "label" || style === "matrix"
? separator + joinedValues
: joinedValues;
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
};

View file

@ -3,23 +3,13 @@
/**
* JSON-friendly union that mirrors what Pinia Colada can hash.
*/
export type JsonValue =
| null
| string
| number
| boolean
| JsonValue[]
| { [key: string]: JsonValue };
export type JsonValue = null | string | number | boolean | JsonValue[] | { [key: string]: JsonValue };
/**
* Replacer that converts non-JSON values (bigint, Date, etc.) to safe substitutes.
*/
export const queryKeyJsonReplacer = (_key: string, value: unknown) => {
if (
value === undefined ||
typeof value === "function" ||
typeof value === "symbol"
) {
if (value === undefined || typeof value === "function" || typeof value === "symbol") {
return undefined;
}
if (typeof value === "bigint") {
@ -61,9 +51,7 @@ const isPlainObject = (value: unknown): value is Record<string, unknown> => {
* Turns URLSearchParams into a sorted JSON object for deterministic keys.
*/
const serializeSearchParams = (params: URLSearchParams): JsonValue => {
const entries = Array.from(params.entries()).sort(([a], [b]) =>
a.localeCompare(b),
);
const entries = Array.from(params.entries()).sort(([a], [b]) => a.localeCompare(b));
const result: Record<string, JsonValue> = {};
for (const [key, value] of entries) {
@ -86,26 +74,16 @@ const serializeSearchParams = (params: URLSearchParams): JsonValue => {
/**
* Normalizes any accepted value into a JSON-friendly shape for query keys.
*/
export const serializeQueryKeyValue = (
value: unknown,
): JsonValue | undefined => {
export const serializeQueryKeyValue = (value: unknown): JsonValue | undefined => {
if (value === null) {
return null;
}
if (
typeof value === "string" ||
typeof value === "number" ||
typeof value === "boolean"
) {
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
return value;
}
if (
value === undefined ||
typeof value === "function" ||
typeof value === "symbol"
) {
if (value === undefined || typeof value === "function" || typeof value === "symbol") {
return undefined;
}
@ -121,10 +99,7 @@ export const serializeQueryKeyValue = (
return stringifyToJsonValue(value);
}
if (
typeof URLSearchParams !== "undefined" &&
value instanceof URLSearchParams
) {
if (typeof URLSearchParams !== "undefined" && value instanceof URLSearchParams) {
return serializeSearchParams(value);
}

View file

@ -2,10 +2,7 @@
import type { Config } from "./types.gen";
export type ServerSentEventsOptions<TData = unknown> = Omit<
RequestInit,
"method"
> &
export type ServerSentEventsOptions<TData = unknown> = Omit<RequestInit, "method"> &
Pick<Config, "method" | "responseTransformer" | "responseValidator"> & {
/**
* Fetch API implementation. You can use this option to provide a custom
@ -74,16 +71,8 @@ export interface StreamEvent<TData = unknown> {
retry?: number;
}
export type ServerSentEventsResult<
TData = unknown,
TReturn = void,
TNext = unknown,
> = {
stream: AsyncGenerator<
TData extends Record<string, unknown> ? TData[keyof TData] : TData,
TReturn,
TNext
>;
export type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {
stream: AsyncGenerator<TData extends Record<string, unknown> ? TData[keyof TData] : TData, TReturn, TNext>;
};
export const createSseClient = <TData = unknown>({
@ -101,9 +90,7 @@ export const createSseClient = <TData = unknown>({
}: ServerSentEventsOptions): ServerSentEventsResult<TData> => {
let lastEventId: string | undefined;
const sleep =
sseSleepFn ??
((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));
const sleep = sseSleepFn ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));
const createStream = async function* () {
let retryDelay: number = sseDefaultRetryDelay ?? 3000;
@ -141,16 +128,11 @@ export const createSseClient = <TData = unknown>({
const _fetch = options.fetch ?? globalThis.fetch;
const response = await _fetch(request);
if (!response.ok)
throw new Error(
`SSE failed: ${response.status} ${response.statusText}`,
);
if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`);
if (!response.body) throw new Error("No body in SSE response");
const reader = response.body
.pipeThrough(new TextDecoderStream())
.getReader();
const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
let buffer = "";
@ -188,10 +170,7 @@ export const createSseClient = <TData = unknown>({
} else if (line.startsWith("id:")) {
lastEventId = line.replace(/^id:\s*/, "");
} else if (line.startsWith("retry:")) {
const parsed = Number.parseInt(
line.replace(/^retry:\s*/, ""),
10,
);
const parsed = Number.parseInt(line.replace(/^retry:\s*/, ""), 10);
if (!Number.isNaN(parsed)) {
retryDelay = parsed;
}
@ -243,18 +222,12 @@ export const createSseClient = <TData = unknown>({
// connection failed or aborted; retry after delay
onSseError?.(error);
if (
sseMaxRetryAttempts !== undefined &&
attempt >= sseMaxRetryAttempts
) {
if (sseMaxRetryAttempts !== undefined && attempt >= sseMaxRetryAttempts) {
break; // stop after firing error
}
// exponential backoff: double retry each attempt, cap at 30s
const backoff = Math.min(
retryDelay * 2 ** (attempt - 1),
sseMaxRetryDelay ?? 30000,
);
const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 30000);
await sleep(backoff);
}
}

View file

@ -1,30 +1,11 @@
// This file is auto-generated by @hey-api/openapi-ts
import type { Auth, AuthToken } from "./auth.gen";
import type {
BodySerializer,
QuerySerializer,
QuerySerializerOptions,
} from "./bodySerializer.gen";
import type { BodySerializer, QuerySerializer, QuerySerializerOptions } from "./bodySerializer.gen";
export type HttpMethod =
| "connect"
| "delete"
| "get"
| "head"
| "options"
| "patch"
| "post"
| "put"
| "trace";
export type HttpMethod = "connect" | "delete" | "get" | "head" | "options" | "patch" | "post" | "put" | "trace";
export type Client<
RequestFn = never,
Config = unknown,
MethodFn = never,
BuildUrlFn = never,
SseFn = never,
> = {
export type Client<RequestFn = never, Config = unknown, MethodFn = never, BuildUrlFn = never, SseFn = never> = {
/**
* Returns the final request URL.
*/
@ -34,9 +15,7 @@ export type Client<
setConfig: (config: Config) => Config;
} & {
[K in HttpMethod]: MethodFn;
} & ([SseFn] extends [never]
? { sse?: never }
: { sse: { [K in HttpMethod]: SseFn } });
} & ([SseFn] extends [never] ? { sse?: never } : { sse: { [K in HttpMethod]: SseFn } });
export interface Config {
/**
@ -57,16 +36,7 @@ export interface Config {
*/
headers?:
| RequestInit["headers"]
| Record<
string,
| string
| number
| boolean
| (string | number | boolean)[]
| null
| undefined
| unknown
>;
| Record<string, string | number | boolean | (string | number | boolean)[] | null | undefined | unknown>;
/**
* The request method.
*
@ -112,7 +82,5 @@ type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never]
: false;
export type OmitNever<T extends Record<string, unknown>> = {
[K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true
? never
: K]: T[K];
[K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true ? never : K]: T[K];
};

View file

@ -44,10 +44,7 @@ export const defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {
}
if (Array.isArray(value)) {
url = url.replace(
match,
serializeArrayParam({ explode, name, style, value }),
);
url = url.replace(match, serializeArrayParam({ explode, name, style, value }));
continue;
}
@ -76,9 +73,7 @@ export const defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {
continue;
}
const replaceValue = encodeURIComponent(
style === "label" ? `.${value as string}` : (value as string),
);
const replaceValue = encodeURIComponent(style === "label" ? `.${value as string}` : (value as string));
url = url.replace(match, replaceValue);
}
}
@ -123,8 +118,7 @@ export function getValidRequestBody(options: {
if (isSerializedBody) {
if ("serializedBody" in options) {
const hasSerializedBody =
options.serializedBody !== undefined && options.serializedBody !== "";
const hasSerializedBody = options.serializedBody !== undefined && options.serializedBody !== "";
return hasSerializedBody ? options.serializedBody : null;
}

View file

@ -114,10 +114,10 @@ import type {
UpdateVolumeResponses,
} from "./types.gen";
export type Options<
TData extends TDataShape = TDataShape,
ThrowOnError extends boolean = boolean,
> = Options2<TData, ThrowOnError> & {
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<
TData,
ThrowOnError
> & {
/**
* You can provide a client instance returned by `createClient()` instead of
* individual options. This might be also useful if you want to implement a
@ -134,9 +134,7 @@ export type Options<
/**
* Get authentication system status
*/
export const getStatus = <ThrowOnError extends boolean = false>(
options?: Options<GetStatusData, ThrowOnError>,
) =>
export const getStatus = <ThrowOnError extends boolean = false>(options?: Options<GetStatusData, ThrowOnError>) =>
(options?.client ?? client).get<GetStatusResponses, unknown, ThrowOnError>({
url: "/api/v1/auth/status",
...options,
@ -145,25 +143,14 @@ export const getStatus = <ThrowOnError extends boolean = false>(
/**
* List all volumes
*/
export const listVolumes = <ThrowOnError extends boolean = false>(
options?: Options<ListVolumesData, ThrowOnError>,
) =>
(options?.client ?? client).get<ListVolumesResponses, unknown, ThrowOnError>({
url: "/api/v1/volumes",
...options,
});
export const listVolumes = <ThrowOnError extends boolean = false>(options?: Options<ListVolumesData, ThrowOnError>) =>
(options?.client ?? client).get<ListVolumesResponses, unknown, ThrowOnError>({ url: "/api/v1/volumes", ...options });
/**
* Create a new volume
*/
export const createVolume = <ThrowOnError extends boolean = false>(
options?: Options<CreateVolumeData, ThrowOnError>,
) =>
(options?.client ?? client).post<
CreateVolumeResponses,
unknown,
ThrowOnError
>({
export const createVolume = <ThrowOnError extends boolean = false>(options?: Options<CreateVolumeData, ThrowOnError>) =>
(options?.client ?? client).post<CreateVolumeResponses, unknown, ThrowOnError>({
url: "/api/v1/volumes",
...options,
headers: {
@ -178,11 +165,7 @@ export const createVolume = <ThrowOnError extends boolean = false>(
export const testConnection = <ThrowOnError extends boolean = false>(
options?: Options<TestConnectionData, ThrowOnError>,
) =>
(options?.client ?? client).post<
TestConnectionResponses,
unknown,
ThrowOnError
>({
(options?.client ?? client).post<TestConnectionResponses, unknown, ThrowOnError>({
url: "/api/v1/volumes/test-connection",
...options,
headers: {
@ -194,38 +177,26 @@ export const testConnection = <ThrowOnError extends boolean = false>(
/**
* Delete a volume
*/
export const deleteVolume = <ThrowOnError extends boolean = false>(
options: Options<DeleteVolumeData, ThrowOnError>,
) =>
(options.client ?? client).delete<
DeleteVolumeResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/volumes/{name}", ...options });
export const deleteVolume = <ThrowOnError extends boolean = false>(options: Options<DeleteVolumeData, ThrowOnError>) =>
(options.client ?? client).delete<DeleteVolumeResponses, unknown, ThrowOnError>({
url: "/api/v1/volumes/{name}",
...options,
});
/**
* Get a volume by name
*/
export const getVolume = <ThrowOnError extends boolean = false>(
options: Options<GetVolumeData, ThrowOnError>,
) =>
(options.client ?? client).get<
GetVolumeResponses,
GetVolumeErrors,
ThrowOnError
>({ url: "/api/v1/volumes/{name}", ...options });
export const getVolume = <ThrowOnError extends boolean = false>(options: Options<GetVolumeData, ThrowOnError>) =>
(options.client ?? client).get<GetVolumeResponses, GetVolumeErrors, ThrowOnError>({
url: "/api/v1/volumes/{name}",
...options,
});
/**
* Update a volume's configuration
*/
export const updateVolume = <ThrowOnError extends boolean = false>(
options: Options<UpdateVolumeData, ThrowOnError>,
) =>
(options.client ?? client).put<
UpdateVolumeResponses,
UpdateVolumeErrors,
ThrowOnError
>({
export const updateVolume = <ThrowOnError extends boolean = false>(options: Options<UpdateVolumeData, ThrowOnError>) =>
(options.client ?? client).put<UpdateVolumeResponses, UpdateVolumeErrors, ThrowOnError>({
url: "/api/v1/volumes/{name}",
...options,
headers: {
@ -237,9 +208,7 @@ export const updateVolume = <ThrowOnError extends boolean = false>(
/**
* Mount a volume
*/
export const mountVolume = <ThrowOnError extends boolean = false>(
options: Options<MountVolumeData, ThrowOnError>,
) =>
export const mountVolume = <ThrowOnError extends boolean = false>(options: Options<MountVolumeData, ThrowOnError>) =>
(options.client ?? client).post<MountVolumeResponses, unknown, ThrowOnError>({
url: "/api/v1/volumes/{name}/mount",
...options,
@ -251,11 +220,10 @@ export const mountVolume = <ThrowOnError extends boolean = false>(
export const unmountVolume = <ThrowOnError extends boolean = false>(
options: Options<UnmountVolumeData, ThrowOnError>,
) =>
(options.client ?? client).post<
UnmountVolumeResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/volumes/{name}/unmount", ...options });
(options.client ?? client).post<UnmountVolumeResponses, unknown, ThrowOnError>({
url: "/api/v1/volumes/{name}/unmount",
...options,
});
/**
* Perform a health check on a volume
@ -263,18 +231,15 @@ export const unmountVolume = <ThrowOnError extends boolean = false>(
export const healthCheckVolume = <ThrowOnError extends boolean = false>(
options: Options<HealthCheckVolumeData, ThrowOnError>,
) =>
(options.client ?? client).post<
HealthCheckVolumeResponses,
HealthCheckVolumeErrors,
ThrowOnError
>({ url: "/api/v1/volumes/{name}/health-check", ...options });
(options.client ?? client).post<HealthCheckVolumeResponses, HealthCheckVolumeErrors, ThrowOnError>({
url: "/api/v1/volumes/{name}/health-check",
...options,
});
/**
* List files in a volume directory
*/
export const listFiles = <ThrowOnError extends boolean = false>(
options: Options<ListFilesData, ThrowOnError>,
) =>
export const listFiles = <ThrowOnError extends boolean = false>(options: Options<ListFilesData, ThrowOnError>) =>
(options.client ?? client).get<ListFilesResponses, unknown, ThrowOnError>({
url: "/api/v1/volumes/{name}/files",
...options,
@ -286,11 +251,10 @@ export const listFiles = <ThrowOnError extends boolean = false>(
export const browseFilesystem = <ThrowOnError extends boolean = false>(
options?: Options<BrowseFilesystemData, ThrowOnError>,
) =>
(options?.client ?? client).get<
BrowseFilesystemResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/volumes/filesystem/browse", ...options });
(options?.client ?? client).get<BrowseFilesystemResponses, unknown, ThrowOnError>({
url: "/api/v1/volumes/filesystem/browse",
...options,
});
/**
* List all repositories
@ -298,11 +262,10 @@ export const browseFilesystem = <ThrowOnError extends boolean = false>(
export const listRepositories = <ThrowOnError extends boolean = false>(
options?: Options<ListRepositoriesData, ThrowOnError>,
) =>
(options?.client ?? client).get<
ListRepositoriesResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/repositories", ...options });
(options?.client ?? client).get<ListRepositoriesResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories",
...options,
});
/**
* Create a new restic repository
@ -310,11 +273,7 @@ export const listRepositories = <ThrowOnError extends boolean = false>(
export const createRepository = <ThrowOnError extends boolean = false>(
options?: Options<CreateRepositoryData, ThrowOnError>,
) =>
(options?.client ?? client).post<
CreateRepositoryResponses,
unknown,
ThrowOnError
>({
(options?.client ?? client).post<CreateRepositoryResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories",
...options,
headers: {
@ -329,11 +288,10 @@ export const createRepository = <ThrowOnError extends boolean = false>(
export const listRcloneRemotes = <ThrowOnError extends boolean = false>(
options?: Options<ListRcloneRemotesData, ThrowOnError>,
) =>
(options?.client ?? client).get<
ListRcloneRemotesResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/repositories/rclone-remotes", ...options });
(options?.client ?? client).get<ListRcloneRemotesResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/rclone-remotes",
...options,
});
/**
* Delete a repository
@ -341,11 +299,10 @@ export const listRcloneRemotes = <ThrowOnError extends boolean = false>(
export const deleteRepository = <ThrowOnError extends boolean = false>(
options: Options<DeleteRepositoryData, ThrowOnError>,
) =>
(options.client ?? client).delete<
DeleteRepositoryResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/repositories/{id}", ...options });
(options.client ?? client).delete<DeleteRepositoryResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/{id}",
...options,
});
/**
* Get a single repository by ID
@ -353,9 +310,10 @@ export const deleteRepository = <ThrowOnError extends boolean = false>(
export const getRepository = <ThrowOnError extends boolean = false>(
options: Options<GetRepositoryData, ThrowOnError>,
) =>
(options.client ?? client).get<GetRepositoryResponses, unknown, ThrowOnError>(
{ url: "/api/v1/repositories/{id}", ...options },
);
(options.client ?? client).get<GetRepositoryResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/{id}",
...options,
});
/**
* Update a repository's name or settings
@ -363,11 +321,7 @@ export const getRepository = <ThrowOnError extends boolean = false>(
export const updateRepository = <ThrowOnError extends boolean = false>(
options: Options<UpdateRepositoryData, ThrowOnError>,
) =>
(options.client ?? client).patch<
UpdateRepositoryResponses,
UpdateRepositoryErrors,
ThrowOnError
>({
(options.client ?? client).patch<UpdateRepositoryResponses, UpdateRepositoryErrors, ThrowOnError>({
url: "/api/v1/repositories/{id}",
...options,
headers: {
@ -382,11 +336,7 @@ export const updateRepository = <ThrowOnError extends boolean = false>(
export const deleteSnapshots = <ThrowOnError extends boolean = false>(
options: Options<DeleteSnapshotsData, ThrowOnError>,
) =>
(options.client ?? client).delete<
DeleteSnapshotsResponses,
unknown,
ThrowOnError
>({
(options.client ?? client).delete<DeleteSnapshotsResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/{id}/snapshots",
...options,
headers: {
@ -401,9 +351,10 @@ export const deleteSnapshots = <ThrowOnError extends boolean = false>(
export const listSnapshots = <ThrowOnError extends boolean = false>(
options: Options<ListSnapshotsData, ThrowOnError>,
) =>
(options.client ?? client).get<ListSnapshotsResponses, unknown, ThrowOnError>(
{ url: "/api/v1/repositories/{id}/snapshots", ...options },
);
(options.client ?? client).get<ListSnapshotsResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/{id}/snapshots",
...options,
});
/**
* Delete a specific snapshot from a repository
@ -411,11 +362,10 @@ export const listSnapshots = <ThrowOnError extends boolean = false>(
export const deleteSnapshot = <ThrowOnError extends boolean = false>(
options: Options<DeleteSnapshotData, ThrowOnError>,
) =>
(options.client ?? client).delete<
DeleteSnapshotResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/repositories/{id}/snapshots/{snapshotId}", ...options });
(options.client ?? client).delete<DeleteSnapshotResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/{id}/snapshots/{snapshotId}",
...options,
});
/**
* Get details of a specific snapshot
@ -423,11 +373,10 @@ export const deleteSnapshot = <ThrowOnError extends boolean = false>(
export const getSnapshotDetails = <ThrowOnError extends boolean = false>(
options: Options<GetSnapshotDetailsData, ThrowOnError>,
) =>
(options.client ?? client).get<
GetSnapshotDetailsResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/repositories/{id}/snapshots/{snapshotId}", ...options });
(options.client ?? client).get<GetSnapshotDetailsResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/{id}/snapshots/{snapshotId}",
...options,
});
/**
* List files and directories in a snapshot
@ -435,11 +384,7 @@ export const getSnapshotDetails = <ThrowOnError extends boolean = false>(
export const listSnapshotFiles = <ThrowOnError extends boolean = false>(
options: Options<ListSnapshotFilesData, ThrowOnError>,
) =>
(options.client ?? client).get<
ListSnapshotFilesResponses,
unknown,
ThrowOnError
>({
(options.client ?? client).get<ListSnapshotFilesResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/{id}/snapshots/{snapshotId}/files",
...options,
});
@ -450,11 +395,7 @@ export const listSnapshotFiles = <ThrowOnError extends boolean = false>(
export const restoreSnapshot = <ThrowOnError extends boolean = false>(
options: Options<RestoreSnapshotData, ThrowOnError>,
) =>
(options.client ?? client).post<
RestoreSnapshotResponses,
unknown,
ThrowOnError
>({
(options.client ?? client).post<RestoreSnapshotResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/{id}/restore",
...options,
headers: {
@ -469,28 +410,23 @@ export const restoreSnapshot = <ThrowOnError extends boolean = false>(
export const doctorRepository = <ThrowOnError extends boolean = false>(
options: Options<DoctorRepositoryData, ThrowOnError>,
) =>
(options.client ?? client).post<
DoctorRepositoryResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/repositories/{id}/doctor", ...options });
(options.client ?? client).post<DoctorRepositoryResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/{id}/doctor",
...options,
});
/**
* Tag multiple snapshots in a repository
*/
export const tagSnapshots = <ThrowOnError extends boolean = false>(
options: Options<TagSnapshotsData, ThrowOnError>,
) =>
(options.client ?? client).post<TagSnapshotsResponses, unknown, ThrowOnError>(
{
url: "/api/v1/repositories/{id}/snapshots/tag",
...options,
headers: {
"Content-Type": "application/json",
...options.headers,
},
export const tagSnapshots = <ThrowOnError extends boolean = false>(options: Options<TagSnapshotsData, ThrowOnError>) =>
(options.client ?? client).post<TagSnapshotsResponses, unknown, ThrowOnError>({
url: "/api/v1/repositories/{id}/snapshots/tag",
...options,
headers: {
"Content-Type": "application/json",
...options.headers,
},
);
});
/**
* List all backup schedules
@ -498,11 +434,10 @@ export const tagSnapshots = <ThrowOnError extends boolean = false>(
export const listBackupSchedules = <ThrowOnError extends boolean = false>(
options?: Options<ListBackupSchedulesData, ThrowOnError>,
) =>
(options?.client ?? client).get<
ListBackupSchedulesResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/backups", ...options });
(options?.client ?? client).get<ListBackupSchedulesResponses, unknown, ThrowOnError>({
url: "/api/v1/backups",
...options,
});
/**
* Create a new backup schedule for a volume
@ -510,11 +445,7 @@ export const listBackupSchedules = <ThrowOnError extends boolean = false>(
export const createBackupSchedule = <ThrowOnError extends boolean = false>(
options?: Options<CreateBackupScheduleData, ThrowOnError>,
) =>
(options?.client ?? client).post<
CreateBackupScheduleResponses,
unknown,
ThrowOnError
>({
(options?.client ?? client).post<CreateBackupScheduleResponses, unknown, ThrowOnError>({
url: "/api/v1/backups",
...options,
headers: {
@ -529,11 +460,10 @@ export const createBackupSchedule = <ThrowOnError extends boolean = false>(
export const deleteBackupSchedule = <ThrowOnError extends boolean = false>(
options: Options<DeleteBackupScheduleData, ThrowOnError>,
) =>
(options.client ?? client).delete<
DeleteBackupScheduleResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/backups/{scheduleId}", ...options });
(options.client ?? client).delete<DeleteBackupScheduleResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}",
...options,
});
/**
* Get a backup schedule by ID
@ -541,11 +471,10 @@ export const deleteBackupSchedule = <ThrowOnError extends boolean = false>(
export const getBackupSchedule = <ThrowOnError extends boolean = false>(
options: Options<GetBackupScheduleData, ThrowOnError>,
) =>
(options.client ?? client).get<
GetBackupScheduleResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/backups/{scheduleId}", ...options });
(options.client ?? client).get<GetBackupScheduleResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}",
...options,
});
/**
* Update a backup schedule
@ -553,11 +482,7 @@ export const getBackupSchedule = <ThrowOnError extends boolean = false>(
export const updateBackupSchedule = <ThrowOnError extends boolean = false>(
options: Options<UpdateBackupScheduleData, ThrowOnError>,
) =>
(options.client ?? client).patch<
UpdateBackupScheduleResponses,
unknown,
ThrowOnError
>({
(options.client ?? client).patch<UpdateBackupScheduleResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}",
...options,
headers: {
@ -569,45 +494,36 @@ export const updateBackupSchedule = <ThrowOnError extends boolean = false>(
/**
* Get a backup schedule for a specific volume
*/
export const getBackupScheduleForVolume = <
ThrowOnError extends boolean = false,
>(
export const getBackupScheduleForVolume = <ThrowOnError extends boolean = false>(
options: Options<GetBackupScheduleForVolumeData, ThrowOnError>,
) =>
(options.client ?? client).get<
GetBackupScheduleForVolumeResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/backups/volume/{volumeId}", ...options });
(options.client ?? client).get<GetBackupScheduleForVolumeResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/volume/{volumeId}",
...options,
});
/**
* Trigger a backup immediately for a schedule
*/
export const runBackupNow = <ThrowOnError extends boolean = false>(
options: Options<RunBackupNowData, ThrowOnError>,
) =>
(options.client ?? client).post<RunBackupNowResponses, unknown, ThrowOnError>(
{ url: "/api/v1/backups/{scheduleId}/run", ...options },
);
export const runBackupNow = <ThrowOnError extends boolean = false>(options: Options<RunBackupNowData, ThrowOnError>) =>
(options.client ?? client).post<RunBackupNowResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}/run",
...options,
});
/**
* Stop a backup that is currently in progress
*/
export const stopBackup = <ThrowOnError extends boolean = false>(
options: Options<StopBackupData, ThrowOnError>,
) =>
(options.client ?? client).post<
StopBackupResponses,
StopBackupErrors,
ThrowOnError
>({ url: "/api/v1/backups/{scheduleId}/stop", ...options });
export const stopBackup = <ThrowOnError extends boolean = false>(options: Options<StopBackupData, ThrowOnError>) =>
(options.client ?? client).post<StopBackupResponses, StopBackupErrors, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}/stop",
...options,
});
/**
* Manually apply retention policy to clean up old snapshots
*/
export const runForget = <ThrowOnError extends boolean = false>(
options: Options<RunForgetData, ThrowOnError>,
) =>
export const runForget = <ThrowOnError extends boolean = false>(options: Options<RunForgetData, ThrowOnError>) =>
(options.client ?? client).post<RunForgetResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}/forget",
...options,
@ -619,25 +535,18 @@ export const runForget = <ThrowOnError extends boolean = false>(
export const getScheduleNotifications = <ThrowOnError extends boolean = false>(
options: Options<GetScheduleNotificationsData, ThrowOnError>,
) =>
(options.client ?? client).get<
GetScheduleNotificationsResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/backups/{scheduleId}/notifications", ...options });
(options.client ?? client).get<GetScheduleNotificationsResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}/notifications",
...options,
});
/**
* Update notification assignments for a backup schedule
*/
export const updateScheduleNotifications = <
ThrowOnError extends boolean = false,
>(
export const updateScheduleNotifications = <ThrowOnError extends boolean = false>(
options: Options<UpdateScheduleNotificationsData, ThrowOnError>,
) =>
(options.client ?? client).put<
UpdateScheduleNotificationsResponses,
unknown,
ThrowOnError
>({
(options.client ?? client).put<UpdateScheduleNotificationsResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}/notifications",
...options,
headers: {
@ -652,11 +561,10 @@ export const updateScheduleNotifications = <
export const getScheduleMirrors = <ThrowOnError extends boolean = false>(
options: Options<GetScheduleMirrorsData, ThrowOnError>,
) =>
(options.client ?? client).get<
GetScheduleMirrorsResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/backups/{scheduleId}/mirrors", ...options });
(options.client ?? client).get<GetScheduleMirrorsResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}/mirrors",
...options,
});
/**
* Update mirror repository assignments for a backup schedule
@ -664,11 +572,7 @@ export const getScheduleMirrors = <ThrowOnError extends boolean = false>(
export const updateScheduleMirrors = <ThrowOnError extends boolean = false>(
options: Options<UpdateScheduleMirrorsData, ThrowOnError>,
) =>
(options.client ?? client).put<
UpdateScheduleMirrorsResponses,
unknown,
ThrowOnError
>({
(options.client ?? client).put<UpdateScheduleMirrorsResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}/mirrors",
...options,
headers: {
@ -683,11 +587,10 @@ export const updateScheduleMirrors = <ThrowOnError extends boolean = false>(
export const getMirrorCompatibility = <ThrowOnError extends boolean = false>(
options: Options<GetMirrorCompatibilityData, ThrowOnError>,
) =>
(options.client ?? client).get<
GetMirrorCompatibilityResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/backups/{scheduleId}/mirrors/compatibility", ...options });
(options.client ?? client).get<GetMirrorCompatibilityResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/{scheduleId}/mirrors/compatibility",
...options,
});
/**
* Reorder backup schedules by providing an array of schedule IDs in the desired order
@ -695,11 +598,7 @@ export const getMirrorCompatibility = <ThrowOnError extends boolean = false>(
export const reorderBackupSchedules = <ThrowOnError extends boolean = false>(
options?: Options<ReorderBackupSchedulesData, ThrowOnError>,
) =>
(options?.client ?? client).post<
ReorderBackupSchedulesResponses,
unknown,
ThrowOnError
>({
(options?.client ?? client).post<ReorderBackupSchedulesResponses, unknown, ThrowOnError>({
url: "/api/v1/backups/reorder",
...options,
headers: {
@ -711,30 +610,21 @@ export const reorderBackupSchedules = <ThrowOnError extends boolean = false>(
/**
* List all notification destinations
*/
export const listNotificationDestinations = <
ThrowOnError extends boolean = false,
>(
export const listNotificationDestinations = <ThrowOnError extends boolean = false>(
options?: Options<ListNotificationDestinationsData, ThrowOnError>,
) =>
(options?.client ?? client).get<
ListNotificationDestinationsResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/notifications/destinations", ...options });
(options?.client ?? client).get<ListNotificationDestinationsResponses, unknown, ThrowOnError>({
url: "/api/v1/notifications/destinations",
...options,
});
/**
* Create a new notification destination
*/
export const createNotificationDestination = <
ThrowOnError extends boolean = false,
>(
export const createNotificationDestination = <ThrowOnError extends boolean = false>(
options?: Options<CreateNotificationDestinationData, ThrowOnError>,
) =>
(options?.client ?? client).post<
CreateNotificationDestinationResponses,
unknown,
ThrowOnError
>({
(options?.client ?? client).post<CreateNotificationDestinationResponses, unknown, ThrowOnError>({
url: "/api/v1/notifications/destinations",
...options,
headers: {
@ -746,9 +636,7 @@ export const createNotificationDestination = <
/**
* Delete a notification destination
*/
export const deleteNotificationDestination = <
ThrowOnError extends boolean = false,
>(
export const deleteNotificationDestination = <ThrowOnError extends boolean = false>(
options: Options<DeleteNotificationDestinationData, ThrowOnError>,
) =>
(options.client ?? client).delete<
@ -760,23 +648,18 @@ export const deleteNotificationDestination = <
/**
* Get a notification destination by ID
*/
export const getNotificationDestination = <
ThrowOnError extends boolean = false,
>(
export const getNotificationDestination = <ThrowOnError extends boolean = false>(
options: Options<GetNotificationDestinationData, ThrowOnError>,
) =>
(options.client ?? client).get<
GetNotificationDestinationResponses,
GetNotificationDestinationErrors,
ThrowOnError
>({ url: "/api/v1/notifications/destinations/{id}", ...options });
(options.client ?? client).get<GetNotificationDestinationResponses, GetNotificationDestinationErrors, ThrowOnError>({
url: "/api/v1/notifications/destinations/{id}",
...options,
});
/**
* Update a notification destination
*/
export const updateNotificationDestination = <
ThrowOnError extends boolean = false,
>(
export const updateNotificationDestination = <ThrowOnError extends boolean = false>(
options: Options<UpdateNotificationDestinationData, ThrowOnError>,
) =>
(options.client ?? client).patch<
@ -795,9 +678,7 @@ export const updateNotificationDestination = <
/**
* Test a notification destination by sending a test message
*/
export const testNotificationDestination = <
ThrowOnError extends boolean = false,
>(
export const testNotificationDestination = <ThrowOnError extends boolean = false>(
options: Options<TestNotificationDestinationData, ThrowOnError>,
) =>
(options.client ?? client).post<
@ -812,18 +693,15 @@ export const testNotificationDestination = <
export const getSystemInfo = <ThrowOnError extends boolean = false>(
options?: Options<GetSystemInfoData, ThrowOnError>,
) =>
(options?.client ?? client).get<
GetSystemInfoResponses,
unknown,
ThrowOnError
>({ url: "/api/v1/system/info", ...options });
(options?.client ?? client).get<GetSystemInfoResponses, unknown, ThrowOnError>({
url: "/api/v1/system/info",
...options,
});
/**
* Check for application updates from GitHub
*/
export const getUpdates = <ThrowOnError extends boolean = false>(
options?: Options<GetUpdatesData, ThrowOnError>,
) =>
export const getUpdates = <ThrowOnError extends boolean = false>(options?: Options<GetUpdatesData, ThrowOnError>) =>
(options?.client ?? client).get<GetUpdatesResponses, unknown, ThrowOnError>({
url: "/api/v1/system/updates",
...options,
@ -835,11 +713,7 @@ export const getUpdates = <ThrowOnError extends boolean = false>(
export const downloadResticPassword = <ThrowOnError extends boolean = false>(
options?: Options<DownloadResticPasswordData, ThrowOnError>,
) =>
(options?.client ?? client).post<
DownloadResticPasswordResponses,
unknown,
ThrowOnError
>({
(options?.client ?? client).post<DownloadResticPasswordResponses, unknown, ThrowOnError>({
url: "/api/v1/system/restic-password",
...options,
headers: {

110
bun.lock
View file

@ -10,7 +10,7 @@
"@dnd-kit/utilities": "^3.2.2",
"@hono/standard-validator": "^0.2.0",
"@hookform/resolvers": "^5.2.2",
"@inquirer/prompts": "^8.0.2",
"@inquirer/prompts": "^8.2.0",
"@radix-ui/react-alert-dialog": "^1.1.15",
"@radix-ui/react-checkbox": "^1.3.3",
"@radix-ui/react-collapsible": "^1.1.12",
@ -30,7 +30,7 @@
"@scalar/hono-api-reference": "^0.9.32",
"@tanstack/react-query": "^5.90.16",
"arktype": "^2.1.28",
"better-auth": "^1.4.10",
"better-auth": "^1.4.12",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"commander": "^14.0.2",
@ -52,7 +52,7 @@
"qrcode.react": "^4.2.0",
"react": "^19.2.1",
"react-dom": "^19.2.1",
"react-hook-form": "^7.70.0",
"react-hook-form": "^7.71.0",
"react-markdown": "^10.1.0",
"react-router": "^7.12.0",
"react-router-hono-server": "^2.22.0",
@ -69,7 +69,7 @@
"devDependencies": {
"@faker-js/faker": "^10.2.0",
"@happy-dom/global-registrator": "^20.1.0",
"@hey-api/openapi-ts": "^0.90.2",
"@hey-api/openapi-ts": "^0.90.3",
"@libsql/client": "^0.17.0",
"@playwright/test": "^1.57.0",
"@react-router/dev": "^7.12.0",
@ -79,15 +79,15 @@
"@testing-library/dom": "^10.4.1",
"@testing-library/react": "^16.3.1",
"@types/bun": "^1.3.4",
"@types/node": "^25.0.3",
"@types/react": "^19.2.7",
"@types/node": "^25.0.7",
"@types/react": "^19.2.8",
"@types/react-dom": "^19.2.3",
"@types/semver": "^7.7.1",
"dotenv-cli": "^11.0.0",
"drizzle-kit": "^0.31.7",
"lightningcss": "^1.30.2",
"oxfmt": "^0.23.0",
"oxlint": "^1.38.0",
"oxfmt": "^0.24.0",
"oxlint": "^1.39.0",
"oxlint-tsgolint": "^0.11.0",
"tailwindcss": "^4.1.17",
"tinyglobby": "^0.2.15",
@ -95,7 +95,7 @@
"typescript": "^5.9.3",
"vite": "^7.3.1",
"vite-bundle-analyzer": "^1.2.3",
"vite-tsconfig-paths": "^6.0.3",
"vite-tsconfig-paths": "^6.0.4",
},
},
},
@ -166,9 +166,9 @@
"@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="],
"@better-auth/core": ["@better-auth/core@1.4.10", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "zod": "^4.1.12" }, "peerDependencies": { "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "1.1.21", "better-call": "1.1.7", "jose": "^6.1.0", "kysely": "^0.28.5", "nanostores": "^1.0.1" } }, "sha512-AThrfb6CpG80wqkanfrbN2/fGOYzhGladHFf3JhaWt/3/Vtf4h084T6PJLrDE7M/vCCGYvDI1DkvP3P1OB2HAg=="],
"@better-auth/core": ["@better-auth/core@1.4.12", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "zod": "^4.1.12" }, "peerDependencies": { "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "1.1.21", "better-call": "1.1.7", "jose": "^6.1.0", "kysely": "^0.28.5", "nanostores": "^1.0.1" } }, "sha512-VfqZwMAEl9rnGx092BIZ2Q5z8rt7jjN2OAbvPqehufSKZGmh8JsdtZRBMl/CHQir9bwi2Ev0UF4+7TQp+DXEMg=="],
"@better-auth/telemetry": ["@better-auth/telemetry@1.4.10", "", { "dependencies": { "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "1.1.21" }, "peerDependencies": { "@better-auth/core": "1.4.10" } }, "sha512-Dq4XJX6EKsUu0h3jpRagX739p/VMOTcnJYWRrLtDYkqtZFg+sFiFsSWVcfapZoWpRSUGYX9iKwl6nDHn6Ju2oQ=="],
"@better-auth/telemetry": ["@better-auth/telemetry@1.4.12", "", { "dependencies": { "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "1.1.21" }, "peerDependencies": { "@better-auth/core": "1.4.12" } }, "sha512-4q504Og42PzkUbZjXDt+FyeYaS0WZmAlEOC3nbBCZDObTVCRUnGgJW52B2maJ7BCVvAQgBGLEeQmQzU5+63J0A=="],
"@better-auth/utils": ["@better-auth/utils@0.3.0", "", {}, "sha512-W+Adw6ZA6mgvnSnhOki270rwJ42t4XzSK6YWGF//BbVXL6SwCLWfyzBc1lN2m/4RM28KubdBKQ4X5VMoLRNPQw=="],
@ -260,7 +260,7 @@
"@hey-api/json-schema-ref-parser": ["@hey-api/json-schema-ref-parser@1.2.2", "", { "dependencies": { "@jsdevtools/ono": "^7.1.3", "@types/json-schema": "^7.0.15", "js-yaml": "^4.1.1", "lodash": "^4.17.21" } }, "sha512-oS+5yAdwnK20lSeFO1d53Ku+yaGCsY8PcrmSq2GtSs3bsBfRnHAbpPKSVzQcaxAOrzj5NB+f34WhZglVrNayBA=="],
"@hey-api/openapi-ts": ["@hey-api/openapi-ts@0.90.2", "", { "dependencies": { "@hey-api/codegen-core": "^0.5.2", "@hey-api/json-schema-ref-parser": "1.2.2", "ansi-colors": "4.1.3", "c12": "3.3.3", "color-support": "1.1.3", "commander": "14.0.2", "open": "11.0.0", "semver": "7.7.3" }, "peerDependencies": { "typescript": ">=5.5.3" }, "bin": { "openapi-ts": "bin/run.js" } }, "sha512-wfqLHxlRkyowHa88X1+iD46SIgf8HEUH7v+nec00Yaya4fzzBCkOI30f7nlI+/4/EQtVmjzjnr1bthOzYHF8BQ=="],
"@hey-api/openapi-ts": ["@hey-api/openapi-ts@0.90.3", "", { "dependencies": { "@hey-api/codegen-core": "^0.5.2", "@hey-api/json-schema-ref-parser": "1.2.2", "ansi-colors": "4.1.3", "c12": "3.3.3", "color-support": "1.1.3", "commander": "14.0.2", "open": "11.0.0", "semver": "7.7.3" }, "peerDependencies": { "typescript": ">=5.5.3" }, "bin": { "openapi-ts": "bin/run.js" } }, "sha512-9UT347hVQaph/jwAJJI2l+istWDLw540PTIHUevq9xzRYnHAxC1Aprtv4CYoWkeFv9aMcMrmAbNH7ANPoxEK2A=="],
"@hono/node-server": ["@hono/node-server@1.19.7", "", { "peerDependencies": { "hono": "^4" } }, "sha512-vUcD0uauS7EU2caukW8z5lJKtoGMokxNbJtBiwHgpqxEXokaHCBkQUmCHhjFB1VUTWdqj25QoMkMKzgjq+uhrw=="],
@ -272,37 +272,37 @@
"@hookform/resolvers": ["@hookform/resolvers@5.2.2", "", { "dependencies": { "@standard-schema/utils": "^0.3.0" }, "peerDependencies": { "react-hook-form": "^7.55.0" } }, "sha512-A/IxlMLShx3KjV/HeTcTfaMxdwy690+L/ZADoeaTltLx+CVuzkeVIPuybK3jrRfw7YZnmdKsVVHAlEPIAEUNlA=="],
"@inquirer/ansi": ["@inquirer/ansi@2.0.2", "", {}, "sha512-SYLX05PwJVnW+WVegZt1T4Ip1qba1ik+pNJPDiqvk6zS5Y/i8PhRzLpGEtVd7sW0G8cMtkD8t4AZYhQwm8vnww=="],
"@inquirer/ansi": ["@inquirer/ansi@2.0.3", "", {}, "sha512-g44zhR3NIKVs0zUesa4iMzExmZpLUdTLRMCStqX3GE5NT6VkPcxQGJ+uC8tDgBUC/vB1rUhUd55cOf++4NZcmw=="],
"@inquirer/checkbox": ["@inquirer/checkbox@5.0.3", "", { "dependencies": { "@inquirer/ansi": "^2.0.2", "@inquirer/core": "^11.1.0", "@inquirer/figures": "^2.0.2", "@inquirer/type": "^4.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-xtQP2eXMFlOcAhZ4ReKP2KZvDIBb1AnCfZ81wWXG3DXLVH0f0g4obE0XDPH+ukAEMRcZT0kdX2AS1jrWGXbpxw=="],
"@inquirer/checkbox": ["@inquirer/checkbox@5.0.4", "", { "dependencies": { "@inquirer/ansi": "^2.0.3", "@inquirer/core": "^11.1.1", "@inquirer/figures": "^2.0.3", "@inquirer/type": "^4.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-DrAMU3YBGMUAp6ArwTIp/25CNDtDbxk7UjIrrtM25JVVrlVYlVzHh5HR1BDFu9JMyUoZ4ZanzeaHqNDttf3gVg=="],
"@inquirer/confirm": ["@inquirer/confirm@6.0.3", "", { "dependencies": { "@inquirer/core": "^11.1.0", "@inquirer/type": "^4.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-lyEvibDFL+NA5R4xl8FUmNhmu81B+LDL9L/MpKkZlQDJZXzG8InxiqYxiAlQYa9cqLLhYqKLQwZqXmSTqCLjyw=="],
"@inquirer/confirm": ["@inquirer/confirm@6.0.4", "", { "dependencies": { "@inquirer/core": "^11.1.1", "@inquirer/type": "^4.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-WdaPe7foUnoGYvXzH4jp4wH/3l+dBhZ3uwhKjXjwdrq5tEIFaANxj6zrGHxLdsIA0yKM0kFPVcEalOZXBB5ISA=="],
"@inquirer/core": ["@inquirer/core@11.1.0", "", { "dependencies": { "@inquirer/ansi": "^2.0.2", "@inquirer/figures": "^2.0.2", "@inquirer/type": "^4.0.2", "cli-width": "^4.1.0", "mute-stream": "^3.0.0", "signal-exit": "^4.1.0", "wrap-ansi": "^9.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-+jD/34T1pK8M5QmZD/ENhOfXdl9Zr+BrQAUc5h2anWgi7gggRq15ZbiBeLoObj0TLbdgW7TAIQRU2boMc9uOKQ=="],
"@inquirer/core": ["@inquirer/core@11.1.1", "", { "dependencies": { "@inquirer/ansi": "^2.0.3", "@inquirer/figures": "^2.0.3", "@inquirer/type": "^4.0.3", "cli-width": "^4.1.0", "mute-stream": "^3.0.0", "signal-exit": "^4.1.0", "wrap-ansi": "^9.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-hV9o15UxX46OyQAtaoMqAOxGR8RVl1aZtDx1jHbCtSJy1tBdTfKxLPKf7utsE4cRy4tcmCQ4+vdV+ca+oNxqNA=="],
"@inquirer/editor": ["@inquirer/editor@5.0.3", "", { "dependencies": { "@inquirer/core": "^11.1.0", "@inquirer/external-editor": "^2.0.2", "@inquirer/type": "^4.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-wYyQo96TsAqIciP/r5D3cFeV8h4WqKQ/YOvTg5yOfP2sqEbVVpbxPpfV3LM5D0EP4zUI3EZVHyIUIllnoIa8OQ=="],
"@inquirer/editor": ["@inquirer/editor@5.0.4", "", { "dependencies": { "@inquirer/core": "^11.1.1", "@inquirer/external-editor": "^2.0.3", "@inquirer/type": "^4.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QI3Jfqcv6UO2/VJaEFONH8Im1ll++Xn/AJTBn9Xf+qx2M+H8KZAdQ5sAe2vtYlo+mLW+d7JaMJB4qWtK4BG3pw=="],
"@inquirer/expand": ["@inquirer/expand@5.0.3", "", { "dependencies": { "@inquirer/core": "^11.1.0", "@inquirer/type": "^4.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-2oINvuL27ujjxd95f6K2K909uZOU2x1WiAl7Wb1X/xOtL8CgQ1kSxzykIr7u4xTkXkXOAkCuF45T588/YKee7w=="],
"@inquirer/expand": ["@inquirer/expand@5.0.4", "", { "dependencies": { "@inquirer/core": "^11.1.1", "@inquirer/type": "^4.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-0I/16YwPPP0Co7a5MsomlZLpch48NzYfToyqYAOWtBmaXSB80RiNQ1J+0xx2eG+Wfxt0nHtpEWSRr6CzNVnOGg=="],
"@inquirer/external-editor": ["@inquirer/external-editor@2.0.2", "", { "dependencies": { "chardet": "^2.1.1", "iconv-lite": "^0.7.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-X/fMXK7vXomRWEex1j8mnj7s1mpnTeP4CO/h2gysJhHLT2WjBnLv4ZQEGpm/kcYI8QfLZ2fgW+9kTKD+jeopLg=="],
"@inquirer/external-editor": ["@inquirer/external-editor@2.0.3", "", { "dependencies": { "chardet": "^2.1.1", "iconv-lite": "^0.7.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-LgyI7Agbda74/cL5MvA88iDpvdXI2KuMBCGRkbCl2Dg1vzHeOgs+s0SDcXV7b+WZJrv2+ERpWSM65Fpi9VfY3w=="],
"@inquirer/figures": ["@inquirer/figures@2.0.2", "", {}, "sha512-qXm6EVvQx/FmnSrCWCIGtMHwqeLgxABP8XgcaAoywsL0NFga9gD5kfG0gXiv80GjK9Hsoz4pgGwF/+CjygyV9A=="],
"@inquirer/figures": ["@inquirer/figures@2.0.3", "", {}, "sha512-y09iGt3JKoOCBQ3w4YrSJdokcD8ciSlMIWsD+auPu+OZpfxLuyz+gICAQ6GCBOmJJt4KEQGHuZSVff2jiNOy7g=="],
"@inquirer/input": ["@inquirer/input@5.0.3", "", { "dependencies": { "@inquirer/core": "^11.1.0", "@inquirer/type": "^4.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-4R0TdWl53dtp79Vs6Df2OHAtA2FVNqya1hND1f5wjHWxZJxwDMSNB1X5ADZJSsQKYAJ5JHCTO+GpJZ42mK0Otw=="],
"@inquirer/input": ["@inquirer/input@5.0.4", "", { "dependencies": { "@inquirer/core": "^11.1.1", "@inquirer/type": "^4.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-4B3s3jvTREDFvXWit92Yc6jF1RJMDy2VpSqKtm4We2oVU65YOh2szY5/G14h4fHlyQdpUmazU5MPCFZPRJ0AOw=="],
"@inquirer/number": ["@inquirer/number@4.0.3", "", { "dependencies": { "@inquirer/core": "^11.1.0", "@inquirer/type": "^4.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-TjQLe93GGo5snRlu83JxE38ZPqj5ZVggL+QqqAF2oBA5JOJoxx25GG3EGH/XN/Os5WOmKfO8iLVdCXQxXRZIMQ=="],
"@inquirer/number": ["@inquirer/number@4.0.4", "", { "dependencies": { "@inquirer/core": "^11.1.1", "@inquirer/type": "^4.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-CmMp9LF5HwE+G/xWsC333TlCzYYbXMkcADkKzcawh49fg2a1ryLc7JL1NJYYt1lJ+8f4slikNjJM9TEL/AljYQ=="],
"@inquirer/password": ["@inquirer/password@5.0.3", "", { "dependencies": { "@inquirer/ansi": "^2.0.2", "@inquirer/core": "^11.1.0", "@inquirer/type": "^4.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-rCozGbUMAHedTeYWEN8sgZH4lRCdgG/WinFkit6ZPsp8JaNg2T0g3QslPBS5XbpORyKP/I+xyBO81kFEvhBmjA=="],
"@inquirer/password": ["@inquirer/password@5.0.4", "", { "dependencies": { "@inquirer/ansi": "^2.0.3", "@inquirer/core": "^11.1.1", "@inquirer/type": "^4.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZCEPyVYvHK4W4p2Gy6sTp9nqsdHQCfiPXIP9LbJVW4yCinnxL/dDDmPaEZVysGrj8vxVReRnpfS2fOeODe9zjg=="],
"@inquirer/prompts": ["@inquirer/prompts@8.1.0", "", { "dependencies": { "@inquirer/checkbox": "^5.0.3", "@inquirer/confirm": "^6.0.3", "@inquirer/editor": "^5.0.3", "@inquirer/expand": "^5.0.3", "@inquirer/input": "^5.0.3", "@inquirer/number": "^4.0.3", "@inquirer/password": "^5.0.3", "@inquirer/rawlist": "^5.1.0", "@inquirer/search": "^4.0.3", "@inquirer/select": "^5.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-LsZMdKcmRNF5LyTRuZE5nWeOjganzmN3zwbtNfcs6GPh3I2TsTtF1UYZlbxVfhxd+EuUqLGs/Lm3Xt4v6Az1wA=="],
"@inquirer/prompts": ["@inquirer/prompts@8.2.0", "", { "dependencies": { "@inquirer/checkbox": "^5.0.4", "@inquirer/confirm": "^6.0.4", "@inquirer/editor": "^5.0.4", "@inquirer/expand": "^5.0.4", "@inquirer/input": "^5.0.4", "@inquirer/number": "^4.0.4", "@inquirer/password": "^5.0.4", "@inquirer/rawlist": "^5.2.0", "@inquirer/search": "^4.1.0", "@inquirer/select": "^5.0.4" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-rqTzOprAj55a27jctS3vhvDDJzYXsr33WXTjODgVOru21NvBo9yIgLIAf7SBdSV0WERVly3dR6TWyp7ZHkvKFA=="],
"@inquirer/rawlist": ["@inquirer/rawlist@5.1.0", "", { "dependencies": { "@inquirer/core": "^11.1.0", "@inquirer/type": "^4.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-yUCuVh0jW026Gr2tZlG3kHignxcrLKDR3KBp+eUgNz+BAdSeZk0e18yt2gyBr+giYhj/WSIHCmPDOgp1mT2niQ=="],
"@inquirer/rawlist": ["@inquirer/rawlist@5.2.0", "", { "dependencies": { "@inquirer/core": "^11.1.1", "@inquirer/type": "^4.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-CciqGoOUMrFo6HxvOtU5uL8fkjCmzyeB6fG7O1vdVAZVSopUBYECOwevDBlqNLyyYmzpm2Gsn/7nLrpruy9RFg=="],
"@inquirer/search": ["@inquirer/search@4.0.3", "", { "dependencies": { "@inquirer/core": "^11.1.0", "@inquirer/figures": "^2.0.2", "@inquirer/type": "^4.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-lzqVw0YwuKYetk5VwJ81Ba+dyVlhseHPx9YnRKQgwXdFS0kEavCz2gngnNhnMIxg8+j1N/rUl1t5s1npwa7bqg=="],
"@inquirer/search": ["@inquirer/search@4.1.0", "", { "dependencies": { "@inquirer/core": "^11.1.1", "@inquirer/figures": "^2.0.3", "@inquirer/type": "^4.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-EAzemfiP4IFvIuWnrHpgZs9lAhWDA0GM3l9F4t4mTQ22IFtzfrk8xbkMLcAN7gmVML9O/i+Hzu8yOUyAaL6BKA=="],
"@inquirer/select": ["@inquirer/select@5.0.3", "", { "dependencies": { "@inquirer/ansi": "^2.0.2", "@inquirer/core": "^11.1.0", "@inquirer/figures": "^2.0.2", "@inquirer/type": "^4.0.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-M+ynbwS0ecQFDYMFrQrybA0qL8DV0snpc4kKevCCNaTpfghsRowRY7SlQBeIYNzHqXtiiz4RG9vTOeb/udew7w=="],
"@inquirer/select": ["@inquirer/select@5.0.4", "", { "dependencies": { "@inquirer/ansi": "^2.0.3", "@inquirer/core": "^11.1.1", "@inquirer/figures": "^2.0.3", "@inquirer/type": "^4.0.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-s8KoGpPYMEQ6WXc0dT9blX2NtIulMdLOO3LA1UKOiv7KFWzlJ6eLkEYTDBIi+JkyKXyn8t/CD6TinxGjyLt57g=="],
"@inquirer/type": ["@inquirer/type@4.0.2", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-cae7mzluplsjSdgFA6ACLygb5jC8alO0UUnFPyu0E7tNRPrL+q/f8VcSXp+cjZQ7l5CMpDpi2G1+IQvkOiL1Lw=="],
"@inquirer/type": ["@inquirer/type@4.0.3", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-cKZN7qcXOpj1h+1eTTcGDVLaBIHNMT1Rz9JqJP5MnEJ0JhgVWllx7H/tahUp5YEK1qaByH2Itb8wLG/iScD5kw=="],
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
@ -350,21 +350,21 @@
"@noble/hashes": ["@noble/hashes@2.0.1", "", {}, "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw=="],
"@oxfmt/darwin-arm64": ["@oxfmt/darwin-arm64@0.23.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-shGng2EjBspvuqtFtcjcKf0WoZ9QCdL8iLYgdOoKSiSQ9pPyLJ4jQf62yhm4b2PpZNVcV/20gV6d8SyKzg6SZQ=="],
"@oxfmt/darwin-arm64": ["@oxfmt/darwin-arm64@0.24.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-aYXuGf/yq8nsyEcHindGhiz9I+GEqLkVq8CfPbd+6VE259CpPEH+CaGHEO1j6vIOmNr8KHRq+IAjeRO2uJpb8A=="],
"@oxfmt/darwin-x64": ["@oxfmt/darwin-x64@0.23.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-DxQ7Hm7B+6JiIkiRU3CSJmM15nTJDDezyaAv+x9NN8BfU0C49O8JuZIFu1Lr9AKEPV+ECIYM2X4HU0xm6IdiMQ=="],
"@oxfmt/darwin-x64": ["@oxfmt/darwin-x64@0.24.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-vs3b8Bs53hbiNvcNeBilzE/+IhDTWKjSBB3v/ztr664nZk65j0xr+5IHMBNz3CFppmX7o/aBta2PxY+t+4KoPg=="],
"@oxfmt/linux-arm64-gnu": ["@oxfmt/linux-arm64-gnu@0.23.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-7qTXPpENi45sEKsaYFit4VRywPVkX+ZJc5JVA17KW1coJ/SLUuRAdLjRipU+QTZsr1TF93HCmGFSlUjB7lmEVQ=="],
"@oxfmt/linux-arm64-gnu": ["@oxfmt/linux-arm64-gnu@0.24.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-ItPDOPoQ0wLj/s8osc5ch57uUcA1Wk8r0YdO8vLRpXA3UNg7KPOm1vdbkIZRRiSUphZcuX5ioOEetEK8H7RlTw=="],
"@oxfmt/linux-arm64-musl": ["@oxfmt/linux-arm64-musl@0.23.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-qkFXbf+K01B++j69o9mLvvyfhmmL4+qX7hGPA2PRDkE5xxuUTWdqboQQc1FgGI0teUlIYYyxjamq9UztL2A7NA=="],
"@oxfmt/linux-arm64-musl": ["@oxfmt/linux-arm64-musl@0.24.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-JkQO3WnQjQTJONx8nxdgVBfl6BBFfpp9bKhChYhWeakwJdr7QPOAWJ/v3FGZfr0TbqINwnNR74aVZayDDRyXEA=="],
"@oxfmt/linux-x64-gnu": ["@oxfmt/linux-x64-gnu@0.23.0", "", { "os": "linux", "cpu": "x64" }, "sha512-J7Q13Ujyn8IgjHD96urA377GOy8HerxC13OrEyYaM8iwH3gc/EoboK9AKu0bxp9qai4btPFDhnkRnpCwJE9pAw=="],
"@oxfmt/linux-x64-gnu": ["@oxfmt/linux-x64-gnu@0.24.0", "", { "os": "linux", "cpu": "x64" }, "sha512-N/SXlFO+2kak5gMt0oxApi0WXQDhwA0PShR0UbkY0PwtHjfSiDqJSOumyNqgQVoroKr1GNnoRmUqjZIz6DKIcw=="],
"@oxfmt/linux-x64-musl": ["@oxfmt/linux-x64-musl@0.23.0", "", { "os": "linux", "cpu": "x64" }, "sha512-3gb25Zk2/y4An8fi399KdpLkDYFTJEB5Nq/sSHmeXG0pZlR/jnKoXEFHsjU+9nqF2wsuZ+tmkoi/swcaGG8+Qg=="],
"@oxfmt/linux-x64-musl": ["@oxfmt/linux-x64-musl@0.24.0", "", { "os": "linux", "cpu": "x64" }, "sha512-WM0pek5YDCQf50XQ7GLCE9sMBCMPW/NPAEPH/Hx6Qyir37lEsP4rUmSECo/QFNTU6KBc9NnsviAyJruWPpCMXw=="],
"@oxfmt/win32-arm64": ["@oxfmt/win32-arm64@0.23.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-JKfRP2ENWwRZ73rMZFyChvRi/+oDEW+3obp1XIwecot8gvDHgGZ4nX3hTp4VPiBFL89JORMpWSKzJvjRDucJIw=="],
"@oxfmt/win32-arm64": ["@oxfmt/win32-arm64@0.24.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-vFCseli1KWtwdHrVlT/jWfZ8jP8oYpnPPEjI23mPLW8K/6GEJmmvy0PZP5NpWUFNTzX0lqie58XnrATJYAe9Xw=="],
"@oxfmt/win32-x64": ["@oxfmt/win32-x64@0.23.0", "", { "os": "win32", "cpu": "x64" }, "sha512-vgqtYK1X1n/KexCNQKWXao3hyOnmWuCzk2sQyCSpkLhjSNIDPm7dmnEkvOXhf1t0O5RjCwHpk2VB6Fuaq3GULg=="],
"@oxfmt/win32-x64": ["@oxfmt/win32-x64@0.24.0", "", { "os": "win32", "cpu": "x64" }, "sha512-0tmlNzcyewAnauNeBCq0xmAkmiKzl+H09p0IdHy+QKrTQdtixtf+AOjDAADbRfihkS+heF15Pjc4IyJMdAAJjw=="],
"@oxlint-tsgolint/darwin-arm64": ["@oxlint-tsgolint/darwin-arm64@0.11.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-F67T8dXgYIrgv6wpd52fKQFdmieSOHaxBkscgso64YdtEHrV3s52ASiZGNzw62TKihn9Ox9ek3PYx9XsxIJDUw=="],
@ -378,21 +378,21 @@
"@oxlint-tsgolint/win32-x64": ["@oxlint-tsgolint/win32-x64@0.11.0", "", { "os": "win32", "cpu": "x64" }, "sha512-TsK4C61+mjmbkUJ3Q3E9Ev3VFbeI6prPEAm9FAOq8VsfUGEiIUBBjrZ8ysGoQXNiU3dCKpmu012ptVUZTk5/eg=="],
"@oxlint/darwin-arm64": ["@oxlint/darwin-arm64@1.38.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-9rN3047QTyA4i73FKikDUBdczRcLtOsIwZ5TsEx5Q7jr5nBjolhYQOFQf9QdhBLdInxw1iX4+lgdMCf1g74zjg=="],
"@oxlint/darwin-arm64": ["@oxlint/darwin-arm64@1.39.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-lT3hNhIa02xCujI6YGgjmYGg3Ht/X9ag5ipUVETaMpx5Rd4BbTNWUPif1WN1YZHxt3KLCIqaAe7zVhatv83HOQ=="],
"@oxlint/darwin-x64": ["@oxlint/darwin-x64@1.38.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-Y1UHW4KOlg5NvyrSn/bVBQP8/LRuid7Pnu+BWGbAVVsFcK0b565YgMSO3Eu9nU3w8ke91dr7NFpUmS+bVkdkbw=="],
"@oxlint/darwin-x64": ["@oxlint/darwin-x64@1.39.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-UT+rfTWd+Yr7iJeSLd/7nF8X4gTYssKh+n77hxl6Oilp3NnG1CKRHxZDy3o3lIBnwgzJkdyUAiYWO1bTMXQ1lA=="],
"@oxlint/linux-arm64-gnu": ["@oxlint/linux-arm64-gnu@1.38.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-ZiVxPZizlXSnAMdkEFWX/mAj7U3bNiku8p6I9UgLrXzgGSSAhFobx8CaFGwVoKyWOd+gQgZ/ogCrunvx2k0CFg=="],
"@oxlint/linux-arm64-gnu": ["@oxlint/linux-arm64-gnu@1.39.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-qocBkvS2V6rH0t9AT3DfQunMnj3xkM7srs5/Ycj2j5ZqMoaWd/FxHNVJDFP++35roKSvsRJoS0mtA8/77jqm6Q=="],
"@oxlint/linux-arm64-musl": ["@oxlint/linux-arm64-musl@1.38.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-ELtlCIGZ72A65ATZZHFxHMFrkRtY+DYDCKiNKg6v7u5PdeOFey+OlqRXgXtXlxWjCL+g7nivwI2FPVsWqf05Qw=="],
"@oxlint/linux-arm64-musl": ["@oxlint/linux-arm64-musl@1.39.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-arZzAc1PPcz9epvGBBCMHICeyQloKtHX3eoOe62B3Dskn7gf6Q14wnDHr1r9Vp4vtcBATNq6HlKV14smdlC/qA=="],
"@oxlint/linux-x64-gnu": ["@oxlint/linux-x64-gnu@1.38.0", "", { "os": "linux", "cpu": "x64" }, "sha512-E1OcDh30qyng1m0EIlsOuapYkqk5QB6o6IMBjvDKqIoo6IrjlVAasoJfS/CmSH998gXRL3BcAJa6Qg9IxPFZnQ=="],
"@oxlint/linux-x64-gnu": ["@oxlint/linux-x64-gnu@1.39.0", "", { "os": "linux", "cpu": "x64" }, "sha512-ZVt5qsECpuNprdWxAPpDBwoixr1VTcZ4qAEQA2l/wmFyVPDYFD3oBY/SWACNnWBddMrswjTg9O8ALxYWoEpmXw=="],
"@oxlint/linux-x64-musl": ["@oxlint/linux-x64-musl@1.38.0", "", { "os": "linux", "cpu": "x64" }, "sha512-4AfpbM/4sQnr6S1dMijEPfsq4stQbN5vJ2jsahSy/QTcvIVbFkgY+RIhrA5UWlC6eb0rD5CdaPQoKGMJGeXpYw=="],
"@oxlint/linux-x64-musl": ["@oxlint/linux-x64-musl@1.39.0", "", { "os": "linux", "cpu": "x64" }, "sha512-pB0hlGyKPbxr9NMIV783lD6cWL3MpaqnZRM9MWni4yBdHPTKyFNYdg5hGD0Bwg+UP4S2rOevq/+OO9x9Bi7E6g=="],
"@oxlint/win32-arm64": ["@oxlint/win32-arm64@1.38.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-OvUVYdI68OwXh3d1RjH9N/okCxb6PrOGtEtzXyqGA7Gk+IxyZcX0/QCTBwV8FNbSSzDePSSEHOKpoIB+VXdtvg=="],
"@oxlint/win32-arm64": ["@oxlint/win32-arm64@1.39.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-Gg2SFaJohI9+tIQVKXlPw3FsPQFi/eCSWiCgwPtPn5uzQxHRTeQEZKuluz1fuzR5U70TXubb2liZi4Dgl8LJQA=="],
"@oxlint/win32-x64": ["@oxlint/win32-x64@1.38.0", "", { "os": "win32", "cpu": "x64" }, "sha512-7IuZMYiZiOcgg5zHvpJY6jRlEwh8EB/uq7GsoQJO9hANq96TIjyntGByhIjFSsL4asyZmhTEki+MO/u5Fb/WQA=="],
"@oxlint/win32-x64": ["@oxlint/win32-x64@1.39.0", "", { "os": "win32", "cpu": "x64" }, "sha512-sbi25lfj74hH+6qQtb7s1wEvd1j8OQbTaH8v3xTcDjrwm579Cyh0HBv1YSZ2+gsnVwfVDiCTL1D0JsNqYXszVA=="],
"@playwright/test": ["@playwright/test@1.57.0", "", { "dependencies": { "playwright": "1.57.0" }, "bin": { "playwright": "cli.js" } }, "sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA=="],
@ -634,9 +634,9 @@
"@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="],
"@types/node": ["@types/node@25.0.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA=="],
"@types/node": ["@types/node@25.0.7", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-C/er7DlIZgRJO7WtTdYovjIFzGsz0I95UlMyR9anTb4aCpBSRWe5Jc1/RvLKUfzmOxHPGjSE5+63HgLtndxU4w=="],
"@types/react": ["@types/react@19.2.7", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg=="],
"@types/react": ["@types/react@19.2.8", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-3MbSL37jEchWZz2p2mjntRZtPt837ij10ApxKfgmXCTuHWagYg7iA5bqPw6C8BMPfwidlvfPI/fxOc42HLhcyg=="],
"@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="],
@ -690,7 +690,7 @@
"basic-auth": ["basic-auth@2.0.1", "", { "dependencies": { "safe-buffer": "5.1.2" } }, "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg=="],
"better-auth": ["better-auth@1.4.10", "", { "dependencies": { "@better-auth/core": "1.4.10", "@better-auth/telemetry": "1.4.10", "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "1.1.21", "@noble/ciphers": "^2.0.0", "@noble/hashes": "^2.0.0", "better-call": "1.1.7", "defu": "^6.1.4", "jose": "^6.1.0", "kysely": "^0.28.5", "nanostores": "^1.0.1", "zod": "^4.1.12" }, "peerDependencies": { "@lynx-js/react": "*", "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", "@sveltejs/kit": "^2.0.0", "@tanstack/react-start": "^1.0.0", "better-sqlite3": "^12.0.0", "drizzle-kit": ">=0.31.4", "drizzle-orm": ">=0.41.0", "mongodb": "^6.0.0 || ^7.0.0", "mysql2": "^3.0.0", "next": "^14.0.0 || ^15.0.0 || ^16.0.0", "pg": "^8.0.0", "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", "solid-js": "^1.0.0", "svelte": "^4.0.0 || ^5.0.0", "vitest": "^2.0.0 || ^3.0.0 || ^4.0.0", "vue": "^3.0.0" }, "optionalPeers": ["@lynx-js/react", "@prisma/client", "@sveltejs/kit", "@tanstack/react-start", "better-sqlite3", "drizzle-kit", "drizzle-orm", "mongodb", "mysql2", "next", "pg", "prisma", "react", "react-dom", "solid-js", "svelte", "vitest", "vue"] }, "sha512-0kqwEBJLe8eyFzbUspRG/htOriCf9uMLlnpe34dlIJGdmDfPuQISd4shShvUrvIVhPxsY1dSTXdXPLpqISYOYg=="],
"better-auth": ["better-auth@1.4.12", "", { "dependencies": { "@better-auth/core": "1.4.12", "@better-auth/telemetry": "1.4.12", "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "1.1.21", "@noble/ciphers": "^2.0.0", "@noble/hashes": "^2.0.0", "better-call": "1.1.7", "defu": "^6.1.4", "jose": "^6.1.0", "kysely": "^0.28.5", "nanostores": "^1.0.1", "zod": "^4.1.12" }, "peerDependencies": { "@lynx-js/react": "*", "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", "@sveltejs/kit": "^2.0.0", "@tanstack/react-start": "^1.0.0", "better-sqlite3": "^12.0.0", "drizzle-kit": ">=0.31.4", "drizzle-orm": ">=0.41.0", "mongodb": "^6.0.0 || ^7.0.0", "mysql2": "^3.0.0", "next": "^14.0.0 || ^15.0.0 || ^16.0.0", "pg": "^8.0.0", "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", "solid-js": "^1.0.0", "svelte": "^4.0.0 || ^5.0.0", "vitest": "^2.0.0 || ^3.0.0 || ^4.0.0", "vue": "^3.0.0" }, "optionalPeers": ["@lynx-js/react", "@prisma/client", "@sveltejs/kit", "@tanstack/react-start", "better-sqlite3", "drizzle-kit", "drizzle-orm", "mongodb", "mysql2", "next", "pg", "prisma", "react", "react-dom", "solid-js", "svelte", "vitest", "vue"] }, "sha512-FsFMnWgk+AGrxsIGbpWLCibgYcbm6uNhPHln3ohXFDXSRa0gk39Beuh54Q+x6ml2qYodF0snxf/tPtDpBI/JiA=="],
"better-call": ["better-call@1.1.7", "", { "dependencies": { "@better-auth/utils": "^0.3.0", "@better-fetch/fetch": "^1.1.4", "rou3": "^0.7.10", "set-cookie-parser": "^2.7.1" }, "peerDependencies": { "zod": "^4.0.0" }, "optionalPeers": ["zod"] }, "sha512-6gaJe1bBIEgVebQu/7q9saahVzvBsGaByEnE8aDVncZEDiJO7sdNB28ot9I6iXSbR25egGmmZ6aIURXyQHRraQ=="],
@ -988,7 +988,7 @@
"http-errors-enhanced": ["http-errors-enhanced@4.0.2", "", {}, "sha512-5EXN1gmhJVvuWpNfz+RclWvLnnENEXNMPfww3gm30H9mQzPF4QSBj/MD5FRkVDxGIUhO/cR2GSLCd/6C6xpBcw=="],
"iconv-lite": ["iconv-lite@0.7.1", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw=="],
"iconv-lite": ["iconv-lite@0.7.2", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="],
"ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
@ -1246,9 +1246,9 @@
"openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="],
"oxfmt": ["oxfmt@0.23.0", "", { "dependencies": { "tinypool": "2.0.0" }, "optionalDependencies": { "@oxfmt/darwin-arm64": "0.23.0", "@oxfmt/darwin-x64": "0.23.0", "@oxfmt/linux-arm64-gnu": "0.23.0", "@oxfmt/linux-arm64-musl": "0.23.0", "@oxfmt/linux-x64-gnu": "0.23.0", "@oxfmt/linux-x64-musl": "0.23.0", "@oxfmt/win32-arm64": "0.23.0", "@oxfmt/win32-x64": "0.23.0" }, "bin": { "oxfmt": "bin/oxfmt" } }, "sha512-dh4rlNBua93aVf2ZaDecbQxVLMnUUTvDi1K1fdvBdontQeEf6K22Z1KQg5QKl2D9aNFeFph+wOVwcjjYUIO6Mw=="],
"oxfmt": ["oxfmt@0.24.0", "", { "dependencies": { "tinypool": "2.0.0" }, "optionalDependencies": { "@oxfmt/darwin-arm64": "0.24.0", "@oxfmt/darwin-x64": "0.24.0", "@oxfmt/linux-arm64-gnu": "0.24.0", "@oxfmt/linux-arm64-musl": "0.24.0", "@oxfmt/linux-x64-gnu": "0.24.0", "@oxfmt/linux-x64-musl": "0.24.0", "@oxfmt/win32-arm64": "0.24.0", "@oxfmt/win32-x64": "0.24.0" }, "bin": { "oxfmt": "bin/oxfmt" } }, "sha512-UjeM3Peez8Tl7IJ9s5UwAoZSiDRMww7BEc21gDYxLq3S3/KqJnM3mjNxsoSHgmBvSeX6RBhoVc2MfC/+96RdSw=="],
"oxlint": ["oxlint@1.38.0", "", { "optionalDependencies": { "@oxlint/darwin-arm64": "1.38.0", "@oxlint/darwin-x64": "1.38.0", "@oxlint/linux-arm64-gnu": "1.38.0", "@oxlint/linux-arm64-musl": "1.38.0", "@oxlint/linux-x64-gnu": "1.38.0", "@oxlint/linux-x64-musl": "1.38.0", "@oxlint/win32-arm64": "1.38.0", "@oxlint/win32-x64": "1.38.0" }, "peerDependencies": { "oxlint-tsgolint": ">=0.10.0" }, "optionalPeers": ["oxlint-tsgolint"], "bin": { "oxlint": "bin/oxlint" } }, "sha512-XT7tBinQS+hVLxtfJOnokJ9qVBiQvZqng40tDgR6qEJMRMnpVq/JwYfbYyGntSq8MO+Y+N9M1NG4bAMFUtCJiw=="],
"oxlint": ["oxlint@1.39.0", "", { "optionalDependencies": { "@oxlint/darwin-arm64": "1.39.0", "@oxlint/darwin-x64": "1.39.0", "@oxlint/linux-arm64-gnu": "1.39.0", "@oxlint/linux-arm64-musl": "1.39.0", "@oxlint/linux-x64-gnu": "1.39.0", "@oxlint/linux-x64-musl": "1.39.0", "@oxlint/win32-arm64": "1.39.0", "@oxlint/win32-x64": "1.39.0" }, "peerDependencies": { "oxlint-tsgolint": ">=0.10.0" }, "optionalPeers": ["oxlint-tsgolint"], "bin": { "oxlint": "bin/oxlint" } }, "sha512-wSiLr0wjG+KTU6c1LpVoQk7JZ7l8HCKlAkVDVTJKWmCGazsNxexxnOXl7dsar92mQcRnzko5g077ggP3RINSjA=="],
"oxlint-tsgolint": ["oxlint-tsgolint@0.11.0", "", { "optionalDependencies": { "@oxlint-tsgolint/darwin-arm64": "0.11.0", "@oxlint-tsgolint/darwin-x64": "0.11.0", "@oxlint-tsgolint/linux-arm64": "0.11.0", "@oxlint-tsgolint/linux-x64": "0.11.0", "@oxlint-tsgolint/win32-arm64": "0.11.0", "@oxlint-tsgolint/win32-x64": "0.11.0" }, "bin": { "tsgolint": "bin/tsgolint.js" } }, "sha512-fGYb7z/cljC0Rjtbxh7mIe8vtF/M9TShLvniwc2rdcqNG3Z9g3nM01cr2kWRb1DZdbY4/kItvIsrV4uhaMifyQ=="],
@ -1338,7 +1338,7 @@
"react-dom": ["react-dom@19.2.3", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.3" } }, "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg=="],
"react-hook-form": ["react-hook-form@7.70.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-COOMajS4FI3Wuwrs3GPpi/Jeef/5W1DRR84Yl5/ShlT3dKVFUfoGiEZ/QE6Uw8P4T2/CLJdcTVYKvWBMQTEpvw=="],
"react-hook-form": ["react-hook-form@7.71.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-oFDt/iIFMV9ZfV52waONXzg4xuSlbwKUPvXVH2jumL1me5qFhBMc4knZxuXiZ2+j6h546sYe3ZKJcg/900/iHw=="],
"react-is": ["react-is@19.2.3", "", {}, "sha512-qJNJfu81ByyabuG7hPFEbXqNcWSU3+eVus+KJs+0ncpGfMyYdvSmxiJxbWR65lYi1I+/0HBcliO029gc4F+PnA=="],
@ -1546,7 +1546,7 @@
"vite-node": ["vite-node@3.2.4", "", { "dependencies": { "cac": "^6.7.14", "debug": "^4.4.1", "es-module-lexer": "^1.7.0", "pathe": "^2.0.3", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "bin": { "vite-node": "vite-node.mjs" } }, "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg=="],
"vite-tsconfig-paths": ["vite-tsconfig-paths@6.0.3", "", { "dependencies": { "debug": "^4.1.1", "globrex": "^0.1.2", "tsconfck": "^3.0.3" }, "peerDependencies": { "vite": "*" }, "optionalPeers": ["vite"] }, "sha512-7bL7FPX/DSviaZGYUKowWF1AiDVWjMjxNbE8lyaVGDezkedWqfGhlnQ4BZXre0ZN5P4kAgIJfAlgFDVyjrCIyg=="],
"vite-tsconfig-paths": ["vite-tsconfig-paths@6.0.4", "", { "dependencies": { "debug": "^4.1.1", "globrex": "^0.1.2", "tsconfck": "^3.0.3", "vite": "*" } }, "sha512-iIsEJ+ek5KqRTK17pmxtgIxXtqr3qDdE6OxrP9mVeGhVDNXRJTKN/l9oMbujTQNzMLe6XZ8qmpztfbkPu2TiFQ=="],
"web-streams-polyfill": ["web-streams-polyfill@3.3.3", "", {}, "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw=="],
@ -1624,6 +1624,10 @@
"@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
"@types/better-sqlite3/@types/node": ["@types/node@25.0.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA=="],
"@types/ws/@types/node": ["@types/node@25.0.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA=="],
"accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="],
"basic-auth/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="],
@ -1632,6 +1636,8 @@
"body-parser/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="],
"bun-types/@types/node": ["@types/node@25.0.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA=="],
"c12/chokidar": ["chokidar@5.0.0", "", { "dependencies": { "readdirp": "^5.0.0" } }, "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw=="],
"c12/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],

View file

@ -5,7 +5,7 @@ export default defineConfig({
input: `http://${config.serverIp}:4096/api/v1/openapi.json`,
output: {
path: "./app/client/api-client",
format: "biome",
postProcess: ["oxfmt"],
},
plugins: [...defaultPlugins, "@tanstack/react-query", "@hey-api/client-fetch"],
});

View file

@ -29,7 +29,7 @@
"@dnd-kit/utilities": "^3.2.2",
"@hono/standard-validator": "^0.2.0",
"@hookform/resolvers": "^5.2.2",
"@inquirer/prompts": "^8.0.2",
"@inquirer/prompts": "^8.2.0",
"@radix-ui/react-alert-dialog": "^1.1.15",
"@radix-ui/react-checkbox": "^1.3.3",
"@radix-ui/react-collapsible": "^1.1.12",
@ -49,7 +49,7 @@
"@scalar/hono-api-reference": "^0.9.32",
"@tanstack/react-query": "^5.90.16",
"arktype": "^2.1.28",
"better-auth": "^1.4.10",
"better-auth": "^1.4.12",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"commander": "^14.0.2",
@ -71,7 +71,7 @@
"qrcode.react": "^4.2.0",
"react": "^19.2.1",
"react-dom": "^19.2.1",
"react-hook-form": "^7.70.0",
"react-hook-form": "^7.71.0",
"react-markdown": "^10.1.0",
"react-router": "^7.12.0",
"react-router-hono-server": "^2.22.0",
@ -88,7 +88,7 @@
"devDependencies": {
"@faker-js/faker": "^10.2.0",
"@happy-dom/global-registrator": "^20.1.0",
"@hey-api/openapi-ts": "^0.90.2",
"@hey-api/openapi-ts": "^0.90.3",
"@libsql/client": "^0.17.0",
"@playwright/test": "^1.57.0",
"@react-router/dev": "^7.12.0",
@ -98,15 +98,15 @@
"@testing-library/dom": "^10.4.1",
"@testing-library/react": "^16.3.1",
"@types/bun": "^1.3.4",
"@types/node": "^25.0.3",
"@types/react": "^19.2.7",
"@types/node": "^25.0.7",
"@types/react": "^19.2.8",
"@types/react-dom": "^19.2.3",
"@types/semver": "^7.7.1",
"dotenv-cli": "^11.0.0",
"drizzle-kit": "^0.31.7",
"lightningcss": "^1.30.2",
"oxfmt": "^0.23.0",
"oxlint": "^1.38.0",
"oxfmt": "^0.24.0",
"oxlint": "^1.39.0",
"oxlint-tsgolint": "^0.11.0",
"tailwindcss": "^4.1.17",
"tinyglobby": "^0.2.15",
@ -114,7 +114,7 @@
"typescript": "^5.9.3",
"vite": "^7.3.1",
"vite-bundle-analyzer": "^1.2.3",
"vite-tsconfig-paths": "^6.0.3"
"vite-tsconfig-paths": "^6.0.4"
},
"overrides": {
"esbuild": "^0.27.2",