@langchain/langgraph
Version:
LangGraph
1 lines • 9.44 kB
Source Map (JSON)
{"version":3,"file":"meta.d.cts","names":["InteropZodObject","InteropZodType","InteropZodObjectShape","BaseChannel","META_EXTRAS_DESCRIPTION_PREFIX","ReducedZodChannel","T","TReducerSchema","InteropZodToStateDefinition","TShape","key","Schema","ReducerSchema","V","U","UpdateType","SchemaMeta","TValue","TUpdate","SchemaMetaRegistry","WeakMap","Map","schemaMetaRegistry","withLangGraph","TSchema"],"sources":["../../../src/graph/zod/meta.d.ts"],"sourcesContent":["import { InteropZodObject, InteropZodType, InteropZodObjectShape } from \"@langchain/core/utils/types\";\nimport { BaseChannel } from \"../../channels/base.js\";\nexport declare const META_EXTRAS_DESCRIPTION_PREFIX = \"lg:\";\n/** @internal */\nexport type ReducedZodChannel<T extends InteropZodType, TReducerSchema extends InteropZodType> = T & {\n lg_reducer_schema: TReducerSchema;\n};\n/** @internal */\nexport type InteropZodToStateDefinition<T extends InteropZodObject, TShape = InteropZodObjectShape<T>> = {\n [key in keyof TShape]: TShape[key] extends ReducedZodChannel<infer Schema, infer ReducerSchema> ? Schema extends InteropZodType<infer V> ? ReducerSchema extends InteropZodType<infer U> ? BaseChannel<V, U> : never : never : TShape[key] extends InteropZodType<infer V, infer U> ? BaseChannel<V, U> : never;\n};\nexport type UpdateType<T extends InteropZodObject, TShape = InteropZodObjectShape<T>> = {\n [key in keyof TShape]?: TShape[key] extends ReducedZodChannel<infer Schema, infer ReducerSchema> ? Schema extends InteropZodType<unknown> ? ReducerSchema extends InteropZodType<infer U> ? U : never : never : TShape[key] extends InteropZodType<unknown, infer U> ? U : never;\n};\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface SchemaMeta<TValue = any, TUpdate = TValue> {\n jsonSchemaExtra?: {\n langgraph_nodes?: string[];\n langgraph_type?: \"prompt\" | \"messages\";\n [key: string]: unknown;\n };\n reducer?: {\n schema?: InteropZodType<TUpdate>;\n fn: (a: TValue, b: TUpdate) => TValue;\n };\n default?: () => TValue;\n}\n/**\n * A registry for storing and managing metadata associated with schemas.\n * This class provides methods to get, extend, remove, and check metadata for a given schema.\n */\nexport declare class SchemaMetaRegistry {\n /**\n * Internal map storing schema metadata.\n * @internal\n */\n _map: WeakMap<InteropZodType, SchemaMeta<any, any>>;\n /**\n * Cache for extended schfemas.\n * @internal\n */\n _extensionCache: Map<string, WeakMap<InteropZodType, InteropZodType>>;\n /**\n * Retrieves the metadata associated with a given schema.\n * @template TValue The value type of the schema.\n * @template TUpdate The update type of the schema (defaults to TValue).\n * @param schema The schema to retrieve metadata for.\n * @returns The associated SchemaMeta, or undefined if not present.\n */\n get<TValue, TUpdate = TValue>(schema: InteropZodType<TValue>): SchemaMeta<TValue, TUpdate> | undefined;\n /**\n * Extends or sets the metadata for a given schema.\n * @template TValue The value type of the schema.\n * @template TUpdate The update type of the schema (defaults to TValue).\n * @param schema The schema to extend metadata for.\n * @param predicate A function that receives the existing metadata (or undefined) and returns the new metadata.\n */\n extend<TValue, TUpdate>(schema: InteropZodType<TValue>, predicate: (meta: SchemaMeta<TValue, TUpdate> | undefined) => SchemaMeta<TValue, TUpdate>): void;\n /**\n * Removes the metadata associated with a given schema.\n * @param schema The schema to remove metadata for.\n * @returns The SchemaMetaRegistry instance (for chaining).\n */\n remove(schema: InteropZodType): this;\n /**\n * Checks if metadata exists for a given schema.\n * @param schema The schema to check.\n * @returns True if metadata exists, false otherwise.\n */\n has(schema: InteropZodType): boolean;\n /**\n * Returns a mapping of channel instances for each property in the schema\n * using the associated metadata in the registry.\n *\n * This is used to create the `channels` object that's passed to the `Graph` constructor.\n *\n * @template T The shape of the schema.\n * @param schema The schema to extract channels from.\n * @returns A mapping from property names to channel instances.\n */\n getChannelsForSchema<T extends InteropZodObject>(schema: T): InteropZodToStateDefinition<T>;\n /**\n * Returns a modified schema that introspectively looks at all keys of the provided\n * object schema, and applies the augmentations based on meta provided with those keys\n * in the registry and the selectors provided in the `effects` parameter.\n *\n * This assumes that the passed in schema is the \"root\" schema object for a graph where\n * the keys of the schema are the channels of the graph. Because we need to represent\n * the input of a graph in a couple of different ways, the `effects` parameter allows\n * us to apply those augmentations based on pre determined conditions.\n *\n * @param schema The root schema object to extend.\n * @param effects The effects that are being applied.\n * @returns The extended schema.\n */\n getExtendedChannelSchemas<T extends InteropZodObject>(schema: T, effects: {\n /**\n * Augments the shape by using the reducer's schema if it exists\n */\n withReducerSchema?: boolean;\n /**\n * Applies the stringified jsonSchemaExtra as a description to the schema.\n */\n withJsonSchemaExtrasAsDescription?: boolean;\n /**\n * Applies the `.partial()` modifier to the schema.\n */\n asPartial?: boolean;\n }): InteropZodObject;\n}\nexport declare const schemaMetaRegistry: SchemaMetaRegistry;\nexport declare function withLangGraph<TValue, TUpdate, TSchema extends InteropZodType<TValue>>(schema: TSchema, meta: SchemaMeta<TValue, TUpdate> & {\n reducer?: undefined;\n}): TSchema;\nexport declare function withLangGraph<TValue, TUpdate, TSchema extends InteropZodType<TValue>>(schema: TSchema, meta: SchemaMeta<TValue, TUpdate>): ReducedZodChannel<TSchema, InteropZodType<TUpdate>>;\n"],"mappings":"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"}