@stigmer/runner 3.1.6 → 3.1.8

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 (115) hide show
  1. package/README.md +1 -1
  2. package/dist/.build-fingerprint +1 -1
  3. package/dist/activities/discover-mcp-server.js +24 -0
  4. package/dist/activities/discover-mcp-server.js.map +1 -1
  5. package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.d.ts +5 -2
  6. package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.js.map +1 -1
  7. package/dist/activities/execute-cursor/approval-state.d.ts +58 -10
  8. package/dist/activities/execute-cursor/approval-state.js +37 -8
  9. package/dist/activities/execute-cursor/approval-state.js.map +1 -1
  10. package/dist/activities/execute-cursor/env-resolver.js +7 -1
  11. package/dist/activities/execute-cursor/env-resolver.js.map +1 -1
  12. package/dist/activities/execute-cursor/hook-script.d.ts +16 -3
  13. package/dist/activities/execute-cursor/hook-script.js +66 -21
  14. package/dist/activities/execute-cursor/hook-script.js.map +1 -1
  15. package/dist/activities/execute-cursor/index.js +59 -0
  16. package/dist/activities/execute-cursor/index.js.map +1 -1
  17. package/dist/activities/execute-cursor/message-translator.d.ts +52 -0
  18. package/dist/activities/execute-cursor/message-translator.js +107 -1
  19. package/dist/activities/execute-cursor/message-translator.js.map +1 -1
  20. package/dist/activities/execute-cursor/turn-boundary.d.ts +25 -3
  21. package/dist/activities/execute-cursor/turn-boundary.js +46 -8
  22. package/dist/activities/execute-cursor/turn-boundary.js.map +1 -1
  23. package/dist/activities/execute-cursor/turn-stream.js +6 -2
  24. package/dist/activities/execute-cursor/turn-stream.js.map +1 -1
  25. package/dist/activities/execute-cursor/workspace-setup.d.ts +16 -2
  26. package/dist/activities/execute-cursor/workspace-setup.js +22 -12
  27. package/dist/activities/execute-cursor/workspace-setup.js.map +1 -1
  28. package/dist/activities/execute-deep-agent/environment.js +7 -1
  29. package/dist/activities/execute-deep-agent/environment.js.map +1 -1
  30. package/dist/activities/execute-deep-agent/hitl.d.ts +23 -14
  31. package/dist/activities/execute-deep-agent/hitl.js +42 -37
  32. package/dist/activities/execute-deep-agent/hitl.js.map +1 -1
  33. package/dist/activities/execute-deep-agent/index.js +35 -26
  34. package/dist/activities/execute-deep-agent/index.js.map +1 -1
  35. package/dist/activities/execute-deep-agent/setup.d.ts +7 -0
  36. package/dist/activities/execute-deep-agent/setup.js +9 -2
  37. package/dist/activities/execute-deep-agent/setup.js.map +1 -1
  38. package/dist/activities/hydrate-workflow-execution.js +8 -1
  39. package/dist/activities/hydrate-workflow-execution.js.map +1 -1
  40. package/dist/client/stigmer-client.d.ts +69 -1
  41. package/dist/client/stigmer-client.js +108 -4
  42. package/dist/client/stigmer-client.js.map +1 -1
  43. package/dist/client/token-claims.d.ts +22 -0
  44. package/dist/client/token-claims.js +40 -0
  45. package/dist/client/token-claims.js.map +1 -0
  46. package/dist/config.d.ts +11 -1
  47. package/dist/config.js +5 -1
  48. package/dist/config.js.map +1 -1
  49. package/dist/middleware/approval-gate.js +9 -2
  50. package/dist/middleware/approval-gate.js.map +1 -1
  51. package/dist/runner-manager.d.ts +4 -2
  52. package/dist/runner-manager.js +20 -7
  53. package/dist/runner-manager.js.map +1 -1
  54. package/dist/runner.d.ts +2 -2
  55. package/dist/runner.js +1 -1
  56. package/dist/shared/checkpointer/factory.d.ts +11 -7
  57. package/dist/shared/checkpointer/factory.js +21 -8
  58. package/dist/shared/checkpointer/factory.js.map +1 -1
  59. package/dist/shared/checkpointer/sqlite-saver.d.ts +54 -0
  60. package/dist/shared/checkpointer/sqlite-saver.js +272 -0
  61. package/dist/shared/checkpointer/sqlite-saver.js.map +1 -0
  62. package/dist/shared/checkpointer/types.d.ts +8 -4
  63. package/dist/shared/mcp-oauth-detect.d.ts +53 -0
  64. package/dist/shared/mcp-oauth-detect.js +99 -0
  65. package/dist/shared/mcp-oauth-detect.js.map +1 -0
  66. package/dist/shared/tool-row.js +14 -1
  67. package/dist/shared/tool-row.js.map +1 -1
  68. package/dist/shared/workspace/platform-dir.d.ts +18 -0
  69. package/dist/shared/workspace/platform-dir.js +23 -0
  70. package/dist/shared/workspace/platform-dir.js.map +1 -1
  71. package/package.json +3 -3
  72. package/src/__test-utils__/mock-client.ts +3 -0
  73. package/src/activities/__tests__/hydrate-workflow-execution.test.ts +2 -0
  74. package/src/activities/discover-mcp-server.ts +26 -0
  75. package/src/activities/execute-cursor/__test-utils__/cursor-hook-harness.ts +5 -3
  76. package/src/activities/execute-cursor/__tests__/hitl-ledger.test.ts +272 -14
  77. package/src/activities/execute-cursor/__tests__/hook-script.test.ts +72 -16
  78. package/src/activities/execute-cursor/__tests__/message-translator.test.ts +65 -0
  79. package/src/activities/execute-cursor/__tests__/turn-boundary.test.ts +128 -1
  80. package/src/activities/execute-cursor/__tests__/workspace-setup.test.ts +95 -0
  81. package/src/activities/execute-cursor/approval-state.ts +75 -11
  82. package/src/activities/execute-cursor/env-resolver.ts +8 -1
  83. package/src/activities/execute-cursor/hook-script.ts +66 -21
  84. package/src/activities/execute-cursor/index.ts +61 -0
  85. package/src/activities/execute-cursor/message-translator.ts +124 -1
  86. package/src/activities/execute-cursor/turn-boundary.ts +79 -6
  87. package/src/activities/execute-cursor/turn-stream.ts +6 -2
  88. package/src/activities/execute-cursor/workspace-setup.ts +42 -14
  89. package/src/activities/execute-deep-agent/__tests__/environment.test.ts +5 -0
  90. package/src/activities/execute-deep-agent/__tests__/hitl-reject.test.ts +314 -0
  91. package/src/activities/execute-deep-agent/__tests__/hitl.test.ts +64 -46
  92. package/src/activities/execute-deep-agent/environment.ts +8 -1
  93. package/src/activities/execute-deep-agent/hitl.ts +43 -45
  94. package/src/activities/execute-deep-agent/index.ts +36 -27
  95. package/src/activities/execute-deep-agent/setup.ts +15 -2
  96. package/src/activities/hydrate-workflow-execution.ts +9 -1
  97. package/src/client/__tests__/stigmer-client.test.ts +239 -2
  98. package/src/client/__tests__/token-claims.test.ts +45 -0
  99. package/src/client/stigmer-client.ts +152 -3
  100. package/src/client/token-claims.ts +42 -0
  101. package/src/config.ts +16 -3
  102. package/src/middleware/__tests__/approval-gate.test.ts +8 -1
  103. package/src/middleware/approval-gate.ts +9 -2
  104. package/src/runner-manager.ts +22 -8
  105. package/src/runner.ts +3 -3
  106. package/src/shared/__tests__/mcp-oauth-detect.test.ts +147 -0
  107. package/src/shared/__tests__/tool-row.test.ts +35 -0
  108. package/src/shared/checkpointer/__tests__/factory.test.ts +27 -1
  109. package/src/shared/checkpointer/__tests__/sqlite-saver.test.ts +212 -0
  110. package/src/shared/checkpointer/factory.ts +25 -8
  111. package/src/shared/checkpointer/sqlite-saver.ts +384 -0
  112. package/src/shared/checkpointer/types.ts +8 -4
  113. package/src/shared/mcp-oauth-detect.ts +112 -0
  114. package/src/shared/tool-row.ts +14 -1
  115. package/src/shared/workspace/platform-dir.ts +25 -0
@@ -1 +1 @@
1
- {"version":3,"file":"runner-manager.js","sourceRoot":"","sources":["../src/runner-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-manager.js","sourceRoot":"","sources":["../src/runner-manager.ts"],"names":[],"mappings":"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"}
package/dist/runner.d.ts CHANGED
@@ -51,8 +51,8 @@ export interface StigmerRunnerOptions {
51
51
  readonly cursorStreamStallTimeoutMs?: number;
52
52
  /** Max wait for the per-workspace turn lock (ms). @default 900000 */
53
53
  readonly workspaceLockTimeoutMs?: number;
54
- /** Checkpointer type for LangGraph agent state. @default "memory" (or "http" if proxyEndpoint is set) */
55
- readonly checkpointerType?: "memory" | "http";
54
+ /** Checkpointer type for LangGraph agent state. @default "sqlite" (or "http" if proxyEndpoint is set) */
55
+ readonly checkpointerType?: "memory" | "http" | "sqlite";
56
56
  /** Checkpointer proxy endpoint. Falls back to proxyEndpoint. */
57
57
  readonly checkpointerProxyEndpoint?: string;
58
58
  /** Enable Cursor cloud mode for workspace-less execution. @default false */
package/dist/runner.js CHANGED
@@ -145,7 +145,7 @@ export function mapOptionsToConfig(options) {
145
145
  idleTimeoutSeconds: null,
146
146
  cloudModeEnabled: options.cloudModeEnabled ?? false,
147
147
  checkpointerType: options.checkpointerType
148
- ?? (proxyActive ? "http" : "memory"),
148
+ ?? (proxyActive ? "http" : "sqlite"),
149
149
  checkpointerProxyEndpoint: options.checkpointerProxyEndpoint
150
150
  ?? options.proxyEndpoint
151
151
  ?? null,
@@ -2,9 +2,13 @@
2
2
  * Checkpointer factory — creates the appropriate LangGraph checkpoint
3
3
  * saver based on runner configuration.
4
4
  *
5
- * Two backends:
6
- * - memory: MemorySaver (ephemeral, zero-config) — for OSS / local mode
7
- * - http: HttpCheckpointSaver (proxy-backed) for cloud mode
5
+ * Three backends:
6
+ * - sqlite: SqliteCheckpointSaver (durable local file) — the OSS / local /
7
+ * desktop default. Survives across ExecuteDeepAgent invocations so HITL,
8
+ * pause/resume, and transient recovery resume via Command(resume) rather than
9
+ * replaying from the original message (stigmer/stigmer#204).
10
+ * - http: HttpCheckpointSaver (proxy-backed) — for cloud / managed runners.
11
+ * - memory: MemorySaver (ephemeral, zero-config) — explicit opt-in for tests.
8
12
  *
9
13
  * The returned saver is used by the deep agent activity (Phase 3).
10
14
  * Cursor executions do not use LangGraph checkpointers — they rely on
@@ -20,9 +24,9 @@ export declare class CheckpointerCreationError extends Error {
20
24
  /**
21
25
  * Create the appropriate checkpoint saver for the given config.
22
26
  *
23
- * Unlike the Python version (which returns an async context manager),
24
- * the JS MemorySaver and HttpCheckpointSaver do not require async
25
- * initialization or cleanup. This function is kept async to accommodate
26
- * future backends that might need setup (e.g. SQLite connection).
27
+ * This function is async to accommodate backends that need setup. The
28
+ * SqliteCheckpointSaver opens its file handle in its constructor and creates
29
+ * the schema lazily on first use; it must be closed by the caller (the deep
30
+ * agent activity closes it in its cleanup, alongside the MCP connection).
27
31
  */
28
32
  export declare function createCheckpointer(config: CheckpointerConfig): Promise<BaseCheckpointSaver>;
@@ -2,9 +2,13 @@
2
2
  * Checkpointer factory — creates the appropriate LangGraph checkpoint
3
3
  * saver based on runner configuration.
4
4
  *
5
- * Two backends:
6
- * - memory: MemorySaver (ephemeral, zero-config) — for OSS / local mode
7
- * - http: HttpCheckpointSaver (proxy-backed) for cloud mode
5
+ * Three backends:
6
+ * - sqlite: SqliteCheckpointSaver (durable local file) — the OSS / local /
7
+ * desktop default. Survives across ExecuteDeepAgent invocations so HITL,
8
+ * pause/resume, and transient recovery resume via Command(resume) rather than
9
+ * replaying from the original message (stigmer/stigmer#204).
10
+ * - http: HttpCheckpointSaver (proxy-backed) — for cloud / managed runners.
11
+ * - memory: MemorySaver (ephemeral, zero-config) — explicit opt-in for tests.
8
12
  *
9
13
  * The returned saver is used by the deep agent activity (Phase 3).
10
14
  * Cursor executions do not use LangGraph checkpointers — they rely on
@@ -12,6 +16,7 @@
12
16
  */
13
17
  import { MemorySaver } from "@langchain/langgraph-checkpoint";
14
18
  import { HttpCheckpointSaver } from "./http-saver.js";
19
+ import { SqliteCheckpointSaver } from "./sqlite-saver.js";
15
20
  export class CheckpointerCreationError extends Error {
16
21
  checkpointerType;
17
22
  cause;
@@ -25,13 +30,21 @@ export class CheckpointerCreationError extends Error {
25
30
  /**
26
31
  * Create the appropriate checkpoint saver for the given config.
27
32
  *
28
- * Unlike the Python version (which returns an async context manager),
29
- * the JS MemorySaver and HttpCheckpointSaver do not require async
30
- * initialization or cleanup. This function is kept async to accommodate
31
- * future backends that might need setup (e.g. SQLite connection).
33
+ * This function is async to accommodate backends that need setup. The
34
+ * SqliteCheckpointSaver opens its file handle in its constructor and creates
35
+ * the schema lazily on first use; it must be closed by the caller (the deep
36
+ * agent activity closes it in its cleanup, alongside the MCP connection).
32
37
  */
33
38
  export async function createCheckpointer(config) {
34
39
  switch (config.type) {
40
+ case "sqlite": {
41
+ if (!config.sqlitePath) {
42
+ throw new CheckpointerCreationError("sqlite", "sqlitePath is required for SQLite checkpointer");
43
+ }
44
+ const saver = new SqliteCheckpointSaver(config.sqlitePath);
45
+ console.log(`Created SqliteCheckpointSaver checkpointer (path=${config.sqlitePath})`);
46
+ return saver;
47
+ }
35
48
  case "memory":
36
49
  console.log("Created MemorySaver checkpointer (ephemeral, in-memory)");
37
50
  return new MemorySaver();
@@ -48,7 +61,7 @@ export async function createCheckpointer(config) {
48
61
  }
49
62
  default: {
50
63
  const exhaustive = config.type;
51
- throw new CheckpointerCreationError(String(exhaustive), `Unknown checkpointer type. Valid types: memory, http`);
64
+ throw new CheckpointerCreationError(String(exhaustive), `Unknown checkpointer type. Valid types: sqlite, http, memory`);
52
65
  }
53
66
  }
54
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/shared/checkpointer/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,gBAAgB,CAAS;IACzB,KAAK,CAAS;IAEvB,YAAY,IAAY,EAAE,OAAe,EAAE,KAAa;QACtD,KAAK,CAAC,oBAAoB,IAAI,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA0B;IAE1B,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO,IAAI,WAAW,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,IAAI,yBAAyB,CACjC,MAAM,EACN,iDAAiD,CAClD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,yBAAyB,CACjC,MAAM,EACN,6CAA6C,CAC9C,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,mDAAmD,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,MAAM,CAAC,IAAI,CAAC;YACtC,MAAM,IAAI,yBAAyB,CACjC,MAAM,CAAC,UAAU,CAAC,EAClB,sDAAsD,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/shared/checkpointer/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,gBAAgB,CAAS;IACzB,KAAK,CAAS;IAEvB,YAAY,IAAY,EAAE,OAAe,EAAE,KAAa;QACtD,KAAK,CAAC,oBAAoB,IAAI,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA0B;IAE1B,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,IAAI,yBAAyB,CACjC,QAAQ,EACR,gDAAgD,CACjD,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,oDAAoD,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO,IAAI,WAAW,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,IAAI,yBAAyB,CACjC,MAAM,EACN,iDAAiD,CAClD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,yBAAyB,CACjC,MAAM,EACN,6CAA6C,CAC9C,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,mDAAmD,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,MAAM,CAAC,IAAI,CAAC;YACtC,MAAM,IAAI,yBAAyB,CACjC,MAAM,CAAC,UAAU,CAAC,EAClB,8DAA8D,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * SQLite-backed LangGraph checkpoint saver — the durable checkpointer for the
3
+ * OSS / local edition.
4
+ *
5
+ * Why this exists: the OSS-local default used to be the ephemeral `MemorySaver`,
6
+ * recreated empty on every `ExecuteDeepAgent` invocation. The Temporal workflow
7
+ * re-invokes the activity with the SAME `thread_id` on HITL approval, pause/
8
+ * resume, and transient recovery — but with an empty checkpointer the graph has
9
+ * nothing to resume from, so it replays from the original user message instead
10
+ * of continuing after the interrupt. This saver makes the checkpoint survive
11
+ * across invocations on a single machine, so those re-invocations resume via
12
+ * `Command(resume)` exactly like the cloud (`http`) path (see stigmer/stigmer#204).
13
+ *
14
+ * Implementation notes:
15
+ * - Backed by Node's built-in `node:sqlite` (`DatabaseSync`). Zero external
16
+ * dependencies and bundles cleanly into the slim artifact — `node:`-prefixed
17
+ * builtins stay external to esbuild, unlike a native addon such as
18
+ * `better-sqlite3` (which the official `@langchain/langgraph-checkpoint-sqlite`
19
+ * depends on and which cannot be bundled).
20
+ * - Schema and the `put` / `putWrites` conflict-resolution semantics mirror the
21
+ * official `@langchain/langgraph-checkpoint-sqlite` saver, so a checkpoint
22
+ * written here is byte-compatible with the reference implementation.
23
+ * - Serialization uses the inherited `JsonPlusSerializer` (`this.serde`), exactly
24
+ * like {@link HttpCheckpointSaver}. Serialized payloads are stored as raw BLOBs
25
+ * and read back as `Uint8Array`, so binary (msgpack) payloads round-trip
26
+ * losslessly — this is why writes are read via a dedicated query rather than
27
+ * the reference saver's `CAST(value AS TEXT)` JSON aggregation.
28
+ * - WAL journaling plus a busy timeout make the file safe to open from more than
29
+ * one process at once (the CLI daemon and the desktop runner can share a HOME).
30
+ */
31
+ import type { RunnableConfig } from "@langchain/core/runnables";
32
+ import { BaseCheckpointSaver, type ChannelVersions, type Checkpoint, type CheckpointListOptions, type CheckpointMetadata, type CheckpointTuple, type PendingWrite, type SerializerProtocol } from "@langchain/langgraph-checkpoint";
33
+ export declare class SqliteCheckpointSaver extends BaseCheckpointSaver {
34
+ private readonly db;
35
+ private isSetup;
36
+ constructor(dbPath: string, serde?: SerializerProtocol);
37
+ /**
38
+ * Create the schema on first use. WAL + the constructor's busy timeout make
39
+ * concurrent readers/writers (across processes sharing the file) safe. The
40
+ * tables and their primary keys mirror the official
41
+ * `@langchain/langgraph-checkpoint-sqlite` schema.
42
+ */
43
+ private setup;
44
+ getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;
45
+ list(config: RunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;
46
+ put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata, _newVersions: ChannelVersions): Promise<RunnableConfig>;
47
+ putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;
48
+ deleteThread(threadId: string): Promise<void>;
49
+ /** Close the underlying database handle. Idempotent and non-throwing. */
50
+ close(): void;
51
+ /** Deserialize a checkpoint row and hydrate its pending writes. */
52
+ private rowToTuple;
53
+ private loadPendingWrites;
54
+ }
@@ -0,0 +1,272 @@
1
+ /**
2
+ * SQLite-backed LangGraph checkpoint saver — the durable checkpointer for the
3
+ * OSS / local edition.
4
+ *
5
+ * Why this exists: the OSS-local default used to be the ephemeral `MemorySaver`,
6
+ * recreated empty on every `ExecuteDeepAgent` invocation. The Temporal workflow
7
+ * re-invokes the activity with the SAME `thread_id` on HITL approval, pause/
8
+ * resume, and transient recovery — but with an empty checkpointer the graph has
9
+ * nothing to resume from, so it replays from the original user message instead
10
+ * of continuing after the interrupt. This saver makes the checkpoint survive
11
+ * across invocations on a single machine, so those re-invocations resume via
12
+ * `Command(resume)` exactly like the cloud (`http`) path (see stigmer/stigmer#204).
13
+ *
14
+ * Implementation notes:
15
+ * - Backed by Node's built-in `node:sqlite` (`DatabaseSync`). Zero external
16
+ * dependencies and bundles cleanly into the slim artifact — `node:`-prefixed
17
+ * builtins stay external to esbuild, unlike a native addon such as
18
+ * `better-sqlite3` (which the official `@langchain/langgraph-checkpoint-sqlite`
19
+ * depends on and which cannot be bundled).
20
+ * - Schema and the `put` / `putWrites` conflict-resolution semantics mirror the
21
+ * official `@langchain/langgraph-checkpoint-sqlite` saver, so a checkpoint
22
+ * written here is byte-compatible with the reference implementation.
23
+ * - Serialization uses the inherited `JsonPlusSerializer` (`this.serde`), exactly
24
+ * like {@link HttpCheckpointSaver}. Serialized payloads are stored as raw BLOBs
25
+ * and read back as `Uint8Array`, so binary (msgpack) payloads round-trip
26
+ * losslessly — this is why writes are read via a dedicated query rather than
27
+ * the reference saver's `CAST(value AS TEXT)` JSON aggregation.
28
+ * - WAL journaling plus a busy timeout make the file safe to open from more than
29
+ * one process at once (the CLI daemon and the desktop runner can share a HOME).
30
+ */
31
+ import { DatabaseSync } from "node:sqlite";
32
+ import { BaseCheckpointSaver, WRITES_IDX_MAP, copyCheckpoint, } from "@langchain/langgraph-checkpoint";
33
+ /** Milliseconds SQLite waits on a locked database before erroring (WAL busy handler). */
34
+ const DEFAULT_BUSY_TIMEOUT_MS = 5_000;
35
+ export class SqliteCheckpointSaver extends BaseCheckpointSaver {
36
+ db;
37
+ isSetup = false;
38
+ constructor(dbPath, serde) {
39
+ super(serde);
40
+ this.db = new DatabaseSync(dbPath, { timeout: DEFAULT_BUSY_TIMEOUT_MS });
41
+ }
42
+ /**
43
+ * Create the schema on first use. WAL + the constructor's busy timeout make
44
+ * concurrent readers/writers (across processes sharing the file) safe. The
45
+ * tables and their primary keys mirror the official
46
+ * `@langchain/langgraph-checkpoint-sqlite` schema.
47
+ */
48
+ setup() {
49
+ if (this.isSetup)
50
+ return;
51
+ this.db.exec("PRAGMA journal_mode=WAL");
52
+ this.db.exec(`
53
+ CREATE TABLE IF NOT EXISTS checkpoints (
54
+ thread_id TEXT NOT NULL,
55
+ checkpoint_ns TEXT NOT NULL DEFAULT '',
56
+ checkpoint_id TEXT NOT NULL,
57
+ parent_checkpoint_id TEXT,
58
+ type TEXT,
59
+ checkpoint BLOB,
60
+ metadata BLOB,
61
+ PRIMARY KEY (thread_id, checkpoint_ns, checkpoint_id)
62
+ );
63
+ `);
64
+ this.db.exec(`
65
+ CREATE TABLE IF NOT EXISTS writes (
66
+ thread_id TEXT NOT NULL,
67
+ checkpoint_ns TEXT NOT NULL DEFAULT '',
68
+ checkpoint_id TEXT NOT NULL,
69
+ task_id TEXT NOT NULL,
70
+ idx INTEGER NOT NULL,
71
+ channel TEXT NOT NULL,
72
+ type TEXT,
73
+ value BLOB,
74
+ PRIMARY KEY (thread_id, checkpoint_ns, checkpoint_id, task_id, idx)
75
+ );
76
+ `);
77
+ this.isSetup = true;
78
+ }
79
+ async getTuple(config) {
80
+ this.setup();
81
+ const threadId = config.configurable?.thread_id;
82
+ const checkpointNs = config.configurable?.checkpoint_ns ?? "";
83
+ const checkpointId = config.configurable?.checkpoint_id;
84
+ const row = (checkpointId
85
+ ? this.db
86
+ .prepare(`SELECT thread_id, checkpoint_ns, checkpoint_id, parent_checkpoint_id, type, checkpoint, metadata
87
+ FROM checkpoints
88
+ WHERE thread_id = ? AND checkpoint_ns = ? AND checkpoint_id = ?`)
89
+ .get(threadId ?? null, checkpointNs, checkpointId)
90
+ : this.db
91
+ .prepare(`SELECT thread_id, checkpoint_ns, checkpoint_id, parent_checkpoint_id, type, checkpoint, metadata
92
+ FROM checkpoints
93
+ WHERE thread_id = ? AND checkpoint_ns = ?
94
+ ORDER BY checkpoint_id DESC LIMIT 1`)
95
+ .get(threadId ?? null, checkpointNs));
96
+ if (row === undefined)
97
+ return undefined;
98
+ return this.rowToTuple(row);
99
+ }
100
+ async *list(config, options) {
101
+ this.setup();
102
+ const threadId = config.configurable?.thread_id;
103
+ const checkpointNs = config.configurable?.checkpoint_ns;
104
+ const before = options?.before?.configurable?.checkpoint_id;
105
+ const limit = options?.limit;
106
+ // Supported filter subset mirrors HttpCheckpointSaver (thread_id /
107
+ // checkpoint_ns / before / limit). The runner's resume path reads via
108
+ // getState -> getTuple, so metadata filtering is not exercised here.
109
+ const where = [];
110
+ const args = [];
111
+ if (threadId !== undefined) {
112
+ where.push("thread_id = ?");
113
+ args.push(threadId);
114
+ }
115
+ if (checkpointNs !== undefined) {
116
+ where.push("checkpoint_ns = ?");
117
+ args.push(checkpointNs);
118
+ }
119
+ if (before !== undefined) {
120
+ where.push("checkpoint_id < ?");
121
+ args.push(before);
122
+ }
123
+ let sql = `SELECT thread_id, checkpoint_ns, checkpoint_id, parent_checkpoint_id, type, checkpoint, metadata
124
+ FROM checkpoints`;
125
+ if (where.length > 0)
126
+ sql += ` WHERE ${where.join(" AND ")}`;
127
+ sql += " ORDER BY checkpoint_id DESC";
128
+ if (limit !== undefined)
129
+ sql += ` LIMIT ${parseInt(String(limit), 10)}`;
130
+ const rows = this.db.prepare(sql).all(...args);
131
+ for (const row of rows) {
132
+ yield await this.rowToTuple(row);
133
+ }
134
+ }
135
+ async put(config, checkpoint, metadata, _newVersions) {
136
+ this.setup();
137
+ const threadId = config.configurable?.thread_id;
138
+ if (!threadId) {
139
+ throw new Error(`Missing "thread_id" field in passed "config.configurable".`);
140
+ }
141
+ const checkpointNs = config.configurable?.checkpoint_ns ?? "";
142
+ const parentCheckpointId = config.configurable?.checkpoint_id;
143
+ // Defensive copy before serialization, matching the reference saver.
144
+ const [[checkpointType, serializedCheckpoint], [metadataType, serializedMetadata]] = await Promise.all([
145
+ this.serde.dumpsTyped(copyCheckpoint(checkpoint)),
146
+ this.serde.dumpsTyped(metadata),
147
+ ]);
148
+ if (checkpointType !== metadataType) {
149
+ throw new Error("Failed to serialize checkpoint and metadata to the same type.");
150
+ }
151
+ this.db
152
+ .prepare(`INSERT OR REPLACE INTO checkpoints
153
+ (thread_id, checkpoint_ns, checkpoint_id, parent_checkpoint_id, type, checkpoint, metadata)
154
+ VALUES (?, ?, ?, ?, ?, ?, ?)`)
155
+ .run(threadId, checkpointNs, checkpoint.id, parentCheckpointId ?? null, checkpointType, serializedCheckpoint, serializedMetadata);
156
+ return {
157
+ configurable: {
158
+ thread_id: threadId,
159
+ checkpoint_ns: checkpointNs,
160
+ checkpoint_id: checkpoint.id,
161
+ },
162
+ };
163
+ }
164
+ async putWrites(config, writes, taskId) {
165
+ this.setup();
166
+ const threadId = config.configurable?.thread_id;
167
+ if (!threadId)
168
+ throw new Error("Missing thread_id field in config.configurable.");
169
+ const checkpointId = config.configurable?.checkpoint_id;
170
+ if (!checkpointId)
171
+ throw new Error("Missing checkpoint_id field in config.configurable.");
172
+ const checkpointNs = config.configurable?.checkpoint_ns ?? "";
173
+ // Conflict resolution matches the reference saver and the
174
+ // langgraph-checkpoint contract:
175
+ // - All-special writes (ERROR / SCHEDULED / INTERRUPT / RESUME, each pinned
176
+ // to a negative idx by WRITES_IDX_MAP) REPLACE, so e.g. INTERRUPT can be
177
+ // overwritten by RESUME.
178
+ // - Otherwise IGNORE, so a regular write from one task never clobbers a
179
+ // regular write another concurrent task already stored at the same
180
+ // (task_id, idx).
181
+ const allSpecial = writes.every(([channel]) => channel in WRITES_IDX_MAP);
182
+ const stmt = this.db.prepare(`INSERT ${allSpecial ? "OR REPLACE" : "OR IGNORE"} INTO writes
183
+ (thread_id, checkpoint_ns, checkpoint_id, task_id, idx, channel, type, value)
184
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`);
185
+ const rows = await Promise.all(writes.map(async ([channel, value], idx) => {
186
+ const [type, serialized] = await this.serde.dumpsTyped(value);
187
+ return {
188
+ // Special channels are stored at fixed negative indices so they never
189
+ // collide with regular per-step writes (whose idx is the ordinal).
190
+ idx: WRITES_IDX_MAP[channel] ?? idx,
191
+ channel,
192
+ type,
193
+ value: serialized,
194
+ };
195
+ }));
196
+ this.db.exec("BEGIN");
197
+ try {
198
+ for (const row of rows) {
199
+ stmt.run(threadId, checkpointNs, checkpointId, taskId, row.idx, row.channel, row.type, row.value);
200
+ }
201
+ this.db.exec("COMMIT");
202
+ }
203
+ catch (err) {
204
+ this.db.exec("ROLLBACK");
205
+ throw err;
206
+ }
207
+ }
208
+ async deleteThread(threadId) {
209
+ this.setup();
210
+ this.db.exec("BEGIN");
211
+ try {
212
+ this.db.prepare("DELETE FROM checkpoints WHERE thread_id = ?").run(threadId);
213
+ this.db.prepare("DELETE FROM writes WHERE thread_id = ?").run(threadId);
214
+ this.db.exec("COMMIT");
215
+ }
216
+ catch (err) {
217
+ this.db.exec("ROLLBACK");
218
+ throw err;
219
+ }
220
+ }
221
+ /** Close the underlying database handle. Idempotent and non-throwing. */
222
+ close() {
223
+ try {
224
+ this.db.close();
225
+ }
226
+ catch {
227
+ /* already closed */
228
+ }
229
+ }
230
+ /** Deserialize a checkpoint row and hydrate its pending writes. */
231
+ async rowToTuple(row) {
232
+ const type = row.type ?? "json";
233
+ const checkpoint = (await this.serde.loadsTyped(type, row.checkpoint));
234
+ const metadata = (await this.serde.loadsTyped(type, row.metadata));
235
+ const pendingWrites = await this.loadPendingWrites(row.thread_id, row.checkpoint_ns, row.checkpoint_id);
236
+ return {
237
+ config: {
238
+ configurable: {
239
+ thread_id: row.thread_id,
240
+ checkpoint_ns: row.checkpoint_ns,
241
+ checkpoint_id: row.checkpoint_id,
242
+ },
243
+ },
244
+ checkpoint,
245
+ metadata,
246
+ parentConfig: row.parent_checkpoint_id
247
+ ? {
248
+ configurable: {
249
+ thread_id: row.thread_id,
250
+ checkpoint_ns: row.checkpoint_ns,
251
+ checkpoint_id: row.parent_checkpoint_id,
252
+ },
253
+ }
254
+ : undefined,
255
+ pendingWrites,
256
+ };
257
+ }
258
+ async loadPendingWrites(threadId, checkpointNs, checkpointId) {
259
+ const writeRows = this.db
260
+ .prepare(`SELECT task_id, channel, type, value
261
+ FROM writes
262
+ WHERE thread_id = ? AND checkpoint_ns = ? AND checkpoint_id = ?
263
+ ORDER BY task_id, idx`)
264
+ .all(threadId, checkpointNs, checkpointId);
265
+ return Promise.all(writeRows.map(async (w) => [
266
+ w.task_id,
267
+ w.channel,
268
+ await this.serde.loadsTyped(w.type ?? "json", w.value),
269
+ ]));
270
+ }
271
+ }
272
+ //# sourceMappingURL=sqlite-saver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-saver.js","sourceRoot":"","sources":["../../../src/shared/checkpointer/sqlite-saver.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
1
  /**
2
2
  * Configuration for the checkpointer factory.
3
3
  *
4
- * Two backends are supported:
5
- * - memory: ephemeral in-process storage (OSS / local development)
6
- * - http: routes through the Stigmer Side-Channel Proxy (cloud)
4
+ * Three backends are supported:
5
+ * - sqlite: durable local file (OSS / local / desktop default) — survives across
6
+ * ExecuteDeepAgent invocations so HITL/pause/transient-recovery truly resume.
7
+ * - http: routes through the Stigmer Side-Channel Proxy (cloud / managed).
8
+ * - memory: ephemeral in-process storage — explicit opt-in, used by tests.
7
9
  */
8
10
  export interface CheckpointerConfig {
9
- readonly type: "memory" | "http";
11
+ readonly type: "memory" | "http" | "sqlite";
10
12
  readonly proxyEndpoint?: string;
11
13
  readonly authToken?: string;
14
+ /** Absolute path to the SQLite database file. Required when type is "sqlite". */
15
+ readonly sqlitePath?: string;
12
16
  }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * OAuth-challenge classification for HTTP MCP endpoints.
3
+ *
4
+ * When an HTTP MCP endpoint requires OAuth (per the MCP Authorization spec /
5
+ * RFC 9728), an unauthenticated or statically-tokened request is answered with
6
+ * `401` and a `WWW-Authenticate: Bearer ...` header pointing at OAuth protected
7
+ * resource metadata. The MCP client SDK surfaces this only as an opaque
8
+ * aggregate error ("unhandled errors in a TaskGroup"), which tells the user
9
+ * nothing.
10
+ *
11
+ * This module turns that opaque failure into a precise, actionable signal: it
12
+ * re-probes the endpoint once (only on the failure path, so the happy path pays
13
+ * nothing) and, if it sees an OAuth challenge, returns an {@link
14
+ * OAuthRequiredError} whose message tells the user to connect via OAuth instead
15
+ * of a manual token.
16
+ *
17
+ * Kept transport-library-agnostic (uses global `fetch`) so it is reusable by
18
+ * connect-time discovery, execution-time error enrichment, and any other caller
19
+ * that holds an MCP endpoint URL + headers.
20
+ */
21
+ /**
22
+ * Raised when an HTTP MCP endpoint answers with an OAuth authentication
23
+ * challenge. The message is self-contained and user-facing: it survives the
24
+ * Temporal boundary and is shown by the connect error wrappers verbatim.
25
+ *
26
+ * The literal phrase "requires OAuth" is a stable marker the Go/Java connect
27
+ * wrappers match to avoid appending a generic "check your credentials" suffix.
28
+ */
29
+ export declare class OAuthRequiredError extends Error {
30
+ readonly serverSlug: string;
31
+ readonly resourceMetadataUrl?: string | undefined;
32
+ constructor(serverSlug: string, resourceMetadataUrl?: string | undefined);
33
+ }
34
+ /**
35
+ * Whether a `WWW-Authenticate` header value is an OAuth challenge.
36
+ *
37
+ * The MCP auth spec emits `Bearer realm="OAuth", resource_metadata="..."`. We
38
+ * require the `Bearer` scheme plus either an OAuth realm or a resource-metadata
39
+ * pointer, so a plain `Bearer` 401 from a static-token API (an invalid key, not
40
+ * an OAuth requirement) is not misclassified.
41
+ */
42
+ export declare function isOAuthChallenge(wwwAuthenticate: string): boolean;
43
+ /** Extract the `resource_metadata` URL from a `WWW-Authenticate` value, if present. */
44
+ export declare function parseResourceMetadataUrl(wwwAuthenticate: string): string | undefined;
45
+ /**
46
+ * Probe an HTTP MCP endpoint once to decide whether its failure is an OAuth
47
+ * challenge. Returns an {@link OAuthRequiredError} to throw, or `null` when the
48
+ * endpoint is not asking for OAuth (so the caller rethrows the original error).
49
+ *
50
+ * Never throws: any probe/network failure returns `null` so this classification
51
+ * step can never mask or replace the original discovery error.
52
+ */
53
+ export declare function detectOAuthChallenge(url: string, headers: Record<string, string> | undefined, slug: string): Promise<OAuthRequiredError | null>;