@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.
- package/README.md +1 -1
- package/dist/.build-fingerprint +1 -1
- package/dist/activities/discover-mcp-server.js +24 -0
- package/dist/activities/discover-mcp-server.js.map +1 -1
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.d.ts +5 -2
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.js.map +1 -1
- package/dist/activities/execute-cursor/approval-state.d.ts +58 -10
- package/dist/activities/execute-cursor/approval-state.js +37 -8
- package/dist/activities/execute-cursor/approval-state.js.map +1 -1
- package/dist/activities/execute-cursor/env-resolver.js +7 -1
- package/dist/activities/execute-cursor/env-resolver.js.map +1 -1
- package/dist/activities/execute-cursor/hook-script.d.ts +16 -3
- package/dist/activities/execute-cursor/hook-script.js +66 -21
- package/dist/activities/execute-cursor/hook-script.js.map +1 -1
- package/dist/activities/execute-cursor/index.js +59 -0
- package/dist/activities/execute-cursor/index.js.map +1 -1
- package/dist/activities/execute-cursor/message-translator.d.ts +52 -0
- package/dist/activities/execute-cursor/message-translator.js +107 -1
- package/dist/activities/execute-cursor/message-translator.js.map +1 -1
- package/dist/activities/execute-cursor/turn-boundary.d.ts +25 -3
- package/dist/activities/execute-cursor/turn-boundary.js +46 -8
- package/dist/activities/execute-cursor/turn-boundary.js.map +1 -1
- package/dist/activities/execute-cursor/turn-stream.js +6 -2
- package/dist/activities/execute-cursor/turn-stream.js.map +1 -1
- package/dist/activities/execute-cursor/workspace-setup.d.ts +16 -2
- package/dist/activities/execute-cursor/workspace-setup.js +22 -12
- package/dist/activities/execute-cursor/workspace-setup.js.map +1 -1
- package/dist/activities/execute-deep-agent/environment.js +7 -1
- package/dist/activities/execute-deep-agent/environment.js.map +1 -1
- package/dist/activities/execute-deep-agent/hitl.d.ts +23 -14
- package/dist/activities/execute-deep-agent/hitl.js +42 -37
- package/dist/activities/execute-deep-agent/hitl.js.map +1 -1
- package/dist/activities/execute-deep-agent/index.js +35 -26
- package/dist/activities/execute-deep-agent/index.js.map +1 -1
- package/dist/activities/execute-deep-agent/setup.d.ts +7 -0
- package/dist/activities/execute-deep-agent/setup.js +9 -2
- package/dist/activities/execute-deep-agent/setup.js.map +1 -1
- package/dist/activities/hydrate-workflow-execution.js +8 -1
- package/dist/activities/hydrate-workflow-execution.js.map +1 -1
- package/dist/client/stigmer-client.d.ts +69 -1
- package/dist/client/stigmer-client.js +108 -4
- package/dist/client/stigmer-client.js.map +1 -1
- package/dist/client/token-claims.d.ts +22 -0
- package/dist/client/token-claims.js +40 -0
- package/dist/client/token-claims.js.map +1 -0
- package/dist/config.d.ts +11 -1
- package/dist/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/middleware/approval-gate.js +9 -2
- package/dist/middleware/approval-gate.js.map +1 -1
- package/dist/runner-manager.d.ts +4 -2
- package/dist/runner-manager.js +20 -7
- package/dist/runner-manager.js.map +1 -1
- package/dist/runner.d.ts +2 -2
- package/dist/runner.js +1 -1
- package/dist/shared/checkpointer/factory.d.ts +11 -7
- package/dist/shared/checkpointer/factory.js +21 -8
- package/dist/shared/checkpointer/factory.js.map +1 -1
- package/dist/shared/checkpointer/sqlite-saver.d.ts +54 -0
- package/dist/shared/checkpointer/sqlite-saver.js +272 -0
- package/dist/shared/checkpointer/sqlite-saver.js.map +1 -0
- package/dist/shared/checkpointer/types.d.ts +8 -4
- package/dist/shared/mcp-oauth-detect.d.ts +53 -0
- package/dist/shared/mcp-oauth-detect.js +99 -0
- package/dist/shared/mcp-oauth-detect.js.map +1 -0
- package/dist/shared/tool-row.js +14 -1
- package/dist/shared/tool-row.js.map +1 -1
- package/dist/shared/workspace/platform-dir.d.ts +18 -0
- package/dist/shared/workspace/platform-dir.js +23 -0
- package/dist/shared/workspace/platform-dir.js.map +1 -1
- package/package.json +3 -3
- package/src/__test-utils__/mock-client.ts +3 -0
- package/src/activities/__tests__/hydrate-workflow-execution.test.ts +2 -0
- package/src/activities/discover-mcp-server.ts +26 -0
- package/src/activities/execute-cursor/__test-utils__/cursor-hook-harness.ts +5 -3
- package/src/activities/execute-cursor/__tests__/hitl-ledger.test.ts +272 -14
- package/src/activities/execute-cursor/__tests__/hook-script.test.ts +72 -16
- package/src/activities/execute-cursor/__tests__/message-translator.test.ts +65 -0
- package/src/activities/execute-cursor/__tests__/turn-boundary.test.ts +128 -1
- package/src/activities/execute-cursor/__tests__/workspace-setup.test.ts +95 -0
- package/src/activities/execute-cursor/approval-state.ts +75 -11
- package/src/activities/execute-cursor/env-resolver.ts +8 -1
- package/src/activities/execute-cursor/hook-script.ts +66 -21
- package/src/activities/execute-cursor/index.ts +61 -0
- package/src/activities/execute-cursor/message-translator.ts +124 -1
- package/src/activities/execute-cursor/turn-boundary.ts +79 -6
- package/src/activities/execute-cursor/turn-stream.ts +6 -2
- package/src/activities/execute-cursor/workspace-setup.ts +42 -14
- package/src/activities/execute-deep-agent/__tests__/environment.test.ts +5 -0
- package/src/activities/execute-deep-agent/__tests__/hitl-reject.test.ts +314 -0
- package/src/activities/execute-deep-agent/__tests__/hitl.test.ts +64 -46
- package/src/activities/execute-deep-agent/environment.ts +8 -1
- package/src/activities/execute-deep-agent/hitl.ts +43 -45
- package/src/activities/execute-deep-agent/index.ts +36 -27
- package/src/activities/execute-deep-agent/setup.ts +15 -2
- package/src/activities/hydrate-workflow-execution.ts +9 -1
- package/src/client/__tests__/stigmer-client.test.ts +239 -2
- package/src/client/__tests__/token-claims.test.ts +45 -0
- package/src/client/stigmer-client.ts +152 -3
- package/src/client/token-claims.ts +42 -0
- package/src/config.ts +16 -3
- package/src/middleware/__tests__/approval-gate.test.ts +8 -1
- package/src/middleware/approval-gate.ts +9 -2
- package/src/runner-manager.ts +22 -8
- package/src/runner.ts +3 -3
- package/src/shared/__tests__/mcp-oauth-detect.test.ts +147 -0
- package/src/shared/__tests__/tool-row.test.ts +35 -0
- package/src/shared/checkpointer/__tests__/factory.test.ts +27 -1
- package/src/shared/checkpointer/__tests__/sqlite-saver.test.ts +212 -0
- package/src/shared/checkpointer/factory.ts +25 -8
- package/src/shared/checkpointer/sqlite-saver.ts +384 -0
- package/src/shared/checkpointer/types.ts +8 -4
- package/src/shared/mcp-oauth-detect.ts +112 -0
- package/src/shared/tool-row.ts +14 -1
- 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":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,kBAAkB,GAInB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,sCAAsC,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAExG,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,4EAA4E;AAC5E,gFAAgF;AAChF,iFAAiF;AACjF,oDAAoD;AACpD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,MAAM,oBAAoB,GAAG,UAAU,CAAC;AACxC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAEtC;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE/D,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,OAAO,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAkHD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAA6B;IAE7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEhC,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,qBAAqB;IACrB,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;IAC3D,4EAA4E;IAC5E,8EAA8E;IAC9E,+EAA+E;IAC/E,sEAAsE;IACtE,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,qEAAqE;IACrE,MAAM,cAAc,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEhF,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,uEAAuE;IACvE,gFAAgF;IAEhF,2DAA2D;IAC3D,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAC3F,kDAAkD,CACnD,CAAC;IACF,uBAAuB,CAAC;QACtB,aAAa,EAAE,UAAU,CAAC,aAAa,IAAI,SAAS;QACpD,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,SAAS;KACnD,CAAC,CAAC;IAEH,kFAAkF;IAClF,MAAM,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CACtG,kDAAkD,CACnD,CAAC;IACF,uBAAuB,CAAC;QACtB,aAAa,EAAE,UAAU,CAAC,aAAa,IAAI,SAAS;QACpD,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,SAAS;KACnD,CAAC,CAAC;IACH,yEAAyE;IACzE,2EAA2E;IAC3E,oDAAoD;IACpD,MAAM,yBAAyB,EAAE,CAAC;IAElC,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;QACpD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC9B,2BAA2B,CAAC,KAAK,CAAC,CAAC;YACnC,0EAA0E;YAC1E,2EAA2E;YAC3E,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CACX,wBAAwB,CAAC;YACvB,KAAK,EAAE,QAAQ,CAAC,OAAO;YACvB,eAAe,EAAE,UAAU,CAAC,sBAAsB;SACnD,CAAC;KACL,CAAC,CAAC;IAEH,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,KAAK,EAAE,OAAO,CAAC,YAAY;QAC3B,eAAe,EAAE,UAAU,CAAC,sBAAsB;KACnD,CAAC,CAAC;IACH,MAAM,MAAM,GAAW;QACrB,GAAG,UAAU;QACb,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;KAC/C,CAAC;IAEF,2EAA2E;IAC3E,sEAAsE;IACtE,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAChC,gBAAgB,CAAC,gBAAgB,CAC/B,SAAS,CAAC,iBAAiB,EAC3B,SAAS,CAAC,iCAAiC,CAC5C,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,UAAU,CAAC,aAAa,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxD,6EAA6E;QAC7E,4EAA4E;QAC5E,0EAA0E;QAC1E,mDAAmD;QACnD,OAAO,CAAC,IAAI,CACV,6EAA6E;YAC3E,4DAA4D,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAC7C,kDAAkD,CACnD,CAAC;IACF,sBAAsB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC;QAChD,OAAO,EAAE,MAAM,CAAC,eAAe;KAChC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAEzD,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,cAAc,GAAG,qBAAqB,EAAE,CAAC;IAC/C,IAAI,cAAoC,CAAC;IACzC,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,qDAAqD,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5F,cAAc,GAAG,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,cAAc,GAAG,MAAM,kBAAkB,CAAC;YACxC,aAAa,EAAE,cAAc,CAAC,aAAa;YAC3C,0BAA0B,EAAE,iBAAiB,CAAC,0BAA0B;SACzE,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACnD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC3D,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,UAAU,mBAAmB,CAAC,SAAiB;QAClD,MAAM,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAC;QACjD,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACnD,uBAAuB,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACjC,UAAU;YACV,SAAS,EAAE,MAAM,CAAC,iBAAiB;YACnC,SAAS;YACT,UAAU;YACV,cAAc;YACd,mCAAmC,EAAE,MAAM,CAAC,uBAAuB;YACnE,aAAa,EAAE,YAAY;gBACzB,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE;gBACnC,CAAC,CAAC,SAAS;YACb,KAAK,EAAE,iBAAiB,CAAC,KAAK;YAC9B,YAAY,EAAE,iBAAiB,CAAC,YAAY;SAC7C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5C,OAAO,CAAC,KAAK,CACX,qCAAqC,SAAS,qBAAqB,EACnE,GAAG,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,SAAS,mBAAmB,CAC1B,QAAqC,EACrC,EAAU,EACV,SAAiB,EACjB,IAAY;QAEZ,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;YAC9B,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,IAAI,EAAE,+BAA+B,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,UAAU,eAAe,CAC5B,QAAqC,EACrC,EAAU,EACV,SAAiB,EACjB,IAAY;QAEZ,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,OAAO,CAAC,UAAU,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,WAAW,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,IAAI,EAAE,YAAY,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IAClF,CAAC;IAED;;;;;OAKG;IACH,KAAK,UAAU,aAAa,CAC1B,QAAqC,EACrC,EAAU,EACV,SAAiB,EACjB,IAAY;QAEZ,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YAC5B,qBAAqB,CAAC,SAAS,EAAE,GAAG,EAAE;gBACpC,mEAAmE;gBACnE,yDAAyD;gBACzD,IAAI,YAAY;oBAAE,OAAO;gBACzB,KAAK,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CACT,0CAA0C,IAAI,IAAI,EAAE,KAAK;gBACzD,GAAG,qBAAqB,CAAC,SAAS,CAAC,qDAAqD,CACzF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACL,KAAK,CAAC,UAAU,CAAC,SAAiB;YAChC,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,SAAS,GAAG,oBAAoB,GAAG,SAAS,CAAC;YACnD,IAAI,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACrD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CACT,kCAAkC,SAAS,WAAW,SAAS,YAAY,QAAQ,CAAC,IAAI,GAAG,CAC5F,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,SAAiB;YACnC,MAAM,aAAa,CACjB,QAAQ,EAAE,SAAS,EAAE,oBAAoB,GAAG,SAAS,EAAE,SAAS,CACjE,CAAC;QACJ,CAAC;QAED,cAAc;YACZ,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,oBAAoB,CAAC,WAAmB;YAC5C,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,SAAS,GAAG,mBAAmB,GAAG,WAAW,CAAC;YACpD,IAAI,mBAAmB,CAAC,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,CAAC,EAAE,CAAC;gBAC1F,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACrD,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CACT,6CAA6C,WAAW,WAAW,SAAS,YAAY,kBAAkB,CAAC,IAAI,GAAG,CACnH,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,uBAAuB,CAAC,WAAmB;YAC/C,MAAM,aAAa,CACjB,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,GAAG,WAAW,EAClE,oBAAoB,CACrB,CAAC;QACJ,CAAC;QAED,wBAAwB;YACtB,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,WAAW,CAAC,KAAoB;YAC9B,2EAA2E;YAC3E,0EAA0E;YAC1E,uEAAuE;YACvE,uEAAuE;YACvE,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YACzB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YACnC,CAAC;YACD,gBAAgB,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;QAED,KAAK,CAAC,QAAQ;YACZ,YAAY,GAAG,IAAI,CAAC;YACpB,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;YAC7D,OAAO,CAAC,GAAG,CACT,kCAAkC,YAAY,aAAa,QAAQ,CAAC,IAAI,cAAc,kBAAkB,CAAC,IAAI,0BAA0B,CACxI,CAAC;YAEF,MAAM,gBAAgB,GAAG;gBACvB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACnC,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE;oBACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC1B,MAAM,OAAO,CAAC,UAAU,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAC;gBAC/D,CAAC,CACF;gBACD,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAC7C,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE;oBACxB,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5B,MAAM,SAAS,CAAC,UAAU,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,UAAU,CAAC,CAAC;gBAC1E,CAAC,CACF;aACF,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACpC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACzE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA6B;IAC3D,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;IACJ,CAAC;IACD,0EAA0E;IAC1E,4EAA4E;IAC5E,8EAA8E;AAChF,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAA6B,EAC7B,QAAqC,EACrC,cAA2C;IAE3C,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAE5C,6EAA6E;IAC7E,sEAAsE;IACtE,8EAA8E;IAC9E,8EAA8E;IAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,IAAK,OAAiB,CAAC;IAEzD,OAAO;QACL,SAAS,EAAE,SAAS,EAAE,kDAAkD;QACxE,gEAAgE;QAChE,uEAAuE;QACvE,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE;QAC9C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,SAAS;QACzD,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC;QAClE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;QAC1C,eAAe,EAAE,QAAQ;QACzB,qBAAqB,EAAE,cAAc;QACrC,YAAY,EAAE,WAAW;YACvB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,eAAe,CAAC;YAC3C,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,0BAA0B,EAAE;QAC1E,IAAI;QACJ,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;QAC5C,uBAAuB,EAAE,OAAO,CAAC,iCAAiC,IAAI,CAAC;QACvE,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;QACnD,gBAAgB,EACd,OAAO,CAAC,gBAAgB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,yBAAyB,EACvB,OAAO,CAAC,yBAAyB,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI;QACpE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,SAAS;QAC/C,0BAA0B,EACxB,OAAO,CAAC,0BAA0B,IAAI,sCAAsC;QAC9E,sBAAsB,EACpB,OAAO,CAAC,sBAAsB,IAAI,iCAAiC;KACtE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAc;IAC/C,MAAM,CACJ,EAAE,sBAAsB,EAAE,EAC1B,EAAE,yBAAyB,EAAE,EAC7B,EAAE,4BAA4B,EAAE,EAChC,EAAE,qCAAqC,EAAE,EACzC,EAAE,iCAAiC,EAAE,EACrC,EAAE,mCAAmC,EAAE,EACvC,EAAE,wBAAwB,EAAE,EAC5B,EAAE,wBAAwB,EAAE,EAC5B,EAAE,4BAA4B,EAAE,EAChC,EAAE,uBAAuB,EAAE,EAC3B,EAAE,yBAAyB,EAAE,EAC7B,EAAE,+BAA+B,EAAE,EACnC,EAAE,0BAA0B,EAAE,EAC9B,EAAE,+BAA+B,EAAE,EACnC,EAAE,6BAA6B,EAAE,EACjC,EAAE,iCAAiC,EAAE,EACtC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,MAAM,CAAC,sCAAsC,CAAC;QAC9C,MAAM,CAAC,0CAA0C,CAAC;QAClD,MAAM,CAAC,+BAA+B,CAAC;QACvC,MAAM,CAAC,yCAAyC,CAAC;QACjD,MAAM,CAAC,qCAAqC,CAAC;QAC7C,MAAM,CAAC,sCAAsC,CAAC;QAC9C,MAAM,CAAC,2BAA2B,CAAC;QACnC,MAAM,CAAC,2BAA2B,CAAC;QACnC,MAAM,CAAC,+BAA+B,CAAC;QACvC,MAAM,CAAC,0BAA0B,CAAC;QAClC,MAAM,CAAC,4BAA4B,CAAC;QACpC,MAAM,CAAC,mCAAmC,CAAC;QAC3C,MAAM,CAAC,6BAA6B,CAAC;QACrC,MAAM,CAAC,4CAA4C,CAAC;QACpD,MAAM,CAAC,2CAA2C,CAAC;QACnD,MAAM,CAAC,qCAAqC,CAAC;KAC9C,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,sBAAsB,CAAC,MAAM,CAAC;QACjC,GAAG,yBAAyB,CAAC,MAAM,CAAC;QACpC,GAAG,4BAA4B,EAAE;QACjC,GAAG,qCAAqC,CAAC,MAAM,CAAC;QAChD,GAAG,iCAAiC,CAAC,MAAM,CAAC;QAC5C,GAAG,mCAAmC,EAAE;QACxC,GAAG,wBAAwB,EAAE;QAC7B,GAAG,wBAAwB,EAAE;QAC7B,GAAG,4BAA4B,EAAE;QACjC,GAAG,uBAAuB,EAAE;QAC5B,GAAG,yBAAyB,EAAE;QAC9B,GAAG,+BAA+B,EAAE;QACpC,GAAG,0BAA0B,EAAE;QAC/B,GAAG,+BAA+B,CAAC,MAAM,CAAC;QAC1C,GAAG,6BAA6B,EAAE;QAClC,GAAG,iCAAiC,EAAE;KACvC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,MAAc;IAEd,MAAM,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CACnE,uBAAuB,CACxB,CAAC;IACF,MAAM,gBAAgB,GAAG,oBAAoB,EAAE,CAAC;IAChD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CACvE,8BAA8B,CAC/B,CAAC;IACF,MAAM,aAAa,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACrD,OAAO,IAAI,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAC/D,CAAC;AAeD,KAAK,UAAU,sBAAsB;IACnC,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CACjD,yCAAyC,CAC1C,CAAC;IAEF,MAAM,oBAAoB,GAAkC,EAAE,CAAC;IAC/D,IAAI,KAAK,GAAuB,EAAE,GAAG,0BAA0B,EAAE,EAAE,CAAC;IACpE,MAAM,0BAA0B,GAAa,EAAE,CAAC;IAEhD,+EAA+E;IAC/E,8EAA8E;IAC9E,6EAA6E;IAC7E,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO,EAAE;YACP,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI;gBACvB,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrC,sBAAsB,CAAC,SAAS,CAAC,CAAC;gBAClC,IAAI,CAAC;oBACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;wBAAS,CAAC;oBACT,uBAAuB,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;SACF;KACF,CAAC,CAAC,CAAC;IAEJ,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC;QAC5C,MAAM,EAAE,uCAAuC,EAAE,oBAAoB,EAAE,GACrE,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;QACzD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CACxC,yCAAyC,CAC1C,CAAC;QACF,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAC7C,0BAA0B,CAC3B,CAAC;QAEF,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClC,OAAO,EAAE,IAAI,uCAAuC,CAAC,GAAG,CAAC;SAC1D,CAAC,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAG,sBAAsB,CAAC;YACtC,cAAc,EAAE,wBAAwB;SACzC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;SAC7C,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,oBAAoB,CACpC,QAAe,EACf,QAAe,CACiB,CAAC;QACnC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC;QAEnC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,0BAA0B,CAAC,IAAI,CAC7B,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK;QACL,YAAY,EAAE;YACZ,GAAG,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE;gBACpC,CAAC,CAAC,EAAE,CAAC;SACR;QACD,0BAA0B;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAChE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC;QACvD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACtE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,WAAW,QAAQ,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,UAAU,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
|
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 "
|
|
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" : "
|
|
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
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
*
|
|
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
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
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
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
*
|
|
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
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
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:
|
|
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
|
|
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
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
*
|
|
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>;
|