@langchain/langgraph-checkpoint 0.1.1 → 1.0.0
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/CHANGELOG.md +6 -0
- package/dist/_virtual/rolldown_runtime.cjs +25 -0
- package/dist/base.cjs +74 -88
- package/dist/base.cjs.map +1 -0
- package/dist/base.d.cts +95 -0
- package/dist/base.d.cts.map +1 -0
- package/dist/base.d.ts +79 -73
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +69 -80
- package/dist/base.js.map +1 -1
- package/dist/cache/base.cjs +17 -21
- package/dist/cache/base.cjs.map +1 -0
- package/dist/cache/base.d.cts +43 -0
- package/dist/cache/base.d.cts.map +1 -0
- package/dist/cache/base.d.ts +41 -36
- package/dist/cache/base.d.ts.map +1 -0
- package/dist/cache/base.js +16 -16
- package/dist/cache/base.js.map +1 -1
- package/dist/cache/index.cjs +2 -19
- package/dist/cache/index.js +4 -3
- package/dist/cache/memory.cjs +53 -58
- package/dist/cache/memory.cjs.map +1 -0
- package/dist/cache/memory.d.cts +19 -0
- package/dist/cache/memory.d.cts.map +1 -0
- package/dist/cache/memory.d.ts +18 -13
- package/dist/cache/memory.d.ts.map +1 -0
- package/dist/cache/memory.js +52 -53
- package/dist/cache/memory.js.map +1 -1
- package/dist/id.cjs +12 -16
- package/dist/id.cjs.map +1 -0
- package/dist/id.d.cts +10 -0
- package/dist/id.d.cts.map +1 -0
- package/dist/id.d.ts +10 -2
- package/dist/id.d.ts.map +1 -0
- package/dist/id.js +10 -12
- package/dist/id.js.map +1 -1
- package/dist/index.cjs +36 -27
- package/dist/index.d.cts +12 -0
- package/dist/index.d.ts +12 -8
- package/dist/index.js +12 -9
- package/dist/memory.cjs +194 -268
- package/dist/memory.cjs.map +1 -0
- package/dist/memory.d.cts +22 -0
- package/dist/memory.d.cts.map +1 -0
- package/dist/memory.d.ts +19 -12
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +193 -263
- package/dist/memory.js.map +1 -1
- package/dist/serde/base.d.cts +10 -0
- package/dist/serde/base.d.cts.map +1 -0
- package/dist/serde/base.d.ts +9 -3
- package/dist/serde/base.d.ts.map +1 -0
- package/dist/serde/jsonplus.cjs +92 -141
- package/dist/serde/jsonplus.cjs.map +1 -0
- package/dist/serde/jsonplus.js +90 -136
- package/dist/serde/jsonplus.js.map +1 -1
- package/dist/serde/types.cjs +15 -9
- package/dist/serde/types.cjs.map +1 -0
- package/dist/serde/types.d.cts +55 -0
- package/dist/serde/types.d.cts.map +1 -0
- package/dist/serde/types.d.ts +53 -47
- package/dist/serde/types.d.ts.map +1 -0
- package/dist/serde/types.js +9 -5
- package/dist/serde/types.js.map +1 -1
- package/dist/serde/utils/fast-safe-stringify/index.cjs +88 -208
- package/dist/serde/utils/fast-safe-stringify/index.cjs.map +1 -0
- package/dist/serde/utils/fast-safe-stringify/index.js +87 -205
- package/dist/serde/utils/fast-safe-stringify/index.js.map +1 -1
- package/dist/store/base.cjs +200 -209
- package/dist/store/base.cjs.map +1 -0
- package/dist/store/base.d.cts +392 -0
- package/dist/store/base.d.cts.map +1 -0
- package/dist/store/base.d.ts +336 -332
- package/dist/store/base.d.ts.map +1 -0
- package/dist/store/base.js +198 -204
- package/dist/store/base.js.map +1 -1
- package/dist/store/batch.cjs +116 -147
- package/dist/store/batch.cjs.map +1 -0
- package/dist/store/batch.d.cts +49 -0
- package/dist/store/batch.d.cts.map +1 -0
- package/dist/store/batch.d.ts +48 -40
- package/dist/store/batch.d.ts.map +1 -0
- package/dist/store/batch.js +116 -143
- package/dist/store/batch.js.map +1 -1
- package/dist/store/memory.cjs +262 -363
- package/dist/store/memory.cjs.map +1 -0
- package/dist/store/memory.d.cts +64 -0
- package/dist/store/memory.d.cts.map +1 -0
- package/dist/store/memory.d.ts +30 -24
- package/dist/store/memory.d.ts.map +1 -0
- package/dist/store/memory.js +261 -358
- package/dist/store/memory.js.map +1 -1
- package/dist/store/utils.cjs +141 -249
- package/dist/store/utils.cjs.map +1 -0
- package/dist/store/utils.js +140 -245
- package/dist/store/utils.js.map +1 -1
- package/dist/types.d.cts +35 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.ts +29 -28
- package/dist/types.d.ts.map +1 -0
- package/package.json +16 -18
- package/dist/cache/index.d.ts +0 -2
- package/dist/cache/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/serde/base.cjs +0 -3
- package/dist/serde/base.js +0 -2
- package/dist/serde/base.js.map +0 -1
- package/dist/serde/jsonplus.d.ts +0 -7
- package/dist/serde/utils/fast-safe-stringify/index.d.ts +0 -1
- package/dist/store/index.cjs +0 -20
- package/dist/store/index.d.ts +0 -3
- package/dist/store/index.js +0 -4
- package/dist/store/index.js.map +0 -1
- package/dist/store/utils.d.ts +0 -26
- package/dist/types.cjs +0 -3
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/index.cjs +0 -1
- package/index.d.cts +0 -1
- package/index.d.ts +0 -1
- package/index.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @langchain/langgraph-checkpoint
|
|
2
2
|
|
|
3
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 1e1ecbb: This release updates the package for compatibility with LangGraph v1.0. See the [v1.0 release notes](https://docs.langchain.com/oss/javascript/releases/langgraph-v1) for details on what's new.
|
|
8
|
+
|
|
3
9
|
## 0.1.1
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region rolldown:runtime
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
+
key = keys[i];
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: ((k) => from[k]).bind(null, key),
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
value: mod,
|
|
20
|
+
enumerable: true
|
|
21
|
+
}) : target, mod));
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
|
|
25
|
+
exports.__toESM = __toESM;
|
package/dist/base.cjs
CHANGED
|
@@ -1,104 +1,90 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.copyCheckpoint = copyCheckpoint;
|
|
7
|
-
exports.compareChannelVersions = compareChannelVersions;
|
|
8
|
-
exports.maxChannelVersion = maxChannelVersion;
|
|
9
|
-
exports.getCheckpointId = getCheckpointId;
|
|
10
|
-
const id_js_1 = require("./id.cjs");
|
|
11
|
-
const types_js_1 = require("./serde/types.cjs");
|
|
12
|
-
const jsonplus_js_1 = require("./serde/jsonplus.cjs");
|
|
1
|
+
const require_id = require('./id.cjs');
|
|
2
|
+
const require_types = require('./serde/types.cjs');
|
|
3
|
+
const require_jsonplus = require('./serde/jsonplus.cjs');
|
|
4
|
+
|
|
5
|
+
//#region src/base.ts
|
|
13
6
|
function deepCopy(obj) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
for (const key in obj) {
|
|
19
|
-
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
20
|
-
newObj[key] = deepCopy(obj[key]);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return newObj;
|
|
7
|
+
if (typeof obj !== "object" || obj === null) return obj;
|
|
8
|
+
const newObj = Array.isArray(obj) ? [] : {};
|
|
9
|
+
for (const key in obj) if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = deepCopy(obj[key]);
|
|
10
|
+
return newObj;
|
|
24
11
|
}
|
|
25
12
|
/** @hidden */
|
|
26
13
|
function emptyCheckpoint() {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
14
|
+
return {
|
|
15
|
+
v: 4,
|
|
16
|
+
id: require_id.uuid6(-2),
|
|
17
|
+
ts: (/* @__PURE__ */ new Date()).toISOString(),
|
|
18
|
+
channel_values: {},
|
|
19
|
+
channel_versions: {},
|
|
20
|
+
versions_seen: {}
|
|
21
|
+
};
|
|
35
22
|
}
|
|
36
23
|
/** @hidden */
|
|
37
24
|
function copyCheckpoint(checkpoint) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
25
|
+
return {
|
|
26
|
+
v: checkpoint.v,
|
|
27
|
+
id: checkpoint.id,
|
|
28
|
+
ts: checkpoint.ts,
|
|
29
|
+
channel_values: { ...checkpoint.channel_values },
|
|
30
|
+
channel_versions: { ...checkpoint.channel_versions },
|
|
31
|
+
versions_seen: deepCopy(checkpoint.versions_seen)
|
|
32
|
+
};
|
|
46
33
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
getNextVersion(current) {
|
|
68
|
-
if (typeof current === "string") {
|
|
69
|
-
throw new Error("Please override this method to use string versions.");
|
|
70
|
-
}
|
|
71
|
-
return (current !== undefined && typeof current === "number" ? current + 1 : 1);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.BaseCheckpointSaver = BaseCheckpointSaver;
|
|
34
|
+
var BaseCheckpointSaver = class {
|
|
35
|
+
serde = new require_jsonplus.JsonPlusSerializer();
|
|
36
|
+
constructor(serde) {
|
|
37
|
+
this.serde = serde || this.serde;
|
|
38
|
+
}
|
|
39
|
+
async get(config) {
|
|
40
|
+
const value = await this.getTuple(config);
|
|
41
|
+
return value ? value.checkpoint : void 0;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Generate the next version ID for a channel.
|
|
45
|
+
*
|
|
46
|
+
* Default is to use integer versions, incrementing by 1. If you override, you can use str/int/float versions,
|
|
47
|
+
* as long as they are monotonically increasing.
|
|
48
|
+
*/
|
|
49
|
+
getNextVersion(current) {
|
|
50
|
+
if (typeof current === "string") throw new Error("Please override this method to use string versions.");
|
|
51
|
+
return current !== void 0 && typeof current === "number" ? current + 1 : 1;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
75
54
|
function compareChannelVersions(a, b) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
return String(a).localeCompare(String(b));
|
|
55
|
+
if (typeof a === "number" && typeof b === "number") return Math.sign(a - b);
|
|
56
|
+
return String(a).localeCompare(String(b));
|
|
80
57
|
}
|
|
81
58
|
function maxChannelVersion(...versions) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
});
|
|
59
|
+
return versions.reduce((max, version, idx) => {
|
|
60
|
+
if (idx === 0) return version;
|
|
61
|
+
return compareChannelVersions(max, version) >= 0 ? max : version;
|
|
62
|
+
});
|
|
87
63
|
}
|
|
88
64
|
/**
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
65
|
+
* Mapping from error type to error index.
|
|
66
|
+
* Regular writes just map to their index in the list of writes being saved.
|
|
67
|
+
* Special writes (e.g. errors) map to negative indices, to avoid those writes from
|
|
68
|
+
* conflicting with regular writes.
|
|
69
|
+
* Each Checkpointer implementation should use this mapping in put_writes.
|
|
70
|
+
*/
|
|
71
|
+
const WRITES_IDX_MAP = {
|
|
72
|
+
[require_types.ERROR]: -1,
|
|
73
|
+
[require_types.SCHEDULED]: -2,
|
|
74
|
+
[require_types.INTERRUPT]: -3,
|
|
75
|
+
[require_types.RESUME]: -4
|
|
100
76
|
};
|
|
101
77
|
function getCheckpointId(config) {
|
|
102
|
-
|
|
78
|
+
return config.configurable?.checkpoint_id || config.configurable?.thread_ts || "";
|
|
103
79
|
}
|
|
104
|
-
|
|
80
|
+
|
|
81
|
+
//#endregion
|
|
82
|
+
exports.BaseCheckpointSaver = BaseCheckpointSaver;
|
|
83
|
+
exports.WRITES_IDX_MAP = WRITES_IDX_MAP;
|
|
84
|
+
exports.compareChannelVersions = compareChannelVersions;
|
|
85
|
+
exports.copyCheckpoint = copyCheckpoint;
|
|
86
|
+
exports.deepCopy = deepCopy;
|
|
87
|
+
exports.emptyCheckpoint = emptyCheckpoint;
|
|
88
|
+
exports.getCheckpointId = getCheckpointId;
|
|
89
|
+
exports.maxChannelVersion = maxChannelVersion;
|
|
90
|
+
//# sourceMappingURL=base.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.cjs","names":["uuid6","JsonPlusSerializer","WRITES_IDX_MAP: Record<string, number>","ERROR","SCHEDULED","INTERRUPT","RESUME"],"sources":["../src/base.ts"],"sourcesContent":["import type { RunnableConfig } from \"@langchain/core/runnables\";\nimport { SerializerProtocol } from \"./serde/base.js\";\nimport { uuid6 } from \"./id.js\";\nimport type {\n PendingWrite,\n CheckpointPendingWrite,\n CheckpointMetadata,\n} from \"./types.js\";\nimport { ERROR, INTERRUPT, RESUME, SCHEDULED } from \"./serde/types.js\";\nimport { JsonPlusSerializer } from \"./serde/jsonplus.js\";\n\n/** @inline */\ntype ChannelVersion = number | string;\n\nexport type ChannelVersions = Record<string, ChannelVersion>;\n\nexport interface Checkpoint<\n N extends string = string,\n C extends string = string\n> {\n /**\n * The version of the checkpoint format. Currently 4\n */\n v: number;\n /**\n * Checkpoint ID {uuid6}\n */\n id: string;\n /**\n * Timestamp {new Date().toISOString()}\n */\n ts: string;\n /**\n * @default {}\n */\n channel_values: Record<C, unknown>;\n /**\n * @default {}\n */\n channel_versions: Record<C, ChannelVersion>;\n /**\n * @default {}\n */\n versions_seen: Record<N, Record<C, ChannelVersion>>;\n}\n\nexport interface ReadonlyCheckpoint extends Readonly<Checkpoint> {\n readonly channel_values: Readonly<Record<string, unknown>>;\n readonly channel_versions: Readonly<Record<string, ChannelVersion>>;\n readonly versions_seen: Readonly<\n Record<string, Readonly<Record<string, ChannelVersion>>>\n >;\n}\n\nexport function deepCopy<T>(obj: T): T {\n if (typeof obj !== \"object\" || obj === null) {\n return obj;\n }\n\n const newObj = Array.isArray(obj) ? [] : {};\n\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n (newObj as Record<PropertyKey, unknown>)[key] = deepCopy(\n (obj as Record<string, unknown>)[key]\n );\n }\n }\n\n return newObj as T;\n}\n\n/** @hidden */\nexport function emptyCheckpoint(): Checkpoint {\n return {\n v: 4,\n id: uuid6(-2),\n ts: new Date().toISOString(),\n channel_values: {},\n channel_versions: {},\n versions_seen: {},\n };\n}\n\n/** @hidden */\nexport function copyCheckpoint(checkpoint: ReadonlyCheckpoint): Checkpoint {\n return {\n v: checkpoint.v,\n id: checkpoint.id,\n ts: checkpoint.ts,\n channel_values: { ...checkpoint.channel_values },\n channel_versions: { ...checkpoint.channel_versions },\n versions_seen: deepCopy(checkpoint.versions_seen),\n };\n}\n\nexport interface CheckpointTuple {\n config: RunnableConfig;\n checkpoint: Checkpoint;\n metadata?: CheckpointMetadata;\n parentConfig?: RunnableConfig;\n pendingWrites?: CheckpointPendingWrite[];\n}\n\nexport type CheckpointListOptions = {\n limit?: number;\n before?: RunnableConfig;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n filter?: Record<string, any>;\n};\n\nexport abstract class BaseCheckpointSaver<V extends string | number = number> {\n serde: SerializerProtocol = new JsonPlusSerializer();\n\n constructor(serde?: SerializerProtocol) {\n this.serde = serde || this.serde;\n }\n\n async get(config: RunnableConfig): Promise<Checkpoint | undefined> {\n const value = await this.getTuple(config);\n return value ? value.checkpoint : undefined;\n }\n\n abstract getTuple(\n config: RunnableConfig\n ): Promise<CheckpointTuple | undefined>;\n\n abstract list(\n config: RunnableConfig,\n options?: CheckpointListOptions\n ): AsyncGenerator<CheckpointTuple>;\n\n abstract put(\n config: RunnableConfig,\n checkpoint: Checkpoint,\n metadata: CheckpointMetadata,\n newVersions: ChannelVersions\n ): Promise<RunnableConfig>;\n\n /**\n * Store intermediate writes linked to a checkpoint.\n */\n abstract putWrites(\n config: RunnableConfig,\n writes: PendingWrite[],\n taskId: string\n ): Promise<void>;\n\n /**\n * Delete all checkpoints and writes associated with a specific thread ID.\n * @param threadId The thread ID whose checkpoints should be deleted.\n */\n abstract deleteThread(threadId: string): Promise<void>;\n\n /**\n * Generate the next version ID for a channel.\n *\n * Default is to use integer versions, incrementing by 1. If you override, you can use str/int/float versions,\n * as long as they are monotonically increasing.\n */\n getNextVersion(current: V | undefined): V {\n if (typeof current === \"string\") {\n throw new Error(\"Please override this method to use string versions.\");\n }\n return (\n current !== undefined && typeof current === \"number\" ? current + 1 : 1\n ) as V;\n }\n}\n\nexport function compareChannelVersions(\n a: ChannelVersion,\n b: ChannelVersion\n): number {\n if (typeof a === \"number\" && typeof b === \"number\") {\n return Math.sign(a - b);\n }\n\n return String(a).localeCompare(String(b));\n}\n\nexport function maxChannelVersion(\n ...versions: ChannelVersion[]\n): ChannelVersion {\n return versions.reduce((max, version, idx) => {\n if (idx === 0) return version;\n return compareChannelVersions(max, version) >= 0 ? max : version;\n });\n}\n\n/**\n * Mapping from error type to error index.\n * Regular writes just map to their index in the list of writes being saved.\n * Special writes (e.g. errors) map to negative indices, to avoid those writes from\n * conflicting with regular writes.\n * Each Checkpointer implementation should use this mapping in put_writes.\n */\nexport const WRITES_IDX_MAP: Record<string, number> = {\n [ERROR]: -1,\n [SCHEDULED]: -2,\n [INTERRUPT]: -3,\n [RESUME]: -4,\n};\n\nexport function getCheckpointId(config: RunnableConfig): string {\n return (\n config.configurable?.checkpoint_id || config.configurable?.thread_ts || \"\"\n );\n}\n"],"mappings":";;;;;AAsDA,SAAgB,SAAY,KAAW;AACrC,KAAI,OAAO,QAAQ,YAAY,QAAQ,KACrC,QAAO;CAGT,MAAM,SAAS,MAAM,QAAQ,OAAO,KAAK;AAEzC,MAAK,MAAM,OAAO,IAChB,KAAI,OAAO,UAAU,eAAe,KAAK,KAAK,KAC5C,CAAC,OAAwC,OAAO,SAC7C,IAAgC;AAKvC,QAAO;;;AAIT,SAAgB,kBAA8B;AAC5C,QAAO;EACL,GAAG;EACH,IAAIA,iBAAM;EACV,qBAAI,IAAI,QAAO;EACf,gBAAgB;EAChB,kBAAkB;EAClB,eAAe;;;;AAKnB,SAAgB,eAAe,YAA4C;AACzE,QAAO;EACL,GAAG,WAAW;EACd,IAAI,WAAW;EACf,IAAI,WAAW;EACf,gBAAgB,EAAE,GAAG,WAAW;EAChC,kBAAkB,EAAE,GAAG,WAAW;EAClC,eAAe,SAAS,WAAW;;;AAmBvC,IAAsB,sBAAtB,MAA8E;CAC5E,QAA4B,IAAIC;CAEhC,YAAY,OAA4B;AACtC,OAAK,QAAQ,SAAS,KAAK;;CAG7B,MAAM,IAAI,QAAyD;EACjE,MAAM,QAAQ,MAAM,KAAK,SAAS;AAClC,SAAO,QAAQ,MAAM,aAAa;;;;;;;;CAwCpC,eAAe,SAA2B;AACxC,MAAI,OAAO,YAAY,SACrB,OAAM,IAAI,MAAM;AAElB,SACE,YAAY,UAAa,OAAO,YAAY,WAAW,UAAU,IAAI;;;AAK3E,SAAgB,uBACd,GACA,GACQ;AACR,KAAI,OAAO,MAAM,YAAY,OAAO,MAAM,SACxC,QAAO,KAAK,KAAK,IAAI;AAGvB,QAAO,OAAO,GAAG,cAAc,OAAO;;AAGxC,SAAgB,kBACd,GAAG,UACa;AAChB,QAAO,SAAS,QAAQ,KAAK,SAAS,QAAQ;AAC5C,MAAI,QAAQ,EAAG,QAAO;AACtB,SAAO,uBAAuB,KAAK,YAAY,IAAI,MAAM;;;;;;;;;;AAW7D,MAAaC,iBAAyC;EACnDC,sBAAQ;EACRC,0BAAY;EACZC,0BAAY;EACZC,uBAAS;;AAGZ,SAAgB,gBAAgB,QAAgC;AAC9D,QACE,OAAO,cAAc,iBAAiB,OAAO,cAAc,aAAa"}
|
package/dist/base.d.cts
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { SerializerProtocol } from "./serde/base.cjs";
|
|
2
|
+
import { CheckpointMetadata, CheckpointPendingWrite, PendingWrite } from "./types.cjs";
|
|
3
|
+
import { RunnableConfig } from "@langchain/core/runnables";
|
|
4
|
+
|
|
5
|
+
//#region src/base.d.ts
|
|
6
|
+
/** @inline */
|
|
7
|
+
type ChannelVersion = number | string;
|
|
8
|
+
type ChannelVersions = Record<string, ChannelVersion>;
|
|
9
|
+
interface Checkpoint<N extends string = string, C extends string = string> {
|
|
10
|
+
/**
|
|
11
|
+
* The version of the checkpoint format. Currently 4
|
|
12
|
+
*/
|
|
13
|
+
v: number;
|
|
14
|
+
/**
|
|
15
|
+
* Checkpoint ID {uuid6}
|
|
16
|
+
*/
|
|
17
|
+
id: string;
|
|
18
|
+
/**
|
|
19
|
+
* Timestamp {new Date().toISOString()}
|
|
20
|
+
*/
|
|
21
|
+
ts: string;
|
|
22
|
+
/**
|
|
23
|
+
* @default {}
|
|
24
|
+
*/
|
|
25
|
+
channel_values: Record<C, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* @default {}
|
|
28
|
+
*/
|
|
29
|
+
channel_versions: Record<C, ChannelVersion>;
|
|
30
|
+
/**
|
|
31
|
+
* @default {}
|
|
32
|
+
*/
|
|
33
|
+
versions_seen: Record<N, Record<C, ChannelVersion>>;
|
|
34
|
+
}
|
|
35
|
+
interface ReadonlyCheckpoint extends Readonly<Checkpoint> {
|
|
36
|
+
readonly channel_values: Readonly<Record<string, unknown>>;
|
|
37
|
+
readonly channel_versions: Readonly<Record<string, ChannelVersion>>;
|
|
38
|
+
readonly versions_seen: Readonly<Record<string, Readonly<Record<string, ChannelVersion>>>>;
|
|
39
|
+
}
|
|
40
|
+
declare function deepCopy<T>(obj: T): T;
|
|
41
|
+
/** @hidden */
|
|
42
|
+
declare function emptyCheckpoint(): Checkpoint;
|
|
43
|
+
/** @hidden */
|
|
44
|
+
declare function copyCheckpoint(checkpoint: ReadonlyCheckpoint): Checkpoint;
|
|
45
|
+
interface CheckpointTuple {
|
|
46
|
+
config: RunnableConfig;
|
|
47
|
+
checkpoint: Checkpoint;
|
|
48
|
+
metadata?: CheckpointMetadata;
|
|
49
|
+
parentConfig?: RunnableConfig;
|
|
50
|
+
pendingWrites?: CheckpointPendingWrite[];
|
|
51
|
+
}
|
|
52
|
+
type CheckpointListOptions = {
|
|
53
|
+
limit?: number;
|
|
54
|
+
before?: RunnableConfig;
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56
|
+
filter?: Record<string, any>;
|
|
57
|
+
};
|
|
58
|
+
declare abstract class BaseCheckpointSaver<V extends string | number = number> {
|
|
59
|
+
serde: SerializerProtocol;
|
|
60
|
+
constructor(serde?: SerializerProtocol);
|
|
61
|
+
get(config: RunnableConfig): Promise<Checkpoint | undefined>;
|
|
62
|
+
abstract getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;
|
|
63
|
+
abstract list(config: RunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;
|
|
64
|
+
abstract put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata, newVersions: ChannelVersions): Promise<RunnableConfig>;
|
|
65
|
+
/**
|
|
66
|
+
* Store intermediate writes linked to a checkpoint.
|
|
67
|
+
*/
|
|
68
|
+
abstract putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Delete all checkpoints and writes associated with a specific thread ID.
|
|
71
|
+
* @param threadId The thread ID whose checkpoints should be deleted.
|
|
72
|
+
*/
|
|
73
|
+
abstract deleteThread(threadId: string): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Generate the next version ID for a channel.
|
|
76
|
+
*
|
|
77
|
+
* Default is to use integer versions, incrementing by 1. If you override, you can use str/int/float versions,
|
|
78
|
+
* as long as they are monotonically increasing.
|
|
79
|
+
*/
|
|
80
|
+
getNextVersion(current: V | undefined): V;
|
|
81
|
+
}
|
|
82
|
+
declare function compareChannelVersions(a: ChannelVersion, b: ChannelVersion): number;
|
|
83
|
+
declare function maxChannelVersion(...versions: ChannelVersion[]): ChannelVersion;
|
|
84
|
+
/**
|
|
85
|
+
* Mapping from error type to error index.
|
|
86
|
+
* Regular writes just map to their index in the list of writes being saved.
|
|
87
|
+
* Special writes (e.g. errors) map to negative indices, to avoid those writes from
|
|
88
|
+
* conflicting with regular writes.
|
|
89
|
+
* Each Checkpointer implementation should use this mapping in put_writes.
|
|
90
|
+
*/
|
|
91
|
+
declare const WRITES_IDX_MAP: Record<string, number>;
|
|
92
|
+
declare function getCheckpointId(config: RunnableConfig): string;
|
|
93
|
+
//#endregion
|
|
94
|
+
export { BaseCheckpointSaver, ChannelVersions, Checkpoint, CheckpointListOptions, CheckpointTuple, ReadonlyCheckpoint, WRITES_IDX_MAP, compareChannelVersions, copyCheckpoint, deepCopy, emptyCheckpoint, getCheckpointId, maxChannelVersion };
|
|
95
|
+
//# sourceMappingURL=base.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.cts","names":["RunnableConfig","SerializerProtocol","PendingWrite","CheckpointPendingWrite","CheckpointMetadata","ChannelVersion","ChannelVersions","Record","Checkpoint","C","N","ReadonlyCheckpoint","Readonly","deepCopy","T","emptyCheckpoint","copyCheckpoint","CheckpointTuple","CheckpointListOptions","BaseCheckpointSaver","Promise","AsyncGenerator","V","compareChannelVersions","maxChannelVersion","WRITES_IDX_MAP","getCheckpointId"],"sources":["../src/base.d.ts"],"sourcesContent":["import type { RunnableConfig } from \"@langchain/core/runnables\";\nimport { SerializerProtocol } from \"./serde/base.js\";\nimport type { PendingWrite, CheckpointPendingWrite, CheckpointMetadata } from \"./types.js\";\n/** @inline */\ntype ChannelVersion = number | string;\nexport type ChannelVersions = Record<string, ChannelVersion>;\nexport interface Checkpoint<N extends string = string, C extends string = string> {\n /**\n * The version of the checkpoint format. Currently 4\n */\n v: number;\n /**\n * Checkpoint ID {uuid6}\n */\n id: string;\n /**\n * Timestamp {new Date().toISOString()}\n */\n ts: string;\n /**\n * @default {}\n */\n channel_values: Record<C, unknown>;\n /**\n * @default {}\n */\n channel_versions: Record<C, ChannelVersion>;\n /**\n * @default {}\n */\n versions_seen: Record<N, Record<C, ChannelVersion>>;\n}\nexport interface ReadonlyCheckpoint extends Readonly<Checkpoint> {\n readonly channel_values: Readonly<Record<string, unknown>>;\n readonly channel_versions: Readonly<Record<string, ChannelVersion>>;\n readonly versions_seen: Readonly<Record<string, Readonly<Record<string, ChannelVersion>>>>;\n}\nexport declare function deepCopy<T>(obj: T): T;\n/** @hidden */\nexport declare function emptyCheckpoint(): Checkpoint;\n/** @hidden */\nexport declare function copyCheckpoint(checkpoint: ReadonlyCheckpoint): Checkpoint;\nexport interface CheckpointTuple {\n config: RunnableConfig;\n checkpoint: Checkpoint;\n metadata?: CheckpointMetadata;\n parentConfig?: RunnableConfig;\n pendingWrites?: CheckpointPendingWrite[];\n}\nexport type CheckpointListOptions = {\n limit?: number;\n before?: RunnableConfig;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n filter?: Record<string, any>;\n};\nexport declare abstract class BaseCheckpointSaver<V extends string | number = number> {\n serde: SerializerProtocol;\n constructor(serde?: SerializerProtocol);\n get(config: RunnableConfig): Promise<Checkpoint | undefined>;\n abstract getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;\n abstract list(config: RunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;\n abstract put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata, newVersions: ChannelVersions): Promise<RunnableConfig>;\n /**\n * Store intermediate writes linked to a checkpoint.\n */\n abstract putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;\n /**\n * Delete all checkpoints and writes associated with a specific thread ID.\n * @param threadId The thread ID whose checkpoints should be deleted.\n */\n abstract deleteThread(threadId: string): Promise<void>;\n /**\n * Generate the next version ID for a channel.\n *\n * Default is to use integer versions, incrementing by 1. If you override, you can use str/int/float versions,\n * as long as they are monotonically increasing.\n */\n getNextVersion(current: V | undefined): V;\n}\nexport declare function compareChannelVersions(a: ChannelVersion, b: ChannelVersion): number;\nexport declare function maxChannelVersion(...versions: ChannelVersion[]): ChannelVersion;\n/**\n * Mapping from error type to error index.\n * Regular writes just map to their index in the list of writes being saved.\n * Special writes (e.g. errors) map to negative indices, to avoid those writes from\n * conflicting with regular writes.\n * Each Checkpointer implementation should use this mapping in put_writes.\n */\nexport declare const WRITES_IDX_MAP: Record<string, number>;\nexport declare function getCheckpointId(config: RunnableConfig): string;\nexport {};\n"],"mappings":"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"}
|
package/dist/base.d.ts
CHANGED
|
@@ -1,82 +1,86 @@
|
|
|
1
|
-
import type { RunnableConfig } from "@langchain/core/runnables";
|
|
2
1
|
import { SerializerProtocol } from "./serde/base.js";
|
|
3
|
-
import
|
|
2
|
+
import { CheckpointMetadata, CheckpointPendingWrite, PendingWrite } from "./types.js";
|
|
3
|
+
import { RunnableConfig } from "@langchain/core/runnables";
|
|
4
|
+
|
|
5
|
+
//#region src/base.d.ts
|
|
6
|
+
/** @inline */
|
|
4
7
|
type ChannelVersion = number | string;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
8
|
+
type ChannelVersions = Record<string, ChannelVersion>;
|
|
9
|
+
interface Checkpoint<N extends string = string, C extends string = string> {
|
|
10
|
+
/**
|
|
11
|
+
* The version of the checkpoint format. Currently 4
|
|
12
|
+
*/
|
|
13
|
+
v: number;
|
|
14
|
+
/**
|
|
15
|
+
* Checkpoint ID {uuid6}
|
|
16
|
+
*/
|
|
17
|
+
id: string;
|
|
18
|
+
/**
|
|
19
|
+
* Timestamp {new Date().toISOString()}
|
|
20
|
+
*/
|
|
21
|
+
ts: string;
|
|
22
|
+
/**
|
|
23
|
+
* @default {}
|
|
24
|
+
*/
|
|
25
|
+
channel_values: Record<C, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* @default {}
|
|
28
|
+
*/
|
|
29
|
+
channel_versions: Record<C, ChannelVersion>;
|
|
30
|
+
/**
|
|
31
|
+
* @default {}
|
|
32
|
+
*/
|
|
33
|
+
versions_seen: Record<N, Record<C, ChannelVersion>>;
|
|
31
34
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
interface ReadonlyCheckpoint extends Readonly<Checkpoint> {
|
|
36
|
+
readonly channel_values: Readonly<Record<string, unknown>>;
|
|
37
|
+
readonly channel_versions: Readonly<Record<string, ChannelVersion>>;
|
|
38
|
+
readonly versions_seen: Readonly<Record<string, Readonly<Record<string, ChannelVersion>>>>;
|
|
36
39
|
}
|
|
37
|
-
|
|
40
|
+
declare function deepCopy<T>(obj: T): T;
|
|
38
41
|
/** @hidden */
|
|
39
|
-
|
|
42
|
+
declare function emptyCheckpoint(): Checkpoint;
|
|
40
43
|
/** @hidden */
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
declare function copyCheckpoint(checkpoint: ReadonlyCheckpoint): Checkpoint;
|
|
45
|
+
interface CheckpointTuple {
|
|
46
|
+
config: RunnableConfig;
|
|
47
|
+
checkpoint: Checkpoint;
|
|
48
|
+
metadata?: CheckpointMetadata;
|
|
49
|
+
parentConfig?: RunnableConfig;
|
|
50
|
+
pendingWrites?: CheckpointPendingWrite[];
|
|
48
51
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
type CheckpointListOptions = {
|
|
53
|
+
limit?: number;
|
|
54
|
+
before?: RunnableConfig;
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56
|
+
filter?: Record<string, any>;
|
|
53
57
|
};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
58
|
+
declare abstract class BaseCheckpointSaver<V extends string | number = number> {
|
|
59
|
+
serde: SerializerProtocol;
|
|
60
|
+
constructor(serde?: SerializerProtocol);
|
|
61
|
+
get(config: RunnableConfig): Promise<Checkpoint | undefined>;
|
|
62
|
+
abstract getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;
|
|
63
|
+
abstract list(config: RunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;
|
|
64
|
+
abstract put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata, newVersions: ChannelVersions): Promise<RunnableConfig>;
|
|
65
|
+
/**
|
|
66
|
+
* Store intermediate writes linked to a checkpoint.
|
|
67
|
+
*/
|
|
68
|
+
abstract putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Delete all checkpoints and writes associated with a specific thread ID.
|
|
71
|
+
* @param threadId The thread ID whose checkpoints should be deleted.
|
|
72
|
+
*/
|
|
73
|
+
abstract deleteThread(threadId: string): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Generate the next version ID for a channel.
|
|
76
|
+
*
|
|
77
|
+
* Default is to use integer versions, incrementing by 1. If you override, you can use str/int/float versions,
|
|
78
|
+
* as long as they are monotonically increasing.
|
|
79
|
+
*/
|
|
80
|
+
getNextVersion(current: V | undefined): V;
|
|
77
81
|
}
|
|
78
|
-
|
|
79
|
-
|
|
82
|
+
declare function compareChannelVersions(a: ChannelVersion, b: ChannelVersion): number;
|
|
83
|
+
declare function maxChannelVersion(...versions: ChannelVersion[]): ChannelVersion;
|
|
80
84
|
/**
|
|
81
85
|
* Mapping from error type to error index.
|
|
82
86
|
* Regular writes just map to their index in the list of writes being saved.
|
|
@@ -84,6 +88,8 @@ export declare function maxChannelVersion(...versions: ChannelVersion[]): Channe
|
|
|
84
88
|
* conflicting with regular writes.
|
|
85
89
|
* Each Checkpointer implementation should use this mapping in put_writes.
|
|
86
90
|
*/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
declare const WRITES_IDX_MAP: Record<string, number>;
|
|
92
|
+
declare function getCheckpointId(config: RunnableConfig): string;
|
|
93
|
+
//#endregion
|
|
94
|
+
export { BaseCheckpointSaver, ChannelVersions, Checkpoint, CheckpointListOptions, CheckpointTuple, ReadonlyCheckpoint, WRITES_IDX_MAP, compareChannelVersions, copyCheckpoint, deepCopy, emptyCheckpoint, getCheckpointId, maxChannelVersion };
|
|
95
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","names":["RunnableConfig","SerializerProtocol","PendingWrite","CheckpointPendingWrite","CheckpointMetadata","ChannelVersion","ChannelVersions","Record","Checkpoint","C","N","ReadonlyCheckpoint","Readonly","deepCopy","T","emptyCheckpoint","copyCheckpoint","CheckpointTuple","CheckpointListOptions","BaseCheckpointSaver","Promise","AsyncGenerator","V","compareChannelVersions","maxChannelVersion","WRITES_IDX_MAP","getCheckpointId"],"sources":["../src/base.d.ts"],"sourcesContent":["import type { RunnableConfig } from \"@langchain/core/runnables\";\nimport { SerializerProtocol } from \"./serde/base.js\";\nimport type { PendingWrite, CheckpointPendingWrite, CheckpointMetadata } from \"./types.js\";\n/** @inline */\ntype ChannelVersion = number | string;\nexport type ChannelVersions = Record<string, ChannelVersion>;\nexport interface Checkpoint<N extends string = string, C extends string = string> {\n /**\n * The version of the checkpoint format. Currently 4\n */\n v: number;\n /**\n * Checkpoint ID {uuid6}\n */\n id: string;\n /**\n * Timestamp {new Date().toISOString()}\n */\n ts: string;\n /**\n * @default {}\n */\n channel_values: Record<C, unknown>;\n /**\n * @default {}\n */\n channel_versions: Record<C, ChannelVersion>;\n /**\n * @default {}\n */\n versions_seen: Record<N, Record<C, ChannelVersion>>;\n}\nexport interface ReadonlyCheckpoint extends Readonly<Checkpoint> {\n readonly channel_values: Readonly<Record<string, unknown>>;\n readonly channel_versions: Readonly<Record<string, ChannelVersion>>;\n readonly versions_seen: Readonly<Record<string, Readonly<Record<string, ChannelVersion>>>>;\n}\nexport declare function deepCopy<T>(obj: T): T;\n/** @hidden */\nexport declare function emptyCheckpoint(): Checkpoint;\n/** @hidden */\nexport declare function copyCheckpoint(checkpoint: ReadonlyCheckpoint): Checkpoint;\nexport interface CheckpointTuple {\n config: RunnableConfig;\n checkpoint: Checkpoint;\n metadata?: CheckpointMetadata;\n parentConfig?: RunnableConfig;\n pendingWrites?: CheckpointPendingWrite[];\n}\nexport type CheckpointListOptions = {\n limit?: number;\n before?: RunnableConfig;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n filter?: Record<string, any>;\n};\nexport declare abstract class BaseCheckpointSaver<V extends string | number = number> {\n serde: SerializerProtocol;\n constructor(serde?: SerializerProtocol);\n get(config: RunnableConfig): Promise<Checkpoint | undefined>;\n abstract getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;\n abstract list(config: RunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;\n abstract put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata, newVersions: ChannelVersions): Promise<RunnableConfig>;\n /**\n * Store intermediate writes linked to a checkpoint.\n */\n abstract putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;\n /**\n * Delete all checkpoints and writes associated with a specific thread ID.\n * @param threadId The thread ID whose checkpoints should be deleted.\n */\n abstract deleteThread(threadId: string): Promise<void>;\n /**\n * Generate the next version ID for a channel.\n *\n * Default is to use integer versions, incrementing by 1. If you override, you can use str/int/float versions,\n * as long as they are monotonically increasing.\n */\n getNextVersion(current: V | undefined): V;\n}\nexport declare function compareChannelVersions(a: ChannelVersion, b: ChannelVersion): number;\nexport declare function maxChannelVersion(...versions: ChannelVersion[]): ChannelVersion;\n/**\n * Mapping from error type to error index.\n * Regular writes just map to their index in the list of writes being saved.\n * Special writes (e.g. errors) map to negative indices, to avoid those writes from\n * conflicting with regular writes.\n * Each Checkpointer implementation should use this mapping in put_writes.\n */\nexport declare const WRITES_IDX_MAP: Record<string, number>;\nexport declare function getCheckpointId(config: RunnableConfig): string;\nexport {};\n"],"mappings":";;;;;;KAIKK,cAAAA;AAAAA,KACOC,eAAAA,GAAkBC,MADX,CAAA,MAAA,EAC0BF,cAD1B,CAAA;AACPC,UACKE,UADU,CAAA,UAAA,MAAA,GAAA,MAAA,EAAA,UAAA,MAAA,GAAA,MAAA,CAAA,CAAA;EAAA;;;;EACVA;;;MAgBGD,MAAAA;;;;MAQMG,MAAAA;;;;gBAAPH,EARCA,MAQDA,CARQE,CAQRF,EAAAA,OAAAA,CAAAA;;AAEnB;;kBAAqDC,EAN/BD,MAM+BC,CANxBC,CAMwBD,EANrBH,cAMqBG,CAAAA;;;;eAEbD,EAJrBA,MAIqBA,CAJdG,CAIcH,EAJXA,MAIWA,CAJJE,CAIIF,EAJDF,cAICE,CAAAA,CAAAA;;AACoCF,UAH3DM,kBAAAA,SAA2BC,QAGgCP,CAHvBG,UAGuBH,CAAAA,CAAAA;WAAfE,cAAAA,EAFhCK,QAEgCL,CAFvBA,MAEuBA,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,CAAAA;WAATK,gBAAAA,EADrBA,QACqBA,CADZL,MACYK,CAAAA,MAAAA,EADGP,cACHO,CAAAA,CAAAA;WAAfL,aAAAA,EAATK,QAASL,CAAAA,MAAAA,CAAAA,MAAAA,EAAeK,QAAfL,CAAwBA,MAAxBA,CAAAA,MAAAA,EAAuCF,cAAvCE,CAAAA,CAAAA,CAAAA,CAAAA;;AAHOK,iBAKpBC,QALoBD,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,EAKHE,CALGF,CAAAA,EAKCE,CALDF;;AAKpBC,iBAEAE,eAAAA,CAAAA,CAFQ,EAEWP,UAFX;;AAASM,iBAIjBE,cAAAA,CAJiBF,UAAAA,EAIUH,kBAJVG,CAAAA,EAI+BN,UAJ/BM;AAAIA,UAK5BG,eAAAA,CAL4BH;UAMjCd;EAJYe,UAAAA,EAKRP,UALuB;EAEfQ,QAAAA,CAAAA,EAITZ,kBAJuB;EAAA,YAAA,CAAA,EAKnBJ,cALmB;eAAaW,CAAAA,EAM/BR,sBAN+BQ,EAAAA;;KAQvCO,qBAAAA;EAPKD,KAAAA,CAAAA,EAAAA,MAAAA;EAAe,MAAA,CAAA,EASnBjB,cATmB;;QAEhBQ,CAAAA,EASHD,MATGC,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA;;AAEGR,uBASWmB,mBATXnB,CAAAA,UAAAA,MAAAA,GAAAA,MAAAA,GAAAA,MAAAA,CAAAA,CAAAA;OACCG,EASTF,kBATSE;sBAUIF;EARZiB,GAAAA,CAAAA,MAAAA,EASIlB,cATiB,CAAA,EASAoB,OATA,CASQZ,UATR,GAAA,SAAA,CAAA;EAAA,SAAA,QAAA,CAAA,MAAA,EAUHR,cAVG,CAAA,EAUcoB,OAVd,CAUsBH,eAVtB,GAAA,SAAA,CAAA;WAEpBjB,IAAAA,CAAAA,MAAAA,EASaA,cATbA,EAAAA,OAAAA,CAAAA,EASuCkB,qBATvClB,CAAAA,EAS+DqB,cAT/DrB,CAS8EiB,eAT9EjB,CAAAA;WAEAO,GAAAA,CAAAA,MAAAA,EAQYP,cARZO,EAAAA,UAAAA,EAQwCC,UARxCD,EAAAA,QAAAA,EAQ8DH,kBAR9DG,EAAAA,WAAAA,EAQ+FD,eAR/FC,CAAAA,EAQiHa,OARjHb,CAQyHP,cARzHO,CAAAA;;AAEb;;WACWN,SAAAA,CAAAA,MAAAA,EASoBD,cATpBC,EAAAA,MAAAA,EAS4CC,YAT5CD,EAAAA,EAAAA,MAAAA,EAAAA,MAAAA,CAAAA,EAS6EmB,OAT7EnB,CAAAA,IAAAA,CAAAA;;;;;WAGmBD,YAAAA,CAAAA,QAAAA,EAAAA,MAAAA,CAAAA,EAWeoB,OAXfpB,CAAAA,IAAAA,CAAAA;;;;;;;gBAELA,CAAAA,OAAAA,EAgBGsB,CAhBHtB,GAAAA,SAAAA,CAAAA,EAgBmBsB,CAhBnBtB;;AAAkDI,iBAkBnDmB,sBAAAA,CAlBmDnB,CAAAA,EAkBzBC,cAlByBD,EAAAA,CAAAA,EAkBNC,cAlBMD,CAAAA,EAAAA,MAAAA;AAAiCE,iBAmBpFkB,iBAAAA,CAnBoFlB,GAAAA,QAAAA,EAmBrDD,cAnBqDC,EAAAA,CAAAA,EAmBlCD,cAnBkCC;;;;;;;;AAgBhEgB,cAWvBG,cAXuBH,EAWPf,MAXOe,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA;iBAYpBI,eAAAA,SAAwB1B"}
|