From c4da375610ccbbb4563e48f82624e9c396d0ff62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Bula=CC=81nek?= Date: Fri, 20 Mar 2026 14:43:41 +0100 Subject: [PATCH] feat(adk-ts): update A2A protocol schemas and types to v1 spec MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Petr Bulánek --- .../adk-ts/src/client/a2a/protocol/schemas.ts | 265 ++++++++-------- apps/adk-ts/src/client/a2a/protocol/tests.ts | 179 +++++++++++ apps/adk-ts/src/client/a2a/protocol/types.ts | 26 +- pnpm-lock.yaml | 287 ++++++++++++++---- 4 files changed, 557 insertions(+), 200 deletions(-) create mode 100644 apps/adk-ts/src/client/a2a/protocol/tests.ts diff --git a/apps/adk-ts/src/client/a2a/protocol/schemas.ts b/apps/adk-ts/src/client/a2a/protocol/schemas.ts index be533034..f5e1993e 100644 --- a/apps/adk-ts/src/client/a2a/protocol/schemas.ts +++ b/apps/adk-ts/src/client/a2a/protocol/schemas.ts @@ -7,71 +7,14 @@ import z from 'zod'; import { a2aSchema } from './utils'; -// --- Agent Card --- - -export const agentInterfaceSchema = a2aSchema( - z.object({ - url: z.string(), - protocolBinding: z.string().optional(), - tenant: z.string().optional(), - protocolVersion: z.string().optional(), - }), -); - -export const agentExtensionSchema = a2aSchema( - z.object({ - uri: z.string(), - description: z.string().optional(), - required: z.boolean().optional(), - params: z.record(z.string(), z.unknown()).optional(), - }), -); - -export const agentCapabilitiesSchema = a2aSchema( - z.object({ - streaming: z.boolean().optional(), - pushNotifications: z.boolean().optional(), - extensions: z.array(agentExtensionSchema).optional(), - extendedAgentCard: z.boolean().optional(), - }), -); - -export const agentProviderSchema = a2aSchema( - z.object({ - url: z.string(), - organization: z.string(), - }), -); - -export const agentCardSignatureSchema = a2aSchema( - z.object({ - protected: z.string(), - signature: z.string(), - header: z.record(z.string(), z.unknown()).optional(), - }), -); - -export const agentSkillSchema = a2aSchema( - z.object({ - id: z.string(), - name: z.string(), - description: z.string(), - tags: z.array(z.string()), - examples: z.array(z.string()).optional(), - inputModes: z.array(z.string()).optional(), - outputModes: z.array(z.string()).optional(), - securityRequirements: z.array(z.record(z.string(), z.unknown())).optional(), - }), -); - -// --- Security Schemes --- +// --- Security Objects --- export const authorizationCodeOAuthFlowSchema = a2aSchema( z.object({ authorizationUrl: z.string(), tokenUrl: z.string(), - refreshUrl: z.string().optional(), scopes: z.record(z.string(), z.string()), + refreshUrl: z.string().optional(), pkceRequired: z.boolean().optional(), }), ); @@ -79,24 +22,26 @@ export const authorizationCodeOAuthFlowSchema = a2aSchema( export const clientCredentialsOAuthFlowSchema = a2aSchema( z.object({ tokenUrl: z.string(), - refreshUrl: z.string().optional(), scopes: z.record(z.string(), z.string()), + refreshUrl: z.string().optional(), }), ); +// Deprecated: Use Authorization Code + PKCE instead. export const implicitOAuthFlowSchema = a2aSchema( z.object({ authorizationUrl: z.string(), - refreshUrl: z.string().optional(), scopes: z.record(z.string(), z.string()), + refreshUrl: z.string().optional(), }), ); +// Deprecated: Use Authorization Code + PKCE or Device Code. export const passwordOAuthFlowSchema = a2aSchema( z.object({ tokenUrl: z.string(), - refreshUrl: z.string().optional(), scopes: z.record(z.string(), z.string()), + refreshUrl: z.string().optional(), }), ); @@ -104,8 +49,8 @@ export const deviceCodeOAuthFlowSchema = a2aSchema( z.object({ deviceAuthorizationUrl: z.string(), tokenUrl: z.string(), - refreshUrl: z.string().optional(), scopes: z.record(z.string(), z.string()), + refreshUrl: z.string().optional(), }), ); @@ -121,32 +66,32 @@ export const oauthFlowsSchema = a2aSchema( export const apiKeySecuritySchemeSchema = a2aSchema( z.object({ - description: z.string().optional(), location: z.string(), name: z.string(), + description: z.string().optional(), }), ); export const httpAuthSecuritySchemeSchema = a2aSchema( z.object({ - description: z.string().optional(), scheme: z.string(), + description: z.string().optional(), bearerFormat: z.string().optional(), }), ); export const oauth2SecuritySchemeSchema = a2aSchema( z.object({ - description: z.string().optional(), flows: oauthFlowsSchema, + description: z.string().optional(), oauth2MetadataUrl: z.string().optional(), }), ); export const openIdConnectSecuritySchemeSchema = a2aSchema( z.object({ - description: z.string().optional(), openIdConnectUrl: z.string(), + description: z.string().optional(), }), ); @@ -156,7 +101,6 @@ export const mutualTlsSecuritySchemeSchema = a2aSchema( }), ); -// SecurityScheme uses protobuf oneof — exactly one key is present export const securitySchemeSchema = a2aSchema( z.object({ apiKeySecurityScheme: apiKeySecuritySchemeSchema.optional(), @@ -173,27 +117,85 @@ export const securityRequirementSchema = a2aSchema( }), ); +// --- Agent Discovery Objects --- + +export const agentInterfaceSchema = a2aSchema( + z.object({ + url: z.string(), + protocolBinding: z.string(), + protocolVersion: z.string(), + tenant: z.string().optional(), + }), +); + +export const agentExtensionSchema = a2aSchema( + z.object({ + uri: z.string().optional(), + description: z.string().optional(), + required: z.boolean().optional(), + params: z.record(z.string(), z.unknown()).optional(), + }), +); + +export const agentCapabilitiesSchema = a2aSchema( + z.object({ + streaming: z.boolean().optional(), + pushNotifications: z.boolean().optional(), + extensions: z.array(agentExtensionSchema).optional(), + extendedAgentCard: z.boolean().optional(), + }), +); + +export const agentProviderSchema = a2aSchema( + z.object({ + url: z.string(), + organization: z.string(), + }), +); + +export const agentCardSignatureSchema = a2aSchema( + z.object({ + protected: z.string(), + signature: z.string(), + header: z.record(z.string(), z.unknown()).optional(), + }), +); + +export const agentSkillSchema = a2aSchema( + z.object({ + id: z.string(), + name: z.string(), + description: z.string(), + tags: z.array(z.string()), + examples: z.array(z.string()).optional(), + inputModes: z.array(z.string()).optional(), + outputModes: z.array(z.string()).optional(), + securityRequirements: z.array(z.record(z.string(), z.unknown())).optional(), + }), +); + export const agentCardSchema = a2aSchema( z.object({ name: z.string(), description: z.string(), - supportedInterfaces: z.array(agentInterfaceSchema).optional(), - provider: agentProviderSchema.optional(), + supportedInterfaces: z.array(agentInterfaceSchema), version: z.string(), - documentationUrl: z.string().optional(), capabilities: agentCapabilitiesSchema, + defaultInputModes: z.array(z.string()), + defaultOutputModes: z.array(z.string()), + skills: z.array(agentSkillSchema), + provider: agentProviderSchema.optional(), + documentationUrl: z.string().optional(), securitySchemes: z.record(z.string(), securitySchemeSchema).optional(), securityRequirements: z.array(securityRequirementSchema).optional(), - defaultInputModes: z.array(z.string()).optional(), - defaultOutputModes: z.array(z.string()).optional(), - skills: z.array(agentSkillSchema).optional(), signatures: z.array(agentCardSignatureSchema).optional(), iconUrl: z.string().optional(), }), ); -// --- Parts --- +// --- Core Objects --- +// Deprecated export const textPartSchema = a2aSchema( z.object({ text: z.string(), @@ -203,6 +205,7 @@ export const textPartSchema = a2aSchema( }), ); +// Deprecated export const filePartSchema = a2aSchema( z.object({ url: z.string().optional(), @@ -213,6 +216,7 @@ export const filePartSchema = a2aSchema( }), ); +// Deprecated export const dataPartSchema = a2aSchema( z.object({ data: z.unknown(), @@ -222,75 +226,84 @@ export const dataPartSchema = a2aSchema( }), ); -// Part is a union — discriminated by presence of `text`, `url`/`raw`, or `data` -export const partSchema = a2aSchema(z.union([textPartSchema, filePartSchema, dataPartSchema])); - -// --- Artifacts --- +export const partSchema = a2aSchema( + z.object({ + text: z.string().optional(), + raw: z.string().optional(), + url: z.string().optional(), + data: z.unknown().optional(), + metadata: z.record(z.string(), z.unknown()).optional(), + filename: z.string().optional(), + mediaType: z.string().optional(), + }), +); export const artifactSchema = a2aSchema( z.object({ artifactId: z.string(), + parts: z.array(partSchema), name: z.string().optional(), description: z.string().optional(), - parts: z.array(partSchema).default([]), metadata: z.record(z.string(), z.unknown()).optional(), extensions: z.array(z.string()).optional(), }), ); -// --- Messages --- +export const roleSchema = a2aSchema(z.enum(['ROLE_UNSPECIFIED', 'ROLE_USER', 'ROLE_AGENT'])); export const messageSchema = a2aSchema( z.object({ messageId: z.string(), + role: roleSchema, + parts: z.array(partSchema), contextId: z.string().optional(), taskId: z.string().optional(), - role: z.enum(['ROLE_USER', 'ROLE_AGENT', 'ROLE_UNSPECIFIED']), - parts: z.array(partSchema).default([]), metadata: z.record(z.string(), z.unknown()).optional(), extensions: z.array(z.string()).optional(), referenceTaskIds: z.array(z.string()).optional(), }), ); -// --- Task Status --- +export const taskStateSchema = a2aSchema( + z.enum([ + 'TASK_STATE_UNSPECIFIED', + 'TASK_STATE_SUBMITTED', + 'TASK_STATE_WORKING', + 'TASK_STATE_COMPLETED', + 'TASK_STATE_FAILED', + 'TASK_STATE_CANCELED', + 'TASK_STATE_INPUT_REQUIRED', + 'TASK_STATE_REJECTED', + 'TASK_STATE_AUTH_REQUIRED', + ]), +); export const taskStatusSchema = a2aSchema( z.object({ - state: z.enum([ - 'TASK_STATE_UNSPECIFIED', - 'TASK_STATE_SUBMITTED', - 'TASK_STATE_WORKING', - 'TASK_STATE_COMPLETED', - 'TASK_STATE_FAILED', - 'TASK_STATE_CANCELED', - 'TASK_STATE_INPUT_REQUIRED', - 'TASK_STATE_REJECTED', - 'TASK_STATE_AUTH_REQUIRED', - ]), + state: taskStateSchema, message: messageSchema.optional(), timestamp: z.string().optional(), }), ); -// --- Events --- - -export const taskStatusUpdateEventSchema = a2aSchema( +export const taskSchema = a2aSchema( z.object({ - taskId: z.string(), - contextId: z.string(), + id: z.string(), status: taskStatusSchema, + contextId: z.string().optional(), + artifacts: z.array(artifactSchema).optional(), + history: z.array(messageSchema).optional(), metadata: z.record(z.string(), z.unknown()).optional(), }), ); -export const taskSchema = a2aSchema( +// --- Streaming Events --- + +export const taskStatusUpdateEventSchema = a2aSchema( z.object({ - id: z.string(), + taskId: z.string(), contextId: z.string(), status: taskStatusSchema, - artifacts: z.array(artifactSchema).optional(), - history: z.array(messageSchema).optional(), metadata: z.record(z.string(), z.unknown()).optional(), }), ); @@ -306,18 +319,18 @@ export const taskArtifactUpdateEventSchema = a2aSchema( }), ); -// --- Stream Response (oneof wrapper for streaming events) --- +// --- Operation Parameter Objects --- export const streamResponseSchema = a2aSchema( - z.union([ - z.object({ task: taskSchema }), - z.object({ statusUpdate: taskStatusUpdateEventSchema }), - z.object({ artifactUpdate: taskArtifactUpdateEventSchema }), - z.object({ message: messageSchema }), - ]), + z.object({ + task: taskSchema.optional(), + message: messageSchema.optional(), + statusUpdate: taskStatusUpdateEventSchema.optional(), + artifactUpdate: taskArtifactUpdateEventSchema.optional(), + }), ); -// --- JSONRPC Errors --- +// --- A2A Errors --- const errorBaseSchema = z.object({ message: z.string(), @@ -396,12 +409,24 @@ export const invalidAgentResponseErrorSchema = a2aSchema( }), ); -export const authenticatedExtendedCardNotConfiguredErrorSchema = a2aSchema( +export const extendedAgentCardNotConfiguredErrorSchema = a2aSchema( errorBaseSchema.extend({ code: z.literal(-32007), }), ); +export const extensionSupportRequiredErrorSchema = a2aSchema( + errorBaseSchema.extend({ + code: z.literal(-32008), + }), +); + +export const versionNotSupportedErrorSchema = a2aSchema( + errorBaseSchema.extend({ + code: z.literal(-32009), + }), +); + export const jsonRpcErrorResponseSchema = a2aSchema( z.object({ jsonrpc: z.literal('2.0'), @@ -419,17 +444,9 @@ export const jsonRpcErrorResponseSchema = a2aSchema( unsupportedOperationErrorSchema, contentTypeNotSupportedErrorSchema, invalidAgentResponseErrorSchema, - authenticatedExtendedCardNotConfiguredErrorSchema, + extendedAgentCardNotConfiguredErrorSchema, + extensionSupportRequiredErrorSchema, + versionNotSupportedErrorSchema, ]), }), ); - -export const getTaskSuccessResponseSchema = a2aSchema( - z.object({ - jsonrpc: z.literal('2.0'), - id: z.union([z.string(), z.number()]).nullable(), - result: taskSchema, - }), -); - -export const getTaskResponseSchema = a2aSchema(z.union([jsonRpcErrorResponseSchema, getTaskSuccessResponseSchema])); diff --git a/apps/adk-ts/src/client/a2a/protocol/tests.ts b/apps/adk-ts/src/client/a2a/protocol/tests.ts new file mode 100644 index 00000000..ff4903b5 --- /dev/null +++ b/apps/adk-ts/src/client/a2a/protocol/tests.ts @@ -0,0 +1,179 @@ +/** + * Copyright 2026 © IBM Corp. + * SPDX-License-Identifier: Apache-2.0 + */ + +// TODO: Enable test once a2a-js SDK v1 is released +// import type { +// AgentCapabilities, +// AgentCard, +// AgentCardSignature, +// AgentExtension, +// AgentInterface, +// AgentProvider, +// AgentSkill, +// APIKeySecurityScheme, +// Artifact, +// AuthorizationCodeOAuthFlow, +// ClientCredentialsOAuthFlow, +// ContentTypeNotSupportedError, +// DataPart, +// ExtendedAgentCardNotConfiguredError, +// ExtensionSupportRequiredError, +// FilePart, +// FileWithBytes, +// FileWithUri, +// HTTPAuthSecurityScheme, +// ImplicitOAuthFlow, +// InternalError, +// InvalidAgentResponseError, +// InvalidParamsError, +// InvalidRequestError, +// JSONParseError, +// JSONRPCError, +// JSONRPCErrorResponse, +// Message, +// MethodNotFoundError, +// MutualTLSSecurityScheme, +// OAuth2SecurityScheme, +// OAuthFlows, +// OpenIdConnectSecurityScheme, +// Part, +// PasswordOAuthFlow, +// PushNotificationNotSupportedError, +// Role, +// SecurityScheme, +// Task, +// TaskArtifactUpdateEvent, +// TaskNotCancelableError, +// TaskNotFoundError, +// TaskState, +// TaskStatus, +// TaskStatusUpdateEvent, +// TextPart, +// UnsupportedOperationError, +// VersionNotSupportedErrorm, +// } from '@a2a-js/sdk'; +// import type z from 'zod'; + +// import type { +// agentCapabilitiesSchema, +// agentCardSchema, +// agentCardSignatureSchema, +// agentExtensionSchema, +// agentInterfaceSchema, +// agentProviderSchema, +// agentSkillSchema, +// apiKeySecuritySchemeSchema, +// artifactSchema, +// authorizationCodeOAuthFlowSchema, +// clientCredentialsOAuthFlowSchema, +// contentTypeNotSupportedErrorSchema, +// dataPartSchema, +// extendedAgentCardNotConfiguredErrorSchema, +// extensionSupportRequiredErrorSchema, +// filePartSchema, +// fileWithBytesSchema, +// fileWithUriSchema, +// httpAuthSecuritySchemeSchema, +// implicitOAuthFlowSchema, +// internalErrorSchema, +// invalidAgentResponseErrorSchema, +// invalidParamsErrorSchema, +// invalidRequestErrorSchema, +// jsonParseErrorSchema, +// jsonRpcErrorResponseSchema, +// jsonRpcErrorSchema, +// messageSchema, +// methodNotFoundErrorSchema, +// mutualTlsSecuritySchemeSchema, +// oauth2SecuritySchemeSchema, +// oauthFlowsSchema, +// openIdConnectSecuritySchemeSchema, +// partSchema, +// passwordOAuthFlowSchema, +// pushNotificationNotSupportedErrorSchema, +// roleSchema, +// securitySchemeSchema, +// taskArtifactUpdateEventSchema, +// taskNotCancelableErrorSchema, +// taskNotFoundErrorSchema, +// taskSchema, +// taskStateSchema, +// taskStatusSchema, +// taskStatusUpdateEventSchema, +// textPartSchema, +// unsupportedOperationErrorSchema, +// versionNotSupportedErrorSchema, +// } from './schemas'; +// import type { VersionNotSupportedError } from './types'; + +// type Equals = (() => T extends X ? 1 : 2) extends () => T extends Y ? 1 : 2 ? true : false; + +// type Assert = T; + +// // eslint-disable-next-line @typescript-eslint/no-unused-vars +// type _ = { +// AgentCapabilities: Assert, AgentCapabilities>>; +// AgentCard: Assert, AgentCard>>; +// AgentCardSignature: Assert, AgentCardSignature>>; +// AgentExtension: Assert, AgentExtension>>; +// AgentInterface: Assert, AgentInterface>>; +// AgentProvider: Assert, AgentProvider>>; +// AgentSkill: Assert, AgentSkill>>; +// ApiKeySecurityScheme: Assert, APIKeySecurityScheme>>; +// Artifact: Assert, Artifact>>; +// AuthorizationCodeOAuthFlow: Assert< +// Equals, AuthorizationCodeOAuthFlow> +// >; +// ClientCredentialsOAuthFlow: Assert< +// Equals, ClientCredentialsOAuthFlow> +// >; +// ContentTypeNotSupportedError: Assert< +// Equals, ContentTypeNotSupportedError> +// >; +// DataPart: Assert, DataPart>>; +// ExtendedAgentCardNotConfiguredError: Assert< +// Equals, ExtendedAgentCardNotConfiguredError> +// >; +// ExtensionSupportRequiredError: Assert< +// Equals, ExtensionSupportRequiredError> +// >; +// FilePart: Assert, FilePart>>; +// FileWithBytes: Assert, FileWithBytes>>; +// FileWithUri: Assert, FileWithUri>>; +// HttpAuthSecurityScheme: Assert, HTTPAuthSecurityScheme>>; +// ImplicitOAuthFlow: Assert, ImplicitOAuthFlow>>; +// InternalError: Assert, InternalError>>; +// InvalidAgentResponseError: Assert, InvalidAgentResponseError>>; +// InvalidParamsError: Assert, InvalidParamsError>>; +// JSONParseError: Assert, JSONParseError>>; +// JSONRPCError: Assert, JSONRPCError>>; +// JSONRPCErrorResponse: Assert, JSONRPCErrorResponse>>; +// InvalidRequestError: Assert, InvalidRequestError>>; +// Message: Assert, Message>>; +// MethodNotFoundError: Assert, MethodNotFoundError>>; +// MutualTlsSecurityScheme: Assert, MutualTLSSecurityScheme>>; +// OAuth2SecurityScheme: Assert, OAuth2SecurityScheme>>; +// OAuthFlows: Assert, OAuthFlows>>; +// OpenIdConnectSecurityScheme: Assert< +// Equals, OpenIdConnectSecurityScheme> +// >; +// Part: Assert, Part>>; +// PasswordOAuthFlow: Assert, PasswordOAuthFlow>>; +// PushNotificationNotSupportedError: Assert< +// Equals, PushNotificationNotSupportedError> +// >; +// Role: Assert, Role>>; +// SecurityScheme: Assert, SecurityScheme>>; +// Task: Assert, Task>>; +// TaskArtifactUpdateEvent: Assert, TaskArtifactUpdateEvent>>; +// TaskNotCancelableError: Assert, TaskNotCancelableError>>; +// TaskNotFoundError: Assert, TaskNotFoundError>>; +// TaskState: Assert, TaskState>>; +// TaskStatus: Assert, TaskStatus>>; +// TaskStatusUpdateEvent: Assert, TaskStatusUpdateEvent>>; +// TextPart: Assert, TextPart>>; +// UnsupportedOperationError: Assert, UnsupportedOperationError>>; +// VersionNotSupportedError: Assert, VersionNotSupportedError>>; +// }; diff --git a/apps/adk-ts/src/client/a2a/protocol/types.ts b/apps/adk-ts/src/client/a2a/protocol/types.ts index 8804f83a..1d242312 100644 --- a/apps/adk-ts/src/client/a2a/protocol/types.ts +++ b/apps/adk-ts/src/client/a2a/protocol/types.ts @@ -15,15 +15,14 @@ import type { agentSkillSchema, apiKeySecuritySchemeSchema, artifactSchema, - authenticatedExtendedCardNotConfiguredErrorSchema, authorizationCodeOAuthFlowSchema, clientCredentialsOAuthFlowSchema, contentTypeNotSupportedErrorSchema, dataPartSchema, deviceCodeOAuthFlowSchema, + extendedAgentCardNotConfiguredErrorSchema, + extensionSupportRequiredErrorSchema, filePartSchema, - getTaskResponseSchema, - getTaskSuccessResponseSchema, httpAuthSecuritySchemeSchema, implicitOAuthFlowSchema, internalErrorSchema, @@ -42,6 +41,7 @@ import type { partSchema, passwordOAuthFlowSchema, pushNotificationNotSupportedErrorSchema, + roleSchema, securityRequirementSchema, securitySchemeSchema, streamResponseSchema, @@ -49,10 +49,12 @@ import type { taskNotCancelableErrorSchema, taskNotFoundErrorSchema, taskSchema, + taskStateSchema, taskStatusSchema, taskStatusUpdateEventSchema, textPartSchema, unsupportedOperationErrorSchema, + versionNotSupportedErrorSchema, } from './schemas'; export type AgentInterface = z.infer; @@ -67,6 +69,8 @@ export type AgentCardSignature = z.infer; export type AgentSkill = z.infer; +export type AgentCard = z.infer; + export type AuthorizationCodeOAuthFlow = z.infer; export type ClientCredentialsOAuthFlow = z.infer; export type ImplicitOAuthFlow = z.infer; @@ -84,8 +88,6 @@ export type MutualTLSSecurityScheme = z.infer; export type SecurityRequirement = z.infer; -export type AgentCard = z.infer; - export type TextPart = z.infer; export type FilePart = z.infer; export type DataPart = z.infer; @@ -94,8 +96,12 @@ export type Part = z.infer; export type Artifact = z.infer; +export type Role = z.infer; + export type Message = z.infer; +export type TaskState = z.infer; + export type TaskStatus = z.infer; export type TaskStatusUpdateEvent = z.infer; @@ -118,12 +124,8 @@ export type PushNotificationNotSupportedError = z.infer; export type ContentTypeNotSupportedError = z.infer; export type InvalidAgentResponseError = z.infer; -export type AuthenticatedExtendedCardNotConfiguredError = z.infer< - typeof authenticatedExtendedCardNotConfiguredErrorSchema ->; +export type ExtendedAgentCardNotConfiguredError = z.infer; +export type ExtensionSupportRequiredError = z.infer; +export type VersionNotSupportedError = z.infer; export type JSONRPCErrorResponse = z.infer; - -export type GetTaskSuccessResponse = z.infer; - -export type GetTaskResponse = z.infer; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68cf242d..858f0e9b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,25 +70,6 @@ catalogs: specifier: ^3.1.1 version: 3.1.1 -overrides: - lodash@<4.17.23: 4.17.23 - dompurify@<3.3.2: 3.3.2 - express@>=4.0.0 <4.20.0: 4.21.2 - zod@<3.22.3: 3.22.3 - js-yaml@>=4.0.0 <4.1.1: 4.1.1 - qs@<6.14.2: 6.14.2 - send@>=0.0.0 <0.19.0: 0.19.0 - serve-static@>=1.0.0 <1.16.0: 1.16.0 - cookie@<0.7.0: 0.7.0 - path-to-regexp@<0.1.12: 0.1.12 - immutable@>=5.0.0 <5.1.5: 5.1.5 - minimatch@<3.1.5: 3.1.5 - axios@<1.13.5: 1.13.5 - svgo@>=3.0.0 <3.3.3: 3.3.3 - body-parser@<1.20.3: 1.20.3 - tar@<7.5.10: 7.5.10 - '@mintlify/previewing>tar': 6.2.1 - importers: apps/adk-ts: @@ -97,7 +78,7 @@ importers: specifier: ^0.3.10 version: 0.3.10(@bufbuild/protobuf@2.11.0)(express@4.21.2) express: - specifier: 4.21.2 + specifier: ^4.18.0 || ^5.0.0 version: 4.21.2 zod: specifier: ^4.3.6 @@ -3929,8 +3910,11 @@ packages: resolution: {integrity: sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==} engines: {node: '>=4'} - axios@1.13.5: - resolution: {integrity: sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==} + axios@1.10.0: + resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==} + + axios@1.13.2: + resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -4034,6 +4018,10 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + body-parser@1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -4324,8 +4312,12 @@ packages: cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - cookie@0.7.0: - resolution: {integrity: sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ==} + cookie@0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + + cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} cookie@0.7.1: @@ -5081,6 +5073,10 @@ packages: resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} + express@4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + express@4.21.2: resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} engines: {node: '>= 0.10.0'} @@ -5163,6 +5159,10 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + finalhandler@1.3.1: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} @@ -5856,6 +5856,10 @@ packages: resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} hasBin: true + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true @@ -6001,6 +6005,9 @@ packages: lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.23: resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} @@ -6133,6 +6140,9 @@ packages: resolution: {integrity: sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==} engines: {node: '>=20'} + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} @@ -6291,6 +6301,9 @@ packages: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} @@ -6646,6 +6659,9 @@ packages: path-to-regexp@0.1.12: resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -6858,8 +6874,12 @@ packages: resolution: {integrity: sha512-tsSGN1x3h569ZSU1u6diwhltLyfUWDp3YbFHedapTmpBl0B3P6U3+Qptg7xu+v+1io1EwhdPyyRHYbEw0KN2FA==} engines: {node: '>=20'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} queue-microtask@1.2.3: @@ -6873,6 +6893,10 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} + raw-body@2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} @@ -7364,6 +7388,10 @@ packages: engines: {node: '>=10'} hasBin: true + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} @@ -7372,6 +7400,10 @@ packages: resolution: {integrity: sha512-bBZaRwLH9PN5HbLCjPId4dP5bNGEtumcErgOX952IsvOhVPrm3/AeK1y0UHA/QaPG701eg0yEnOKsCOC6X/kaA==} engines: {node: '>=20'} + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + serve-static@1.16.2: resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} @@ -7719,8 +7751,8 @@ packages: tar-stream@3.1.8: resolution: {integrity: sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==} - tar@6.2.1: - resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + tar@6.1.15: + resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} engines: {node: '>=10'} deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me @@ -8367,10 +8399,10 @@ packages: zod-to-json-schema@3.20.4: resolution: {integrity: sha512-Un9+kInJ2Zt63n6Z7mLqBifzzPcOyX+b+Exuzf7L1+xqck9Q2EPByyTRduV3kmSPaXaRer1JCsucubpgL1fipg==} peerDependencies: - zod: 3.22.3 + zod: ^3.20.0 - zod@3.22.3: - resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} + zod@3.21.4: + resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} @@ -10054,7 +10086,7 @@ snapshots: fs-extra: 11.2.0 ink: 6.3.0(@types/react@19.2.14)(react@19.2.3) inquirer: 12.3.0(@types/node@25.4.0) - js-yaml: 4.1.1 + js-yaml: 4.1.0 mdast-util-mdx-jsx: 3.2.0 react: 19.2.3 semver: 7.7.2 @@ -10097,8 +10129,8 @@ snapshots: hast-util-to-text: 4.0.2 hex-rgb: 5.0.0 ignore: 7.0.5 - js-yaml: 4.1.1 - lodash: 4.17.23 + js-yaml: 4.1.0 + lodash: 4.17.21 mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.0.0 mdast-util-mdx: 3.0.0 @@ -10158,8 +10190,8 @@ snapshots: hast-util-to-text: 4.0.2 hex-rgb: 5.0.0 ignore: 7.0.5 - js-yaml: 4.1.1 - lodash: 4.17.23 + js-yaml: 4.1.0 + lodash: 4.17.21 mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.0.0 mdast-util-mdx: 3.0.0 @@ -10254,14 +10286,14 @@ snapshots: '@mintlify/models@0.0.255': dependencies: - axios: 1.13.5 + axios: 1.10.0 openapi-types: 12.1.3 transitivePeerDependencies: - debug '@mintlify/models@0.0.283': dependencies: - axios: 1.13.5 + axios: 1.13.2 openapi-types: 12.1.3 transitivePeerDependencies: - debug @@ -10285,7 +10317,7 @@ snapshots: favicons: 7.2.0 front-matter: 4.0.2 fs-extra: 11.1.0 - js-yaml: 4.1.1 + js-yaml: 4.1.0 openapi-types: 12.1.3 sharp: 0.33.5 sharp-ico: 0.1.5 @@ -10315,18 +10347,18 @@ snapshots: better-opn: 3.0.2 chalk: 5.2.0 chokidar: 3.5.3 - express: 4.21.2 + express: 4.18.2 front-matter: 4.0.2 fs-extra: 11.1.0 got: 13.0.0 ink: 6.3.0(@types/react@19.2.14)(react@19.2.3) ink-spinner: 5.0.0(ink@6.3.0(@types/react@19.2.14)(react@19.2.3))(react@19.2.3) is-online: 10.0.0 - js-yaml: 4.1.1 + js-yaml: 4.1.0 openapi-types: 12.1.3 react: 19.2.3 socket.io: 4.7.2 - tar: 6.2.1 + tar: 6.1.15 unist-util-visit: 4.1.2 yargs: 17.7.1 transitivePeerDependencies: @@ -10351,7 +10383,7 @@ snapshots: '@mintlify/openapi-parser': 0.0.8 fs-extra: 11.1.1 hast-util-to-mdast: 10.1.0 - js-yaml: 4.1.1 + js-yaml: 4.1.0 mdast-util-mdx-jsx: 3.1.3 neotraverse: 0.6.18 puppeteer: 22.14.0(typescript@5.9.3) @@ -10363,7 +10395,7 @@ snapshots: unified: 11.0.5 unist-util-visit: 5.0.0 yargs: 17.7.1 - zod: 3.22.3 + zod: 3.21.4 transitivePeerDependencies: - '@radix-ui/react-popover' - '@types/react' @@ -10386,7 +10418,7 @@ snapshots: '@mintlify/openapi-parser': 0.0.8 fs-extra: 11.1.1 hast-util-to-mdast: 10.1.0 - js-yaml: 4.1.1 + js-yaml: 4.1.0 mdast-util-mdx-jsx: 3.1.3 neotraverse: 0.6.18 puppeteer: 22.14.0(typescript@5.9.3) @@ -10420,14 +10452,14 @@ snapshots: '@mintlify/mdx': 3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@mintlify/models': 0.0.255 arktype: 2.1.27 - js-yaml: 4.1.1 + js-yaml: 4.1.0 lcm: 0.0.3 - lodash: 4.17.23 + lodash: 4.17.21 object-hash: 3.0.0 openapi-types: 12.1.3 uuid: 11.1.0 - zod: 3.22.3 - zod-to-json-schema: 3.20.4(zod@3.22.3) + zod: 3.21.4 + zod-to-json-schema: 3.20.4(zod@3.21.4) transitivePeerDependencies: - '@radix-ui/react-popover' - '@types/react' @@ -10442,9 +10474,9 @@ snapshots: '@mintlify/mdx': 3.0.4(@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@mintlify/models': 0.0.283 arktype: 2.1.27 - js-yaml: 4.1.1 + js-yaml: 4.1.0 lcm: 0.0.3 - lodash: 4.17.23 + lodash: 4.17.21 object-hash: 3.0.0 openapi-types: 12.1.3 uuid: 11.1.0 @@ -11988,7 +12020,7 @@ snapshots: jsonpath-plus: 10.4.0 lodash: 4.17.23 lodash.topath: 4.5.2 - minimatch: 3.1.5 + minimatch: 3.1.2 nimma: 0.2.3 pony-cause: 1.1.1 simple-eval: 1.0.1 @@ -12876,7 +12908,15 @@ snapshots: axe-core@4.11.1: {} - axios@1.13.5: + axios@1.10.0: + dependencies: + follow-redirects: 1.15.11 + form-data: 4.0.5 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + axios@1.13.2: dependencies: follow-redirects: 1.15.11 form-data: 4.0.5 @@ -12969,6 +13009,23 @@ snapshots: binary-extensions@2.3.0: {} + body-parser@1.20.1: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + body-parser@1.20.3: dependencies: bytes: 3.1.2 @@ -12979,7 +13036,7 @@ snapshots: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.14.2 + qs: 6.13.0 raw-body: 2.5.2 type-is: 1.6.18 unpipe: 1.0.0 @@ -13257,7 +13314,9 @@ snapshots: cookie-signature@1.0.6: {} - cookie@0.7.0: {} + cookie@0.4.2: {} + + cookie@0.5.0: {} cookie@0.7.1: {} @@ -13750,7 +13809,7 @@ snapshots: '@types/node': 25.4.0 accepts: 1.3.8 base64id: 2.0.0 - cookie: 0.7.0 + cookie: 0.4.2 cors: 2.8.6 debug: 4.3.7 engine.io-parser: 5.2.3 @@ -13996,7 +14055,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.3(jiti@1.21.7)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.3(jiti@1.21.7)))(eslint@9.39.3(jiti@1.21.7)): dependencies: debug: 3.2.7 optionalDependencies: @@ -14024,7 +14083,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.39.3(jiti@1.21.7) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.3(jiti@1.21.7)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.3(jiti@1.21.7)))(eslint@9.39.3(jiti@1.21.7)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -14210,6 +14269,42 @@ snapshots: expect-type@1.3.0: {} + express@4.18.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + express@4.21.2: dependencies: accepts: 1.3.8 @@ -14233,7 +14328,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.12 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.13.0 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.0 @@ -14330,6 +14425,18 @@ snapshots: dependencies: to-regex-range: 5.0.1 + finalhandler@1.2.0: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + finalhandler@1.3.1: dependencies: debug: 2.6.9 @@ -15160,6 +15267,10 @@ snapshots: argparse: 1.0.10 esprima: 4.0.1 + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + js-yaml@4.1.1: dependencies: argparse: 2.0.1 @@ -15280,6 +15391,8 @@ snapshots: lodash.truncate@4.4.2: {} + lodash@4.17.21: {} + lodash@4.17.23: {} longest-streak@3.1.0: {} @@ -15563,6 +15676,8 @@ snapshots: meow@14.1.0: {} + merge-descriptors@1.0.1: {} + merge-descriptors@1.0.3: {} merge2@1.4.1: {} @@ -15897,6 +16012,10 @@ snapshots: dependencies: brace-expansion: 5.0.4 + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + minimatch@3.1.5: dependencies: brace-expansion: 1.1.12 @@ -16284,6 +16403,8 @@ snapshots: path-to-regexp@0.1.12: {} + path-to-regexp@0.1.7: {} + path-type@4.0.0: {} pathe@2.0.3: {} @@ -16487,7 +16608,11 @@ snapshots: dependencies: hookified: 1.15.1 - qs@6.14.2: + qs@6.11.0: + dependencies: + side-channel: 1.1.0 + + qs@6.13.0: dependencies: side-channel: 1.1.0 @@ -16497,6 +16622,13 @@ snapshots: range-parser@1.2.1: {} + raw-body@2.5.1: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + raw-body@2.5.2: dependencies: bytes: 3.1.2 @@ -17168,6 +17300,24 @@ snapshots: semver@7.7.4: {} + send@0.18.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + send@0.19.0: dependencies: debug: 2.6.9 @@ -17191,6 +17341,15 @@ snapshots: non-error: 0.1.0 type-fest: 5.4.4 + serve-static@1.15.0: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + serve-static@1.16.2: dependencies: encodeurl: 2.0.0 @@ -17753,7 +17912,7 @@ snapshots: - bare-buffer - react-native-b4a - tar@6.2.1: + tar@6.1.15: dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -18433,15 +18592,15 @@ snapshots: yoga-layout@3.2.1: {} - zod-to-json-schema@3.20.4(zod@3.22.3): + zod-to-json-schema@3.20.4(zod@3.21.4): dependencies: - zod: 3.22.3 + zod: 3.21.4 zod-to-json-schema@3.20.4(zod@3.24.0): dependencies: zod: 3.24.0 - zod@3.22.3: {} + zod@3.21.4: {} zod@3.23.8: {}