diff --git a/genkit-tools/common/package.json b/genkit-tools/common/package.json index ca5fcddcc0..24c71fbb10 100644 --- a/genkit-tools/common/package.json +++ b/genkit-tools/common/package.json @@ -33,8 +33,7 @@ "uuid": "^9.0.1", "winston": "^3.11.0", "yaml": "^2.4.1", - "zod": "^3.22.4", - "zod-to-json-schema": "^3.22.4" + "zod": "^4.0.0" }, "devDependencies": { "@jest/globals": "^29.7.0", diff --git a/genkit-tools/common/src/types/eval.ts b/genkit-tools/common/src/types/eval.ts index 13f556f1d4..fb4d1855b5 100644 --- a/genkit-tools/common/src/types/eval.ts +++ b/genkit-tools/common/src/types/eval.ts @@ -16,7 +16,6 @@ import type { JSONSchema7 } from 'json-schema'; import { z } from 'zod'; -import zodToJsonSchema from 'zod-to-json-schema'; import type { CreateDatasetRequest, ListEvalKeysRequest, @@ -37,34 +36,22 @@ export const ModelInferenceInputSchema = z.union([ GenerateRequestSchema, ]); export type ModelInferenceInput = z.infer; -export const ModelInferenceInputJSONSchema = zodToJsonSchema( - ModelInferenceInputSchema, - { - $refStrategy: 'none', - removeAdditionalStrategy: 'strict', - } +export const ModelInferenceInputJSONSchema = z.toJSONSchema( + ModelInferenceInputSchema ) as JSONSchema7; /** * GenerateRequest JSON schema to support eval-inference using models */ -export const GenerateRequestJSONSchema = zodToJsonSchema( - GenerateRequestSchema, - { - $refStrategy: 'none', - removeAdditionalStrategy: 'strict', - } +export const GenerateRequestJSONSchema = z.toJSONSchema( + GenerateRequestSchema ) as JSONSchema7; /** * Combined GenerateInput JSON schema to support eval-inference using models */ -export const GenerateInputJSONSchema = zodToJsonSchema( - z.union([GenerateRequestSchema, GenerateActionOptionsSchema]), - { - $refStrategy: 'none', - removeAdditionalStrategy: 'strict', - } +export const GenerateInputJSONSchema = z.toJSONSchema( + z.union([GenerateRequestSchema, GenerateActionOptionsSchema]) ) as JSONSchema7; /** @@ -252,11 +239,11 @@ export interface EvalStore { export const DatasetSchemaSchema = z.object({ inputSchema: z - .record(z.any()) + .record(z.string(), z.any()) .describe('Valid JSON Schema for the `input` field of dataset entry.') .optional(), referenceSchema: z - .record(z.any()) + .record(z.string(), z.any()) .describe('Valid JSON Schema for the `reference` field of dataset entry.') .optional(), }); diff --git a/genkit-tools/common/src/types/model.ts b/genkit-tools/common/src/types/model.ts index a36d9f288f..5e55631709 100644 --- a/genkit-tools/common/src/types/model.ts +++ b/genkit-tools/common/src/types/model.ts @@ -97,7 +97,7 @@ export type Role = z.infer; export const MessageSchema = z.object({ role: RoleSchema, content: z.array(PartSchema), - metadata: z.record(z.unknown()).optional(), + metadata: z.record(z.string(), z.unknown()).optional(), }); /** @@ -114,7 +114,7 @@ export const ModelInfoSchema = z.object({ /** Friendly label for this model (e.g. "Google AI - Gemini Pro") */ label: z.string().optional(), /** Model Specific configuration. */ - configSchema: z.record(z.any()).optional(), + configSchema: z.record(z.string(), z.any()).optional(), /** Supported model capabilities. */ supports: z .object({ @@ -205,7 +205,7 @@ export type GenerationCommonConfig = typeof GenerationCommonConfigSchema; */ export const OutputConfigSchema = z.object({ format: z.string().optional(), - schema: z.record(z.any()).optional(), + schema: z.record(z.string(), z.any()).optional(), constrained: z.boolean().optional(), contentType: z.string().optional(), }); @@ -267,7 +267,7 @@ export const GenerationUsageSchema = z.object({ outputVideos: z.number().optional(), inputAudioFiles: z.number().optional(), outputAudioFiles: z.number().optional(), - custom: z.record(z.number()).optional(), + custom: z.record(z.string(), z.number()).optional(), thoughtsTokens: z.number().optional(), cachedContentTokens: z.number().optional(), }); @@ -390,7 +390,7 @@ export const GenerateActionOptionsSchema = z.object({ .object({ respond: z.array(ToolResponsePartSchema).optional(), restart: z.array(ToolRequestPartSchema).optional(), - metadata: z.record(z.any()).optional(), + metadata: z.record(z.string(), z.any()).optional(), }) .optional(), /** When true, return tool calls for manual processing instead of automatically resolving them. */ diff --git a/genkit-tools/common/src/types/parts.ts b/genkit-tools/common/src/types/parts.ts index eef420cc7b..89009c811e 100644 --- a/genkit-tools/common/src/types/parts.ts +++ b/genkit-tools/common/src/types/parts.ts @@ -22,8 +22,8 @@ const EmptyPartSchema = z.object({ toolRequest: z.never().optional(), toolResponse: z.never().optional(), data: z.unknown().optional(), - metadata: z.record(z.unknown()).optional(), - custom: z.record(z.unknown()).optional(), + metadata: z.record(z.string(), z.unknown()).optional(), + custom: z.record(z.string(), z.unknown()).optional(), reasoning: z.never().optional(), resource: z.never().optional(), }); @@ -152,7 +152,7 @@ export type DataPart = z.infer; * Zod schema of a custom part. */ export const CustomPartSchema = EmptyPartSchema.extend({ - custom: z.record(z.any()), + custom: z.record(z.string(), z.any()), }); /** diff --git a/genkit-tools/common/src/types/prompt.ts b/genkit-tools/common/src/types/prompt.ts index a09318f759..86846c313d 100644 --- a/genkit-tools/common/src/types/prompt.ts +++ b/genkit-tools/common/src/types/prompt.ts @@ -44,7 +44,7 @@ export const PromptFrontmatterSchema = z.object({ schema: z.unknown().optional(), }) .optional(), - metadata: z.record(z.unknown()).optional(), + metadata: z.record(z.string(), z.unknown()).optional(), }); export type PromptFrontmatter = z.infer; diff --git a/genkit-tools/package.json b/genkit-tools/package.json index 5ca30719a7..da0efcd664 100644 --- a/genkit-tools/package.json +++ b/genkit-tools/package.json @@ -18,8 +18,7 @@ "only-allow": "^1.2.1", "rimraf": "^6.0.1", "tsx": "^4.20.3", - "zod": "^3.25.67", - "zod-to-json-schema": "^3.24.5" + "zod": "^4.0.0" }, "pnpm": { "overrides": { diff --git a/genkit-tools/pnpm-lock.yaml b/genkit-tools/pnpm-lock.yaml index 015df58488..9ddeddb864 100644 --- a/genkit-tools/pnpm-lock.yaml +++ b/genkit-tools/pnpm-lock.yaml @@ -24,11 +24,8 @@ importers: specifier: ^4.20.3 version: 4.20.3 zod: - specifier: ^3.25.67 - version: 3.25.67 - zod-to-json-schema: - specifier: ^3.24.5 - version: 3.24.5(zod@3.25.67) + specifier: ^4.0.0 + version: 4.3.5 cli: dependencies: @@ -104,7 +101,7 @@ importers: dependencies: '@asteasolutions/zod-to-openapi': specifier: ^7.0.0 - version: 7.3.4(zod@3.25.67) + version: 7.3.4(zod@4.3.5) '@inquirer/prompts': specifier: ^7.8.0 version: 7.8.0(@types/node@20.19.1) @@ -175,11 +172,8 @@ importers: specifier: ^2.4.1 version: 2.8.0 zod: - specifier: ^3.22.4 - version: 3.25.67 - zod-to-json-schema: - specifier: ^3.22.4 - version: 3.24.5(zod@3.25.67) + specifier: ^4.0.0 + version: 4.3.5 devDependencies: '@jest/globals': specifier: ^29.7.0 @@ -249,7 +243,7 @@ importers: dependencies: '@asteasolutions/zod-to-openapi': specifier: ^7.0.0 - version: 7.3.4(zod@3.25.67) + version: 7.3.4(zod@4.3.5) '@genkit-ai/tools-common': specifier: workspace:* version: link:../common @@ -284,8 +278,8 @@ importers: specifier: ^1.0.4 version: 1.0.4 zod: - specifier: ^3.22.4 - version: 3.25.67 + specifier: ^4.0.0 + version: 4.3.5 devDependencies: '@types/express': specifier: ~4.17.21 @@ -312,8 +306,8 @@ importers: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 packages: @@ -3354,11 +3348,6 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - typescript@5.8.3: resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} engines: {node: '>=14.17'} @@ -3517,6 +3506,9 @@ packages: zod@3.25.67: resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} + zod@4.3.5: + resolution: {integrity: sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==} + snapshots: '@ampproject/remapping@2.3.0': @@ -3524,10 +3516,10 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@asteasolutions/zod-to-openapi@7.3.4(zod@3.25.67)': + '@asteasolutions/zod-to-openapi@7.3.4(zod@4.3.5)': dependencies: openapi3-ts: 4.3.1 - zod: 3.25.67 + zod: 4.3.5 '@babel/code-frame@7.24.2': dependencies: @@ -7109,8 +7101,6 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript@4.9.5: {} - typescript@5.8.3: {} unbox-primitive@1.0.2: @@ -7284,3 +7274,5 @@ snapshots: zod: 3.25.67 zod@3.25.67: {} + + zod@4.3.5: {} diff --git a/genkit-tools/scripts/schema-exporter.ts b/genkit-tools/scripts/schema-exporter.ts index 48df79b56a..7a6082ff6c 100644 --- a/genkit-tools/scripts/schema-exporter.ts +++ b/genkit-tools/scripts/schema-exporter.ts @@ -18,7 +18,6 @@ import * as fs from 'fs'; import type { JSONSchema7 } from 'json-schema'; import * as path from 'path'; import * as z from 'zod'; -import { zodToJsonSchema } from 'zod-to-json-schema'; /** List of files that contain types to be exported. */ const EXPORTED_TYPE_MODULES = [ @@ -53,12 +52,11 @@ function generateJsonSchema(modulePaths: string[]): JSONSchema7 { }); } // Putting all of the schemas in an object and later extracting out the definitions is the most succinct way. - const { $defs } = zodToJsonSchema(z.object(schemas), { - definitions: schemas, - definitionPath: '$defs', - target: 'jsonSchema7', - }) as JSONSchema7; - return { $schema: 'http://json-schema.org/draft-07/schema#', $defs }; + const jsonSchema = z.toJSONSchema(z.object(schemas)) as any; + return { + $schema: 'http://json-schema.org/draft-07/schema#', + $defs: jsonSchema.properties, + }; } if (!process.argv[2]) { diff --git a/genkit-tools/telemetry-server/package.json b/genkit-tools/telemetry-server/package.json index 7f0b65e78a..2839c5b265 100644 --- a/genkit-tools/telemetry-server/package.json +++ b/genkit-tools/telemetry-server/package.json @@ -37,7 +37,7 @@ "async-mutex": "^0.5.0", "express": "^4.21.0", "lockfile": "^1.0.4", - "zod": "^3.22.4" + "zod": "^4.0.0" }, "devDependencies": { "@types/express": "~4.17.21", @@ -48,7 +48,7 @@ "rimraf": "^6.0.1", "genversion": "^3.2.0", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/types/index.d.ts", "exports": { diff --git a/js/ai/package.json b/js/ai/package.json index bd5d81f3f1..ecb001d2bd 100644 --- a/js/ai/package.json +++ b/js/ai/package.json @@ -45,7 +45,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0", + "typescript": "^5.5.0", "yaml": "^2.7.0" }, "types": "lib/index.d.ts", @@ -166,4 +166,4 @@ ] } } -} +} \ No newline at end of file diff --git a/js/ai/src/chat.ts b/js/ai/src/chat.ts index 773b949ef6..b819edb0ac 100644 --- a/js/ai/src/chat.ts +++ b/js/ai/src/chat.ts @@ -185,7 +185,7 @@ export class Chat { return response; } ) - ); + ) as Promise>>; } sendStream< @@ -193,7 +193,7 @@ export class Chat { CustomOptions extends z.ZodTypeAny = typeof GenerationCommonConfigSchema, >( options: string | Part[] | GenerateStreamOptions - ): GenerateStreamResponse> { + ): GenerateStreamResponse { const channel = new Channel(); const resolvedOptions = resolveSendOptions(options); diff --git a/js/ai/src/check-operation.ts b/js/ai/src/check-operation.ts index 14c62d984a..7d010754be 100644 --- a/js/ai/src/check-operation.ts +++ b/js/ai/src/check-operation.ts @@ -36,5 +36,5 @@ export async function checkOperation( message: `Failed to resolve background action from original request: ${operation.action}`, }); } - return await backgroundAction.check(operation); + return (await backgroundAction.check(operation)) as unknown as Operation; } diff --git a/js/ai/src/embedder.ts b/js/ai/src/embedder.ts index c386b07b15..aa95c47377 100644 --- a/js/ai/src/embedder.ts +++ b/js/ai/src/embedder.ts @@ -213,8 +213,8 @@ export async function embed( : [params.content], options: { version: embedder.version, - ...embedder.config, - ...params.options, + ...(embedder.config || {} as any), + ...(params.options || {} as any), }, }); return response.embeddings; @@ -234,9 +234,9 @@ async function resolveEmbedder< ): Promise> { if (typeof params.embedder === 'string') { return { - embedderAction: await registry.lookupAction( + embedderAction: (await registry.lookupAction( `/embedder/${params.embedder}` - ), + )) as unknown as EmbedderAction, }; } else if (Object.hasOwnProperty.call(params.embedder, '__action')) { return { @@ -245,9 +245,9 @@ async function resolveEmbedder< } else if (Object.hasOwnProperty.call(params.embedder, 'name')) { const ref = params.embedder as EmbedderReference; return { - embedderAction: await registry.lookupAction( + embedderAction: (await registry.lookupAction( `/embedder/${(params.embedder as EmbedderReference).name}` - ), + )) as unknown as EmbedderAction, config: { ...ref.config, }, @@ -273,11 +273,13 @@ export async function embedMany< ): Promise { let embedder: EmbedderAction; if (typeof params.embedder === 'string') { - embedder = await registry.lookupAction(`/embedder/${params.embedder}`); + embedder = (await registry.lookupAction( + `/embedder/${params.embedder}` + )) as unknown as EmbedderAction; } else if (Object.hasOwnProperty.call(params.embedder, 'info')) { - embedder = await registry.lookupAction( + embedder = (await registry.lookupAction( `/embedder/${(params.embedder as EmbedderReference).name}` - ); + )) as unknown as EmbedderAction; } else { embedder = params.embedder as EmbedderAction; } diff --git a/js/ai/src/evaluator.ts b/js/ai/src/evaluator.ts index 1c2146ea20..cf9899f1f1 100644 --- a/js/ai/src/evaluator.ts +++ b/js/ai/src/evaluator.ts @@ -91,7 +91,7 @@ export type EvalResponses = z.infer; export type EvaluatorFn< EvalDataPoint extends - typeof BaseEvalDataPointSchema = typeof BaseEvalDataPointSchema, + typeof BaseEvalDataPointSchema = typeof BaseEvalDataPointSchema, CustomOptions extends z.ZodTypeAny = z.ZodTypeAny, > = ( input: z.infer, @@ -154,7 +154,7 @@ export interface EvaluatorOptions< export function defineEvaluator< DataPoint extends typeof BaseDataPointSchema = typeof BaseDataPointSchema, EvalDataPoint extends - typeof BaseEvalDataPointSchema = typeof BaseEvalDataPointSchema, + typeof BaseEvalDataPointSchema = typeof BaseEvalDataPointSchema, EvaluatorOpts extends z.ZodTypeAny = z.ZodTypeAny, >( registry: Registry, @@ -174,7 +174,7 @@ export function defineEvaluator< export function evaluator< DataPoint extends typeof BaseDataPointSchema = typeof BaseDataPointSchema, EvalDataPoint extends - typeof BaseEvalDataPointSchema = typeof BaseEvalDataPointSchema, + typeof BaseEvalDataPointSchema = typeof BaseEvalDataPointSchema, EvaluatorOpts extends z.ZodTypeAny = z.ZodTypeAny, >( options: EvaluatorOptions, @@ -241,7 +241,10 @@ export function evaluator< output: datapoint.output, context: datapoint.context, }; - const evalOutputPromise = runner(datapoint, i.options) + const evalOutputPromise = runner( + datapoint as z.infer, + (i as any).options + ) .then((result) => ({ ...result, traceId, @@ -311,11 +314,13 @@ export async function evaluate< ): Promise { let evaluator: EvaluatorAction; if (typeof params.evaluator === 'string') { - evaluator = await registry.lookupAction(`/evaluator/${params.evaluator}`); + evaluator = (await registry.lookupAction( + `/evaluator/${params.evaluator}` + )) as unknown as EvaluatorAction; } else if (Object.hasOwnProperty.call(params.evaluator, 'info')) { - evaluator = await registry.lookupAction( + evaluator = (await registry.lookupAction( `/evaluator/${params.evaluator.name}` - ); + )) as unknown as EvaluatorAction; } else { evaluator = params.evaluator as EvaluatorAction; } diff --git a/js/ai/src/generate.ts b/js/ai/src/generate.ts index d5c0abf168..5c587d1dca 100755 --- a/js/ai/src/generate.ts +++ b/js/ai/src/generate.ts @@ -359,7 +359,7 @@ function messagesFromOptions(options: GenerateOptions): MessageData[] { } /** A GenerationBlockedError is thrown when a generation is blocked. */ -export class GenerationBlockedError extends GenerationResponseError {} +export class GenerationBlockedError extends GenerationResponseError { } /** * Generate calls a generative model based on the provided prompt and configuration. If @@ -412,7 +412,7 @@ export async function generate< tools, resources, }); - return new GenerateResponse(response, { + return new GenerateResponse>(response, { request: response.request ?? request, parser: resolvedFormat?.handler(request.output?.schema).parseMessage, }); @@ -629,7 +629,7 @@ export type GenerateStreamOptions< export interface GenerateStreamResponse { get stream(): AsyncIterable; - get response(): Promise>; + get response(): Promise>>; } export function generateStream< diff --git a/js/ai/src/generate/action.ts b/js/ai/src/generate/action.ts index 8d755e3686..3817dd7cd4 100644 --- a/js/ai/src/generate/action.ts +++ b/js/ai/src/generate/action.ts @@ -103,8 +103,8 @@ export function defineGenerateAction(registry: Registry): GenerateAction { }); return streamingRequested ? generateFn((c: GenerateResponseChunk) => - sendChunk(c.toJSON ? c.toJSON() : c) - ) + sendChunk(c.toJSON ? c.toJSON() : c) + ) : generateFn(); } ); @@ -365,7 +365,7 @@ async function generate( if (model.__action.actionType === 'background-model') { response = new GenerateResponse( - { operation: modelResponse }, + { operation: modelResponse, custom: {}, raw: {} }, { request, parser: format?.handler(request.output?.schema).parseMessage, @@ -457,7 +457,7 @@ async function actionToGenerateRequest( ) { logger.warn( `The model '${model.__action.name}' does not support tools (you set: ${options.tools?.length} tools). ` + - 'The model may not behave the way you expect.' + 'The model may not behave the way you expect.' ); } if ( @@ -467,7 +467,7 @@ async function actionToGenerateRequest( ) { logger.warn( `The model '${model.__action.name}' does not support the 'toolChoice' option (you set: ${options.toolChoice}). ` + - 'The model may not behave the way you expect.' + 'The model may not behave the way you expect.' ); } const out: ModelRequest = { diff --git a/js/ai/src/generate/resolve-tool-requests.ts b/js/ai/src/generate/resolve-tool-requests.ts index c72fb096d4..dc25aca0b0 100644 --- a/js/ai/src/generate/resolve-tool-requests.ts +++ b/js/ai/src/generate/resolve-tool-requests.ts @@ -104,7 +104,7 @@ export async function resolveToolRequest( if (isPromptAction(tool)) { const metadata = tool.__action.metadata as Record; const preamble = { - ...(await tool(part.toolRequest.input)), + ...((await tool(part.toolRequest.input)) as any), model: metadata.prompt?.model, }; const response = { @@ -409,6 +409,8 @@ export async function resolveResumeOption( finishMessage: 'One or more tools triggered interrupts while resuming generation. The model was not called.', message: lastMessage, + custom: {}, + raw: {}, }, }; } diff --git a/js/ai/src/generate/response.ts b/js/ai/src/generate/response.ts index 85d36fa5dc..4dcb74e423 100644 --- a/js/ai/src/generate/response.ts +++ b/js/ai/src/generate/response.ts @@ -222,6 +222,7 @@ export class GenerateResponse implements ModelResponseData { finishMessage: this.finishMessage, usage: this.usage, custom: (this.custom as { toJSON?: () => any }).toJSON?.() || this.custom, + raw: this.raw, request: this.request, operation: this.operation, }; diff --git a/js/ai/src/model-types.ts b/js/ai/src/model-types.ts index cf20755ac8..b638176cc0 100644 --- a/js/ai/src/model-types.ts +++ b/js/ai/src/model-types.ts @@ -67,7 +67,7 @@ export type Role = z.infer; export const MessageSchema = z.object({ role: RoleSchema, content: z.array(PartSchema), - metadata: z.record(z.unknown()).optional(), + metadata: z.record(z.string(), z.unknown()).optional(), }); /** @@ -84,7 +84,7 @@ export const ModelInfoSchema = z.object({ /** Friendly label for this model (e.g. "Google AI - Gemini Pro") */ label: z.string().optional(), /** Model Specific configuration. */ - configSchema: z.record(z.any()).optional(), + configSchema: z.record(z.string(), z.any()).optional(), /** Supported model capabilities. */ supports: z .object({ @@ -132,15 +132,15 @@ export const ToolDefinitionSchema = z.object({ name: z.string(), description: z.string(), inputSchema: z - .record(z.any()) + .record(z.string(), z.any()) .describe('Valid JSON Schema representing the input of the tool.') .nullish(), outputSchema: z - .record(z.any()) + .record(z.string(), z.any()) .describe('Valid JSON Schema describing the output of the tool.') .nullish(), metadata: z - .record(z.any()) + .record(z.string(), z.any()) .describe('additional metadata for this tool definition') .optional(), }); @@ -175,7 +175,7 @@ export const GenerationCommonConfigSchema = z .string() .describe( 'A specific version of a model family, e.g. `gemini-2.0-flash` ' + - 'for the `googleai` family.' + 'for the `googleai` family.' ) .optional(), temperature: z @@ -220,7 +220,7 @@ export type GenerationCommonConfig = typeof GenerationCommonConfigSchema; */ export const OutputConfigSchema = z.object({ format: z.string().optional(), - schema: z.record(z.any()).optional(), + schema: z.record(z.string(), z.any()).optional(), constrained: z.boolean().optional(), contentType: z.string().optional(), }); @@ -282,7 +282,7 @@ export const GenerationUsageSchema = z.object({ outputVideos: z.number().optional(), inputAudioFiles: z.number().optional(), outputAudioFiles: z.number().optional(), - custom: z.record(z.number()).optional(), + custom: z.record(z.string(), z.number()).optional(), thoughtsTokens: z.number().optional(), cachedContentTokens: z.number().optional(), }); @@ -309,7 +309,7 @@ export const CandidateSchema = z.object({ usage: GenerationUsageSchema.optional(), finishReason: FinishReasonSchema, finishMessage: z.string().optional(), - custom: z.unknown(), + custom: z.unknown().optional(), }); /** @deprecated All responses now return a single candidate. Only the first candidate will be used if supplied. */ export type CandidateData = z.infer; @@ -333,8 +333,8 @@ export const ModelResponseSchema = z.object({ latencyMs: z.number().optional(), usage: GenerationUsageSchema.optional(), /** @deprecated use `raw` instead */ - custom: z.unknown(), - raw: z.unknown(), + custom: z.unknown().optional(), + raw: z.unknown().optional(), request: GenerateRequestSchema.optional(), operation: OperationSchema.optional(), }); @@ -407,7 +407,7 @@ export const GenerateActionOptionsSchema = z.object({ .object({ respond: z.array(ToolResponsePartSchema).optional(), restart: z.array(ToolRequestPartSchema).optional(), - metadata: z.record(z.any()).optional(), + metadata: z.record(z.string(), z.any()).optional(), }) .optional(), /** When true, return tool calls for manual processing instead of automatically resolving them. */ diff --git a/js/ai/src/model.ts b/js/ai/src/model.ts index 442576e3d8..b08d20b6d3 100644 --- a/js/ai/src/model.ts +++ b/js/ai/src/model.ts @@ -155,14 +155,18 @@ export function model( Object.assign(act, { __configSchema: options.configSchema || z.unknown(), }); - return act as ModelAction; + return act as unknown as ModelAction; } function modelActionOptions< CustomOptionsSchema extends z.ZodTypeAny = z.ZodTypeAny, >( options: DefineModelOptions -): ActionParams { +): ActionParams< + typeof GenerateRequestSchema, + typeof GenerateResponseSchema, + typeof GenerateResponseChunkSchema +> { const label = options.label || options.name; const middleware = getModelMiddleware(options); return { @@ -181,7 +185,7 @@ function modelActionOptions< supports: options.supports, }, }, - use: middleware, + use: middleware as any, }; } @@ -248,7 +252,7 @@ export function defineModel< Object.assign(act, { __configSchema: options.configSchema || z.unknown(), }); - return act as ModelAction; + return act as unknown as ModelAction; } export type DefineBackgroundModelOptions< @@ -304,7 +308,7 @@ export function backgroundModel< supports: options.supports, }, }, - use: middleware, + use: middleware as any, async start(request) { const startTimeMs = performance.now(); const response = await options.start(request); @@ -318,14 +322,14 @@ export function backgroundModel< }, cancel: options.cancel ? async (op) => { - if (!options.cancel) { - throw new GenkitError({ - status: 'UNIMPLEMENTED', - message: 'cancel not implemented', - }); - } - return options.cancel(op); + if (!options.cancel) { + throw new GenkitError({ + status: 'UNIMPLEMENTED', + message: 'cancel not implemented', + }); } + return options.cancel(op); + } : undefined, }) as BackgroundModelAction; Object.assign(act, { @@ -568,5 +572,5 @@ async function lookupModel( return ( (await registry.lookupAction(`/model/${model}`)) || (await registry.lookupAction(`/background-model/${model}`)) - ); + ) as unknown as ModelAction; } diff --git a/js/ai/src/parts.ts b/js/ai/src/parts.ts index 3a81cd9660..469cb0b7db 100644 --- a/js/ai/src/parts.ts +++ b/js/ai/src/parts.ts @@ -22,8 +22,8 @@ const EmptyPartSchema = z.object({ toolRequest: z.never().optional(), toolResponse: z.never().optional(), data: z.unknown().optional(), - metadata: z.record(z.unknown()).optional(), - custom: z.record(z.unknown()).optional(), + metadata: z.record(z.string(), z.unknown()).optional(), + custom: z.record(z.string(), z.unknown()).optional(), reasoning: z.never().optional(), resource: z.never().optional(), }); @@ -154,7 +154,7 @@ export type DataPart = z.infer; * Zod schema of a custom part. */ export const CustomPartSchema = EmptyPartSchema.extend({ - custom: z.record(z.any()), + custom: z.record(z.string(), z.any()), }); /** diff --git a/js/ai/src/prompt.ts b/js/ai/src/prompt.ts index 1c489ad189..06f1e7d11f 100644 --- a/js/ai/src/prompt.ts +++ b/js/ai/src/prompt.ts @@ -76,7 +76,7 @@ export type PromptAction = Action< type: 'prompt'; }; }; - __executablePrompt: ExecutablePrompt; + __executablePrompt: ExecutablePrompt>; }; export function isPromptAction(action: Action): action is PromptAction { @@ -97,7 +97,7 @@ export type ExecutablePromptAction = type: 'executablePrompt'; }; }; - __executablePrompt: ExecutablePrompt; + __executablePrompt: ExecutablePrompt>; }; /** @@ -171,7 +171,7 @@ export interface ExecutablePrompt< stream( input?: I, opts?: PromptGenerateOptions - ): GenerateStreamResponse>; + ): GenerateStreamResponse; /** * Renders the prompt template based on user input. @@ -326,13 +326,13 @@ function definePromptAsync< use: resolvedOptions.use, ...stripUndefinedProps(renderOptions), config: { - ...resolvedOptions?.config, - ...renderOptions?.config, + ...(resolvedOptions?.config || {}), + ...(renderOptions?.config || {}), }, metadata: resolvedOptions.metadata?.metadata ? { - prompt: resolvedOptions.metadata?.metadata, - } + prompt: resolvedOptions.metadata?.metadata, + } : undefined, }); @@ -342,7 +342,10 @@ function definePromptAsync< opts.abortSignal = renderOptions.abortSignal; } // if config is empty and it was not explicitly passed in, we delete it, don't want {} - if (Object.keys(opts.config).length === 0 && !renderOptions?.config) { + if ( + Object.keys(opts.config || {}).length === 0 && + !renderOptions?.config + ) { delete opts.config; } metadata.output = opts; @@ -464,7 +467,7 @@ function wrapInExecutablePrompt< metadata?: Record; }) { const executablePrompt = (async ( - input?: I, + input?: z.infer, opts?: PromptGenerateOptions ): Promise>> => { return await runInNewSpan( @@ -480,10 +483,11 @@ function wrapInExecutablePrompt< }, async (metadata) => { const output = await generate(wrapOpts.registry, { - ...(await wrapOpts.renderOptionsFn(input, opts)), + ...(await wrapOpts.renderOptionsFn(input as z.infer, opts)), }); metadata.output = output; - return output; + // Cast to 'unknown' first to avoid type mismatch with GenerateResponse + return output as unknown as GenerateResponse>; } ); }) as ExecutablePrompt, O, CustomOptions>; @@ -491,26 +495,26 @@ function wrapInExecutablePrompt< executablePrompt.ref = { name: wrapOpts.name, metadata: wrapOpts.metadata }; executablePrompt.render = async ( - input?: I, + input?: z.infer, opts?: PromptGenerateOptions ): Promise> => { return { - ...(await wrapOpts.renderOptionsFn(input, opts)), + ...(await wrapOpts.renderOptionsFn(input as z.infer, opts)), } as GenerateOptions; }; executablePrompt.stream = ( - input?: I, + input?: z.infer, opts?: PromptGenerateOptions - ): GenerateStreamResponse> => { + ): GenerateStreamResponse => { return generateStream( wrapOpts.registry, - wrapOpts.renderOptionsFn(input, opts) + wrapOpts.renderOptionsFn(input as z.infer, opts) ); }; - executablePrompt.asTool = async (): Promise> => { - return (await wrapOpts.rendererAction) as unknown as ToolAction; + executablePrompt.asTool = async (): Promise => { + return (await wrapOpts.rendererAction) as unknown as ToolAction; }; return executablePrompt; } @@ -712,7 +716,7 @@ async function renderDotpromptToParts< if (renderred.messages.length !== 1) { throw new Error('parts tempate must produce only one message'); } - return renderred.messages[0].content; + return renderred.messages[0].content as unknown as Part[]; } /** diff --git a/js/ai/src/reranker.ts b/js/ai/src/reranker.ts index 402777c71f..ec56422458 100644 --- a/js/ai/src/reranker.ts +++ b/js/ai/src/reranker.ts @@ -139,8 +139,8 @@ export function reranker( name: options.name, inputSchema: options.configSchema ? RerankerRequestSchema.extend({ - options: options.configSchema.optional(), - }) + options: options.configSchema.optional(), + }) : RerankerRequestSchema, outputSchema: RerankerResponseSchema, metadata: { @@ -192,9 +192,13 @@ export async function rerank( ): Promise> { let reranker: RerankerAction; if (typeof params.reranker === 'string') { - reranker = await registry.lookupAction(`/reranker/${params.reranker}`); + reranker = (await registry.lookupAction( + `/reranker/${params.reranker}` + )) as unknown as RerankerAction; } else if (Object.hasOwnProperty.call(params.reranker, 'info')) { - reranker = await registry.lookupAction(`/reranker/${params.reranker.name}`); + reranker = (await registry.lookupAction( + `/reranker/${params.reranker.name}` + )) as unknown as RerankerAction; } else { reranker = params.reranker as RerankerAction; } diff --git a/js/ai/src/retriever.ts b/js/ai/src/retriever.ts index 01702acb4c..fa4a007e0c 100644 --- a/js/ai/src/retriever.ts +++ b/js/ai/src/retriever.ts @@ -147,8 +147,8 @@ export function retriever( name: options.name, inputSchema: options.configSchema ? RetrieverRequestSchema.extend({ - options: options.configSchema.optional(), - }) + options: options.configSchema.optional(), + }) : RetrieverRequestSchema, outputSchema: RetrieverResponseSchema, metadata: { @@ -207,8 +207,8 @@ export function indexer( name: options.name, inputSchema: options.configSchema ? IndexerRequestSchema.extend({ - options: options.configSchema.optional(), - }) + options: options.configSchema.optional(), + }) : IndexerRequestSchema, outputSchema: z.void(), metadata: { @@ -258,11 +258,13 @@ export async function retrieve( ): Promise> { let retriever: RetrieverAction; if (typeof params.retriever === 'string') { - retriever = await registry.lookupAction(`/retriever/${params.retriever}`); + retriever = (await registry.lookupAction( + `/retriever/${params.retriever}` + )) as unknown as RetrieverAction; } else if (Object.hasOwnProperty.call(params.retriever, 'info')) { - retriever = await registry.lookupAction( + retriever = (await registry.lookupAction( `/retriever/${params.retriever.name}` - ); + )) as unknown as RetrieverAction; } else { retriever = params.retriever as RetrieverAction; } @@ -306,9 +308,13 @@ export async function index( ): Promise { let indexer: IndexerAction; if (typeof params.indexer === 'string') { - indexer = await registry.lookupAction(`/indexer/${params.indexer}`); + indexer = (await registry.lookupAction( + `/indexer/${params.indexer}` + )) as unknown as IndexerAction; } else if (Object.hasOwnProperty.call(params.indexer, 'info')) { - indexer = await registry.lookupAction(`/indexer/${params.indexer.name}`); + indexer = (await registry.lookupAction( + `/indexer/${params.indexer.name}` + )) as unknown as IndexerAction; } else { indexer = params.indexer as IndexerAction; } diff --git a/js/ai/src/tool.ts b/js/ai/src/tool.ts index 3173a13b1c..afabbcf947 100644 --- a/js/ai/src/tool.ts +++ b/js/ai/src/tool.ts @@ -131,14 +131,14 @@ export type DynamicToolAction< /** @deprecated no-op, for backwards compatibility only. */ attach(registry: Registry): ToolAction; } & Resumable & { - __action: { - metadata: { - type: 'tool'; - }; + __action: { + metadata: { + type: 'tool'; }; }; +}; -export interface ToolRunOptions extends ActionRunOptions { +export interface ToolRunOptions extends ActionRunOptions { /** * If resumed is supplied to a tool at runtime, that means that it was previously interrupted and this is a second * @beta @@ -223,8 +223,8 @@ export async function resolveTools< } else if ((ref as ToolDefinition).name) { return await lookupToolByName( registry, - (ref as ToolDefinition).metadata?.originalName || - (ref as ToolDefinition).name + ((ref as ToolDefinition).metadata?.originalName as string) || + (ref as ToolDefinition).name ); } throw new Error('Tools must be strings, tool definitions, or actions.'); @@ -324,14 +324,14 @@ export function defineTool( config: { multipart?: true } & ToolConfig, fn?: ToolFn | MultipartToolFn ): ToolAction | MultipartToolAction { - const a = tool(config, fn); + const a = tool(config as any, fn as any); delete a.__action.metadata.dynamic; registry.registerAction(config.multipart ? 'tool.v2' : 'tool', a); if (!config.multipart) { // For non-multipart tools, we register a v2 tool action as well registry.registerAction('tool.v2', basicToolV2(config, fn as ToolFn)); } - return a as ToolAction; + return a as unknown as ToolAction; } function implementTool( @@ -401,10 +401,10 @@ export type InterruptConfig< > = ToolConfig & { /** requestMetadata adds additional `interrupt` metadata to the `toolRequest` generated by the interrupt */ requestMetadata?: - | Record - | (( - input: z.infer - ) => Record | Promise>); + | Record + | (( + input: z.infer + ) => Record | Promise>); }; export function isToolRequest(part: Part): part is ToolRequestPart { @@ -424,12 +424,12 @@ export function interrupt( ): ToolAction { const { requestMetadata, ...toolConfig } = config; - return tool(toolConfig, async (input, { interrupt }) => { + return tool(toolConfig, (async (input, { interrupt }) => { if (!config.requestMetadata) interrupt(); else if (typeof config.requestMetadata === 'object') interrupt(config.requestMetadata); else interrupt(await Promise.resolve(config.requestMetadata(input))); - }); + }) as unknown as ToolFn); } export function defineInterrupt( @@ -481,7 +481,9 @@ export function tool( config: { multipart?: true } & ToolConfig, fn?: ToolFn | MultipartToolFn ): ToolAction | MultipartToolAction { - return config.multipart ? multipartTool(config, fn) : basicTool(config, fn); + return config.multipart + ? multipartTool(config, fn as MultipartToolFn) + : basicTool(config, fn as ToolFn); } function basicTool( diff --git a/js/ai/tests/generate/generate_test.ts b/js/ai/tests/generate/generate_test.ts index a45c3ab0e8..af2f312ce6 100644 --- a/js/ai/tests/generate/generate_test.ts +++ b/js/ai/tests/generate/generate_test.ts @@ -56,7 +56,7 @@ describe('toGenerateRequest', () => { const namespacedPlugin: PluginProvider = { name: 'namespaced', - initializer: async () => {}, + initializer: async () => { }, }; registry.registerPluginProvider('namespaced', namespacedPlugin); @@ -117,7 +117,7 @@ describe('toGenerateRequest', () => { type: 'object', properties: { topic: { type: 'string' } }, required: ['topic'], - additionalProperties: true, + additionalProperties: false, $schema: 'http://json-schema.org/draft-07/schema#', }, }, @@ -142,7 +142,7 @@ describe('toGenerateRequest', () => { description: 'add two numbers together', inputSchema: { $schema: 'http://json-schema.org/draft-07/schema#', - additionalProperties: true, + additionalProperties: false, properties: { a: { type: 'number' }, b: { type: 'number' } }, required: ['a', 'b'], type: 'object', @@ -186,7 +186,7 @@ describe('toGenerateRequest', () => { type: 'object', properties: { topic: { type: 'string' } }, required: ['topic'], - additionalProperties: true, + additionalProperties: false, $schema: 'http://json-schema.org/draft-07/schema#', }, }, @@ -648,11 +648,11 @@ describe('generate', () => { content: [ requestCount == 1 ? { - toolRequest: { - name: 'multiTool', - input: {}, - }, - } + toolRequest: { + name: 'multiTool', + input: {}, + }, + } : { text: 'done' }, ], }, @@ -741,11 +741,11 @@ describe('generate', () => { content: [ requestCount == 1 ? { - toolRequest: { - name: 'fallbackTool', - input: {}, - }, - } + toolRequest: { + name: 'fallbackTool', + input: {}, + }, + } : { text: 'done' }, ], }, diff --git a/js/ai/tests/generate/response_test.ts b/js/ai/tests/generate/response_test.ts index cb4333b8b6..e46ee8acac 100644 --- a/js/ai/tests/generate/response_test.ts +++ b/js/ai/tests/generate/response_test.ts @@ -46,6 +46,7 @@ describe('GenerateResponse', () => { finishReason: 'stop', usage: {}, custom: {}, + raw: {}, }, }, ]; diff --git a/js/ai/tests/model/middleware_test.ts b/js/ai/tests/model/middleware_test.ts index 65fbb2d4ea..1d73a8cb37 100644 --- a/js/ai/tests/model/middleware_test.ts +++ b/js/ai/tests/model/middleware_test.ts @@ -724,7 +724,7 @@ describe('augmentWithContext', () => { const messages: MessageData[] = [ { role: 'user', - content: [{ metadata: { purpose: 'context', pending: true } }], + content: [{ text: '', metadata: { purpose: 'context', pending: true } }], }, ]; assert.deepEqual( @@ -924,7 +924,7 @@ describe.only('simulateConstrainedGeneration', () => { 'Output should be in JSON format and conform to the following schema:\n' + '\n' + '```\n' + - '{"type":"object","properties":{"foo":{"type":"string"}},"required":["foo"],"additionalProperties":true,"$schema":"http://json-schema.org/draft-07/schema#"}\n' + + '{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"foo":{"type":"string"}},"required":["foo"],"additionalProperties":false}\n' + '```\n', }, ], @@ -976,7 +976,7 @@ describe.only('simulateConstrainedGeneration', () => { metadata: { purpose: 'output', }, - text: 'must be json: {"type":"object","properties":{"foo":{"type":"string"}},"required":["foo"],"additionalProperties":true,"$schema":"http://json-schema.org/draft-07/schema#"}', + text: 'must be json: {"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"foo":{"type":"string"}},"required":["foo"],"additionalProperties":false}', }, ], }, @@ -1025,14 +1025,14 @@ describe.only('simulateConstrainedGeneration', () => { format: 'json', schema: { $schema: 'http://json-schema.org/draft-07/schema#', - additionalProperties: true, + type: 'object', properties: { foo: { type: 'string', }, }, required: ['foo'], - type: 'object', + additionalProperties: false, }, }, tools: [], @@ -1079,7 +1079,7 @@ describe.only('simulateConstrainedGeneration', () => { 'Output should be in JSON format and conform to the following schema:\n' + '\n' + '```\n' + - '{"type":"object","properties":{"foo":{"type":"string"}},"required":["foo"],"additionalProperties":true,"$schema":"http://json-schema.org/draft-07/schema#"}\n' + + '{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"foo":{"type":"string"}},"required":["foo"],"additionalProperties":false}\n' + '```\n', }, ], @@ -1091,14 +1091,14 @@ describe.only('simulateConstrainedGeneration', () => { format: 'json', schema: { $schema: 'http://json-schema.org/draft-07/schema#', - additionalProperties: true, + type: 'object', properties: { foo: { type: 'string', }, }, required: ['foo'], - type: 'object', + additionalProperties: false, }, }, tools: [], diff --git a/js/build.log b/js/build.log new file mode 100644 index 0000000000..0cc0bea8ee --- /dev/null +++ b/js/build.log @@ -0,0 +1,2210 @@ + +> @ build /Users/lukeschlangen/Documents/genkit/js +> pnpm install && pnpm build:libs && pnpm build:docsnippets && pnpm build:testapps + +Scope: all 54 workspace projects +Lockfile is up to date, resolution step is skipped +Already up to date + +Done in 634ms using pnpm v10.26.0 + +> @ build:libs /Users/lukeschlangen/Documents/genkit/js +> pnpm build:core && pnpm build:genkit && pnpm build:noncore + + +> @ build:core /Users/lukeschlangen/Documents/genkit/js +> pnpm -r --workspace-concurrency 1 -F core -F ai -F flow build + +No projects matched the filters "flow" in "/Users/lukeschlangen/Documents/genkit/js" +Scope: 2 of 54 workspace projects + +> @genkit-ai/core@1.27.0 build /Users/lukeschlangen/Documents/genkit/js/core +> npm-run-all genversion build:clean check compile + + +> @genkit-ai/core@1.27.0 genversion /Users/lukeschlangen/Documents/genkit/js/core +> genversion -esf src/__codegen/version.ts + + +> @genkit-ai/core@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/core +> rimraf ./lib + + +> @genkit-ai/core@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/core +> tsc + + +> @genkit-ai/core@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/core +> tsup-node + +CLI Building entry: src/action.ts, src/async-context.ts, src/async.ts, src/background-action.ts, src/context.ts, src/dynamic-action-provider.ts, src/error.ts, src/flow.ts, src/index.ts, src/logging.ts, src/node-async-context.ts, src/node.ts, src/plugin.ts, src/reflection.ts, src/registry.ts, src/schema.ts, src/statusTypes.ts, src/streaming.ts, src/telemetryTypes.ts, src/tracing.ts, src/utils.ts, src/__codegen/version.ts, src/tracing/exporter.ts, src/tracing/instrumentation.ts, src/tracing/node-telemetry-provider.ts, src/tracing/realtime-span-processor.ts, src/tracing/types.ts +CLI Using tsconfig: tsconfig.json +CLI tsup v8.5.0 +CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/core/tsup.config.ts +CLI Target: es2022 +CLI Cleaning output folder +CJS Build start +ESM Build start +CJS lib/async.js 3.15 KB +CJS lib/async-context.js 1.58 KB +CJS lib/background-action.js 6.86 KB +CJS lib/action.js 10.09 KB +CJS lib/error.js 3.54 KB +CJS lib/context.js 2.49 KB +CJS lib/flow.js 2.76 KB +CJS lib/plugin.js 777.00 B +CJS lib/node.js 1.36 KB +CJS lib/index.js 4.51 KB +CJS lib/registry.js 13.99 KB +CJS lib/reflection.js 16.05 KB +CJS lib/node-async-context.js 1.68 KB +CJS lib/statusTypes.js 4.10 KB +CJS lib/streaming.js 4.23 KB +CJS lib/schema.js 4.24 KB +CJS lib/utils.js 2.23 KB +CJS lib/tracing.js 3.91 KB +CJS lib/telemetryTypes.js 801.00 B +CJS lib/__codegen/version.js 1.07 KB +CJS lib/tracing/exporter.js 4.92 KB +CJS lib/logging.js 2.31 KB +CJS lib/dynamic-action-provider.js 4.92 KB +CJS lib/tracing/node-telemetry-provider.js 3.65 KB +CJS lib/tracing/instrumentation.js 8.23 KB +CJS lib/tracing/types.js 4.72 KB +CJS lib/tracing/realtime-span-processor.js 1.84 KB +CJS lib/async.js.map 6.64 KB +CJS lib/action.js.map 21.79 KB +CJS lib/background-action.js.map 13.74 KB +CJS lib/context.js.map 5.09 KB +CJS lib/flow.js.map 6.72 KB +CJS lib/error.js.map 5.90 KB +CJS lib/plugin.js.map 1.74 KB +CJS lib/index.js.map 3.39 KB +CJS lib/node.js.map 1.05 KB +CJS lib/statusTypes.js.map 9.47 KB +CJS lib/utils.js.map 3.24 KB +CJS lib/telemetryTypes.js.map 1.05 KB +CJS lib/schema.js.map 7.04 KB +CJS lib/streaming.js.map 8.69 KB +CJS lib/tracing/exporter.js.map 7.89 KB +CJS lib/logging.js.map 3.67 KB +CJS lib/async-context.js.map 1.87 KB +CJS lib/__codegen/version.js.map 226.00 B +CJS lib/node-async-context.js.map 1.79 KB +CJS lib/registry.js.map 24.96 KB +CJS lib/tracing/node-telemetry-provider.js.map 5.20 KB +CJS lib/tracing.js.map 5.22 KB +CJS lib/dynamic-action-provider.js.map 10.77 KB +CJS lib/tracing/instrumentation.js.map 14.86 KB +CJS lib/reflection.js.map 25.46 KB +CJS lib/tracing/types.js.map 6.08 KB +CJS lib/tracing/realtime-span-processor.js.map 2.52 KB +CJS ⚡️ Build success in 28ms +ESM lib/tracing/exporter.mjs 3.74 KB +ESM lib/statusTypes.mjs 2.39 KB +ESM lib/streaming.mjs 3.15 KB +ESM lib/__codegen/version.mjs 84.00 B +ESM lib/telemetryTypes.mjs 43.00 B +ESM lib/tracing/instrumentation.mjs 6.68 KB +ESM lib/logging.mjs 1.32 KB +ESM lib/node-async-context.mjs 553.00 B +ESM lib/utils.mjs 1.06 KB +ESM lib/node.mjs 299.00 B +ESM lib/tracing.mjs 2.26 KB +ESM lib/registry.mjs 12.56 KB +ESM lib/plugin.mjs 35.00 B +ESM lib/reflection.mjs 13.64 KB +ESM lib/action.mjs 8.12 KB +ESM lib/schema.mjs 2.35 KB +ESM lib/index.mjs 1.83 KB +ESM lib/context.mjs 1.36 KB +ESM lib/async.mjs 2.05 KB +ESM lib/dynamic-action-provider.mjs 3.76 KB +ESM lib/flow.mjs 1.70 KB +ESM lib/background-action.mjs 4.85 KB +ESM lib/error.mjs 2.25 KB +ESM lib/async-context.mjs 523.00 B +ESM lib/tracing/realtime-span-processor.mjs 797.00 B +ESM lib/tracing/node-telemetry-provider.mjs 2.42 KB +ESM lib/tracing/types.mjs 2.58 KB +ESM lib/streaming.mjs.map 8.65 KB +ESM lib/statusTypes.mjs.map 9.41 KB +ESM lib/telemetryTypes.mjs.map 71.00 B +ESM lib/node-async-context.mjs.map 1.76 KB +ESM lib/tracing/instrumentation.mjs.map 14.82 KB +ESM lib/tracing/exporter.mjs.map 7.88 KB +ESM lib/tracing.mjs.map 5.14 KB +ESM lib/node.mjs.map 1.02 KB +ESM lib/logging.mjs.map 3.63 KB +ESM lib/utils.mjs.map 3.18 KB +ESM lib/registry.mjs.map 24.94 KB +ESM lib/reflection.mjs.map 25.33 KB +ESM lib/action.mjs.map 21.73 KB +ESM lib/context.mjs.map 5.06 KB +ESM lib/index.mjs.map 3.39 KB +ESM lib/schema.mjs.map 6.94 KB +ESM lib/plugin.mjs.map 71.00 B +ESM lib/flow.mjs.map 6.68 KB +ESM lib/async.mjs.map 6.58 KB +ESM lib/error.mjs.map 5.83 KB +ESM lib/dynamic-action-provider.mjs.map 10.73 KB +ESM lib/async-context.mjs.map 1.83 KB +ESM lib/__codegen/version.mjs.map 183.00 B +ESM lib/background-action.mjs.map 13.67 KB +ESM lib/tracing/node-telemetry-provider.mjs.map 5.21 KB +ESM lib/tracing/realtime-span-processor.mjs.map 2.48 KB +ESM lib/tracing/types.mjs.map 6.00 KB +ESM ⚡️ Build success in 29ms +DTS Build start +DTS ⚡️ Build success in 2002ms +DTS lib/async.d.ts 2.80 KB +DTS lib/index.d.ts 3.27 KB +DTS lib/dynamic-action-provider.d.ts 2.68 KB +DTS lib/flow.d.ts 3.06 KB +DTS lib/logging.d.ts 1.33 KB +DTS lib/node-async-context.d.ts 995.00 B +DTS lib/async-context.d.ts 1.13 KB +DTS lib/node.d.ts 668.00 B +DTS lib/reflection.d.ts 3.30 KB +DTS lib/tracing.d.ts 2.71 KB +DTS lib/telemetryTypes.d.ts 948.00 B +DTS lib/utils.d.ts 1.36 KB +DTS lib/__codegen/version.d.ts 55.00 B +DTS lib/tracing/exporter.d.ts 1.53 KB +DTS lib/tracing/instrumentation.d.ts 2.93 KB +DTS lib/context.d.ts 2.77 KB +DTS lib/statusTypes.d.ts 2.08 KB +DTS lib/tracing/node-telemetry-provider.d.ts 686.00 B +DTS lib/tracing/realtime-span-processor.d.ts 1.50 KB +DTS lib/tracing/types.d.ts 6.80 KB +DTS lib/plugin.d.ts 232.00 B +DTS lib/background-action.d.ts 448.00 B +DTS lib/error.d.ts 376.00 B +DTS lib/schema.d.ts 390.00 B +DTS lib/registry.d.ts 337.00 B +DTS lib/streaming.d.ts 286.00 B +DTS lib/action.d.ts 889.00 B +DTS lib/action-BnEilQ1F.d.ts 29.09 KB +DTS lib/async.d.mts 2.80 KB +DTS lib/index.d.mts 3.28 KB +DTS lib/dynamic-action-provider.d.mts 2.69 KB +DTS lib/flow.d.mts 3.06 KB +DTS lib/logging.d.mts 1.33 KB +DTS lib/node-async-context.d.mts 996.00 B +DTS lib/async-context.d.mts 1.13 KB +DTS lib/node.d.mts 668.00 B +DTS lib/reflection.d.mts 3.30 KB +DTS lib/tracing.d.mts 2.72 KB +DTS lib/telemetryTypes.d.mts 948.00 B +DTS lib/utils.d.mts 1.36 KB +DTS lib/__codegen/version.d.mts 55.00 B +DTS lib/tracing/exporter.d.mts 1.53 KB +DTS lib/tracing/instrumentation.d.mts 2.93 KB +DTS lib/context.d.mts 2.77 KB +DTS lib/statusTypes.d.mts 2.08 KB +DTS lib/tracing/node-telemetry-provider.d.mts 686.00 B +DTS lib/tracing/realtime-span-processor.d.mts 1.50 KB +DTS lib/tracing/types.d.mts 6.80 KB +DTS lib/plugin.d.mts 235.00 B +DTS lib/background-action.d.mts 451.00 B +DTS lib/error.d.mts 379.00 B +DTS lib/schema.d.mts 393.00 B +DTS lib/registry.d.mts 340.00 B +DTS lib/streaming.d.mts 289.00 B +DTS lib/action.d.mts 892.00 B +DTS lib/action-C3oo0oT4.d.mts 29.09 KB + +> @genkit-ai/ai@1.27.0 build /Users/lukeschlangen/Documents/genkit/js/ai +> npm-run-all build:clean check compile + + +> @genkit-ai/ai@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/ai +> rimraf ./lib + + +> @genkit-ai/ai@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/ai +> tsc + + +> @genkit-ai/ai@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/ai +> tsup-node + +CLI Building entry: src/chat.ts, src/check-operation.ts, src/document.ts, src/embedder.ts, src/evaluator.ts, src/extract.ts, src/generate.ts, src/index.ts, src/message.ts, src/model-types.ts, src/model.ts, src/parts.ts, src/prompt.ts, src/reranker.ts, src/resource.ts, src/retriever.ts, src/session.ts, src/tool.ts, src/types.ts, src/formats/array.ts, src/formats/enum.ts, src/formats/index.ts, src/formats/json.ts, src/formats/jsonl.ts, src/formats/text.ts, src/formats/types.ts, src/generate/action.ts, src/generate/chunk.ts, src/generate/resolve-tool-requests.ts, src/generate/response.ts, src/model/middleware.ts, src/testing/index.ts, src/testing/model-tester.ts +CLI Using tsconfig: tsconfig.json +CLI tsup v8.5.0 +CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/ai/tsup.config.ts +CLI Target: es2022 +CLI Cleaning output folder +CJS Build start +ESM Build start +CJS lib/generate/action.js 12.92 KB +CJS lib/formats/array.js 2.14 KB +CJS lib/check-operation.js 1.72 KB +CJS lib/embedder.js 6.73 KB +CJS lib/chat.js 5.90 KB +CJS lib/extract.js 4.56 KB +CJS lib/generate.js 12.96 KB +CJS lib/document.js 4.49 KB +CJS lib/index.js 5.50 KB +CJS lib/evaluator.js 9.54 KB +CJS lib/parts.js 4.91 KB +CJS lib/message.js 4.20 KB +CJS lib/model.js 10.39 KB +CJS lib/reranker.js 5.09 KB +CJS lib/retriever.js 8.51 KB +CJS lib/prompt.js 16.90 KB +CJS lib/resource.js 6.30 KB +CJS lib/model/middleware.js 9.96 KB +CJS lib/tool.js 8.69 KB +CJS lib/session.js 5.42 KB +CJS lib/formats/text.js 1.31 KB +CJS lib/formats/types.js 774.00 B +CJS lib/formats/enum.js 1.86 KB +CJS lib/types.js 2.54 KB +CJS lib/testing/model-tester.js 7.41 KB +CJS lib/model-types.js 13.49 KB +CJS lib/formats/jsonl.js 3.60 KB +CJS lib/generate/response.js 6.69 KB +CJS lib/generate/resolve-tool-requests.js 11.45 KB +CJS lib/formats/index.js 3.66 KB +CJS lib/formats/json.js 1.71 KB +CJS lib/generate/chunk.js 4.27 KB +CJS lib/testing/index.js 1.12 KB +CJS lib/generate/action.js.map 23.74 KB +CJS lib/formats/array.js.map 2.69 KB +CJS lib/check-operation.js.map 1.88 KB +CJS lib/extract.js.map 6.90 KB +CJS lib/chat.js.map 11.08 KB +CJS lib/embedder.js.map 14.93 KB +CJS lib/document.js.map 7.42 KB +CJS lib/generate.js.map 29.28 KB +CJS lib/retriever.js.map 19.29 KB +CJS lib/evaluator.js.map 17.31 KB +CJS lib/index.js.map 4.08 KB +CJS lib/reranker.js.map 9.45 KB +CJS lib/tool.js.map 22.51 KB +CJS lib/prompt.js.map 36.69 KB +CJS lib/model/middleware.js.map 19.48 KB +CJS lib/resource.js.map 11.42 KB +CJS lib/session.js.map 12.24 KB +CJS lib/testing/model-tester.js.map 10.20 KB +CJS lib/parts.js.map 6.72 KB +CJS lib/message.js.map 6.81 KB +CJS lib/model.js.map 21.57 KB +CJS lib/formats/enum.js.map 2.17 KB +CJS lib/model-types.js.map 19.67 KB +CJS lib/formats/text.js.map 1.33 KB +CJS lib/formats/jsonl.js.map 4.13 KB +CJS lib/formats/types.js.map 1.32 KB +CJS lib/generate/response.js.map 10.17 KB +CJS lib/types.js.map 3.13 KB +CJS lib/formats/index.js.map 5.94 KB +CJS lib/generate/resolve-tool-requests.js.map 20.43 KB +CJS lib/generate/chunk.js.map 6.27 KB +CJS lib/formats/json.js.map 1.93 KB +CJS lib/testing/index.js.map 822.00 B +CJS ⚡️ Build success in 34ms +ESM lib/types.mjs 1.18 KB +ESM lib/message.mjs 3.20 KB +ESM lib/session.mjs 4.17 KB +ESM lib/tool.mjs 7.07 KB +ESM lib/parts.mjs 2.89 KB +ESM lib/model.mjs 8.13 KB +ESM lib/model-types.mjs 10.01 KB +ESM lib/reranker.mjs 3.42 KB +ESM lib/prompt.mjs 15.13 KB +ESM lib/document.mjs 3.32 KB +ESM lib/retriever.mjs 6.64 KB +ESM lib/check-operation.mjs 691.00 B +ESM lib/chat.mjs 4.73 KB +ESM lib/embedder.mjs 5.11 KB +ESM lib/evaluator.mjs 7.22 KB +ESM lib/resource.mjs 4.17 KB +ESM lib/extract.mjs 2.79 KB +ESM lib/generate.mjs 11.16 KB +ESM lib/index.mjs 2.26 KB +ESM lib/generate/chunk.mjs 3.24 KB +ESM lib/formats/text.mjs 333.00 B +ESM lib/formats/types.mjs 34.00 B +ESM lib/testing/model-tester.mjs 5.53 KB +ESM lib/generate/resolve-tool-requests.mjs 9.90 KB +ESM lib/generate/response.mjs 5.65 KB +ESM lib/testing/index.mjs 107.00 B +ESM lib/generate/action.mjs 11.58 KB +ESM lib/formats/array.mjs 1.08 KB +ESM lib/model/middleware.mjs 7.95 KB +ESM lib/formats/enum.mjs 882.00 B +ESM lib/formats/index.mjs 2.40 KB +ESM lib/formats/json.mjs 700.00 B +ESM lib/formats/jsonl.mjs 1.96 KB +ESM lib/types.mjs.map 3.08 KB +ESM lib/message.mjs.map 6.77 KB +ESM lib/parts.mjs.map 6.63 KB +ESM lib/session.mjs.map 12.23 KB +ESM lib/tool.mjs.map 22.48 KB +ESM lib/prompt.mjs.map 36.74 KB +ESM lib/document.mjs.map 7.37 KB +ESM lib/retriever.mjs.map 19.23 KB +ESM lib/model-types.mjs.map 19.63 KB +ESM lib/reranker.mjs.map 9.41 KB +ESM lib/check-operation.mjs.map 1.84 KB +ESM lib/model.mjs.map 21.63 KB +ESM lib/embedder.mjs.map 14.89 KB +ESM lib/evaluator.mjs.map 17.22 KB +ESM lib/chat.mjs.map 11.08 KB +ESM lib/index.mjs.map 4.30 KB +ESM lib/resource.mjs.map 11.35 KB +ESM lib/generate.mjs.map 29.38 KB +ESM lib/extract.mjs.map 6.82 KB +ESM lib/generate/chunk.mjs.map 6.23 KB +ESM lib/formats/types.mjs.map 71.00 B +ESM lib/formats/text.mjs.map 1.29 KB +ESM lib/testing/model-tester.mjs.map 10.17 KB +ESM lib/testing/index.mjs.map 784.00 B +ESM lib/generate/response.mjs.map 10.16 KB +ESM lib/generate/action.mjs.map 23.90 KB +ESM lib/formats/enum.mjs.map 2.14 KB +ESM lib/generate/resolve-tool-requests.mjs.map 20.40 KB +ESM lib/formats/array.mjs.map 2.66 KB +ESM lib/model/middleware.mjs.map 19.41 KB +ESM lib/formats/index.mjs.map 5.90 KB +ESM lib/formats/json.mjs.map 1.89 KB +ESM lib/formats/jsonl.mjs.map 4.08 KB +ESM ⚡️ Build success in 35ms +DTS Build start +Export "GenerateOptions" of module "src/generate.ts" was reexported through module "src/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order. +Either change the import in "src/session.ts" to point directly to the exporting module or reconfigure "output.manualChunks" to ensure these modules end up in the same chunk. +Export "GenerateOptions" of module "src/generate.ts" was reexported through module "src/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order. +Either change the import in "src/chat.ts" to point directly to the exporting module or reconfigure "output.manualChunks" to ensure these modules end up in the same chunk. +Export "GenerateStreamOptions" of module "src/generate.ts" was reexported through module "src/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order. +Either change the import in "src/chat.ts" to point directly to the exporting module or reconfigure "output.manualChunks" to ensure these modules end up in the same chunk. +Export "GenerateStreamResponse" of module "src/generate.ts" was reexported through module "src/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order. +Either change the import in "src/chat.ts" to point directly to the exporting module or reconfigure "output.manualChunks" to ensure these modules end up in the same chunk. +Export "GenerateOptions" of module "src/generate.ts" was reexported through module "src/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order. +Either change the import in "src/session.ts" to point directly to the exporting module or reconfigure "output.manualChunks" to ensure these modules end up in the same chunk. +Export "GenerateOptions" of module "src/generate.ts" was reexported through module "src/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order. +Either change the import in "src/chat.ts" to point directly to the exporting module or reconfigure "output.manualChunks" to ensure these modules end up in the same chunk. +Export "GenerateStreamOptions" of module "src/generate.ts" was reexported through module "src/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order. +Either change the import in "src/chat.ts" to point directly to the exporting module or reconfigure "output.manualChunks" to ensure these modules end up in the same chunk. +Export "GenerateStreamResponse" of module "src/generate.ts" was reexported through module "src/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order. +Either change the import in "src/chat.ts" to point directly to the exporting module or reconfigure "output.manualChunks" to ensure these modules end up in the same chunk. +DTS ⚡️ Build success in 3355ms +DTS lib/index.d.ts 2.76 KB +DTS lib/extract.d.ts 1.37 KB +DTS lib/check-operation.d.ts 837.00 B +DTS lib/evaluator.d.ts 9.16 KB +DTS lib/reranker.d.ts 9.48 KB +DTS lib/retriever.d.ts 12.21 KB +DTS lib/types.d.ts 2.02 KB +DTS lib/formats/array.d.ts 859.00 B +DTS lib/formats/enum.d.ts 851.00 B +DTS lib/formats/index.d.ts 2.06 KB +DTS lib/formats/json.d.ts 853.00 B +DTS lib/formats/jsonl.d.ts 859.00 B +DTS lib/formats/text.d.ts 851.00 B +DTS lib/generate/resolve-tool-requests.d.ts 2.72 KB +DTS lib/resource.d.ts 7.86 KB +DTS lib/generate/response.d.ts 4.30 KB +DTS lib/formats/types.d.ts 1.23 KB +DTS lib/generate/chunk.d.ts 3.27 KB +DTS lib/message.d.ts 3.40 KB +DTS lib/model-types.d.ts 88.54 KB +DTS lib/parts.d.ts 9.20 KB +DTS lib/session.d.ts 8.33 KB +DTS lib/testing/model-tester.d.ts 995.00 B +DTS lib/chat.d.ts 519.00 B +DTS lib/embedder.d.ts 484.00 B +DTS lib/document.d.ts 209.00 B +DTS lib/prompt.d.ts 706.00 B +DTS lib/tool.d.ts 817.00 B +DTS lib/generate.d.ts 738.00 B +DTS lib/model/middleware.d.ts 588.00 B +DTS lib/generate/action.d.ts 390.00 B +DTS lib/model.d.ts 1.66 KB +DTS lib/testing/index.d.ts 83.00 B +DTS lib/document-ETxc6WdO.d.ts 10.96 KB +DTS lib/generate-BiicGnIL.d.ts 24.47 KB +DTS lib/model-DuzJJbU-.d.ts 13.75 KB +DTS lib/index.d.mts 2.77 KB +DTS lib/extract.d.mts 1.37 KB +DTS lib/check-operation.d.mts 837.00 B +DTS lib/evaluator.d.mts 9.16 KB +DTS lib/reranker.d.mts 9.49 KB +DTS lib/retriever.d.mts 12.21 KB +DTS lib/types.d.mts 2.02 KB +DTS lib/formats/array.d.mts 864.00 B +DTS lib/formats/enum.d.mts 856.00 B +DTS lib/formats/index.d.mts 2.07 KB +DTS lib/formats/json.d.mts 858.00 B +DTS lib/formats/jsonl.d.mts 864.00 B +DTS lib/formats/text.d.mts 856.00 B +DTS lib/generate/resolve-tool-requests.d.mts 2.73 KB +DTS lib/resource.d.mts 7.86 KB +DTS lib/generate/response.d.mts 4.30 KB +DTS lib/formats/types.d.mts 1.23 KB +DTS lib/generate/chunk.d.mts 3.27 KB +DTS lib/message.d.mts 3.40 KB +DTS lib/model-types.d.mts 88.54 KB +DTS lib/parts.d.mts 9.20 KB +DTS lib/session.d.mts 8.34 KB +DTS lib/testing/model-tester.d.mts 995.00 B +DTS lib/chat.d.mts 530.00 B +DTS lib/embedder.d.mts 486.00 B +DTS lib/document.d.mts 211.00 B +DTS lib/prompt.d.mts 716.00 B +DTS lib/tool.d.mts 827.00 B +DTS lib/generate.d.mts 748.00 B +DTS lib/model/middleware.d.mts 595.00 B +DTS lib/generate/action.d.mts 397.00 B +DTS lib/model.d.mts 1.67 KB +DTS lib/testing/index.d.mts 84.00 B +DTS lib/document-CU92otfD.d.mts 10.96 KB +DTS lib/generate-CofV8IOo.d.mts 24.47 KB +DTS lib/model-BYYkxmAE.d.mts 13.75 KB + +> @ build:genkit /Users/lukeschlangen/Documents/genkit/js +> pnpm -F genkit build + + +> genkit@1.27.0 build /Users/lukeschlangen/Documents/genkit/js/genkit +> npm-run-all build:clean check compile + + +> genkit@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/genkit +> rimraf ./lib + + +> genkit@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/genkit +> tsc + + +> genkit@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/genkit +> tsup-node + +CLI Building entry: src/beta.ts, src/common.ts, src/context.ts, src/embedder.ts, src/evaluator.ts, src/extract.ts, src/formats.ts, src/genkit-beta.ts, src/genkit.ts, src/index.ts, src/logging.ts, src/middleware.ts, src/model.ts, src/plugin.ts, src/registry.ts, src/reranker.ts, src/retriever.ts, src/schema.ts, src/testing.ts, src/tool.ts, src/tracing.ts, src/client/client.ts, src/client/index.ts +CLI Using tsconfig: tsconfig.json +CLI tsup v8.5.0 +CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/genkit/tsup.config.ts +CLI Target: es2022 +CLI Cleaning output folder +CJS Build start +ESM Build start +CJS lib/context.js 1.23 KB +CJS lib/embedder.js 1.21 KB +CJS lib/evaluator.js 1.72 KB +CJS lib/beta.js 1.77 KB +CJS lib/genkit.js 16.65 KB +CJS lib/extract.js 1.20 KB +CJS lib/logging.js 1.11 KB +CJS lib/index.js 1.97 KB +CJS lib/common.js 4.61 KB +CJS lib/formats.js 780.00 B +CJS lib/plugin.js 3.47 KB +CJS lib/middleware.js 1.53 KB +CJS lib/registry.js 1.12 KB +CJS lib/tracing.js 2.64 KB +CJS lib/testing.js 1.12 KB +CJS lib/model.js 3.04 KB +CJS lib/genkit-beta.js 5.87 KB +CJS lib/reranker.js 1.50 KB +CJS lib/schema.js 1.32 KB +CJS lib/retriever.js 1.62 KB +CJS lib/client/index.js 1.75 KB +CJS lib/tool.js 1.31 KB +CJS lib/client/client.js 4.30 KB +CJS lib/genkit.js.map 40.36 KB +CJS lib/logging.js.map 815.00 B +CJS lib/context.js.map 928.00 B +CJS lib/extract.js.map 841.00 B +CJS lib/evaluator.js.map 1.25 KB +CJS lib/beta.js.map 1.14 KB +CJS lib/common.js.map 4.20 KB +CJS lib/index.js.map 1.07 KB +CJS lib/formats.js.map 805.00 B +CJS lib/middleware.js.map 994.00 B +CJS lib/model.js.map 2.24 KB +CJS lib/tracing.js.map 1.41 KB +CJS lib/plugin.js.map 5.71 KB +CJS lib/testing.js.map 817.00 B +CJS lib/registry.js.map 882.00 B +CJS lib/schema.js.map 996.00 B +CJS lib/genkit-beta.js.map 10.09 KB +CJS lib/reranker.js.map 1.07 KB +CJS lib/client/index.js.map 1.46 KB +CJS lib/tool.js.map 953.00 B +CJS lib/client/client.js.map 8.57 KB +CJS lib/retriever.js.map 1.35 KB +CJS lib/embedder.js.map 1.02 KB +CJS ⚡️ Build success in 25ms +ESM lib/schema.mjs 223.00 B +ESM lib/tool.mjs 213.00 B +ESM lib/tracing.mjs 925.00 B +ESM lib/retriever.mjs 371.00 B +ESM lib/logging.mjs 107.00 B +ESM lib/client/client.mjs 3.27 KB +ESM lib/testing.mjs 113.00 B +ESM lib/client/index.mjs 731.00 B +ESM lib/middleware.mjs 319.00 B +ESM lib/beta.mjs 370.00 B +ESM lib/plugin.mjs 1.95 KB +ESM lib/index.mjs 750.00 B +ESM lib/reranker.mjs 317.00 B +ESM lib/model.mjs 1.15 KB +ESM lib/genkit.mjs 15.18 KB +ESM lib/common.mjs 2.00 KB +ESM lib/embedder.mjs 163.00 B +ESM lib/registry.mjs 115.00 B +ESM lib/context.mjs 173.00 B +ESM lib/evaluator.mjs 425.00 B +ESM lib/formats.mjs 36.00 B +ESM lib/extract.mjs 153.00 B +ESM lib/genkit-beta.mjs 4.77 KB +ESM lib/schema.mjs.map 982.00 B +ESM lib/tool.mjs.map 944.00 B +ESM lib/tracing.mjs.map 1.46 KB +ESM lib/client/client.mjs.map 8.53 KB +ESM lib/retriever.mjs.map 1.35 KB +ESM lib/logging.mjs.map 775.00 B +ESM lib/plugin.mjs.map 5.67 KB +ESM lib/client/index.mjs.map 1.42 KB +ESM lib/beta.mjs.map 1.11 KB +ESM lib/index.mjs.map 1.02 KB +ESM lib/testing.mjs.map 779.00 B +ESM lib/genkit.mjs.map 40.71 KB +ESM lib/middleware.mjs.map 990.00 B +ESM lib/reranker.mjs.map 1.06 KB +ESM lib/model.mjs.map 2.32 KB +ESM lib/embedder.mjs.map 1016.00 B +ESM lib/evaluator.mjs.map 1.25 KB +ESM lib/registry.mjs.map 853.00 B +ESM lib/extract.mjs.map 803.00 B +ESM lib/formats.mjs.map 71.00 B +ESM lib/genkit-beta.mjs.map 10.12 KB +ESM lib/context.mjs.map 909.00 B +ESM lib/common.mjs.map 4.39 KB +ESM ⚡️ Build success in 25ms +DTS Build start +DTS ⚡️ Build success in 1693ms +DTS lib/common.d.ts 2.67 KB +DTS lib/genkit-beta.d.ts 5.98 KB +DTS lib/client/client.d.ts 2.14 KB +DTS lib/formats.d.ts 67.00 B +DTS lib/evaluator.d.ts 360.00 B +DTS lib/registry.d.ts 88.00 B +DTS lib/context.d.ts 119.00 B +DTS lib/embedder.d.ts 198.00 B +DTS lib/extract.d.ts 71.00 B +DTS lib/logging.d.ts 50.00 B +DTS lib/middleware.d.ts 174.00 B +DTS lib/model.d.ts 1.06 KB +DTS lib/reranker.d.ts 248.00 B +DTS lib/retriever.d.ts 423.00 B +DTS lib/schema.d.ts 172.00 B +DTS lib/testing.d.ts 52.00 B +DTS lib/tool.d.ts 131.00 B +DTS lib/tracing.d.ts 486.00 B +DTS lib/beta.d.ts 2.74 KB +DTS lib/plugin.d.ts 751.00 B +DTS lib/genkit.d.ts 467.00 B +DTS lib/index.d.ts 2.52 KB +DTS lib/client/index.d.ts 51.00 B +DTS lib/index-Bf2bts4V.d.ts 22.00 KB +DTS lib/common.d.mts 2.67 KB +DTS lib/genkit-beta.d.mts 5.98 KB +DTS lib/client/client.d.mts 2.14 KB +DTS lib/formats.d.mts 67.00 B +DTS lib/evaluator.d.mts 360.00 B +DTS lib/registry.d.mts 88.00 B +DTS lib/context.d.mts 119.00 B +DTS lib/embedder.d.mts 198.00 B +DTS lib/extract.d.mts 71.00 B +DTS lib/logging.d.mts 50.00 B +DTS lib/middleware.d.mts 174.00 B +DTS lib/model.d.mts 1.06 KB +DTS lib/reranker.d.mts 248.00 B +DTS lib/retriever.d.mts 423.00 B +DTS lib/schema.d.mts 172.00 B +DTS lib/testing.d.mts 52.00 B +DTS lib/tool.d.mts 131.00 B +DTS lib/tracing.d.mts 486.00 B +DTS lib/beta.d.mts 2.74 KB +DTS lib/plugin.d.mts 752.00 B +DTS lib/genkit.d.mts 468.00 B +DTS lib/index.d.mts 2.52 KB +DTS lib/client/index.d.mts 52.00 B +DTS lib/index-Bf2bts4V.d.mts 22.00 KB + +> @ build:noncore /Users/lukeschlangen/Documents/genkit/js +> pnpm -r --workspace-concurrency -1 -F "./plugins/**" build + +Scope: 18 of 54 workspace projects +plugins/anthropic build$ npm-run-all build:clean check compile +plugins/checks build$ npm-run-all build:clean check compile +plugins/chroma build$ npm-run-all build:clean check compile +plugins/dev-local-vectorstore build$ npm-run-all build:clean check compile +plugins/cloud-sql-pg build$ npm-run-all build:clean check compile +plugins/evaluators build$ npm-run-all build:clean check compile +plugins/compat-oai build$ npm-run-all build:clean check compile +plugins/express build$ npm-run-all build:clean check compile +plugins/google-genai build$ npm-run-all build:clean check compile +plugins/langchain build$ npm-run-all build:clean check compile +plugins/mcp build$ npm-run-all build:clean check compile +plugins/googleai build$ npm-run-all build:clean check compile +plugins/google-cloud build$ npm-run-all build:clean check compile +plugins/anthropic build: > @genkit-ai/anthropic@1.23.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/anthropic +plugins/anthropic build: > rimraf ./lib +plugins/checks build: > @genkit-ai/checks@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/checks +plugins/checks build: > rimraf ./lib +plugins/chroma build: > genkitx-chromadb@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/chroma +plugins/chroma build: > rimraf ./lib +plugins/cloud-sql-pg build: > genkitx-cloud-sql-pg@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/cloud-sql-pg +plugins/cloud-sql-pg build: > rimraf ./lib +plugins/compat-oai build: > @genkit-ai/compat-oai@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/compat-oai +plugins/compat-oai build: > rm -rf ./lib +plugins/evaluators build: > @genkit-ai/evaluator@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/evaluators +plugins/evaluators build: > rimraf ./lib +plugins/dev-local-vectorstore build: > @genkit-ai/dev-local-vectorstore@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/dev-local-vectorstore +plugins/dev-local-vectorstore build: > rimraf ./lib +plugins/compat-oai build: > @genkit-ai/compat-oai@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/compat-oai +plugins/compat-oai build: > tsc +plugins/express build: > @genkit-ai/express@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/express +plugins/express build: > rimraf ./lib +plugins/google-genai build: > @genkit-ai/google-genai@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/google-genai +plugins/google-genai build: > rimraf ./lib +plugins/mcp build: > @genkit-ai/mcp@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/mcp +plugins/mcp build: > rimraf ./lib +plugins/googleai build: > @genkit-ai/googleai@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/googleai +plugins/googleai build: > rimraf ./lib +plugins/langchain build: > genkitx-langchain@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/langchain +plugins/langchain build: > rimraf ./lib +plugins/google-cloud build: > @genkit-ai/google-cloud@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/google-cloud +plugins/google-cloud build: > rimraf ./lib +plugins/anthropic build: > @genkit-ai/anthropic@1.23.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/anthropic +plugins/anthropic build: > tsc +plugins/checks build: > @genkit-ai/checks@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/checks +plugins/checks build: > tsc +plugins/chroma build: > genkitx-chromadb@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/chroma +plugins/chroma build: > tsc +plugins/cloud-sql-pg build: > genkitx-cloud-sql-pg@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/cloud-sql-pg +plugins/cloud-sql-pg build: > tsc +plugins/evaluators build: > @genkit-ai/evaluator@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/evaluators +plugins/evaluators build: > tsc +plugins/dev-local-vectorstore build: > @genkit-ai/dev-local-vectorstore@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/dev-local-vectorstore +plugins/dev-local-vectorstore build: > tsc +plugins/express build: > @genkit-ai/express@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/express +plugins/express build: > tsc +plugins/google-genai build: > @genkit-ai/google-genai@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/google-genai +plugins/google-genai build: > tsc +plugins/mcp build: > @genkit-ai/mcp@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/mcp +plugins/mcp build: > tsc +plugins/googleai build: > @genkit-ai/googleai@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/googleai +plugins/googleai build: > tsc +plugins/langchain build: > genkitx-langchain@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/langchain +plugins/langchain build: > tsc +plugins/google-cloud build: > @genkit-ai/google-cloud@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/google-cloud +plugins/google-cloud build: > tsc +plugins/chroma build: > genkitx-chromadb@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/chroma +plugins/chroma build: > tsup-node +plugins/cloud-sql-pg build: > genkitx-cloud-sql-pg@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/cloud-sql-pg +plugins/cloud-sql-pg build: > tsup-node +plugins/cloud-sql-pg build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/cloud-sql-pg build: package.json:63:6: +plugins/cloud-sql-pg build: 63 │ "types": "./lib/index.d.ts", +plugins/cloud-sql-pg build: ╵ ~~~~~~~ +plugins/cloud-sql-pg build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/cloud-sql-pg build: package.json:62:6: +plugins/cloud-sql-pg build: 62 │ "import": "./lib/index.mjs", +plugins/cloud-sql-pg build: ╵ ~~~~~~~~ +plugins/cloud-sql-pg build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/cloud-sql-pg build: package.json:61:6: +plugins/cloud-sql-pg build: 61 │ "require": "./lib/index.js", +plugins/cloud-sql-pg build: ╵ ~~~~~~~~~ +plugins/chroma build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/chroma build: package.json:52:6: +plugins/chroma build: 52 │ "types": "./lib/index.d.ts", +plugins/chroma build: ╵ ~~~~~~~ +plugins/chroma build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/chroma build: package.json:51:6: +plugins/chroma build: 51 │ "import": "./lib/index.mjs", +plugins/chroma build: ╵ ~~~~~~~~ +plugins/chroma build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/chroma build: package.json:50:6: +plugins/chroma build: 50 │ "require": "./lib/index.js", +plugins/chroma build: ╵ ~~~~~~~~~ +plugins/chroma build: CLI Building entry: src/index.ts +plugins/chroma build: CLI Using tsconfig: tsconfig.json +plugins/chroma build: CLI tsup v8.5.0 +plugins/chroma build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/chroma/tsup.config.ts +plugins/chroma build: CLI Target: es2022 +plugins/chroma build: CLI Cleaning output folder +plugins/chroma build: CJS Build start +plugins/chroma build: ESM Build start +plugins/cloud-sql-pg build: CLI Building entry: src/engine.ts, src/index.ts, src/indexes.ts, src/utils/index.ts +plugins/cloud-sql-pg build: CLI Using tsconfig: tsconfig.json +plugins/cloud-sql-pg build: CLI tsup v8.5.0 +plugins/cloud-sql-pg build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/cloud-sql-pg/tsup.config.ts +plugins/cloud-sql-pg build: CLI Target: es2022 +plugins/cloud-sql-pg build: CLI Cleaning output folder +plugins/cloud-sql-pg build: CJS Build start +plugins/cloud-sql-pg build: ESM Build start +plugins/chroma build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/chroma build: package.json:52:6: +plugins/chroma build:  52 │ "types": "./lib/index.d.ts", +plugins/chroma build: ╵ ~~~~~~~ +plugins/chroma build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/chroma build: package.json:51:6: +plugins/chroma build:  51 │ "import": "./lib/index.mjs", +plugins/chroma build: ╵ ~~~~~~~~ +plugins/chroma build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/chroma build: package.json:50:6: +plugins/chroma build:  50 │ "require": "./lib/index.js", +plugins/chroma build: ╵ ~~~~~~~~~ +plugins/chroma build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/chroma build: package.json:52:6: +plugins/chroma build:  52 │ "types": "./lib/index.d.ts", +plugins/chroma build: ╵ ~~~~~~~ +plugins/chroma build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/chroma build: package.json:51:6: +plugins/chroma build:  51 │ "import": "./lib/index.mjs", +plugins/chroma build: ╵ ~~~~~~~~ +plugins/chroma build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/chroma build: package.json:50:6: +plugins/chroma build:  50 │ "require": "./lib/index.js", +plugins/chroma build: ╵ ~~~~~~~~~ +plugins/cloud-sql-pg build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/cloud-sql-pg build: package.json:63:6: +plugins/cloud-sql-pg build:  63 │ "types": "./lib/index.d.ts", +plugins/cloud-sql-pg build: ╵ ~~~~~~~ +plugins/cloud-sql-pg build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/cloud-sql-pg build: package.json:62:6: +plugins/cloud-sql-pg build:  62 │ "import": "./lib/index.mjs", +plugins/cloud-sql-pg build: ╵ ~~~~~~~~ +plugins/cloud-sql-pg build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/cloud-sql-pg build: package.json:61:6: +plugins/cloud-sql-pg build:  61 │ "require": "./lib/index.js", +plugins/cloud-sql-pg build: ╵ ~~~~~~~~~ +plugins/cloud-sql-pg build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/cloud-sql-pg build: package.json:63:6: +plugins/cloud-sql-pg build:  63 │ "types": "./lib/index.d.ts", +plugins/cloud-sql-pg build: ╵ ~~~~~~~ +plugins/cloud-sql-pg build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/cloud-sql-pg build: package.json:62:6: +plugins/cloud-sql-pg build:  62 │ "import": "./lib/index.mjs", +plugins/cloud-sql-pg build: ╵ ~~~~~~~~ +plugins/cloud-sql-pg build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/cloud-sql-pg build: package.json:61:6: +plugins/cloud-sql-pg build:  61 │ "require": "./lib/index.js", +plugins/cloud-sql-pg build: ╵ ~~~~~~~~~ +plugins/cloud-sql-pg build: ESM lib/index.mjs 10.67 KB +plugins/cloud-sql-pg build: ESM lib/engine.mjs 9.58 KB +plugins/cloud-sql-pg build: ESM lib/indexes.mjs 3.60 KB +plugins/cloud-sql-pg build: ESM lib/utils/index.mjs 865.00 B +plugins/cloud-sql-pg build: ESM lib/index.mjs.map 22.52 KB +plugins/cloud-sql-pg build: ESM lib/engine.mjs.map 18.17 KB +plugins/cloud-sql-pg build: ESM lib/indexes.mjs.map 7.56 KB +plugins/cloud-sql-pg build: ESM lib/utils/index.mjs.map 2.45 KB +plugins/cloud-sql-pg build: ESM ⚡️ Build success in 40ms +plugins/cloud-sql-pg build: CJS lib/engine.js 11.46 KB +plugins/cloud-sql-pg build: CJS lib/indexes.js 5.00 KB +plugins/cloud-sql-pg build: CJS lib/index.js 12.25 KB +plugins/cloud-sql-pg build: CJS lib/utils/index.js 1.85 KB +plugins/cloud-sql-pg build: CJS lib/engine.js.map 18.19 KB +plugins/cloud-sql-pg build: CJS lib/index.js.map 22.51 KB +plugins/cloud-sql-pg build: CJS lib/indexes.js.map 7.65 KB +plugins/cloud-sql-pg build: CJS lib/utils/index.js.map 2.49 KB +plugins/cloud-sql-pg build: CJS ⚡️ Build success in 40ms +plugins/chroma build: ESM lib/index.mjs 6.99 KB +plugins/chroma build: ESM lib/index.mjs.map 15.78 KB +plugins/chroma build: ESM ⚡️ Build success in 67ms +plugins/chroma build: CJS lib/index.js 8.55 KB +plugins/chroma build: CJS lib/index.js.map 15.79 KB +plugins/chroma build: CJS ⚡️ Build success in 67ms +plugins/compat-oai build: > @genkit-ai/compat-oai@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/compat-oai +plugins/compat-oai build: > tsup-node +plugins/chroma build: DTS Build start +plugins/cloud-sql-pg build: DTS Build start +plugins/langchain build: > genkitx-langchain@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/langchain +plugins/langchain build: > tsup-node +plugins/compat-oai build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:43:6: +plugins/compat-oai build: 43 │ "types": "./lib/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:42:6: +plugins/compat-oai build: 42 │ "import": "./lib/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:41:6: +plugins/compat-oai build: 41 │ "require": "./lib/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:49:6: +plugins/compat-oai build: 49 │ "types": "./lib/openai/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:48:6: +plugins/compat-oai build: 48 │ "import": "./lib/openai/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:47:6: +plugins/compat-oai build: 47 │ "require": "./lib/openai/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:55:6: +plugins/compat-oai build: 55 │ "types": "./lib/deepseek/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:54:6: +plugins/compat-oai build: 54 │ "import": "./lib/deepseek/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:53:6: +plugins/compat-oai build: 53 │ "require": "./lib/deepseek/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:61:6: +plugins/compat-oai build: 61 │ "types": "./lib/xai/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:60:6: +plugins/compat-oai build: 60 │ "import": "./lib/xai/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:59:6: +plugins/compat-oai build: 59 │ "require": "./lib/xai/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: CLI Building entry: src/audio.ts, src/embedder.ts, src/image.ts, src/index.ts, src/model.ts, src/utils.ts, src/deepseek/deepseek.ts, src/deepseek/index.ts, src/xai/grok-image.ts, src/xai/grok.ts, src/xai/index.ts, src/openai/dalle.ts, src/openai/embedder.ts, src/openai/gpt.ts, src/openai/index.ts, src/openai/tts.ts, src/openai/whisper.ts +plugins/compat-oai build: CLI Using tsconfig: tsconfig.json +plugins/compat-oai build: CLI tsup v8.5.0 +plugins/compat-oai build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/compat-oai/tsup.config.ts +plugins/compat-oai build: CLI Target: es2022 +plugins/compat-oai build: CLI Cleaning output folder +plugins/compat-oai build: CJS Build start +plugins/compat-oai build: ESM Build start +plugins/compat-oai build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:43:6: +plugins/compat-oai build:  43 │ "types": "./lib/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:42:6: +plugins/compat-oai build:  42 │ "import": "./lib/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:41:6: +plugins/compat-oai build:  41 │ "require": "./lib/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:49:6: +plugins/compat-oai build:  49 │ "types": "./lib/openai/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:48:6: +plugins/compat-oai build:  48 │ "import": "./lib/openai/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:47:6: +plugins/compat-oai build:  47 │ "require": "./lib/openai/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:55:6: +plugins/compat-oai build:  55 │ "types": "./lib/deepseek/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:54:6: +plugins/compat-oai build:  54 │ "import": "./lib/deepseek/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:53:6: +plugins/compat-oai build:  53 │ "require": "./lib/deepseek/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:61:6: +plugins/compat-oai build:  61 │ "types": "./lib/xai/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:60:6: +plugins/compat-oai build:  60 │ "import": "./lib/xai/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:59:6: +plugins/compat-oai build:  59 │ "require": "./lib/xai/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:43:6: +plugins/compat-oai build:  43 │ "types": "./lib/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:42:6: +plugins/compat-oai build:  42 │ "import": "./lib/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:41:6: +plugins/compat-oai build:  41 │ "require": "./lib/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:49:6: +plugins/compat-oai build:  49 │ "types": "./lib/openai/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:48:6: +plugins/compat-oai build:  48 │ "import": "./lib/openai/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:47:6: +plugins/compat-oai build:  47 │ "require": "./lib/openai/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:55:6: +plugins/compat-oai build:  55 │ "types": "./lib/deepseek/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:54:6: +plugins/compat-oai build:  54 │ "import": "./lib/deepseek/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:53:6: +plugins/compat-oai build:  53 │ "require": "./lib/deepseek/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/compat-oai build: package.json:61:6: +plugins/compat-oai build:  61 │ "types": "./lib/xai/index.d.ts", +plugins/compat-oai build: ╵ ~~~~~~~ +plugins/compat-oai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/compat-oai build: package.json:60:6: +plugins/compat-oai build:  60 │ "import": "./lib/xai/index.mjs", +plugins/compat-oai build: ╵ ~~~~~~~~ +plugins/compat-oai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/compat-oai build: package.json:59:6: +plugins/compat-oai build:  59 │ "require": "./lib/xai/index.js", +plugins/compat-oai build: ╵ ~~~~~~~~~ +plugins/compat-oai build: CJS lib/embedder.js 2.03 KB +plugins/compat-oai build: CJS lib/deepseek/deepseek.js 2.28 KB +plugins/compat-oai build: CJS lib/openai/gpt.js 6.84 KB +plugins/compat-oai build: CJS lib/audio.js 8.90 KB +plugins/compat-oai build: CJS lib/model.js 13.93 KB +plugins/compat-oai build: CJS lib/utils.js 2.17 KB +plugins/compat-oai build: CJS lib/index.js 4.86 KB +plugins/compat-oai build: CJS lib/image.js 4.24 KB +plugins/compat-oai build: CJS lib/xai/grok.js 2.83 KB +plugins/compat-oai build: CJS lib/xai/index.js 4.33 KB +plugins/compat-oai build: CJS lib/xai/grok-image.js 1.35 KB +plugins/compat-oai build: CJS lib/openai/dalle.js 2.61 KB +plugins/compat-oai build: CJS lib/openai/tts.js 1.56 KB +plugins/compat-oai build: CJS lib/openai/index.js 7.88 KB +plugins/compat-oai build: CJS lib/openai/whisper.js 1.47 KB +plugins/compat-oai build: CJS lib/deepseek/index.js 3.52 KB +plugins/compat-oai build: CJS lib/openai/embedder.js 2.05 KB +plugins/compat-oai build: CJS lib/embedder.js.map 3.16 KB +plugins/compat-oai build: CJS lib/index.js.map 6.92 KB +plugins/compat-oai build: CJS lib/openai/gpt.js.map 10.89 KB +plugins/compat-oai build: CJS lib/audio.js.map 16.26 KB +plugins/compat-oai build: CJS lib/image.js.map 7.38 KB +plugins/compat-oai build: CJS lib/xai/grok.js.map 3.91 KB +plugins/compat-oai build: CJS lib/utils.js.map 1.84 KB +plugins/compat-oai build: CJS lib/xai/index.js.map 8.05 KB +plugins/compat-oai build: CJS lib/deepseek/deepseek.js.map 2.72 KB +plugins/compat-oai build: CJS lib/model.js.map 28.94 KB +plugins/compat-oai build: CJS lib/openai/dalle.js.map 3.33 KB +plugins/compat-oai build: CJS lib/xai/grok-image.js.map 1.21 KB +plugins/compat-oai build: CJS lib/openai/whisper.js.map 1.42 KB +plugins/compat-oai build: CJS lib/openai/index.js.map 14.91 KB +plugins/compat-oai build: CJS lib/openai/tts.js.map 1.59 KB +plugins/compat-oai build: CJS lib/deepseek/index.js.map 6.47 KB +plugins/compat-oai build: CJS lib/openai/embedder.js.map 2.39 KB +plugins/compat-oai build: CJS ⚡️ Build success in 167ms +plugins/compat-oai build: ESM lib/openai/whisper.mjs 395.00 B +plugins/compat-oai build: ESM lib/xai/index.mjs 3.15 KB +plugins/compat-oai build: ESM lib/xai/grok.mjs 1.62 KB +plugins/compat-oai build: ESM lib/openai/embedder.mjs 902.00 B +plugins/compat-oai build: ESM lib/xai/grok-image.mjs 284.00 B +plugins/compat-oai build: ESM lib/openai/dalle.mjs 1.40 KB +plugins/compat-oai build: ESM lib/openai/gpt.mjs 5.71 KB +plugins/compat-oai build: ESM lib/embedder.mjs 1017.00 B +plugins/compat-oai build: ESM lib/audio.mjs 7.06 KB +plugins/compat-oai build: ESM lib/openai/index.mjs 6.54 KB +plugins/compat-oai build: ESM lib/image.mjs 2.89 KB +plugins/compat-oai build: ESM lib/openai/tts.mjs 493.00 B +plugins/compat-oai build: ESM lib/index.mjs 2.62 KB +plugins/compat-oai build: ESM lib/utils.mjs 532.00 B +plugins/compat-oai build: ESM lib/model.mjs 12.28 KB +plugins/compat-oai build: ESM lib/deepseek/deepseek.mjs 1.06 KB +plugins/compat-oai build: ESM lib/deepseek/index.mjs 2.37 KB +plugins/compat-oai build: ESM lib/openai/whisper.mjs.map 1.31 KB +plugins/compat-oai build: ESM lib/xai/index.mjs.map 8.09 KB +plugins/compat-oai build: ESM lib/xai/grok.mjs.map 3.85 KB +plugins/compat-oai build: ESM lib/openai/dalle.mjs.map 3.24 KB +plugins/compat-oai build: ESM lib/openai/gpt.mjs.map 10.83 KB +plugins/compat-oai build: ESM lib/audio.mjs.map 16.19 KB +plugins/compat-oai build: ESM lib/openai/index.mjs.map 15.01 KB +plugins/compat-oai build: ESM lib/embedder.mjs.map 3.12 KB +plugins/compat-oai build: ESM lib/image.mjs.map 7.33 KB +plugins/compat-oai build: ESM lib/openai/tts.mjs.map 1.51 KB +plugins/compat-oai build: ESM lib/xai/grok-image.mjs.map 1.13 KB +plugins/compat-oai build: ESM lib/openai/embedder.mjs.map 2.35 KB +plugins/compat-oai build: ESM lib/index.mjs.map 6.98 KB +plugins/compat-oai build: ESM lib/utils.mjs.map 1.78 KB +plugins/compat-oai build: ESM lib/model.mjs.map 28.90 KB +plugins/compat-oai build: ESM lib/deepseek/deepseek.mjs.map 2.67 KB +plugins/compat-oai build: ESM lib/deepseek/index.mjs.map 6.49 KB +plugins/compat-oai build: ESM ⚡️ Build success in 169ms +plugins/compat-oai build: DTS Build start +plugins/langchain build: ▲ [WARNING] The conditions "import" and "types" here will never be used as they come after "default" [package.json] +plugins/langchain build: package.json:50:6: +plugins/langchain build: 50 │ "import": "./lib/index.mjs", +plugins/langchain build: ╵ ~~~~~~~~ +plugins/langchain build: The "default" condition comes earlier and will always be chosen: +plugins/langchain build: package.json:49:6: +plugins/langchain build: 49 │ "default": "./lib/index.js", +plugins/langchain build: ╵ ~~~~~~~~~ +plugins/langchain build: CLI Building entry: src/evaluators.ts, src/index.ts, src/model.ts, src/tracing.ts +plugins/langchain build: CLI Using tsconfig: tsconfig.json +plugins/langchain build: CLI tsup v8.5.0 +plugins/langchain build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/langchain/tsup.config.ts +plugins/langchain build: CLI Target: es2022 +plugins/langchain build: CLI Cleaning output folder +plugins/langchain build: CJS Build start +plugins/langchain build: ESM Build start +plugins/langchain build: WARN ▲ [WARNING] The conditions "import" and "types" here will never be used as they come after "default" [package.json] +plugins/langchain build: package.json:50:6: +plugins/langchain build:  50 │ "import": "./lib/index.mjs", +plugins/langchain build: ╵ ~~~~~~~~ +plugins/langchain build: The "default" condition comes earlier and will always be chosen: +plugins/langchain build: package.json:49:6: +plugins/langchain build:  49 │ "default": "./lib/index.js", +plugins/langchain build: ╵ ~~~~~~~~~ +plugins/langchain build: WARN ▲ [WARNING] The conditions "import" and "types" here will never be used as they come after "default" [package.json] +plugins/langchain build: package.json:50:6: +plugins/langchain build:  50 │ "import": "./lib/index.mjs", +plugins/langchain build: ╵ ~~~~~~~~ +plugins/langchain build: The "default" condition comes earlier and will always be chosen: +plugins/langchain build: package.json:49:6: +plugins/langchain build:  49 │ "default": "./lib/index.js", +plugins/langchain build: ╵ ~~~~~~~~~ +plugins/langchain build: ESM lib/evaluators.mjs 1.81 KB +plugins/langchain build: ESM lib/index.mjs 967.00 B +plugins/langchain build: ESM lib/model.mjs 883.00 B +plugins/langchain build: ESM lib/tracing.mjs 2.90 KB +plugins/langchain build: ESM lib/evaluators.mjs.map 3.79 KB +plugins/langchain build: ESM lib/index.mjs.map 2.68 KB +plugins/langchain build: ESM lib/model.mjs.map 2.58 KB +plugins/langchain build: ESM lib/tracing.mjs.map 6.34 KB +plugins/langchain build: ESM ⚡️ Build success in 82ms +plugins/langchain build: CJS lib/evaluators.js 2.88 KB +plugins/langchain build: CJS lib/index.js 2.04 KB +plugins/langchain build: CJS lib/model.js 1.88 KB +plugins/langchain build: CJS lib/tracing.js 3.92 KB +plugins/langchain build: CJS lib/evaluators.js.map 3.82 KB +plugins/langchain build: CJS lib/index.js.map 2.71 KB +plugins/langchain build: CJS lib/tracing.js.map 6.35 KB +plugins/langchain build: CJS lib/model.js.map 2.62 KB +plugins/langchain build: CJS ⚡️ Build success in 82ms +plugins/google-cloud build: > @genkit-ai/google-cloud@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/google-cloud +plugins/google-cloud build: > tsup-node +plugins/langchain build: DTS Build start +plugins/anthropic build: > @genkit-ai/anthropic@1.23.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/anthropic +plugins/anthropic build: > tsup-node +plugins/checks build: > @genkit-ai/checks@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/checks +plugins/checks build: > tsup-node +plugins/google-cloud build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/google-cloud build: package.json:72:6: +plugins/google-cloud build: 72 │ "types": "./lib/index.d.ts", +plugins/google-cloud build: ╵ ~~~~~~~ +plugins/google-cloud build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/google-cloud build: package.json:71:6: +plugins/google-cloud build: 71 │ "import": "./lib/index.mjs", +plugins/google-cloud build: ╵ ~~~~~~~~ +plugins/google-cloud build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/google-cloud build: package.json:70:6: +plugins/google-cloud build: 70 │ "require": "./lib/index.js", +plugins/google-cloud build: ╵ ~~~~~~~~~ +plugins/google-cloud build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/google-cloud build: package.json:78:6: +plugins/google-cloud build: 78 │ "types": "./lib/model-armor.d.ts", +plugins/google-cloud build: ╵ ~~~~~~~ +plugins/google-cloud build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/google-cloud build: package.json:77:6: +plugins/google-cloud build: 77 │ "import": "./lib/model-armor.mjs", +plugins/google-cloud build: ╵ ~~~~~~~~ +plugins/google-cloud build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/google-cloud build: package.json:76:6: +plugins/google-cloud build: 76 │ "require": "./lib/model-armor.js", +plugins/google-cloud build: ╵ ~~~~~~~~~ +plugins/google-cloud build: CLI Building entry: src/auth.ts, src/gcpLogger.ts, src/gcpOpenTelemetry.ts, src/index.ts, src/metrics.ts, src/model-armor.ts, src/types.ts, src/utils.ts, src/telemetry/action.ts, src/telemetry/defaults.ts, src/telemetry/engagement.ts, src/telemetry/feature.ts, src/telemetry/generate.ts, src/telemetry/path.ts +plugins/google-cloud build: CLI Using tsconfig: tsconfig.json +plugins/google-cloud build: CLI tsup v8.5.0 +plugins/google-cloud build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/google-cloud/tsup.config.ts +plugins/google-cloud build: CLI Target: es2022 +plugins/google-cloud build: CLI Cleaning output folder +plugins/google-cloud build: CJS Build start +plugins/google-cloud build: ESM Build start +plugins/google-cloud build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/google-cloud build: package.json:72:6: +plugins/google-cloud build:  72 │ "types": "./lib/index.d.ts", +plugins/google-cloud build: ╵ ~~~~~~~ +plugins/google-cloud build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/google-cloud build: package.json:71:6: +plugins/google-cloud build:  71 │ "import": "./lib/index.mjs", +plugins/google-cloud build: ╵ ~~~~~~~~ +plugins/google-cloud build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/google-cloud build: package.json:70:6: +plugins/google-cloud build:  70 │ "require": "./lib/index.js", +plugins/google-cloud build: ╵ ~~~~~~~~~ +plugins/google-cloud build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/google-cloud build: package.json:78:6: +plugins/google-cloud build:  78 │ "types": "./lib/model-armor.d.ts", +plugins/google-cloud build: ╵ ~~~~~~~ +plugins/google-cloud build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/google-cloud build: package.json:77:6: +plugins/google-cloud build:  77 │ "import": "./lib/model-armor.mjs", +plugins/google-cloud build: ╵ ~~~~~~~~ +plugins/google-cloud build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/google-cloud build: package.json:76:6: +plugins/google-cloud build:  76 │ "require": "./lib/model-armor.js", +plugins/google-cloud build: ╵ ~~~~~~~~~ +plugins/google-cloud build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/google-cloud build: package.json:72:6: +plugins/google-cloud build:  72 │ "types": "./lib/index.d.ts", +plugins/google-cloud build: ╵ ~~~~~~~ +plugins/google-cloud build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/google-cloud build: package.json:71:6: +plugins/google-cloud build:  71 │ "import": "./lib/index.mjs", +plugins/google-cloud build: ╵ ~~~~~~~~ +plugins/google-cloud build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/google-cloud build: package.json:70:6: +plugins/google-cloud build:  70 │ "require": "./lib/index.js", +plugins/google-cloud build: ╵ ~~~~~~~~~ +plugins/google-cloud build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/google-cloud build: package.json:78:6: +plugins/google-cloud build:  78 │ "types": "./lib/model-armor.d.ts", +plugins/google-cloud build: ╵ ~~~~~~~ +plugins/google-cloud build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/google-cloud build: package.json:77:6: +plugins/google-cloud build:  77 │ "import": "./lib/model-armor.mjs", +plugins/google-cloud build: ╵ ~~~~~~~~ +plugins/google-cloud build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/google-cloud build: package.json:76:6: +plugins/google-cloud build:  76 │ "require": "./lib/model-armor.js", +plugins/google-cloud build: ╵ ~~~~~~~~~ +plugins/google-cloud build: ESM lib/telemetry/action.mjs 1.96 KB +plugins/google-cloud build: ESM lib/telemetry/defaults.mjs 1.46 KB +plugins/google-cloud build: ESM lib/telemetry/generate.mjs 9.82 KB +plugins/google-cloud build: ESM lib/gcpLogger.mjs 2.36 KB +plugins/google-cloud build: ESM lib/gcpOpenTelemetry.mjs 11.67 KB +plugins/google-cloud build: ESM lib/index.mjs 1.05 KB +plugins/google-cloud build: ESM lib/auth.mjs 1.37 KB +plugins/google-cloud build: ESM lib/types.mjs 34.00 B +plugins/google-cloud build: ESM lib/metrics.mjs 1.43 KB +plugins/google-cloud build: ESM lib/telemetry/engagement.mjs 2.77 KB +plugins/google-cloud build: ESM lib/model-armor.mjs 6.04 KB +plugins/google-cloud build: ESM lib/telemetry/feature.mjs 3.62 KB +plugins/google-cloud build: ESM lib/utils.mjs 3.47 KB +plugins/google-cloud build: ESM lib/telemetry/path.mjs 2.52 KB +plugins/google-cloud build: ESM lib/telemetry/action.mjs.map 4.21 KB +plugins/google-cloud build: ESM lib/telemetry/defaults.mjs.map 3.37 KB +plugins/google-cloud build: ESM lib/gcpLogger.mjs.map 5.65 KB +plugins/google-cloud build: ESM lib/telemetry/generate.mjs.map 18.97 KB +plugins/google-cloud build: ESM lib/gcpOpenTelemetry.mjs.map 22.41 KB +plugins/google-cloud build: ESM lib/types.mjs.map 71.00 B +plugins/google-cloud build: ESM lib/auth.mjs.map 4.26 KB +plugins/google-cloud build: ESM lib/telemetry/engagement.mjs.map 5.48 KB +plugins/google-cloud build: ESM lib/metrics.mjs.map 4.67 KB +plugins/google-cloud build: ESM lib/model-armor.mjs.map 13.46 KB +plugins/google-cloud build: ESM lib/index.mjs.map 2.69 KB +plugins/google-cloud build: ESM lib/telemetry/feature.mjs.map 7.01 KB +plugins/google-cloud build: ESM lib/telemetry/path.mjs.map 4.96 KB +plugins/google-cloud build: ESM lib/utils.mjs.map 7.14 KB +plugins/google-cloud build: ESM ⚡️ Build success in 48ms +plugins/google-cloud build: CJS lib/auth.js 2.58 KB +plugins/google-cloud build: CJS lib/telemetry/action.js 3.01 KB +plugins/google-cloud build: CJS lib/utils.js 5.20 KB +plugins/google-cloud build: CJS lib/types.js 774.00 B +plugins/google-cloud build: CJS lib/model-armor.js 7.13 KB +plugins/google-cloud build: CJS lib/gcpOpenTelemetry.js 13.33 KB +plugins/google-cloud build: CJS lib/gcpLogger.js 4.16 KB +plugins/google-cloud build: CJS lib/telemetry/feature.js 4.75 KB +plugins/google-cloud build: CJS lib/telemetry/path.js 3.58 KB +plugins/google-cloud build: CJS lib/telemetry/generate.js 11.38 KB +plugins/google-cloud build: CJS lib/metrics.js 2.62 KB +plugins/google-cloud build: CJS lib/index.js 2.47 KB +plugins/google-cloud build: CJS lib/telemetry/defaults.js 2.54 KB +plugins/google-cloud build: CJS lib/telemetry/engagement.js 3.93 KB +plugins/google-cloud build: CJS lib/utils.js.map 7.25 KB +plugins/google-cloud build: CJS lib/telemetry/action.js.map 4.21 KB +plugins/google-cloud build: CJS lib/auth.js.map 4.30 KB +plugins/google-cloud build: CJS lib/model-armor.js.map 13.49 KB +plugins/google-cloud build: CJS lib/types.js.map 4.98 KB +plugins/google-cloud build: CJS lib/gcpLogger.js.map 5.69 KB +plugins/google-cloud build: CJS lib/gcpOpenTelemetry.js.map 22.26 KB +plugins/google-cloud build: CJS lib/telemetry/feature.js.map 6.95 KB +plugins/google-cloud build: CJS lib/telemetry/path.js.map 4.89 KB +plugins/google-cloud build: CJS lib/metrics.js.map 4.71 KB +plugins/google-cloud build: CJS lib/index.js.map 2.73 KB +plugins/google-cloud build: CJS lib/telemetry/generate.js.map 18.93 KB +plugins/google-cloud build: CJS lib/telemetry/defaults.js.map 3.40 KB +plugins/google-cloud build: CJS lib/telemetry/engagement.js.map 5.48 KB +plugins/google-cloud build: CJS ⚡️ Build success in 48ms +plugins/dev-local-vectorstore build: > @genkit-ai/dev-local-vectorstore@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/dev-local-vectorstore +plugins/dev-local-vectorstore build: > tsup-node +plugins/anthropic build: CLI Building entry: src/index.ts, src/list.ts, src/models.ts, src/types.ts, src/runner/base.ts, src/runner/beta.ts, src/runner/index.ts, src/runner/stable.ts, src/runner/types.ts +plugins/anthropic build: CLI Using tsconfig: tsconfig.json +plugins/anthropic build: CLI tsup v8.5.0 +plugins/anthropic build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/anthropic/tsup.config.ts +plugins/anthropic build: CLI Target: es2022 +plugins/anthropic build: CLI Cleaning output folder +plugins/anthropic build: CJS Build start +plugins/anthropic build: ESM Build start +plugins/evaluators build: > @genkit-ai/evaluator@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/evaluators +plugins/evaluators build: > tsup-node +plugins/checks build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/checks build: package.json:53:6: +plugins/checks build: 53 │ "types": "./lib/index.d.ts", +plugins/checks build: ╵ ~~~~~~~ +plugins/checks build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/checks build: package.json:52:6: +plugins/checks build: 52 │ "import": "./lib/index.mjs", +plugins/checks build: ╵ ~~~~~~~~ +plugins/checks build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/checks build: package.json:51:6: +plugins/checks build: 51 │ "require": "./lib/index.js", +plugins/checks build: ╵ ~~~~~~~~~ +plugins/checks build: CLI Building entry: src/evaluation.ts, src/guardrails.ts, src/index.ts, src/metrics.ts, src/middleware.ts +plugins/checks build: CLI Using tsconfig: tsconfig.json +plugins/checks build: CLI tsup v8.5.0 +plugins/checks build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/checks/tsup.config.ts +plugins/checks build: CLI Target: es2022 +plugins/checks build: CLI Cleaning output folder +plugins/checks build: CJS Build start +plugins/checks build: ESM Build start +plugins/anthropic build: CJS lib/index.js 3.84 KB +plugins/anthropic build: CJS lib/types.js 3.78 KB +plugins/anthropic build: CJS lib/models.js 4.97 KB +plugins/anthropic build: CJS lib/runner/index.js 1.28 KB +plugins/anthropic build: CJS lib/list.js 1.85 KB +plugins/anthropic build: CJS lib/runner/beta.js 11.55 KB +plugins/anthropic build: CJS lib/runner/base.js 11.41 KB +plugins/anthropic build: CJS lib/runner/stable.js 11.79 KB +plugins/anthropic build: CJS lib/runner/types.js 774.00 B +plugins/anthropic build: CJS lib/index.js.map 6.72 KB +plugins/anthropic build: CJS lib/runner/index.js.map 929.00 B +plugins/anthropic build: CJS lib/runner/beta.js.map 21.52 KB +plugins/anthropic build: CJS lib/runner/base.js.map 23.35 KB +plugins/anthropic build: CJS lib/list.js.map 2.78 KB +plugins/anthropic build: CJS lib/models.js.map 9.77 KB +plugins/anthropic build: CJS lib/runner/stable.js.map 21.37 KB +plugins/anthropic build: CJS lib/types.js.map 6.48 KB +plugins/anthropic build: CJS lib/runner/types.js.map 2.99 KB +plugins/anthropic build: CJS ⚡️ Build success in 65ms +plugins/anthropic build: ESM lib/list.mjs 847.00 B +plugins/anthropic build: ESM lib/models.mjs 3.60 KB +plugins/anthropic build: ESM lib/runner/base.mjs 10.43 KB +plugins/anthropic build: ESM lib/types.mjs 2.13 KB +plugins/anthropic build: ESM lib/index.mjs 2.17 KB +plugins/anthropic build: ESM lib/runner/index.mjs 201.00 B +plugins/anthropic build: ESM lib/runner/beta.mjs 10.49 KB +plugins/anthropic build: ESM lib/runner/stable.mjs 10.72 KB +plugins/anthropic build: ESM lib/runner/types.mjs 34.00 B +plugins/anthropic build: ESM lib/list.mjs.map 2.74 KB +plugins/anthropic build: ESM lib/index.mjs.map 6.69 KB +plugins/anthropic build: ESM lib/types.mjs.map 6.39 KB +plugins/anthropic build: ESM lib/runner/base.mjs.map 23.32 KB +plugins/anthropic build: ESM lib/models.mjs.map 9.76 KB +plugins/anthropic build: ESM lib/runner/index.mjs.map 889.00 B +plugins/anthropic build: ESM lib/runner/beta.mjs.map 21.49 KB +plugins/anthropic build: ESM lib/runner/stable.mjs.map 21.35 KB +plugins/anthropic build: ESM lib/runner/types.mjs.map 71.00 B +plugins/anthropic build: ESM ⚡️ Build success in 66ms +plugins/express build: > @genkit-ai/express@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/express +plugins/express build: > tsup-node +plugins/google-cloud build: DTS Build start +plugins/checks build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/checks build: package.json:53:6: +plugins/checks build:  53 │ "types": "./lib/index.d.ts", +plugins/checks build: ╵ ~~~~~~~ +plugins/checks build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/checks build: package.json:52:6: +plugins/checks build:  52 │ "import": "./lib/index.mjs", +plugins/checks build: ╵ ~~~~~~~~ +plugins/checks build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/checks build: package.json:51:6: +plugins/checks build:  51 │ "require": "./lib/index.js", +plugins/checks build: ╵ ~~~~~~~~~ +plugins/checks build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/checks build: package.json:53:6: +plugins/checks build:  53 │ "types": "./lib/index.d.ts", +plugins/checks build: ╵ ~~~~~~~ +plugins/checks build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/checks build: package.json:52:6: +plugins/checks build:  52 │ "import": "./lib/index.mjs", +plugins/checks build: ╵ ~~~~~~~~ +plugins/checks build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/checks build: package.json:51:6: +plugins/checks build:  51 │ "require": "./lib/index.js", +plugins/checks build: ╵ ~~~~~~~~~ +plugins/anthropic build: DTS Build start +plugins/checks build: CJS lib/evaluation.js 3.97 KB +plugins/checks build: CJS lib/middleware.js 2.66 KB +plugins/checks build: CJS lib/guardrails.js 2.53 KB +plugins/checks build: CJS lib/index.js 3.56 KB +plugins/checks build: CJS lib/metrics.js 1.92 KB +plugins/checks build: CJS lib/middleware.js.map 3.89 KB +plugins/checks build: CJS lib/guardrails.js.map 3.82 KB +plugins/checks build: CJS lib/evaluation.js.map 5.99 KB +plugins/checks build: CJS lib/index.js.map 5.36 KB +plugins/checks build: CJS lib/metrics.js.map 2.82 KB +plugins/checks build: CJS ⚡️ Build success in 139ms +plugins/checks build: ESM lib/index.mjs 2.35 KB +plugins/checks build: ESM lib/metrics.mjs 893.00 B +plugins/checks build: ESM lib/middleware.mjs 1.63 KB +plugins/checks build: ESM lib/evaluation.mjs 2.80 KB +plugins/checks build: ESM lib/guardrails.mjs 1.39 KB +plugins/checks build: ESM lib/middleware.mjs.map 3.85 KB +plugins/checks build: ESM lib/index.mjs.map 5.32 KB +plugins/checks build: ESM lib/evaluation.mjs.map 5.96 KB +plugins/checks build: ESM lib/metrics.mjs.map 2.77 KB +plugins/checks build: ESM lib/guardrails.mjs.map 3.78 KB +plugins/checks build: ESM ⚡️ Build success in 141ms +plugins/checks build: DTS Build start +plugins/dev-local-vectorstore build: CLI Building entry: src/index.ts +plugins/dev-local-vectorstore build: CLI Using tsconfig: tsconfig.json +plugins/dev-local-vectorstore build: CLI tsup v8.5.0 +plugins/dev-local-vectorstore build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/dev-local-vectorstore/tsup.config.ts +plugins/dev-local-vectorstore build: CLI Target: es2022 +plugins/dev-local-vectorstore build: CLI Cleaning output folder +plugins/dev-local-vectorstore build: CJS Build start +plugins/dev-local-vectorstore build: ESM Build start +plugins/dev-local-vectorstore build: ESM lib/index.mjs 3.84 KB +plugins/dev-local-vectorstore build: ESM lib/index.mjs.map 9.02 KB +plugins/dev-local-vectorstore build: ESM ⚡️ Build success in 29ms +plugins/dev-local-vectorstore build: CJS lib/index.js 5.71 KB +plugins/dev-local-vectorstore build: CJS lib/index.js.map 9.04 KB +plugins/dev-local-vectorstore build: CJS ⚡️ Build success in 29ms +plugins/evaluators build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/evaluators build: package.json:55:6: +plugins/evaluators build: 55 │ "types": "./lib/index.d.ts", +plugins/evaluators build: ╵ ~~~~~~~ +plugins/evaluators build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/evaluators build: package.json:54:6: +plugins/evaluators build: 54 │ "import": "./lib/index.mjs", +plugins/evaluators build: ╵ ~~~~~~~~ +plugins/evaluators build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/evaluators build: package.json:53:6: +plugins/evaluators build: 53 │ "require": "./lib/index.js", +plugins/evaluators build: ╵ ~~~~~~~~~ +plugins/evaluators build: CLI Building entry: src/index.ts, src/types.ts, src/metrics/answer_accuracy.ts, src/metrics/answer_relevancy.ts, src/metrics/deep-equal.ts, src/metrics/faithfulness.ts, src/metrics/helper.ts, src/metrics/index.ts, src/metrics/jsonata.ts, src/metrics/maliciousness.ts, src/metrics/regexp.ts +plugins/evaluators build: CLI Using tsconfig: tsconfig.json +plugins/evaluators build: CLI tsup v8.5.0 +plugins/evaluators build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/evaluators/tsup.config.ts +plugins/evaluators build: CLI Target: es2022 +plugins/evaluators build: CLI Cleaning output folder +plugins/evaluators build: CJS Build start +plugins/evaluators build: ESM Build start +plugins/express build: ▲ [WARNING] The conditions "import" and "types" here will never be used as they come after "default" [package.json] +plugins/express build: package.json:55:6: +plugins/express build: 55 │ "import": "./lib/index.mjs", +plugins/express build: ╵ ~~~~~~~~ +plugins/express build: The "default" condition comes earlier and will always be chosen: +plugins/express build: package.json:54:6: +plugins/express build: 54 │ "default": "./lib/index.js", +plugins/express build: ╵ ~~~~~~~~~ +plugins/express build: CLI Building entry: src/index.ts, src/utils.ts +plugins/express build: CLI Using tsconfig: tsconfig.json +plugins/express build: CLI tsup v8.5.0 +plugins/express build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/express/tsup.config.ts +plugins/evaluators build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/evaluators build: package.json:55:6: +plugins/evaluators build:  55 │ "types": "./lib/index.d.ts", +plugins/evaluators build: ╵ ~~~~~~~ +plugins/evaluators build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/evaluators build: package.json:54:6: +plugins/evaluators build:  54 │ "import": "./lib/index.mjs", +plugins/evaluators build: ╵ ~~~~~~~~ +plugins/evaluators build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/evaluators build: package.json:53:6: +plugins/evaluators build:  53 │ "require": "./lib/index.js", +plugins/evaluators build: ╵ ~~~~~~~~~ +plugins/evaluators build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/evaluators build: package.json:55:6: +plugins/evaluators build:  55 │ "types": "./lib/index.d.ts", +plugins/evaluators build: ╵ ~~~~~~~ +plugins/evaluators build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/evaluators build: package.json:54:6: +plugins/evaluators build:  54 │ "import": "./lib/index.mjs", +plugins/evaluators build: ╵ ~~~~~~~~ +plugins/evaluators build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/evaluators build: package.json:53:6: +plugins/evaluators build:  53 │ "require": "./lib/index.js", +plugins/evaluators build: ╵ ~~~~~~~~~ +plugins/express build: CLI Target: es2022 +plugins/express build: CLI Cleaning output folder +plugins/express build: CJS Build start +plugins/express build: ESM Build start +plugins/evaluators build: CJS lib/types.js 1.63 KB +plugins/evaluators build: CJS lib/index.js 7.76 KB +plugins/evaluators build: CJS lib/metrics/answer_accuracy.js 3.47 KB +plugins/evaluators build: CJS lib/metrics/deep-equal.js 2.27 KB +plugins/evaluators build: CJS lib/metrics/answer_relevancy.js 4.81 KB +plugins/evaluators build: CJS lib/metrics/faithfulness.js 4.84 KB +plugins/evaluators build: CJS lib/metrics/helper.js 1.59 KB +plugins/evaluators build: CJS lib/metrics/jsonata.js 2.32 KB +plugins/evaluators build: CJS lib/metrics/index.js 1.75 KB +plugins/evaluators build: CJS lib/metrics/regexp.js 1.70 KB +plugins/evaluators build: CJS lib/metrics/maliciousness.js 3.45 KB +plugins/evaluators build: CJS lib/types.js.map 3.80 KB +plugins/evaluators build: CJS lib/index.js.map 12.01 KB +plugins/evaluators build: CJS lib/metrics/deep-equal.js.map 1.97 KB +plugins/evaluators build: CJS lib/metrics/faithfulness.js.map 6.15 KB +plugins/evaluators build: CJS lib/metrics/answer_accuracy.js.map 3.92 KB +plugins/evaluators build: CJS lib/metrics/answer_relevancy.js.map 6.22 KB +plugins/evaluators build: CJS lib/metrics/helper.js.map 1.75 KB +plugins/evaluators build: CJS lib/metrics/index.js.map 1.16 KB +plugins/evaluators build: CJS lib/metrics/regexp.js.map 2.03 KB +plugins/evaluators build: CJS lib/metrics/jsonata.js.map 2.00 KB +plugins/evaluators build: CJS lib/metrics/maliciousness.js.map 3.90 KB +plugins/evaluators build: CJS ⚡️ Build success in 121ms +plugins/evaluators build: ESM lib/metrics/answer_accuracy.mjs 1.74 KB +plugins/evaluators build: ESM lib/metrics/index.mjs 466.00 B +plugins/evaluators build: ESM lib/index.mjs 6.41 KB +plugins/evaluators build: ESM lib/metrics/helper.mjs 513.00 B +plugins/evaluators build: ESM lib/types.mjs 608.00 B +plugins/evaluators build: ESM lib/metrics/deep-equal.mjs 667.00 B +plugins/evaluators build: ESM lib/metrics/answer_relevancy.mjs 2.97 KB +plugins/evaluators build: ESM lib/metrics/faithfulness.mjs 2.94 KB +plugins/evaluators build: ESM lib/metrics/jsonata.mjs 685.00 B +plugins/evaluators build: ESM lib/metrics/maliciousness.mjs 1.69 KB +plugins/evaluators build: ESM lib/metrics/regexp.mjs 705.00 B +plugins/evaluators build: ESM lib/index.mjs.map 12.05 KB +plugins/evaluators build: ESM lib/metrics/answer_accuracy.mjs.map 3.88 KB +plugins/evaluators build: ESM lib/metrics/helper.mjs.map 1.70 KB +plugins/evaluators build: ESM lib/types.mjs.map 3.76 KB +plugins/evaluators build: ESM lib/metrics/index.mjs.map 1.12 KB +plugins/evaluators build: ESM lib/metrics/deep-equal.mjs.map 1.93 KB +plugins/evaluators build: ESM lib/metrics/faithfulness.mjs.map 6.11 KB +plugins/evaluators build: ESM lib/metrics/answer_relevancy.mjs.map 6.17 KB +plugins/evaluators build: ESM lib/metrics/jsonata.mjs.map 1.94 KB +plugins/evaluators build: ESM lib/metrics/maliciousness.mjs.map 3.86 KB +plugins/evaluators build: ESM lib/metrics/regexp.mjs.map 2.00 KB +plugins/evaluators build: ESM ⚡️ Build success in 122ms +plugins/googleai build: > @genkit-ai/googleai@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/googleai +plugins/googleai build: > tsup-node +plugins/express build: WARN ▲ [WARNING] The conditions "import" and "types" here will never be used as they come after "default" [package.json] +plugins/express build: package.json:55:6: +plugins/express build:  55 │ "import": "./lib/index.mjs", +plugins/express build: ╵ ~~~~~~~~ +plugins/express build: The "default" condition comes earlier and will always be chosen: +plugins/express build: package.json:54:6: +plugins/express build:  54 │ "default": "./lib/index.js", +plugins/express build: ╵ ~~~~~~~~~ +plugins/express build: WARN ▲ [WARNING] The conditions "import" and "types" here will never be used as they come after "default" [package.json] +plugins/express build: package.json:55:6: +plugins/express build:  55 │ "import": "./lib/index.mjs", +plugins/express build: ╵ ~~~~~~~~ +plugins/express build: The "default" condition comes earlier and will always be chosen: +plugins/express build: package.json:54:6: +plugins/express build:  54 │ "default": "./lib/index.js", +plugins/express build: ╵ ~~~~~~~~~ +plugins/express build: CJS lib/utils.js 1.31 KB +plugins/express build: CJS lib/index.js 10.63 KB +plugins/express build: CJS lib/utils.js.map 1.42 KB +plugins/express build: CJS lib/index.js.map 19.09 KB +plugins/express build: CJS ⚡️ Build success in 59ms +plugins/express build: ESM lib/index.mjs 8.49 KB +plugins/express build: ESM lib/utils.mjs 283.00 B +plugins/express build: ESM lib/utils.mjs.map 1.37 KB +plugins/express build: ESM lib/index.mjs.map 19.02 KB +plugins/express build: ESM ⚡️ Build success in 60ms +plugins/dev-local-vectorstore build: DTS Build start +plugins/evaluators build: DTS Build start +plugins/express build: DTS Build start +plugins/google-genai build: > @genkit-ai/google-genai@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/google-genai +plugins/google-genai build: > tsup-node +plugins/googleai build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/googleai build: package.json:54:6: +plugins/googleai build: 54 │ "types": "./lib/index.d.ts", +plugins/googleai build: ╵ ~~~~~~~ +plugins/googleai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/googleai build: package.json:53:6: +plugins/googleai build: 53 │ "import": "./lib/index.mjs", +plugins/googleai build: ╵ ~~~~~~~~ +plugins/googleai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/googleai build: package.json:52:6: +plugins/googleai build: 52 │ "require": "./lib/index.js", +plugins/googleai build: ╵ ~~~~~~~~~ +plugins/googleai build: CLI Building entry: src/common.ts, src/embedder.ts, src/gemini.ts, src/imagen.ts, src/index.ts, src/list-models.ts, src/predict.ts, src/veo.ts, src/context-caching/constants.ts, src/context-caching/index.ts, src/context-caching/types.ts, src/context-caching/utils.ts +plugins/googleai build: CLI Using tsconfig: tsconfig.json +plugins/googleai build: CLI tsup v8.5.0 +plugins/googleai build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/googleai/tsup.config.ts +plugins/googleai build: CLI Target: es2022 +plugins/googleai build: CLI Cleaning output folder +plugins/googleai build: CJS Build start +plugins/googleai build: ESM Build start +plugins/googleai build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/googleai build: package.json:54:6: +plugins/googleai build:  54 │ "types": "./lib/index.d.ts", +plugins/googleai build: ╵ ~~~~~~~ +plugins/googleai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/googleai build: package.json:53:6: +plugins/googleai build:  53 │ "import": "./lib/index.mjs", +plugins/googleai build: ╵ ~~~~~~~~ +plugins/googleai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/googleai build: package.json:52:6: +plugins/googleai build:  52 │ "require": "./lib/index.js", +plugins/googleai build: ╵ ~~~~~~~~~ +plugins/googleai build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/googleai build: package.json:54:6: +plugins/googleai build:  54 │ "types": "./lib/index.d.ts", +plugins/googleai build: ╵ ~~~~~~~ +plugins/googleai build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/googleai build: package.json:53:6: +plugins/googleai build:  53 │ "import": "./lib/index.mjs", +plugins/googleai build: ╵ ~~~~~~~~ +plugins/googleai build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/googleai build: package.json:52:6: +plugins/googleai build:  52 │ "require": "./lib/index.js", +plugins/googleai build: ╵ ~~~~~~~~~ +plugins/googleai build: CJS lib/imagen.js 4.46 KB +plugins/googleai build: CJS lib/list-models.js 1.38 KB +plugins/googleai build: CJS lib/context-caching/types.js 1.50 KB +plugins/googleai build: CJS lib/common.js 2.21 KB +plugins/googleai build: CJS lib/predict.js 3.35 KB +plugins/googleai build: CJS lib/index.js 9.28 KB +plugins/googleai build: CJS lib/gemini.js 40.35 KB +plugins/googleai build: CJS lib/context-caching/index.js 3.24 KB +plugins/googleai build: CJS lib/embedder.js 5.87 KB +plugins/googleai build: CJS lib/veo.js 4.89 KB +plugins/googleai build: CJS lib/context-caching/constants.js 1.69 KB +plugins/googleai build: CJS lib/context-caching/utils.js 5.51 KB +plugins/googleai build: CJS lib/list-models.js.map 2.04 KB +plugins/googleai build: CJS lib/common.js.map 1.55 KB +plugins/googleai build: CJS lib/context-caching/types.js.map 1.40 KB +plugins/googleai build: CJS lib/index.js.map 16.19 KB +plugins/googleai build: CJS lib/predict.js.map 4.54 KB +plugins/googleai build: CJS lib/context-caching/index.js.map 5.21 KB +plugins/googleai build: CJS lib/gemini.js.map 69.10 KB +plugins/googleai build: CJS lib/imagen.js.map 7.33 KB +plugins/googleai build: CJS lib/context-caching/constants.js.map 1.40 KB +plugins/googleai build: CJS lib/veo.js.map 8.23 KB +plugins/googleai build: CJS lib/embedder.js.map 8.12 KB +plugins/googleai build: CJS lib/context-caching/utils.js.map 8.81 KB +plugins/googleai build: CJS ⚡️ Build success in 45ms +plugins/googleai build: ESM lib/context-caching/constants.mjs 576.00 B +plugins/googleai build: ESM lib/context-caching/index.mjs 2.08 KB +plugins/googleai build: ESM lib/common.mjs 513.00 B +plugins/googleai build: ESM lib/context-caching/utils.mjs 3.50 KB +plugins/googleai build: ESM lib/embedder.mjs 4.36 KB +plugins/googleai build: ESM lib/context-caching/types.mjs 357.00 B +plugins/googleai build: ESM lib/gemini.mjs 36.71 KB +plugins/googleai build: ESM lib/index.mjs 7.33 KB +plugins/googleai build: ESM lib/list-models.mjs 390.00 B +plugins/googleai build: ESM lib/predict.mjs 1.72 KB +plugins/googleai build: ESM lib/veo.mjs 3.67 KB +plugins/googleai build: ESM lib/imagen.mjs 3.25 KB +plugins/googleai build: ESM lib/common.mjs.map 1.44 KB +plugins/googleai build: ESM lib/context-caching/index.mjs.map 5.23 KB +plugins/googleai build: ESM lib/context-caching/constants.mjs.map 1.34 KB +plugins/googleai build: ESM lib/embedder.mjs.map 8.08 KB +plugins/googleai build: ESM lib/context-caching/types.mjs.map 1.35 KB +plugins/googleai build: ESM lib/context-caching/utils.mjs.map 8.77 KB +plugins/googleai build: ESM lib/gemini.mjs.map 68.94 KB +plugins/googleai build: ESM lib/index.mjs.map 16.37 KB +plugins/googleai build: ESM lib/predict.mjs.map 4.49 KB +plugins/googleai build: ESM lib/list-models.mjs.map 2.00 KB +plugins/googleai build: ESM lib/imagen.mjs.map 7.31 KB +plugins/googleai build: ESM lib/veo.mjs.map 8.22 KB +plugins/googleai build: ESM ⚡️ Build success in 46ms +plugins/chroma build: DTS ⚡️ Build success in 2584ms +plugins/chroma build: DTS lib/index.d.ts 3.80 KB +plugins/chroma build: DTS lib/index.d.mts 3.80 KB +plugins/chroma build: Done +plugins/next build$ npm-run-all build:clean check compile +plugins/googleai build: DTS Build start +plugins/google-genai build: CLI Building entry: src/index.ts, src/common/converters.ts, src/common/types.ts, src/common/utils.ts, src/googleai/client.ts, src/googleai/embedder.ts, src/googleai/gemini.ts, src/googleai/imagen.ts, src/googleai/index.ts, src/googleai/types.ts, src/googleai/utils.ts, src/googleai/veo.ts, src/vertexai/client.ts, src/vertexai/converters.ts, src/vertexai/embedder.ts, src/vertexai/gemini.ts, src/vertexai/imagen.ts, src/vertexai/index.ts, src/vertexai/lyria.ts, src/vertexai/types.ts, src/vertexai/utils.ts, src/vertexai/veo.ts +plugins/google-genai build: CLI Using tsconfig: tsconfig.json +plugins/google-genai build: CLI tsup v8.5.0 +plugins/google-genai build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/google-genai/tsup.config.ts +plugins/google-genai build: CLI Target: es2022 +plugins/google-genai build: CLI Cleaning output folder +plugins/google-genai build: CJS Build start +plugins/google-genai build: ESM Build start +plugins/google-genai build: CJS lib/index.js 1.21 KB +plugins/google-genai build: CJS lib/googleai/client.js 7.77 KB +plugins/google-genai build: CJS lib/common/types.js 8.34 KB +plugins/google-genai build: CJS lib/vertexai/converters.js 8.96 KB +plugins/google-genai build: CJS lib/googleai/embedder.js 5.20 KB +plugins/google-genai build: CJS lib/common/utils.js 13.99 KB +plugins/google-genai build: CJS lib/googleai/index.js 4.39 KB +plugins/google-genai build: CJS lib/googleai/imagen.js 6.07 KB +plugins/google-genai build: CJS lib/common/converters.js 15.71 KB +plugins/google-genai build: CJS lib/googleai/utils.js 5.88 KB +plugins/google-genai build: CJS lib/googleai/veo.js 6.32 KB +plugins/google-genai build: CJS lib/vertexai/client.js 10.42 KB +plugins/google-genai build: CJS lib/googleai/types.js 1.32 KB +plugins/google-genai build: CJS lib/vertexai/embedder.js 8.35 KB +plugins/google-genai build: CJS lib/googleai/gemini.js 21.34 KB +plugins/google-genai build: CJS lib/vertexai/index.js 5.27 KB +plugins/google-genai build: CJS lib/vertexai/types.js 2.69 KB +plugins/google-genai build: CJS lib/vertexai/utils.js 9.40 KB +plugins/google-genai build: CJS lib/vertexai/gemini.js 20.59 KB +plugins/google-genai build: CJS lib/vertexai/imagen.js 8.38 KB +plugins/google-genai build: CJS lib/vertexai/lyria.js 4.61 KB +plugins/google-genai build: CJS lib/vertexai/veo.js 6.62 KB +plugins/google-genai build: CJS lib/index.js.map 1006.00 B +plugins/google-genai build: CJS lib/googleai/client.js.map 16.17 KB +plugins/google-genai build: CJS lib/vertexai/converters.js.map 15.53 KB +plugins/google-genai build: CJS lib/common/types.js.map 41.03 KB +plugins/google-genai build: CJS lib/common/converters.js.map 28.55 KB +plugins/google-genai build: CJS lib/googleai/index.js.map 7.73 KB +plugins/google-genai build: CJS lib/googleai/imagen.js.map 10.21 KB +plugins/google-genai build: CJS lib/googleai/embedder.js.map 7.71 KB +plugins/google-genai build: CJS lib/common/utils.js.map 27.38 KB +plugins/google-genai build: CJS lib/googleai/utils.js.map 9.42 KB +plugins/google-genai build: CJS lib/googleai/veo.js.map 11.00 KB +plugins/google-genai build: CJS lib/googleai/gemini.js.map 35.86 KB +plugins/google-genai build: CJS lib/vertexai/client.js.map 17.27 KB +plugins/google-genai build: CJS lib/googleai/types.js.map 5.41 KB +plugins/google-genai build: CJS lib/vertexai/types.js.map 10.98 KB +plugins/google-genai build: CJS lib/vertexai/utils.js.map 16.57 KB +plugins/google-genai build: CJS lib/vertexai/gemini.js.map 33.39 KB +plugins/google-genai build: CJS lib/vertexai/imagen.js.map 13.02 KB +plugins/google-genai build: CJS lib/vertexai/lyria.js.map 6.84 KB +plugins/google-genai build: CJS lib/vertexai/index.js.map 8.07 KB +plugins/google-genai build: CJS lib/vertexai/embedder.js.map 14.13 KB +plugins/google-genai build: CJS lib/vertexai/veo.js.map 10.25 KB +plugins/google-genai build: CJS ⚡️ Build success in 95ms +plugins/google-genai build: ESM lib/index.mjs 167.00 B +plugins/google-genai build: ESM lib/vertexai/imagen.mjs 6.77 KB +plugins/google-genai build: ESM lib/vertexai/utils.mjs 7.58 KB +plugins/google-genai build: ESM lib/vertexai/index.mjs 3.58 KB +plugins/google-genai build: ESM lib/vertexai/types.mjs 1.25 KB +plugins/google-genai build: ESM lib/googleai/index.mjs 2.66 KB +plugins/google-genai build: ESM lib/vertexai/veo.mjs 5.12 KB +plugins/google-genai build: ESM lib/googleai/veo.mjs 4.97 KB +plugins/google-genai build: ESM lib/vertexai/lyria.mjs 3.26 KB +plugins/google-genai build: ESM lib/googleai/types.mjs 226.00 B +plugins/google-genai build: ESM lib/googleai/utils.mjs 3.58 KB +plugins/google-genai build: ESM lib/vertexai/client.mjs 8.97 KB +plugins/google-genai build: ESM lib/common/converters.mjs 14.33 KB +plugins/google-genai build: ESM lib/vertexai/converters.mjs 7.22 KB +plugins/google-genai build: ESM lib/googleai/gemini.mjs 18.99 KB +plugins/google-genai build: ESM lib/googleai/embedder.mjs 3.87 KB +plugins/google-genai build: ESM lib/vertexai/embedder.mjs 6.96 KB +plugins/google-genai build: ESM lib/common/types.mjs 6.40 KB +plugins/google-genai build: ESM lib/common/utils.mjs 12.38 KB +plugins/google-genai build: ESM lib/googleai/imagen.mjs 4.72 KB +plugins/google-genai build: ESM lib/vertexai/gemini.mjs 18.40 KB +plugins/google-genai build: ESM lib/googleai/client.mjs 6.41 KB +plugins/google-genai build: ESM lib/index.mjs.map 977.00 B +plugins/google-genai build: ESM lib/vertexai/utils.mjs.map 16.53 KB +plugins/google-genai build: ESM lib/vertexai/index.mjs.map 8.05 KB +plugins/google-genai build: ESM lib/vertexai/types.mjs.map 10.99 KB +plugins/google-genai build: ESM lib/googleai/veo.mjs.map 11.02 KB +plugins/google-genai build: ESM lib/vertexai/veo.mjs.map 10.27 KB +plugins/google-genai build: ESM lib/googleai/utils.mjs.map 9.32 KB +plugins/google-genai build: ESM lib/googleai/types.mjs.map 5.40 KB +plugins/google-genai build: ESM lib/vertexai/client.mjs.map 17.21 KB +plugins/google-genai build: ESM lib/vertexai/converters.mjs.map 15.46 KB +plugins/google-genai build: ESM lib/common/converters.mjs.map 28.52 KB +plugins/google-genai build: ESM lib/vertexai/lyria.mjs.map 6.84 KB +plugins/google-genai build: ESM lib/vertexai/embedder.mjs.map 14.10 KB +plugins/google-genai build: ESM lib/googleai/index.mjs.map 7.69 KB +plugins/google-genai build: ESM lib/googleai/gemini.mjs.map 35.92 KB +plugins/google-genai build: ESM lib/googleai/imagen.mjs.map 10.24 KB +plugins/google-genai build: ESM lib/common/types.mjs.map 40.88 KB +plugins/google-genai build: ESM lib/googleai/client.mjs.map 16.12 KB +plugins/google-genai build: ESM lib/vertexai/gemini.mjs.map 33.42 KB +plugins/google-genai build: ESM lib/vertexai/imagen.mjs.map 13.00 KB +plugins/google-genai build: ESM lib/googleai/embedder.mjs.map 7.71 KB +plugins/google-genai build: ESM lib/common/utils.mjs.map 27.28 KB +plugins/google-genai build: ESM ⚡️ Build success in 99ms +plugins/google-genai build: DTS Build start +plugins/next build: > @genkit-ai/next@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/next +plugins/next build: > rimraf ./lib +plugins/dev-local-vectorstore build: DTS ⚡️ Build success in 1609ms +plugins/dev-local-vectorstore build: DTS lib/index.d.ts 1.08 KB +plugins/dev-local-vectorstore build: DTS lib/index.d.mts 1.08 KB +plugins/next build: > @genkit-ai/next@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/next +plugins/next build: > tsc +plugins/dev-local-vectorstore build: Done +plugins/ollama build$ npm-run-all build:clean check compile +plugins/cloud-sql-pg build: DTS ⚡️ Build success in 3799ms +plugins/cloud-sql-pg build: DTS lib/index.d.ts 5.02 KB +plugins/cloud-sql-pg build: DTS lib/engine.d.ts 7.57 KB +plugins/cloud-sql-pg build: DTS lib/indexes.d.ts 4.43 KB +plugins/cloud-sql-pg build: DTS lib/utils/index.d.ts 1.09 KB +plugins/cloud-sql-pg build: DTS lib/index.d.mts 5.02 KB +plugins/cloud-sql-pg build: DTS lib/engine.d.mts 7.57 KB +plugins/cloud-sql-pg build: DTS lib/indexes.d.mts 4.43 KB +plugins/cloud-sql-pg build: DTS lib/utils/index.d.mts 1.09 KB +plugins/cloud-sql-pg build: Done +plugins/pinecone build$ npm-run-all build:clean check compile +plugins/express build: DTS ⚡️ Build success in 2265ms +plugins/express build: DTS lib/index.d.ts 4.52 KB +plugins/express build: DTS lib/utils.d.ts 993.00 B +plugins/express build: DTS lib/index.d.mts 4.52 KB +plugins/express build: DTS lib/utils.d.mts 993.00 B +plugins/express build: Done +plugins/vertexai build$ npm-run-all build:clean check compile +plugins/ollama build: > genkitx-ollama@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/ollama +plugins/ollama build: > rimraf ./lib +plugins/pinecone build: > genkitx-pinecone@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/pinecone +plugins/pinecone build: > rimraf ./lib +plugins/checks build: DTS ⚡️ Build success in 2993ms +plugins/checks build: DTS lib/evaluation.d.ts 918.00 B +plugins/checks build: DTS lib/guardrails.d.ts 1.38 KB +plugins/checks build: DTS lib/index.d.ts 1.52 KB +plugins/checks build: DTS lib/middleware.d.ts 931.00 B +plugins/checks build: DTS lib/metrics.d.ts 1.61 KB +plugins/checks build: DTS lib/evaluation.d.mts 919.00 B +plugins/checks build: DTS lib/guardrails.d.mts 1.38 KB +plugins/checks build: DTS lib/index.d.mts 1.52 KB +plugins/checks build: DTS lib/middleware.d.mts 932.00 B +plugins/checks build: DTS lib/metrics.d.mts 1.61 KB +plugins/checks build: Done +plugins/langchain build: DTS ⚡️ Build success in 4181ms +plugins/langchain build: DTS lib/evaluators.d.ts 340.00 B +plugins/langchain build: DTS lib/index.d.ts 1.29 KB +plugins/langchain build: DTS lib/model.d.ts 804.00 B +plugins/langchain build: DTS lib/tracing.d.ts 1019.00 B +plugins/langchain build: DTS lib/evaluators.d.mts 340.00 B +plugins/langchain build: DTS lib/index.d.mts 1.29 KB +plugins/langchain build: DTS lib/model.d.mts 804.00 B +plugins/langchain build: DTS lib/tracing.d.mts 1019.00 B +plugins/ollama build: > genkitx-ollama@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/ollama +plugins/ollama build: > tsc +plugins/vertexai build: > @genkit-ai/vertexai@1.27.0 build:clean /Users/lukeschlangen/Documents/genkit/js/plugins/vertexai +plugins/vertexai build: > rimraf ./lib +plugins/pinecone build: > genkitx-pinecone@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/pinecone +plugins/pinecone build: > tsc +plugins/langchain build: Done +plugins/evaluators build: DTS ⚡️ Build success in 3233ms +plugins/evaluators build: DTS lib/metrics/index.d.ts 384.00 B +plugins/evaluators build: DTS lib/index.d.ts 1.03 KB +plugins/evaluators build: DTS lib/types.d.ts 3.46 KB +plugins/evaluators build: DTS lib/metrics/answer_accuracy.d.ts 967.00 B +plugins/evaluators build: DTS lib/metrics/helper.d.ts 980.00 B +plugins/evaluators build: DTS lib/metrics/answer_relevancy.d.ts 1.14 KB +plugins/evaluators build: DTS lib/metrics/deep-equal.d.ts 838.00 B +plugins/evaluators build: DTS lib/metrics/faithfulness.d.ts 974.00 B +plugins/evaluators build: DTS lib/metrics/jsonata.d.ts 861.00 B +plugins/evaluators build: DTS lib/metrics/maliciousness.d.ts 965.00 B +plugins/evaluators build: DTS lib/metrics/regexp.d.ts 843.00 B +plugins/evaluators build: DTS lib/metrics/index.d.mts 390.00 B +plugins/evaluators build: DTS lib/index.d.mts 1.03 KB +plugins/evaluators build: DTS lib/types.d.mts 3.46 KB +plugins/evaluators build: DTS lib/metrics/answer_accuracy.d.mts 967.00 B +plugins/evaluators build: DTS lib/metrics/helper.d.mts 980.00 B +plugins/evaluators build: DTS lib/metrics/answer_relevancy.d.mts 1.14 KB +plugins/evaluators build: DTS lib/metrics/deep-equal.d.mts 838.00 B +plugins/evaluators build: DTS lib/metrics/faithfulness.d.mts 974.00 B +plugins/evaluators build: DTS lib/metrics/jsonata.d.mts 861.00 B +plugins/evaluators build: DTS lib/metrics/maliciousness.d.mts 965.00 B +plugins/evaluators build: DTS lib/metrics/regexp.d.mts 843.00 B +plugins/evaluators build: Done +plugins/next build: > @genkit-ai/next@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/next +plugins/next build: > tsup-node +plugins/anthropic build: DTS ⚡️ Build success in 3973ms +plugins/anthropic build: DTS lib/runner/index.d.ts 430.00 B +plugins/anthropic build: DTS lib/index.d.ts 1.37 KB +plugins/anthropic build: DTS lib/list.d.ts 1.18 KB +plugins/anthropic build: DTS lib/models.d.ts 3.57 KB +plugins/anthropic build: DTS lib/runner/beta.d.ts 3.42 KB +plugins/anthropic build: DTS lib/runner/stable.d.ts 3.14 KB +plugins/anthropic build: DTS lib/runner/base.d.ts 6.68 KB +plugins/anthropic build: DTS lib/types.d.ts 6.59 KB +plugins/anthropic build: DTS lib/runner/types.d.ts 2.79 KB +plugins/anthropic build: DTS lib/runner/index.d.mts 435.00 B +plugins/anthropic build: DTS lib/index.d.mts 1.37 KB +plugins/anthropic build: DTS lib/list.d.mts 1.18 KB +plugins/anthropic build: DTS lib/models.d.mts 3.57 KB +plugins/anthropic build: DTS lib/runner/beta.d.mts 3.42 KB +plugins/anthropic build: DTS lib/runner/stable.d.mts 3.14 KB +plugins/anthropic build: DTS lib/runner/base.d.mts 6.68 KB +plugins/anthropic build: DTS lib/types.d.mts 6.59 KB +plugins/anthropic build: DTS lib/runner/types.d.mts 2.79 KB +plugins/anthropic build: Done +plugins/vertexai build: > @genkit-ai/vertexai@1.27.0 check /Users/lukeschlangen/Documents/genkit/js/plugins/vertexai +plugins/vertexai build: > tsc +plugins/next build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/next build: package.json:60:6: +plugins/next build: 60 │ "types": "./lib/index.d.ts", +plugins/next build: ╵ ~~~~~~~ +plugins/next build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/next build: package.json:59:6: +plugins/next build: 59 │ "import": "./lib/index.mjs", +plugins/next build: ╵ ~~~~~~~~ +plugins/next build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/next build: package.json:58:6: +plugins/next build: 58 │ "require": "./lib/index.js", +plugins/next build: ╵ ~~~~~~~~~ +plugins/next build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/next build: package.json:66:6: +plugins/next build: 66 │ "types": "./lib/client.d.ts", +plugins/next build: ╵ ~~~~~~~ +plugins/next build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/next build: package.json:65:6: +plugins/next build: 65 │ "import": "./lib/client.mjs", +plugins/next build: ╵ ~~~~~~~~ +plugins/next build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/next build: package.json:64:6: +plugins/next build: 64 │ "require": "./lib/client.js", +plugins/next build: ╵ ~~~~~~~~~ +plugins/next build: CLI Building entry: src/client.ts, src/index.ts +plugins/next build: CLI Using tsconfig: tsconfig.json +plugins/next build: CLI tsup v8.5.0 +plugins/next build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/next/tsup.config.ts +plugins/next build: CLI Target: es2022 +plugins/next build: CLI Cleaning output folder +plugins/next build: CJS Build start +plugins/next build: ESM Build start +plugins/next build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/next build: package.json:60:6: +plugins/next build:  60 │ "types": "./lib/index.d.ts", +plugins/next build: ╵ ~~~~~~~ +plugins/next build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/next build: package.json:59:6: +plugins/next build:  59 │ "import": "./lib/index.mjs", +plugins/next build: ╵ ~~~~~~~~ +plugins/next build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/next build: package.json:58:6: +plugins/next build:  58 │ "require": "./lib/index.js", +plugins/next build: ╵ ~~~~~~~~~ +plugins/next build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/next build: package.json:66:6: +plugins/next build:  66 │ "types": "./lib/client.d.ts", +plugins/next build: ╵ ~~~~~~~ +plugins/next build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/next build: package.json:65:6: +plugins/next build:  65 │ "import": "./lib/client.mjs", +plugins/next build: ╵ ~~~~~~~~ +plugins/next build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/next build: package.json:64:6: +plugins/next build:  64 │ "require": "./lib/client.js", +plugins/next build: ╵ ~~~~~~~~~ +plugins/next build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/next build: package.json:60:6: +plugins/next build:  60 │ "types": "./lib/index.d.ts", +plugins/next build: ╵ ~~~~~~~ +plugins/next build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/next build: package.json:59:6: +plugins/next build:  59 │ "import": "./lib/index.mjs", +plugins/next build: ╵ ~~~~~~~~ +plugins/next build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/next build: package.json:58:6: +plugins/next build:  58 │ "require": "./lib/index.js", +plugins/next build: ╵ ~~~~~~~~~ +plugins/next build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/next build: package.json:66:6: +plugins/next build:  66 │ "types": "./lib/client.d.ts", +plugins/next build: ╵ ~~~~~~~ +plugins/next build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/next build: package.json:65:6: +plugins/next build:  65 │ "import": "./lib/client.mjs", +plugins/next build: ╵ ~~~~~~~~ +plugins/next build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/next build: package.json:64:6: +plugins/next build:  64 │ "require": "./lib/client.js", +plugins/next build: ╵ ~~~~~~~~~ +plugins/next build: ESM lib/client.mjs 374.00 B +plugins/next build: ESM lib/index.mjs 6.60 KB +plugins/next build: ESM lib/index.mjs.map 13.42 KB +plugins/next build: ESM lib/client.mjs.map 2.03 KB +plugins/next build: ESM ⚡️ Build success in 47ms +plugins/next build: CJS lib/client.js 1.36 KB +plugins/next build: CJS lib/index.js 7.95 KB +plugins/next build: CJS lib/client.js.map 2.09 KB +plugins/next build: CJS lib/index.js.map 13.42 KB +plugins/next build: CJS ⚡️ Build success in 47ms +plugins/next build: DTS Build start +plugins/googleai build: DTS ⚡️ Build success in 3926ms +plugins/googleai build: DTS lib/common.d.ts 807.00 B +plugins/googleai build: DTS lib/index.d.ts 8.34 KB +plugins/googleai build: DTS lib/gemini.d.ts 118.26 KB +plugins/googleai build: DTS lib/imagen.d.ts 1.56 KB +plugins/googleai build: DTS lib/list-models.d.ts 1.17 KB +plugins/googleai build: DTS lib/predict.d.ts 1.46 KB +plugins/googleai build: DTS lib/veo.d.ts 1.58 KB +plugins/googleai build: DTS lib/context-caching/constants.d.ts 886.00 B +plugins/googleai build: DTS lib/context-caching/index.d.ts 1.94 KB +plugins/googleai build: DTS lib/context-caching/utils.d.ts 2.84 KB +plugins/googleai build: DTS lib/context-caching/types.d.ts 1.21 KB +plugins/googleai build: DTS lib/embedder.d.ts 399.00 B +plugins/googleai build: DTS lib/common.d.mts 807.00 B +plugins/googleai build: DTS lib/index.d.mts 8.35 KB +plugins/googleai build: DTS lib/gemini.d.mts 118.26 KB +plugins/googleai build: DTS lib/imagen.d.mts 1.56 KB +plugins/googleai build: DTS lib/list-models.d.mts 1.17 KB +plugins/googleai build: DTS lib/predict.d.mts 1.46 KB +plugins/googleai build: DTS lib/veo.d.mts 1.58 KB +plugins/googleai build: DTS lib/context-caching/constants.d.mts 886.00 B +plugins/googleai build: DTS lib/context-caching/index.d.mts 1.94 KB +plugins/googleai build: DTS lib/context-caching/utils.d.mts 2.84 KB +plugins/googleai build: DTS lib/context-caching/types.d.mts 1.21 KB +plugins/googleai build: DTS lib/embedder.d.mts 403.00 B +plugins/googleai build: Done +plugins/google-cloud build: DTS ⚡️ Build success in 5355ms +plugins/google-cloud build: DTS lib/auth.d.ts 1.57 KB +plugins/google-cloud build: DTS lib/index.d.ts 1.42 KB +plugins/google-cloud build: DTS lib/gcpLogger.d.ts 814.00 B +plugins/google-cloud build: DTS lib/gcpOpenTelemetry.d.ts 2.26 KB +plugins/google-cloud build: DTS lib/model-armor.d.ts 2.26 KB +plugins/google-cloud build: DTS lib/utils.d.ts 2.58 KB +plugins/google-cloud build: DTS lib/telemetry/action.d.ts 969.00 B +plugins/google-cloud build: DTS lib/telemetry/defaults.d.ts 1.19 KB +plugins/google-cloud build: DTS lib/types.d.ts 4.93 KB +plugins/google-cloud build: DTS lib/telemetry/engagement.d.ts 1.20 KB +plugins/google-cloud build: DTS lib/telemetry/feature.d.ts 1.18 KB +plugins/google-cloud build: DTS lib/telemetry/generate.d.ts 1.73 KB +plugins/google-cloud build: DTS lib/telemetry/path.d.ts 1.08 KB +plugins/google-cloud build: DTS lib/metrics.d.ts 2.34 KB +plugins/google-cloud build: DTS lib/auth.d.mts 1.57 KB +plugins/google-cloud build: DTS lib/index.d.mts 1.42 KB +plugins/google-cloud build: DTS lib/gcpLogger.d.mts 815.00 B +plugins/google-cloud build: DTS lib/gcpOpenTelemetry.d.mts 2.26 KB +plugins/google-cloud build: DTS lib/model-armor.d.mts 2.26 KB +plugins/google-cloud build: DTS lib/utils.d.mts 2.58 KB +plugins/google-cloud build: DTS lib/telemetry/action.d.mts 970.00 B +plugins/google-cloud build: DTS lib/telemetry/defaults.d.mts 1.19 KB +plugins/google-cloud build: DTS lib/types.d.mts 4.93 KB +plugins/google-cloud build: DTS lib/telemetry/engagement.d.mts 1.20 KB +plugins/google-cloud build: DTS lib/telemetry/feature.d.mts 1.18 KB +plugins/google-cloud build: DTS lib/telemetry/generate.d.mts 1.74 KB +plugins/google-cloud build: DTS lib/telemetry/path.d.mts 1.08 KB +plugins/google-cloud build: DTS lib/metrics.d.mts 2.34 KB +plugins/google-cloud build: Done +plugins/pinecone build: > genkitx-pinecone@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/pinecone +plugins/pinecone build: > tsup-node +plugins/pinecone build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/pinecone build: package.json:52:6: +plugins/pinecone build: 52 │ "types": "./lib/index.d.ts", +plugins/pinecone build: ╵ ~~~~~~~ +plugins/pinecone build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/pinecone build: package.json:51:6: +plugins/pinecone build: 51 │ "import": "./lib/index.mjs", +plugins/pinecone build: ╵ ~~~~~~~~ +plugins/pinecone build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/pinecone build: package.json:50:6: +plugins/pinecone build: 50 │ "require": "./lib/index.js", +plugins/pinecone build: ╵ ~~~~~~~~~ +plugins/pinecone build: CLI Building entry: src/index.ts +plugins/pinecone build: CLI Using tsconfig: tsconfig.json +plugins/pinecone build: CLI tsup v8.5.0 +plugins/pinecone build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/pinecone/tsup.config.ts +plugins/pinecone build: CLI Target: es2022 +plugins/pinecone build: CLI Cleaning output folder +plugins/pinecone build: CJS Build start +plugins/pinecone build: ESM Build start +plugins/pinecone build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/pinecone build: package.json:52:6: +plugins/pinecone build:  52 │ "types": "./lib/index.d.ts", +plugins/pinecone build: ╵ ~~~~~~~ +plugins/pinecone build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/pinecone build: package.json:51:6: +plugins/pinecone build:  51 │ "import": "./lib/index.mjs", +plugins/pinecone build: ╵ ~~~~~~~~ +plugins/pinecone build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/pinecone build: package.json:50:6: +plugins/pinecone build:  50 │ "require": "./lib/index.js", +plugins/pinecone build: ╵ ~~~~~~~~~ +plugins/pinecone build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/pinecone build: package.json:52:6: +plugins/pinecone build:  52 │ "types": "./lib/index.d.ts", +plugins/pinecone build: ╵ ~~~~~~~ +plugins/pinecone build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/pinecone build: package.json:51:6: +plugins/pinecone build:  51 │ "import": "./lib/index.mjs", +plugins/pinecone build: ╵ ~~~~~~~~ +plugins/pinecone build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/pinecone build: package.json:50:6: +plugins/pinecone build:  50 │ "require": "./lib/index.js", +plugins/pinecone build: ╵ ~~~~~~~~~ +plugins/pinecone build: CJS lib/index.js 7.41 KB +plugins/pinecone build: CJS lib/index.js.map 15.96 KB +plugins/pinecone build: CJS ⚡️ Build success in 32ms +plugins/pinecone build: ESM lib/index.mjs 5.77 KB +plugins/pinecone build: ESM lib/index.mjs.map 15.92 KB +plugins/pinecone build: ESM ⚡️ Build success in 34ms +plugins/pinecone build: DTS Build start +plugins/ollama build: > genkitx-ollama@1.27.0 compile /Users/lukeschlangen/Documents/genkit/js/plugins/ollama +plugins/ollama build: > tsup-node +plugins/google-genai build: DTS ⚡️ Build success in 4803ms +plugins/google-genai build: DTS lib/index.d.ts 719.00 B +plugins/google-genai build: DTS lib/common/converters.d.ts 1.81 KB +plugins/google-genai build: DTS lib/googleai/client.d.ts 5.89 KB +plugins/google-genai build: DTS lib/googleai/index.d.ts 2.72 KB +plugins/google-genai build: DTS lib/googleai/embedder.d.ts 4.40 KB +plugins/google-genai build: DTS lib/googleai/gemini.d.ts 19.35 KB +plugins/google-genai build: DTS lib/googleai/imagen.d.ts 6.63 KB +plugins/google-genai build: DTS lib/googleai/utils.d.ts 4.09 KB +plugins/google-genai build: DTS lib/googleai/veo.d.ts 9.16 KB +plugins/google-genai build: DTS lib/googleai/types.d.ts 4.91 KB +plugins/google-genai build: DTS lib/vertexai/client.d.ts 3.04 KB +plugins/google-genai build: DTS lib/vertexai/converters.d.ts 2.74 KB +plugins/google-genai build: DTS lib/vertexai/index.d.ts 2.57 KB +plugins/google-genai build: DTS lib/vertexai/embedder.d.ts 7.30 KB +plugins/google-genai build: DTS lib/vertexai/gemini.d.ts 12.67 KB +plugins/google-genai build: DTS lib/vertexai/imagen.d.ts 41.27 KB +plugins/google-genai build: DTS lib/vertexai/lyria.d.ts 2.83 KB +plugins/google-genai build: DTS lib/vertexai/utils.d.ts 4.46 KB +plugins/google-genai build: DTS lib/common/utils.d.ts 4.66 KB +plugins/google-genai build: DTS lib/vertexai/veo.d.ts 23.34 KB +plugins/google-genai build: DTS lib/vertexai/types.d.ts 8.45 KB +plugins/google-genai build: DTS lib/common/types.d.ts 37.88 KB +plugins/google-genai build: DTS lib/index.d.mts 733.00 B +plugins/google-genai build: DTS lib/common/converters.d.mts 1.81 KB +plugins/google-genai build: DTS lib/googleai/client.d.mts 5.89 KB +plugins/google-genai build: DTS lib/googleai/index.d.mts 2.72 KB +plugins/google-genai build: DTS lib/googleai/embedder.d.mts 4.40 KB +plugins/google-genai build: DTS lib/googleai/gemini.d.mts 19.35 KB +plugins/google-genai build: DTS lib/googleai/imagen.d.mts 6.63 KB +plugins/google-genai build: DTS lib/googleai/utils.d.mts 4.10 KB +plugins/google-genai build: DTS lib/googleai/veo.d.mts 9.16 KB +plugins/google-genai build: DTS lib/googleai/types.d.mts 4.91 KB +plugins/google-genai build: DTS lib/vertexai/client.d.mts 3.04 KB +plugins/google-genai build: DTS lib/vertexai/converters.d.mts 2.75 KB +plugins/google-genai build: DTS lib/vertexai/index.d.mts 2.58 KB +plugins/google-genai build: DTS lib/vertexai/embedder.d.mts 7.30 KB +plugins/google-genai build: DTS lib/vertexai/gemini.d.mts 12.67 KB +plugins/google-genai build: DTS lib/vertexai/imagen.d.mts 41.27 KB +plugins/google-genai build: DTS lib/vertexai/lyria.d.mts 2.83 KB +plugins/google-genai build: DTS lib/vertexai/utils.d.mts 4.47 KB +plugins/google-genai build: DTS lib/common/utils.d.mts 4.66 KB +plugins/google-genai build: DTS lib/vertexai/veo.d.mts 23.34 KB +plugins/google-genai build: DTS lib/vertexai/types.d.mts 8.45 KB +plugins/google-genai build: DTS lib/common/types.d.mts 37.88 KB +plugins/google-genai build: Done +plugins/ollama build: ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/ollama build: package.json:50:6: +plugins/ollama build: 50 │ "types": "./lib/index.d.ts", +plugins/ollama build: ╵ ~~~~~~~ +plugins/ollama build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/ollama build: package.json:49:6: +plugins/ollama build: 49 │ "import": "./lib/index.mjs", +plugins/ollama build: ╵ ~~~~~~~~ +plugins/ollama build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/ollama build: package.json:48:6: +plugins/ollama build: 48 │ "require": "./lib/index.js", +plugins/ollama build: ╵ ~~~~~~~~~ +plugins/ollama build: CLI Building entry: src/embeddings.ts, src/index.ts, src/types.ts +plugins/ollama build: CLI Using tsconfig: tsconfig.json +plugins/ollama build: CLI tsup v8.5.0 +plugins/ollama build: CLI Using tsup config: /Users/lukeschlangen/Documents/genkit/js/plugins/ollama/tsup.config.ts +plugins/ollama build: CLI Target: es2022 +plugins/ollama build: CLI Cleaning output folder +plugins/ollama build: CJS Build start +plugins/ollama build: ESM Build start +plugins/ollama build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/ollama build: package.json:50:6: +plugins/ollama build:  50 │ "types": "./lib/index.d.ts", +plugins/ollama build: ╵ ~~~~~~~ +plugins/ollama build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/ollama build: package.json:49:6: +plugins/ollama build:  49 │ "import": "./lib/index.mjs", +plugins/ollama build: ╵ ~~~~~~~~ +plugins/ollama build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/ollama build: package.json:48:6: +plugins/ollama build:  48 │ "require": "./lib/index.js", +plugins/ollama build: ╵ ~~~~~~~~~ +plugins/ollama build: WARN ▲ [WARNING] The conditions "types" and "default" here will never be used as they come after both "import" and "require" [package.json] +plugins/ollama build: package.json:50:6: +plugins/ollama build:  50 │ "types": "./lib/index.d.ts", +plugins/ollama build: ╵ ~~~~~~~ +plugins/ollama build: The "import" condition comes earlier and will be used for all "import" statements: +plugins/ollama build: package.json:49:6: +plugins/ollama build:  49 │ "import": "./lib/index.mjs", +plugins/ollama build: ╵ ~~~~~~~~ +plugins/ollama build: The "require" condition comes earlier and will be used for all "require" calls: +plugins/ollama build: package.json:48:6: +plugins/ollama build:  48 │ "require": "./lib/index.js", +plugins/ollama build: ╵ ~~~~~~~~~ +plugins/ollama build: ESM lib/embeddings.mjs 1.91 KB +plugins/ollama build: ESM lib/index.mjs 10.47 KB +plugins/ollama build: ESM lib/types.mjs 196.00 B +plugins/ollama build: ESM lib/embeddings.mjs.map 4.42 KB +plugins/ollama build: ESM lib/index.mjs.map 22.04 KB +plugins/ollama build: ESM lib/types.mjs.map 4.73 KB +plugins/ollama build: ESM ⚡️ Build success in 22ms +plugins/ollama build: CJS lib/embeddings.js 2.93 KB +plugins/ollama build: CJS lib/index.js 11.61 KB +plugins/ollama build: CJS lib/types.js 1.27 KB +plugins/ollama build: CJS lib/embeddings.js.map 4.47 KB +plugins/ollama build: CJS lib/index.js.map 22.00 KB +plugins/ollama build: CJS lib/types.js.map 4.77 KB +plugins/ollama build: CJS ⚡️ Build success in 23ms +plugins/compat-oai build: DTS ⚡️ Build success in 7667ms +plugins/compat-oai build: DTS lib/utils.d.ts 1.29 KB +plugins/compat-oai build: DTS lib/deepseek/index.d.ts 2.56 KB +plugins/compat-oai build: DTS lib/deepseek/deepseek.d.ts 3.30 KB +plugins/compat-oai build: DTS lib/xai/index.d.ts 2.75 KB +plugins/compat-oai build: DTS lib/xai/grok-image.d.ts 625.00 B +plugins/compat-oai build: DTS lib/xai/grok.d.ts 6.43 KB +plugins/compat-oai build: DTS lib/openai/index.d.ts 3.80 KB +plugins/compat-oai build: DTS lib/openai/dalle.d.ts 1.76 KB +plugins/compat-oai build: DTS lib/openai/embedder.d.ts 1.70 KB +plugins/compat-oai build: DTS lib/openai/gpt.d.ts 21.24 KB +plugins/compat-oai build: DTS lib/openai/tts.d.ts 520.00 B +plugins/compat-oai build: DTS lib/openai/whisper.d.ts 489.00 B +plugins/compat-oai build: DTS lib/embedder.d.ts 296.00 B +plugins/compat-oai build: DTS lib/image.d.ts 427.00 B +plugins/compat-oai build: DTS lib/model.d.ts 596.00 B +plugins/compat-oai build: DTS lib/index.d.ts 890.00 B +plugins/compat-oai build: DTS lib/audio.d.ts 616.00 B +plugins/compat-oai build: DTS lib/audio-DzUGfTbA.d.ts 19.15 KB +plugins/compat-oai build: DTS lib/utils.d.mts 1.29 KB +plugins/compat-oai build: DTS lib/deepseek/index.d.mts 2.57 KB +plugins/compat-oai build: DTS lib/deepseek/deepseek.d.mts 3.30 KB +plugins/compat-oai build: DTS lib/xai/index.d.mts 2.75 KB +plugins/compat-oai build: DTS lib/xai/grok-image.d.mts 626.00 B +plugins/compat-oai build: DTS lib/xai/grok.d.mts 6.44 KB +plugins/compat-oai build: DTS lib/openai/index.d.mts 3.80 KB +plugins/compat-oai build: DTS lib/openai/dalle.d.mts 1.76 KB +plugins/compat-oai build: DTS lib/openai/embedder.d.mts 1.70 KB +plugins/compat-oai build: DTS lib/openai/gpt.d.mts 21.24 KB +plugins/compat-oai build: DTS lib/openai/tts.d.mts 521.00 B +plugins/compat-oai build: DTS lib/openai/whisper.d.mts 490.00 B +plugins/compat-oai build: DTS lib/embedder.d.mts 297.00 B +plugins/compat-oai build: DTS lib/image.d.mts 428.00 B +plugins/compat-oai build: DTS lib/model.d.mts 597.00 B +plugins/compat-oai build: DTS lib/index.d.mts 891.00 B +plugins/compat-oai build: DTS lib/audio.d.mts 617.00 B +plugins/compat-oai build: DTS lib/audio-DzUGfTbA.d.mts 19.15 KB +plugins/compat-oai build: Done +plugins/ollama build: DTS Build start +plugins/mcp build: src/index.ts(109,17): error TS2322: Type 'Promise<{ tool: ToolAction[]; resource: DynamicResourceAction[]; }>' is not assignable to type 'Promise'. +plugins/mcp build: Type '{ tool: ToolAction[]; resource: DynamicResourceAction[]; }' is not assignable to type 'DapValue'. +plugins/mcp build: Types of property 'resource' are incompatible. +plugins/mcp build: Type 'DynamicResourceAction[]' is not assignable to type 'Action>, ZodType>, ZodType>>[]'. +plugins/mcp build: Type 'DynamicResourceAction' is not assignable to type 'Action>, ZodType>, ZodType>>'. +plugins/mcp build: Type 'DynamicResourceAction' is not assignable to type '(input?: unknown, options?: ActionRunOptions | undefined) => Promise'. +plugins/mcp build: Types of parameters 'input' and 'input' are incompatible. +plugins/mcp build: Type 'unknown' is not assignable to type '{ uri: string; } | undefined'. +plugins/mcp build: src/index.ts(180,5): error TS2345: Argument of type '() => Promise<{ tool: ToolAction[]; resource: DynamicResourceAction[]; }>' is not assignable to parameter of type 'DapFn'. +plugins/mcp build: Type 'Promise<{ tool: ToolAction[]; resource: DynamicResourceAction[]; }>' is not assignable to type 'Promise'. +plugins/mcp build: Type '{ tool: ToolAction[]; resource: DynamicResourceAction[]; }' is not assignable to type 'DapValue'. +plugins/mcp build: Types of property 'resource' are incompatible. +plugins/mcp build: Type 'DynamicResourceAction[]' is not assignable to type 'Action>, ZodType>, ZodType>>[]'. +plugins/mcp build: Type 'DynamicResourceAction' is not assignable to type 'Action>, ZodType>, ZodType>>'. +plugins/mcp build: Type 'DynamicResourceAction' is not assignable to type '(input?: unknown, options?: ActionRunOptions | undefined) => Promise'. +plugins/mcp build: Types of parameters 'input' and 'input' are incompatible. +plugins/mcp build: Type 'unknown' is not assignable to type '{ uri: string; } | undefined'. +plugins/mcp build: src/util/message.ts(70,7): error TS2322: Type '{}' is not assignable to type '{ text: string; media?: undefined; toolRequest?: undefined; toolResponse?: undefined; data?: unknown; metadata?: Record | undefined; custom?: Record | undefined; reasoning?: undefined; resource?: undefined; } | ... 6 more ... | { ...; }'. +plugins/mcp build: src/util/prompts.ts(77,9): error TS2322: Type 'unknown' is not assignable to type '{ [x: string]: string; } | undefined'. +plugins/mcp build: src/util/tools.ts(80,9): error TS2322: Type 'unknown' is not assignable to type '{ [x: string]: unknown; } | undefined'. +plugins/mcp build: src/util/tools.ts(119,9): error TS2322: Type 'unknown' is not assignable to type '{ [x: string]: unknown; } | undefined'. +plugins/mcp build:  ELIFECYCLE  Command failed with exit code 2. +plugins/next build: DTS ⚡️ Build success in 2409ms +plugins/next build: DTS lib/client.d.ts 1.42 KB +plugins/next build: DTS lib/index.d.ts 1.25 KB +plugins/next build: DTS lib/client.d.mts 1.42 KB +plugins/next build: DTS lib/index.d.mts 1.25 KB +plugins/next build: Done +plugins/pinecone build: DTS ⚡️ Build success in 963ms +plugins/pinecone build: DTS lib/index.d.ts 6.64 KB +plugins/pinecone build: DTS lib/index.d.mts 6.64 KB +plugins/mcp build: ERROR: "check" exited with 2. +plugins/mcp build: Failed +/Users/lukeschlangen/Documents/genkit/js/plugins/mcp: + ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  @genkit-ai/mcp@1.27.0 build: `npm-run-all build:clean check compile` +Exit status 1 +plugins/pinecone build: Done + ELIFECYCLE  Command failed with exit code 1. + ELIFECYCLE  Command failed with exit code 1. + ELIFECYCLE  Command failed with exit code 1. diff --git a/js/core/package.json b/js/core/package.json index b8c3ec7292..0d0e3ee6bf 100644 --- a/js/core/package.json +++ b/js/core/package.json @@ -29,22 +29,21 @@ "@opentelemetry/api": "^1.9.0", "@opentelemetry/context-async-hooks": "~1.25.0", "@opentelemetry/core": "~1.25.0", + "@opentelemetry/exporter-jaeger": "^1.25.0", "@opentelemetry/sdk-metrics": "~1.25.0", "@opentelemetry/sdk-node": "^0.52.0", "@opentelemetry/sdk-trace-base": "~1.25.0", - "@opentelemetry/exporter-jaeger": "^1.25.0", "@types/json-schema": "^7.0.15", "ajv": "^8.12.0", "ajv-formats": "^3.0.1", "async-mutex": "^0.5.0", "body-parser": "^1.20.3", "cors": "^2.8.5", + "dotprompt": "^1.1.1", "express": "^4.21.0", "get-port": "^5.1.0", "json-schema": "^0.4.0", - "zod": "^3.23.8", - "zod-to-json-schema": "^3.22.4", - "dotprompt": "^1.1.1" + "zod": "^4.3.4" }, "devDependencies": { "@types/express": "^4.17.21", @@ -54,7 +53,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "optionalDependencies": { "@genkit-ai/firebase": "^1.16.1" @@ -68,7 +67,7 @@ "default": "./lib/index.js" }, "./async": { - "types": "./lib/async.ts", + "types": "./lib/async.d.ts", "require": "./lib/async.js", "import": "./lib/async.mjs", "default": "./lib/async.js" @@ -132,4 +131,4 @@ ] } } -} +} \ No newline at end of file diff --git a/js/core/src/action.ts b/js/core/src/action.ts index 27d746f761..7b7371643b 100644 --- a/js/core/src/action.ts +++ b/js/core/src/action.ts @@ -161,7 +161,7 @@ export type Action< I extends z.ZodTypeAny = z.ZodTypeAny, O extends z.ZodTypeAny = z.ZodTypeAny, S extends z.ZodTypeAny = z.ZodTypeAny, - RunOptions extends ActionRunOptions = ActionRunOptions, + RunOptions extends ActionRunOptions> = ActionRunOptions>, > = ((input?: z.infer, options?: RunOptions) => Promise>) & { __action: ActionMetadata; __registry?: Registry; @@ -185,11 +185,11 @@ export type ActionParams< S extends z.ZodTypeAny = z.ZodTypeAny, > = { name: - | string - | { - pluginId: string; - actionId: string; - }; + | string + | { + pluginId: string; + actionId: string; + }; description?: string; inputSchema?: I; inputJsonSchema?: JSONSchema7; @@ -267,14 +267,18 @@ export function actionWithMiddleware< const currentMiddleware = middleware[index]; if (currentMiddleware.length === 3) { - return (currentMiddleware as MiddlewareWithOptions>)( + return (currentMiddleware as MiddlewareWithOptions< + z.infer, + z.infer, + z.infer + >)( req, opts, async (modifiedReq, modifiedOptions) => dispatch(index + 1, modifiedReq || req, modifiedOptions || opts) ); } else if (currentMiddleware.length === 2) { - return (currentMiddleware as SimpleMiddleware)( + return (currentMiddleware as SimpleMiddleware, z.infer>)( req, async (modifiedReq) => dispatch(index + 1, modifiedReq || req, opts) ); @@ -302,7 +306,7 @@ export function action< input: z.infer, options: ActionFnArg> ) => Promise> -): Action> { +): Action { const actionName = typeof config.name === 'string' ? config.name @@ -320,11 +324,11 @@ export function action< } as ActionMetadata; const actionFn = (async ( - input?: I, + input?: z.infer, options?: ActionRunOptions> ) => { return (await actionFn.run(input, options)).result; - }) as Action>; + }) as Action; actionFn.__action = { ...actionMetadata }; actionFn.run = async ( @@ -422,14 +426,14 @@ export function action< start(controller) { chunkStreamController = controller; }, - pull() {}, - cancel() {}, + pull() { }, + cancel() { }, }); const invocationPromise = actionFn .run(config.inputSchema ? config.inputSchema.parse(input) : input, { onChunk: ((chunk: z.infer) => { - chunkStreamController.enqueue(chunk); + chunkStreamController.enqueue(chunk as any); }) as S extends z.ZodVoid ? undefined : StreamingCallback>, context: { ...actionFn.__registry?.context, @@ -489,10 +493,10 @@ export function defineAction< if (isInRuntimeContext()) { throw new Error( 'Cannot define new actions at runtime.\n' + - 'See: https://github.com/firebase/genkit/blob/main/docs/errors/no_new_actions_at_runtime.md' + 'See: https://github.com/firebase/genkit/blob/main/docs/errors/no_new_actions_at_runtime.md' ); } - const act = action(config, async (i: I, options): Promise> => { + const act = action(config, async (i: z.infer, options): Promise> => { await registry.initializeAllPlugins(); return await runInActionRuntimeContext(() => fn(i, options)); }); @@ -514,9 +518,9 @@ export function defineActionAsync< name: | string | { - pluginId: string; - actionId: string; - }, + pluginId: string; + actionId: string; + }, config: PromiseLike>, onInit?: (action: Action) => void ): PromiseLike> { @@ -526,7 +530,7 @@ export function defineActionAsync< config.then((resolvedConfig) => { const act = action( resolvedConfig, - async (i: I, options): Promise> => { + async (i: z.infer, options): Promise> => { await registry.initializeAllPlugins(); return await runInActionRuntimeContext(() => resolvedConfig.fn(i, options) diff --git a/js/core/src/background-action.ts b/js/core/src/background-action.ts index 7b2dbc8aaf..c4b9462bd1 100644 --- a/js/core/src/background-action.ts +++ b/js/core/src/background-action.ts @@ -32,7 +32,7 @@ export const OperationSchema = z.object({ output: z.any().optional(), error: z.object({ message: z.string() }).passthrough().optional(), metadata: z.record(z.string(), z.any()).optional(), -}); +}).passthrough(); /** * Background operation. @@ -42,8 +42,9 @@ export interface Operation { id: string; done?: boolean; output?: O; - error?: { message: string; [key: string]: unknown }; + error?: { message: string;[key: string]: unknown }; metadata?: Record; + [key: string]: any; } /** @@ -108,8 +109,7 @@ class BackgroundActionImpl< I extends z.ZodTypeAny = z.ZodTypeAny, O extends z.ZodTypeAny = z.ZodTypeAny, RunOptions extends BackgroundActionRunOptions = BackgroundActionRunOptions, -> implements BackgroundAction -{ +> implements BackgroundAction { __action: ActionMetadata; readonly startAction: Action; @@ -222,7 +222,7 @@ export type BackgroundActionParams< outputSchema?: O; outputJsonSchema?: JSONSchema7; metadata?: Record; - use?: Middleware, z.infer>[]; + use?: Middleware, z.infer, z.infer>[]; streamSchema?: S; }; @@ -291,7 +291,7 @@ export function backgroundAction< jsonSchema: config.outputJsonSchema, }), }, - use: config.use, + use: config.use as any, }, async (input, options) => { const operation = await config.start(input, options); diff --git a/js/core/src/registry.ts b/js/core/src/registry.ts index 5caa0eed5b..956f611a3e 100644 --- a/js/core/src/registry.ts +++ b/js/core/src/registry.ts @@ -225,7 +225,7 @@ export class Registry { if ( parsedKey?.dynamicActionHost && this.actionsById[ - `/dynamic-action-provider/${parsedKey.dynamicActionHost}` + `/dynamic-action-provider/${parsedKey.dynamicActionHost}` ] ) { // If it's a dynamic action provider, get the dynamic action. @@ -296,7 +296,7 @@ export class Registry { `ERROR: ${key} already has an entry in the registry. Overwriting.` ); } - this.actionsById[key] = action; + this.actionsById[key] = action as any; if (action.__registry) { logger.error(`ERROR: ${key} already registered.`); } @@ -322,7 +322,7 @@ export class Registry { `ERROR: ${key} already has an entry in the registry. Overwriting.` ); } - this.actionsById[key] = action; + this.actionsById[key] = action as any; } /** diff --git a/js/core/src/schema.ts b/js/core/src/schema.ts index 9b15b9c071..6c5a5c7eec 100644 --- a/js/core/src/schema.ts +++ b/js/core/src/schema.ts @@ -16,8 +16,7 @@ import Ajv, { type ErrorObject, type JSONSchemaType } from 'ajv'; import addFormats from 'ajv-formats'; -import { z } from 'zod'; -import zodToJsonSchema from 'zod-to-json-schema'; +import { z, toJSONSchema } from 'zod'; import { GenkitError } from './error.js'; import type { Registry } from './registry.js'; const ajv = new Ajv(); @@ -75,11 +74,23 @@ export function toJsonSchema({ if (!jsonSchema && !schema) return null; if (jsonSchema) return jsonSchema; if (jsonSchemas.has(schema!)) return jsonSchemas.get(schema!)!; - const outSchema = zodToJsonSchema(schema!, { - removeAdditionalStrategy: 'strict', - }); - jsonSchemas.set(schema!, outSchema as JSONSchema); - return outSchema as JSONSchema; + + // ZodVoid cannot be represented in JSON Schema, so we treat it as an empty schema (valid) + // We return a minimal schema with a $schema header to match existing test expectations. + const typeName = (schema as any)._def?.typeName || (schema as any)._def?.type; + if (typeName === 'ZodVoid' || typeName === 'void') { + return { $schema: 'http://json-schema.org/draft-07/schema#' }; + } + + try { + const outSchema = toJSONSchema(schema!, { target: 'draft-07' }); + jsonSchemas.set(schema!, outSchema as JSONSchema); + return outSchema as JSONSchema; + } catch (e) { + // If we fail to convert to JSON schema, return undefined to indicate "no schema" + // instead of crashing. This handles cases where Zod 4 might throw for unsupported types. + return undefined; + } } /** diff --git a/js/core/src/utils.ts b/js/core/src/utils.ts index a15ab4c02d..1d8b32fa98 100644 --- a/js/core/src/utils.ts +++ b/js/core/src/utils.ts @@ -37,11 +37,24 @@ export function stripUndefinedProps(input: T): T { if ( input === undefined || input === null || - Array.isArray(input) || typeof input !== 'object' ) { return input; } + if (Array.isArray(input)) { + return input.map(stripUndefinedProps) as T; + } + // If the object is not a plain object, return it as is. + // This is to prevent destroying objects like Zod schemas, Dates, etc. + // We check for _def which is a common indicator of a Zod schema. + if ( + (input as any)._def || + (input.constructor && + input.constructor !== Object && + input.constructor.name !== 'Object') + ) { + return input; + } const out = {} as T; for (const key in input) { if (input[key] !== undefined) { diff --git a/js/core/tests/schema_test.ts b/js/core/tests/schema_test.ts index c76abd7bbb..c02561b59e 100644 --- a/js/core/tests/schema_test.ts +++ b/js/core/tests/schema_test.ts @@ -150,7 +150,7 @@ describe('toJsonSchema', () => { }), { $schema: 'http://json-schema.org/draft-07/schema#', - additionalProperties: true, + additionalProperties: false, properties: { output: { type: 'string', diff --git a/js/genkit/package.json b/js/genkit/package.json index 7c458dc109..bf3018a266 100644 --- a/js/genkit/package.json +++ b/js/genkit/package.json @@ -41,7 +41,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.8.3" }, "files": [ "genkit-ui", diff --git a/js/genkit/src/genkit.ts b/js/genkit/src/genkit.ts index 2cd34a4c7a..0eda1205d5 100644 --- a/js/genkit/src/genkit.ts +++ b/js/genkit/src/genkit.ts @@ -371,7 +371,7 @@ export class Genkit implements HasRegistry { promise: Promise, O, CustomOptions>> ) { const executablePrompt = (async ( - input?: I, + input?: z.infer, opts?: PromptGenerateOptions ): Promise>> => { return (await promise)(input, opts); @@ -380,16 +380,14 @@ export class Genkit implements HasRegistry { executablePrompt.ref = { name }; executablePrompt.render = async ( - input?: I, + input?: z.infer, opts?: PromptGenerateOptions ): Promise> => { - return (await promise).render(input, opts) as Promise< - GenerateOptions - >; + return (await promise).render(input, opts); }; executablePrompt.stream = ( - input?: I, + input?: z.infer, opts?: PromptGenerateOptions ): GenerateStreamResponse => { let channel = new Channel(); @@ -427,8 +425,8 @@ export class Genkit implements HasRegistry { }; }; - executablePrompt.asTool = async (): Promise> => { - return (await promise).asTool() as Promise>; + (executablePrompt as any).asTool = async (): Promise> => { + return (await promise).asTool() as any; }; return executablePrompt; @@ -497,7 +495,7 @@ export class Genkit implements HasRegistry { ...options, messages: async (input) => { const response = await ( - templateOrFn as PromptFn, CustomOptions> + templateOrFn as PromptFn )(input); return response.messages; }, @@ -556,7 +554,7 @@ export class Genkit implements HasRegistry { defineEvaluator< DataPoint extends typeof BaseDataPointSchema = typeof BaseDataPointSchema, EvalDataPoint extends - typeof BaseEvalDataPointSchema = typeof BaseEvalDataPointSchema, + typeof BaseEvalDataPointSchema = typeof BaseEvalDataPointSchema, EvaluatorOptions extends z.ZodTypeAny = z.ZodTypeAny, >( options: { @@ -782,7 +780,7 @@ export class Genkit implements HasRegistry { */ generateStream( strPrompt: string - ): GenerateStreamResponse>; + ): GenerateStreamResponse; /** * Make a streaming generate call to the default model with a multipart request. @@ -805,7 +803,7 @@ export class Genkit implements HasRegistry { */ generateStream( parts: Part[] - ): GenerateStreamResponse>; + ): GenerateStreamResponse; /** * Streaming generate calls a generative model based on the provided prompt and configuration. If @@ -840,10 +838,10 @@ export class Genkit implements HasRegistry { O extends z.ZodTypeAny = z.ZodTypeAny, CustomOptions extends z.ZodTypeAny = typeof GenerationCommonConfigSchema, >( - parts: - | GenerateOptions - | PromiseLike> - ): GenerateStreamResponse>; + opts: + | GenerateStreamOptions + | PromiseLike> + ): GenerateStreamResponse; generateStream< O extends z.ZodTypeAny = z.ZodTypeAny, @@ -854,11 +852,11 @@ export class Genkit implements HasRegistry { | Part[] | GenerateStreamOptions | PromiseLike> - ): GenerateStreamResponse> { + ): GenerateStreamResponse { if (typeof options === 'string' || Array.isArray(options)) { options = { prompt: options }; } - return generateStream(this.registry, options); + return generateStream(this.registry, options as any); } /** diff --git a/js/genkit/tests/evaluate_test.ts b/js/genkit/tests/evaluate_test.ts index ea646a2edd..9fd8ecc125 100644 --- a/js/genkit/tests/evaluate_test.ts +++ b/js/genkit/tests/evaluate_test.ts @@ -39,12 +39,13 @@ describe('evaluate', () => { }, ], evalRunId: 'my-dog-eval', + options: {}, }); assert.strictEqual(response.length, 1); - assert.strictEqual(response[0].evaluation.score, 'Much bonk'); + assert.strictEqual((response[0].evaluation as any).score, 'Much bonk'); assert.strictEqual( - response[0].evaluation.details?.reasoning, + (response[0].evaluation as any).details?.reasoning, 'Because I said so!' ); }); diff --git a/js/genkit/tests/prompts_test.ts b/js/genkit/tests/prompts_test.ts index 7db00cd165..19464599da 100644 --- a/js/genkit/tests/prompts_test.ts +++ b/js/genkit/tests/prompts_test.ts @@ -1164,7 +1164,7 @@ describe('prompt', () => { name: 'toolA', description: 'toolA it is', }, - async () => {} + async () => { } ); ai.defineTool( @@ -1172,7 +1172,7 @@ describe('prompt', () => { name: 'toolB', description: 'toolB it is', }, - async () => {} + async () => { } ); const generateActionOptions = await ( @@ -1234,7 +1234,7 @@ describe('prompt', () => { const rendered = await prompt.render({ foo: 'bar' }); assert.deepStrictEqual(rendered.output?.jsonSchema, { $schema: 'http://json-schema.org/draft-07/schema#', - additionalProperties: true, + additionalProperties: false, properties: { output: { type: 'string', @@ -1245,7 +1245,7 @@ describe('prompt', () => { }); assert.deepStrictEqual( - (await (await prompt.asTool())({ foo: 'bar' })).messages, + (await (await prompt.asTool() as any)({ foo: 'bar' })).messages, [ { role: 'user', @@ -1361,7 +1361,7 @@ describe('prompt', () => { }, }, required: ['name'], - additionalProperties: true, + additionalProperties: false, $schema: 'http://json-schema.org/draft-07/schema#', }, }, @@ -1491,12 +1491,12 @@ describe('asTool', () => { content: [ reqCounter++ === 0 ? { - toolRequest: { - name: 'toolPrompt', - input: {}, - ref: 'ref123', - }, - } + toolRequest: { + name: 'toolPrompt', + input: {}, + ref: 'ref123', + }, + } : { text: 'hi from agent b' }, ], }, @@ -1580,12 +1580,12 @@ describe('asTool', () => { content: [ reqCounter++ === 0 ? { - toolRequest: { - name: 'agentA', - input: {}, - ref: 'ref123', - }, - } + toolRequest: { + name: 'agentA', + input: {}, + ref: 'ref123', + }, + } : { text: 'hi Genkit from agent a' }, ], }, diff --git a/js/plugins/anthropic/package.json b/js/plugins/anthropic/package.json index 5b3e19be1f..1e3dfb3aac 100644 --- a/js/plugins/anthropic/package.json +++ b/js/plugins/anthropic/package.json @@ -39,7 +39,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/anthropic/src/index.ts b/js/plugins/anthropic/src/index.ts index d5a0fef9cb..1b9b26ef16 100644 --- a/js/plugins/anthropic/src/index.ts +++ b/js/plugins/anthropic/src/index.ts @@ -108,7 +108,7 @@ function anthropicPlugin(options?: PluginOptions): GenkitPluginV2 { }); actions.push(action); } - return actions; + return actions as any; }, resolve: (actionType: ActionType, name: string) => { if (actionType === 'model') { @@ -119,7 +119,7 @@ function anthropicPlugin(options?: PluginOptions): GenkitPluginV2 { client, cacheSystemPrompt: options?.cacheSystemPrompt, defaultApiVersion, - }); + }) as any; } return undefined; }, diff --git a/js/plugins/checks/package.json b/js/plugins/checks/package.json index ffcfcc3048..39e89e0b1f 100644 --- a/js/plugins/checks/package.json +++ b/js/plugins/checks/package.json @@ -43,7 +43,7 @@ "rimraf": "^6.0.1", "tsup": "^8.0.2", "tsx": "^4.7.0", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/chroma/package.json b/js/plugins/chroma/package.json index bdfe609019..317638f6b1 100644 --- a/js/plugins/chroma/package.json +++ b/js/plugins/chroma/package.json @@ -42,7 +42,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/cloud-sql-pg/package.json b/js/plugins/cloud-sql-pg/package.json index 535257bf5e..c3ee0ef2db 100644 --- a/js/plugins/cloud-sql-pg/package.json +++ b/js/plugins/cloud-sql-pg/package.json @@ -53,7 +53,7 @@ "ts-jest": "^29.1.2", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/compat-oai/src/audio.ts b/js/plugins/compat-oai/src/audio.ts index 7657509cc6..ac2e7c250d 100644 --- a/js/plugins/compat-oai/src/audio.ts +++ b/js/plugins/compat-oai/src/audio.ts @@ -118,7 +118,7 @@ function toTTSRequest( topK, topP, ...restOfConfig - } = request.config ?? {}; + } = (request.config as any) ?? {}; let options: SpeechCreateParams = { model: modelVersion ?? modelName, @@ -272,7 +272,7 @@ function toSttRequest( topK, topP, ...restOfConfig - } = request.config ?? {}; + } = (request.config as any) ?? {}; let options: TranscriptionCreateParams = { model: modelVersion ?? modelName, @@ -289,7 +289,7 @@ function toSttRequest( }; } const outputFormat = request.output?.format as 'json' | 'text' | 'media'; - const customFormat = request.config?.response_format; + const customFormat = (request.config as any)?.response_format; if (outputFormat && customFormat) { if ( outputFormat === 'json' && diff --git a/js/plugins/compat-oai/src/deepseek/deepseek.ts b/js/plugins/compat-oai/src/deepseek/deepseek.ts index 636b69f167..45da6b96a3 100644 --- a/js/plugins/compat-oai/src/deepseek/deepseek.ts +++ b/js/plugins/compat-oai/src/deepseek/deepseek.ts @@ -29,7 +29,7 @@ export const DeepSeekChatCompletionConfigSchema = }); export const deepSeekRequestBuilder: ModelRequestBuilder = (req, params) => { - const { maxTokens } = req.config; + const { maxTokens } = req.config as any; // DeepSeek still uses max_tokens params.max_tokens = maxTokens; }; diff --git a/js/plugins/compat-oai/src/deepseek/index.ts b/js/plugins/compat-oai/src/deepseek/index.ts index 522ab77c04..4ce2f50ea8 100644 --- a/js/plugins/compat-oai/src/deepseek/index.ts +++ b/js/plugins/compat-oai/src/deepseek/index.ts @@ -22,7 +22,7 @@ import { z, } from 'genkit'; import { logger } from 'genkit/logging'; -import { type GenkitPluginV2 } from 'genkit/plugin'; +import { type GenkitPluginV2, type ResolvableAction } from 'genkit/plugin'; import { ActionType } from 'genkit/registry'; import OpenAI from 'openai'; import { openAICompatible, PluginOptions } from '../index.js'; @@ -48,7 +48,7 @@ function createResolver(pluginOptions: PluginOptions) { pluginOptions, modelRef, requestBuilder: deepSeekRequestBuilder, - }); + }) as ResolvableAction; } else { logger.warn('Only model actions are supported by the DeepSeek plugin'); return undefined; @@ -101,7 +101,7 @@ export function deepSeekPlugin( modelRef, requestBuilder: deepSeekRequestBuilder, }) - ); + ) as ResolvableAction[]; }, resolver: createResolver(pluginOptions), listActions, diff --git a/js/plugins/compat-oai/src/embedder.ts b/js/plugins/compat-oai/src/embedder.ts index e19eb980b5..b2138285f1 100644 --- a/js/plugins/compat-oai/src/embedder.ts +++ b/js/plugins/compat-oai/src/embedder.ts @@ -51,7 +51,7 @@ export function defineCompatOpenAIEmbedder(params: { ...embedderRef?.info, }, async (req) => { - const { encodingFormat: encoding_format, ...restOfConfig } = req.options; + const { encodingFormat: encoding_format, ...restOfConfig } = req.options as any; const client = maybeCreateRequestScopedOpenAIClient( pluginOptions, req, diff --git a/js/plugins/compat-oai/src/image.ts b/js/plugins/compat-oai/src/image.ts index 1915041dcd..268b00affa 100644 --- a/js/plugins/compat-oai/src/image.ts +++ b/js/plugins/compat-oai/src/image.ts @@ -68,7 +68,7 @@ function toImageGenerateParams( topP, response_format, ...restOfConfig - } = request.config ?? {}; + } = (request.config as any) ?? {}; let options: ImageGenerateParams = { model: modelVersion ?? modelName, @@ -179,7 +179,7 @@ export function compatOaiImageModelRef< return modelRef({ name, configSchema: - configSchema || (ImageGenerationCommonConfigSchema as z.AnyZodObject), + configSchema || (ImageGenerationCommonConfigSchema as z.ZodObject), info, config, namespace, diff --git a/js/plugins/compat-oai/src/index.ts b/js/plugins/compat-oai/src/index.ts index 82eea786b5..6b22940000 100644 --- a/js/plugins/compat-oai/src/index.ts +++ b/js/plugins/compat-oai/src/index.ts @@ -141,7 +141,7 @@ export const openAICompatible = (options: PluginOptions) => { modelRef: compatOaiModelRef({ name: actionName, }), - }); + }) as any; } return undefined; } diff --git a/js/plugins/compat-oai/src/model.ts b/js/plugins/compat-oai/src/model.ts index d2ce7cce99..7b70c3aae3 100644 --- a/js/plugins/compat-oai/src/model.ts +++ b/js/plugins/compat-oai/src/model.ts @@ -467,7 +467,7 @@ export function toOpenAIRequestBody( ) { const messages = toOpenAIMessages( request.messages, - request.config?.visualDetailLevel + (request.config as any)?.visualDetailLevel ); const { temperature, @@ -483,7 +483,7 @@ export function toOpenAIRequestBody( tools: toolsFromConfig, apiKey, ...restOfConfig - } = request.config ?? {}; + } = (request.config as any) ?? {}; const tools: ChatCompletionTool[] = request.tools?.map(toOpenAITool) ?? []; if (toolsFromConfig) { diff --git a/js/plugins/compat-oai/src/openai/dalle.ts b/js/plugins/compat-oai/src/openai/dalle.ts index cbeddc2f9a..2d6b45ca66 100644 --- a/js/plugins/compat-oai/src/openai/dalle.ts +++ b/js/plugins/compat-oai/src/openai/dalle.ts @@ -52,7 +52,7 @@ export const gptImage1RequestBuilder: ImageRequestBuilder = (req, params) => { quality, style, user, - } = req.config ?? {}; + } = (req.config as any) ?? {}; // GPT Image 1 does not support response format params.response_format = undefined; params.background = background; diff --git a/js/plugins/compat-oai/src/openai/index.ts b/js/plugins/compat-oai/src/openai/index.ts index ae7593a65b..66038cd46f 100644 --- a/js/plugins/compat-oai/src/openai/index.ts +++ b/js/plugins/compat-oai/src/openai/index.ts @@ -190,7 +190,7 @@ export function openAIPlugin(options?: OpenAIPluginOptions): GenkitPluginV2 { pluginOptions, modelRef, }) - ) + ) as ResolvableAction[] ); models.push( ...Object.values(SUPPORTED_EMBEDDING_MODELS).map((embedderRef) => @@ -200,7 +200,7 @@ export function openAIPlugin(options?: OpenAIPluginOptions): GenkitPluginV2 { pluginOptions, embedderRef, }) - ) + ) as ResolvableAction[] ); models.push( ...Object.values(SUPPORTED_TTS_MODELS).map((modelRef) => @@ -210,7 +210,7 @@ export function openAIPlugin(options?: OpenAIPluginOptions): GenkitPluginV2 { pluginOptions, modelRef, }) - ) + ) as ResolvableAction[] ); models.push( ...Object.values(SUPPORTED_STT_MODELS).map((modelRef) => @@ -220,7 +220,7 @@ export function openAIPlugin(options?: OpenAIPluginOptions): GenkitPluginV2 { pluginOptions, modelRef, }) - ) + ) as ResolvableAction[] ); models.push( ...Object.values(SUPPORTED_IMAGE_MODELS).map((modelRef) => @@ -233,11 +233,11 @@ export function openAIPlugin(options?: OpenAIPluginOptions): GenkitPluginV2 { ? gptImage1RequestBuilder : undefined, }) - ) + ) as ResolvableAction[] ); return models; }, - resolver: createResolver(pluginOptions), + resolver: createResolver(pluginOptions) as any, listActions, }); } diff --git a/js/plugins/compat-oai/src/utils.ts b/js/plugins/compat-oai/src/utils.ts index 31c576fcba..51a7947ddb 100644 --- a/js/plugins/compat-oai/src/utils.ts +++ b/js/plugins/compat-oai/src/utils.ts @@ -29,7 +29,7 @@ export function maybeCreateRequestScopedOpenAIClient( defaultClient: OpenAI ): OpenAI { const requestApiKey = - (request as GenerateRequest)?.config?.apiKey ?? + ((request as GenerateRequest)?.config as any)?.apiKey ?? (request as EmbedRequest)?.options?.apiKey; if (!requestApiKey) { return defaultClient; diff --git a/js/plugins/compat-oai/src/xai/grok.ts b/js/plugins/compat-oai/src/xai/grok.ts index 75c799b9c9..cf803442f2 100644 --- a/js/plugins/compat-oai/src/xai/grok.ts +++ b/js/plugins/compat-oai/src/xai/grok.ts @@ -58,7 +58,8 @@ export function xaiModelRef(params: { } export const grokRequestBuilder: ModelRequestBuilder = (req, params) => { - const { deferred, webSearchOptions, reasoningEffort } = req.config ?? {}; + const { deferred, webSearchOptions, reasoningEffort } = + (req.config as any) ?? {}; params.web_search_options = webSearchOptions; params.reasoning_effort = reasoningEffort; diff --git a/js/plugins/compat-oai/src/xai/index.ts b/js/plugins/compat-oai/src/xai/index.ts index 8a979d82ef..5bbf996349 100644 --- a/js/plugins/compat-oai/src/xai/index.ts +++ b/js/plugins/compat-oai/src/xai/index.ts @@ -51,7 +51,7 @@ function createResolver(pluginOptions: PluginOptions) { pluginOptions, modelRef, requestBuilder: grokRequestBuilder, - }); + }) as ResolvableAction; } else { logger.warn('Only model actions are supported by the XAI plugin'); } @@ -113,7 +113,7 @@ export function xAIPlugin(options?: XAIPluginOptions): GenkitPluginV2 { modelRef, requestBuilder: grokRequestBuilder, }) - ) + ) as ResolvableAction[] ); models.push( ...Object.values(SUPPORTED_IMAGE_MODELS).map((modelRef) => @@ -123,7 +123,7 @@ export function xAIPlugin(options?: XAIPluginOptions): GenkitPluginV2 { pluginOptions, modelRef, }) - ) + ) as ResolvableAction[] ); return models; }, diff --git a/js/plugins/dev-local-vectorstore/package.json b/js/plugins/dev-local-vectorstore/package.json index 8a45ae1c0f..3b212e8e48 100644 --- a/js/plugins/dev-local-vectorstore/package.json +++ b/js/plugins/dev-local-vectorstore/package.json @@ -39,7 +39,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/evaluators/package.json b/js/plugins/evaluators/package.json index cfd23eaa27..77c41d4ef9 100644 --- a/js/plugins/evaluators/package.json +++ b/js/plugins/evaluators/package.json @@ -45,7 +45,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/evaluators/src/metrics/answer_accuracy.ts b/js/plugins/evaluators/src/metrics/answer_accuracy.ts index 55d9c51c8c..538ebae3f3 100644 --- a/js/plugins/evaluators/src/metrics/answer_accuracy.ts +++ b/js/plugins/evaluators/src/metrics/answer_accuracy.ts @@ -29,7 +29,7 @@ export async function answerAccuracyScore< ai: Genkit, judgeLlm: ModelArgument, dataPoint: BaseEvalDataPoint, - judgeConfig?: CustomModelOptions + judgeConfig?: z.infer ): Promise { if (!dataPoint.output) { throw new Error('Output was not provided'); diff --git a/js/plugins/evaluators/src/metrics/answer_relevancy.ts b/js/plugins/evaluators/src/metrics/answer_relevancy.ts index 3b925c773f..70c8b71af1 100644 --- a/js/plugins/evaluators/src/metrics/answer_relevancy.ts +++ b/js/plugins/evaluators/src/metrics/answer_relevancy.ts @@ -39,7 +39,7 @@ export async function answerRelevancyScore< judgeLlm: ModelArgument, dataPoint: BaseEvalDataPoint, embedder: EmbedderArgument, - judgeConfig?: CustomModelOptions, + judgeConfig?: z.infer, embedderOptions?: z.infer ): Promise { try { diff --git a/js/plugins/evaluators/src/metrics/faithfulness.ts b/js/plugins/evaluators/src/metrics/faithfulness.ts index 8da4c67341..becf2d7240 100644 --- a/js/plugins/evaluators/src/metrics/faithfulness.ts +++ b/js/plugins/evaluators/src/metrics/faithfulness.ts @@ -45,7 +45,7 @@ export async function faithfulnessScore< ai: Genkit, judgeLlm: ModelArgument, dataPoint: BaseEvalDataPoint, - judgeConfig?: CustomModelOptions + judgeConfig?: z.infer ): Promise { try { if (!dataPoint.input) { diff --git a/js/plugins/evaluators/src/metrics/maliciousness.ts b/js/plugins/evaluators/src/metrics/maliciousness.ts index 52462c7564..2322d8f11f 100644 --- a/js/plugins/evaluators/src/metrics/maliciousness.ts +++ b/js/plugins/evaluators/src/metrics/maliciousness.ts @@ -33,7 +33,7 @@ export async function maliciousnessScore< ai: Genkit, judgeLlm: ModelArgument, dataPoint: BaseEvalDataPoint, - judgeConfig?: CustomModelOptions + judgeConfig?: z.infer ): Promise { try { if (!dataPoint.input) { diff --git a/js/plugins/express/package.json b/js/plugins/express/package.json index e339bb098d..e5d58a2b6f 100644 --- a/js/plugins/express/package.json +++ b/js/plugins/express/package.json @@ -45,7 +45,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/express/src/index.ts b/js/plugins/express/src/index.ts index b7ff953b11..9a6ac4aeff 100644 --- a/js/plugins/express/src/index.ts +++ b/js/plugins/express/src/index.ts @@ -50,7 +50,7 @@ export function expressHandler< >( action: Action, opts?: { - contextProvider?: ContextProvider; + contextProvider?: ContextProvider>; streamManager?: StreamManager; } ): express.RequestHandler { @@ -284,7 +284,7 @@ export type FlowWithContextProvider< S extends z.ZodTypeAny = z.ZodTypeAny, > = { flow: Flow; - context: ContextProvider; + context: ContextProvider>; }; /** @@ -297,7 +297,7 @@ export type FlowWithOptions< > = { flow: Flow; options: { - contextProvider?: ContextProvider; + contextProvider?: ContextProvider>; streamManager?: StreamManager; path?: string; }; @@ -314,7 +314,7 @@ export function withContextProvider< S extends z.ZodTypeAny = z.ZodTypeAny, >( flow: Flow, - context: ContextProvider + context: ContextProvider> ): FlowWithContextProvider { return { flow, @@ -332,7 +332,7 @@ export function withFlowOptions< >( flow: Flow, options: { - contextProvider?: ContextProvider; + contextProvider?: ContextProvider>; streamManager?: StreamManager; path?: string; } diff --git a/js/plugins/firebase/package.json b/js/plugins/firebase/package.json index 78ca4e4b75..9d6f4fc88c 100644 --- a/js/plugins/firebase/package.json +++ b/js/plugins/firebase/package.json @@ -57,7 +57,7 @@ "ts-jest": "^29.1.2", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/firebase/src/firestore-retriever.ts b/js/plugins/firebase/src/firestore-retriever.ts index e1b073e953..82175c48b2 100644 --- a/js/plugins/firebase/src/firestore-retriever.ts +++ b/js/plugins/firebase/src/firestore-retriever.ts @@ -140,7 +140,7 @@ export function defineFirestoreRetriever( label: label || `Firestore - ${name}`, }, configSchema: z.object({ - where: z.record(z.any()).optional(), + where: z.record(z.string(), z.any()).optional(), /** Max number of results to return. Defaults to 10. */ limit: z.number().optional(), /* Supply or override the distanceMeasure */ diff --git a/js/plugins/google-cloud/package.json b/js/plugins/google-cloud/package.json index 365cbecabf..96fa96cfa6 100644 --- a/js/plugins/google-cloud/package.json +++ b/js/plugins/google-cloud/package.json @@ -62,7 +62,7 @@ "ts-jest": "^29.1.2", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/google-genai/package.json b/js/plugins/google-genai/package.json index 7459b2d55f..377488da17 100644 --- a/js/plugins/google-genai/package.json +++ b/js/plugins/google-genai/package.json @@ -46,7 +46,7 @@ "sinon": "^21.0.0", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.8.3" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/google-genai/src/common/converters.ts b/js/plugins/google-genai/src/common/converters.ts index a997b6dfe7..7b75d80d42 100644 --- a/js/plugins/google-genai/src/common/converters.ts +++ b/js/plugins/google-genai/src/common/converters.ts @@ -45,8 +45,23 @@ export function toGeminiTool(tool: ToolDefinition): FunctionDeclaration { return declaration; } -function toGeminiSchemaProperty(property?: ToolDefinition['inputSchema']) { - if (!property || !property.type) { +function toGeminiSchemaProperty(property?: any) { + if (!property) { + return undefined; + } + if (property.anyOf) { + // handle common nullable pattern from Zod 4: anyOf: [{type: 'string'}, {type: 'null'}] + const isNullable = property.anyOf.some((p) => p.type === 'null'); + const actualProperty = property.anyOf.find((p) => p.type !== 'null'); + if (actualProperty) { + const converted = toGeminiSchemaProperty(actualProperty); + if (converted && isNullable) { + converted.nullable = true; + } + return converted; + } + } + if (!property.type) { return undefined; } const baseSchema: Schema = {}; @@ -73,9 +88,11 @@ function toGeminiSchemaProperty(property?: ToolDefinition['inputSchema']) { } if (propertyType === 'object') { const nestedProperties = {}; - Object.keys(property.properties).forEach((key) => { - nestedProperties[key] = toGeminiSchemaProperty(property.properties[key]); - }); + if (property.properties) { + Object.keys(property.properties).forEach((key) => { + nestedProperties[key] = toGeminiSchemaProperty(property.properties[key]); + }); + } return { ...baseSchema, type: SchemaType.OBJECT, diff --git a/js/plugins/google-genai/src/googleai/index.ts b/js/plugins/google-genai/src/googleai/index.ts index 27dd7dde30..cb53c0fae8 100644 --- a/js/plugins/google-genai/src/googleai/index.ts +++ b/js/plugins/google-genai/src/googleai/index.ts @@ -59,19 +59,19 @@ async function resolver( if (veo.isVeoModelName(actionName)) { return undefined; } else if (imagen.isImagenModelName(actionName)) { - return await imagen.defineModel(actionName, options); + return (await imagen.defineModel(actionName, options)) as any; } else { // gemini, tts, image, gemma, unknown models - return await gemini.defineModel(actionName, options); + return (await gemini.defineModel(actionName, options)) as any; } break; case 'background-model': if (veo.isVeoModelName(actionName)) { - return await veo.defineModel(actionName, options); + return (await veo.defineModel(actionName, options)) as any; } break; case 'embedder': - return await embedder.defineEmbedder(actionName, options); + return (await embedder.defineEmbedder(actionName, options)) as any; break; } return undefined; @@ -112,7 +112,7 @@ export function googleAIPlugin( let listActionsCache; return genkitPluginV2({ name: 'googleai', - init: async () => await initializer(options), + init: async () => (await initializer(options)) as any, resolve: async (actionType: ActionType, actionName: string) => await resolver(actionType, actionName, options || {}), list: async () => { diff --git a/js/plugins/google-genai/src/googleai/utils.ts b/js/plugins/google-genai/src/googleai/utils.ts index f340bbf317..d09c275582 100644 --- a/js/plugins/google-genai/src/googleai/utils.ts +++ b/js/plugins/google-genai/src/googleai/utils.ts @@ -169,7 +169,7 @@ export function extractImagenImage( * For each field in ClientOptions, if the request config object has * a matching non-empty/non-null field, it overrides the original. */ -export function calculateRequestOptions>( +export function calculateRequestOptions>( clientOptions: ClientOptions, reqConfig?: z.infer ): ClientOptions { @@ -200,7 +200,7 @@ export function calculateRequestOptions>( } if (reqConfig.customHeaders && typeof reqConfig.customHeaders === 'object') { - newOptions.customHeaders = reqConfig.customHeaders; + newOptions.customHeaders = reqConfig.customHeaders as Record; } return newOptions; @@ -211,9 +211,9 @@ export function calculateRequestOptions>( * be sent with the request like normal config. * @param requestConfig */ -export function removeClientOptionOverrides< - T extends z.ZodObject, ->(requestConfig?: z.infer): z.infer { +export function removeClientOptionOverrides>( + requestConfig?: z.infer +): z.infer { let newConfig = { ...requestConfig }; delete newConfig?.timeout; @@ -223,5 +223,5 @@ export function removeClientOptionOverrides< delete newConfig?.baseUrl; delete newConfig?.customHeaders; - return newConfig; + return newConfig as any; } diff --git a/js/plugins/google-genai/src/vertexai/gemini.ts b/js/plugins/google-genai/src/vertexai/gemini.ts index 5f32120d8c..8b88f6a918 100644 --- a/js/plugins/google-genai/src/vertexai/gemini.ts +++ b/js/plugins/google-genai/src/vertexai/gemini.ts @@ -98,9 +98,9 @@ const VertexRetrievalSchema = z .string() .describe( 'The data store id, when project id and location are provided as ' + - 'separate options. Alternatively, the full path to the data ' + - 'store should be provided in the form: "projects/{project}/' + - 'locations/{location}/collections/default_collection/dataStores/{data_store}".' + 'separate options. Alternatively, the full path to the data ' + + 'store should be provided in the form: "projects/{project}/' + + 'locations/{location}/collections/default_collection/dataStores/{data_store}".' ), }) .describe('Vertex AI Search data store details') @@ -109,7 +109,7 @@ const VertexRetrievalSchema = z .boolean() .describe( 'Disable using the search data in detecting grounding attribution. This ' + - 'does not affect how the result is given to the model for generation.' + 'does not affect how the result is given to the model for generation.' ) .optional(), }) @@ -121,7 +121,7 @@ const GoogleSearchRetrievalSchema = z .boolean() .describe( 'Disable using the search data in detecting grounding attribution. This ' + - 'does not affect how the result is given to the model for generation.' + 'does not affect how the result is given to the model for generation.' ) .optional(), }) @@ -137,7 +137,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .describe('Overrides the plugin-configured API key, if specified.') .optional(), labels: z - .record(z.string()) + .record(z.string(), z.string()) .optional() .describe('Key-value labels to attach to the request for cost tracking.'), temperature: z @@ -146,7 +146,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .max(2.0) .describe( GenerationCommonConfigDescriptions.temperature + - ' The default value is 1.0.' + ' The default value is 1.0.' ) .optional(), topP: z @@ -194,7 +194,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .array(SafetySettingsSchema) .describe( 'Adjust how likely you are to see responses that could be harmful. ' + - 'Content is blocked based on the probability that it is harmful.' + 'Content is blocked based on the probability that it is harmful.' ) .optional(), @@ -218,7 +218,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ */ vertexRetrieval: VertexRetrievalSchema.describe( 'Retrieve from Vertex AI Search data store for grounding ' + - 'generative responses.' + 'generative responses.' ).optional(), /** @@ -262,11 +262,11 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ }) .describe( 'Controls how the model uses the provided tools (function declarations). ' + - 'With AUTO (Default) mode, the model decides whether to generate a ' + - 'natural language response or suggest a function call based on the ' + - 'prompt and context. With ANY, the model is constrained to always ' + - 'predict a function call and guarantee function schema adherence. ' + - 'With NONE, the model is prohibited from making function calls.' + 'With AUTO (Default) mode, the model decides whether to generate a ' + + 'natural language response or suggest a function call based on the ' + + 'prompt and context. With ANY, the model is constrained to always ' + + 'predict a function call and guarantee function schema adherence. ' + + 'With NONE, the model is prohibited from making function calls.' ) .passthrough() .optional(), @@ -299,8 +299,8 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .boolean() .describe( 'Indicates whether to include thoughts in the response.' + - 'If true, thoughts are returned only if the model supports ' + - 'thought and thoughts are available.' + 'If true, thoughts are returned only if the model supports ' + + 'thought and thoughts are available.' ) .optional(), thinkingBudget: z @@ -309,20 +309,20 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .max(24576) .describe( 'For Gemini 2.5 - Indicates the thinking budget in tokens. 0 is DISABLED. ' + - '-1 is AUTOMATIC. The default values and allowed ranges are model ' + - 'dependent. The thinking budget parameter gives the model guidance ' + - 'on the number of thinking tokens it can use when generating a ' + - 'response. A greater number of tokens is typically associated with ' + - 'more detailed thinking, which is needed for solving more complex ' + - 'tasks. ' + '-1 is AUTOMATIC. The default values and allowed ranges are model ' + + 'dependent. The thinking budget parameter gives the model guidance ' + + 'on the number of thinking tokens it can use when generating a ' + + 'response. A greater number of tokens is typically associated with ' + + 'more detailed thinking, which is needed for solving more complex ' + + 'tasks. ' ) .optional(), thinkingLevel: z .enum(['LOW', 'MEDIUM', 'HIGH']) .describe( 'For Gemini 3.0 - Indicates the thinking level. A higher level ' + - 'is associated with more detailed thinking, which is needed for solving ' + - 'more complex tasks.' + 'is associated with more detailed thinking, which is needed for solving ' + + 'more complex tasks.' ) .optional(), }) @@ -549,7 +549,7 @@ export function defineModel( ) ) return false; - } catch {} + } catch { } return true; }, }) @@ -578,7 +578,7 @@ export function defineModel( systemInstruction = toGeminiSystemInstruction(systemMessage); } - const requestConfig: ConfigSchema = { ...request.config }; + const requestConfig: ConfigSchema = { ...(request.config as any) }; const { apiKey: apiKeyFromConfig, @@ -594,12 +594,12 @@ export function defineModel( ...restOfConfig } = requestConfig; - clientOpt = calculateRequestOptions(clientOpt, { + clientOpt = calculateRequestOptions(clientOpt as any, { location, apiKey: apiKeyFromConfig, - }); + }) as any; - const labels = toGeminiLabels(labelsFromConfig); + const labels = toGeminiLabels(labelsFromConfig as any); const tools: Tool[] = []; if (request.tools?.length) { @@ -776,29 +776,29 @@ export function defineModel( const msg = toGeminiMessage(messages[messages.length - 1], ref); return pluginOptions?.experimental_debugTraces ? await runInNewSpan( - { - metadata: { - name: streamingRequested ? 'sendMessageStream' : 'sendMessage', - }, + { + metadata: { + name: streamingRequested ? 'sendMessageStream' : 'sendMessage', }, - async (metadata) => { - metadata.input = { - apiEndpoint: getVertexAIUrl({ - includeProjectAndLocation: false, - resourcePath: '', - clientOptions: clientOpt, - }), - cache: {}, - model: modelVersion, - generateContentOptions: generateContentRequest, - parts: msg.parts, - options: clientOpt, - }; - const response = await callGemini(); - metadata.output = response.custom; - return response; - } - ) + }, + async (metadata) => { + metadata.input = { + apiEndpoint: getVertexAIUrl({ + includeProjectAndLocation: false, + resourcePath: '', + clientOptions: clientOpt, + }), + cache: {}, + model: modelVersion, + generateContentOptions: generateContentRequest, + parts: msg.parts, + options: clientOpt, + }; + const response = await callGemini(); + metadata.output = response.custom; + return response; + } + ) : await callGemini(); } ); diff --git a/js/plugins/google-genai/src/vertexai/index.ts b/js/plugins/google-genai/src/vertexai/index.ts index d7cbea43e3..7f72cb9edd 100644 --- a/js/plugins/google-genai/src/vertexai/index.ts +++ b/js/plugins/google-genai/src/vertexai/index.ts @@ -65,22 +65,22 @@ async function resolver( switch (actionType) { case 'model': if (lyria.isLyriaModelName(actionName)) { - return lyria.defineModel(actionName, clientOptions, pluginOptions); + return lyria.defineModel(actionName, clientOptions, pluginOptions) as any; } else if (imagen.isImagenModelName(actionName)) { - return imagen.defineModel(actionName, clientOptions, pluginOptions); + return imagen.defineModel(actionName, clientOptions, pluginOptions) as any; } else if (veo.isVeoModelName(actionName)) { return undefined; } else { - return gemini.defineModel(actionName, clientOptions, pluginOptions); + return gemini.defineModel(actionName, clientOptions, pluginOptions) as any; } break; case 'background-model': if (veo.isVeoModelName(actionName)) { - return veo.defineModel(actionName, clientOptions, pluginOptions); + return veo.defineModel(actionName, clientOptions, pluginOptions) as any; } break; case 'embedder': - return embedder.defineEmbedder(actionName, clientOptions, pluginOptions); + return embedder.defineEmbedder(actionName, clientOptions, pluginOptions) as any; break; } return undefined; @@ -110,7 +110,7 @@ function vertexAIPlugin(options?: VertexPluginOptions): GenkitPluginV2 { let listActionsCache; return genkitPluginV2({ name: 'vertexai', - init: async () => await initializer(options), + init: async () => (await initializer(options)) as any, resolve: async (actionType: ActionType, actionName: string) => await resolver(actionType, actionName, options), list: async () => { diff --git a/js/plugins/google-genai/src/vertexai/utils.ts b/js/plugins/google-genai/src/vertexai/utils.ts index f2f9382fea..6b2a008296 100644 --- a/js/plugins/google-genai/src/vertexai/utils.ts +++ b/js/plugins/google-genai/src/vertexai/utils.ts @@ -235,15 +235,7 @@ export type RequestClientOptions = ClientOptions & { * @param clientOptions The client options * @param reqConfig The request config */ -export function calculateRequestOptions>( - clientOptions: RequestClientOptions, - reqConfig?: z.infer -): RequestClientOptions; -export function calculateRequestOptions>( - clientOptions: ClientOptions, - reqConfig?: z.infer -): ClientOptions; -export function calculateRequestOptions>( +export function calculateRequestOptions>( clientOptions: RequestClientOptions | ClientOptions, reqConfig?: z.infer ): RequestClientOptions | ClientOptions { diff --git a/js/plugins/googleai/package.json b/js/plugins/googleai/package.json index ef34cb2679..f5587e0b6e 100644 --- a/js/plugins/googleai/package.json +++ b/js/plugins/googleai/package.json @@ -44,7 +44,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.8.3" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/googleai/src/context-caching/utils.ts b/js/plugins/googleai/src/context-caching/utils.ts index 1bf3924ce9..f8cbcdd4df 100644 --- a/js/plugins/googleai/src/context-caching/utils.ts +++ b/js/plugins/googleai/src/context-caching/utils.ts @@ -163,11 +163,11 @@ export const extractCacheConfig = ( return endOfCachedContents === -1 ? null : { - endOfCachedContents, - cacheConfig: cacheConfigSchema.parse( - request.messages[endOfCachedContents].metadata?.cache - ), - }; + endOfCachedContents, + cacheConfig: cacheConfigSchema.parse( + request.messages[endOfCachedContents].metadata?.cache + ), + }; }; /** @@ -188,7 +188,7 @@ export function validateContextCacheRequest( status: 'INVALID_ARGUMENT', message: INVALID_ARGUMENT_MESSAGES.tools, }); - if (request.config?.codeExecution) + if ((request.config as any)?.codeExecution) throw new GenkitError({ status: 'INVALID_ARGUMENT', message: INVALID_ARGUMENT_MESSAGES.codeExecution, diff --git a/js/plugins/googleai/src/embedder.ts b/js/plugins/googleai/src/embedder.ts index 7b478c8284..56561bbc1c 100644 --- a/js/plugins/googleai/src/embedder.ts +++ b/js/plugins/googleai/src/embedder.ts @@ -141,7 +141,7 @@ export function defineGoogleAIEmbedder( if (!apiKey) throw new Error( 'Please pass in the API key or set either GEMINI_API_KEY or GOOGLE_API_KEY environment variable.\n' + - 'For more details see https://genkit.dev/docs/plugins/google-genai' + 'For more details see https://genkit.dev/docs/plugins/google-genai' ); } const embedder: EmbedderReference = @@ -179,7 +179,7 @@ export function defineGoogleAIEmbedder( ).getGenerativeModel({ model: options?.version || - embedder.config?.version || + (embedder.config as any)?.version || embedder.version || apiModelName, }); diff --git a/js/plugins/googleai/src/gemini.ts b/js/plugins/googleai/src/gemini.ts index dccf22218f..580bbda5a2 100644 --- a/js/plugins/googleai/src/gemini.ts +++ b/js/plugins/googleai/src/gemini.ts @@ -152,7 +152,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .max(2) .describe( GenerationCommonConfigDescriptions.temperature + - ' The default value is 1.0.' + ' The default value is 1.0.' ) .optional(), topP: z @@ -171,7 +171,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .array(SafetySettingsSchema) .describe( 'Adjust how likely you are to see responses that could be harmful. ' + - 'Content is blocked based on the probability that it is harmful.' + 'Content is blocked based on the probability that it is harmful.' ) .optional(), codeExecution: z @@ -182,7 +182,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .boolean() .describe( 'Context caching allows you to save and reuse precomputed input ' + - 'tokens that you wish to use repeatedly.' + 'tokens that you wish to use repeatedly.' ) .optional(), functionCallingConfig: z @@ -192,18 +192,18 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ }) .describe( 'Controls how the model uses the provided tools (function declarations). ' + - 'With AUTO (Default) mode, the model decides whether to generate a ' + - 'natural language response or suggest a function call based on the ' + - 'prompt and context. With ANY, the model is constrained to always ' + - 'predict a function call and guarantee function schema adherence. ' + - 'With NONE, the model is prohibited from making function calls.' + 'With AUTO (Default) mode, the model decides whether to generate a ' + + 'natural language response or suggest a function call based on the ' + + 'prompt and context. With ANY, the model is constrained to always ' + + 'predict a function call and guarantee function schema adherence. ' + + 'With NONE, the model is prohibited from making function calls.' ) .optional(), responseModalities: z .array(z.enum(['TEXT', 'IMAGE', 'AUDIO'])) .describe( 'The modalities to be used in response. Only supported for ' + - "'gemini-2.0-flash-exp' model at present." + "'gemini-2.0-flash-exp' model at present." ) .optional(), googleSearchRetrieval: z @@ -218,7 +218,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .boolean() .describe( 'Indicates whether to include thoughts in the response.' + - 'If true, thoughts are returned only when available.' + 'If true, thoughts are returned only when available.' ) .optional(), thinkingBudget: z @@ -227,10 +227,10 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .max(24576) .describe( 'The thinking budget parameter gives the model guidance on the ' + - 'number of thinking tokens it can use when generating a response. ' + - 'A greater number of tokens is typically associated with more detailed ' + - 'thinking, which is needed for solving more complex tasks. ' + - 'Setting the thinking budget to 0 disables thinking.' + 'number of thinking tokens it can use when generating a response. ' + + 'A greater number of tokens is typically associated with more detailed ' + + 'thinking, which is needed for solving more complex tasks. ' + + 'Setting the thinking budget to 0 disables thinking.' ) .optional(), }) @@ -248,7 +248,7 @@ export const GeminiGemmaConfigSchema = GeminiConfigSchema.extend({ .max(1.0) .describe( GenerationCommonConfigDescriptions.temperature + - ' The default value is 1.0.' + ' The default value is 1.0.' ) .optional(), }).passthrough(); @@ -853,7 +853,22 @@ function toGeminiRole( } function convertSchemaProperty(property) { - if (!property || !property.type) { + if (!property) { + return undefined; + } + if (property.anyOf) { + // handle common nullable pattern from Zod 4: anyOf: [{type: 'string'}, {type: 'null'}] + const isNullable = property.anyOf.some((p) => p.type === 'null'); + const actualProperty = property.anyOf.find((p) => p.type !== 'null'); + if (actualProperty) { + const converted = convertSchemaProperty(actualProperty); + if (converted && isNullable) { + converted.nullable = true; + } + return converted; + } + } + if (!property.type) { return undefined; } const baseSchema = {} as Schema; @@ -1292,7 +1307,7 @@ export function defineGoogleAIModel({ ].includes(url.hostname) ) return false; - } catch {} + } catch { } return true; }, }) @@ -1317,7 +1332,7 @@ export function defineGoogleAIModel({ } const requestConfig: z.infer = { ...defaultConfig, - ...request.config, + ...(request.config as any), }; // Make a copy so that modifying the request will not produce side-effects @@ -1357,9 +1372,9 @@ export function defineGoogleAIModel({ if (codeExecutionFromConfig) { tools.push({ codeExecution: - request.config.codeExecution === true + (request.config as any)?.codeExecution === true ? {} - : request.config.codeExecution, + : (request.config as any)?.codeExecution, }); } @@ -1530,26 +1545,26 @@ export function defineGoogleAIModel({ // API params as for input. return debugTraces ? await runInNewSpan( - ai.registry, - { - metadata: { - name: streamingRequested ? 'sendMessageStream' : 'sendMessage', - }, + ai.registry, + { + metadata: { + name: streamingRequested ? 'sendMessageStream' : 'sendMessage', }, - async (metadata) => { - metadata.input = { - sdk: '@google/generative-ai', - cache: cache, - model: genModel.model, - chatOptions: updatedChatRequest, - parts: msg.parts, - options, - }; - const response = await callGemini(); - metadata.output = response.custom; - return response; - } - ) + }, + async (metadata) => { + metadata.input = { + sdk: '@google/generative-ai', + cache: cache, + model: genModel.model, + chatOptions: updatedChatRequest, + parts: msg.parts, + options, + }; + const response = await callGemini(); + metadata.output = response.custom; + return response; + } + ) : await callGemini(); } ); diff --git a/js/plugins/langchain/package.json b/js/plugins/langchain/package.json index 2123fa2fbe..fa9d3d0aa2 100644 --- a/js/plugins/langchain/package.json +++ b/js/plugins/langchain/package.json @@ -40,7 +40,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/mcp/src/index.ts b/js/plugins/mcp/src/index.ts index cf663b7495..1f60fc55b7 100644 --- a/js/plugins/mcp/src/index.ts +++ b/js/plugins/mcp/src/index.ts @@ -108,7 +108,7 @@ export function defineMcpHost(ai: Genkit, options: McpHostOptionsWithCache) { }, async () => ({ tool: await mcpHost.getActiveTools(ai), - resource: await mcpHost.getActiveResources(ai), + resource: (await mcpHost.getActiveResources(ai)) as any, }) ); mcpHost.dynamicActionProvider = dap; @@ -180,7 +180,7 @@ export function defineMcpClient( async () => { return { tool: await mcpClient.getActiveTools(ai), - resource: await mcpClient.getActiveResources(ai), + resource: (await mcpClient.getActiveResources(ai)) as any, }; } ); diff --git a/js/plugins/mcp/src/util/message.ts b/js/plugins/mcp/src/util/message.ts index 173947243b..4d65c60d30 100644 --- a/js/plugins/mcp/src/util/message.ts +++ b/js/plugins/mcp/src/util/message.ts @@ -67,6 +67,6 @@ export function fromMcpPart(part: PromptMessage['content']): Part { }, }; default: - return {}; + return { text: '' }; } } diff --git a/js/plugins/mcp/src/util/prompts.ts b/js/plugins/mcp/src/util/prompts.ts index 5bd0a64084..ee24a35d29 100644 --- a/js/plugins/mcp/src/util/prompts.ts +++ b/js/plugins/mcp/src/util/prompts.ts @@ -74,7 +74,7 @@ function registerPrompt( ); const result = await client.getPrompt({ name: prompt.name, - arguments: args, + arguments: args as any, _meta: context?.mcp?._meta, }); return result.messages.map(fromMcpPromptMessage); @@ -117,13 +117,13 @@ function createExecutablePrompt< callPrompt.stream = ( input?: z.infer, opts?: PromptGenerateOptions - ): GenerateStreamResponse> => { + ): GenerateStreamResponse => { logger.debug(`[MCP] Streaming MCP prompt ${params.name}/${prompt.name}`); return params.ai.generateStream(callPrompt.render(input, opts)); }; callPrompt.render = async ( - input?: I, + input?: z.infer, opts?: PromptGenerateOptions ): Promise> => { logger.debug(`[MCP] Rendering MCP prompt ${params.name}/${prompt.name}`); diff --git a/js/plugins/mcp/src/util/tools.ts b/js/plugins/mcp/src/util/tools.ts index 953c205917..73fdd90fe1 100644 --- a/js/plugins/mcp/src/util/tools.ts +++ b/js/plugins/mcp/src/util/tools.ts @@ -77,7 +77,7 @@ function registerTool( ); const result = await client.callTool({ name: tool.name, - arguments: args, + arguments: args as any, }); if (params.rawToolResponses) return result; return processResult(result as CallToolResult); @@ -116,7 +116,7 @@ function createDynamicTool( ); const result = await client.callTool({ name: tool.name, - arguments: args, + arguments: args as any, _meta: context?.mcp?._meta, }); if (params.rawToolResponses) return result; diff --git a/js/plugins/next/package.json b/js/plugins/next/package.json index 51baf6c3c3..cad9b6959c 100644 --- a/js/plugins/next/package.json +++ b/js/plugins/next/package.json @@ -35,7 +35,7 @@ "peerDependencies": { "genkit": "workspace:*", "next": "^15.0.0 || ^16.0.0", - "zod": "^3.24.1" + "zod": "^4.3.4" }, "devDependencies": { "@jest/globals": "^29.7.0", @@ -49,8 +49,8 @@ "ts-jest": "^29.1.2", "tsup": "^8.0.2", "tsx": "^4.7.0", - "typescript": "^4.9.0", - "zod": "^3.24.1" + "typescript": "^5.5.0", + "zod": "^4.3.4" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/next/src/client.ts b/js/plugins/next/src/client.ts index f70378eff8..72a2b3c766 100644 --- a/js/plugins/next/src/client.ts +++ b/js/plugins/next/src/client.ts @@ -20,11 +20,11 @@ import { streamFlow as baseStreamFlow, } from 'genkit/beta/client'; -type Input = +type Input = A extends Action ? z.infer : never; -type Output = +type Output = A extends Action ? z.infer : never; -type Stream = +type Stream = A extends Action ? z.infer : never; export interface RequestData { @@ -35,19 +35,19 @@ export interface RequestData { abortSignal?: AbortSignal; } -export function runFlow( +export function runFlow( req: RequestData> ): Promise> { return baseRunFlow>(req); } -export interface StreamResponse { +export interface StreamResponse { output: Promise>; stream: AsyncIterable>; streamId: Promise; } -export function streamFlow( +export function streamFlow( req: RequestData> ): StreamResponse { const res = baseStreamFlow, Stream>(req); diff --git a/js/plugins/next/src/index.ts b/js/plugins/next/src/index.ts index b8a94ecbbe..6fa0c36f89 100644 --- a/js/plugins/next/src/index.ts +++ b/js/plugins/next/src/index.ts @@ -215,7 +215,9 @@ function appRoute< (async (): Promise => { const writer = writable.getWriter(); const taskQueue = new AsyncTaskQueue(); - let durableStream: ActionStreamInput | undefined = undefined; + let durableStream: + | ActionStreamInput, z.infer> + | undefined = undefined; if (streamManager) { durableStream = await streamManager.open(streamIdToUse); } diff --git a/js/plugins/ollama/package.json b/js/plugins/ollama/package.json index 503c54d58d..0483d7e301 100644 --- a/js/plugins/ollama/package.json +++ b/js/plugins/ollama/package.json @@ -40,7 +40,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/pinecone/package.json b/js/plugins/pinecone/package.json index 6700fca310..fb1aebd78e 100644 --- a/js/plugins/pinecone/package.json +++ b/js/plugins/pinecone/package.json @@ -42,7 +42,7 @@ "rimraf": "^6.0.1", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "types": "./lib/index.d.ts", "exports": { diff --git a/js/plugins/vertexai/package.json b/js/plugins/vertexai/package.json index 0bb9bfd883..36aeb2afa7 100644 --- a/js/plugins/vertexai/package.json +++ b/js/plugins/vertexai/package.json @@ -61,7 +61,7 @@ "sinon": "^21.0.0", "tsup": "^8.3.5", "tsx": "^4.19.2", - "typescript": "^4.9.0", + "typescript": "^5.8.3", "cross-env": "10.1.0" }, "types": "./lib/index.d.ts", @@ -113,4 +113,4 @@ ] } } -} +} \ No newline at end of file diff --git a/js/plugins/vertexai/src/context-caching/utils.ts b/js/plugins/vertexai/src/context-caching/utils.ts index ae17d2698f..0249ed3f75 100644 --- a/js/plugins/vertexai/src/context-caching/utils.ts +++ b/js/plugins/vertexai/src/context-caching/utils.ts @@ -135,11 +135,11 @@ export const extractCacheConfig = ( return endOfCachedContents === -1 ? null : { - endOfCachedContents, - cacheConfig: cacheConfigSchema.parse( - request.messages[endOfCachedContents].metadata?.cache - ), - }; + endOfCachedContents, + cacheConfig: cacheConfigSchema.parse( + request.messages[endOfCachedContents].metadata?.cache + ), + }; }; /** @@ -160,7 +160,7 @@ export function validateContextCacheRequest( status: 'INVALID_ARGUMENT', message: INVALID_ARGUMENT_MESSAGES.tools, }); - if (request.config?.codeExecution) + if ((request.config as any)?.codeExecution) throw new GenkitError({ status: 'INVALID_ARGUMENT', message: INVALID_ARGUMENT_MESSAGES.codeExecution, diff --git a/js/plugins/vertexai/src/embedder.ts b/js/plugins/vertexai/src/embedder.ts index 2ffaa20e6b..6f51303566 100644 --- a/js/plugins/vertexai/src/embedder.ts +++ b/js/plugins/vertexai/src/embedder.ts @@ -324,7 +324,7 @@ export function defineVertexAIEmbedder( info: embedder.info!, }, async (input, options) => { - const predictClient = predictClientFactory(options); + const predictClient = predictClientFactory(options as any); const response = await predictClient( input.map((doc: Document) => { let instance: EmbeddingInstance; @@ -389,13 +389,13 @@ export function defineVertexAIEmbedder( // Text only embedder instance = { content: doc.text, - task_type: options?.taskType, - title: options?.title, + task_type: (options as any)?.taskType, + title: (options as any)?.title, }; } return instance; }), - { outputDimensionality: options?.outputDimensionality } + { outputDimensionality: (options as any)?.outputDimensionality } ); return { embeddings: response.predictions diff --git a/js/plugins/vertexai/src/evaluation/evaluator_factory.ts b/js/plugins/vertexai/src/evaluation/evaluator_factory.ts index de0c0c939e..27532e6575 100644 --- a/js/plugins/vertexai/src/evaluation/evaluator_factory.ts +++ b/js/plugins/vertexai/src/evaluation/evaluator_factory.ts @@ -26,7 +26,7 @@ export class EvaluatorFactory { private readonly auth: GoogleAuth, private readonly location: string, private readonly projectId: string - ) {} + ) { } create( ai: Genkit, @@ -58,7 +58,7 @@ export class EvaluatorFactory { testCaseId: datapoint.testCaseId, }; } - ); + ) as any; } async evaluateInstances( diff --git a/js/plugins/vertexai/src/gemini.ts b/js/plugins/vertexai/src/gemini.ts index 098aba715e..28d80434c6 100644 --- a/js/plugins/vertexai/src/gemini.ts +++ b/js/plugins/vertexai/src/gemini.ts @@ -106,9 +106,9 @@ const VertexRetrievalSchema = z.object({ .string() .describe( 'The data store id, when project id and location are provided as ' + - 'separate options. Alternatively, the full path to the data ' + - 'store should be provided in the form: "projects/{project}/' + - 'locations/{location}/collections/default_collection/dataStores/{data_store}".' + 'separate options. Alternatively, the full path to the data ' + + 'store should be provided in the form: "projects/{project}/' + + 'locations/{location}/collections/default_collection/dataStores/{data_store}".' ), }) .describe('Vertex AI Search data store details'), @@ -116,7 +116,7 @@ const VertexRetrievalSchema = z.object({ .boolean() .describe( 'Disable using the search data in detecting grounding attribution. This ' + - 'does not affect how the result is given to the model for generation.' + 'does not affect how the result is given to the model for generation.' ) .optional(), }); @@ -126,7 +126,7 @@ const GoogleSearchRetrievalSchema = z.object({ .boolean() .describe( 'Disable using the search data in detecting grounding attribution. This ' + - 'does not affect how the result is given to the model for generation.' + 'does not affect how the result is given to the model for generation.' ) .optional(), }); @@ -143,7 +143,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .max(2.0) .describe( GenerationCommonConfigDescriptions.temperature + - ' The default value is 1.0.' + ' The default value is 1.0.' ) .optional(), topP: z @@ -191,7 +191,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .array(SafetySettingsSchema) .describe( 'Adjust how likely you are to see responses that could be harmful. ' + - 'Content is blocked based on the probability that it is harmful.' + 'Content is blocked based on the probability that it is harmful.' ) .optional(), @@ -215,7 +215,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ */ vertexRetrieval: VertexRetrievalSchema.describe( 'Retrieve from Vertex AI Search data store for grounding ' + - 'generative responses.' + 'generative responses.' ).optional(), /** @@ -253,11 +253,11 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ }) .describe( 'Controls how the model uses the provided tools (function declarations). ' + - 'With AUTO (Default) mode, the model decides whether to generate a ' + - 'natural language response or suggest a function call based on the ' + - 'prompt and context. With ANY, the model is constrained to always ' + - 'predict a function call and guarantee function schema adherence. ' + - 'With NONE, the model is prohibited from making function calls.' + 'With AUTO (Default) mode, the model decides whether to generate a ' + + 'natural language response or suggest a function call based on the ' + + 'prompt and context. With ANY, the model is constrained to always ' + + 'predict a function call and guarantee function schema adherence. ' + + 'With NONE, the model is prohibited from making function calls.' ) .optional(), thinkingConfig: z @@ -266,7 +266,7 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .boolean() .describe( 'Indicates whether to include thoughts in the response.' + - 'If true, thoughts are returned only when available.' + 'If true, thoughts are returned only when available.' ) .optional(), thinkingBudget: z @@ -275,10 +275,10 @@ export const GeminiConfigSchema = GenerationCommonConfigSchema.extend({ .max(24576) .describe( 'The thinking budget parameter gives the model guidance on the ' + - 'number of thinking tokens it can use when generating a response. ' + - 'A greater number of tokens is typically associated with more detailed ' + - 'thinking, which is needed for solving more complex tasks. ' + - 'Setting the thinking budget to 0 disables thinking.' + 'number of thinking tokens it can use when generating a response. ' + + 'A greater number of tokens is typically associated with more detailed ' + + 'thinking, which is needed for solving more complex tasks. ' + + 'Setting the thinking budget to 0 disables thinking.' ) .optional(), }) @@ -997,7 +997,22 @@ function fromGeminiThought(part: { // Since JSON schemas can include nested arrays/objects, we have to recursively map the type field // in all nested fields. function convertSchemaProperty(property) { - if (!property || !property.type) { + if (!property) { + return undefined; + } + if (property.anyOf) { + // handle common nullable pattern from Zod 4: anyOf: [{type: 'string'}, {type: 'null'}] + const isNullable = property.anyOf.some((p) => p.type === 'null'); + const actualProperty = property.anyOf.find((p) => p.type !== 'null'); + if (actualProperty) { + const converted = convertSchemaProperty(actualProperty); + if (converted && isNullable) { + converted.nullable = true; + } + return converted; + } + } + if (!property.type) { return undefined; } const baseSchema = {} as Schema; @@ -1148,7 +1163,7 @@ export function defineGeminiModel({ ) ) return false; - } catch {} + } catch { } return true; }, }) @@ -1383,26 +1398,26 @@ export function defineGeminiModel({ // API params as for input. return debugTraces ? await runInNewSpan( - ai.registry, - { - metadata: { - name: sendChunk ? 'sendMessageStream' : 'sendMessage', - }, + ai.registry, + { + metadata: { + name: sendChunk ? 'sendMessageStream' : 'sendMessage', }, - async (metadata) => { - metadata.input = { - sdk: '@google-cloud/vertexai', - cache: cache, - model: genModel.getModelName(), - chatOptions: updatedChatRequest, - parts: msg.parts, - options, - }; - const response = await callGemini(); - metadata.output = response.custom; - return response; - } - ) + }, + async (metadata) => { + metadata.input = { + sdk: '@google-cloud/vertexai', + cache: cache, + model: genModel.getModelName(), + chatOptions: updatedChatRequest, + parts: msg.parts, + options, + }; + const response = await callGemini(); + metadata.output = response.custom; + return response; + } + ) : await callGemini(); } ); diff --git a/js/plugins/vertexai/src/modelgarden/v2/index.ts b/js/plugins/vertexai/src/modelgarden/v2/index.ts index 53b4d99a9d..769d45ef4e 100644 --- a/js/plugins/vertexai/src/modelgarden/v2/index.ts +++ b/js/plugins/vertexai/src/modelgarden/v2/index.ts @@ -76,9 +76,9 @@ export function vertexModelGardenPlugin( let listActionsCache; return genkitPluginV2({ name: 'vertex-model-garden', - init: async () => await initializer(options), + init: async () => (await initializer(options)) as any, resolve: async (actionType: ActionType, actionName: string) => - await resolver(actionType, actionName, options), + (await resolver(actionType, actionName, options)) as any, list: async () => { if (listActionsCache) return listActionsCache; listActionsCache = await listActions(options); diff --git a/js/plugins/vertexai/src/rerankers/v2/index.ts b/js/plugins/vertexai/src/rerankers/v2/index.ts index 8597878e6d..8aa4874435 100644 --- a/js/plugins/vertexai/src/rerankers/v2/index.ts +++ b/js/plugins/vertexai/src/rerankers/v2/index.ts @@ -45,7 +45,7 @@ async function resolver( pluginOptions ); if (actionType == 'reranker' && reranker.isRerankerModelName(actionName)) { - return reranker.defineReranker(actionName, clientOptions); + return (await reranker.defineReranker(actionName, clientOptions)) as any; } return undefined; } @@ -58,9 +58,9 @@ export function vertexRerankersPlugin( ): GenkitPluginV2 { return genkitPluginV2({ name: 'vertex-rerankers', - init: async () => await initializer(options), + init: async () => (await initializer(options)) as any, resolve: async (actionType: ActionType, actionName: string) => - await resolver(actionType, actionName, options), + (await resolver(actionType, actionName, options)) as any, }); } diff --git a/js/pnpm-lock.yaml b/js/pnpm-lock.yaml index 454817f405..d9fed8d794 100644 --- a/js/pnpm-lock.yaml +++ b/js/pnpm-lock.yaml @@ -83,13 +83,13 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.0) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 yaml: specifier: ^2.7.0 version: 2.8.0 @@ -148,11 +148,8 @@ importers: specifier: ^0.4.0 version: 0.4.0 zod: - specifier: ^3.23.8 - version: 3.25.67 - zod-to-json-schema: - specifier: ^3.22.4 - version: 3.24.5(zod@3.25.67) + specifier: ^4.3.4 + version: 4.3.4 devDependencies: '@types/express': specifier: ^4.17.21 @@ -171,17 +168,17 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 optionalDependencies: '@genkit-ai/firebase': specifier: ^1.16.1 - version: 1.16.1(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) + version: 1.16.1(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) doc-snippets: dependencies: @@ -249,19 +246,19 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.8.3 + version: 5.8.3 plugins/anthropic: dependencies: '@anthropic-ai/sdk': specifier: ^0.68.0 - version: 0.68.0(zod@3.25.76) + version: 0.68.0(zod@4.3.4) devDependencies: '@types/node': specifier: ^20.11.16 @@ -280,13 +277,13 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/checks: dependencies: @@ -314,13 +311,13 @@ importers: version: 6.0.1 tsup: specifier: ^8.0.2 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.7.0 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/chroma: dependencies: @@ -345,13 +342,13 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/cloud-sql-pg: dependencies: @@ -391,7 +388,7 @@ importers: version: 16.5.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) + version: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)) npm-run-all: specifier: ^4.1.5 version: 4.1.5 @@ -400,16 +397,16 @@ importers: version: 6.0.1 ts-jest: specifier: ^29.1.2 - version: 29.4.0(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)))(typescript@4.9.5) + version: 29.4.0(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)))(typescript@5.8.3) tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/compat-oai: dependencies: @@ -465,13 +462,13 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/evaluators: dependencies: @@ -505,13 +502,13 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/express: dependencies: @@ -551,13 +548,13 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/firebase: dependencies: @@ -591,7 +588,7 @@ importers: version: link:../../genkit jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) + version: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)) npm-run-all: specifier: ^4.1.5 version: 4.1.5 @@ -600,16 +597,16 @@ importers: version: 6.0.1 ts-jest: specifier: ^29.1.2 - version: 29.4.0(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)))(typescript@4.9.5) + version: 29.4.0(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)))(typescript@5.8.3) tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/google-cloud: dependencies: @@ -679,7 +676,7 @@ importers: version: 20.19.1 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) + version: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)) npm-run-all: specifier: ^4.1.5 version: 4.1.5 @@ -688,16 +685,16 @@ importers: version: 6.0.1 ts-jest: specifier: ^29.1.2 - version: 29.4.0(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)))(typescript@4.9.5) + version: 29.4.0(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)))(typescript@5.8.3) tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/google-genai: dependencies: @@ -731,13 +728,13 @@ importers: version: 21.0.0 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.8.3 + version: 5.8.3 plugins/googleai: dependencies: @@ -765,19 +762,19 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.8.3 + version: 5.8.3 plugins/langchain: dependencies: '@langchain/community': specifier: ^0.0.53 - version: 0.0.53(@pinecone-database/pinecone@2.2.2)(chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67)))(encoding@0.1.13)(firebase-admin@12.3.1(encoding@0.1.13))(google-auth-library@8.9.0(encoding@0.1.13))(jsonwebtoken@9.0.2)(lodash@4.17.21)(pg@8.16.2)(ws@8.18.3) + version: 0.0.53(@pinecone-database/pinecone@2.2.2)(chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76)))(encoding@0.1.13)(firebase-admin@12.3.1(encoding@0.1.13))(google-auth-library@8.9.0(encoding@0.1.13))(jsonwebtoken@9.0.2)(lodash@4.17.21)(pg@8.16.2)(ws@8.18.3) '@langchain/core': specifier: ^0.1.61 version: 0.1.63 @@ -789,7 +786,7 @@ importers: version: link:../../genkit langchain: specifier: ^0.1.36 - version: 0.1.37(@google-cloud/storage@7.18.0(encoding@0.1.13))(@pinecone-database/pinecone@2.2.2)(chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67)))(encoding@0.1.13)(fast-xml-parser@4.5.3)(firebase-admin@12.3.1(encoding@0.1.13))(google-auth-library@8.9.0(encoding@0.1.13))(handlebars@4.7.8)(ignore@5.3.1)(jsonwebtoken@9.0.2)(lodash@4.17.21)(pdf-parse@1.1.1)(pg@8.16.2)(ws@8.18.3) + version: 0.1.37(@google-cloud/storage@7.18.0(encoding@0.1.13))(@pinecone-database/pinecone@2.2.2)(chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76)))(encoding@0.1.13)(fast-xml-parser@4.5.3)(firebase-admin@12.3.1(encoding@0.1.13))(google-auth-library@8.9.0(encoding@0.1.13))(handlebars@4.7.8)(ignore@5.3.1)(jsonwebtoken@9.0.2)(lodash@4.17.21)(pdf-parse@1.1.1)(pg@8.16.2)(ws@8.18.3) devDependencies: '@types/node': specifier: ^20.11.16 @@ -802,13 +799,13 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/mcp: dependencies: @@ -869,7 +866,7 @@ importers: version: link:../../genkit jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) + version: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)) next: specifier: ^15.4.10 version: 15.4.10(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -881,19 +878,19 @@ importers: version: 6.0.1 ts-jest: specifier: ^29.1.2 - version: 29.4.0(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)))(typescript@4.9.5) + version: 29.4.0(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)))(typescript@5.8.3) tsup: specifier: ^8.0.2 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.7.0 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 zod: - specifier: ^3.24.1 - version: 3.25.67 + specifier: ^4.3.4 + version: 4.3.4 plugins/ollama: dependencies: @@ -915,13 +912,13 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/pinecone: dependencies: @@ -946,13 +943,13 @@ importers: version: 6.0.1 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.5.0 + version: 5.8.3 plugins/vertexai: dependencies: @@ -970,7 +967,7 @@ importers: version: 1.10.0(encoding@0.1.13) '@mistralai/mistralai-gcp': specifier: ^1.3.5 - version: 1.5.0(encoding@0.1.13)(zod@3.25.76) + version: 1.5.0(encoding@0.1.13)(zod@4.3.4) genkit: specifier: workspace:^ version: link:../../genkit @@ -985,7 +982,7 @@ importers: version: 3.3.2 openai: specifier: ^4.52.7 - version: 4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76) + version: 4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@4.3.4) devDependencies: '@types/node': specifier: ^20.11.16 @@ -1010,13 +1007,13 @@ importers: version: 21.0.0 tsup: specifier: ^8.3.5 - version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2) + version: 8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.2) tsx: specifier: ^4.19.2 version: 4.20.3 typescript: - specifier: ^4.9.0 - version: 4.9.5 + specifier: ^5.8.3 + version: 5.8.3 optionalDependencies: '@google-cloud/bigquery': specifier: ^7.8.0 @@ -1070,9 +1067,6 @@ importers: wav: specifier: ^1.0.2 version: 1.0.2 - zod-to-json-schema: - specifier: ^3.24.5 - version: 3.24.5(zod@3.25.76) devDependencies: '@types/wav': specifier: ^1.0.4 @@ -1088,7 +1082,7 @@ importers: version: link:../../plugins/compat-oai '@genkit-ai/express': specifier: ^1.1.0 - version: 1.12.0(@genkit-ai/core@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(express@5.1.0)(genkit@genkit) + version: 1.12.0(@genkit-ai/core@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(express@5.1.0)(genkit@genkit) genkit: specifier: workspace:* version: link:../../genkit @@ -1619,7 +1613,7 @@ importers: version: 2025.7.1 '@modelcontextprotocol/server-filesystem': specifier: ^2025.3.28 - version: 2025.7.1(zod@3.25.76) + version: 2025.7.1(zod@4.3.4) '@types/express': specifier: ^4.17.21 version: 4.17.23 @@ -1673,14 +1667,14 @@ importers: specifier: workspace:* version: link:../../genkit zod: - specifier: ^3.22.4 - version: 3.25.76 + specifier: ^4.3.4 + version: 4.3.4 devDependencies: tsx: specifier: ^4.7.1 version: 4.20.3 typescript: - specifier: ^5.3.3 + specifier: ^5.5.0 version: 5.8.3 testapps/model-tester: @@ -1705,7 +1699,7 @@ importers: version: link:../../plugins/ollama genkitx-openai: specifier: ^0.10.1 - version: 0.10.1(@genkit-ai/ai@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(@genkit-ai/core@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(encoding@0.1.13)(ws@8.18.3) + version: 0.10.1(@genkit-ai/ai@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(@genkit-ai/core@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(encoding@0.1.13)(ws@8.18.3) devDependencies: rimraf: specifier: ^6.0.1 @@ -1827,8 +1821,8 @@ importers: specifier: ^15.4.10 version: 15.4.10(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) zod: - specifier: ^3.24.1 - version: 3.25.67 + specifier: ^4.3.4 + version: 4.3.4 devDependencies: '@types/react': specifier: 19.2.7 @@ -1837,7 +1831,7 @@ importers: specifier: ^6.0.1 version: 6.0.1 typescript: - specifier: ^5.3.3 + specifier: ^5.5.0 version: 5.8.3 testapps/ollama: @@ -1940,7 +1934,7 @@ importers: version: link:../../plugins/vertexai '@mistralai/mistralai-gcp': specifier: ^1.3.4 - version: 1.5.0(zod@3.22.4) + version: 1.5.0(encoding@0.1.13)(zod@4.3.4) express: specifier: ^4.21.0 version: 4.21.2 @@ -1948,8 +1942,8 @@ importers: specifier: workspace:* version: link:../../genkit zod: - specifier: 3.22.4 - version: 3.22.4 + specifier: ^4.3.4 + version: 4.3.4 devDependencies: typescript: specifier: ^5.5.3 @@ -2767,11 +2761,11 @@ packages: '@firebase/webchannel-wrapper@1.0.3': resolution: {integrity: sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==} - '@genkit-ai/ai@1.26.0-rc.0': - resolution: {integrity: sha512-TrNRK/fSuhM8XHOGAV6lDH9daGYfWCPyW55ZDtH3IeDAVNtfcvOhgmM+uvgtsvjKYeJiDHdwVQeabL1e9tzdYg==} + '@genkit-ai/ai@1.27.0': + resolution: {integrity: sha512-Vogp21a0pBgL7UsdHj1Jm79PjrQdLNRK5dZT05Xvr3f7GwCNMv0k6Olxp+qrgwLi6DbRsVPi7c+wcldekMlLFQ==} - '@genkit-ai/core@1.26.0-rc.0': - resolution: {integrity: sha512-ZnzyWLeb364csirXJusPKKV5i6ZqzsKHUc9ZKRGBSoPXkrz/w0hLGoPCFjCSbfm3DmRvC45/HOn3uEVtwkN2MA==} + '@genkit-ai/core@1.27.0': + resolution: {integrity: sha512-2dcr/yKixcxNj0U9pFpx9qNOTJcRdEjEz76qd5+o6Ac31foRBMb3J9Bvrfr+SaaPI4kiMnFUxN1X+w5yNjryQg==} '@genkit-ai/express@1.12.0': resolution: {integrity: sha512-QAxSS07dX5ovSfsUB4s90KaDnv4zg1wnoxCZCa+jBsYUyv9NvCCTsOk25xAQgGxc7xi3+MD+3AsPier5oZILIg==} @@ -4473,9 +4467,6 @@ packages: '@types/node@20.19.1': resolution: {integrity: sha512-jJD50LtlD2dodAEO653i3YF04NWak6jN3ky+Ri3Em3mGR39/glWiboM/IePaRbgwSfqM1TpGXfAg8ohn/4dTgA==} - '@types/node@20.19.25': - resolution: {integrity: sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==} - '@types/node@20.19.26': resolution: {integrity: sha512-0l6cjgF0XnihUpndDhk+nyD3exio3iKaYROSgvh/qSevPXax3L8p5DBRFjbvalnwatGgHEQn2R88y2fA3g4irg==} @@ -5948,8 +5939,8 @@ packages: resolution: {integrity: sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==} engines: {node: '>=18'} - genkit@1.26.0-rc.0: - resolution: {integrity: sha512-Yx4qtT0ImwE2Nu8ts1lrq4eL/qCa+vFmgNOWnCJLc205Vcco0yZEQ0Wr0OL3sBhIAyLuAfx6CCUPJE735ypTsg==} + genkit@1.27.0: + resolution: {integrity: sha512-54OAzw9+dlOs2H4bWnktMwKVA1wwY9XmudKBAz2uBdWhep5r0xHy1qNE6tUVnSgn+LGGaR/0xfYRSs8uqNPFVw==} genkitx-openai@0.10.1: resolution: {integrity: sha512-E9/DzyQcBUSTy81xT2pvEmdnn9Q/cKoojEt6lD/EdOeinhqE9oa59d/kuXTokCMekTrj3Rk7LtNBQIDjnyjNOA==} @@ -9173,25 +9164,17 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} - zod-to-json-schema@3.24.5: - resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} - peerDependencies: - zod: ^3.24.1 - zod-to-json-schema@3.25.0: resolution: {integrity: sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==} peerDependencies: zod: ^3.25 || ^4 - zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - - zod@3.25.67: - resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} - zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + zod@4.3.4: + resolution: {integrity: sha512-Zw/uYiiyF6pUT1qmKbZziChgNPRu+ZRneAsMUDU6IwmXdWt5JwcUfy2bvLOCUtz5UniaN/Zx5aFttZYbYc7O/A==} + snapshots: '@ampproject/remapping@2.3.0': @@ -9212,11 +9195,11 @@ snapshots: transitivePeerDependencies: - encoding - '@anthropic-ai/sdk@0.68.0(zod@3.25.76)': + '@anthropic-ai/sdk@0.68.0(zod@4.3.4)': dependencies: json-schema-to-ts: 3.1.1 optionalDependencies: - zod: 3.25.76 + zod: 4.3.4 '@anthropic-ai/sdk@0.9.1(encoding@0.1.13)': dependencies: @@ -9559,8 +9542,7 @@ snapshots: '@fastify/busboy@3.0.0': {} - '@fastify/busboy@3.2.0': - optional: true + '@fastify/busboy@3.2.0': {} '@firebase/ai@1.4.0(@firebase/app-types@0.9.3)(@firebase/app@0.13.1)': dependencies: @@ -9721,7 +9703,6 @@ snapshots: dependencies: '@firebase/app-types': 0.9.3 '@firebase/util': 1.13.0 - optional: true '@firebase/database-types@1.0.6': dependencies: @@ -9939,13 +9920,12 @@ snapshots: '@firebase/util@1.13.0': dependencies: tslib: 2.8.1 - optional: true '@firebase/webchannel-wrapper@1.0.3': {} - '@genkit-ai/ai@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': + '@genkit-ai/ai@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': dependencies: - '@genkit-ai/core': 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) + '@genkit-ai/core': 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) '@opentelemetry/api': 1.9.0 '@types/node': 20.19.26 colorette: 2.0.20 @@ -9964,9 +9944,9 @@ snapshots: - supports-color optional: true - '@genkit-ai/ai@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit)': + '@genkit-ai/ai@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit)': dependencies: - '@genkit-ai/core': 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit) + '@genkit-ai/core': 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit) '@opentelemetry/api': 1.9.0 '@types/node': 20.19.26 colorette: 2.0.20 @@ -9984,7 +9964,7 @@ snapshots: - genkit - supports-color - '@genkit-ai/core@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': + '@genkit-ai/core@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.25.1(@opentelemetry/api@1.9.0) @@ -10006,7 +9986,7 @@ snapshots: zod: 3.25.76 zod-to-json-schema: 3.25.0(zod@3.25.76) optionalDependencies: - '@genkit-ai/firebase': 1.25.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) + '@genkit-ai/firebase': 1.25.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) transitivePeerDependencies: - '@google-cloud/firestore' - encoding @@ -10016,7 +9996,7 @@ snapshots: - supports-color optional: true - '@genkit-ai/core@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit)': + '@genkit-ai/core@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.25.1(@opentelemetry/api@1.9.0) @@ -10047,9 +10027,9 @@ snapshots: - genkit - supports-color - '@genkit-ai/express@1.12.0(@genkit-ai/core@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(express@5.1.0)(genkit@genkit)': + '@genkit-ai/express@1.12.0(@genkit-ai/core@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(express@5.1.0)(genkit@genkit)': dependencies: - '@genkit-ai/core': 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit) + '@genkit-ai/core': 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit) body-parser: 1.20.3 cors: 2.8.5 express: 5.1.0 @@ -10057,12 +10037,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@genkit-ai/firebase@1.16.1(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': + '@genkit-ai/firebase@1.16.1(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': dependencies: - '@genkit-ai/google-cloud': 1.16.1(encoding@0.1.13)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) + '@genkit-ai/google-cloud': 1.16.1(encoding@0.1.13)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) '@google-cloud/firestore': 7.11.6(encoding@0.1.13) firebase-admin: 13.5.0(encoding@0.1.13) - genkit: 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1) + genkit: 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1) optionalDependencies: firebase: 11.9.1 transitivePeerDependencies: @@ -10070,12 +10050,12 @@ snapshots: - supports-color optional: true - '@genkit-ai/firebase@1.25.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': + '@genkit-ai/firebase@1.25.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': dependencies: - '@genkit-ai/google-cloud': 1.25.0(encoding@0.1.13)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) + '@genkit-ai/google-cloud': 1.25.0(encoding@0.1.13)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) '@google-cloud/firestore': 7.11.6(encoding@0.1.13) firebase-admin: 13.5.0(encoding@0.1.13) - genkit: 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1) + genkit: 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1) optionalDependencies: firebase: 11.9.1 transitivePeerDependencies: @@ -10096,7 +10076,7 @@ snapshots: - supports-color optional: true - '@genkit-ai/google-cloud@1.16.1(encoding@0.1.13)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': + '@genkit-ai/google-cloud@1.16.1(encoding@0.1.13)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': dependencies: '@google-cloud/logging-winston': 6.0.1(encoding@0.1.13)(winston@3.17.0) '@google-cloud/opentelemetry-cloud-monitoring-exporter': 0.19.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.25.1(@opentelemetry/api@1.9.0))(encoding@0.1.13) @@ -10112,7 +10092,7 @@ snapshots: '@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-node': 0.52.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0) - genkit: 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1) + genkit: 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1) google-auth-library: 9.15.1(encoding@0.1.13) node-fetch: 3.3.2 winston: 3.17.0 @@ -10121,7 +10101,7 @@ snapshots: - supports-color optional: true - '@genkit-ai/google-cloud@1.25.0(encoding@0.1.13)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': + '@genkit-ai/google-cloud@1.25.0(encoding@0.1.13)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1))': dependencies: '@google-cloud/logging-winston': 6.0.1(encoding@0.1.13)(winston@3.19.0) '@google-cloud/opentelemetry-cloud-monitoring-exporter': 0.19.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.25.1(@opentelemetry/api@1.9.0))(encoding@0.1.13) @@ -10137,7 +10117,7 @@ snapshots: '@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-node': 0.52.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0) - genkit: 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1) + genkit: 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1) google-auth-library: 9.15.1(encoding@0.1.13) node-fetch: 3.3.2 winston: 3.19.0 @@ -10478,7 +10458,7 @@ snapshots: '@grpc/grpc-js@1.9.15': dependencies: '@grpc/proto-loader': 0.7.15 - '@types/node': 20.19.1 + '@types/node': 20.19.26 '@grpc/proto-loader@0.7.13': dependencies: @@ -10638,41 +10618,6 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5))': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.19.1 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.5 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 @@ -10866,7 +10811,7 @@ snapshots: dependencies: jsep: 1.4.0 - '@langchain/community@0.0.53(@pinecone-database/pinecone@2.2.2)(chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67)))(encoding@0.1.13)(firebase-admin@12.3.1(encoding@0.1.13))(google-auth-library@8.9.0(encoding@0.1.13))(jsonwebtoken@9.0.2)(lodash@4.17.21)(pg@8.16.2)(ws@8.18.3)': + '@langchain/community@0.0.53(@pinecone-database/pinecone@2.2.2)(chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76)))(encoding@0.1.13)(firebase-admin@12.3.1(encoding@0.1.13))(google-auth-library@8.9.0(encoding@0.1.13))(jsonwebtoken@9.0.2)(lodash@4.17.21)(pg@8.16.2)(ws@8.18.3)': dependencies: '@langchain/core': 0.1.63 '@langchain/openai': 0.0.28(encoding@0.1.13)(ws@8.18.3) @@ -10874,11 +10819,11 @@ snapshots: flat: 5.0.2 langsmith: 0.1.14 uuid: 9.0.1 - zod: 3.25.67 - zod-to-json-schema: 3.24.5(zod@3.25.67) + zod: 3.25.76 + zod-to-json-schema: 3.25.0(zod@3.25.76) optionalDependencies: '@pinecone-database/pinecone': 2.2.2 - chromadb: 1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67)) + chromadb: 1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76)) firebase-admin: 12.3.1(encoding@0.1.13) google-auth-library: 8.9.0(encoding@0.1.13) jsonwebtoken: 9.0.2 @@ -10900,8 +10845,8 @@ snapshots: p-queue: 6.6.2 p-retry: 4.6.2 uuid: 9.0.1 - zod: 3.25.67 - zod-to-json-schema: 3.24.5(zod@3.25.67) + zod: 3.25.76 + zod-to-json-schema: 3.25.0(zod@3.25.76) '@langchain/openai@0.0.28(encoding@0.1.13)(ws@8.18.3)': dependencies: @@ -10909,7 +10854,7 @@ snapshots: js-tiktoken: 1.0.11 openai: 4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76) zod: 3.25.76 - zod-to-json-schema: 3.24.5(zod@3.25.76) + zod-to-json-schema: 3.25.0(zod@3.25.76) transitivePeerDependencies: - encoding - ws @@ -10919,18 +10864,10 @@ snapshots: '@langchain/core': 0.1.63 js-tiktoken: 1.0.11 - '@mistralai/mistralai-gcp@1.5.0(encoding@0.1.13)(zod@3.25.76)': - dependencies: - google-auth-library: 9.15.1(encoding@0.1.13) - zod: 3.25.76 - transitivePeerDependencies: - - encoding - - supports-color - - '@mistralai/mistralai-gcp@1.5.0(zod@3.22.4)': + '@mistralai/mistralai-gcp@1.5.0(encoding@0.1.13)(zod@4.3.4)': dependencies: google-auth-library: 9.15.1(encoding@0.1.13) - zod: 3.22.4 + zod: 4.3.4 transitivePeerDependencies: - encoding - supports-color @@ -10947,8 +10884,8 @@ snapshots: express-rate-limit: 7.5.0(express@5.1.0) pkce-challenge: 5.0.0 raw-body: 3.0.0 - zod: 3.25.67 - zod-to-json-schema: 3.24.5(zod@3.25.67) + zod: 3.25.76 + zod-to-json-schema: 3.25.0(zod@3.25.76) transitivePeerDependencies: - supports-color @@ -10956,18 +10893,18 @@ snapshots: dependencies: '@modelcontextprotocol/sdk': 1.15.0 express: 4.21.2 - zod: 3.25.67 - zod-to-json-schema: 3.24.5(zod@3.25.67) + zod: 3.25.76 + zod-to-json-schema: 3.25.0(zod@3.25.76) transitivePeerDependencies: - supports-color - '@modelcontextprotocol/server-filesystem@2025.7.1(zod@3.25.76)': + '@modelcontextprotocol/server-filesystem@2025.7.1(zod@4.3.4)': dependencies: '@modelcontextprotocol/sdk': 1.15.0 diff: 5.2.0 glob: 10.3.12 minimatch: 10.0.1 - zod-to-json-schema: 3.24.5(zod@3.25.76) + zod-to-json-schema: 3.25.0(zod@4.3.4) transitivePeerDependencies: - supports-color - zod @@ -11899,7 +11836,7 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.1 + '@types/node': 20.19.26 '@types/bunyan@1.8.9': dependencies: @@ -11943,7 +11880,6 @@ snapshots: '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 - optional: true '@types/express@4.17.23': dependencies: @@ -11958,7 +11894,6 @@ snapshots: '@types/express-serve-static-core': 4.19.7 '@types/qs': 6.14.0 '@types/serve-static': 1.15.10 - optional: true '@types/graceful-fs@4.1.9': dependencies: @@ -11974,8 +11909,7 @@ snapshots: '@types/http-errors@2.0.4': {} - '@types/http-errors@2.0.5': - optional: true + '@types/http-errors@2.0.5': {} '@types/istanbul-lib-coverage@2.0.6': {} @@ -12000,7 +11934,6 @@ snapshots: dependencies: '@types/ms': 2.1.0 '@types/node': 20.19.26 - optional: true '@types/jsonwebtoken@9.0.6': dependencies: @@ -12016,8 +11949,7 @@ snapshots: '@types/mime@3.0.4': {} - '@types/ms@2.1.0': - optional: true + '@types/ms@2.1.0': {} '@types/mysql@2.15.22': dependencies: @@ -12041,10 +11973,6 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@20.19.25': - dependencies: - undici-types: 6.21.0 - '@types/node@20.19.26': dependencies: undici-types: 6.21.0 @@ -12056,7 +11984,6 @@ snapshots: '@types/node@22.19.2': dependencies: undici-types: 6.21.0 - optional: true '@types/pdf-parse@1.1.5': dependencies: @@ -12072,8 +11999,7 @@ snapshots: pg-protocol: 1.6.0 pg-types: 2.2.0 - '@types/qs@6.14.0': - optional: true + '@types/qs@6.14.0': {} '@types/qs@6.9.14': {} @@ -12101,19 +12027,16 @@ snapshots: dependencies: '@types/mime': 1.3.5 '@types/node': 20.19.26 - optional: true '@types/send@1.2.1': dependencies: '@types/node': 20.19.26 - optional: true '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 '@types/node': 20.19.26 '@types/send': 0.17.6 - optional: true '@types/serve-static@1.15.5': dependencies: @@ -12689,12 +12612,12 @@ snapshots: transitivePeerDependencies: - encoding - chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67)): + chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76)): dependencies: cliui: 8.0.1 isomorphic-fetch: 3.0.0(encoding@0.1.13) optionalDependencies: - openai: 4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67) + openai: 4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76) transitivePeerDependencies: - encoding optional: true @@ -12924,21 +12847,6 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.7.0 - create-jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)): - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - create-jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 @@ -13036,7 +12944,6 @@ snapshots: debug@4.4.3: dependencies: ms: 2.1.3 - optional: true decamelize@1.2.0: {} @@ -13674,20 +13581,20 @@ snapshots: firebase-admin@13.5.0(encoding@0.1.13): dependencies: - '@fastify/busboy': 3.0.0 + '@fastify/busboy': 3.2.0 '@firebase/database-compat': 2.0.10 - '@firebase/database-types': 1.0.14 - '@types/node': 22.15.32 + '@firebase/database-types': 1.0.16 + '@types/node': 22.19.2 farmhash-modern: 1.1.0 fast-deep-equal: 3.1.3 google-auth-library: 9.15.1(encoding@0.1.13) jsonwebtoken: 9.0.2 - jwks-rsa: 3.1.0 - node-forge: 1.3.1 + jwks-rsa: 3.2.0 + node-forge: 1.3.3 uuid: 11.1.0 optionalDependencies: - '@google-cloud/firestore': 7.11.0(encoding@0.1.13) - '@google-cloud/storage': 7.16.0(encoding@0.1.13) + '@google-cloud/firestore': 7.11.6(encoding@0.1.13) + '@google-cloud/storage': 7.18.0(encoding@0.1.13) transitivePeerDependencies: - encoding - supports-color @@ -13986,10 +13893,10 @@ snapshots: transitivePeerDependencies: - supports-color - genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1): + genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1): dependencies: - '@genkit-ai/ai': 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) - '@genkit-ai/core': 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) + '@genkit-ai/ai': 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) + '@genkit-ai/core': 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)) uuid: 10.0.0 transitivePeerDependencies: - '@google-cloud/firestore' @@ -13999,12 +13906,12 @@ snapshots: - supports-color optional: true - genkitx-openai@0.10.1(@genkit-ai/ai@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(@genkit-ai/core@1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(encoding@0.1.13)(ws@8.18.3): + genkitx-openai@0.10.1(@genkit-ai/ai@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(@genkit-ai/core@1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit))(encoding@0.1.13)(ws@8.18.3): dependencies: - '@genkit-ai/ai': 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit) - '@genkit-ai/core': 1.26.0-rc.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit) - openai: 4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67) - zod: 3.25.67 + '@genkit-ai/ai': 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit) + '@genkit-ai/core': 1.27.0(@google-cloud/firestore@7.11.6(encoding@0.1.13))(encoding@0.1.13)(firebase-admin@13.5.0(encoding@0.1.13))(firebase@11.9.1)(genkit@genkit) + openai: 4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76) + zod: 3.25.76 transitivePeerDependencies: - encoding - ws @@ -14379,7 +14286,7 @@ snapshots: https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.3 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -14777,25 +14684,6 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)): - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) - exit: 0.1.2 - import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - jest-cli@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)): dependencies: '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)) @@ -14815,37 +14703,6 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)): - dependencies: - '@babel/core': 7.25.7 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.25.7) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.19.1 - ts-node: 10.9.2(@types/node@20.19.1)(typescript@4.9.5) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - jest-config@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)): dependencies: '@babel/core': 7.25.7 @@ -15092,18 +14949,6 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)): - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) - '@jest/types': 29.6.3 - import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)): dependencies: '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)) @@ -15126,8 +14971,7 @@ snapshots: jose@4.15.5: {} - jose@4.15.9: - optional: true + jose@4.15.9: {} joycon@3.1.1: {} @@ -15208,7 +15052,7 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.7.2 + semver: 7.7.3 jwa@1.4.1: dependencies: @@ -15250,7 +15094,6 @@ snapshots: lru-memoizer: 2.3.0 transitivePeerDependencies: - supports-color - optional: true jws@3.2.2: dependencies: @@ -15297,10 +15140,10 @@ snapshots: kuler@2.0.0: {} - langchain@0.1.37(@google-cloud/storage@7.18.0(encoding@0.1.13))(@pinecone-database/pinecone@2.2.2)(chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67)))(encoding@0.1.13)(fast-xml-parser@4.5.3)(firebase-admin@12.3.1(encoding@0.1.13))(google-auth-library@8.9.0(encoding@0.1.13))(handlebars@4.7.8)(ignore@5.3.1)(jsonwebtoken@9.0.2)(lodash@4.17.21)(pdf-parse@1.1.1)(pg@8.16.2)(ws@8.18.3): + langchain@0.1.37(@google-cloud/storage@7.18.0(encoding@0.1.13))(@pinecone-database/pinecone@2.2.2)(chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76)))(encoding@0.1.13)(fast-xml-parser@4.5.3)(firebase-admin@12.3.1(encoding@0.1.13))(google-auth-library@8.9.0(encoding@0.1.13))(handlebars@4.7.8)(ignore@5.3.1)(jsonwebtoken@9.0.2)(lodash@4.17.21)(pdf-parse@1.1.1)(pg@8.16.2)(ws@8.18.3): dependencies: '@anthropic-ai/sdk': 0.9.1(encoding@0.1.13) - '@langchain/community': 0.0.53(@pinecone-database/pinecone@2.2.2)(chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67)))(encoding@0.1.13)(firebase-admin@12.3.1(encoding@0.1.13))(google-auth-library@8.9.0(encoding@0.1.13))(jsonwebtoken@9.0.2)(lodash@4.17.21)(pg@8.16.2)(ws@8.18.3) + '@langchain/community': 0.0.53(@pinecone-database/pinecone@2.2.2)(chromadb@1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76)))(encoding@0.1.13)(firebase-admin@12.3.1(encoding@0.1.13))(google-auth-library@8.9.0(encoding@0.1.13))(jsonwebtoken@9.0.2)(lodash@4.17.21)(pg@8.16.2)(ws@8.18.3) '@langchain/core': 0.1.63 '@langchain/openai': 0.0.28(encoding@0.1.13)(ws@8.18.3) '@langchain/textsplitters': 0.0.0 @@ -15315,12 +15158,12 @@ snapshots: p-retry: 4.6.2 uuid: 9.0.1 yaml: 2.8.0 - zod: 3.25.67 - zod-to-json-schema: 3.24.5(zod@3.25.67) + zod: 3.25.76 + zod-to-json-schema: 3.25.0(zod@3.25.76) optionalDependencies: '@google-cloud/storage': 7.18.0(encoding@0.1.13) '@pinecone-database/pinecone': 2.2.2 - chromadb: 1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67)) + chromadb: 1.9.2(encoding@0.1.13)(openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76)) fast-xml-parser: 4.5.3 google-auth-library: 8.9.0(encoding@0.1.13) handlebars: 4.7.8 @@ -15545,7 +15388,6 @@ snapshots: dependencies: lodash.clonedeep: 4.5.0 lru-cache: 6.0.0 - optional: true lsofi@1.0.0: dependencies: @@ -15865,8 +15707,7 @@ snapshots: node-forge@1.3.1: {} - node-forge@1.3.3: - optional: true + node-forge@1.3.3: {} node-gyp@11.5.0: dependencies: @@ -15975,7 +15816,7 @@ snapshots: dependencies: is-wsl: 1.1.0 - openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.67): + openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76): dependencies: '@types/node': 18.19.112 '@types/node-fetch': 2.6.11 @@ -15986,11 +15827,11 @@ snapshots: node-fetch: 2.7.0(encoding@0.1.13) optionalDependencies: ws: 8.18.3 - zod: 3.25.67 + zod: 3.25.76 transitivePeerDependencies: - encoding - openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76): + openai@4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@4.3.4): dependencies: '@types/node': 18.19.112 '@types/node-fetch': 2.6.11 @@ -16001,7 +15842,7 @@ snapshots: node-fetch: 2.7.0(encoding@0.1.13) optionalDependencies: ws: 8.18.3 - zod: 3.25.76 + zod: 4.3.4 transitivePeerDependencies: - encoding @@ -16367,7 +16208,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.19.25 + '@types/node': 20.19.26 long: 5.3.2 proxy-addr@2.0.7: @@ -17303,26 +17144,6 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.4.0(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)))(typescript@4.9.5): - dependencies: - bs-logger: 0.2.6 - ejs: 3.1.10 - fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5)) - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.7.2 - type-fest: 4.41.0 - typescript: 4.9.5 - yargs-parser: 21.1.1 - optionalDependencies: - '@babel/core': 7.25.7 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.25.7) - jest-util: 29.7.0 - ts-jest@29.4.0(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 @@ -17345,25 +17166,6 @@ snapshots: ts-md5@1.3.1: {} - ts-node@10.9.2(@types/node@20.19.1)(typescript@4.9.5): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.12 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.1 - acorn: 8.15.0 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.9.5 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optional: true - ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -17391,7 +17193,7 @@ snapshots: tsscmp@1.0.6: {} - tsup@8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.0): + tsup@8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0): dependencies: bundle-require: 5.1.0(esbuild@0.25.5) cac: 6.7.14 @@ -17412,35 +17214,7 @@ snapshots: tree-kill: 1.2.2 optionalDependencies: postcss: 8.4.47 - typescript: 4.9.5 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - - tsup@8.5.0(postcss@8.4.47)(tsx@4.20.3)(typescript@4.9.5)(yaml@2.8.2): - dependencies: - bundle-require: 5.1.0(esbuild@0.25.5) - cac: 6.7.14 - chokidar: 4.0.3 - consola: 3.4.2 - debug: 4.4.1 - esbuild: 0.25.5 - fix-dts-default-cjs-exports: 1.0.1 - joycon: 3.1.1 - picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.4.47)(tsx@4.20.3)(yaml@2.8.2) - resolve-from: 5.0.0 - rollup: 4.43.0 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tree-kill: 1.2.2 - optionalDependencies: - postcss: 8.4.47 - typescript: 4.9.5 + typescript: 5.8.3 transitivePeerDependencies: - jiti - supports-color @@ -17936,20 +17710,14 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.7.0 - zod-to-json-schema@3.24.5(zod@3.25.67): - dependencies: - zod: 3.25.67 - - zod-to-json-schema@3.24.5(zod@3.25.76): - dependencies: - zod: 3.25.76 - zod-to-json-schema@3.25.0(zod@3.25.76): dependencies: zod: 3.25.76 - zod@3.22.4: {} - - zod@3.25.67: {} + zod-to-json-schema@3.25.0(zod@4.3.4): + dependencies: + zod: 4.3.4 zod@3.25.76: {} + + zod@4.3.4: {} diff --git a/js/testapps/basic-gemini/package.json b/js/testapps/basic-gemini/package.json index e4b1d49bf0..aabcd593b7 100644 --- a/js/testapps/basic-gemini/package.json +++ b/js/testapps/basic-gemini/package.json @@ -22,8 +22,7 @@ "express": "^4.20.0", "genkit": "workspace:*", "node-fetch": "3.3.2", - "wav": "^1.0.2", - "zod-to-json-schema": "^3.24.5" + "wav": "^1.0.2" }, "devDependencies": { "@types/wav": "^1.0.4", diff --git a/js/testapps/basic-gemini/src/index-vertexai.ts b/js/testapps/basic-gemini/src/index-vertexai.ts index 2e6c59e965..368c75db9a 100644 --- a/js/testapps/basic-gemini/src/index-vertexai.ts +++ b/js/testapps/basic-gemini/src/index-vertexai.ts @@ -254,7 +254,7 @@ ai.defineFlow( streamSchema: z.any(), }, async (location, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: vertexAI.model('gemini-2.5-flash'), config: { temperature: 1, @@ -279,7 +279,7 @@ ai.defineFlow( streamSchema: z.any(), }, async (location, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: vertexAI.model('gemini-3-pro-preview'), config: { temperature: 1, @@ -313,7 +313,7 @@ ai.defineFlow( streamSchema: z.any(), }, async (location, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: vertexAI.model('gemini-2.5-flash'), config: { temperature: 1, @@ -344,7 +344,7 @@ ai.defineFlow( outputSchema: RpgCharacterSchema, }, async (name, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: vertexAI.model('gemini-2.5-flash'), config: { temperature: 2, // we want creativity diff --git a/js/testapps/basic-gemini/src/index.ts b/js/testapps/basic-gemini/src/index.ts index d9bfc9848d..d765212048 100644 --- a/js/testapps/basic-gemini/src/index.ts +++ b/js/testapps/basic-gemini/src/index.ts @@ -286,7 +286,7 @@ ai.defineFlow( streamSchema: z.any(), }, async (location, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: googleAI.model('gemini-2.5-flash'), config: { temperature: 1, @@ -311,7 +311,7 @@ ai.defineFlow( streamSchema: z.any(), }, async (_, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: googleAI.model('gemini-3-pro-preview'), config: { temperature: 1, @@ -342,7 +342,7 @@ ai.defineFlow( streamSchema: z.any(), }, async (location, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: googleAI.model('gemini-2.5-flash'), config: { temperature: 1, @@ -373,7 +373,7 @@ ai.defineFlow( outputSchema: RpgCharacterSchema, }, async (name, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: googleAI.model('gemini-2.5-flash'), config: { temperature: 2, // we want creativity diff --git a/js/testapps/firebase-functions-sample1/functions/package.json b/js/testapps/firebase-functions-sample1/functions/package.json index 58753f547b..732f48f96b 100644 --- a/js/testapps/firebase-functions-sample1/functions/package.json +++ b/js/testapps/firebase-functions-sample1/functions/package.json @@ -22,7 +22,7 @@ }, "devDependencies": { "firebase-functions-test": "^3.1.0", - "typescript": "^4.9.0" + "typescript": "^5.5.0" }, "private": true } diff --git a/js/testapps/model-armor/package.json b/js/testapps/model-armor/package.json index edbabb677d..3065a84faf 100644 --- a/js/testapps/model-armor/package.json +++ b/js/testapps/model-armor/package.json @@ -12,10 +12,10 @@ "@genkit-ai/google-cloud": "workspace:*", "@genkit-ai/google-genai": "workspace:*", "genkit": "workspace:*", - "zod": "^3.22.4" + "zod": "^4.3.4" }, "devDependencies": { "tsx": "^4.7.1", - "typescript": "^5.3.3" + "typescript": "^5.5.0" } } diff --git a/js/testapps/next/package.json b/js/testapps/next/package.json index 6c45bd67b1..adb342cb64 100644 --- a/js/testapps/next/package.json +++ b/js/testapps/next/package.json @@ -20,11 +20,11 @@ "@genkit-ai/next": "workspace:*", "genkit": "workspace:*", "next": "^15.4.10", - "zod": "^3.24.1" + "zod": "^4.3.4" }, "devDependencies": { "@types/react": "19.2.7", "rimraf": "^6.0.1", - "typescript": "^5.3.3" + "typescript": "^5.5.0" } } diff --git a/js/testapps/next/pnpm-lock.yaml b/js/testapps/next/pnpm-lock.yaml deleted file mode 100644 index 3ab195366d..0000000000 --- a/js/testapps/next/pnpm-lock.yaml +++ /dev/null @@ -1,827 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@genkit-ai/googleai': - specifier: workspace:* - version: link:../../plugins/googleai - '@genkit-ai/next': - specifier: workspace:* - version: link:../../plugins/next - genkit: - specifier: workspace:* - version: link:../../genkit - next: - specifier: ^15.2.4 - version: 15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - zod: - specifier: ^3.24.1 - version: 3.24.2 - devDependencies: - '@types/react': - specifier: 19.0.8 - version: 19.0.12 - rimraf: - specifier: ^6.0.1 - version: 6.0.1 - typescript: - specifier: ^5.3.3 - version: 5.8.2 - -packages: - - '@emnapi/runtime@1.3.1': - resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} - - '@img/sharp-darwin-arm64@0.33.5': - resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [darwin] - - '@img/sharp-darwin-x64@0.33.5': - resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [darwin] - - '@img/sharp-libvips-darwin-arm64@1.0.4': - resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} - cpu: [arm64] - os: [darwin] - - '@img/sharp-libvips-darwin-x64@1.0.4': - resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} - cpu: [x64] - os: [darwin] - - '@img/sharp-libvips-linux-arm64@1.0.4': - resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} - cpu: [arm64] - os: [linux] - - '@img/sharp-libvips-linux-arm@1.0.5': - resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} - cpu: [arm] - os: [linux] - - '@img/sharp-libvips-linux-s390x@1.0.4': - resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} - cpu: [s390x] - os: [linux] - - '@img/sharp-libvips-linux-x64@1.0.4': - resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} - cpu: [x64] - os: [linux] - - '@img/sharp-libvips-linuxmusl-arm64@1.0.4': - resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} - cpu: [arm64] - os: [linux] - - '@img/sharp-libvips-linuxmusl-x64@1.0.4': - resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} - cpu: [x64] - os: [linux] - - '@img/sharp-linux-arm64@0.33.5': - resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - - '@img/sharp-linux-arm@0.33.5': - resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm] - os: [linux] - - '@img/sharp-linux-s390x@0.33.5': - resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [s390x] - os: [linux] - - '@img/sharp-linux-x64@0.33.5': - resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - - '@img/sharp-linuxmusl-arm64@0.33.5': - resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - - '@img/sharp-linuxmusl-x64@0.33.5': - resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - - '@img/sharp-wasm32@0.33.5': - resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [wasm32] - - '@img/sharp-win32-ia32@0.33.5': - resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [ia32] - os: [win32] - - '@img/sharp-win32-x64@0.33.5': - resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [win32] - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@next/env@15.2.4': - resolution: {integrity: sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==} - - '@next/swc-darwin-arm64@15.2.4': - resolution: {integrity: sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@next/swc-darwin-x64@15.2.4': - resolution: {integrity: sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@next/swc-linux-arm64-gnu@15.2.4': - resolution: {integrity: sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@next/swc-linux-arm64-musl@15.2.4': - resolution: {integrity: sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@next/swc-linux-x64-gnu@15.2.4': - resolution: {integrity: sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@next/swc-linux-x64-musl@15.2.4': - resolution: {integrity: sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@next/swc-win32-arm64-msvc@15.2.4': - resolution: {integrity: sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@next/swc-win32-x64-msvc@15.2.4': - resolution: {integrity: sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - - '@swc/helpers@0.5.15': - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - - '@types/react@19.0.12': - resolution: {integrity: sha512-V6Ar115dBDrjbtXSrS+/Oruobc+qVbbUxDFC1RSbRqLt5SYvxxyIDrSC85RWml54g+jfNeEMZhEj7wW07ONQhA==} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - - caniuse-lite@1.0.30001707: - resolution: {integrity: sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==} - - client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - - color@4.2.3: - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} - engines: {node: '>=12.5.0'} - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - - detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} - engines: {node: '>=8'} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} - - glob@11.0.1: - resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==} - engines: {node: 20 || >=22} - hasBin: true - - is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - jackspeak@4.1.0: - resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} - engines: {node: 20 || >=22} - - lru-cache@11.1.0: - resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==} - engines: {node: 20 || >=22} - - minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} - engines: {node: 20 || >=22} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - next@15.2.4: - resolution: {integrity: sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==} - engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - '@playwright/test': ^1.41.2 - babel-plugin-react-compiler: '*' - react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 - react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - '@playwright/test': - optional: true - babel-plugin-react-compiler: - optional: true - sass: - optional: true - - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-scurry@2.0.0: - resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} - engines: {node: 20 || >=22} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} - - react-dom@19.0.0: - resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} - peerDependencies: - react: ^19.0.0 - - react@19.0.0: - resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} - engines: {node: '>=0.10.0'} - - rimraf@6.0.1: - resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} - engines: {node: 20 || >=22} - hasBin: true - - scheduler@0.25.0: - resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} - - semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} - engines: {node: '>=10'} - hasBin: true - - sharp@0.33.5: - resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - styled-jsx@5.1.6: - resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - typescript@5.8.2: - resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} - engines: {node: '>=14.17'} - hasBin: true - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - zod@3.24.2: - resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} - -snapshots: - - '@emnapi/runtime@1.3.1': - dependencies: - tslib: 2.8.1 - optional: true - - '@img/sharp-darwin-arm64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.0.4 - optional: true - - '@img/sharp-darwin-x64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.0.4 - optional: true - - '@img/sharp-libvips-darwin-arm64@1.0.4': - optional: true - - '@img/sharp-libvips-darwin-x64@1.0.4': - optional: true - - '@img/sharp-libvips-linux-arm64@1.0.4': - optional: true - - '@img/sharp-libvips-linux-arm@1.0.5': - optional: true - - '@img/sharp-libvips-linux-s390x@1.0.4': - optional: true - - '@img/sharp-libvips-linux-x64@1.0.4': - optional: true - - '@img/sharp-libvips-linuxmusl-arm64@1.0.4': - optional: true - - '@img/sharp-libvips-linuxmusl-x64@1.0.4': - optional: true - - '@img/sharp-linux-arm64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.0.4 - optional: true - - '@img/sharp-linux-arm@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.0.5 - optional: true - - '@img/sharp-linux-s390x@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.0.4 - optional: true - - '@img/sharp-linux-x64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.0.4 - optional: true - - '@img/sharp-linuxmusl-arm64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 - optional: true - - '@img/sharp-linuxmusl-x64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.0.4 - optional: true - - '@img/sharp-wasm32@0.33.5': - dependencies: - '@emnapi/runtime': 1.3.1 - optional: true - - '@img/sharp-win32-ia32@0.33.5': - optional: true - - '@img/sharp-win32-x64@0.33.5': - optional: true - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - '@next/env@15.2.4': {} - - '@next/swc-darwin-arm64@15.2.4': - optional: true - - '@next/swc-darwin-x64@15.2.4': - optional: true - - '@next/swc-linux-arm64-gnu@15.2.4': - optional: true - - '@next/swc-linux-arm64-musl@15.2.4': - optional: true - - '@next/swc-linux-x64-gnu@15.2.4': - optional: true - - '@next/swc-linux-x64-musl@15.2.4': - optional: true - - '@next/swc-win32-arm64-msvc@15.2.4': - optional: true - - '@next/swc-win32-x64-msvc@15.2.4': - optional: true - - '@swc/counter@0.1.3': {} - - '@swc/helpers@0.5.15': - dependencies: - tslib: 2.8.1 - - '@types/react@19.0.12': - dependencies: - csstype: 3.1.3 - - ansi-regex@5.0.1: {} - - ansi-regex@6.1.0: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.1: {} - - balanced-match@1.0.2: {} - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - busboy@1.6.0: - dependencies: - streamsearch: 1.1.0 - - caniuse-lite@1.0.30001707: {} - - client-only@0.0.1: {} - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - color-string@1.9.1: - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - optional: true - - color@4.2.3: - dependencies: - color-convert: 2.0.1 - color-string: 1.9.1 - optional: true - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - csstype@3.1.3: {} - - detect-libc@2.0.3: - optional: true - - eastasianwidth@0.2.0: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - - glob@11.0.1: - dependencies: - foreground-child: 3.3.1 - jackspeak: 4.1.0 - minimatch: 10.0.1 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 2.0.0 - - is-arrayish@0.3.2: - optional: true - - is-fullwidth-code-point@3.0.0: {} - - isexe@2.0.0: {} - - jackspeak@4.1.0: - dependencies: - '@isaacs/cliui': 8.0.2 - - lru-cache@11.1.0: {} - - minimatch@10.0.1: - dependencies: - brace-expansion: 2.0.1 - - minipass@7.1.2: {} - - nanoid@3.3.11: {} - - next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): - dependencies: - '@next/env': 15.2.4 - '@swc/counter': 0.1.3 - '@swc/helpers': 0.5.15 - busboy: 1.6.0 - caniuse-lite: 1.0.30001707 - postcss: 8.4.31 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - styled-jsx: 5.1.6(react@19.0.0) - optionalDependencies: - '@next/swc-darwin-arm64': 15.2.4 - '@next/swc-darwin-x64': 15.2.4 - '@next/swc-linux-arm64-gnu': 15.2.4 - '@next/swc-linux-arm64-musl': 15.2.4 - '@next/swc-linux-x64-gnu': 15.2.4 - '@next/swc-linux-x64-musl': 15.2.4 - '@next/swc-win32-arm64-msvc': 15.2.4 - '@next/swc-win32-x64-msvc': 15.2.4 - sharp: 0.33.5 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - - package-json-from-dist@1.0.1: {} - - path-key@3.1.1: {} - - path-scurry@2.0.0: - dependencies: - lru-cache: 11.1.0 - minipass: 7.1.2 - - picocolors@1.1.1: {} - - postcss@8.4.31: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - react-dom@19.0.0(react@19.0.0): - dependencies: - react: 19.0.0 - scheduler: 0.25.0 - - react@19.0.0: {} - - rimraf@6.0.1: - dependencies: - glob: 11.0.1 - package-json-from-dist: 1.0.1 - - scheduler@0.25.0: {} - - semver@7.7.1: - optional: true - - sharp@0.33.5: - dependencies: - color: 4.2.3 - detect-libc: 2.0.3 - semver: 7.7.1 - optionalDependencies: - '@img/sharp-darwin-arm64': 0.33.5 - '@img/sharp-darwin-x64': 0.33.5 - '@img/sharp-libvips-darwin-arm64': 1.0.4 - '@img/sharp-libvips-darwin-x64': 1.0.4 - '@img/sharp-libvips-linux-arm': 1.0.5 - '@img/sharp-libvips-linux-arm64': 1.0.4 - '@img/sharp-libvips-linux-s390x': 1.0.4 - '@img/sharp-libvips-linux-x64': 1.0.4 - '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 - '@img/sharp-libvips-linuxmusl-x64': 1.0.4 - '@img/sharp-linux-arm': 0.33.5 - '@img/sharp-linux-arm64': 0.33.5 - '@img/sharp-linux-s390x': 0.33.5 - '@img/sharp-linux-x64': 0.33.5 - '@img/sharp-linuxmusl-arm64': 0.33.5 - '@img/sharp-linuxmusl-x64': 0.33.5 - '@img/sharp-wasm32': 0.33.5 - '@img/sharp-win32-ia32': 0.33.5 - '@img/sharp-win32-x64': 0.33.5 - optional: true - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - signal-exit@4.1.0: {} - - simple-swizzle@0.2.2: - dependencies: - is-arrayish: 0.3.2 - optional: true - - source-map-js@1.2.1: {} - - streamsearch@1.1.0: {} - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.1.0 - - styled-jsx@5.1.6(react@19.0.0): - dependencies: - client-only: 0.0.1 - react: 19.0.0 - - tslib@2.8.1: {} - - typescript@5.8.2: {} - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - zod@3.24.2: {} diff --git a/js/testapps/vertexai-modelgarden/package.json b/js/testapps/vertexai-modelgarden/package.json index b841c739f7..d2617be0a9 100644 --- a/js/testapps/vertexai-modelgarden/package.json +++ b/js/testapps/vertexai-modelgarden/package.json @@ -19,7 +19,7 @@ "@mistralai/mistralai-gcp": "^1.3.4", "express": "^4.21.0", "genkit": "workspace:*", - "zod": "3.22.4" + "zod": "^4.3.4" }, "devDependencies": { "typescript": "^5.5.3" diff --git a/js/testapps/vertexai-modelgarden/src/index.ts b/js/testapps/vertexai-modelgarden/src/index.ts index 1159be7cae..28ac1e3e42 100644 --- a/js/testapps/vertexai-modelgarden/src/index.ts +++ b/js/testapps/vertexai-modelgarden/src/index.ts @@ -52,7 +52,7 @@ export const anthropicModel = ai.defineFlow( streamSchema: z.any(), }, async (location, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: vertexModelGarden.model('claude-sonnet-4@20250514'), config: { temperature: 1, @@ -77,7 +77,7 @@ export const llamaModel = ai.defineFlow( streamSchema: z.any(), }, async (location, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: vertexModelGarden.model( 'meta/llama-4-maverick-17b-128e-instruct-maas' ), @@ -206,7 +206,7 @@ export const geminiModel = ai.defineFlow( streamSchema: z.any(), }, async (location, { sendChunk }) => { - const { response, stream } = ai.generateStream({ + const { response, stream } = (ai as any).generateStream({ model: vertexAI.model('gemini-2.5-flash'), config: { temperature: 1, diff --git a/tests/specs/generate.yaml b/tests/specs/generate.yaml index 2be564c639..eecaa3fb55 100644 --- a/tests/specs/generate.yaml +++ b/tests/specs/generate.yaml @@ -29,6 +29,7 @@ tests: config: { temperature: 11 }, }, usage: {}, + raw: {}, } - name: stream responses stream: true @@ -68,6 +69,7 @@ tests: config: { temperature: 11 }, }, usage: {}, + raw: {}, } - name: calls tools input: @@ -140,4 +142,5 @@ tests: config: { temperature: 11 }, }, usage: {}, + raw: {}, }