@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.
Files changed (121) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  3. package/dist/base.cjs +74 -88
  4. package/dist/base.cjs.map +1 -0
  5. package/dist/base.d.cts +95 -0
  6. package/dist/base.d.cts.map +1 -0
  7. package/dist/base.d.ts +79 -73
  8. package/dist/base.d.ts.map +1 -0
  9. package/dist/base.js +69 -80
  10. package/dist/base.js.map +1 -1
  11. package/dist/cache/base.cjs +17 -21
  12. package/dist/cache/base.cjs.map +1 -0
  13. package/dist/cache/base.d.cts +43 -0
  14. package/dist/cache/base.d.cts.map +1 -0
  15. package/dist/cache/base.d.ts +41 -36
  16. package/dist/cache/base.d.ts.map +1 -0
  17. package/dist/cache/base.js +16 -16
  18. package/dist/cache/base.js.map +1 -1
  19. package/dist/cache/index.cjs +2 -19
  20. package/dist/cache/index.js +4 -3
  21. package/dist/cache/memory.cjs +53 -58
  22. package/dist/cache/memory.cjs.map +1 -0
  23. package/dist/cache/memory.d.cts +19 -0
  24. package/dist/cache/memory.d.cts.map +1 -0
  25. package/dist/cache/memory.d.ts +18 -13
  26. package/dist/cache/memory.d.ts.map +1 -0
  27. package/dist/cache/memory.js +52 -53
  28. package/dist/cache/memory.js.map +1 -1
  29. package/dist/id.cjs +12 -16
  30. package/dist/id.cjs.map +1 -0
  31. package/dist/id.d.cts +10 -0
  32. package/dist/id.d.cts.map +1 -0
  33. package/dist/id.d.ts +10 -2
  34. package/dist/id.d.ts.map +1 -0
  35. package/dist/id.js +10 -12
  36. package/dist/id.js.map +1 -1
  37. package/dist/index.cjs +36 -27
  38. package/dist/index.d.cts +12 -0
  39. package/dist/index.d.ts +12 -8
  40. package/dist/index.js +12 -9
  41. package/dist/memory.cjs +194 -268
  42. package/dist/memory.cjs.map +1 -0
  43. package/dist/memory.d.cts +22 -0
  44. package/dist/memory.d.cts.map +1 -0
  45. package/dist/memory.d.ts +19 -12
  46. package/dist/memory.d.ts.map +1 -0
  47. package/dist/memory.js +193 -263
  48. package/dist/memory.js.map +1 -1
  49. package/dist/serde/base.d.cts +10 -0
  50. package/dist/serde/base.d.cts.map +1 -0
  51. package/dist/serde/base.d.ts +9 -3
  52. package/dist/serde/base.d.ts.map +1 -0
  53. package/dist/serde/jsonplus.cjs +92 -141
  54. package/dist/serde/jsonplus.cjs.map +1 -0
  55. package/dist/serde/jsonplus.js +90 -136
  56. package/dist/serde/jsonplus.js.map +1 -1
  57. package/dist/serde/types.cjs +15 -9
  58. package/dist/serde/types.cjs.map +1 -0
  59. package/dist/serde/types.d.cts +55 -0
  60. package/dist/serde/types.d.cts.map +1 -0
  61. package/dist/serde/types.d.ts +53 -47
  62. package/dist/serde/types.d.ts.map +1 -0
  63. package/dist/serde/types.js +9 -5
  64. package/dist/serde/types.js.map +1 -1
  65. package/dist/serde/utils/fast-safe-stringify/index.cjs +88 -208
  66. package/dist/serde/utils/fast-safe-stringify/index.cjs.map +1 -0
  67. package/dist/serde/utils/fast-safe-stringify/index.js +87 -205
  68. package/dist/serde/utils/fast-safe-stringify/index.js.map +1 -1
  69. package/dist/store/base.cjs +200 -209
  70. package/dist/store/base.cjs.map +1 -0
  71. package/dist/store/base.d.cts +392 -0
  72. package/dist/store/base.d.cts.map +1 -0
  73. package/dist/store/base.d.ts +336 -332
  74. package/dist/store/base.d.ts.map +1 -0
  75. package/dist/store/base.js +198 -204
  76. package/dist/store/base.js.map +1 -1
  77. package/dist/store/batch.cjs +116 -147
  78. package/dist/store/batch.cjs.map +1 -0
  79. package/dist/store/batch.d.cts +49 -0
  80. package/dist/store/batch.d.cts.map +1 -0
  81. package/dist/store/batch.d.ts +48 -40
  82. package/dist/store/batch.d.ts.map +1 -0
  83. package/dist/store/batch.js +116 -143
  84. package/dist/store/batch.js.map +1 -1
  85. package/dist/store/memory.cjs +262 -363
  86. package/dist/store/memory.cjs.map +1 -0
  87. package/dist/store/memory.d.cts +64 -0
  88. package/dist/store/memory.d.cts.map +1 -0
  89. package/dist/store/memory.d.ts +30 -24
  90. package/dist/store/memory.d.ts.map +1 -0
  91. package/dist/store/memory.js +261 -358
  92. package/dist/store/memory.js.map +1 -1
  93. package/dist/store/utils.cjs +141 -249
  94. package/dist/store/utils.cjs.map +1 -0
  95. package/dist/store/utils.js +140 -245
  96. package/dist/store/utils.js.map +1 -1
  97. package/dist/types.d.cts +35 -0
  98. package/dist/types.d.cts.map +1 -0
  99. package/dist/types.d.ts +29 -28
  100. package/dist/types.d.ts.map +1 -0
  101. package/package.json +16 -18
  102. package/dist/cache/index.d.ts +0 -2
  103. package/dist/cache/index.js.map +0 -1
  104. package/dist/index.js.map +0 -1
  105. package/dist/serde/base.cjs +0 -3
  106. package/dist/serde/base.js +0 -2
  107. package/dist/serde/base.js.map +0 -1
  108. package/dist/serde/jsonplus.d.ts +0 -7
  109. package/dist/serde/utils/fast-safe-stringify/index.d.ts +0 -1
  110. package/dist/store/index.cjs +0 -20
  111. package/dist/store/index.d.ts +0 -3
  112. package/dist/store/index.js +0 -4
  113. package/dist/store/index.js.map +0 -1
  114. package/dist/store/utils.d.ts +0 -26
  115. package/dist/types.cjs +0 -3
  116. package/dist/types.js +0 -2
  117. package/dist/types.js.map +0 -1
  118. package/index.cjs +0 -1
  119. package/index.d.cts +0 -1
  120. package/index.d.ts +0 -1
  121. 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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WRITES_IDX_MAP = exports.BaseCheckpointSaver = void 0;
4
- exports.deepCopy = deepCopy;
5
- exports.emptyCheckpoint = emptyCheckpoint;
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
- if (typeof obj !== "object" || obj === null) {
15
- return obj;
16
- }
17
- const newObj = Array.isArray(obj) ? [] : {};
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
- return {
28
- v: 4,
29
- id: (0, id_js_1.uuid6)(-2),
30
- ts: new Date().toISOString(),
31
- channel_values: {},
32
- channel_versions: {},
33
- versions_seen: {},
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
- return {
39
- v: checkpoint.v,
40
- id: checkpoint.id,
41
- ts: checkpoint.ts,
42
- channel_values: { ...checkpoint.channel_values },
43
- channel_versions: { ...checkpoint.channel_versions },
44
- versions_seen: deepCopy(checkpoint.versions_seen),
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
- class BaseCheckpointSaver {
48
- constructor(serde) {
49
- Object.defineProperty(this, "serde", {
50
- enumerable: true,
51
- configurable: true,
52
- writable: true,
53
- value: new jsonplus_js_1.JsonPlusSerializer()
54
- });
55
- this.serde = serde || this.serde;
56
- }
57
- async get(config) {
58
- const value = await this.getTuple(config);
59
- return value ? value.checkpoint : undefined;
60
- }
61
- /**
62
- * Generate the next version ID for a channel.
63
- *
64
- * Default is to use integer versions, incrementing by 1. If you override, you can use str/int/float versions,
65
- * as long as they are monotonically increasing.
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
- if (typeof a === "number" && typeof b === "number") {
77
- return Math.sign(a - b);
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
- return versions.reduce((max, version, idx) => {
83
- if (idx === 0)
84
- return version;
85
- return compareChannelVersions(max, version) >= 0 ? max : version;
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
- * Mapping from error type to error index.
90
- * Regular writes just map to their index in the list of writes being saved.
91
- * Special writes (e.g. errors) map to negative indices, to avoid those writes from
92
- * conflicting with regular writes.
93
- * Each Checkpointer implementation should use this mapping in put_writes.
94
- */
95
- exports.WRITES_IDX_MAP = {
96
- [types_js_1.ERROR]: -1,
97
- [types_js_1.SCHEDULED]: -2,
98
- [types_js_1.INTERRUPT]: -3,
99
- [types_js_1.RESUME]: -4,
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
- return (config.configurable?.checkpoint_id || config.configurable?.thread_ts || "");
78
+ return config.configurable?.checkpoint_id || config.configurable?.thread_ts || "";
103
79
  }
104
- //# sourceMappingURL=base.js.map
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"}
@@ -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 type { PendingWrite, CheckpointPendingWrite, CheckpointMetadata } from "./types.js";
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
- export type ChannelVersions = Record<string, ChannelVersion>;
6
- export interface Checkpoint<N extends string = string, C extends string = string> {
7
- /**
8
- * The version of the checkpoint format. Currently 4
9
- */
10
- v: number;
11
- /**
12
- * Checkpoint ID {uuid6}
13
- */
14
- id: string;
15
- /**
16
- * Timestamp {new Date().toISOString()}
17
- */
18
- ts: string;
19
- /**
20
- * @default {}
21
- */
22
- channel_values: Record<C, unknown>;
23
- /**
24
- * @default {}
25
- */
26
- channel_versions: Record<C, ChannelVersion>;
27
- /**
28
- * @default {}
29
- */
30
- versions_seen: Record<N, Record<C, ChannelVersion>>;
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
- export interface ReadonlyCheckpoint extends Readonly<Checkpoint> {
33
- readonly channel_values: Readonly<Record<string, unknown>>;
34
- readonly channel_versions: Readonly<Record<string, ChannelVersion>>;
35
- readonly versions_seen: Readonly<Record<string, Readonly<Record<string, ChannelVersion>>>>;
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
- export declare function deepCopy<T>(obj: T): T;
40
+ declare function deepCopy<T>(obj: T): T;
38
41
  /** @hidden */
39
- export declare function emptyCheckpoint(): Checkpoint;
42
+ declare function emptyCheckpoint(): Checkpoint;
40
43
  /** @hidden */
41
- export declare function copyCheckpoint(checkpoint: ReadonlyCheckpoint): Checkpoint;
42
- export interface CheckpointTuple {
43
- config: RunnableConfig;
44
- checkpoint: Checkpoint;
45
- metadata?: CheckpointMetadata;
46
- parentConfig?: RunnableConfig;
47
- pendingWrites?: CheckpointPendingWrite[];
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
- export type CheckpointListOptions = {
50
- limit?: number;
51
- before?: RunnableConfig;
52
- filter?: Record<string, any>;
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
- export declare abstract class BaseCheckpointSaver<V extends string | number = number> {
55
- serde: SerializerProtocol;
56
- constructor(serde?: SerializerProtocol);
57
- get(config: RunnableConfig): Promise<Checkpoint | undefined>;
58
- abstract getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;
59
- abstract list(config: RunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;
60
- abstract put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata, newVersions: ChannelVersions): Promise<RunnableConfig>;
61
- /**
62
- * Store intermediate writes linked to a checkpoint.
63
- */
64
- abstract putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;
65
- /**
66
- * Delete all checkpoints and writes associated with a specific thread ID.
67
- * @param threadId The thread ID whose checkpoints should be deleted.
68
- */
69
- abstract deleteThread(threadId: string): Promise<void>;
70
- /**
71
- * Generate the next version ID for a channel.
72
- *
73
- * Default is to use integer versions, incrementing by 1. If you override, you can use str/int/float versions,
74
- * as long as they are monotonically increasing.
75
- */
76
- getNextVersion(current: V | undefined): V;
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
- export declare function compareChannelVersions(a: ChannelVersion, b: ChannelVersion): number;
79
- export declare function maxChannelVersion(...versions: ChannelVersion[]): ChannelVersion;
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
- export declare const WRITES_IDX_MAP: Record<string, number>;
88
- export declare function getCheckpointId(config: RunnableConfig): string;
89
- export {};
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":"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"}