@langchain/langgraph 1.0.7 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/channels/any_value.cjs.map +1 -1
- package/dist/channels/any_value.d.cts +0 -1
- package/dist/channels/any_value.d.cts.map +1 -1
- package/dist/channels/any_value.d.ts +0 -1
- package/dist/channels/any_value.d.ts.map +1 -1
- package/dist/channels/any_value.js.map +1 -1
- package/dist/channels/base.cjs +2 -3
- package/dist/channels/base.cjs.map +1 -1
- package/dist/channels/base.d.cts.map +1 -1
- package/dist/channels/base.d.ts.map +1 -1
- package/dist/channels/base.js.map +1 -1
- package/dist/channels/binop.cjs.map +1 -1
- package/dist/channels/binop.d.cts.map +1 -1
- package/dist/channels/binop.d.ts.map +1 -1
- package/dist/channels/binop.js.map +1 -1
- package/dist/channels/dynamic_barrier_value.cjs +0 -1
- package/dist/channels/dynamic_barrier_value.cjs.map +1 -1
- package/dist/channels/dynamic_barrier_value.d.cts +1 -3
- package/dist/channels/dynamic_barrier_value.d.cts.map +1 -1
- package/dist/channels/dynamic_barrier_value.d.ts +1 -3
- package/dist/channels/dynamic_barrier_value.d.ts.map +1 -1
- package/dist/channels/dynamic_barrier_value.js +0 -1
- package/dist/channels/dynamic_barrier_value.js.map +1 -1
- package/dist/channels/ephemeral_value.cjs.map +1 -1
- package/dist/channels/ephemeral_value.d.cts +0 -1
- package/dist/channels/ephemeral_value.d.cts.map +1 -1
- package/dist/channels/ephemeral_value.d.ts +0 -1
- package/dist/channels/ephemeral_value.d.ts.map +1 -1
- package/dist/channels/ephemeral_value.js.map +1 -1
- package/dist/channels/last_value.cjs.map +1 -1
- package/dist/channels/last_value.d.cts +0 -2
- package/dist/channels/last_value.d.cts.map +1 -1
- package/dist/channels/last_value.d.ts +0 -2
- package/dist/channels/last_value.d.ts.map +1 -1
- package/dist/channels/last_value.js.map +1 -1
- package/dist/channels/named_barrier_value.cjs +0 -2
- package/dist/channels/named_barrier_value.cjs.map +1 -1
- package/dist/channels/named_barrier_value.d.cts +2 -4
- package/dist/channels/named_barrier_value.d.cts.map +1 -1
- package/dist/channels/named_barrier_value.d.ts +2 -4
- package/dist/channels/named_barrier_value.d.ts.map +1 -1
- package/dist/channels/named_barrier_value.js +0 -2
- package/dist/channels/named_barrier_value.js.map +1 -1
- package/dist/channels/topic.cjs.map +1 -1
- package/dist/channels/topic.d.cts.map +1 -1
- package/dist/channels/topic.d.ts.map +1 -1
- package/dist/channels/topic.js.map +1 -1
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +2 -6
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.ts +2 -6
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.cts +0 -4
- package/dist/errors.d.cts.map +1 -1
- package/dist/errors.d.ts +0 -4
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/func/index.cjs +2 -4
- package/dist/func/index.cjs.map +1 -1
- package/dist/func/index.d.cts +1 -6
- package/dist/func/index.d.cts.map +1 -1
- package/dist/func/index.d.ts +1 -6
- package/dist/func/index.d.ts.map +1 -1
- package/dist/func/index.js +1 -2
- package/dist/func/index.js.map +1 -1
- package/dist/func/types.d.cts +2 -4
- package/dist/func/types.d.cts.map +1 -1
- package/dist/func/types.d.ts +2 -4
- package/dist/func/types.d.ts.map +1 -1
- package/dist/graph/annotation.cjs.map +1 -1
- package/dist/graph/annotation.d.cts.map +1 -1
- package/dist/graph/annotation.d.ts.map +1 -1
- package/dist/graph/annotation.js.map +1 -1
- package/dist/graph/graph.cjs +15 -18
- package/dist/graph/graph.cjs.map +1 -1
- package/dist/graph/graph.d.cts +4 -28
- package/dist/graph/graph.d.cts.map +1 -1
- package/dist/graph/graph.d.ts +4 -28
- package/dist/graph/graph.d.ts.map +1 -1
- package/dist/graph/graph.js +4 -6
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/message.cjs +8 -10
- package/dist/graph/message.cjs.map +1 -1
- package/dist/graph/message.d.cts +2 -2
- package/dist/graph/message.d.cts.map +1 -1
- package/dist/graph/message.d.ts +2 -2
- package/dist/graph/message.d.ts.map +1 -1
- package/dist/graph/message.js +3 -4
- package/dist/graph/message.js.map +1 -1
- package/dist/graph/messages_annotation.cjs +1 -2
- package/dist/graph/messages_annotation.cjs.map +1 -1
- package/dist/graph/messages_annotation.d.cts +5 -5
- package/dist/graph/messages_annotation.d.cts.map +1 -1
- package/dist/graph/messages_annotation.d.ts +5 -5
- package/dist/graph/messages_annotation.d.ts.map +1 -1
- package/dist/graph/messages_annotation.js.map +1 -1
- package/dist/graph/state.cjs +23 -30
- package/dist/graph/state.cjs.map +1 -1
- package/dist/graph/state.d.cts +2 -9
- package/dist/graph/state.d.cts.map +1 -1
- package/dist/graph/state.d.ts +2 -9
- package/dist/graph/state.d.ts.map +1 -1
- package/dist/graph/state.js +6 -12
- package/dist/graph/state.js.map +1 -1
- package/dist/graph/zod/meta.cjs +8 -9
- package/dist/graph/zod/meta.cjs.map +1 -1
- package/dist/graph/zod/meta.d.cts +0 -1
- package/dist/graph/zod/meta.d.cts.map +1 -1
- package/dist/graph/zod/meta.d.ts +0 -1
- package/dist/graph/zod/meta.d.ts.map +1 -1
- package/dist/graph/zod/meta.js.map +1 -1
- package/dist/graph/zod/plugin.cjs +4 -6
- package/dist/graph/zod/plugin.cjs.map +1 -1
- package/dist/graph/zod/plugin.js +1 -2
- package/dist/graph/zod/plugin.js.map +1 -1
- package/dist/graph/zod/schema.cjs +2 -3
- package/dist/graph/zod/schema.cjs.map +1 -1
- package/dist/graph/zod/schema.d.cts.map +1 -1
- package/dist/graph/zod/schema.d.ts.map +1 -1
- package/dist/graph/zod/schema.js.map +1 -1
- package/dist/graph/zod/zod-registry.cjs +3 -4
- package/dist/graph/zod/zod-registry.cjs.map +1 -1
- package/dist/graph/zod/zod-registry.d.cts +0 -2
- package/dist/graph/zod/zod-registry.d.cts.map +1 -1
- package/dist/graph/zod/zod-registry.d.ts +0 -2
- package/dist/graph/zod/zod-registry.d.ts.map +1 -1
- package/dist/graph/zod/zod-registry.js.map +1 -1
- package/dist/hash.cjs +4 -10
- package/dist/hash.cjs.map +1 -1
- package/dist/hash.js +4 -10
- package/dist/hash.js.map +1 -1
- package/dist/index.cjs +8 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interrupt.cjs +4 -7
- package/dist/interrupt.cjs.map +1 -1
- package/dist/interrupt.d.cts +1 -4
- package/dist/interrupt.d.cts.map +1 -1
- package/dist/interrupt.d.ts +1 -4
- package/dist/interrupt.d.ts.map +1 -1
- package/dist/interrupt.js +2 -4
- package/dist/interrupt.js.map +1 -1
- package/dist/prebuilt/agentName.cjs +14 -19
- package/dist/prebuilt/agentName.cjs.map +1 -1
- package/dist/prebuilt/agentName.js +6 -10
- package/dist/prebuilt/agentName.js.map +1 -1
- package/dist/prebuilt/agent_executor.cjs +4 -7
- package/dist/prebuilt/agent_executor.cjs.map +1 -1
- package/dist/prebuilt/agent_executor.d.cts +5 -5
- package/dist/prebuilt/agent_executor.d.cts.map +1 -1
- package/dist/prebuilt/agent_executor.d.ts +5 -5
- package/dist/prebuilt/agent_executor.d.ts.map +1 -1
- package/dist/prebuilt/agent_executor.js +4 -7
- package/dist/prebuilt/agent_executor.js.map +1 -1
- package/dist/prebuilt/chat_agent_executor.cjs +11 -17
- package/dist/prebuilt/chat_agent_executor.cjs.map +1 -1
- package/dist/prebuilt/chat_agent_executor.d.cts.map +1 -1
- package/dist/prebuilt/chat_agent_executor.d.ts.map +1 -1
- package/dist/prebuilt/chat_agent_executor.js +7 -12
- package/dist/prebuilt/chat_agent_executor.js.map +1 -1
- package/dist/prebuilt/interrupt.d.cts +0 -1
- package/dist/prebuilt/interrupt.d.cts.map +1 -1
- package/dist/prebuilt/interrupt.d.ts +0 -1
- package/dist/prebuilt/interrupt.d.ts.map +1 -1
- package/dist/prebuilt/react_agent_executor.cjs +35 -40
- package/dist/prebuilt/react_agent_executor.cjs.map +1 -1
- package/dist/prebuilt/react_agent_executor.d.cts +8 -27
- package/dist/prebuilt/react_agent_executor.d.cts.map +1 -1
- package/dist/prebuilt/react_agent_executor.d.ts +8 -27
- package/dist/prebuilt/react_agent_executor.d.ts.map +1 -1
- package/dist/prebuilt/react_agent_executor.js +8 -12
- package/dist/prebuilt/react_agent_executor.js.map +1 -1
- package/dist/prebuilt/tool_executor.cjs +4 -9
- package/dist/prebuilt/tool_executor.cjs.map +1 -1
- package/dist/prebuilt/tool_executor.d.cts +0 -2
- package/dist/prebuilt/tool_executor.d.cts.map +1 -1
- package/dist/prebuilt/tool_executor.d.ts +0 -2
- package/dist/prebuilt/tool_executor.d.ts.map +1 -1
- package/dist/prebuilt/tool_executor.js +1 -5
- package/dist/prebuilt/tool_executor.js.map +1 -1
- package/dist/prebuilt/tool_node.cjs +7 -8
- package/dist/prebuilt/tool_node.cjs.map +1 -1
- package/dist/prebuilt/tool_node.d.cts +0 -2
- package/dist/prebuilt/tool_node.d.cts.map +1 -1
- package/dist/prebuilt/tool_node.d.ts +0 -2
- package/dist/prebuilt/tool_node.d.ts.map +1 -1
- package/dist/prebuilt/tool_node.js.map +1 -1
- package/dist/pregel/algo.cjs +33 -41
- package/dist/pregel/algo.cjs.map +1 -1
- package/dist/pregel/algo.d.cts.map +1 -1
- package/dist/pregel/algo.d.ts.map +1 -1
- package/dist/pregel/algo.js +22 -29
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/call.cjs +11 -14
- package/dist/pregel/call.cjs.map +1 -1
- package/dist/pregel/call.js +7 -9
- package/dist/pregel/call.js.map +1 -1
- package/dist/pregel/debug.cjs +6 -9
- package/dist/pregel/debug.cjs.map +1 -1
- package/dist/pregel/debug.js +6 -9
- package/dist/pregel/debug.js.map +1 -1
- package/dist/pregel/index.cjs +28 -35
- package/dist/pregel/index.cjs.map +1 -1
- package/dist/pregel/index.d.cts +6 -54
- package/dist/pregel/index.d.cts.map +1 -1
- package/dist/pregel/index.d.ts +6 -54
- package/dist/pregel/index.d.ts.map +1 -1
- package/dist/pregel/index.js +10 -16
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/io.cjs.map +1 -1
- package/dist/pregel/io.js.map +1 -1
- package/dist/pregel/loop.cjs +9 -12
- package/dist/pregel/loop.cjs.map +1 -1
- package/dist/pregel/loop.js +2 -4
- package/dist/pregel/loop.js.map +1 -1
- package/dist/pregel/messages.cjs +13 -14
- package/dist/pregel/messages.cjs.map +1 -1
- package/dist/pregel/messages.js.map +1 -1
- package/dist/pregel/read.cjs +7 -8
- package/dist/pregel/read.cjs.map +1 -1
- package/dist/pregel/read.d.cts +0 -6
- package/dist/pregel/read.d.cts.map +1 -1
- package/dist/pregel/read.d.ts +0 -6
- package/dist/pregel/read.d.ts.map +1 -1
- package/dist/pregel/read.js +1 -1
- package/dist/pregel/read.js.map +1 -1
- package/dist/pregel/remote.cjs +24 -32
- package/dist/pregel/remote.cjs.map +1 -1
- package/dist/pregel/remote.d.cts +1 -6
- package/dist/pregel/remote.d.cts.map +1 -1
- package/dist/pregel/remote.d.ts +1 -6
- package/dist/pregel/remote.d.ts.map +1 -1
- package/dist/pregel/remote.js +12 -19
- package/dist/pregel/remote.js.map +1 -1
- package/dist/pregel/retry.cjs +1 -2
- package/dist/pregel/retry.cjs.map +1 -1
- package/dist/pregel/retry.js +1 -2
- package/dist/pregel/retry.js.map +1 -1
- package/dist/pregel/runnable_types.d.cts +2 -8
- package/dist/pregel/runnable_types.d.cts.map +1 -1
- package/dist/pregel/runnable_types.d.ts +2 -8
- package/dist/pregel/runnable_types.d.ts.map +1 -1
- package/dist/pregel/runner.cjs +1 -1
- package/dist/pregel/runner.cjs.map +1 -1
- package/dist/pregel/runner.js +1 -1
- package/dist/pregel/runner.js.map +1 -1
- package/dist/pregel/stream.cjs +4 -6
- package/dist/pregel/stream.cjs.map +1 -1
- package/dist/pregel/stream.js +1 -2
- package/dist/pregel/stream.js.map +1 -1
- package/dist/pregel/types.d.cts +5 -18
- package/dist/pregel/types.d.cts.map +1 -1
- package/dist/pregel/types.d.ts +5 -18
- package/dist/pregel/types.d.ts.map +1 -1
- package/dist/pregel/utils/config.cjs +6 -7
- package/dist/pregel/utils/config.cjs.map +1 -1
- package/dist/pregel/utils/config.d.cts.map +1 -1
- package/dist/pregel/utils/config.d.ts.map +1 -1
- package/dist/pregel/utils/config.js.map +1 -1
- package/dist/pregel/utils/index.cjs +1 -2
- package/dist/pregel/utils/index.cjs.map +1 -1
- package/dist/pregel/utils/index.d.cts +1 -1
- package/dist/pregel/utils/index.d.cts.map +1 -1
- package/dist/pregel/utils/index.d.ts +1 -1
- package/dist/pregel/utils/index.d.ts.map +1 -1
- package/dist/pregel/utils/index.js +1 -2
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/pregel/utils/subgraph.cjs +0 -1
- package/dist/pregel/utils/subgraph.cjs.map +1 -1
- package/dist/pregel/utils/subgraph.js +0 -1
- package/dist/pregel/utils/subgraph.js.map +1 -1
- package/dist/pregel/validate.cjs.map +1 -1
- package/dist/pregel/validate.js.map +1 -1
- package/dist/pregel/write.cjs +2 -3
- package/dist/pregel/write.cjs.map +1 -1
- package/dist/pregel/write.d.cts +1 -5
- package/dist/pregel/write.d.cts.map +1 -1
- package/dist/pregel/write.d.ts +1 -5
- package/dist/pregel/write.d.ts.map +1 -1
- package/dist/pregel/write.js.map +1 -1
- package/dist/setup/async_local_storage.cjs +3 -4
- package/dist/setup/async_local_storage.cjs.map +1 -1
- package/dist/setup/async_local_storage.js.map +1 -1
- package/dist/utils.cjs +9 -11
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +1 -8
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.ts +1 -8
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -2
- package/dist/utils.js.map +1 -1
- package/dist/web.cjs +8 -9
- package/dist/writer.cjs +2 -3
- package/dist/writer.cjs.map +1 -1
- package/dist/writer.d.cts +1 -2
- package/dist/writer.d.cts.map +1 -1
- package/dist/writer.d.ts +1 -2
- package/dist/writer.d.ts.map +1 -1
- package/dist/writer.js.map +1 -1
- package/package.json +7 -7
- package/CHANGELOG.md +0 -286
- package/dist/_virtual/rolldown_runtime.cjs +0 -25
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
1
|
const require_meta = require('./meta.cjs');
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
let _langchain_core_utils_types = require("@langchain/core/utils/types");
|
|
3
|
+
let zod_v3 = require("zod/v3");
|
|
4
|
+
let zod = require("zod");
|
|
6
5
|
|
|
7
6
|
//#region src/graph/zod/plugin.ts
|
|
8
7
|
const metaSymbol = Symbol.for("langgraph-zod");
|
|
@@ -17,9 +16,8 @@ function applyPluginPrototype(prototype) {
|
|
|
17
16
|
return require_meta.withLangGraph(zodThis, { jsonSchemaExtra });
|
|
18
17
|
},
|
|
19
18
|
reducer(fn, schema) {
|
|
20
|
-
const defaultFn = (0, __langchain_core_utils_types.getInteropZodDefaultGetter)(zodThis);
|
|
21
19
|
return require_meta.withLangGraph(zodThis, {
|
|
22
|
-
default:
|
|
20
|
+
default: (0, _langchain_core_utils_types.getInteropZodDefaultGetter)(zodThis),
|
|
23
21
|
reducer: {
|
|
24
22
|
schema,
|
|
25
23
|
fn
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs","names":["withLangGraph","z3","zd"],"sources":["../../../src/graph/zod/plugin.ts"],"sourcesContent":["import { z as zd } from \"zod\";\nimport { z as z3 } from \"zod/v3\";\nimport {
|
|
1
|
+
{"version":3,"file":"plugin.cjs","names":["withLangGraph","z3","zd"],"sources":["../../../src/graph/zod/plugin.ts"],"sourcesContent":["import { z as zd } from \"zod\";\nimport { z as z3 } from \"zod/v3\";\nimport {\n getInteropZodDefaultGetter,\n InteropZodType,\n} from \"@langchain/core/utils/types\";\nimport { SchemaMeta, withLangGraph } from \"./meta.js\";\n\nconst metaSymbol = Symbol.for(\"langgraph-zod\");\n\ninterface ZodLangGraphTypes<T, Output> {\n // Overload 1: with explicit reducer schema - captures input type from the schema\n reducer<TReducerSchema extends { _output: unknown }>(\n transform: (a: Output, arg: TReducerSchema[\"_output\"]) => Output,\n options: TReducerSchema\n ): T & { lg_reducer_schema: TReducerSchema };\n\n // Overload 2: without reducer schema - uses Output as input type\n reducer(\n transform: (a: Output, arg: Output) => Output\n ): T & { lg_reducer_schema: T };\n\n metadata(payload: {\n langgraph_nodes?: string[];\n langgraph_type?: \"prompt\";\n\n [key: string]: unknown;\n }): T;\n}\n\ndeclare module \"zod\" {\n interface ZodType<Output> {\n /**\n * @deprecated Using the langgraph zod plugin is deprecated and will be removed in future versions\n * Consider upgrading to zod 4 and using the exported langgraph meta registry. {@link langgraphRegistry}\n */\n langgraph: ZodLangGraphTypes<this, Output>;\n }\n}\n\ndeclare module \"zod/v3\" {\n interface ZodType<Output> {\n /**\n * @deprecated Using the langgraph zod plugin is deprecated and will be removed in future versions\n * Consider upgrading to zod 4 and using the exported langgraph meta registry. {@link langgraphRegistry}\n */\n langgraph: ZodLangGraphTypes<this, Output>;\n }\n}\n\ninterface PluginGlobalType {\n [metaSymbol]?: WeakSet<object>;\n}\n\nif (!(metaSymbol in globalThis)) {\n (globalThis as PluginGlobalType)[metaSymbol] = new WeakSet();\n}\n\nfunction applyPluginPrototype(prototype: object) {\n const cache = (globalThis as PluginGlobalType)[metaSymbol]!;\n if (cache.has(prototype)) {\n return; // Already applied\n }\n\n Object.defineProperty(prototype, \"langgraph\", {\n get(this: InteropZodType) {\n // Actual return type is provided by module augmentation\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const zodThis = this;\n\n return {\n metadata(jsonSchemaExtra: SchemaMeta[\"jsonSchemaExtra\"]) {\n return withLangGraph(zodThis, { jsonSchemaExtra });\n },\n reducer(\n fn: (a: unknown, arg: unknown) => unknown,\n schema?: InteropZodType\n ) {\n const defaultFn = getInteropZodDefaultGetter(zodThis);\n return withLangGraph(zodThis, {\n default: defaultFn,\n reducer: { schema, fn },\n });\n },\n };\n },\n });\n cache.add(prototype);\n}\n\ntry {\n applyPluginPrototype(z3.ZodType.prototype);\n applyPluginPrototype(zd.ZodType.prototype);\n} catch (error) {\n throw new Error(\n \"Failed to extend Zod with LangGraph-related methods. This is most likely a bug, consider opening an issue and/or using `withLangGraph` to augment your Zod schema.\",\n { cause: error }\n );\n}\n"],"mappings":";;;;;;AAQA,MAAM,aAAa,OAAO,IAAI,gBAAgB;AA8C9C,IAAI,EAAE,cAAc,YAClB,CAAC,WAAgC,8BAAc,IAAI,SAAS;AAG9D,SAAS,qBAAqB,WAAmB;CAC/C,MAAM,QAAS,WAAgC;AAC/C,KAAI,MAAM,IAAI,UAAU,CACtB;AAGF,QAAO,eAAe,WAAW,aAAa,EAC5C,MAA0B;EAGxB,MAAM,UAAU;AAEhB,SAAO;GACL,SAAS,iBAAgD;AACvD,WAAOA,2BAAc,SAAS,EAAE,iBAAiB,CAAC;;GAEpD,QACE,IACA,QACA;AAEA,WAAOA,2BAAc,SAAS;KAC5B,qEAF2C,QAAQ;KAGnD,SAAS;MAAE;MAAQ;MAAI;KACxB,CAAC;;GAEL;IAEJ,CAAC;AACF,OAAM,IAAI,UAAU;;AAGtB,IAAI;AACF,sBAAqBC,SAAG,QAAQ,UAAU;AAC1C,sBAAqBC,MAAG,QAAQ,UAAU;SACnC,OAAO;AACd,OAAM,IAAI,MACR,sKACA,EAAE,OAAO,OAAO,CACjB"}
|
package/dist/graph/zod/plugin.js
CHANGED
|
@@ -16,9 +16,8 @@ function applyPluginPrototype(prototype) {
|
|
|
16
16
|
return withLangGraph(zodThis, { jsonSchemaExtra });
|
|
17
17
|
},
|
|
18
18
|
reducer(fn, schema) {
|
|
19
|
-
const defaultFn = getInteropZodDefaultGetter(zodThis);
|
|
20
19
|
return withLangGraph(zodThis, {
|
|
21
|
-
default:
|
|
20
|
+
default: getInteropZodDefaultGetter(zodThis),
|
|
22
21
|
reducer: {
|
|
23
22
|
schema,
|
|
24
23
|
fn
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","names":["z3","zd"],"sources":["../../../src/graph/zod/plugin.ts"],"sourcesContent":["import { z as zd } from \"zod\";\nimport { z as z3 } from \"zod/v3\";\nimport {
|
|
1
|
+
{"version":3,"file":"plugin.js","names":["z3","zd"],"sources":["../../../src/graph/zod/plugin.ts"],"sourcesContent":["import { z as zd } from \"zod\";\nimport { z as z3 } from \"zod/v3\";\nimport {\n getInteropZodDefaultGetter,\n InteropZodType,\n} from \"@langchain/core/utils/types\";\nimport { SchemaMeta, withLangGraph } from \"./meta.js\";\n\nconst metaSymbol = Symbol.for(\"langgraph-zod\");\n\ninterface ZodLangGraphTypes<T, Output> {\n // Overload 1: with explicit reducer schema - captures input type from the schema\n reducer<TReducerSchema extends { _output: unknown }>(\n transform: (a: Output, arg: TReducerSchema[\"_output\"]) => Output,\n options: TReducerSchema\n ): T & { lg_reducer_schema: TReducerSchema };\n\n // Overload 2: without reducer schema - uses Output as input type\n reducer(\n transform: (a: Output, arg: Output) => Output\n ): T & { lg_reducer_schema: T };\n\n metadata(payload: {\n langgraph_nodes?: string[];\n langgraph_type?: \"prompt\";\n\n [key: string]: unknown;\n }): T;\n}\n\ndeclare module \"zod\" {\n interface ZodType<Output> {\n /**\n * @deprecated Using the langgraph zod plugin is deprecated and will be removed in future versions\n * Consider upgrading to zod 4 and using the exported langgraph meta registry. {@link langgraphRegistry}\n */\n langgraph: ZodLangGraphTypes<this, Output>;\n }\n}\n\ndeclare module \"zod/v3\" {\n interface ZodType<Output> {\n /**\n * @deprecated Using the langgraph zod plugin is deprecated and will be removed in future versions\n * Consider upgrading to zod 4 and using the exported langgraph meta registry. {@link langgraphRegistry}\n */\n langgraph: ZodLangGraphTypes<this, Output>;\n }\n}\n\ninterface PluginGlobalType {\n [metaSymbol]?: WeakSet<object>;\n}\n\nif (!(metaSymbol in globalThis)) {\n (globalThis as PluginGlobalType)[metaSymbol] = new WeakSet();\n}\n\nfunction applyPluginPrototype(prototype: object) {\n const cache = (globalThis as PluginGlobalType)[metaSymbol]!;\n if (cache.has(prototype)) {\n return; // Already applied\n }\n\n Object.defineProperty(prototype, \"langgraph\", {\n get(this: InteropZodType) {\n // Actual return type is provided by module augmentation\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const zodThis = this;\n\n return {\n metadata(jsonSchemaExtra: SchemaMeta[\"jsonSchemaExtra\"]) {\n return withLangGraph(zodThis, { jsonSchemaExtra });\n },\n reducer(\n fn: (a: unknown, arg: unknown) => unknown,\n schema?: InteropZodType\n ) {\n const defaultFn = getInteropZodDefaultGetter(zodThis);\n return withLangGraph(zodThis, {\n default: defaultFn,\n reducer: { schema, fn },\n });\n },\n };\n },\n });\n cache.add(prototype);\n}\n\ntry {\n applyPluginPrototype(z3.ZodType.prototype);\n applyPluginPrototype(zd.ZodType.prototype);\n} catch (error) {\n throw new Error(\n \"Failed to extend Zod with LangGraph-related methods. This is most likely a bug, consider opening an issue and/or using `withLangGraph` to augment your Zod schema.\",\n { cause: error }\n );\n}\n"],"mappings":";;;;;;AAQA,MAAM,aAAa,OAAO,IAAI,gBAAgB;AA8C9C,IAAI,EAAE,cAAc,YAClB,CAAC,WAAgC,8BAAc,IAAI,SAAS;AAG9D,SAAS,qBAAqB,WAAmB;CAC/C,MAAM,QAAS,WAAgC;AAC/C,KAAI,MAAM,IAAI,UAAU,CACtB;AAGF,QAAO,eAAe,WAAW,aAAa,EAC5C,MAA0B;EAGxB,MAAM,UAAU;AAEhB,SAAO;GACL,SAAS,iBAAgD;AACvD,WAAO,cAAc,SAAS,EAAE,iBAAiB,CAAC;;GAEpD,QACE,IACA,QACA;AAEA,WAAO,cAAc,SAAS;KAC5B,SAFgB,2BAA2B,QAAQ;KAGnD,SAAS;MAAE;MAAQ;MAAI;KACxB,CAAC;;GAEL;IAEJ,CAAC;AACF,OAAM,IAAI,UAAU;;AAGtB,IAAI;AACF,sBAAqBA,EAAG,QAAQ,UAAU;AAC1C,sBAAqBC,IAAG,QAAQ,UAAU;SACnC,OAAO;AACd,OAAM,IAAI,MACR,sKACA,EAAE,OAAO,OAAO,CACjB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
1
|
const require_meta = require('./meta.cjs');
|
|
3
|
-
|
|
2
|
+
let _langchain_core_utils_json_schema = require("@langchain/core/utils/json_schema");
|
|
4
3
|
|
|
5
4
|
//#region src/graph/zod/schema.ts
|
|
6
5
|
const PartialStateSchema = Symbol.for("langgraph.state.partial");
|
|
@@ -23,7 +22,7 @@ function applyJsonSchemaExtrasFromDescription(schema) {
|
|
|
23
22
|
return schema;
|
|
24
23
|
}
|
|
25
24
|
function toJsonSchema(schema) {
|
|
26
|
-
return applyJsonSchemaExtrasFromDescription((0,
|
|
25
|
+
return applyJsonSchemaExtrasFromDescription((0, _langchain_core_utils_json_schema.toJsonSchema)(schema));
|
|
27
26
|
}
|
|
28
27
|
/**
|
|
29
28
|
* Get the state schema for a graph.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.cjs","names":["META_EXTRAS_DESCRIPTION_PREFIX","schemaMetaRegistry"],"sources":["../../../src/graph/zod/schema.ts"],"sourcesContent":["import {\n type JSONSchema,\n toJsonSchema as interopToJsonSchema,\n} from \"@langchain/core/utils/json_schema\";\nimport { InteropZodObject } from \"@langchain/core/utils/types\";\nimport {\n META_EXTRAS_DESCRIPTION_PREFIX,\n SchemaMetaRegistry,\n schemaMetaRegistry,\n} from \"./meta.js\";\n\nconst PartialStateSchema = Symbol.for(\"langgraph.state.partial\");\ntype PartialStateSchema = typeof PartialStateSchema;\n\ninterface GraphWithZodLike {\n builder: {\n _schemaRuntimeDefinition: InteropZodObject | undefined;\n _inputRuntimeDefinition: InteropZodObject | PartialStateSchema | undefined;\n _outputRuntimeDefinition: InteropZodObject | undefined;\n _configRuntimeSchema: InteropZodObject | undefined;\n };\n}\n\nfunction isGraphWithZodLike(graph: unknown): graph is GraphWithZodLike {\n if (!graph || typeof graph !== \"object\") return false;\n if (\n !(\"builder\" in graph) ||\n typeof graph.builder !== \"object\" ||\n graph.builder == null\n ) {\n return false;\n }\n return true;\n}\n\nfunction applyJsonSchemaExtrasFromDescription<T>(schema: T): unknown {\n if (Array.isArray(schema)) {\n return schema.map(applyJsonSchemaExtrasFromDescription);\n }\n if (typeof schema === \"object\" && schema != null) {\n const output = Object.fromEntries(\n Object.entries(schema).map(([key, value]) => [\n key,\n applyJsonSchemaExtrasFromDescription(value),\n ])\n );\n\n if (\n \"description\" in output &&\n typeof output.description === \"string\" &&\n output.description.startsWith(META_EXTRAS_DESCRIPTION_PREFIX)\n ) {\n const strMeta = output.description.slice(\n META_EXTRAS_DESCRIPTION_PREFIX.length\n );\n delete output.description;\n Object.assign(output, JSON.parse(strMeta));\n }\n\n return output as T;\n }\n return schema;\n}\n\nfunction toJsonSchema(schema: InteropZodObject): JSONSchema {\n return applyJsonSchemaExtrasFromDescription(\n interopToJsonSchema(schema)\n ) as JSONSchema;\n}\n\n/**\n * Get the state schema for a graph.\n * @param graph - The graph to get the state schema for.\n * @returns The state schema for the graph.\n */\nexport function getStateTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._schemaRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n\n/**\n * Get the update schema for a graph.\n * @param graph - The graph to get the update schema for.\n * @returns The update schema for the graph.\n */\nexport function getUpdateTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._schemaRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withReducerSchema: true,\n withJsonSchemaExtrasAsDescription: true,\n asPartial: true,\n })\n );\n}\n\n/**\n * Get the input schema for a graph.\n * @param graph - The graph to get the input schema for.\n * @returns The input schema for the graph.\n */\nexport function getInputTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n let schemaDef = graph.builder._inputRuntimeDefinition;\n if (schemaDef === PartialStateSchema) {\n // No need to pass `.partial()` here, that's being done by `applyPlugin`\n schemaDef = graph.builder._schemaRuntimeDefinition;\n }\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withReducerSchema: true,\n withJsonSchemaExtrasAsDescription: true,\n asPartial: true,\n })\n );\n}\n\n/**\n * Get the output schema for a graph.\n * @param graph - The graph to get the output schema for.\n * @returns The output schema for the graph.\n */\nexport function getOutputTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._outputRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n\n/**\n * Get the config schema for a graph.\n * @param graph - The graph to get the config schema for.\n * @returns The config schema for the graph.\n */\nexport function getConfigTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const configDef = graph.builder._configRuntimeSchema;\n if (!configDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(configDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.cjs","names":["META_EXTRAS_DESCRIPTION_PREFIX","schemaMetaRegistry"],"sources":["../../../src/graph/zod/schema.ts"],"sourcesContent":["import {\n type JSONSchema,\n toJsonSchema as interopToJsonSchema,\n} from \"@langchain/core/utils/json_schema\";\nimport { InteropZodObject } from \"@langchain/core/utils/types\";\nimport {\n META_EXTRAS_DESCRIPTION_PREFIX,\n SchemaMetaRegistry,\n schemaMetaRegistry,\n} from \"./meta.js\";\n\nconst PartialStateSchema = Symbol.for(\"langgraph.state.partial\");\ntype PartialStateSchema = typeof PartialStateSchema;\n\ninterface GraphWithZodLike {\n builder: {\n _schemaRuntimeDefinition: InteropZodObject | undefined;\n _inputRuntimeDefinition: InteropZodObject | PartialStateSchema | undefined;\n _outputRuntimeDefinition: InteropZodObject | undefined;\n _configRuntimeSchema: InteropZodObject | undefined;\n };\n}\n\nfunction isGraphWithZodLike(graph: unknown): graph is GraphWithZodLike {\n if (!graph || typeof graph !== \"object\") return false;\n if (\n !(\"builder\" in graph) ||\n typeof graph.builder !== \"object\" ||\n graph.builder == null\n ) {\n return false;\n }\n return true;\n}\n\nfunction applyJsonSchemaExtrasFromDescription<T>(schema: T): unknown {\n if (Array.isArray(schema)) {\n return schema.map(applyJsonSchemaExtrasFromDescription);\n }\n if (typeof schema === \"object\" && schema != null) {\n const output = Object.fromEntries(\n Object.entries(schema).map(([key, value]) => [\n key,\n applyJsonSchemaExtrasFromDescription(value),\n ])\n );\n\n if (\n \"description\" in output &&\n typeof output.description === \"string\" &&\n output.description.startsWith(META_EXTRAS_DESCRIPTION_PREFIX)\n ) {\n const strMeta = output.description.slice(\n META_EXTRAS_DESCRIPTION_PREFIX.length\n );\n delete output.description;\n Object.assign(output, JSON.parse(strMeta));\n }\n\n return output as T;\n }\n return schema;\n}\n\nfunction toJsonSchema(schema: InteropZodObject): JSONSchema {\n return applyJsonSchemaExtrasFromDescription(\n interopToJsonSchema(schema)\n ) as JSONSchema;\n}\n\n/**\n * Get the state schema for a graph.\n * @param graph - The graph to get the state schema for.\n * @returns The state schema for the graph.\n */\nexport function getStateTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._schemaRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n\n/**\n * Get the update schema for a graph.\n * @param graph - The graph to get the update schema for.\n * @returns The update schema for the graph.\n */\nexport function getUpdateTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._schemaRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withReducerSchema: true,\n withJsonSchemaExtrasAsDescription: true,\n asPartial: true,\n })\n );\n}\n\n/**\n * Get the input schema for a graph.\n * @param graph - The graph to get the input schema for.\n * @returns The input schema for the graph.\n */\nexport function getInputTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n let schemaDef = graph.builder._inputRuntimeDefinition;\n if (schemaDef === PartialStateSchema) {\n // No need to pass `.partial()` here, that's being done by `applyPlugin`\n schemaDef = graph.builder._schemaRuntimeDefinition;\n }\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withReducerSchema: true,\n withJsonSchemaExtrasAsDescription: true,\n asPartial: true,\n })\n );\n}\n\n/**\n * Get the output schema for a graph.\n * @param graph - The graph to get the output schema for.\n * @returns The output schema for the graph.\n */\nexport function getOutputTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._outputRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n\n/**\n * Get the config schema for a graph.\n * @param graph - The graph to get the config schema for.\n * @returns The config schema for the graph.\n */\nexport function getConfigTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const configDef = graph.builder._configRuntimeSchema;\n if (!configDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(configDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n"],"mappings":";;;;AAWA,MAAM,qBAAqB,OAAO,IAAI,0BAA0B;AAYhE,SAAS,mBAAmB,OAA2C;AACrE,KAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,KACE,EAAE,aAAa,UACf,OAAO,MAAM,YAAY,YACzB,MAAM,WAAW,KAEjB,QAAO;AAET,QAAO;;AAGT,SAAS,qCAAwC,QAAoB;AACnE,KAAI,MAAM,QAAQ,OAAO,CACvB,QAAO,OAAO,IAAI,qCAAqC;AAEzD,KAAI,OAAO,WAAW,YAAY,UAAU,MAAM;EAChD,MAAM,SAAS,OAAO,YACpB,OAAO,QAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,WAAW,CAC3C,KACA,qCAAqC,MAAM,CAC5C,CAAC,CACH;AAED,MACE,iBAAiB,UACjB,OAAO,OAAO,gBAAgB,YAC9B,OAAO,YAAY,WAAWA,4CAA+B,EAC7D;GACA,MAAM,UAAU,OAAO,YAAY,MACjCA,4CAA+B,OAChC;AACD,UAAO,OAAO;AACd,UAAO,OAAO,QAAQ,KAAK,MAAM,QAAQ,CAAC;;AAG5C,SAAO;;AAET,QAAO;;AAGT,SAAS,aAAa,QAAsC;AAC1D,QAAO,yFACe,OAAO,CAC5B;;;;;;;AAQH,SAAgB,mBACd,OACA,WAA+BC,iCACP;AACxB,KAAI,CAAC,mBAAmB,MAAM,CAAE,QAAO;CACvC,MAAM,YAAY,MAAM,QAAQ;AAChC,KAAI,CAAC,UAAW,QAAO;AAEvB,QAAO,aACL,SAAS,0BAA0B,WAAW,EAC5C,mCAAmC,MACpC,CAAC,CACH;;;;;;;AAQH,SAAgB,oBACd,OACA,WAA+BA,iCACP;AACxB,KAAI,CAAC,mBAAmB,MAAM,CAAE,QAAO;CACvC,MAAM,YAAY,MAAM,QAAQ;AAChC,KAAI,CAAC,UAAW,QAAO;AAEvB,QAAO,aACL,SAAS,0BAA0B,WAAW;EAC5C,mBAAmB;EACnB,mCAAmC;EACnC,WAAW;EACZ,CAAC,CACH;;;;;;;AAQH,SAAgB,mBACd,OACA,WAA+BA,iCACP;AACxB,KAAI,CAAC,mBAAmB,MAAM,CAAE,QAAO;CACvC,IAAI,YAAY,MAAM,QAAQ;AAC9B,KAAI,cAAc,mBAEhB,aAAY,MAAM,QAAQ;AAE5B,KAAI,CAAC,UAAW,QAAO;AAEvB,QAAO,aACL,SAAS,0BAA0B,WAAW;EAC5C,mBAAmB;EACnB,mCAAmC;EACnC,WAAW;EACZ,CAAC,CACH;;;;;;;AAQH,SAAgB,oBACd,OACA,WAA+BA,iCACP;AACxB,KAAI,CAAC,mBAAmB,MAAM,CAAE,QAAO;CACvC,MAAM,YAAY,MAAM,QAAQ;AAChC,KAAI,CAAC,UAAW,QAAO;AAEvB,QAAO,aACL,SAAS,0BAA0B,WAAW,EAC5C,mCAAmC,MACpC,CAAC,CACH;;;;;;;AAQH,SAAgB,oBACd,OACA,WAA+BA,iCACP;AACxB,KAAI,CAAC,mBAAmB,MAAM,CAAE,QAAO;CACvC,MAAM,YAAY,MAAM,QAAQ;AAChC,KAAI,CAAC,UAAW,QAAO;AAEvB,QAAO,aACL,SAAS,0BAA0B,WAAW,EAC5C,mCAAmC,MACpC,CAAC,CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.cts","names":["JSONSchema","SchemaMetaRegistry","getStateTypeSchema","getUpdateTypeSchema","getInputTypeSchema","getOutputTypeSchema","getConfigTypeSchema"],"sources":["../../../src/graph/zod/schema.d.ts"],"sourcesContent":["import { type JSONSchema } from \"@langchain/core/utils/json_schema\";\nimport { SchemaMetaRegistry } from \"./meta.js\";\n/**\n * Get the state schema for a graph.\n * @param graph - The graph to get the state schema for.\n * @returns The state schema for the graph.\n */\nexport declare function getStateTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the update schema for a graph.\n * @param graph - The graph to get the update schema for.\n * @returns The update schema for the graph.\n */\nexport declare function getUpdateTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the input schema for a graph.\n * @param graph - The graph to get the input schema for.\n * @returns The input schema for the graph.\n */\nexport declare function getInputTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the output schema for a graph.\n * @param graph - The graph to get the output schema for.\n * @returns The output schema for the graph.\n */\nexport declare function getOutputTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the config schema for a graph.\n * @param graph - The graph to get the config schema for.\n * @returns The config schema for the graph.\n */\nexport declare function getConfigTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n"],"mappings":";;;;;;;AAOA;;;AAA2FA,iBAAnEE,kBAAAA,CAAmEF,KAAAA,EAAAA,OAAAA,EAAAA,QAAAA,CAAAA,EAArBC,kBAAqBD,CAAAA,EAAAA,UAAAA,GAAAA,SAAAA;;AAM3F;;;;
|
|
1
|
+
{"version":3,"file":"schema.d.cts","names":["JSONSchema","SchemaMetaRegistry","getStateTypeSchema","getUpdateTypeSchema","getInputTypeSchema","getOutputTypeSchema","getConfigTypeSchema"],"sources":["../../../src/graph/zod/schema.d.ts"],"sourcesContent":["import { type JSONSchema } from \"@langchain/core/utils/json_schema\";\nimport { SchemaMetaRegistry } from \"./meta.js\";\n/**\n * Get the state schema for a graph.\n * @param graph - The graph to get the state schema for.\n * @returns The state schema for the graph.\n */\nexport declare function getStateTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the update schema for a graph.\n * @param graph - The graph to get the update schema for.\n * @returns The update schema for the graph.\n */\nexport declare function getUpdateTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the input schema for a graph.\n * @param graph - The graph to get the input schema for.\n * @returns The input schema for the graph.\n */\nexport declare function getInputTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the output schema for a graph.\n * @param graph - The graph to get the output schema for.\n * @returns The output schema for the graph.\n */\nexport declare function getOutputTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the config schema for a graph.\n * @param graph - The graph to get the config schema for.\n * @returns The config schema for the graph.\n */\nexport declare function getConfigTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n"],"mappings":";;;;;;;AAOA;;;AAA2FA,iBAAnEE,kBAAAA,CAAmEF,KAAAA,EAAAA,OAAAA,EAAAA,QAAAA,CAAAA,EAArBC,kBAAqBD,CAAAA,EAAAA,UAAAA,GAAAA,SAAAA;;AAM3F;;;;AAAsG,iBAA9EG,mBAAAA,CAA8E,KAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAA/BF,kBAA+B,CAAA,EAAVD,UAAU,GAAA,SAAA;AAMtG;;;;;AAMwBK,iBANAD,kBAAAA,CAMmB,KAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAN2BH,kBAM3B,CAAA,EANgDD,UAMhD,GAAA,SAAA;;;;;AAM3C;AAA2C,iBANnBK,mBAAAA,CAMmB,KAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAN4BJ,kBAM5B,CAAA,EANiDD,UAMjD,GAAA,SAAA;;;;;;iBAAnBM,mBAAAA,4BAA+CL,qBAAqBD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","names":["JSONSchema","SchemaMetaRegistry","getStateTypeSchema","getUpdateTypeSchema","getInputTypeSchema","getOutputTypeSchema","getConfigTypeSchema"],"sources":["../../../src/graph/zod/schema.d.ts"],"sourcesContent":["import { type JSONSchema } from \"@langchain/core/utils/json_schema\";\nimport { SchemaMetaRegistry } from \"./meta.js\";\n/**\n * Get the state schema for a graph.\n * @param graph - The graph to get the state schema for.\n * @returns The state schema for the graph.\n */\nexport declare function getStateTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the update schema for a graph.\n * @param graph - The graph to get the update schema for.\n * @returns The update schema for the graph.\n */\nexport declare function getUpdateTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the input schema for a graph.\n * @param graph - The graph to get the input schema for.\n * @returns The input schema for the graph.\n */\nexport declare function getInputTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the output schema for a graph.\n * @param graph - The graph to get the output schema for.\n * @returns The output schema for the graph.\n */\nexport declare function getOutputTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the config schema for a graph.\n * @param graph - The graph to get the config schema for.\n * @returns The config schema for the graph.\n */\nexport declare function getConfigTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n"],"mappings":";;;;;;;AAOA;;;AAA2FA,iBAAnEE,kBAAAA,CAAmEF,KAAAA,EAAAA,OAAAA,EAAAA,QAAAA,CAAAA,EAArBC,kBAAqBD,CAAAA,EAAAA,UAAAA,GAAAA,SAAAA;;AAM3F;;;;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","names":["JSONSchema","SchemaMetaRegistry","getStateTypeSchema","getUpdateTypeSchema","getInputTypeSchema","getOutputTypeSchema","getConfigTypeSchema"],"sources":["../../../src/graph/zod/schema.d.ts"],"sourcesContent":["import { type JSONSchema } from \"@langchain/core/utils/json_schema\";\nimport { SchemaMetaRegistry } from \"./meta.js\";\n/**\n * Get the state schema for a graph.\n * @param graph - The graph to get the state schema for.\n * @returns The state schema for the graph.\n */\nexport declare function getStateTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the update schema for a graph.\n * @param graph - The graph to get the update schema for.\n * @returns The update schema for the graph.\n */\nexport declare function getUpdateTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the input schema for a graph.\n * @param graph - The graph to get the input schema for.\n * @returns The input schema for the graph.\n */\nexport declare function getInputTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the output schema for a graph.\n * @param graph - The graph to get the output schema for.\n * @returns The output schema for the graph.\n */\nexport declare function getOutputTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n/**\n * Get the config schema for a graph.\n * @param graph - The graph to get the config schema for.\n * @returns The config schema for the graph.\n */\nexport declare function getConfigTypeSchema(graph: unknown, registry?: SchemaMetaRegistry): JSONSchema | undefined;\n"],"mappings":";;;;;;;AAOA;;;AAA2FA,iBAAnEE,kBAAAA,CAAmEF,KAAAA,EAAAA,OAAAA,EAAAA,QAAAA,CAAAA,EAArBC,kBAAqBD,CAAAA,EAAAA,UAAAA,GAAAA,SAAAA;;AAM3F;;;;AAAsG,iBAA9EG,mBAAAA,CAA8E,KAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAA/BF,kBAA+B,CAAA,EAAVD,UAAU,GAAA,SAAA;AAMtG;;;;;AAMwBK,iBANAD,kBAAAA,CAMmB,KAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAN2BH,kBAM3B,CAAA,EANgDD,UAMhD,GAAA,SAAA;;;;;AAM3C;AAA2C,iBANnBK,mBAAAA,CAMmB,KAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAN4BJ,kBAM5B,CAAA,EANiDD,UAMjD,GAAA,SAAA;;;;;;iBAAnBM,mBAAAA,4BAA+CL,qBAAqBD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","names":["toJsonSchema","interopToJsonSchema"],"sources":["../../../src/graph/zod/schema.ts"],"sourcesContent":["import {\n type JSONSchema,\n toJsonSchema as interopToJsonSchema,\n} from \"@langchain/core/utils/json_schema\";\nimport { InteropZodObject } from \"@langchain/core/utils/types\";\nimport {\n META_EXTRAS_DESCRIPTION_PREFIX,\n SchemaMetaRegistry,\n schemaMetaRegistry,\n} from \"./meta.js\";\n\nconst PartialStateSchema = Symbol.for(\"langgraph.state.partial\");\ntype PartialStateSchema = typeof PartialStateSchema;\n\ninterface GraphWithZodLike {\n builder: {\n _schemaRuntimeDefinition: InteropZodObject | undefined;\n _inputRuntimeDefinition: InteropZodObject | PartialStateSchema | undefined;\n _outputRuntimeDefinition: InteropZodObject | undefined;\n _configRuntimeSchema: InteropZodObject | undefined;\n };\n}\n\nfunction isGraphWithZodLike(graph: unknown): graph is GraphWithZodLike {\n if (!graph || typeof graph !== \"object\") return false;\n if (\n !(\"builder\" in graph) ||\n typeof graph.builder !== \"object\" ||\n graph.builder == null\n ) {\n return false;\n }\n return true;\n}\n\nfunction applyJsonSchemaExtrasFromDescription<T>(schema: T): unknown {\n if (Array.isArray(schema)) {\n return schema.map(applyJsonSchemaExtrasFromDescription);\n }\n if (typeof schema === \"object\" && schema != null) {\n const output = Object.fromEntries(\n Object.entries(schema).map(([key, value]) => [\n key,\n applyJsonSchemaExtrasFromDescription(value),\n ])\n );\n\n if (\n \"description\" in output &&\n typeof output.description === \"string\" &&\n output.description.startsWith(META_EXTRAS_DESCRIPTION_PREFIX)\n ) {\n const strMeta = output.description.slice(\n META_EXTRAS_DESCRIPTION_PREFIX.length\n );\n delete output.description;\n Object.assign(output, JSON.parse(strMeta));\n }\n\n return output as T;\n }\n return schema;\n}\n\nfunction toJsonSchema(schema: InteropZodObject): JSONSchema {\n return applyJsonSchemaExtrasFromDescription(\n interopToJsonSchema(schema)\n ) as JSONSchema;\n}\n\n/**\n * Get the state schema for a graph.\n * @param graph - The graph to get the state schema for.\n * @returns The state schema for the graph.\n */\nexport function getStateTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._schemaRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n\n/**\n * Get the update schema for a graph.\n * @param graph - The graph to get the update schema for.\n * @returns The update schema for the graph.\n */\nexport function getUpdateTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._schemaRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withReducerSchema: true,\n withJsonSchemaExtrasAsDescription: true,\n asPartial: true,\n })\n );\n}\n\n/**\n * Get the input schema for a graph.\n * @param graph - The graph to get the input schema for.\n * @returns The input schema for the graph.\n */\nexport function getInputTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n let schemaDef = graph.builder._inputRuntimeDefinition;\n if (schemaDef === PartialStateSchema) {\n // No need to pass `.partial()` here, that's being done by `applyPlugin`\n schemaDef = graph.builder._schemaRuntimeDefinition;\n }\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withReducerSchema: true,\n withJsonSchemaExtrasAsDescription: true,\n asPartial: true,\n })\n );\n}\n\n/**\n * Get the output schema for a graph.\n * @param graph - The graph to get the output schema for.\n * @returns The output schema for the graph.\n */\nexport function getOutputTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._outputRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n\n/**\n * Get the config schema for a graph.\n * @param graph - The graph to get the config schema for.\n * @returns The config schema for the graph.\n */\nexport function getConfigTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const configDef = graph.builder._configRuntimeSchema;\n if (!configDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(configDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n"],"mappings":";;;;AAWA,MAAM,qBAAqB,OAAO,IAAI;
|
|
1
|
+
{"version":3,"file":"schema.js","names":["toJsonSchema","interopToJsonSchema"],"sources":["../../../src/graph/zod/schema.ts"],"sourcesContent":["import {\n type JSONSchema,\n toJsonSchema as interopToJsonSchema,\n} from \"@langchain/core/utils/json_schema\";\nimport { InteropZodObject } from \"@langchain/core/utils/types\";\nimport {\n META_EXTRAS_DESCRIPTION_PREFIX,\n SchemaMetaRegistry,\n schemaMetaRegistry,\n} from \"./meta.js\";\n\nconst PartialStateSchema = Symbol.for(\"langgraph.state.partial\");\ntype PartialStateSchema = typeof PartialStateSchema;\n\ninterface GraphWithZodLike {\n builder: {\n _schemaRuntimeDefinition: InteropZodObject | undefined;\n _inputRuntimeDefinition: InteropZodObject | PartialStateSchema | undefined;\n _outputRuntimeDefinition: InteropZodObject | undefined;\n _configRuntimeSchema: InteropZodObject | undefined;\n };\n}\n\nfunction isGraphWithZodLike(graph: unknown): graph is GraphWithZodLike {\n if (!graph || typeof graph !== \"object\") return false;\n if (\n !(\"builder\" in graph) ||\n typeof graph.builder !== \"object\" ||\n graph.builder == null\n ) {\n return false;\n }\n return true;\n}\n\nfunction applyJsonSchemaExtrasFromDescription<T>(schema: T): unknown {\n if (Array.isArray(schema)) {\n return schema.map(applyJsonSchemaExtrasFromDescription);\n }\n if (typeof schema === \"object\" && schema != null) {\n const output = Object.fromEntries(\n Object.entries(schema).map(([key, value]) => [\n key,\n applyJsonSchemaExtrasFromDescription(value),\n ])\n );\n\n if (\n \"description\" in output &&\n typeof output.description === \"string\" &&\n output.description.startsWith(META_EXTRAS_DESCRIPTION_PREFIX)\n ) {\n const strMeta = output.description.slice(\n META_EXTRAS_DESCRIPTION_PREFIX.length\n );\n delete output.description;\n Object.assign(output, JSON.parse(strMeta));\n }\n\n return output as T;\n }\n return schema;\n}\n\nfunction toJsonSchema(schema: InteropZodObject): JSONSchema {\n return applyJsonSchemaExtrasFromDescription(\n interopToJsonSchema(schema)\n ) as JSONSchema;\n}\n\n/**\n * Get the state schema for a graph.\n * @param graph - The graph to get the state schema for.\n * @returns The state schema for the graph.\n */\nexport function getStateTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._schemaRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n\n/**\n * Get the update schema for a graph.\n * @param graph - The graph to get the update schema for.\n * @returns The update schema for the graph.\n */\nexport function getUpdateTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._schemaRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withReducerSchema: true,\n withJsonSchemaExtrasAsDescription: true,\n asPartial: true,\n })\n );\n}\n\n/**\n * Get the input schema for a graph.\n * @param graph - The graph to get the input schema for.\n * @returns The input schema for the graph.\n */\nexport function getInputTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n let schemaDef = graph.builder._inputRuntimeDefinition;\n if (schemaDef === PartialStateSchema) {\n // No need to pass `.partial()` here, that's being done by `applyPlugin`\n schemaDef = graph.builder._schemaRuntimeDefinition;\n }\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withReducerSchema: true,\n withJsonSchemaExtrasAsDescription: true,\n asPartial: true,\n })\n );\n}\n\n/**\n * Get the output schema for a graph.\n * @param graph - The graph to get the output schema for.\n * @returns The output schema for the graph.\n */\nexport function getOutputTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const schemaDef = graph.builder._outputRuntimeDefinition;\n if (!schemaDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(schemaDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n\n/**\n * Get the config schema for a graph.\n * @param graph - The graph to get the config schema for.\n * @returns The config schema for the graph.\n */\nexport function getConfigTypeSchema(\n graph: unknown,\n registry: SchemaMetaRegistry = schemaMetaRegistry\n): JSONSchema | undefined {\n if (!isGraphWithZodLike(graph)) return undefined;\n const configDef = graph.builder._configRuntimeSchema;\n if (!configDef) return undefined;\n\n return toJsonSchema(\n registry.getExtendedChannelSchemas(configDef, {\n withJsonSchemaExtrasAsDescription: true,\n })\n );\n}\n"],"mappings":";;;;AAWA,MAAM,qBAAqB,OAAO,IAAI,0BAA0B;AAYhE,SAAS,mBAAmB,OAA2C;AACrE,KAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,KACE,EAAE,aAAa,UACf,OAAO,MAAM,YAAY,YACzB,MAAM,WAAW,KAEjB,QAAO;AAET,QAAO;;AAGT,SAAS,qCAAwC,QAAoB;AACnE,KAAI,MAAM,QAAQ,OAAO,CACvB,QAAO,OAAO,IAAI,qCAAqC;AAEzD,KAAI,OAAO,WAAW,YAAY,UAAU,MAAM;EAChD,MAAM,SAAS,OAAO,YACpB,OAAO,QAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,WAAW,CAC3C,KACA,qCAAqC,MAAM,CAC5C,CAAC,CACH;AAED,MACE,iBAAiB,UACjB,OAAO,OAAO,gBAAgB,YAC9B,OAAO,YAAY,WAAW,+BAA+B,EAC7D;GACA,MAAM,UAAU,OAAO,YAAY,MACjC,+BAA+B,OAChC;AACD,UAAO,OAAO;AACd,UAAO,OAAO,QAAQ,KAAK,MAAM,QAAQ,CAAC;;AAG5C,SAAO;;AAET,QAAO;;AAGT,SAASA,eAAa,QAAsC;AAC1D,QAAO,qCACLC,aAAoB,OAAO,CAC5B;;;;;;;AAQH,SAAgB,mBACd,OACA,WAA+B,oBACP;AACxB,KAAI,CAAC,mBAAmB,MAAM,CAAE,QAAO;CACvC,MAAM,YAAY,MAAM,QAAQ;AAChC,KAAI,CAAC,UAAW,QAAO;AAEvB,QAAOD,eACL,SAAS,0BAA0B,WAAW,EAC5C,mCAAmC,MACpC,CAAC,CACH;;;;;;;AAQH,SAAgB,oBACd,OACA,WAA+B,oBACP;AACxB,KAAI,CAAC,mBAAmB,MAAM,CAAE,QAAO;CACvC,MAAM,YAAY,MAAM,QAAQ;AAChC,KAAI,CAAC,UAAW,QAAO;AAEvB,QAAOA,eACL,SAAS,0BAA0B,WAAW;EAC5C,mBAAmB;EACnB,mCAAmC;EACnC,WAAW;EACZ,CAAC,CACH;;;;;;;AAQH,SAAgB,mBACd,OACA,WAA+B,oBACP;AACxB,KAAI,CAAC,mBAAmB,MAAM,CAAE,QAAO;CACvC,IAAI,YAAY,MAAM,QAAQ;AAC9B,KAAI,cAAc,mBAEhB,aAAY,MAAM,QAAQ;AAE5B,KAAI,CAAC,UAAW,QAAO;AAEvB,QAAOA,eACL,SAAS,0BAA0B,WAAW;EAC5C,mBAAmB;EACnB,mCAAmC;EACnC,WAAW;EACZ,CAAC,CACH;;;;;;;AAQH,SAAgB,oBACd,OACA,WAA+B,oBACP;AACxB,KAAI,CAAC,mBAAmB,MAAM,CAAE,QAAO;CACvC,MAAM,YAAY,MAAM,QAAQ;AAChC,KAAI,CAAC,UAAW,QAAO;AAEvB,QAAOA,eACL,SAAS,0BAA0B,WAAW,EAC5C,mCAAmC,MACpC,CAAC,CACH;;;;;;;AAQH,SAAgB,oBACd,OACA,WAA+B,oBACP;AACxB,KAAI,CAAC,mBAAmB,MAAM,CAAE,QAAO;CACvC,MAAM,YAAY,MAAM,QAAQ;AAChC,KAAI,CAAC,UAAW,QAAO;AAEvB,QAAOA,eACL,SAAS,0BAA0B,WAAW,EAC5C,mCAAmC,MACpC,CAAC,CACH"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
1
|
const require_meta = require('./meta.cjs');
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
let _langchain_core_utils_types = require("@langchain/core/utils/types");
|
|
3
|
+
let zod_v4_core = require("zod/v4/core");
|
|
5
4
|
|
|
6
5
|
//#region src/graph/zod/zod-registry.ts
|
|
7
6
|
/**
|
|
@@ -29,7 +28,7 @@ var LanggraphZodMetaRegistry = class extends zod_v4_core.$ZodRegistry {
|
|
|
29
28
|
add(schema, ..._meta) {
|
|
30
29
|
const firstMeta = _meta[0];
|
|
31
30
|
if (firstMeta && !firstMeta?.default) {
|
|
32
|
-
const defaultValueGetter = (0,
|
|
31
|
+
const defaultValueGetter = (0, _langchain_core_utils_types.getInteropZodDefaultGetter)(schema);
|
|
33
32
|
if (defaultValueGetter != null) firstMeta.default = defaultValueGetter;
|
|
34
33
|
}
|
|
35
34
|
return super.add(schema, ..._meta);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-registry.cjs","names":["$ZodRegistry","
|
|
1
|
+
{"version":3,"file":"zod-registry.cjs","names":["$ZodRegistry","schemaMetaRegistry"],"sources":["../../../src/graph/zod/zod-registry.ts"],"sourcesContent":["// @ts-expect-error If zod/v4 is not imported, the module augmentation will fail in build\nimport type { ZodType } from \"zod/v4\"; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n// @ts-expect-error If zod/v4-mini is not imported, the module augmentation will fail in build\nimport type { ZodMiniType } from \"zod/v4-mini\"; // eslint-disable-line @typescript-eslint/no-unused-vars\n\nimport type * as core from \"zod/v4/core\";\nimport { getInteropZodDefaultGetter } from \"@langchain/core/utils/types\";\nimport { $ZodType, $ZodRegistry, $replace } from \"zod/v4/core\";\nimport {\n type ReducedZodChannel,\n type SchemaMeta,\n type SchemaMetaRegistry,\n schemaMetaRegistry,\n} from \"./meta.js\";\n\n/**\n * A Zod v4-compatible meta registry that extends the base registry.\n *\n * This registry allows you to associate and retrieve metadata for Zod schemas,\n * leveraging the base registry for storage. It is compatible with Zod v4 and\n * interoperates with the base registry to ensure consistent metadata management\n * across different Zod versions.\n *\n * @template Meta - The type of metadata associated with each schema.\n * @template Schema - The Zod schema type.\n */\nexport class LanggraphZodMetaRegistry<\n Meta extends SchemaMeta = SchemaMeta,\n Schema extends $ZodType = $ZodType\n> extends $ZodRegistry<Meta & { [key: string]: unknown }, Schema> {\n /**\n * Creates a new LanggraphZodMetaRegistry instance.\n *\n * @param parent - The base SchemaMetaRegistry to use for metadata storage.\n */\n constructor(protected parent: SchemaMetaRegistry) {\n super();\n // Use the parent's map for metadata storage\n this._map = this.parent._map as Map<\n Schema,\n $replace<Meta & { [key: string]: unknown }, Schema>\n >;\n }\n\n add<S extends Schema>(\n schema: S,\n ..._meta: undefined extends Meta & { [key: string]: unknown }\n ? [$replace<Meta & { [key: string]: unknown }, S>?]\n : [$replace<Meta & { [key: string]: unknown }, S>]\n ): this {\n const firstMeta = _meta[0];\n if (firstMeta && !firstMeta?.default) {\n const defaultValueGetter = getInteropZodDefaultGetter(schema);\n if (defaultValueGetter != null) {\n // eslint-disable-next-line no-param-reassign\n firstMeta.default = defaultValueGetter;\n }\n }\n return super.add(schema, ..._meta);\n }\n}\n\n// Augment the zod/v4 module nudging the `register` method\n// to use the user provided input schema if specified.\ndeclare module \"zod/v4\" {\n export interface ZodType<\n out Output = unknown,\n out Input = unknown,\n out Internals extends core.$ZodTypeInternals<\n Output,\n Input\n > = core.$ZodTypeInternals<Output, Input>\n > extends core.$ZodType<Output, Input, Internals> {\n register<\n R extends LanggraphZodMetaRegistry,\n TOutput = core.output<this>,\n TInput = core.input<this>,\n TInternals extends core.$ZodTypeInternals<\n TOutput,\n TInput\n > = core.$ZodTypeInternals<TOutput, TInput>\n >(\n registry: R,\n meta: SchemaMeta<TOutput, TInput>\n ): ReducedZodChannel<this, ZodType<TOutput, TInput, TInternals>>;\n }\n}\n\ndeclare module \"zod/v4-mini\" {\n export interface ZodMiniType<\n out Output = unknown,\n out Input = unknown,\n out Internals extends core.$ZodTypeInternals<\n Output,\n Input\n > = core.$ZodTypeInternals<Output, Input>\n > extends core.$ZodType<Output, Input, Internals> {\n register<\n R extends LanggraphZodMetaRegistry,\n TOutput = core.output<this>,\n TInput = core.input<this>,\n TInternals extends core.$ZodTypeInternals<\n TOutput,\n TInput\n > = core.$ZodTypeInternals<TOutput, TInput>\n >(\n registry: R,\n meta: SchemaMeta<TOutput, TInput>\n ): ReducedZodChannel<this, ZodMiniType<TOutput, TInput, TInternals>>;\n }\n}\n\nexport const registry = new LanggraphZodMetaRegistry(schemaMetaRegistry);\n"],"mappings":";;;;;;;;;;;;;;;;AA2BA,IAAa,2BAAb,cAGUA,yBAAwD;;;;;;CAMhE,YAAY,AAAU,QAA4B;AAChD,SAAO;EADa;AAGpB,OAAK,OAAO,KAAK,OAAO;;CAM1B,IACE,QACA,GAAG,OAGG;EACN,MAAM,YAAY,MAAM;AACxB,MAAI,aAAa,CAAC,WAAW,SAAS;GACpC,MAAM,iFAAgD,OAAO;AAC7D,OAAI,sBAAsB,KAExB,WAAU,UAAU;;AAGxB,SAAO,MAAM,IAAI,QAAQ,GAAG,MAAM;;;AAsDtC,MAAa,WAAW,IAAI,yBAAyBC,gCAAmB"}
|
|
@@ -33,8 +33,6 @@ declare class LanggraphZodMetaRegistry<Meta extends SchemaMeta = SchemaMeta, Sch
|
|
|
33
33
|
[key: string]: unknown;
|
|
34
34
|
}, S>]): this;
|
|
35
35
|
}
|
|
36
|
-
// Augment the zod/v4 module nudging the `register` method
|
|
37
|
-
// to use the user provided input schema if specified.
|
|
38
36
|
declare module "zod/v4" {
|
|
39
37
|
interface ZodType<out Output = unknown, out Input = unknown, out Internals extends core.$ZodTypeInternals<Output, Input> = core.$ZodTypeInternals<Output, Input>> extends core.$ZodType<Output, Input, Internals> {
|
|
40
38
|
register<R extends LanggraphZodMetaRegistry, TOutput = core.output<this>, TInput = core.input<this>, TInternals extends core.$ZodTypeInternals<TOutput, TInput> = core.$ZodTypeInternals<TOutput, TInput>>(registry: R, meta: SchemaMeta<TOutput, TInput>): ReducedZodChannel<this, ZodType<TOutput, TInput, TInternals>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-registry.d.cts","names":["core","$ZodType","$ZodRegistry","$replace","ReducedZodChannel","SchemaMeta","SchemaMetaRegistry","LanggraphZodMetaRegistry","Meta","Schema","S","_1","Output","Input","$ZodTypeInternals","Internals","output","input","TOutput","TInput","R","TInternals","ZodType","sideEffect","_2","ZodMiniType","registry"],"sources":["../../../src/graph/zod/zod-registry.d.ts"],"sourcesContent":["import type * as core from \"zod/v4/core\";\nimport { $ZodType, $ZodRegistry, $replace } from \"zod/v4/core\";\nimport { type ReducedZodChannel, type SchemaMeta, type SchemaMetaRegistry } from \"./meta.js\";\n/**\n * A Zod v4-compatible meta registry that extends the base registry.\n *\n * This registry allows you to associate and retrieve metadata for Zod schemas,\n * leveraging the base registry for storage. It is compatible with Zod v4 and\n * interoperates with the base registry to ensure consistent metadata management\n * across different Zod versions.\n *\n * @template Meta - The type of metadata associated with each schema.\n * @template Schema - The Zod schema type.\n */\nexport declare class LanggraphZodMetaRegistry<Meta extends SchemaMeta = SchemaMeta, Schema extends $ZodType = $ZodType> extends $ZodRegistry<Meta & {\n [key: string]: unknown;\n}, Schema> {\n protected parent: SchemaMetaRegistry;\n /**\n * Creates a new LanggraphZodMetaRegistry instance.\n *\n * @param parent - The base SchemaMetaRegistry to use for metadata storage.\n */\n constructor(parent: SchemaMetaRegistry);\n add<S extends Schema>(schema: S, ..._meta: undefined extends Meta & {\n [key: string]: unknown;\n } ? [$replace<Meta & {\n [key: string]: unknown;\n }, S>?] : [$replace<Meta & {\n [key: string]: unknown;\n }, S>]): this;\n}\
|
|
1
|
+
{"version":3,"file":"zod-registry.d.cts","names":["core","$ZodType","$ZodRegistry","$replace","ReducedZodChannel","SchemaMeta","SchemaMetaRegistry","LanggraphZodMetaRegistry","Meta","Schema","S","_1","Output","Input","$ZodTypeInternals","Internals","output","input","TOutput","TInput","R","TInternals","ZodType","sideEffect","_2","ZodMiniType","registry"],"sources":["../../../src/graph/zod/zod-registry.d.ts"],"sourcesContent":["import type * as core from \"zod/v4/core\";\nimport { $ZodType, $ZodRegistry, $replace } from \"zod/v4/core\";\nimport { type ReducedZodChannel, type SchemaMeta, type SchemaMetaRegistry } from \"./meta.js\";\n/**\n * A Zod v4-compatible meta registry that extends the base registry.\n *\n * This registry allows you to associate and retrieve metadata for Zod schemas,\n * leveraging the base registry for storage. It is compatible with Zod v4 and\n * interoperates with the base registry to ensure consistent metadata management\n * across different Zod versions.\n *\n * @template Meta - The type of metadata associated with each schema.\n * @template Schema - The Zod schema type.\n */\nexport declare class LanggraphZodMetaRegistry<Meta extends SchemaMeta = SchemaMeta, Schema extends $ZodType = $ZodType> extends $ZodRegistry<Meta & {\n [key: string]: unknown;\n}, Schema> {\n protected parent: SchemaMetaRegistry;\n /**\n * Creates a new LanggraphZodMetaRegistry instance.\n *\n * @param parent - The base SchemaMetaRegistry to use for metadata storage.\n */\n constructor(parent: SchemaMetaRegistry);\n add<S extends Schema>(schema: S, ..._meta: undefined extends Meta & {\n [key: string]: unknown;\n } ? [$replace<Meta & {\n [key: string]: unknown;\n }, S>?] : [$replace<Meta & {\n [key: string]: unknown;\n }, S>]): this;\n}\ndeclare module \"zod/v4\" {\n interface ZodType<out Output = unknown, out Input = unknown, out Internals extends core.$ZodTypeInternals<Output, Input> = core.$ZodTypeInternals<Output, Input>> extends core.$ZodType<Output, Input, Internals> {\n register<R extends LanggraphZodMetaRegistry, TOutput = core.output<this>, TInput = core.input<this>, TInternals extends core.$ZodTypeInternals<TOutput, TInput> = core.$ZodTypeInternals<TOutput, TInput>>(registry: R, meta: SchemaMeta<TOutput, TInput>): ReducedZodChannel<this, ZodType<TOutput, TInput, TInternals>>;\n }\n}\ndeclare module \"zod/v4-mini\" {\n interface ZodMiniType<out Output = unknown, out Input = unknown, out Internals extends core.$ZodTypeInternals<Output, Input> = core.$ZodTypeInternals<Output, Input>> extends core.$ZodType<Output, Input, Internals> {\n register<R extends LanggraphZodMetaRegistry, TOutput = core.output<this>, TInput = core.input<this>, TInternals extends core.$ZodTypeInternals<TOutput, TInput> = core.$ZodTypeInternals<TOutput, TInput>>(registry: R, meta: SchemaMeta<TOutput, TInput>): ReducedZodChannel<this, ZodMiniType<TOutput, TInput, TInternals>>;\n }\n}\nexport declare const registry: LanggraphZodMetaRegistry<SchemaMeta<any, any>, $ZodType<unknown, unknown, core.$ZodTypeInternals<unknown, unknown>>>;\n"],"mappings":"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"}
|
|
@@ -33,8 +33,6 @@ declare class LanggraphZodMetaRegistry<Meta extends SchemaMeta = SchemaMeta, Sch
|
|
|
33
33
|
[key: string]: unknown;
|
|
34
34
|
}, S>]): this;
|
|
35
35
|
}
|
|
36
|
-
// Augment the zod/v4 module nudging the `register` method
|
|
37
|
-
// to use the user provided input schema if specified.
|
|
38
36
|
declare module "zod/v4" {
|
|
39
37
|
interface ZodType<out Output = unknown, out Input = unknown, out Internals extends core.$ZodTypeInternals<Output, Input> = core.$ZodTypeInternals<Output, Input>> extends core.$ZodType<Output, Input, Internals> {
|
|
40
38
|
register<R extends LanggraphZodMetaRegistry, TOutput = core.output<this>, TInput = core.input<this>, TInternals extends core.$ZodTypeInternals<TOutput, TInput> = core.$ZodTypeInternals<TOutput, TInput>>(registry: R, meta: SchemaMeta<TOutput, TInput>): ReducedZodChannel<this, ZodType<TOutput, TInput, TInternals>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-registry.d.ts","names":["core","$ZodType","$ZodRegistry","$replace","ReducedZodChannel","SchemaMeta","SchemaMetaRegistry","LanggraphZodMetaRegistry","Meta","Schema","S","_0","Output","Input","$ZodTypeInternals","Internals","output","input","TOutput","TInput","R","TInternals","ZodType","sideEffect","ZodMiniType","registry"],"sources":["../../../src/graph/zod/zod-registry.d.ts"],"sourcesContent":["import type * as core from \"zod/v4/core\";\nimport { $ZodType, $ZodRegistry, $replace } from \"zod/v4/core\";\nimport { type ReducedZodChannel, type SchemaMeta, type SchemaMetaRegistry } from \"./meta.js\";\n/**\n * A Zod v4-compatible meta registry that extends the base registry.\n *\n * This registry allows you to associate and retrieve metadata for Zod schemas,\n * leveraging the base registry for storage. It is compatible with Zod v4 and\n * interoperates with the base registry to ensure consistent metadata management\n * across different Zod versions.\n *\n * @template Meta - The type of metadata associated with each schema.\n * @template Schema - The Zod schema type.\n */\nexport declare class LanggraphZodMetaRegistry<Meta extends SchemaMeta = SchemaMeta, Schema extends $ZodType = $ZodType> extends $ZodRegistry<Meta & {\n [key: string]: unknown;\n}, Schema> {\n protected parent: SchemaMetaRegistry;\n /**\n * Creates a new LanggraphZodMetaRegistry instance.\n *\n * @param parent - The base SchemaMetaRegistry to use for metadata storage.\n */\n constructor(parent: SchemaMetaRegistry);\n add<S extends Schema>(schema: S, ..._meta: undefined extends Meta & {\n [key: string]: unknown;\n } ? [$replace<Meta & {\n [key: string]: unknown;\n }, S>?] : [$replace<Meta & {\n [key: string]: unknown;\n }, S>]): this;\n}\
|
|
1
|
+
{"version":3,"file":"zod-registry.d.ts","names":["core","$ZodType","$ZodRegistry","$replace","ReducedZodChannel","SchemaMeta","SchemaMetaRegistry","LanggraphZodMetaRegistry","Meta","Schema","S","_0","Output","Input","$ZodTypeInternals","Internals","output","input","TOutput","TInput","R","TInternals","ZodType","sideEffect","ZodMiniType","registry"],"sources":["../../../src/graph/zod/zod-registry.d.ts"],"sourcesContent":["import type * as core from \"zod/v4/core\";\nimport { $ZodType, $ZodRegistry, $replace } from \"zod/v4/core\";\nimport { type ReducedZodChannel, type SchemaMeta, type SchemaMetaRegistry } from \"./meta.js\";\n/**\n * A Zod v4-compatible meta registry that extends the base registry.\n *\n * This registry allows you to associate and retrieve metadata for Zod schemas,\n * leveraging the base registry for storage. It is compatible with Zod v4 and\n * interoperates with the base registry to ensure consistent metadata management\n * across different Zod versions.\n *\n * @template Meta - The type of metadata associated with each schema.\n * @template Schema - The Zod schema type.\n */\nexport declare class LanggraphZodMetaRegistry<Meta extends SchemaMeta = SchemaMeta, Schema extends $ZodType = $ZodType> extends $ZodRegistry<Meta & {\n [key: string]: unknown;\n}, Schema> {\n protected parent: SchemaMetaRegistry;\n /**\n * Creates a new LanggraphZodMetaRegistry instance.\n *\n * @param parent - The base SchemaMetaRegistry to use for metadata storage.\n */\n constructor(parent: SchemaMetaRegistry);\n add<S extends Schema>(schema: S, ..._meta: undefined extends Meta & {\n [key: string]: unknown;\n } ? [$replace<Meta & {\n [key: string]: unknown;\n }, S>?] : [$replace<Meta & {\n [key: string]: unknown;\n }, S>]): this;\n}\ndeclare module \"zod/v4\" {\n interface ZodType<out Output = unknown, out Input = unknown, out Internals extends core.$ZodTypeInternals<Output, Input> = core.$ZodTypeInternals<Output, Input>> extends core.$ZodType<Output, Input, Internals> {\n register<R extends LanggraphZodMetaRegistry, TOutput = core.output<this>, TInput = core.input<this>, TInternals extends core.$ZodTypeInternals<TOutput, TInput> = core.$ZodTypeInternals<TOutput, TInput>>(registry: R, meta: SchemaMeta<TOutput, TInput>): ReducedZodChannel<this, ZodType<TOutput, TInput, TInternals>>;\n }\n}\ndeclare module \"zod/v4-mini\" {\n interface ZodMiniType<out Output = unknown, out Input = unknown, out Internals extends core.$ZodTypeInternals<Output, Input> = core.$ZodTypeInternals<Output, Input>> extends core.$ZodType<Output, Input, Internals> {\n register<R extends LanggraphZodMetaRegistry, TOutput = core.output<this>, TInput = core.input<this>, TInternals extends core.$ZodTypeInternals<TOutput, TInput> = core.$ZodTypeInternals<TOutput, TInput>>(registry: R, meta: SchemaMeta<TOutput, TInput>): ReducedZodChannel<this, ZodMiniType<TOutput, TInput, TInternals>>;\n }\n}\nexport declare const registry: LanggraphZodMetaRegistry<SchemaMeta<any, any>, $ZodType<unknown, unknown, core.$ZodTypeInternals<unknown, unknown>>>;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-registry.js","names":[
|
|
1
|
+
{"version":3,"file":"zod-registry.js","names":[],"sources":["../../../src/graph/zod/zod-registry.ts"],"sourcesContent":["// @ts-expect-error If zod/v4 is not imported, the module augmentation will fail in build\nimport type { ZodType } from \"zod/v4\"; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n// @ts-expect-error If zod/v4-mini is not imported, the module augmentation will fail in build\nimport type { ZodMiniType } from \"zod/v4-mini\"; // eslint-disable-line @typescript-eslint/no-unused-vars\n\nimport type * as core from \"zod/v4/core\";\nimport { getInteropZodDefaultGetter } from \"@langchain/core/utils/types\";\nimport { $ZodType, $ZodRegistry, $replace } from \"zod/v4/core\";\nimport {\n type ReducedZodChannel,\n type SchemaMeta,\n type SchemaMetaRegistry,\n schemaMetaRegistry,\n} from \"./meta.js\";\n\n/**\n * A Zod v4-compatible meta registry that extends the base registry.\n *\n * This registry allows you to associate and retrieve metadata for Zod schemas,\n * leveraging the base registry for storage. It is compatible with Zod v4 and\n * interoperates with the base registry to ensure consistent metadata management\n * across different Zod versions.\n *\n * @template Meta - The type of metadata associated with each schema.\n * @template Schema - The Zod schema type.\n */\nexport class LanggraphZodMetaRegistry<\n Meta extends SchemaMeta = SchemaMeta,\n Schema extends $ZodType = $ZodType\n> extends $ZodRegistry<Meta & { [key: string]: unknown }, Schema> {\n /**\n * Creates a new LanggraphZodMetaRegistry instance.\n *\n * @param parent - The base SchemaMetaRegistry to use for metadata storage.\n */\n constructor(protected parent: SchemaMetaRegistry) {\n super();\n // Use the parent's map for metadata storage\n this._map = this.parent._map as Map<\n Schema,\n $replace<Meta & { [key: string]: unknown }, Schema>\n >;\n }\n\n add<S extends Schema>(\n schema: S,\n ..._meta: undefined extends Meta & { [key: string]: unknown }\n ? [$replace<Meta & { [key: string]: unknown }, S>?]\n : [$replace<Meta & { [key: string]: unknown }, S>]\n ): this {\n const firstMeta = _meta[0];\n if (firstMeta && !firstMeta?.default) {\n const defaultValueGetter = getInteropZodDefaultGetter(schema);\n if (defaultValueGetter != null) {\n // eslint-disable-next-line no-param-reassign\n firstMeta.default = defaultValueGetter;\n }\n }\n return super.add(schema, ..._meta);\n }\n}\n\n// Augment the zod/v4 module nudging the `register` method\n// to use the user provided input schema if specified.\ndeclare module \"zod/v4\" {\n export interface ZodType<\n out Output = unknown,\n out Input = unknown,\n out Internals extends core.$ZodTypeInternals<\n Output,\n Input\n > = core.$ZodTypeInternals<Output, Input>\n > extends core.$ZodType<Output, Input, Internals> {\n register<\n R extends LanggraphZodMetaRegistry,\n TOutput = core.output<this>,\n TInput = core.input<this>,\n TInternals extends core.$ZodTypeInternals<\n TOutput,\n TInput\n > = core.$ZodTypeInternals<TOutput, TInput>\n >(\n registry: R,\n meta: SchemaMeta<TOutput, TInput>\n ): ReducedZodChannel<this, ZodType<TOutput, TInput, TInternals>>;\n }\n}\n\ndeclare module \"zod/v4-mini\" {\n export interface ZodMiniType<\n out Output = unknown,\n out Input = unknown,\n out Internals extends core.$ZodTypeInternals<\n Output,\n Input\n > = core.$ZodTypeInternals<Output, Input>\n > extends core.$ZodType<Output, Input, Internals> {\n register<\n R extends LanggraphZodMetaRegistry,\n TOutput = core.output<this>,\n TInput = core.input<this>,\n TInternals extends core.$ZodTypeInternals<\n TOutput,\n TInput\n > = core.$ZodTypeInternals<TOutput, TInput>\n >(\n registry: R,\n meta: SchemaMeta<TOutput, TInput>\n ): ReducedZodChannel<this, ZodMiniType<TOutput, TInput, TInternals>>;\n }\n}\n\nexport const registry = new LanggraphZodMetaRegistry(schemaMetaRegistry);\n"],"mappings":";;;;;;;;;;;;;;;;AA2BA,IAAa,2BAAb,cAGU,aAAwD;;;;;;CAMhE,YAAY,AAAU,QAA4B;AAChD,SAAO;EADa;AAGpB,OAAK,OAAO,KAAK,OAAO;;CAM1B,IACE,QACA,GAAG,OAGG;EACN,MAAM,YAAY,MAAM;AACxB,MAAI,aAAa,CAAC,WAAW,SAAS;GACpC,MAAM,qBAAqB,2BAA2B,OAAO;AAC7D,OAAI,sBAAsB,KAExB,WAAU,UAAU;;AAGxB,SAAO,MAAM,IAAI,QAAQ,GAAG,MAAM;;;AAsDtC,MAAa,WAAW,IAAI,yBAAyB,mBAAmB"}
|
package/dist/hash.cjs
CHANGED
|
@@ -121,8 +121,7 @@ function XXH3_hashLong_128b(data, secret) {
|
|
|
121
121
|
assert(acc.length * 8 === 64);
|
|
122
122
|
{
|
|
123
123
|
const low64 = XXH3_mergeAccs(acc, view(secret, 11), n(data.byteLength) * PRIME64_1 & mask64);
|
|
124
|
-
|
|
125
|
-
return high64 << n(64) | low64;
|
|
124
|
+
return XXH3_mergeAccs(acc, view(secret, secret.byteLength - STRIPE_LEN - 11), ~(n(data.byteLength) * PRIME64_2) & mask64) << n(64) | low64;
|
|
126
125
|
}
|
|
127
126
|
}
|
|
128
127
|
function XXH3_mul128_fold64(a, b) {
|
|
@@ -166,11 +165,9 @@ function XXH3_len_1to3_128b(data, key32, seed) {
|
|
|
166
165
|
const len = data.byteLength;
|
|
167
166
|
assert(len > 0 && len <= 3);
|
|
168
167
|
const combined = n(data.getUint8(len - 1)) | n(len << 8) | n(data.getUint8(0) << 16) | n(data.getUint8(len >> 1) << 24);
|
|
169
|
-
const
|
|
170
|
-
const low = (combined ^ blow) & mask64;
|
|
168
|
+
const low = (combined ^ (n(key32.getUint32(0, true)) ^ n(key32.getUint32(4, true))) + seed) & mask64;
|
|
171
169
|
const bhigh = (n(key32.getUint32(8, true)) ^ n(key32.getUint32(12, true))) - seed;
|
|
172
|
-
|
|
173
|
-
return (XXH3_avalanche64(high) & mask64) << n(64) | XXH3_avalanche64(low);
|
|
170
|
+
return (XXH3_avalanche64((rotl32(bswap32(combined), n(13)) ^ bhigh) & mask64) & mask64) << n(64) | XXH3_avalanche64(low);
|
|
174
171
|
}
|
|
175
172
|
function xorshift64(b, shift) {
|
|
176
173
|
return b ^ b >> shift;
|
|
@@ -181,10 +178,7 @@ function XXH3_len_4to8_128b(data, key32, seed) {
|
|
|
181
178
|
{
|
|
182
179
|
const l1 = data.getUint32(0, true);
|
|
183
180
|
const l2 = data.getUint32(len - 4, true);
|
|
184
|
-
|
|
185
|
-
const bitflip = (key32.getBigUint64(16, true) ^ key32.getBigUint64(24, true)) + seed & mask64;
|
|
186
|
-
const keyed = l64 ^ bitflip;
|
|
187
|
-
let m128 = keyed * (PRIME64_1 + (n(len) << n(2))) & mask128;
|
|
181
|
+
let m128 = ((n(l1) | n(l2) << n(32)) ^ (key32.getBigUint64(16, true) ^ key32.getBigUint64(24, true)) + seed & mask64) * (PRIME64_1 + (n(len) << n(2))) & mask128;
|
|
188
182
|
m128 += (m128 & mask64) << n(65);
|
|
189
183
|
m128 &= mask128;
|
|
190
184
|
m128 ^= m128 >> n(67);
|
package/dist/hash.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.cjs","names":["n","data"],"sources":["../src/hash.ts"],"sourcesContent":["/* Converted from https://github.com/i404788/xxh3-ts\n\nBSD 2-Clause License\n\nCopyright (c) 2019, i404788\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\nconst n = (n: number | string) => BigInt(n);\nconst view = (data: Uint8Array | DataView, offset: number = 0) =>\n new DataView(data.buffer, data.byteOffset + offset, data.byteLength - offset);\n\nconst PRIME32_1 = n(\"0x9E3779B1\"); // 0b10011110001101110111100110110001\nconst PRIME32_2 = n(\"0x85EBCA77\"); // 0b10000101111010111100101001110111\nconst PRIME32_3 = n(\"0xC2B2AE3D\"); // 0b11000010101100101010111000111101\nconst PRIME64_1 = n(\"0x9E3779B185EBCA87\"); // 0b1001111000110111011110011011000110000101111010111100101010000111\nconst PRIME64_2 = n(\"0xC2B2AE3D27D4EB4F\"); // 0b1100001010110010101011100011110100100111110101001110101101001111\nconst PRIME64_3 = n(\"0x165667B19E3779F9\"); // 0b0001011001010110011001111011000110011110001101110111100111111001\nconst PRIME64_4 = n(\"0x85EBCA77C2B2AE63\"); // 0b1000010111101011110010100111011111000010101100101010111001100011\nconst PRIME64_5 = n(\"0x27D4EB2F165667C5\"); // 0b0010011111010100111010110010111100010110010101100110011111000101\nconst PRIME_MX1 = n(\"0x165667919E3779F9\"); // 0b0001011001010110011001111001000110011110001101110111100111111001\nconst PRIME_MX2 = n(\"0x9FB21C651E98DF25\"); // 0b1001111110110010000111000110010100011110100110001101111100100101\n\nconst hexToUint8Array = (hex: string) => {\n const strLen = hex.length;\n if (strLen % 2 !== 0) {\n throw new Error(\"String should have an even number of characters\");\n }\n\n const maxLength = strLen / 2;\n const bytes = new Uint8Array(maxLength);\n\n let read = 0;\n let write = 0;\n while (write < maxLength) {\n const slice = hex.slice(read, (read += 2));\n bytes[write] = Number.parseInt(slice, 16);\n write += 1;\n }\n\n return view(bytes);\n};\n\nconst kkey = hexToUint8Array(\n \"b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e\"\n);\n\nconst mask128 = (n(1) << n(128)) - n(1);\nconst mask64 = (n(1) << n(64)) - n(1);\nconst mask32 = (n(1) << n(32)) - n(1);\nconst STRIPE_LEN = 64;\nconst ACC_NB = STRIPE_LEN / 8;\nconst _U64 = 8;\nconst _U32 = 4;\n\nfunction assert(a: boolean) {\n if (!a) throw new Error(\"Assert failed\");\n}\n\nfunction bswap64(a: bigint) {\n const scratchbuf = new DataView(new ArrayBuffer(8));\n scratchbuf.setBigUint64(0, a, true);\n return scratchbuf.getBigUint64(0, false);\n}\n\nfunction bswap32(input: bigint) {\n let a = input;\n a = ((a & n(0x0000ffff)) << n(16)) | ((a & n(0xffff0000)) >> n(16));\n a = ((a & n(0x00ff00ff)) << n(8)) | ((a & n(0xff00ff00)) >> n(8));\n return a; // 32-bit\n}\n\nfunction XXH_mult32to64(a: bigint, b: bigint) {\n return ((a & mask32) * (b & mask32)) & mask64;\n}\n\nfunction rotl32(a: bigint, b: bigint) {\n return ((a << b) | (a >> (n(32) - b))) & mask32;\n}\n\nfunction XXH3_accumulate_512(\n acc: BigUint64Array,\n dataView: DataView,\n keyView: DataView\n) {\n for (let i = 0; i < ACC_NB; i += 1) {\n const data_val = dataView.getBigUint64(i * 8, true);\n const data_key = data_val ^ keyView.getBigUint64(i * 8, true);\n acc[i ^ 1] += data_val;\n acc[i] += XXH_mult32to64(data_key, data_key >> n(32));\n }\n return acc;\n}\n\nfunction XXH3_accumulate(\n acc: BigUint64Array,\n dataView: DataView,\n keyView: DataView,\n nbStripes: number\n) {\n for (let n = 0; n < nbStripes; n += 1) {\n XXH3_accumulate_512(\n acc,\n view(dataView, n * STRIPE_LEN),\n view(keyView, n * 8)\n );\n }\n return acc;\n}\n\nfunction XXH3_scrambleAcc(acc: BigUint64Array, key: DataView) {\n for (let i = 0; i < ACC_NB; i += 1) {\n const key64 = key.getBigUint64(i * 8, true);\n let acc64 = acc[i];\n acc64 = xorshift64(acc64, n(47));\n acc64 ^= key64;\n acc64 *= PRIME32_1;\n acc[i] = acc64 & mask64;\n }\n return acc;\n}\n\nfunction XXH3_mix2Accs(acc: BigUint64Array, key: DataView) {\n return XXH3_mul128_fold64(\n acc[0] ^ key.getBigUint64(0, true),\n acc[1] ^ key.getBigUint64(_U64, true)\n );\n}\n\nfunction XXH3_mergeAccs(acc: BigUint64Array, key: DataView, start: bigint) {\n let result64 = start;\n\n result64 += XXH3_mix2Accs(acc.slice(0), view(key, 0 * _U32));\n result64 += XXH3_mix2Accs(acc.slice(2), view(key, 4 * _U32));\n result64 += XXH3_mix2Accs(acc.slice(4), view(key, 8 * _U32));\n result64 += XXH3_mix2Accs(acc.slice(6), view(key, 12 * _U32));\n\n return XXH3_avalanche(result64 & mask64);\n}\n\nfunction XXH3_hashLong(\n input: BigUint64Array,\n data: DataView,\n secret: DataView,\n f_acc: (acc: BigUint64Array, data: DataView, key: DataView) => BigUint64Array,\n f_scramble: (acc: BigUint64Array, key: DataView) => BigUint64Array\n) {\n let acc = input;\n const nbStripesPerBlock = Math.floor((secret.byteLength - STRIPE_LEN) / 8);\n const block_len = STRIPE_LEN * nbStripesPerBlock;\n const nb_blocks = Math.floor((data.byteLength - 1) / block_len);\n\n for (let n = 0; n < nb_blocks; n += 1) {\n acc = XXH3_accumulate(\n acc,\n view(data, n * block_len),\n secret,\n nbStripesPerBlock\n );\n acc = f_scramble(acc, view(secret, secret.byteLength - STRIPE_LEN));\n }\n\n {\n // Partial block\n const nbStripes = Math.floor(\n (data.byteLength - 1 - block_len * nb_blocks) / STRIPE_LEN\n );\n acc = XXH3_accumulate(\n acc,\n view(data, nb_blocks * block_len),\n secret,\n nbStripes\n );\n\n // Last Stripe\n acc = f_acc(\n acc,\n view(data, data.byteLength - STRIPE_LEN),\n view(secret, secret.byteLength - STRIPE_LEN - 7)\n );\n }\n return acc;\n}\n\nfunction XXH3_hashLong_128b(data: DataView, secret: DataView) {\n let acc = new BigUint64Array([\n PRIME32_3,\n PRIME64_1,\n PRIME64_2,\n PRIME64_3,\n PRIME64_4,\n PRIME32_2,\n PRIME64_5,\n PRIME32_1,\n ]);\n assert(data.byteLength > 128);\n\n acc = XXH3_hashLong(\n acc,\n data,\n secret,\n XXH3_accumulate_512,\n XXH3_scrambleAcc\n ) as BigUint64Array<ArrayBuffer>;\n\n /* converge into final hash */\n assert(acc.length * 8 === 64);\n {\n const low64 = XXH3_mergeAccs(\n acc,\n view(secret, 11),\n (n(data.byteLength) * PRIME64_1) & mask64\n );\n const high64 = XXH3_mergeAccs(\n acc,\n view(secret, secret.byteLength - STRIPE_LEN - 11),\n ~(n(data.byteLength) * PRIME64_2) & mask64\n );\n return (high64 << n(64)) | low64;\n }\n}\n\nfunction XXH3_mul128_fold64(a: bigint, b: bigint) {\n const lll = (a * b) & mask128;\n return (lll & mask64) ^ (lll >> n(64));\n}\n\nfunction XXH3_mix16B(dataView: DataView, keyView: DataView, seed: bigint) {\n return XXH3_mul128_fold64(\n (dataView.getBigUint64(0, true) ^ (keyView.getBigUint64(0, true) + seed)) &\n mask64,\n (dataView.getBigUint64(8, true) ^ (keyView.getBigUint64(8, true) - seed)) &\n mask64\n );\n}\n\nfunction XXH3_mix32B(\n acc: bigint,\n data1: DataView,\n data2: DataView,\n key: DataView,\n seed: bigint\n) {\n let accl = acc & mask64;\n let acch = (acc >> n(64)) & mask64;\n\n accl += XXH3_mix16B(data1, key, seed);\n accl ^= data2.getBigUint64(0, true) + data2.getBigUint64(8, true);\n accl &= mask64;\n acch += XXH3_mix16B(data2, view(key, 16), seed);\n acch ^= data1.getBigUint64(0, true) + data1.getBigUint64(8, true);\n acch &= mask64;\n\n return (acch << n(64)) | accl;\n}\n\nfunction XXH3_avalanche(input: bigint) {\n let h64 = input;\n h64 ^= h64 >> n(37);\n h64 *= PRIME_MX1;\n h64 &= mask64;\n h64 ^= h64 >> n(32);\n return h64;\n}\n\nfunction XXH3_avalanche64(input: bigint) {\n let h64 = input;\n h64 ^= h64 >> n(33);\n h64 *= PRIME64_2;\n h64 &= mask64; // 64-bit\n h64 ^= h64 >> n(29);\n h64 *= PRIME64_3;\n h64 &= mask64;\n h64 ^= h64 >> n(32);\n return h64;\n}\n\nfunction XXH3_len_1to3_128b(data: DataView, key32: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len > 0 && len <= 3);\n\n const combined =\n n(data.getUint8(len - 1)) |\n n(len << 8) |\n n(data.getUint8(0) << 16) |\n n(data.getUint8(len >> 1) << 24);\n\n const blow =\n (n(key32.getUint32(0, true)) ^ n(key32.getUint32(4, true))) + seed;\n const low = (combined ^ blow) & mask64;\n const bhigh =\n (n(key32.getUint32(8, true)) ^ n(key32.getUint32(12, true))) - seed;\n const high = (rotl32(bswap32(combined), n(13)) ^ bhigh) & mask64;\n\n return ((XXH3_avalanche64(high) & mask64) << n(64)) | XXH3_avalanche64(low);\n}\n\nfunction xorshift64(b: bigint, shift: bigint) {\n return b ^ (b >> shift);\n}\n\nfunction XXH3_len_4to8_128b(data: DataView, key32: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len >= 4 && len <= 8);\n\n {\n const l1 = data.getUint32(0, true);\n const l2 = data.getUint32(len - 4, true);\n const l64 = n(l1) | (n(l2) << n(32));\n const bitflip =\n ((key32.getBigUint64(16, true) ^ key32.getBigUint64(24, true)) + seed) &\n mask64;\n const keyed = l64 ^ bitflip;\n let m128 = (keyed * (PRIME64_1 + (n(len) << n(2)))) & mask128;\n m128 += (m128 & mask64) << n(65);\n m128 &= mask128;\n m128 ^= m128 >> n(67);\n\n return (\n xorshift64(\n (xorshift64(m128 & mask64, n(35)) * PRIME_MX2) & mask64,\n n(28)\n ) |\n (XXH3_avalanche(m128 >> n(64)) << n(64))\n );\n }\n}\n\nfunction XXH3_len_9to16_128b(data: DataView, key64: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len >= 9 && len <= 16);\n\n {\n const bitflipl =\n ((key64.getBigUint64(32, true) ^ key64.getBigUint64(40, true)) + seed) &\n mask64;\n const bitfliph =\n ((key64.getBigUint64(48, true) ^ key64.getBigUint64(56, true)) - seed) &\n mask64;\n const ll1 = data.getBigUint64(0, true);\n let ll2 = data.getBigUint64(len - 8, true);\n\n let m128 = (ll1 ^ ll2 ^ bitflipl) * PRIME64_1;\n\n const m128_l = (m128 & mask64) + (n(len - 1) << n(54));\n m128 = (m128 & (mask128 ^ mask64)) | m128_l; // eqv. to adding only to lower 64b\n ll2 ^= bitfliph;\n\n m128 += (ll2 + (ll2 & mask32) * (PRIME32_2 - n(1))) << n(64);\n m128 &= mask128;\n m128 ^= bswap64(m128 >> n(64));\n let h128 = (m128 & mask64) * PRIME64_2;\n h128 += ((m128 >> n(64)) * PRIME64_2) << n(64);\n h128 &= mask128;\n\n return (\n XXH3_avalanche(h128 & mask64) | (XXH3_avalanche(h128 >> n(64)) << n(64))\n );\n }\n}\n\nfunction XXH3_len_0to16_128b(data: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len <= 16);\n\n if (len > 8) return XXH3_len_9to16_128b(data, kkey, seed);\n if (len >= 4) return XXH3_len_4to8_128b(data, kkey, seed);\n if (len > 0) return XXH3_len_1to3_128b(data, kkey, seed);\n\n return (\n XXH3_avalanche64(\n seed ^ kkey.getBigUint64(64, true) ^ kkey.getBigUint64(72, true)\n ) |\n (XXH3_avalanche64(\n seed ^ kkey.getBigUint64(80, true) ^ kkey.getBigUint64(88, true)\n ) <<\n n(64))\n );\n}\n\nfunction inv64(x: bigint) {\n // NOTE: `AND` fixes signedness (but because of 2's complement we need to re-add 1)\n return (~x + n(1)) & mask64;\n}\n\nfunction XXH3_len_17to128_128b(data: DataView, secret: DataView, seed: bigint) {\n let acc = (n(data.byteLength) * PRIME64_1) & mask64;\n let i = n(data.byteLength - 1) / n(32);\n while (i >= 0) {\n const ni = Number(i);\n acc = XXH3_mix32B(\n acc,\n view(data, 16 * ni),\n view(data, data.byteLength - 16 * (ni + 1)),\n view(secret, 32 * ni),\n seed\n );\n i -= n(1);\n }\n\n let h128l = (acc + (acc >> n(64))) & mask64;\n h128l = XXH3_avalanche(h128l);\n let h128h =\n (acc & mask64) * PRIME64_1 +\n (acc >> n(64)) * PRIME64_4 +\n ((n(data.byteLength) - seed) & mask64) * PRIME64_2;\n h128h &= mask64;\n\n h128h = inv64(XXH3_avalanche(h128h));\n return h128l | (h128h << n(64));\n}\n\nfunction XXH3_len_129to240_128b(\n data: DataView,\n secret: DataView,\n seed: bigint\n) {\n let acc = (n(data.byteLength) * PRIME64_1) & mask64;\n for (let i = 32; i < 160; i += 32) {\n acc = XXH3_mix32B(\n acc,\n view(data, i - 32),\n view(data, i - 16),\n view(secret, i - 32),\n seed\n );\n }\n acc = XXH3_avalanche(acc & mask64) | (XXH3_avalanche(acc >> n(64)) << n(64));\n for (let i = 160; i <= data.byteLength; i += 32) {\n acc = XXH3_mix32B(\n acc,\n view(data, i - 32),\n view(data, i - 16),\n view(secret, 3 + i - 160),\n seed\n );\n }\n acc = XXH3_mix32B(\n acc,\n view(data, data.byteLength - 16),\n view(data, data.byteLength - 32),\n view(secret, 136 - 17 - 16),\n inv64(seed)\n );\n\n let h128l = (acc + (acc >> n(64))) & mask64;\n h128l = XXH3_avalanche(h128l);\n let h128h =\n (acc & mask64) * PRIME64_1 +\n (acc >> n(64)) * PRIME64_4 +\n ((n(data.byteLength) - seed) & mask64) * PRIME64_2;\n h128h &= mask64;\n\n h128h = inv64(XXH3_avalanche(h128h));\n return h128l | (h128h << n(64));\n}\n\n// 16 byte min input\nexport function XXH3(input: Uint8Array | string, seed: bigint = n(0)) {\n const encoder = new TextEncoder();\n const data = view(typeof input === \"string\" ? encoder.encode(input) : input);\n const len = data.byteLength;\n\n const hexDigest = (data: bigint) => data.toString(16).padStart(32, \"0\");\n if (len <= 16) return hexDigest(XXH3_len_0to16_128b(data, seed));\n if (len <= 128) return hexDigest(XXH3_len_17to128_128b(data, kkey, seed));\n if (len <= 240) return hexDigest(XXH3_len_129to240_128b(data, kkey, seed));\n return hexDigest(XXH3_hashLong_128b(data, kkey));\n}\n\nexport function isXXH3(value: string): boolean {\n // Check if the given string matches the format of XXH3 (128 bit hex digest).\n return /^[0-9a-f]{32}$/.test(value);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hash.cjs","names":["n","data"],"sources":["../src/hash.ts"],"sourcesContent":["/* Converted from https://github.com/i404788/xxh3-ts\n\nBSD 2-Clause License\n\nCopyright (c) 2019, i404788\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\nconst n = (n: number | string) => BigInt(n);\nconst view = (data: Uint8Array | DataView, offset: number = 0) =>\n new DataView(data.buffer, data.byteOffset + offset, data.byteLength - offset);\n\nconst PRIME32_1 = n(\"0x9E3779B1\"); // 0b10011110001101110111100110110001\nconst PRIME32_2 = n(\"0x85EBCA77\"); // 0b10000101111010111100101001110111\nconst PRIME32_3 = n(\"0xC2B2AE3D\"); // 0b11000010101100101010111000111101\nconst PRIME64_1 = n(\"0x9E3779B185EBCA87\"); // 0b1001111000110111011110011011000110000101111010111100101010000111\nconst PRIME64_2 = n(\"0xC2B2AE3D27D4EB4F\"); // 0b1100001010110010101011100011110100100111110101001110101101001111\nconst PRIME64_3 = n(\"0x165667B19E3779F9\"); // 0b0001011001010110011001111011000110011110001101110111100111111001\nconst PRIME64_4 = n(\"0x85EBCA77C2B2AE63\"); // 0b1000010111101011110010100111011111000010101100101010111001100011\nconst PRIME64_5 = n(\"0x27D4EB2F165667C5\"); // 0b0010011111010100111010110010111100010110010101100110011111000101\nconst PRIME_MX1 = n(\"0x165667919E3779F9\"); // 0b0001011001010110011001111001000110011110001101110111100111111001\nconst PRIME_MX2 = n(\"0x9FB21C651E98DF25\"); // 0b1001111110110010000111000110010100011110100110001101111100100101\n\nconst hexToUint8Array = (hex: string) => {\n const strLen = hex.length;\n if (strLen % 2 !== 0) {\n throw new Error(\"String should have an even number of characters\");\n }\n\n const maxLength = strLen / 2;\n const bytes = new Uint8Array(maxLength);\n\n let read = 0;\n let write = 0;\n while (write < maxLength) {\n const slice = hex.slice(read, (read += 2));\n bytes[write] = Number.parseInt(slice, 16);\n write += 1;\n }\n\n return view(bytes);\n};\n\nconst kkey = hexToUint8Array(\n \"b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e\"\n);\n\nconst mask128 = (n(1) << n(128)) - n(1);\nconst mask64 = (n(1) << n(64)) - n(1);\nconst mask32 = (n(1) << n(32)) - n(1);\nconst STRIPE_LEN = 64;\nconst ACC_NB = STRIPE_LEN / 8;\nconst _U64 = 8;\nconst _U32 = 4;\n\nfunction assert(a: boolean) {\n if (!a) throw new Error(\"Assert failed\");\n}\n\nfunction bswap64(a: bigint) {\n const scratchbuf = new DataView(new ArrayBuffer(8));\n scratchbuf.setBigUint64(0, a, true);\n return scratchbuf.getBigUint64(0, false);\n}\n\nfunction bswap32(input: bigint) {\n let a = input;\n a = ((a & n(0x0000ffff)) << n(16)) | ((a & n(0xffff0000)) >> n(16));\n a = ((a & n(0x00ff00ff)) << n(8)) | ((a & n(0xff00ff00)) >> n(8));\n return a; // 32-bit\n}\n\nfunction XXH_mult32to64(a: bigint, b: bigint) {\n return ((a & mask32) * (b & mask32)) & mask64;\n}\n\nfunction rotl32(a: bigint, b: bigint) {\n return ((a << b) | (a >> (n(32) - b))) & mask32;\n}\n\nfunction XXH3_accumulate_512(\n acc: BigUint64Array,\n dataView: DataView,\n keyView: DataView\n) {\n for (let i = 0; i < ACC_NB; i += 1) {\n const data_val = dataView.getBigUint64(i * 8, true);\n const data_key = data_val ^ keyView.getBigUint64(i * 8, true);\n acc[i ^ 1] += data_val;\n acc[i] += XXH_mult32to64(data_key, data_key >> n(32));\n }\n return acc;\n}\n\nfunction XXH3_accumulate(\n acc: BigUint64Array,\n dataView: DataView,\n keyView: DataView,\n nbStripes: number\n) {\n for (let n = 0; n < nbStripes; n += 1) {\n XXH3_accumulate_512(\n acc,\n view(dataView, n * STRIPE_LEN),\n view(keyView, n * 8)\n );\n }\n return acc;\n}\n\nfunction XXH3_scrambleAcc(acc: BigUint64Array, key: DataView) {\n for (let i = 0; i < ACC_NB; i += 1) {\n const key64 = key.getBigUint64(i * 8, true);\n let acc64 = acc[i];\n acc64 = xorshift64(acc64, n(47));\n acc64 ^= key64;\n acc64 *= PRIME32_1;\n acc[i] = acc64 & mask64;\n }\n return acc;\n}\n\nfunction XXH3_mix2Accs(acc: BigUint64Array, key: DataView) {\n return XXH3_mul128_fold64(\n acc[0] ^ key.getBigUint64(0, true),\n acc[1] ^ key.getBigUint64(_U64, true)\n );\n}\n\nfunction XXH3_mergeAccs(acc: BigUint64Array, key: DataView, start: bigint) {\n let result64 = start;\n\n result64 += XXH3_mix2Accs(acc.slice(0), view(key, 0 * _U32));\n result64 += XXH3_mix2Accs(acc.slice(2), view(key, 4 * _U32));\n result64 += XXH3_mix2Accs(acc.slice(4), view(key, 8 * _U32));\n result64 += XXH3_mix2Accs(acc.slice(6), view(key, 12 * _U32));\n\n return XXH3_avalanche(result64 & mask64);\n}\n\nfunction XXH3_hashLong(\n input: BigUint64Array,\n data: DataView,\n secret: DataView,\n f_acc: (acc: BigUint64Array, data: DataView, key: DataView) => BigUint64Array,\n f_scramble: (acc: BigUint64Array, key: DataView) => BigUint64Array\n) {\n let acc = input;\n const nbStripesPerBlock = Math.floor((secret.byteLength - STRIPE_LEN) / 8);\n const block_len = STRIPE_LEN * nbStripesPerBlock;\n const nb_blocks = Math.floor((data.byteLength - 1) / block_len);\n\n for (let n = 0; n < nb_blocks; n += 1) {\n acc = XXH3_accumulate(\n acc,\n view(data, n * block_len),\n secret,\n nbStripesPerBlock\n );\n acc = f_scramble(acc, view(secret, secret.byteLength - STRIPE_LEN));\n }\n\n {\n // Partial block\n const nbStripes = Math.floor(\n (data.byteLength - 1 - block_len * nb_blocks) / STRIPE_LEN\n );\n acc = XXH3_accumulate(\n acc,\n view(data, nb_blocks * block_len),\n secret,\n nbStripes\n );\n\n // Last Stripe\n acc = f_acc(\n acc,\n view(data, data.byteLength - STRIPE_LEN),\n view(secret, secret.byteLength - STRIPE_LEN - 7)\n );\n }\n return acc;\n}\n\nfunction XXH3_hashLong_128b(data: DataView, secret: DataView) {\n let acc = new BigUint64Array([\n PRIME32_3,\n PRIME64_1,\n PRIME64_2,\n PRIME64_3,\n PRIME64_4,\n PRIME32_2,\n PRIME64_5,\n PRIME32_1,\n ]);\n assert(data.byteLength > 128);\n\n acc = XXH3_hashLong(\n acc,\n data,\n secret,\n XXH3_accumulate_512,\n XXH3_scrambleAcc\n ) as BigUint64Array<ArrayBuffer>;\n\n /* converge into final hash */\n assert(acc.length * 8 === 64);\n {\n const low64 = XXH3_mergeAccs(\n acc,\n view(secret, 11),\n (n(data.byteLength) * PRIME64_1) & mask64\n );\n const high64 = XXH3_mergeAccs(\n acc,\n view(secret, secret.byteLength - STRIPE_LEN - 11),\n ~(n(data.byteLength) * PRIME64_2) & mask64\n );\n return (high64 << n(64)) | low64;\n }\n}\n\nfunction XXH3_mul128_fold64(a: bigint, b: bigint) {\n const lll = (a * b) & mask128;\n return (lll & mask64) ^ (lll >> n(64));\n}\n\nfunction XXH3_mix16B(dataView: DataView, keyView: DataView, seed: bigint) {\n return XXH3_mul128_fold64(\n (dataView.getBigUint64(0, true) ^ (keyView.getBigUint64(0, true) + seed)) &\n mask64,\n (dataView.getBigUint64(8, true) ^ (keyView.getBigUint64(8, true) - seed)) &\n mask64\n );\n}\n\nfunction XXH3_mix32B(\n acc: bigint,\n data1: DataView,\n data2: DataView,\n key: DataView,\n seed: bigint\n) {\n let accl = acc & mask64;\n let acch = (acc >> n(64)) & mask64;\n\n accl += XXH3_mix16B(data1, key, seed);\n accl ^= data2.getBigUint64(0, true) + data2.getBigUint64(8, true);\n accl &= mask64;\n acch += XXH3_mix16B(data2, view(key, 16), seed);\n acch ^= data1.getBigUint64(0, true) + data1.getBigUint64(8, true);\n acch &= mask64;\n\n return (acch << n(64)) | accl;\n}\n\nfunction XXH3_avalanche(input: bigint) {\n let h64 = input;\n h64 ^= h64 >> n(37);\n h64 *= PRIME_MX1;\n h64 &= mask64;\n h64 ^= h64 >> n(32);\n return h64;\n}\n\nfunction XXH3_avalanche64(input: bigint) {\n let h64 = input;\n h64 ^= h64 >> n(33);\n h64 *= PRIME64_2;\n h64 &= mask64; // 64-bit\n h64 ^= h64 >> n(29);\n h64 *= PRIME64_3;\n h64 &= mask64;\n h64 ^= h64 >> n(32);\n return h64;\n}\n\nfunction XXH3_len_1to3_128b(data: DataView, key32: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len > 0 && len <= 3);\n\n const combined =\n n(data.getUint8(len - 1)) |\n n(len << 8) |\n n(data.getUint8(0) << 16) |\n n(data.getUint8(len >> 1) << 24);\n\n const blow =\n (n(key32.getUint32(0, true)) ^ n(key32.getUint32(4, true))) + seed;\n const low = (combined ^ blow) & mask64;\n const bhigh =\n (n(key32.getUint32(8, true)) ^ n(key32.getUint32(12, true))) - seed;\n const high = (rotl32(bswap32(combined), n(13)) ^ bhigh) & mask64;\n\n return ((XXH3_avalanche64(high) & mask64) << n(64)) | XXH3_avalanche64(low);\n}\n\nfunction xorshift64(b: bigint, shift: bigint) {\n return b ^ (b >> shift);\n}\n\nfunction XXH3_len_4to8_128b(data: DataView, key32: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len >= 4 && len <= 8);\n\n {\n const l1 = data.getUint32(0, true);\n const l2 = data.getUint32(len - 4, true);\n const l64 = n(l1) | (n(l2) << n(32));\n const bitflip =\n ((key32.getBigUint64(16, true) ^ key32.getBigUint64(24, true)) + seed) &\n mask64;\n const keyed = l64 ^ bitflip;\n let m128 = (keyed * (PRIME64_1 + (n(len) << n(2)))) & mask128;\n m128 += (m128 & mask64) << n(65);\n m128 &= mask128;\n m128 ^= m128 >> n(67);\n\n return (\n xorshift64(\n (xorshift64(m128 & mask64, n(35)) * PRIME_MX2) & mask64,\n n(28)\n ) |\n (XXH3_avalanche(m128 >> n(64)) << n(64))\n );\n }\n}\n\nfunction XXH3_len_9to16_128b(data: DataView, key64: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len >= 9 && len <= 16);\n\n {\n const bitflipl =\n ((key64.getBigUint64(32, true) ^ key64.getBigUint64(40, true)) + seed) &\n mask64;\n const bitfliph =\n ((key64.getBigUint64(48, true) ^ key64.getBigUint64(56, true)) - seed) &\n mask64;\n const ll1 = data.getBigUint64(0, true);\n let ll2 = data.getBigUint64(len - 8, true);\n\n let m128 = (ll1 ^ ll2 ^ bitflipl) * PRIME64_1;\n\n const m128_l = (m128 & mask64) + (n(len - 1) << n(54));\n m128 = (m128 & (mask128 ^ mask64)) | m128_l; // eqv. to adding only to lower 64b\n ll2 ^= bitfliph;\n\n m128 += (ll2 + (ll2 & mask32) * (PRIME32_2 - n(1))) << n(64);\n m128 &= mask128;\n m128 ^= bswap64(m128 >> n(64));\n let h128 = (m128 & mask64) * PRIME64_2;\n h128 += ((m128 >> n(64)) * PRIME64_2) << n(64);\n h128 &= mask128;\n\n return (\n XXH3_avalanche(h128 & mask64) | (XXH3_avalanche(h128 >> n(64)) << n(64))\n );\n }\n}\n\nfunction XXH3_len_0to16_128b(data: DataView, seed: bigint) {\n const len = data.byteLength;\n assert(len <= 16);\n\n if (len > 8) return XXH3_len_9to16_128b(data, kkey, seed);\n if (len >= 4) return XXH3_len_4to8_128b(data, kkey, seed);\n if (len > 0) return XXH3_len_1to3_128b(data, kkey, seed);\n\n return (\n XXH3_avalanche64(\n seed ^ kkey.getBigUint64(64, true) ^ kkey.getBigUint64(72, true)\n ) |\n (XXH3_avalanche64(\n seed ^ kkey.getBigUint64(80, true) ^ kkey.getBigUint64(88, true)\n ) <<\n n(64))\n );\n}\n\nfunction inv64(x: bigint) {\n // NOTE: `AND` fixes signedness (but because of 2's complement we need to re-add 1)\n return (~x + n(1)) & mask64;\n}\n\nfunction XXH3_len_17to128_128b(data: DataView, secret: DataView, seed: bigint) {\n let acc = (n(data.byteLength) * PRIME64_1) & mask64;\n let i = n(data.byteLength - 1) / n(32);\n while (i >= 0) {\n const ni = Number(i);\n acc = XXH3_mix32B(\n acc,\n view(data, 16 * ni),\n view(data, data.byteLength - 16 * (ni + 1)),\n view(secret, 32 * ni),\n seed\n );\n i -= n(1);\n }\n\n let h128l = (acc + (acc >> n(64))) & mask64;\n h128l = XXH3_avalanche(h128l);\n let h128h =\n (acc & mask64) * PRIME64_1 +\n (acc >> n(64)) * PRIME64_4 +\n ((n(data.byteLength) - seed) & mask64) * PRIME64_2;\n h128h &= mask64;\n\n h128h = inv64(XXH3_avalanche(h128h));\n return h128l | (h128h << n(64));\n}\n\nfunction XXH3_len_129to240_128b(\n data: DataView,\n secret: DataView,\n seed: bigint\n) {\n let acc = (n(data.byteLength) * PRIME64_1) & mask64;\n for (let i = 32; i < 160; i += 32) {\n acc = XXH3_mix32B(\n acc,\n view(data, i - 32),\n view(data, i - 16),\n view(secret, i - 32),\n seed\n );\n }\n acc = XXH3_avalanche(acc & mask64) | (XXH3_avalanche(acc >> n(64)) << n(64));\n for (let i = 160; i <= data.byteLength; i += 32) {\n acc = XXH3_mix32B(\n acc,\n view(data, i - 32),\n view(data, i - 16),\n view(secret, 3 + i - 160),\n seed\n );\n }\n acc = XXH3_mix32B(\n acc,\n view(data, data.byteLength - 16),\n view(data, data.byteLength - 32),\n view(secret, 136 - 17 - 16),\n inv64(seed)\n );\n\n let h128l = (acc + (acc >> n(64))) & mask64;\n h128l = XXH3_avalanche(h128l);\n let h128h =\n (acc & mask64) * PRIME64_1 +\n (acc >> n(64)) * PRIME64_4 +\n ((n(data.byteLength) - seed) & mask64) * PRIME64_2;\n h128h &= mask64;\n\n h128h = inv64(XXH3_avalanche(h128h));\n return h128l | (h128h << n(64));\n}\n\n// 16 byte min input\nexport function XXH3(input: Uint8Array | string, seed: bigint = n(0)) {\n const encoder = new TextEncoder();\n const data = view(typeof input === \"string\" ? encoder.encode(input) : input);\n const len = data.byteLength;\n\n const hexDigest = (data: bigint) => data.toString(16).padStart(32, \"0\");\n if (len <= 16) return hexDigest(XXH3_len_0to16_128b(data, seed));\n if (len <= 128) return hexDigest(XXH3_len_17to128_128b(data, kkey, seed));\n if (len <= 240) return hexDigest(XXH3_len_129to240_128b(data, kkey, seed));\n return hexDigest(XXH3_hashLong_128b(data, kkey));\n}\n\nexport function isXXH3(value: string): boolean {\n // Check if the given string matches the format of XXH3 (128 bit hex digest).\n return /^[0-9a-f]{32}$/.test(value);\n}\n"],"mappings":";;AA6BA,MAAM,KAAK,QAAuB,OAAOA,IAAE;AAC3C,MAAM,QAAQ,MAA6B,SAAiB,MAC1D,IAAI,SAAS,KAAK,QAAQ,KAAK,aAAa,QAAQ,KAAK,aAAa,OAAO;AAE/E,MAAM,YAAY,EAAE,aAAa;AACjC,MAAM,YAAY,EAAE,aAAa;AACjC,MAAM,YAAY,EAAE,aAAa;AACjC,MAAM,YAAY,EAAE,qBAAqB;AACzC,MAAM,YAAY,EAAE,qBAAqB;AACzC,MAAM,YAAY,EAAE,qBAAqB;AACzC,MAAM,YAAY,EAAE,qBAAqB;AACzC,MAAM,YAAY,EAAE,qBAAqB;AACzC,MAAM,YAAY,EAAE,qBAAqB;AACzC,MAAM,YAAY,EAAE,qBAAqB;AAEzC,MAAM,mBAAmB,QAAgB;CACvC,MAAM,SAAS,IAAI;AACnB,KAAI,SAAS,MAAM,EACjB,OAAM,IAAI,MAAM,kDAAkD;CAGpE,MAAM,YAAY,SAAS;CAC3B,MAAM,QAAQ,IAAI,WAAW,UAAU;CAEvC,IAAI,OAAO;CACX,IAAI,QAAQ;AACZ,QAAO,QAAQ,WAAW;EACxB,MAAM,QAAQ,IAAI,MAAM,MAAO,QAAQ,EAAG;AAC1C,QAAM,SAAS,OAAO,SAAS,OAAO,GAAG;AACzC,WAAS;;AAGX,QAAO,KAAK,MAAM;;AAGpB,MAAM,OAAO,gBACX,mYACD;AAED,MAAM,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE;AACvC,MAAM,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE;AACrC,MAAM,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE;AACrC,MAAM,aAAa;AACnB,MAAM,SAAS,aAAa;AAC5B,MAAM,OAAO;AACb,MAAM,OAAO;AAEb,SAAS,OAAO,GAAY;AAC1B,KAAI,CAAC,EAAG,OAAM,IAAI,MAAM,gBAAgB;;AAG1C,SAAS,QAAQ,GAAW;CAC1B,MAAM,6BAAa,IAAI,yBAAS,IAAI,YAAY,EAAE,CAAC;AACnD,YAAW,aAAa,GAAG,GAAG,KAAK;AACnC,QAAO,WAAW,aAAa,GAAG,MAAM;;AAG1C,SAAS,QAAQ,OAAe;CAC9B,IAAI,IAAI;AACR,MAAM,IAAI,EAAE,MAAW,KAAK,EAAE,GAAG,IAAM,IAAI,EAAE,WAAW,KAAK,EAAE,GAAG;AAClE,MAAM,IAAI,EAAE,SAAW,KAAK,EAAE,EAAE,IAAM,IAAI,EAAE,WAAW,KAAK,EAAE,EAAE;AAChE,QAAO;;AAGT,SAAS,eAAe,GAAW,GAAW;AAC5C,SAAS,IAAI,WAAW,IAAI,UAAW;;AAGzC,SAAS,OAAO,GAAW,GAAW;AACpC,SAAS,KAAK,IAAM,KAAM,EAAE,GAAG,GAAG,KAAO;;AAG3C,SAAS,oBACP,KACA,UACA,SACA;AACA,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;EAClC,MAAM,WAAW,SAAS,aAAa,IAAI,GAAG,KAAK;EACnD,MAAM,WAAW,WAAW,QAAQ,aAAa,IAAI,GAAG,KAAK;AAC7D,MAAI,IAAI,MAAM;AACd,MAAI,MAAM,eAAe,UAAU,YAAY,EAAE,GAAG,CAAC;;AAEvD,QAAO;;AAGT,SAAS,gBACP,KACA,UACA,SACA,WACA;AACA,MAAK,IAAIA,MAAI,GAAGA,MAAI,WAAW,OAAK,EAClC,qBACE,KACA,KAAK,UAAUA,MAAI,WAAW,EAC9B,KAAK,SAASA,MAAI,EAAE,CACrB;AAEH,QAAO;;AAGT,SAAS,iBAAiB,KAAqB,KAAe;AAC5D,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;EAClC,MAAM,QAAQ,IAAI,aAAa,IAAI,GAAG,KAAK;EAC3C,IAAI,QAAQ,IAAI;AAChB,UAAQ,WAAW,OAAO,EAAE,GAAG,CAAC;AAChC,WAAS;AACT,WAAS;AACT,MAAI,KAAK,QAAQ;;AAEnB,QAAO;;AAGT,SAAS,cAAc,KAAqB,KAAe;AACzD,QAAO,mBACL,IAAI,KAAK,IAAI,aAAa,GAAG,KAAK,EAClC,IAAI,KAAK,IAAI,aAAa,MAAM,KAAK,CACtC;;AAGH,SAAS,eAAe,KAAqB,KAAe,OAAe;CACzE,IAAI,WAAW;AAEf,aAAY,cAAc,IAAI,MAAM,EAAE,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC;AAC5D,aAAY,cAAc,IAAI,MAAM,EAAE,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC;AAC5D,aAAY,cAAc,IAAI,MAAM,EAAE,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC;AAC5D,aAAY,cAAc,IAAI,MAAM,EAAE,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC;AAE7D,QAAO,eAAe,WAAW,OAAO;;AAG1C,SAAS,cACP,OACA,MACA,QACA,OACA,YACA;CACA,IAAI,MAAM;CACV,MAAM,oBAAoB,KAAK,OAAO,OAAO,aAAa,cAAc,EAAE;CAC1E,MAAM,YAAY,aAAa;CAC/B,MAAM,YAAY,KAAK,OAAO,KAAK,aAAa,KAAK,UAAU;AAE/D,MAAK,IAAIA,MAAI,GAAGA,MAAI,WAAW,OAAK,GAAG;AACrC,QAAM,gBACJ,KACA,KAAK,MAAMA,MAAI,UAAU,EACzB,QACA,kBACD;AACD,QAAM,WAAW,KAAK,KAAK,QAAQ,OAAO,aAAa,WAAW,CAAC;;CAGrE;EAEE,MAAM,YAAY,KAAK,OACpB,KAAK,aAAa,IAAI,YAAY,aAAa,WACjD;AACD,QAAM,gBACJ,KACA,KAAK,MAAM,YAAY,UAAU,EACjC,QACA,UACD;AAGD,QAAM,MACJ,KACA,KAAK,MAAM,KAAK,aAAa,WAAW,EACxC,KAAK,QAAQ,OAAO,aAAa,aAAa,EAAE,CACjD;;AAEH,QAAO;;AAGT,SAAS,mBAAmB,MAAgB,QAAkB;CAC5D,IAAI,MAAM,IAAI,eAAe;EAC3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AACF,QAAO,KAAK,aAAa,IAAI;AAE7B,OAAM,cACJ,KACA,MACA,QACA,qBACA,iBACD;AAGD,QAAO,IAAI,SAAS,MAAM,GAAG;CAC7B;EACE,MAAM,QAAQ,eACZ,KACA,KAAK,QAAQ,GAAG,EACf,EAAE,KAAK,WAAW,GAAG,YAAa,OACpC;AAMD,SALe,eACb,KACA,KAAK,QAAQ,OAAO,aAAa,aAAa,GAAG,EACjD,EAAE,EAAE,KAAK,WAAW,GAAG,aAAa,OACrC,IACiB,EAAE,GAAG,GAAI;;;AAI/B,SAAS,mBAAmB,GAAW,GAAW;CAChD,MAAM,MAAO,IAAI,IAAK;AACtB,QAAQ,MAAM,SAAW,OAAO,EAAE,GAAG;;AAGvC,SAAS,YAAY,UAAoB,SAAmB,MAAc;AACxE,QAAO,oBACJ,SAAS,aAAa,GAAG,KAAK,GAAI,QAAQ,aAAa,GAAG,KAAK,GAAG,QACjE,SACD,SAAS,aAAa,GAAG,KAAK,GAAI,QAAQ,aAAa,GAAG,KAAK,GAAG,QACjE,OACH;;AAGH,SAAS,YACP,KACA,OACA,OACA,KACA,MACA;CACA,IAAI,OAAO,MAAM;CACjB,IAAI,OAAQ,OAAO,EAAE,GAAG,GAAI;AAE5B,SAAQ,YAAY,OAAO,KAAK,KAAK;AACrC,SAAQ,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,aAAa,GAAG,KAAK;AACjE,SAAQ;AACR,SAAQ,YAAY,OAAO,KAAK,KAAK,GAAG,EAAE,KAAK;AAC/C,SAAQ,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,aAAa,GAAG,KAAK;AACjE,SAAQ;AAER,QAAQ,QAAQ,EAAE,GAAG,GAAI;;AAG3B,SAAS,eAAe,OAAe;CACrC,IAAI,MAAM;AACV,QAAO,OAAO,EAAE,GAAG;AACnB,QAAO;AACP,QAAO;AACP,QAAO,OAAO,EAAE,GAAG;AACnB,QAAO;;AAGT,SAAS,iBAAiB,OAAe;CACvC,IAAI,MAAM;AACV,QAAO,OAAO,EAAE,GAAG;AACnB,QAAO;AACP,QAAO;AACP,QAAO,OAAO,EAAE,GAAG;AACnB,QAAO;AACP,QAAO;AACP,QAAO,OAAO,EAAE,GAAG;AACnB,QAAO;;AAGT,SAAS,mBAAmB,MAAgB,OAAiB,MAAc;CACzE,MAAM,MAAM,KAAK;AACjB,QAAO,MAAM,KAAK,OAAO,EAAE;CAE3B,MAAM,WACJ,EAAE,KAAK,SAAS,MAAM,EAAE,CAAC,GACzB,EAAE,OAAO,EAAE,GACX,EAAE,KAAK,SAAS,EAAE,IAAI,GAAG,GACzB,EAAE,KAAK,SAAS,OAAO,EAAE,IAAI,GAAG;CAIlC,MAAM,OAAO,YADV,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,QAChC;CAChC,MAAM,SACH,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,UAAU,IAAI,KAAK,CAAC,IAAI;AAGjE,SAAS,kBAFK,OAAO,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAC,GAAG,SAAS,OAE3B,GAAG,WAAW,EAAE,GAAG,GAAI,iBAAiB,IAAI;;AAG7E,SAAS,WAAW,GAAW,OAAe;AAC5C,QAAO,IAAK,KAAK;;AAGnB,SAAS,mBAAmB,MAAgB,OAAiB,MAAc;CACzE,MAAM,MAAM,KAAK;AACjB,QAAO,OAAO,KAAK,OAAO,EAAE;CAE5B;EACE,MAAM,KAAK,KAAK,UAAU,GAAG,KAAK;EAClC,MAAM,KAAK,KAAK,UAAU,MAAM,GAAG,KAAK;EAMxC,IAAI,SALQ,EAAE,GAAG,GAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAE/B,MAAM,aAAa,IAAI,KAAK,GAAG,MAAM,aAAa,IAAI,KAAK,IAAI,OACjE,WAEmB,aAAa,EAAE,IAAI,IAAI,EAAE,EAAE,KAAM;AACtD,WAAS,OAAO,WAAW,EAAE,GAAG;AAChC,UAAQ;AACR,UAAQ,QAAQ,EAAE,GAAG;AAErB,SACE,WACG,WAAW,OAAO,QAAQ,EAAE,GAAG,CAAC,GAAG,YAAa,QACjD,EAAE,GAAG,CACN,GACA,eAAe,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG;;;AAK7C,SAAS,oBAAoB,MAAgB,OAAiB,MAAc;CAC1E,MAAM,MAAM,KAAK;AACjB,QAAO,OAAO,KAAK,OAAO,GAAG;CAE7B;EACE,MAAM,YACF,MAAM,aAAa,IAAI,KAAK,GAAG,MAAM,aAAa,IAAI,KAAK,IAAI,OACjE;EACF,MAAM,YACF,MAAM,aAAa,IAAI,KAAK,GAAG,MAAM,aAAa,IAAI,KAAK,IAAI,OACjE;EACF,MAAM,MAAM,KAAK,aAAa,GAAG,KAAK;EACtC,IAAI,MAAM,KAAK,aAAa,MAAM,GAAG,KAAK;EAE1C,IAAI,QAAQ,MAAM,MAAM,YAAY;EAEpC,MAAM,UAAU,OAAO,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;AACrD,SAAQ,QAAQ,UAAU,UAAW;AACrC,SAAO;AAEP,UAAS,OAAO,MAAM,WAAW,YAAY,EAAE,EAAE,KAAM,EAAE,GAAG;AAC5D,UAAQ;AACR,UAAQ,QAAQ,QAAQ,EAAE,GAAG,CAAC;EAC9B,IAAI,QAAQ,OAAO,UAAU;AAC7B,WAAU,QAAQ,EAAE,GAAG,IAAI,aAAc,EAAE,GAAG;AAC9C,UAAQ;AAER,SACE,eAAe,OAAO,OAAO,GAAI,eAAe,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG;;;AAK7E,SAAS,oBAAoB,MAAgB,MAAc;CACzD,MAAM,MAAM,KAAK;AACjB,QAAO,OAAO,GAAG;AAEjB,KAAI,MAAM,EAAG,QAAO,oBAAoB,MAAM,MAAM,KAAK;AACzD,KAAI,OAAO,EAAG,QAAO,mBAAmB,MAAM,MAAM,KAAK;AACzD,KAAI,MAAM,EAAG,QAAO,mBAAmB,MAAM,MAAM,KAAK;AAExD,QACE,iBACE,OAAO,KAAK,aAAa,IAAI,KAAK,GAAG,KAAK,aAAa,IAAI,KAAK,CACjE,GACA,iBACC,OAAO,KAAK,aAAa,IAAI,KAAK,GAAG,KAAK,aAAa,IAAI,KAAK,CACjE,IACC,EAAE,GAAG;;AAIX,SAAS,MAAM,GAAW;AAExB,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAI;;AAGvB,SAAS,sBAAsB,MAAgB,QAAkB,MAAc;CAC7E,IAAI,MAAO,EAAE,KAAK,WAAW,GAAG,YAAa;CAC7C,IAAI,IAAI,EAAE,KAAK,aAAa,EAAE,GAAG,EAAE,GAAG;AACtC,QAAO,KAAK,GAAG;EACb,MAAM,KAAK,OAAO,EAAE;AACpB,QAAM,YACJ,KACA,KAAK,MAAM,KAAK,GAAG,EACnB,KAAK,MAAM,KAAK,aAAa,MAAM,KAAK,GAAG,EAC3C,KAAK,QAAQ,KAAK,GAAG,EACrB,KACD;AACD,OAAK,EAAE,EAAE;;CAGX,IAAI,QAAS,OAAO,OAAO,EAAE,GAAG,IAAK;AACrC,SAAQ,eAAe,MAAM;CAC7B,IAAI,SACD,MAAM,UAAU,aAChB,OAAO,EAAE,GAAG,IAAI,aACf,EAAE,KAAK,WAAW,GAAG,OAAQ,UAAU;AAC3C,UAAS;AAET,SAAQ,MAAM,eAAe,MAAM,CAAC;AACpC,QAAO,QAAS,SAAS,EAAE,GAAG;;AAGhC,SAAS,uBACP,MACA,QACA,MACA;CACA,IAAI,MAAO,EAAE,KAAK,WAAW,GAAG,YAAa;AAC7C,MAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,GAC7B,OAAM,YACJ,KACA,KAAK,MAAM,IAAI,GAAG,EAClB,KAAK,MAAM,IAAI,GAAG,EAClB,KAAK,QAAQ,IAAI,GAAG,EACpB,KACD;AAEH,OAAM,eAAe,MAAM,OAAO,GAAI,eAAe,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG;AAC3E,MAAK,IAAI,IAAI,KAAK,KAAK,KAAK,YAAY,KAAK,GAC3C,OAAM,YACJ,KACA,KAAK,MAAM,IAAI,GAAG,EAClB,KAAK,MAAM,IAAI,GAAG,EAClB,KAAK,QAAQ,IAAI,IAAI,IAAI,EACzB,KACD;AAEH,OAAM,YACJ,KACA,KAAK,MAAM,KAAK,aAAa,GAAG,EAChC,KAAK,MAAM,KAAK,aAAa,GAAG,EAChC,KAAK,QAAQ,IAAc,EAC3B,MAAM,KAAK,CACZ;CAED,IAAI,QAAS,OAAO,OAAO,EAAE,GAAG,IAAK;AACrC,SAAQ,eAAe,MAAM;CAC7B,IAAI,SACD,MAAM,UAAU,aAChB,OAAO,EAAE,GAAG,IAAI,aACf,EAAE,KAAK,WAAW,GAAG,OAAQ,UAAU;AAC3C,UAAS;AAET,SAAQ,MAAM,eAAe,MAAM,CAAC;AACpC,QAAO,QAAS,SAAS,EAAE,GAAG;;AAIhC,SAAgB,KAAK,OAA4B,OAAe,EAAE,EAAE,EAAE;CACpE,MAAM,UAAU,IAAI,aAAa;CACjC,MAAM,OAAO,KAAK,OAAO,UAAU,WAAW,QAAQ,OAAO,MAAM,GAAG,MAAM;CAC5E,MAAM,MAAM,KAAK;CAEjB,MAAM,aAAa,WAAiBC,OAAK,SAAS,GAAG,CAAC,SAAS,IAAI,IAAI;AACvE,KAAI,OAAO,GAAI,QAAO,UAAU,oBAAoB,MAAM,KAAK,CAAC;AAChE,KAAI,OAAO,IAAK,QAAO,UAAU,sBAAsB,MAAM,MAAM,KAAK,CAAC;AACzE,KAAI,OAAO,IAAK,QAAO,UAAU,uBAAuB,MAAM,MAAM,KAAK,CAAC;AAC1E,QAAO,UAAU,mBAAmB,MAAM,KAAK,CAAC;;AAGlD,SAAgB,OAAO,OAAwB;AAE7C,QAAO,iBAAiB,KAAK,MAAM"}
|
package/dist/hash.js
CHANGED
|
@@ -120,8 +120,7 @@ function XXH3_hashLong_128b(data, secret) {
|
|
|
120
120
|
assert(acc.length * 8 === 64);
|
|
121
121
|
{
|
|
122
122
|
const low64 = XXH3_mergeAccs(acc, view(secret, 11), n(data.byteLength) * PRIME64_1 & mask64);
|
|
123
|
-
|
|
124
|
-
return high64 << n(64) | low64;
|
|
123
|
+
return XXH3_mergeAccs(acc, view(secret, secret.byteLength - STRIPE_LEN - 11), ~(n(data.byteLength) * PRIME64_2) & mask64) << n(64) | low64;
|
|
125
124
|
}
|
|
126
125
|
}
|
|
127
126
|
function XXH3_mul128_fold64(a, b) {
|
|
@@ -165,11 +164,9 @@ function XXH3_len_1to3_128b(data, key32, seed) {
|
|
|
165
164
|
const len = data.byteLength;
|
|
166
165
|
assert(len > 0 && len <= 3);
|
|
167
166
|
const combined = n(data.getUint8(len - 1)) | n(len << 8) | n(data.getUint8(0) << 16) | n(data.getUint8(len >> 1) << 24);
|
|
168
|
-
const
|
|
169
|
-
const low = (combined ^ blow) & mask64;
|
|
167
|
+
const low = (combined ^ (n(key32.getUint32(0, true)) ^ n(key32.getUint32(4, true))) + seed) & mask64;
|
|
170
168
|
const bhigh = (n(key32.getUint32(8, true)) ^ n(key32.getUint32(12, true))) - seed;
|
|
171
|
-
|
|
172
|
-
return (XXH3_avalanche64(high) & mask64) << n(64) | XXH3_avalanche64(low);
|
|
169
|
+
return (XXH3_avalanche64((rotl32(bswap32(combined), n(13)) ^ bhigh) & mask64) & mask64) << n(64) | XXH3_avalanche64(low);
|
|
173
170
|
}
|
|
174
171
|
function xorshift64(b, shift) {
|
|
175
172
|
return b ^ b >> shift;
|
|
@@ -180,10 +177,7 @@ function XXH3_len_4to8_128b(data, key32, seed) {
|
|
|
180
177
|
{
|
|
181
178
|
const l1 = data.getUint32(0, true);
|
|
182
179
|
const l2 = data.getUint32(len - 4, true);
|
|
183
|
-
|
|
184
|
-
const bitflip = (key32.getBigUint64(16, true) ^ key32.getBigUint64(24, true)) + seed & mask64;
|
|
185
|
-
const keyed = l64 ^ bitflip;
|
|
186
|
-
let m128 = keyed * (PRIME64_1 + (n(len) << n(2))) & mask128;
|
|
180
|
+
let m128 = ((n(l1) | n(l2) << n(32)) ^ (key32.getBigUint64(16, true) ^ key32.getBigUint64(24, true)) + seed & mask64) * (PRIME64_1 + (n(len) << n(2))) & mask128;
|
|
187
181
|
m128 += (m128 & mask64) << n(65);
|
|
188
182
|
m128 &= mask128;
|
|
189
183
|
m128 ^= m128 >> n(67);
|