Compare commits

...
Author SHA1 Message Date
Stephen Zhou dec469a306 chore: upgrade openapi-ts preview 2026-07-28 14:55:40 +08:00
Stephen Zhou 212402e561 Merge remote-tracking branch 'origin/main' into pr-38152 2026-07-28 14:54:54 +08:00
Stephen Zhou 1b90369f3f Merge remote-tracking branch 'origin/main' into pr-38152
# Conflicts:
#	packages/contracts/openapi-ts.api.config.ts
#	pnpm-lock.yaml
#	pnpm-workspace.yaml
2026-07-28 14:43:55 +08:00
copilot-swe-agent[bot]andGitHub 0f73a1b656 Apply remaining changes 2026-07-27 09:00:49 +00:00
copilot-swe-agent[bot]andGitHub 6193c10e66 fix: update pnpm-lock.yaml to use @typescript/typescript6@6.0.2 peer for openapi-ts 0.99.0 2026-07-27 04:52:18 +00:00
copilot-swe-agent[bot]andGitHub 2dec9c2cce chore: sync branch with main to resolve merge conflicts 2026-07-27 04:51:10 +00:00
Stephen ZhouandGitHub e6567a0d7c Merge branch 'main' into codex/upgrade-openapi-ts-autofix 2026-07-02 16:50:09 +08:00
Stephen ZhouandGitHub b2683977a7 Merge branch 'main' into codex/upgrade-openapi-ts-autofix 2026-07-02 16:46:33 +08:00
copilot-swe-agent[bot]andGitHub ee580d6f10 Merge remote-tracking branch 'origin/main' into codex/upgrade-openapi-ts-autofix
# Conflicts:
#	.github/workflows/autofix.yml
#	packages/contracts/openapi-ts.api.config.ts
2026-07-02 08:22:14 +00:00
Stephen Zhou dde1e5c73c fix: generate openapi specs in contract autofix 2026-06-29 15:37:29 +08:00
Stephen Zhou 508ae6dceb chore: remove codegen smoke test 2026-06-29 15:21:33 +08:00
Stephen Zhou c8d7e3f4ab test: expose openapi-ts discriminator issue 2026-06-29 15:18:18 +08:00
Stephen Zhou 9df5a7c373 fix: support openapi-ts 0.99.0 2026-06-29 15:12:02 +08:00
26 changed files with 261 additions and 441 deletions
@@ -188,7 +188,7 @@ export const get = oc
path: '/agent/invite-options',
tags: ['console'],
})
.input(z.object({ query: zGetAgentInviteOptionsQuery.optional() }))
.input(z.object({ query: zGetAgentInviteOptionsQuery.optional() }).optional())
.output(zGetAgentInviteOptionsResponse)
export const inviteOptions = {
@@ -1491,7 +1491,7 @@ export const get36 = oc
path: '/agent',
tags: ['console'],
})
.input(z.object({ query: zGetAgentQuery.optional() }))
.input(z.object({ query: zGetAgentQuery.optional() }).optional())
.output(zGetAgentResponse)
export const post21 = oc
@@ -2573,10 +2573,10 @@ export const zSelectInputConfig = z.object({
})
export const zFormInputConfig = z.discriminatedUnion('type', [
zParagraphInputConfig.extend({ type: z.literal('paragraph') }),
zSelectInputConfig.extend({ type: z.literal('select') }),
zFileInputConfig.extend({ type: z.literal('file') }),
zFileListInputConfig.extend({ type: z.literal('file-list') }),
zParagraphInputConfig,
zSelectInputConfig,
zFileInputConfig,
zFileListInputConfig,
])
/**
@@ -2893,7 +2893,10 @@ export const zDeleteAgentByAgentIdApiKeysByApiKeyIdResponse = z.void()
export const zPostAgentByAgentIdAudioToTextBody = z.object({
draft_type: z.enum(['debug_build', 'draft']).optional().default('draft'),
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
export const zPostAgentByAgentIdAudioToTextPath = z.object({
@@ -3143,7 +3146,10 @@ export const zGetAgentByAgentIdConfigSkillsQuery = z.object({
export const zGetAgentByAgentIdConfigSkillsResponse = zAgentConfigSkillListResponse
export const zPostAgentByAgentIdConfigSkillsUploadBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
export const zPostAgentByAgentIdConfigSkillsUploadPath = z.object({
@@ -3519,7 +3525,10 @@ export const zPostAgentByAgentIdSandboxFilesUploadPath = z.object({
export const zPostAgentByAgentIdSandboxFilesUploadResponse = zSandboxUploadResponse
export const zPostAgentByAgentIdSkillsUploadBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
export const zPostAgentByAgentIdSkillsUploadPath = z.object({
@@ -12,7 +12,7 @@ export const get = oc
path: '/all-workspaces',
tags: ['console'],
})
.input(z.object({ query: zGetAllWorkspacesQuery.optional() }))
.input(z.object({ query: zGetAllWorkspacesQuery.optional() }).optional())
.output(zGetAllWorkspacesResponse)
export const allWorkspaces = {
@@ -567,7 +567,7 @@ export const get2 = oc
summary: 'Return the lightweight app cards needed by the Explore home page',
tags: ['console'],
})
.input(z.object({ query: zGetAppsRecentQuery.optional() }))
.input(z.object({ query: zGetAppsRecentQuery.optional() }).optional())
.output(zGetAppsRecentResponse)
export const recent = {
@@ -586,7 +586,7 @@ export const get3 = oc
path: '/apps/starred',
tags: ['console'],
})
.input(z.object({ query: zGetAppsStarredQuery.optional() }))
.input(z.object({ query: zGetAppsStarredQuery.optional() }).optional())
.output(zGetAppsStarredResponse)
export const starred = {
@@ -4951,7 +4951,7 @@ export const get94 = oc
summary: 'Get app list',
tags: ['console'],
})
.input(z.object({ query: zGetAppsQuery.optional() }))
.input(z.object({ query: zGetAppsQuery.optional() }).optional())
.output(zGetAppsResponse)
/**
@@ -3964,10 +3964,10 @@ export const zSelectInputConfig = z.object({
})
export const zFormInputConfig = z.discriminatedUnion('type', [
zParagraphInputConfig.extend({ type: z.literal('paragraph') }),
zSelectInputConfig.extend({ type: z.literal('select') }),
zFileInputConfig.extend({ type: z.literal('file') }),
zFileListInputConfig.extend({ type: z.literal('file-list') }),
zParagraphInputConfig,
zSelectInputConfig,
zFileInputConfig,
zFileListInputConfig,
])
/**
@@ -4777,7 +4777,10 @@ export const zGetAppsByAppIdAgentConfigSkillsQuery = z.object({
export const zGetAppsByAppIdAgentConfigSkillsResponse = zAgentConfigSkillListResponse
export const zPostAppsByAppIdAgentConfigSkillsUploadBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
export const zPostAppsByAppIdAgentConfigSkillsUploadPath = z.object({
@@ -5008,7 +5011,10 @@ export const zGetAppsByAppIdAgentLogsQuery = z.object({
export const zGetAppsByAppIdAgentLogsResponse = zAgentLogResponse
export const zPostAppsByAppIdAgentSkillsUploadBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
export const zPostAppsByAppIdAgentSkillsUploadPath = z.object({
@@ -5219,7 +5225,10 @@ export const zPostAppsByAppIdApiEnablePath = z.object({
export const zPostAppsByAppIdApiEnableResponse = zAppDetail
export const zPostAppsByAppIdAudioToTextBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
export const zPostAppsByAppIdAudioToTextPath = z.object({
@@ -397,7 +397,7 @@ export const get6 = oc
path: '/datasets/external-knowledge-api',
tags: ['console'],
})
.input(z.object({ query: zGetDatasetsExternalKnowledgeApiQuery.optional() }))
.input(z.object({ query: zGetDatasetsExternalKnowledgeApiQuery.optional() }).optional())
.output(zGetDatasetsExternalKnowledgeApiResponse)
/**
@@ -505,7 +505,7 @@ export const get8 = oc
path: '/datasets/process-rule',
tags: ['console'],
})
.input(z.object({ query: zGetDatasetsProcessRuleQuery.optional() }))
.input(z.object({ query: zGetDatasetsProcessRuleQuery.optional() }).optional())
.output(zGetDatasetsProcessRuleResponse)
export const processRule = {
@@ -1186,11 +1186,11 @@ export const segments = {
* Returns:
* - total_segments: Total number of segments in the document
* - summary_status: Dictionary with status counts
* - completed: Number of summaries completed
* - generating: Number of summaries being generated
* - error: Number of summaries with errors
* - not_started: Number of segments without summary records
* - timeout: Number of summaries that timed out
* - completed: Number of summaries completed
* - generating: Number of summaries being generated
* - error: Number of summaries with errors
* - not_started: Number of segments without summary records
* - timeout: Number of summaries that timed out
* - summaries: List of summary records with status and content preview
*/
export const get22 = oc
@@ -1777,7 +1777,7 @@ export const get36 = oc
path: '/datasets',
tags: ['console'],
})
.input(z.object({ query: zGetDatasetsQuery.optional() }))
.input(z.object({ query: zGetDatasetsQuery.optional() }).optional())
.output(zGetDatasetsResponse)
/**
@@ -21,7 +21,7 @@ export const get = oc
path: '/explore/apps/learn-dify',
tags: ['console'],
})
.input(z.object({ query: zGetExploreAppsLearnDifyQuery.optional() }))
.input(z.object({ query: zGetExploreAppsLearnDifyQuery.optional() }).optional())
.output(zGetExploreAppsLearnDifyResponse)
export const learnDify = {
@@ -51,7 +51,7 @@ export const get3 = oc
path: '/explore/apps',
tags: ['console'],
})
.input(z.object({ query: zGetExploreAppsQuery.optional() }))
.input(z.object({ query: zGetExploreAppsQuery.optional() }).optional())
.output(zGetExploreAppsResponse)
export const apps = {
@@ -72,7 +72,7 @@ export const get4 = oc
summary: 'Get banner list',
tags: ['default'],
})
.input(z.object({ query: zGetExploreBannersQuery.optional() }))
.input(z.object({ query: zGetExploreBannersQuery.optional() }).optional())
.output(zGetExploreBannersResponse)
export const banners = {
@@ -64,7 +64,10 @@ export const zGetFilesSupportTypeResponse = zAllowedExtensionsResponse
export const zGetFilesUploadResponse = zUploadConfig
export const zPostFilesUploadBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
source: z.enum(['datasets']).optional(),
})
@@ -35,10 +35,10 @@ export const get = oc
*
* Request body:
* {
* "inputs": {
* "content": "User input content"
* },
* "action": "Approve"
* "inputs": {
* "content": "User input content"
* },
* "action": "Approve"
* }
*/
export const post = oc
@@ -559,7 +559,7 @@ export const get8 = oc
path: '/installed-apps',
tags: ['console'],
})
.input(z.object({ query: zGetInstalledAppsQuery.optional() }))
.input(z.object({ query: zGetInstalledAppsQuery.optional() }).optional())
.output(zGetInstalledAppsResponse)
export const post12 = oc
@@ -145,7 +145,8 @@ export const zTextToAudioPayload = z.object({
* AudioBinaryResponse
*/
export const zAudioBinaryResponse = z.custom<Blob | File>(
(value) => value instanceof Blob || value instanceof File,
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
/**
@@ -475,10 +476,10 @@ export const zSelectInputConfig = z.object({
})
export const zFormInputConfig = z.discriminatedUnion('type', [
zParagraphInputConfig.extend({ type: z.literal('paragraph') }),
zSelectInputConfig.extend({ type: z.literal('select') }),
zFileInputConfig.extend({ type: z.literal('file') }),
zFileListInputConfig.extend({ type: z.literal('file-list') }),
zParagraphInputConfig,
zSelectInputConfig,
zFileInputConfig,
zFileListInputConfig,
])
/**
@@ -246,7 +246,7 @@ export const get2 = oc
path: '/rag/pipeline/templates',
tags: ['console'],
})
.input(z.object({ query: zGetRagPipelineTemplatesQuery.optional() }))
.input(z.object({ query: zGetRagPipelineTemplatesQuery.optional() }).optional())
.output(zGetRagPipelineTemplatesResponse)
export const templates2 = {
@@ -338,7 +338,7 @@ export const get5 = oc
path: '/rag/pipelines/recommended-plugins',
tags: ['console'],
})
.input(z.object({ query: zGetRagPipelinesRecommendedPluginsQuery.optional() }))
.input(z.object({ query: zGetRagPipelinesRecommendedPluginsQuery.optional() }).optional())
.output(zGetRagPipelinesRecommendedPluginsResponse)
export const recommendedPlugins = {
@@ -7,12 +7,12 @@ import { zGetSetupResponse, zPostSetupBody, zPostSetupResponse } from './zod.gen
/**
* Get system setup status.
*
* NOTE: This endpoint is unauthenticated by design.
* NOTE: This endpoint is unauthenticated by design.
*
* During first-time bootstrap there is no admin account yet, so frontend initialization must be
* able to query setup progress before any login flow exists.
* During first-time bootstrap there is no admin account yet, so frontend initialization must be
* able to query setup progress before any login flow exists.
*
* Only bootstrap-safe status information should be returned by this endpoint.
* Only bootstrap-safe status information should be returned by this endpoint.
*
*/
export const get = oc
@@ -30,9 +30,9 @@ export const get = oc
/**
* Initialize system setup with admin account.
*
* NOTE: This endpoint is unauthenticated by design for first-time bootstrap.
* Access is restricted by deployment mode (`SELF_HOSTED`), one-time setup guards,
* and init-password validation rather than user session authentication.
* NOTE: This endpoint is unauthenticated by design for first-time bootstrap.
* Access is restricted by deployment mode (`SELF_HOSTED`), one-time setup guards,
* and init-password validation rather than user session authentication.
*
*/
export const post = oc
@@ -50,7 +50,7 @@ export const get = oc
path: '/tags',
tags: ['console'],
})
.input(z.object({ query: zGetTagsQuery.optional() }))
.input(z.object({ query: zGetTagsQuery.optional() }).optional())
.output(zGetTagsResponse)
export const post = oc
@@ -116,7 +116,8 @@ export const zTextToSpeechRequest = z.object({
* AudioBinaryResponse
*/
export const zAudioBinaryResponse = z.custom<Blob | File>(
(value) => value instanceof Blob || value instanceof File,
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
/**
@@ -459,7 +460,10 @@ export const zGetTrialAppsByAppIdDatasetsQuery = z.object({
export const zGetTrialAppsByAppIdDatasetsResponse = zTrialDatasetListResponse
export const zPostTrialAppsByAppIdFilesUploadBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
source: z.enum(['datasets']).optional(),
})
@@ -665,7 +665,7 @@ export const get6 = oc
summary: 'List customized snippets with pagination and search',
tags: ['console'],
})
.input(z.object({ query: zGetWorkspacesCurrentCustomizedSnippetsQuery.optional() }))
.input(z.object({ query: zGetWorkspacesCurrentCustomizedSnippetsQuery.optional() }).optional())
.output(zGetWorkspacesCurrentCustomizedSnippetsResponse)
/**
@@ -1517,7 +1517,7 @@ export const get17 = oc
path: '/workspaces/current/model-providers',
tags: ['console'],
})
.input(z.object({ query: zGetWorkspacesCurrentModelProvidersQuery.optional() }))
.input(z.object({ query: zGetWorkspacesCurrentModelProvidersQuery.optional() }).optional())
.output(zGetWorkspacesCurrentModelProvidersResponse)
export const modelProviders = {
@@ -1773,7 +1773,7 @@ export const get25 = oc
path: '/workspaces/current/plugin/list',
tags: ['console'],
})
.input(z.object({ query: zGetWorkspacesCurrentPluginListQuery.optional() }))
.input(z.object({ query: zGetWorkspacesCurrentPluginListQuery.optional() }).optional())
.output(zGetWorkspacesCurrentPluginListResponse)
export const list2 = {
@@ -1960,7 +1960,7 @@ export const get31 = oc
path: '/workspaces/current/plugin/tasks',
tags: ['console'],
})
.input(z.object({ query: zGetWorkspacesCurrentPluginTasksQuery.optional() }))
.input(z.object({ query: zGetWorkspacesCurrentPluginTasksQuery.optional() }).optional())
.output(zGetWorkspacesCurrentPluginTasksResponse)
export const tasks = {
@@ -3554,7 +3554,9 @@ export const get74 = oc
path: '/workspaces/current/tool-provider/workflow/get',
tags: ['console'],
})
.input(z.object({ query: zGetWorkspacesCurrentToolProviderWorkflowGetQuery.optional() }))
.input(
z.object({ query: zGetWorkspacesCurrentToolProviderWorkflowGetQuery.optional() }).optional(),
)
.output(zGetWorkspacesCurrentToolProviderWorkflowGetResponse)
export const get75 = {
@@ -3614,7 +3616,7 @@ export const get77 = oc
path: '/workspaces/current/tool-providers',
tags: ['console'],
})
.input(z.object({ query: zGetWorkspacesCurrentToolProvidersQuery.optional() }))
.input(z.object({ query: zGetWorkspacesCurrentToolProvidersQuery.optional() }).optional())
.output(zGetWorkspacesCurrentToolProvidersResponse)
export const toolProviders = {
@@ -170,15 +170,7 @@ export type MemberInvitePayload = {
export type MemberInviteResponse = {
invitation_results: Array<
| ({
status: 'success'
} & MemberInviteSuccessResponse)
| ({
status: 'already_member'
} & MemberInviteAlreadyMemberResponse)
| ({
status: 'failed'
} & MemberInviteFailedResponse)
MemberInviteSuccessResponse | MemberInviteAlreadyMemberResponse | MemberInviteFailedResponse
>
result: 'success'
tenant_id: string
@@ -246,7 +246,8 @@ export const zWorkspacePermissionResponse = z.object({
* BinaryFileResponse
*/
export const zBinaryFileResponse = z.custom<Blob | File>(
(value) => value instanceof Blob || value instanceof File,
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
/**
@@ -873,21 +874,9 @@ export const zMemberInviteFailedResponse = z.object({
export const zMemberInviteResponse = z.object({
invitation_results: z.array(
z.union([
z
.object({
status: z.literal('success'),
})
.and(zMemberInviteSuccessResponse),
z
.object({
status: z.literal('already_member'),
})
.and(zMemberInviteAlreadyMemberResponse),
z
.object({
status: z.literal('failed'),
})
.and(zMemberInviteFailedResponse),
zMemberInviteSuccessResponse,
zMemberInviteAlreadyMemberResponse,
zMemberInviteFailedResponse,
]),
),
result: z.literal('success'),
@@ -3093,7 +3082,7 @@ export const zToolParameter = z.object({
* ApiToolBundle
*
* This class is used to store the schema information of an api based tool.
* such as the url, the method, the parameters, etc.
* such as the url, the method, the parameters, etc.
*/
export const zApiToolBundle = z.object({
author: z.string(),
@@ -4227,7 +4216,10 @@ export const zPostWorkspacesCurrentPluginUploadGithubBody = zParserGithubUpload
export const zPostWorkspacesCurrentPluginUploadGithubResponse = zPluginDecodeResponse
export const zPostWorkspacesCurrentPluginUploadPkgBody = z.object({
pkg: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
pkg: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
/**
@@ -5255,7 +5247,10 @@ export const zPostWorkspacesCustomConfigBody = zWorkspaceCustomConfigPayload
export const zPostWorkspacesCustomConfigResponse = zWorkspaceTenantResultResponse
export const zPostWorkspacesCustomConfigWebappLogoUploadBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
/**
@@ -139,7 +139,7 @@ export const get3 = oc
path: '/account/sessions',
tags: ['openapi'],
})
.input(z.object({ query: zGetAccountSessionsQuery.optional() }))
.input(z.object({ query: zGetAccountSessionsQuery.optional() }).optional())
.output(zGetAccountSessionsResponse)
export const sessions = {
@@ -468,7 +468,7 @@ export const get13 = oc
path: '/permitted-external-apps',
tags: ['openapi'],
})
.input(z.object({ query: zGetPermittedExternalAppsQuery.optional() }))
.input(z.object({ query: zGetPermittedExternalAppsQuery.optional() }).optional())
.output(zGetPermittedExternalAppsResponse)
export const permittedExternalApps = {
@@ -248,7 +248,7 @@ export const get2 = oc
summary: 'List App Feedbacks',
tags: ['Feedback'],
})
.input(z.object({ query: zGetAppFeedbacksQuery.optional() }))
.input(z.object({ query: zGetAppFeedbacksQuery.optional() }).optional())
.output(zGetAppFeedbacksResponse)
export const feedbacks = {
@@ -382,7 +382,7 @@ export const get4 = oc
summary: 'List Annotations',
tags: ['Annotations'],
})
.input(z.object({ query: zGetAppsAnnotationsQuery.optional() }))
.input(z.object({ query: zGetAppsAnnotationsQuery.optional() }).optional())
.output(zGetAppsAnnotationsResponse)
/**
@@ -669,7 +669,7 @@ export const get6 = oc
summary: 'List Conversations',
tags: ['Conversations'],
})
.input(z.object({ query: zGetConversationsQuery.optional() }))
.input(z.object({ query: zGetConversationsQuery.optional() }).optional())
.output(zGetConversationsResponse)
export const conversations = {
@@ -1951,7 +1951,7 @@ export const get20 = oc
summary: 'List Knowledge Bases',
tags: ['Knowledge Bases'],
})
.input(z.object({ query: zGetDatasetsQuery.optional() }))
.input(z.object({ query: zGetDatasetsQuery.optional() }).optional())
.output(zGetDatasetsResponse)
/**
@@ -2367,7 +2367,7 @@ export const get31 = oc
summary: 'List Workflow Logs',
tags: ['Chatflows', 'Workflows'],
})
.input(z.object({ query: zGetWorkflowsLogsQuery.optional() }))
.input(z.object({ query: zGetWorkflowsLogsQuery.optional() }).optional())
.output(zGetWorkflowsLogsResponse)
export const logs = {
@@ -113,7 +113,8 @@ export const zAppMetaResponse = z.object({
* AudioBinaryResponse
*/
export const zAudioBinaryResponse = z.custom<Blob | File>(
(value) => value instanceof Blob || value instanceof File,
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
/**
@@ -127,7 +128,8 @@ export const zAudioTranscriptResponse = z.object({
* BinaryFileResponse
*/
export const zBinaryFileResponse = z.custom<Blob | File>(
(value) => value instanceof Blob || value instanceof File,
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
/**
@@ -1939,10 +1941,10 @@ export const zParagraphInputConfig = z.object({
})
export const zFormInputConfig = z.discriminatedUnion('type', [
zParagraphInputConfig.extend({ type: z.literal('paragraph') }),
zSelectInputConfig.extend({ type: z.literal('select') }),
zFileInputConfig.extend({ type: z.literal('file') }),
zFileListInputConfig.extend({ type: z.literal('file-list') }),
zParagraphInputConfig,
zSelectInputConfig,
zFileInputConfig,
zFileListInputConfig,
])
/**
@@ -2456,7 +2458,10 @@ export const zPutAppsAnnotationsByAnnotationIdPath = z.object({
export const zPutAppsAnnotationsByAnnotationIdResponse = zAnnotation
export const zPostAudioToTextBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
user: z.string().optional(),
})
@@ -2595,7 +2600,10 @@ export const zPostDatasetsBody = zDatasetCreatePayload
export const zPostDatasetsResponse = zDatasetDetailResponse
export const zPostDatasetsPipelineFileUploadBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
/**
@@ -2674,7 +2682,10 @@ export const zPatchDatasetsByDatasetIdResponse = zDatasetDetailWithPartialMember
export const zPostDatasetsByDatasetIdDocumentCreateByFileBody = z.object({
data: z.string().optional(),
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
export const zPostDatasetsByDatasetIdDocumentCreateByFilePath = z.object({
@@ -2699,7 +2710,10 @@ export const zPostDatasetsByDatasetIdDocumentCreateByTextResponse = zDocumentAnd
export const zPostDatasetsByDatasetIdDocumentCreateByFile2Body = z.object({
data: z.string().optional(),
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
})
export const zPostDatasetsByDatasetIdDocumentCreateByFile2Path = z.object({
@@ -2750,7 +2764,8 @@ export const zPostDatasetsByDatasetIdDocumentsDownloadZipPath = z.object({
* ZIP archive containing the requested documents.
*/
export const zPostDatasetsByDatasetIdDocumentsDownloadZipResponse = z.custom<Blob | File>(
(value) => value instanceof Blob || value instanceof File,
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
export const zPostDatasetsByDatasetIdDocumentsMetadataBody = zMetadataOperationData
@@ -2813,7 +2828,12 @@ export const zGetDatasetsByDatasetIdDocumentsByDocumentIdResponse = zDocumentDet
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdBody = z.object({
data: z.string().optional(),
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File).optional(),
file: z
.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
.optional(),
})
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdPath = z.object({
@@ -2973,7 +2993,12 @@ export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdCh
export const zPostDatasetsByDatasetIdDocumentsByDocumentIdUpdateByFileBody = z.object({
data: z.string().optional(),
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File).optional(),
file: z
.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
.optional(),
})
export const zPostDatasetsByDatasetIdDocumentsByDocumentIdUpdateByFilePath = z.object({
@@ -3002,7 +3027,12 @@ export const zPostDatasetsByDatasetIdDocumentsByDocumentIdUpdateByTextResponse =
export const zPostDatasetsByDatasetIdDocumentsByDocumentIdUpdateByFile2Body = z.object({
data: z.string().optional(),
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File).optional(),
file: z
.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
.optional(),
})
export const zPostDatasetsByDatasetIdDocumentsByDocumentIdUpdateByFile2Path = z.object({
@@ -3173,7 +3203,10 @@ export const zGetEndUsersByEndUserIdPath = z.object({
export const zGetEndUsersByEndUserIdResponse = zEndUserDetail
export const zPostFilesUploadBody = z.object({
file: z.custom<Blob | File>((value) => value instanceof Blob || value instanceof File),
file: z.custom<Blob | File>(
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
),
user: z.string().optional(),
})
@@ -3195,7 +3228,8 @@ export const zGetFilesByFileIdPreviewQuery = z.object({
* Returns the raw file content. The `Content-Type` header is set to the file's MIME type. If `as_attachment` is `true`, the file is returned as a download with `Content-Disposition: attachment`.
*/
export const zGetFilesByFileIdPreviewResponse = z.custom<Blob | File>(
(value) => value instanceof Blob || value instanceof File,
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
export const zGetFormHumanInputByFormTokenPath = z.object({
@@ -3280,7 +3314,8 @@ export const zPostTextToAudioBody = zTextToAudioPayloadWithUser
* Returns the generated audio. Generator responses are streamed by the service as `audio/mpeg`; otherwise the provider output is returned directly.
*/
export const zPostTextToAudioResponse = z.custom<Blob | File>(
(value) => value instanceof Blob || value instanceof File,
(value) =>
Blob.prototype.isPrototypeOf(Object(value)) || File.prototype.isPrototypeOf(Object(value)),
)
export const zGetWorkflowByTaskIdEventsPath = z.object({
@@ -295,7 +295,7 @@ export const get = oc
path: '/conversations',
tags: ['web'],
})
.input(z.object({ query: zGetConversationsQuery.optional() }))
.input(z.object({ query: zGetConversationsQuery.optional() }).optional())
.output(zGetConversationsResponse)
export const conversations = {
@@ -350,23 +350,23 @@ export const emailCodeLogin = {
* multiple file types with automatic validation and storage.
*
* Args:
* app_model: The associated application model
* end_user: The end user uploading the file
* app_model: The associated application model
* end_user: The end user uploading the file
*
* Form Parameters:
* file: The file to upload (required)
* source: Optional source type (datasets or None)
* file: The file to upload (required)
* source: Optional source type (datasets or None)
*
* Returns:
* dict: File information including ID, URL, and metadata
* int: HTTP status code 201 for success
* dict: File information including ID, URL, and metadata
* int: HTTP status code 201 for success
*
* Raises:
* NoFileUploadedError: No file provided in request
* TooManyFilesError: Multiple files provided (only one allowed)
* FilenameNotExistsError: File has no filename
* FileTooLargeError: File exceeds size limit
* UnsupportedFileTypeError: File type not supported
* NoFileUploadedError: No file provided in request
* TooManyFilesError: Multiple files provided (only one allowed)
* FilenameNotExistsError: File has no filename
* FileTooLargeError: File exceeds size limit
* UnsupportedFileTypeError: File type not supported
*/
export const post9 = oc
.route({
@@ -501,10 +501,10 @@ export const get2 = oc
*
* Request body:
* {
* "inputs": {
* "content": "User input content"
* },
* "action": "Approve"
* "inputs": {
* "content": "User input content"
* },
* "action": "Approve"
* }
*/
export const post14 = oc
@@ -575,7 +575,7 @@ export const get3 = oc
path: '/login/status',
tags: ['web'],
})
.input(z.object({ query: zGetLoginStatusQuery.optional() }))
.input(z.object({ query: zGetLoginStatusQuery.optional() }).optional())
.output(zGetLoginStatusResponse)
export const status = {
@@ -771,7 +771,7 @@ export const get9 = oc
path: '/passport',
tags: ['web'],
})
.input(z.object({ query: zGetPassportQuery.optional() }))
.input(z.object({ query: zGetPassportQuery.optional() }).optional())
.output(zGetPassportResponse)
export const passport = {
@@ -786,20 +786,20 @@ export const passport = {
* to the platform storage for use in web applications.
*
* Args:
* app_model: The associated application model
* end_user: The end user making the request
* app_model: The associated application model
* end_user: The end user making the request
*
* JSON Parameters:
* url: The remote URL to download the file from (required)
* url: The remote URL to download the file from (required)
*
* Returns:
* dict: File information including ID, signed URL, and metadata
* int: HTTP status code 201 for success
* dict: File information including ID, signed URL, and metadata
* int: HTTP status code 201 for success
*
* Raises:
* RemoteFileUploadError: Failed to fetch file from remote URL
* FileTooLargeError: File exceeds size limit
* UnsupportedFileTypeError: File type not supported
* RemoteFileUploadError: Failed to fetch file from remote URL
* FileTooLargeError: File exceeds size limit
* UnsupportedFileTypeError: File type not supported
*/
export const post19 = oc
.route({
@@ -828,15 +828,15 @@ export const upload2 = {
* including content type and content length.
*
* Args:
* app_model: The associated application model
* end_user: The end user making the request
* url: URL-encoded path to the remote file
* app_model: The associated application model
* end_user: The end user making the request
* url: URL-encoded path to the remote file
*
* Returns:
* dict: Remote file information including type and length
* dict: Remote file information including type and length
*
* Raises:
* HTTPException: If the remote file cannot be accessed
* HTTPException: If the remote file cannot be accessed
*/
export const get10 = oc
.route({
@@ -893,7 +893,7 @@ export const get11 = oc
path: '/saved-messages',
tags: ['web'],
})
.input(z.object({ query: zGetSavedMessagesQuery.optional() }))
.input(z.object({ query: zGetSavedMessagesQuery.optional() }).optional())
.output(zGetSavedMessagesResponse)
/**
@@ -998,7 +998,7 @@ export const get14 = oc
path: '/webapp/access-mode',
tags: ['web'],
})
.input(z.object({ query: zGetWebappAccessModeQuery.optional() }))
.input(z.object({ query: zGetWebappAccessModeQuery.optional() }).optional())
.output(zGetWebappAccessModeResponse)
export const accessMode = {
@@ -700,10 +700,10 @@ export const zParagraphInputConfig = z.object({
})
export const zFormInputConfig = z.discriminatedUnion('type', [
zParagraphInputConfig.extend({ type: z.literal('paragraph') }),
zSelectInputConfig.extend({ type: z.literal('select') }),
zFileInputConfig.extend({ type: z.literal('file') }),
zFileListInputConfig.extend({ type: z.literal('file-list') }),
zParagraphInputConfig,
zSelectInputConfig,
zFileInputConfig,
zFileListInputConfig,
])
/**
+11 -33
View File
@@ -3,7 +3,6 @@ import fs from 'node:fs'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
import { $, defineConfig } from '@hey-api/openapi-ts'
import ts from 'typescript'
type JsonObject = Record<string, unknown>
@@ -40,16 +39,8 @@ type ApiSpec = {
}
type ApiJob = {
clean?: boolean
document: SwaggerDocument
outputPath: string
plugins?: UserConfig['plugins']
source?: {
callback: () => void
enabled: true
path: null
serialize: () => string
}
}
type ApiContractOperation = {
@@ -414,24 +405,6 @@ const writeConsoleRouterContract = (segments: string[]) => {
fs.writeFileSync(routerPath, consoleRouterContractContent(segments))
}
const createConsoleContractEntryJob = (document: SwaggerDocument, segments: string[]): ApiJob => {
return {
clean: false,
document,
outputPath: 'generated/api/console',
plugins: [],
source: {
callback: () => {
writeConsoleContractEntry(segments)
writeConsoleRouterContract(segments)
},
enabled: true,
path: null,
serialize: () => '',
},
}
}
const splitConsoleDocument = (document: SwaggerDocument) => {
const pathsBySegment = new Map<string, Record<string, Record<string, unknown>>>()
@@ -450,7 +423,12 @@ const splitConsoleDocument = (document: SwaggerDocument) => {
}),
)
return [...jobs, createConsoleContractEntryJob(document, segments)]
// An empty plugin list falls back to the generator defaults, so write the root entries
// directly instead of creating a no-op job that would also emit a client and SDK.
writeConsoleContractEntry(segments)
writeConsoleRouterContract(segments)
return jobs
}
const createApiJobs = (spec: ApiSpec): ApiJob[] => {
@@ -478,15 +456,13 @@ const createApiConfig = (job: ApiJob): UserConfig => ({
file: false,
},
output: {
...(job.clean === undefined ? {} : { clean: job.clean }),
entryFile: false,
fileName: {
suffix: '.gen',
},
path: job.outputPath,
...(job.source ? { source: job.source } : {}),
},
plugins: job.plugins ?? [
plugins: [
{
comments: false,
name: '@hey-api/typescript',
@@ -501,8 +477,10 @@ const createApiConfig = (job: ApiJob): UserConfig => ({
.call(
$.func((predicate) => {
const value = $.id('value')
const isBlob = $.binary(value, ts.SyntaxKind.InstanceOfKeyword, $.id('Blob'))
const isFile = $.binary(value, ts.SyntaxKind.InstanceOfKeyword, $.id('File'))
const objectValue = $('Object').call(value)
// `instanceof` is not exposed by the generator's AST DSL.
const isBlob = $('Blob').attr('prototype').attr('isPrototypeOf').call(objectValue)
const isFile = $('File').attr('prototype').attr('isPrototypeOf').call(objectValue)
predicate.param('value')
predicate.do($.return($.binary(isBlob, '||', isFile)))
}),
+50 -258
View File
@@ -46,8 +46,8 @@ catalogs:
specifier: 2.2.0
version: 2.2.0
'@hey-api/openapi-ts':
specifier: 0.98.2
version: 0.98.2
specifier: 0.0.0-next-20260724070045
version: 0.0.0-next-20260724070045
'@hono/node-server':
specifier: 2.0.12
version: 2.0.12
@@ -903,7 +903,7 @@ importers:
version: link:../tsconfig
'@hey-api/openapi-ts':
specifier: 'catalog:'
version: 0.98.2(@typescript/typescript6@6.0.2)(magicast@0.5.3)
version: 0.0.0-next-20260724070045(magicast@0.5.3)
'@types/node':
specifier: 'catalog:'
version: 25.9.5
@@ -1960,18 +1960,12 @@ packages:
peerDependencies:
tailwindcss: '*'
'@emnapi/core@1.11.0':
resolution: {integrity: sha512-l9Oo58x0HOP5znGzVhYW9U3e5wVuA4LAZU2AGezTmkhO1CgQRFDhDg4nneHsu/t3WniXg9QrG2nIXL/ZS8ln8Q==}
'@emnapi/core@1.11.2':
resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==}
'@emnapi/core@1.9.2':
resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==}
'@emnapi/runtime@1.11.0':
resolution: {integrity: sha512-55coeOFKHv1ywEcUXJtWU5f+Jr/W5tZDvZig8DLKSwUN1JpROQ4rk/SNOQiFWmaR/VKF4zuFyW1B8JduOSv6Pg==}
'@emnapi/runtime@1.11.1':
resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==}
@@ -2291,27 +2285,29 @@ packages:
peerDependencies:
react: '>= 16 || ^19.0.0-rc'
'@hey-api/codegen-core@0.9.0':
resolution: {integrity: sha512-OK9/R8WuujwgvnrDIPnEiIf6WnfUOi3GaEr6kIngqoI5FUQwYbeDKHE/frTVUl2A76ZQPCrMknHtPx6Gqtwf8Q==}
'@hey-api/codegen-cli@0.0.0-next-20260724070045':
resolution: {integrity: sha512-bn0ncYXv9PhqsA3u7WJuxTO8uCF/JNUn2SjmNhZkvXf/8E0iAXGkEiLZX2Ed+3cWwiEIQjrP+knrud2b16MBCQ==}
engines: {node: '>=22.18.0'}
'@hey-api/json-schema-ref-parser@1.4.3':
resolution: {integrity: sha512-UzGSDzh3QUhrnwl4atnHc2YqDO6KemYVEOwl1Ynowm/tcr0XlpdHOpyWr5UaWIJfiXTXdYRIC9k2Yxm19pcPzQ==}
'@hey-api/codegen-core@0.0.0-next-20260724070045':
resolution: {integrity: sha512-nzNZVgqrAY86CmjslqKMZM1C3Ai/zaB3lzBvOv5U3NJUO5ZOqU0LDPwMoJGQK/Dpw4TaKPWJ/arjIUS03281iw==}
engines: {node: '>=22.18.0'}
'@hey-api/openapi-ts@0.98.2':
resolution: {integrity: sha512-2nVJXH8tpFPGTBOhxyjEd1Jw0hsRqJqeTQW3kltAjVdSU4YWxeu97x5sgNOmsbsfeg6Dqz7Wfzs26walBOuswA==}
'@hey-api/json-schema-ref-parser@0.0.0-next-20260724070045':
resolution: {integrity: sha512-Od4kqGNUUhh2ZvyGcbijvH/1FNttvFvbwybuGc8mXSTdRVHz8GNMoIoXb3mkugcvuL+myqVFqBpXl/yGNtuF9A==}
engines: {node: '>=22.18.0'}
'@hey-api/openapi-ts@0.0.0-next-20260724070045':
resolution: {integrity: sha512-EZFQ2Q20sB5f39mSur1lacSDZdzhhpV/ZWyDzSLLY0fK9GhVbkltW5/y26w+sUA5aC1C2fa78jy+fgLGMra8JA==}
engines: {node: '>=22.18.0'}
hasBin: true
peerDependencies:
typescript: '>=5.5.3 || >=6.0.0 || 6.0.1-rc'
'@hey-api/shared@0.4.8':
resolution: {integrity: sha512-29Pg2FB0UW20pplYgcfiQn1hQYpbZ9D2gdDJc7nDK3xh3pvHOTGP0v3R2ueFpFnw9GN1SRhIdhiVuAYWMDimjA==}
'@hey-api/shared@0.0.0-next-20260724070045':
resolution: {integrity: sha512-1l5mWzZ09PLDXtdYWcHweefWqq+6VtXVZjeA3m+YFs+zw9lWcdYIs0LPFMKSqv2sXgnj2c1m5vK1urnDvmmqNQ==}
engines: {node: '>=22.18.0'}
'@hey-api/spec-types@0.2.0':
resolution: {integrity: sha512-ibQ8Is7evMavzr8GNyJCcTg975d8DpaMUyLmOrQ85UBdy1l6t1KuRAwgChAbesJsIlNV6gjmlXruWyegDX18Fg==}
'@hey-api/spec-types@0.0.0-next-20260724070045':
resolution: {integrity: sha512-HkYEwGQlj9X8+KYVFJYAEo4cKsMaZ8z/rF95v8ppIIleZJA+hRaFDZNZPMwCNPXtraTELcc1BUZ4f4rJaBvpLw==}
'@hey-api/types@0.1.4':
resolution: {integrity: sha512-thWfawrDIP7wSI9ioT13I5soaaqB5vAPIiZmgD8PbeEVKNrkonc0N/Sjj97ezl7oQgusZmaNphGdMKipPO6IBg==}
@@ -3425,207 +3421,104 @@ packages:
'@oxc-project/types@0.141.0':
resolution: {integrity: sha512-S4as7z0j0xQkXcJlyY5ehntwK8/wRkQb9Cyqw+J/N2rkWGQGK0SxD6X6DhQTc7qsxVTBxXbxZtBJh3mr3PtIzQ==}
'@oxc-resolver/binding-android-arm-eabi@11.21.3':
resolution: {integrity: sha512-eNU11A2WNizh04v3uyaJCootrHIaS0B9aHYXvAvVnPNk4xYSjMUjHnhQ6dewPN2MRYDskV85d1N0Aw0WNWhcyg==}
cpu: [arm]
os: [android]
'@oxc-resolver/binding-android-arm-eabi@11.24.2':
resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==}
cpu: [arm]
os: [android]
'@oxc-resolver/binding-android-arm64@11.21.3':
resolution: {integrity: sha512-8Q+ZjTLvn2dIcWsrmhdrEihm7q+ag/k+mkry7Z+t0QbbHaVxXQfvH9AewyVMh/WrpEKhQ3DDgx9fYbqeCpeOEw==}
cpu: [arm64]
os: [android]
'@oxc-resolver/binding-android-arm64@11.24.2':
resolution: {integrity: sha512-cl4icWaZFnLdg8m6qtnh5rBMuGbxc/ptStFHLeCNwr+2cZjkjNwQu/jYRS0CHlnPecOJMpuS5M6/BH+0J/YkEg==}
cpu: [arm64]
os: [android]
'@oxc-resolver/binding-darwin-arm64@11.21.3':
resolution: {integrity: sha512-wkh0qKZGHXVUDxFw3oA1TXnU2BDYY/r775oJflGeIr8uDPPoN2pk8gijQIzYRT6hoql/lg3+Tx/SaTn9e2/aGg==}
cpu: [arm64]
os: [darwin]
'@oxc-resolver/binding-darwin-arm64@11.24.2':
resolution: {integrity: sha512-At29QEMF6HajbQvgY8K6OXnHD1x9rad74xBEfmCB6ZqCGsdq75aK7tOYcTbOanMy8qdIBrfL3SMr3p/lfSlb9w==}
cpu: [arm64]
os: [darwin]
'@oxc-resolver/binding-darwin-x64@11.21.3':
resolution: {integrity: sha512-HbNc23FAQYbuyDV2vBWMez4u4mrsm5RAkniGZAWqr6lYZ3N4beeqIb776jzwRl8qL2zRhHVXpUj97X0QgogVzg==}
cpu: [x64]
os: [darwin]
'@oxc-resolver/binding-darwin-x64@11.24.2':
resolution: {integrity: sha512-A5Kqr1EUj4oIL5CF4WRssq/o5P0Y11cwoFouMRmQ7YnC/A8V93nv1nb7aSU8HwcgmXropjLNkVTl4MN87cu28Q==}
cpu: [x64]
os: [darwin]
'@oxc-resolver/binding-freebsd-x64@11.21.3':
resolution: {integrity: sha512-K6xNsTUPEUdfrn0+kbMq5nOUB5w1C5pavPQngt4TM2FpN91lP0PBe2srSpamb4d69O7h86oAi/qWX/kZNRSjkw==}
cpu: [x64]
os: [freebsd]
'@oxc-resolver/binding-freebsd-x64@11.24.2':
resolution: {integrity: sha512-R5xkRBRRz7ceH/P5Jrc6G7FmdUdgpLYyESFAUDVTNQ9K0sGPxcp4ljiwEwEqsvNcQ4sYbMRrWcHHBCu7ksAJVw==}
cpu: [x64]
os: [freebsd]
'@oxc-resolver/binding-linux-arm-gnueabihf@11.21.3':
resolution: {integrity: sha512-VcFmOpcpWX1zoEy8M58tR2M9YxM+Z9RuQhqAx5q0CTmrruaP7Gveejg75hzd/5sg5nk9G3aLALEa3hE2FsmmTQ==}
cpu: [arm]
os: [linux]
'@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2':
resolution: {integrity: sha512-k/RuYL4L/R58IBn3wT5ma3Wh4k62bp1eYCFRWCmMsasUOqL+H6sW0VGFadEzKWXFFlz+2uIMoeMk9ySSZJHgbg==}
cpu: [arm]
os: [linux]
'@oxc-resolver/binding-linux-arm-musleabihf@11.21.3':
resolution: {integrity: sha512-quVoxFLBy43hWaQbbDtQNRwAX5vX76mv7n64icAtQcJ3eNgVeblqmkupF/hAneNthdqSlnd1sTjb3aQSaDPaCQ==}
cpu: [arm]
os: [linux]
'@oxc-resolver/binding-linux-arm-musleabihf@11.24.2':
resolution: {integrity: sha512-bnHAak3ujYfH5pKk4NieFNbvYvernfoQDgwLddbZ3OtMYrem87/qjlA+u+aKG0oZcqSLGCful/6/CEA+aeAgaA==}
cpu: [arm]
os: [linux]
'@oxc-resolver/binding-linux-arm64-gnu@11.21.3':
resolution: {integrity: sha512-X0AqNZgcD07Q4V3RDK18/vYOj/HQT/FnmEFGYS2jTWqY7JO13ryE3TEs3eAIgUJhBnNkpEaiXqz3VK8M7qQhWQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@oxc-resolver/binding-linux-arm64-gnu@11.24.2':
resolution: {integrity: sha512-vDT3KHgzYp47gmtNOqL2VNhCyl5Zv643eyxm//A68J8DeUGXrvD1pZFiaT4jSfe+RInfnn1R2yVHye4enx6RnA==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@oxc-resolver/binding-linux-arm64-musl@11.21.3':
resolution: {integrity: sha512-YkaQnaKYdbuaXvRt5Qd0GpbihzVnyfR6z1SpYfIUC6RTu4NF7lDKPjVkYb+jRI2gedVO2rVpN35Y6akG6ud4Lw==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@oxc-resolver/binding-linux-arm64-musl@11.24.2':
resolution: {integrity: sha512-+kMlQvbzfyEYtu5FcjE4p+ttBLpKW4d/AsAsuE69BxV6V4twZJeIQZFfD8gh/wqglY0MkPSezWXQH0jBV13MUw==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@oxc-resolver/binding-linux-ppc64-gnu@11.21.3':
resolution: {integrity: sha512-gB9HwhrPiFqUzDeEq+y/CgAijz1YdI6BnXz5GaH2Pa9cWdutchlkGFAiAuGb/PjVQpiK6NFKzFuztxrweoit7A==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@oxc-resolver/binding-linux-ppc64-gnu@11.24.2':
resolution: {integrity: sha512-shjfMhmZ3gq9fv/w7bi3PnZlgOPG+2QAOFf0BJF0EgBSIGZ6PMLN2zbGEblTUYB/NKVDRyYhE2ff3dJ1QqNPkA==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@oxc-resolver/binding-linux-riscv64-gnu@11.21.3':
resolution: {integrity: sha512-zjDWBlYk8QGv0H8dsPUWqkfjYIIjG2TvspGkzXL0eImbgxtZorA/klKeHyolevoT3Kvbi+1iMr9Lhrh7jf54Og==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@oxc-resolver/binding-linux-riscv64-gnu@11.24.2':
resolution: {integrity: sha512-zGelwFR5oRo+b69k8Lrzun86DyUHzfKN6cnjbR9l7Z7NIRznOE/2ZvPa1IUKqAL2PzAXOdwkfVqNvO1H2RlpAw==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@oxc-resolver/binding-linux-riscv64-musl@11.21.3':
resolution: {integrity: sha512-4UfsQvacV388y1zpXL7C1x1FNYaV52JtuNRiuzrfQA2z1z6ElVrsidkGsrvQ5EgeSq1Pj7kaKqrgGkvFuxJ/tw==}
cpu: [riscv64]
os: [linux]
libc: [musl]
'@oxc-resolver/binding-linux-riscv64-musl@11.24.2':
resolution: {integrity: sha512-qxZ1SWCXJY0eyhAlP6Lmo9F2Nrtx7EkYj9oCgL8apDPCwXwCEDA2U697bbT81JIc2IrVjxO4KX6WU2N+oN9Z4w==}
cpu: [riscv64]
os: [linux]
libc: [musl]
'@oxc-resolver/binding-linux-s390x-gnu@11.21.3':
resolution: {integrity: sha512-b5uH+HKH0MP5mNBYaK75SKsJbw52URqrx2LavYdq6wb0l3ExAG5niYRP9DWUNHdKilpaBVM2bXk9HNWrH3ew7Q==}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@oxc-resolver/binding-linux-s390x-gnu@11.24.2':
resolution: {integrity: sha512-sGCecF3cx2DFlH4t/z7ApnOnXqN48p5p5mlHDEnHTAukQa2P+qMVE4CwyWE9W+q/m3QJ7kKfGrIjax31f44oFQ==}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@oxc-resolver/binding-linux-x64-gnu@11.21.3':
resolution: {integrity: sha512-PjYlmilBpNRh2ntXNYAK3Am5w/nPfEpnU/96iNx7CI8EzAn12J4JRiec63wHJTH31nLoCNxBg/829pN+3CfG3Q==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@oxc-resolver/binding-linux-x64-gnu@11.24.2':
resolution: {integrity: sha512-k/VlMMcSzMlahb3/fENM4rTlsJ0s3fFROA0KXPBmKggqmTSaE383sl8F3KCOXPLmVsYfW6hCitMhXCEtNeZxxg==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@oxc-resolver/binding-linux-x64-musl@11.21.3':
resolution: {integrity: sha512-QTBAb7JuHlZ7JUEyM8UiQi2f7m/L4swBhP2TNpYIDc9Wp/wRw1G/8sl6i13aIzQAXH7LKIm294LeOHd0lQR8zA==}
cpu: [x64]
os: [linux]
libc: [musl]
'@oxc-resolver/binding-linux-x64-musl@11.24.2':
resolution: {integrity: sha512-8hbnZyNi97b/8wapYaIF9+t9GmZKBW2vunaOc3h9HGJptH7b7XpvZqOTBSm/MpTjr7H497BlgOaSfLUdhmy2bw==}
cpu: [x64]
os: [linux]
libc: [musl]
'@oxc-resolver/binding-openharmony-arm64@11.21.3':
resolution: {integrity: sha512-4j1DFwjwv36ec9kds0jU/ucQ5Ha4ERO/H95BxR5JFf0kqUUAJ1kwII7XhTc1vZrkdJkvLGC9Q2MbpObpum8RBg==}
cpu: [arm64]
os: [openharmony]
'@oxc-resolver/binding-openharmony-arm64@11.24.2':
resolution: {integrity: sha512-MvyGik3a6pVgZ0t/kWlbmFxFLmXQJwgLsY2eYFHLpy0wGwRbfzeIGgDwQ3kXqE30z+kSXennRkCrT7TUvkptNg==}
cpu: [arm64]
os: [openharmony]
'@oxc-resolver/binding-wasm32-wasi@11.21.3':
resolution: {integrity: sha512-i8oluoel5kru/j1WNrjmQSiA3GQ7wvIYVR1IwIoZtKogAhya2iub+ZKIeSIkcJOrnzQ18Tzl/F+kL3fYOxZLvA==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
'@oxc-resolver/binding-wasm32-wasi@11.24.2':
resolution: {integrity: sha512-vHcssMPwO08RTvj/c0iOBz90attxyG3wQJ0dTcyEQK43LRpcdLWZlV5feBhv6Isn6ahbQIzHbCgfa81+RiML0Q==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
'@oxc-resolver/binding-win32-arm64-msvc@11.21.3':
resolution: {integrity: sha512-M/8dw8dD6aOs+NlPJax401CZB9I7Aut84isQLgALGGwke4Afvw+/7yYhZb94yXf6t2sPLhQLmSmtSV+2FhsOWg==}
cpu: [arm64]
os: [win32]
'@oxc-resolver/binding-win32-arm64-msvc@11.24.2':
resolution: {integrity: sha512-uokJqro2iBqkFvJdKQLP7d8/BUmFwESQFVmIJUQKj1Xn1a/LysJoe1vmeECLF5b3jsV8CAL5sEMJXX6SdK9Nhg==}
cpu: [arm64]
os: [win32]
'@oxc-resolver/binding-win32-x64-msvc@11.21.3':
resolution: {integrity: sha512-H7BCt/VnS9hnmMp42eGhZ99izSCRvlnWwy/N71K1/J8QoExwY4262Z8QiEkMDtduRJrztayDxETTckmUuAVL9Q==}
cpu: [x64]
os: [win32]
'@oxc-resolver/binding-win32-x64-msvc@11.24.2':
resolution: {integrity: sha512-UqGPmo56KDfLlfXFAFIrNflHT8tFxWGEivWg3Zeyp4Uy2NlKN1FGPr6/BxcLGG3+kZ6Wp14g5Uj+n71boqZfiw==}
cpu: [x64]
@@ -5653,6 +5546,9 @@ packages:
resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==}
engines: {node: '>=8'}
citty@0.2.2:
resolution: {integrity: sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==}
class-variance-authority@0.7.1:
resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
@@ -5700,6 +5596,7 @@ packages:
color-support@1.1.3:
resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
hasBin: true
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
@@ -6636,6 +6533,7 @@ packages:
giget@3.3.0:
resolution: {integrity: sha512-gzi2D96p+AMfDcmJHGDj3KJ9NRiwvlFAU5yfa3ROwWZmFUjX4P43x3BcyRaOMMLto1vUo7C+86+MFhYTl6Ryiw==}
hasBin: true
github-from-package@0.0.0:
resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
@@ -7016,8 +6914,8 @@ packages:
js-tokens@9.0.1:
resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
js-yaml@4.3.0:
resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==}
js-yaml@5.2.0:
resolution: {integrity: sha512-YeLUMlvR4Ou1B119LIaM0r65JvbOBooJDc9yEu0dClb/uSC5P4FrLU8OCCz/HXWvtPoIrR0dRzABTjo1sTN9Bw==}
hasBin: true
js-yaml@5.2.2:
@@ -7914,9 +7812,6 @@ packages:
resolution: {integrity: sha512-h6QFWd6lBMfjESqgQ27GjzrSDb0qbznp7VDQqp2zvgsrWut4vcchyMIzOVXvGQ2GMZgKw9RWrFNWv9WqGL0p7Q==}
engines: {node: ^20.19.0 || >=22.12.0}
oxc-resolver@11.21.3:
resolution: {integrity: sha512-2Mx3fKQz7+xgrBONjsxOgCGtMHOn38/HxMzW1I5efwXB5a4lRN0Vp40gYUJFBWJslcrvwoofTrqoTnLbwTd3pA==}
oxc-resolver@11.24.2:
resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==}
@@ -8477,11 +8372,6 @@ packages:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
semver@7.8.2:
resolution: {integrity: sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==}
engines: {node: '>=10'}
hasBin: true
semver@7.8.5:
resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==}
engines: {node: '>=10'}
@@ -9502,7 +9392,7 @@ snapshots:
'@amplitude/rrweb-snapshot@2.1.0':
dependencies:
postcss: 8.5.19
postcss: 8.5.23
'@amplitude/rrweb-types@2.0.0-alpha.40': {}
@@ -9878,12 +9768,6 @@ snapshots:
'@iconify/utils': 3.1.3
tailwindcss: 4.3.3
'@emnapi/core@1.11.0':
dependencies:
'@emnapi/wasi-threads': 1.2.2
tslib: 2.8.1
optional: true
'@emnapi/core@1.11.2':
dependencies:
'@emnapi/wasi-threads': 1.2.2
@@ -9896,11 +9780,6 @@ snapshots:
tslib: 2.8.1
optional: true
'@emnapi/runtime@1.11.0':
dependencies:
tslib: 2.8.1
optional: true
'@emnapi/runtime@1.11.1':
dependencies:
tslib: 2.8.1
@@ -10220,7 +10099,11 @@ snapshots:
dependencies:
react: 19.2.8
'@hey-api/codegen-core@0.9.0(magicast@0.5.3)':
'@hey-api/codegen-cli@0.0.0-next-20260724070045':
dependencies:
citty: 0.2.2
'@hey-api/codegen-core@0.0.0-next-20260724070045(magicast@0.5.3)':
dependencies:
'@hey-api/types': 0.1.4
ansi-colors: 4.1.3
@@ -10229,42 +10112,41 @@ snapshots:
transitivePeerDependencies:
- magicast
'@hey-api/json-schema-ref-parser@1.4.3':
'@hey-api/json-schema-ref-parser@0.0.0-next-20260724070045':
dependencies:
'@jsdevtools/ono': 7.1.3
'@types/json-schema': 7.0.15
js-yaml: 4.3.0
js-yaml: 5.2.0
'@hey-api/openapi-ts@0.98.2(@typescript/typescript6@6.0.2)(magicast@0.5.3)':
'@hey-api/openapi-ts@0.0.0-next-20260724070045(magicast@0.5.3)':
dependencies:
'@hey-api/codegen-core': 0.9.0(magicast@0.5.3)
'@hey-api/json-schema-ref-parser': 1.4.3
'@hey-api/shared': 0.4.8(magicast@0.5.3)
'@hey-api/spec-types': 0.2.0
'@hey-api/codegen-cli': 0.0.0-next-20260724070045
'@hey-api/codegen-core': 0.0.0-next-20260724070045(magicast@0.5.3)
'@hey-api/json-schema-ref-parser': 0.0.0-next-20260724070045
'@hey-api/shared': 0.0.0-next-20260724070045(magicast@0.5.3)
'@hey-api/spec-types': 0.0.0-next-20260724070045
'@hey-api/types': 0.1.4
'@lukeed/ms': 2.0.2
ansi-colors: 4.1.3
color-support: 1.1.3
commander: 15.0.0
get-tsconfig: 4.14.0
typescript: '@typescript/typescript6@6.0.2'
transitivePeerDependencies:
- magicast
'@hey-api/shared@0.4.8(magicast@0.5.3)':
'@hey-api/shared@0.0.0-next-20260724070045(magicast@0.5.3)':
dependencies:
'@hey-api/codegen-core': 0.9.0(magicast@0.5.3)
'@hey-api/json-schema-ref-parser': 1.4.3
'@hey-api/spec-types': 0.2.0
'@hey-api/codegen-core': 0.0.0-next-20260724070045(magicast@0.5.3)
'@hey-api/json-schema-ref-parser': 0.0.0-next-20260724070045
'@hey-api/spec-types': 0.0.0-next-20260724070045
'@hey-api/types': 0.1.4
ansi-colors: 4.1.3
cross-spawn: 7.0.6
open: 11.0.0
semver: 7.8.2
semver: 7.8.5
transitivePeerDependencies:
- magicast
'@hey-api/spec-types@0.2.0':
'@hey-api/spec-types@0.0.0-next-20260724070045':
dependencies:
'@hey-api/types': 0.1.4
@@ -10925,13 +10807,6 @@ snapshots:
'@napi-rs/keyring-win32-ia32-msvc': 1.3.0
'@napi-rs/keyring-win32-x64-msvc': 1.3.0
'@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.0)(@emnapi/runtime@1.11.0)':
dependencies:
'@emnapi/core': 1.11.0
'@emnapi/runtime': 1.11.0
'@tybys/wasm-util': 0.10.3
optional: true
'@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)':
dependencies:
'@emnapi/core': 1.11.2
@@ -11199,109 +11074,54 @@ snapshots:
'@oxc-project/types@0.141.0': {}
'@oxc-resolver/binding-android-arm-eabi@11.21.3':
optional: true
'@oxc-resolver/binding-android-arm-eabi@11.24.2':
optional: true
'@oxc-resolver/binding-android-arm64@11.21.3':
optional: true
'@oxc-resolver/binding-android-arm64@11.24.2':
optional: true
'@oxc-resolver/binding-darwin-arm64@11.21.3':
optional: true
'@oxc-resolver/binding-darwin-arm64@11.24.2':
optional: true
'@oxc-resolver/binding-darwin-x64@11.21.3':
optional: true
'@oxc-resolver/binding-darwin-x64@11.24.2':
optional: true
'@oxc-resolver/binding-freebsd-x64@11.21.3':
optional: true
'@oxc-resolver/binding-freebsd-x64@11.24.2':
optional: true
'@oxc-resolver/binding-linux-arm-gnueabihf@11.21.3':
optional: true
'@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2':
optional: true
'@oxc-resolver/binding-linux-arm-musleabihf@11.21.3':
optional: true
'@oxc-resolver/binding-linux-arm-musleabihf@11.24.2':
optional: true
'@oxc-resolver/binding-linux-arm64-gnu@11.21.3':
optional: true
'@oxc-resolver/binding-linux-arm64-gnu@11.24.2':
optional: true
'@oxc-resolver/binding-linux-arm64-musl@11.21.3':
optional: true
'@oxc-resolver/binding-linux-arm64-musl@11.24.2':
optional: true
'@oxc-resolver/binding-linux-ppc64-gnu@11.21.3':
optional: true
'@oxc-resolver/binding-linux-ppc64-gnu@11.24.2':
optional: true
'@oxc-resolver/binding-linux-riscv64-gnu@11.21.3':
optional: true
'@oxc-resolver/binding-linux-riscv64-gnu@11.24.2':
optional: true
'@oxc-resolver/binding-linux-riscv64-musl@11.21.3':
optional: true
'@oxc-resolver/binding-linux-riscv64-musl@11.24.2':
optional: true
'@oxc-resolver/binding-linux-s390x-gnu@11.21.3':
optional: true
'@oxc-resolver/binding-linux-s390x-gnu@11.24.2':
optional: true
'@oxc-resolver/binding-linux-x64-gnu@11.21.3':
optional: true
'@oxc-resolver/binding-linux-x64-gnu@11.24.2':
optional: true
'@oxc-resolver/binding-linux-x64-musl@11.21.3':
optional: true
'@oxc-resolver/binding-linux-x64-musl@11.24.2':
optional: true
'@oxc-resolver/binding-openharmony-arm64@11.21.3':
optional: true
'@oxc-resolver/binding-openharmony-arm64@11.24.2':
optional: true
'@oxc-resolver/binding-wasm32-wasi@11.21.3':
dependencies:
'@emnapi/core': 1.11.0
'@emnapi/runtime': 1.11.0
'@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.0)(@emnapi/runtime@1.11.0)
optional: true
'@oxc-resolver/binding-wasm32-wasi@11.24.2':
dependencies:
'@emnapi/core': 1.11.2
@@ -11309,15 +11129,9 @@ snapshots:
'@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)
optional: true
'@oxc-resolver/binding-win32-arm64-msvc@11.21.3':
optional: true
'@oxc-resolver/binding-win32-arm64-msvc@11.24.2':
optional: true
'@oxc-resolver/binding-win32-x64-msvc@11.21.3':
optional: true
'@oxc-resolver/binding-win32-x64-msvc@11.24.2':
optional: true
@@ -13384,6 +13198,8 @@ snapshots:
ci-info@4.4.0: {}
citty@0.2.2: {}
class-variance-authority@0.7.1:
dependencies:
clsx: 2.1.1
@@ -14928,7 +14744,7 @@ snapshots:
js-tokens@9.0.1: {}
js-yaml@4.3.0:
js-yaml@5.2.0:
dependencies:
argparse: 2.0.1
@@ -15992,28 +15808,6 @@ snapshots:
'@oxc-parser/binding-win32-ia32-msvc': 0.140.0
'@oxc-parser/binding-win32-x64-msvc': 0.140.0
oxc-resolver@11.21.3:
optionalDependencies:
'@oxc-resolver/binding-android-arm-eabi': 11.21.3
'@oxc-resolver/binding-android-arm64': 11.21.3
'@oxc-resolver/binding-darwin-arm64': 11.21.3
'@oxc-resolver/binding-darwin-x64': 11.21.3
'@oxc-resolver/binding-freebsd-x64': 11.21.3
'@oxc-resolver/binding-linux-arm-gnueabihf': 11.21.3
'@oxc-resolver/binding-linux-arm-musleabihf': 11.21.3
'@oxc-resolver/binding-linux-arm64-gnu': 11.21.3
'@oxc-resolver/binding-linux-arm64-musl': 11.21.3
'@oxc-resolver/binding-linux-ppc64-gnu': 11.21.3
'@oxc-resolver/binding-linux-riscv64-gnu': 11.21.3
'@oxc-resolver/binding-linux-riscv64-musl': 11.21.3
'@oxc-resolver/binding-linux-s390x-gnu': 11.21.3
'@oxc-resolver/binding-linux-x64-gnu': 11.21.3
'@oxc-resolver/binding-linux-x64-musl': 11.21.3
'@oxc-resolver/binding-openharmony-arm64': 11.21.3
'@oxc-resolver/binding-wasm32-wasi': 11.21.3
'@oxc-resolver/binding-win32-arm64-msvc': 11.21.3
'@oxc-resolver/binding-win32-x64-msvc': 11.21.3
oxc-resolver@11.24.2:
optionalDependencies:
'@oxc-resolver/binding-android-arm-eabi': 11.24.2
@@ -16833,8 +16627,6 @@ snapshots:
semver@6.3.1: {}
semver@7.8.2: {}
semver@7.8.5: {}
server-only@0.0.1: {}
@@ -17029,7 +16821,7 @@ snapshots:
jsonc-parser: 3.3.1
open: 10.2.0
oxc-parser: 0.127.0
oxc-resolver: 11.21.3
oxc-resolver: 11.24.2
recast: 0.23.12
semver: 7.8.5
use-sync-external-store: 1.6.0(react@19.2.8)
@@ -17056,7 +16848,7 @@ snapshots:
jsonc-parser: 3.3.1
open: 10.2.0
oxc-parser: 0.127.0
oxc-resolver: 11.21.3
oxc-resolver: 11.24.2
recast: 0.23.12
semver: 7.8.5
use-sync-external-store: 1.6.0(react@19.2.8)
@@ -18043,7 +17835,7 @@ time:
'@floating-ui/react@0.27.20': '2026-07-11T08:41:33.223Z'
'@formatjs/intl-localematcher@0.8.13': '2026-07-16T04:15:53.223Z'
'@heroicons/react@2.2.0': '2024-11-18T15:33:27.317Z'
'@hey-api/openapi-ts@0.98.2': '2026-06-08T05:37:17.524Z'
'@hey-api/openapi-ts@0.0.0-next-20260724070045': '2026-07-24T07:02:37.380Z'
'@hono/node-server@2.0.12': '2026-07-26T05:02:01.126Z'
'@iconify-json/heroicons@1.2.3': '2025-09-20T05:33:02.364Z'
'@iconify-json/ri@1.2.10': '2026-02-10T08:41:46.666Z'
+1 -1
View File
@@ -63,7 +63,7 @@ catalog:
'@floating-ui/react': 0.27.20
'@formatjs/intl-localematcher': 0.8.13
'@heroicons/react': 2.2.0
'@hey-api/openapi-ts': 0.98.2
'@hey-api/openapi-ts': 0.0.0-next-20260724070045
'@hono/node-server': 2.0.12
'@iconify-json/heroicons': 1.2.3
'@iconify-json/ri': 1.2.10