@stigmer/runner 3.32.0 → 3.33.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 (53) hide show
  1. package/dist/.build-fingerprint +1 -1
  2. package/dist/activities/execute-deep-agent/cas-capture-backend.d.ts +13 -6
  3. package/dist/activities/execute-deep-agent/cas-capture-backend.js +21 -5
  4. package/dist/activities/execute-deep-agent/cas-capture-backend.js.map +1 -1
  5. package/dist/activities/execute-deep-agent/deepagents-profiles.d.ts +21 -7
  6. package/dist/activities/execute-deep-agent/deepagents-profiles.js +24 -9
  7. package/dist/activities/execute-deep-agent/deepagents-profiles.js.map +1 -1
  8. package/dist/activities/execute-deep-agent/platform-route.d.ts +75 -0
  9. package/dist/activities/execute-deep-agent/platform-route.js +107 -0
  10. package/dist/activities/execute-deep-agent/platform-route.js.map +1 -0
  11. package/dist/activities/execute-deep-agent/subagent-transformer.d.ts +2 -0
  12. package/dist/activities/execute-deep-agent/subagent-transformer.js +29 -5
  13. package/dist/activities/execute-deep-agent/subagent-transformer.js.map +1 -1
  14. package/dist/activities/execute-deep-agent/subagent-wiring.d.ts +5 -7
  15. package/dist/activities/execute-deep-agent/subagent-wiring.js +5 -7
  16. package/dist/activities/execute-deep-agent/subagent-wiring.js.map +1 -1
  17. package/dist/activities/execute-deep-agent/translator.d.ts +6 -2
  18. package/dist/activities/execute-deep-agent/translator.js +6 -2
  19. package/dist/activities/execute-deep-agent/translator.js.map +1 -1
  20. package/dist/activities/execute-deep-agent/turn-setup.js +14 -3
  21. package/dist/activities/execute-deep-agent/turn-setup.js.map +1 -1
  22. package/dist/middleware/index.d.ts +7 -3
  23. package/dist/middleware/index.js +7 -3
  24. package/dist/middleware/index.js.map +1 -1
  25. package/dist/shared/workspace/stigmer-link.d.ts +15 -3
  26. package/dist/shared/workspace/stigmer-link.js +22 -3
  27. package/dist/shared/workspace/stigmer-link.js.map +1 -1
  28. package/dist/shared/workspace/types.d.ts +4 -3
  29. package/package.json +15 -9
  30. package/src/activities/execute-deep-agent/__tests__/builtin-tool-surface.test.ts +107 -0
  31. package/src/activities/execute-deep-agent/__tests__/cas-capture-backend.test.ts +14 -0
  32. package/src/activities/execute-deep-agent/__tests__/hermetic/fixtures/paused-session.deepagents-1.10.2.json +592 -0
  33. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sub-agent-delegation.status.json +2 -2
  34. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/tool-call.status.json +1 -1
  35. package/src/activities/execute-deep-agent/__tests__/hermetic/plain-turn.test.ts +10 -13
  36. package/src/activities/execute-deep-agent/__tests__/hermetic/resume-across-engine-upgrade.test.ts +374 -0
  37. package/src/activities/execute-deep-agent/__tests__/hermetic/sub-agent-delegation.test.ts +7 -0
  38. package/src/activities/execute-deep-agent/__tests__/hermetic/tool-call.test.ts +6 -0
  39. package/src/activities/execute-deep-agent/__tests__/plan-mode-path-normalization.test.ts +16 -8
  40. package/src/activities/execute-deep-agent/__tests__/platform-route.test.ts +148 -0
  41. package/src/activities/execute-deep-agent/__tests__/subagent-transformer.test.ts +24 -0
  42. package/src/activities/execute-deep-agent/__tests__/summarization-verification.test.ts +16 -9
  43. package/src/activities/execute-deep-agent/cas-capture-backend.ts +25 -6
  44. package/src/activities/execute-deep-agent/deepagents-profiles.ts +25 -9
  45. package/src/activities/execute-deep-agent/platform-route.ts +134 -0
  46. package/src/activities/execute-deep-agent/subagent-transformer.ts +40 -6
  47. package/src/activities/execute-deep-agent/subagent-wiring.ts +5 -7
  48. package/src/activities/execute-deep-agent/translator.ts +6 -2
  49. package/src/activities/execute-deep-agent/turn-setup.ts +17 -3
  50. package/src/middleware/index.ts +7 -3
  51. package/src/shared/workspace/__tests__/stigmer-link.test.ts +41 -18
  52. package/src/shared/workspace/stigmer-link.ts +22 -3
  53. package/src/shared/workspace/types.ts +4 -3
@@ -0,0 +1,592 @@
1
+ {
2
+ "recordedWith": {
3
+ "deepagents": "1.10.2",
4
+ "@langchain/langgraph": "1.3.2",
5
+ "@langchain/langgraph-checkpoint": "1.0.2",
6
+ "@langchain/core": "1.2.7"
7
+ },
8
+ "threadId": "thread-ses_hermetic_0001",
9
+ "checkpoints": [
10
+ {
11
+ "thread_id": "thread-ses_hermetic_0001",
12
+ "checkpoint_ns": "",
13
+ "checkpoint_id": "1f0e6a4d-0c3c-6001-ffff-461dd044988c",
14
+ "parent_checkpoint_id": null,
15
+ "type": "json",
16
+ "checkpoint": {
17
+ "encoding": "utf8",
18
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-0c3c-6001-ffff-461dd044988c\",\"ts\":\"2026-01-01T00:00:00.000Z\",\"channel_values\":{\"messages\":[],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__start__\":{\"messages\":[{\"role\":\"user\",\"content\":\"Plan it, then run the command for me.\"}],\"todos\":[]},\"__pregel_tasks\":[[],[]]},\"channel_versions\":{\"__start__\":1},\"versions_seen\":{\"__input__\":{}}}"
19
+ },
20
+ "metadata": {
21
+ "encoding": "utf8",
22
+ "data": "{\"source\":\"input\",\"step\":-1,\"parents\":{}}"
23
+ }
24
+ },
25
+ {
26
+ "thread_id": "thread-ses_hermetic_0001",
27
+ "checkpoint_ns": "",
28
+ "checkpoint_id": "1f0e6a4d-0c3c-6002-8000-46169ceeff4a",
29
+ "parent_checkpoint_id": "1f0e6a4d-0c3c-6001-ffff-461dd044988c",
30
+ "type": "json",
31
+ "checkpoint": {
32
+ "encoding": "utf8",
33
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-0c3c-6002-8000-46169ceeff4a\",\"ts\":\"2026-01-01T00:00:00.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:FilesystemMiddleware.before_agent\":null},\"channel_versions\":{\"__start__\":2,\"messages\":2,\"todos\":2,\"branch:to:FilesystemMiddleware.before_agent\":2},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1}}}"
34
+ },
35
+ "metadata": {
36
+ "encoding": "utf8",
37
+ "data": "{\"source\":\"loop\",\"step\":0,\"parents\":{}}"
38
+ }
39
+ },
40
+ {
41
+ "thread_id": "thread-ses_hermetic_0001",
42
+ "checkpoint_ns": "",
43
+ "checkpoint_id": "1f0e6a4d-0c3c-6003-8001-45509db59c14",
44
+ "parent_checkpoint_id": "1f0e6a4d-0c3c-6002-8000-46169ceeff4a",
45
+ "type": "json",
46
+ "checkpoint": {
47
+ "encoding": "utf8",
48
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-0c3c-6003-8001-45509db59c14\",\"ts\":\"2026-01-01T00:00:00.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:patchToolCallsMiddleware.before_agent\":null},\"channel_versions\":{\"__start__\":2,\"messages\":2,\"todos\":2,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":3,\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2}}}"
49
+ },
50
+ "metadata": {
51
+ "encoding": "utf8",
52
+ "data": "{\"source\":\"loop\",\"step\":1,\"parents\":{}}"
53
+ }
54
+ },
55
+ {
56
+ "thread_id": "thread-ses_hermetic_0001",
57
+ "checkpoint_ns": "",
58
+ "checkpoint_id": "1f0e6a4d-0c3c-6004-8002-6da7132bd6d7",
59
+ "parent_checkpoint_id": "1f0e6a4d-0c3c-6003-8001-45509db59c14",
60
+ "type": "json",
61
+ "checkpoint": {
62
+ "encoding": "utf8",
63
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-0c3c-6004-8002-6da7132bd6d7\",\"ts\":\"2026-01-01T00:00:00.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:LoopDetectionMiddleware.before_agent\":null},\"channel_versions\":{\"__start__\":2,\"messages\":2,\"todos\":2,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":4,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":4},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3}}}"
64
+ },
65
+ "metadata": {
66
+ "encoding": "utf8",
67
+ "data": "{\"source\":\"loop\",\"step\":2,\"parents\":{}}"
68
+ }
69
+ },
70
+ {
71
+ "thread_id": "thread-ses_hermetic_0001",
72
+ "checkpoint_ns": "",
73
+ "checkpoint_id": "1f0e6a4d-0c3c-6005-8003-46d757e1587d",
74
+ "parent_checkpoint_id": "1f0e6a4d-0c3c-6004-8002-6da7132bd6d7",
75
+ "type": "json",
76
+ "checkpoint": {
77
+ "encoding": "utf8",
78
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-0c3c-6005-8003-46d757e1587d\",\"ts\":\"2026-01-01T00:00:00.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:ExecutionBudgetMiddleware.before_agent\":null},\"channel_versions\":{\"__start__\":2,\"messages\":2,\"todos\":2,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":5,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":5,\"branch:to:ExecutionBudgetMiddleware.before_agent\":5},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"LoopDetectionMiddleware.before_agent\":{\"branch:to:LoopDetectionMiddleware.before_agent\":4}}}"
79
+ },
80
+ "metadata": {
81
+ "encoding": "utf8",
82
+ "data": "{\"source\":\"loop\",\"step\":3,\"parents\":{}}"
83
+ }
84
+ },
85
+ {
86
+ "thread_id": "thread-ses_hermetic_0001",
87
+ "checkpoint_ns": "",
88
+ "checkpoint_id": "1f0e6a4d-0c3c-6006-8004-5deee7533200",
89
+ "parent_checkpoint_id": "1f0e6a4d-0c3c-6005-8003-46d757e1587d",
90
+ "type": "json",
91
+ "checkpoint": {
92
+ "encoding": "utf8",
93
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-0c3c-6006-8004-5deee7533200\",\"ts\":\"2026-01-01T00:00:00.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:ToolTruncationMiddleware.before_agent\":null},\"channel_versions\":{\"__start__\":2,\"messages\":2,\"todos\":2,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":6,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":5,\"branch:to:ExecutionBudgetMiddleware.before_agent\":6,\"branch:to:ToolTruncationMiddleware.before_agent\":6},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"LoopDetectionMiddleware.before_agent\":{\"branch:to:LoopDetectionMiddleware.before_agent\":4},\"ExecutionBudgetMiddleware.before_agent\":{\"branch:to:ExecutionBudgetMiddleware.before_agent\":5}}}"
94
+ },
95
+ "metadata": {
96
+ "encoding": "utf8",
97
+ "data": "{\"source\":\"loop\",\"step\":4,\"parents\":{}}"
98
+ }
99
+ },
100
+ {
101
+ "thread_id": "thread-ses_hermetic_0001",
102
+ "checkpoint_ns": "",
103
+ "checkpoint_id": "1f0e6a4d-0c3c-6007-8005-a950c6c90e66",
104
+ "parent_checkpoint_id": "1f0e6a4d-0c3c-6006-8004-5deee7533200",
105
+ "type": "json",
106
+ "checkpoint": {
107
+ "encoding": "utf8",
108
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-0c3c-6007-8005-a950c6c90e66\",\"ts\":\"2026-01-01T00:00:00.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:model_request\":null},\"channel_versions\":{\"__start__\":2,\"messages\":2,\"todos\":2,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":7,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":5,\"branch:to:ExecutionBudgetMiddleware.before_agent\":6,\"branch:to:ToolTruncationMiddleware.before_agent\":7,\"branch:to:model_request\":7},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"LoopDetectionMiddleware.before_agent\":{\"branch:to:LoopDetectionMiddleware.before_agent\":4},\"ExecutionBudgetMiddleware.before_agent\":{\"branch:to:ExecutionBudgetMiddleware.before_agent\":5},\"ToolTruncationMiddleware.before_agent\":{\"branch:to:ToolTruncationMiddleware.before_agent\":6}}}"
109
+ },
110
+ "metadata": {
111
+ "encoding": "utf8",
112
+ "data": "{\"source\":\"loop\",\"step\":5,\"parents\":{}}"
113
+ }
114
+ },
115
+ {
116
+ "thread_id": "thread-ses_hermetic_0001",
117
+ "checkpoint_ns": "",
118
+ "checkpoint_id": "1f0e6a4d-15c5-6680-8006-2f9bf8dcf67b",
119
+ "parent_checkpoint_id": "1f0e6a4d-0c3c-6007-8005-a950c6c90e66",
120
+ "type": "json",
121
+ "checkpoint": {
122
+ "encoding": "utf8",
123
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-15c5-6680-8006-2f9bf8dcf67b\",\"ts\":\"2026-01-01T00:00:01.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:LoopDetectionMiddleware.after_model\":null},\"channel_versions\":{\"__start__\":2,\"messages\":8,\"todos\":2,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":7,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":5,\"branch:to:ExecutionBudgetMiddleware.before_agent\":6,\"branch:to:ToolTruncationMiddleware.before_agent\":7,\"branch:to:model_request\":8,\"branch:to:LoopDetectionMiddleware.after_model\":8},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"LoopDetectionMiddleware.before_agent\":{\"branch:to:LoopDetectionMiddleware.before_agent\":4},\"ExecutionBudgetMiddleware.before_agent\":{\"branch:to:ExecutionBudgetMiddleware.before_agent\":5},\"ToolTruncationMiddleware.before_agent\":{\"branch:to:ToolTruncationMiddleware.before_agent\":6},\"model_request\":{\"branch:to:model_request\":7}}}"
124
+ },
125
+ "metadata": {
126
+ "encoding": "utf8",
127
+ "data": "{\"source\":\"loop\",\"step\":6,\"parents\":{}}"
128
+ }
129
+ },
130
+ {
131
+ "thread_id": "thread-ses_hermetic_0001",
132
+ "checkpoint_ns": "",
133
+ "checkpoint_id": "1f0e6a4d-15c5-6681-8007-d9c156ca038f",
134
+ "parent_checkpoint_id": "1f0e6a4d-15c5-6680-8006-2f9bf8dcf67b",
135
+ "type": "json",
136
+ "checkpoint": {
137
+ "encoding": "utf8",
138
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-15c5-6681-8007-d9c156ca038f\",\"ts\":\"2026-01-01T00:00:01.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:todoListMiddleware.after_model\":null},\"channel_versions\":{\"__start__\":2,\"messages\":8,\"todos\":2,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":9,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":5,\"branch:to:ExecutionBudgetMiddleware.before_agent\":6,\"branch:to:ToolTruncationMiddleware.before_agent\":7,\"branch:to:model_request\":8,\"branch:to:LoopDetectionMiddleware.after_model\":9,\"branch:to:todoListMiddleware.after_model\":9},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"LoopDetectionMiddleware.before_agent\":{\"branch:to:LoopDetectionMiddleware.before_agent\":4},\"ExecutionBudgetMiddleware.before_agent\":{\"branch:to:ExecutionBudgetMiddleware.before_agent\":5},\"ToolTruncationMiddleware.before_agent\":{\"branch:to:ToolTruncationMiddleware.before_agent\":6},\"model_request\":{\"branch:to:model_request\":7},\"LoopDetectionMiddleware.after_model\":{\"branch:to:LoopDetectionMiddleware.after_model\":8}}}"
139
+ },
140
+ "metadata": {
141
+ "encoding": "utf8",
142
+ "data": "{\"source\":\"loop\",\"step\":7,\"parents\":{}}"
143
+ }
144
+ },
145
+ {
146
+ "thread_id": "thread-ses_hermetic_0001",
147
+ "checkpoint_ns": "",
148
+ "checkpoint_id": "1f0e6a4d-15c5-6683-8008-afcb41bb8141",
149
+ "parent_checkpoint_id": "1f0e6a4d-15c5-6681-8007-d9c156ca038f",
150
+ "type": "json",
151
+ "checkpoint": {
152
+ "encoding": "utf8",
153
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-15c5-6683-8008-afcb41bb8141\",\"ts\":\"2026-01-01T00:00:01.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[{\"node\":\"tools\",\"args\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"lg_tool_call\":{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}}}]]},\"channel_versions\":{\"__start__\":2,\"messages\":8,\"todos\":2,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":10,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":5,\"branch:to:ExecutionBudgetMiddleware.before_agent\":6,\"branch:to:ToolTruncationMiddleware.before_agent\":7,\"branch:to:model_request\":8,\"branch:to:LoopDetectionMiddleware.after_model\":9,\"branch:to:todoListMiddleware.after_model\":10,\"__pregel_tasks\":10},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"LoopDetectionMiddleware.before_agent\":{\"branch:to:LoopDetectionMiddleware.before_agent\":4},\"ExecutionBudgetMiddleware.before_agent\":{\"branch:to:ExecutionBudgetMiddleware.before_agent\":5},\"ToolTruncationMiddleware.before_agent\":{\"branch:to:ToolTruncationMiddleware.before_agent\":6},\"model_request\":{\"branch:to:model_request\":7},\"LoopDetectionMiddleware.after_model\":{\"branch:to:LoopDetectionMiddleware.after_model\":8},\"todoListMiddleware.after_model\":{\"branch:to:todoListMiddleware.after_model\":9}}}"
154
+ },
155
+ "metadata": {
156
+ "encoding": "utf8",
157
+ "data": "{\"source\":\"loop\",\"step\":8,\"parents\":{}}"
158
+ }
159
+ },
160
+ {
161
+ "thread_id": "thread-ses_hermetic_0001",
162
+ "checkpoint_ns": "",
163
+ "checkpoint_id": "1f0e6a4d-15c5-6684-8009-b23d595da2e2",
164
+ "parent_checkpoint_id": "1f0e6a4d-15c5-6683-8008-afcb41bb8141",
165
+ "type": "json",
166
+ "checkpoint": {
167
+ "encoding": "utf8",
168
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-15c5-6684-8009-b23d595da2e2\",\"ts\":\"2026-01-01T00:00:01.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"ToolMessage\"],\"kwargs\":{\"content\":\"Updated todo list to [{\\\"content\\\":\\\"Run the command\\\",\\\"status\\\":\\\"in_progress\\\"},{\\\"content\\\":\\\"Report the result\\\",\\\"status\\\":\\\"pending\\\"}]\",\"tool_call_id\":\"call-hermetic-todo-0001\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"e51ef45c-4614-430f-b416-1ae078f2b04d\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:model_request\":null},\"channel_versions\":{\"__start__\":2,\"messages\":11,\"todos\":11,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":10,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":5,\"branch:to:ExecutionBudgetMiddleware.before_agent\":6,\"branch:to:ToolTruncationMiddleware.before_agent\":7,\"branch:to:model_request\":11,\"branch:to:LoopDetectionMiddleware.after_model\":9,\"branch:to:todoListMiddleware.after_model\":10,\"__pregel_tasks\":11},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"LoopDetectionMiddleware.before_agent\":{\"branch:to:LoopDetectionMiddleware.before_agent\":4},\"ExecutionBudgetMiddleware.before_agent\":{\"branch:to:ExecutionBudgetMiddleware.before_agent\":5},\"ToolTruncationMiddleware.before_agent\":{\"branch:to:ToolTruncationMiddleware.before_agent\":6},\"model_request\":{\"branch:to:model_request\":7},\"LoopDetectionMiddleware.after_model\":{\"branch:to:LoopDetectionMiddleware.after_model\":8},\"todoListMiddleware.after_model\":{\"branch:to:todoListMiddleware.after_model\":9},\"tools\":{}}}"
169
+ },
170
+ "metadata": {
171
+ "encoding": "utf8",
172
+ "data": "{\"source\":\"loop\",\"step\":9,\"parents\":{}}"
173
+ }
174
+ },
175
+ {
176
+ "thread_id": "thread-ses_hermetic_0001",
177
+ "checkpoint_ns": "",
178
+ "checkpoint_id": "1f0e6a4d-1f4e-6d00-800a-374b35f8c7ff",
179
+ "parent_checkpoint_id": "1f0e6a4d-15c5-6684-8009-b23d595da2e2",
180
+ "type": "json",
181
+ "checkpoint": {
182
+ "encoding": "utf8",
183
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-1f4e-6d00-800a-374b35f8c7ff\",\"ts\":\"2026-01-01T00:00:02.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"ToolMessage\"],\"kwargs\":{\"content\":\"Updated todo list to [{\\\"content\\\":\\\"Run the command\\\",\\\"status\\\":\\\"in_progress\\\"},{\\\"content\\\":\\\"Report the result\\\",\\\"status\\\":\\\"pending\\\"}]\",\"tool_call_id\":\"call-hermetic-todo-0001\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"e51ef45c-4614-430f-b416-1ae078f2b04d\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-abe8-7623-a7fa-77f78ae85d8b\",\"content\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"usage_metadata\":{\"input_tokens\":1400,\"output_tokens\":50,\"total_tokens\":1450},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"additional_kwargs\":{},\"name\":\"model\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:LoopDetectionMiddleware.after_model\":null},\"channel_versions\":{\"__start__\":2,\"messages\":12,\"todos\":11,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":10,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":5,\"branch:to:ExecutionBudgetMiddleware.before_agent\":6,\"branch:to:ToolTruncationMiddleware.before_agent\":7,\"branch:to:model_request\":12,\"branch:to:LoopDetectionMiddleware.after_model\":12,\"branch:to:todoListMiddleware.after_model\":10,\"__pregel_tasks\":11},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"LoopDetectionMiddleware.before_agent\":{\"branch:to:LoopDetectionMiddleware.before_agent\":4},\"ExecutionBudgetMiddleware.before_agent\":{\"branch:to:ExecutionBudgetMiddleware.before_agent\":5},\"ToolTruncationMiddleware.before_agent\":{\"branch:to:ToolTruncationMiddleware.before_agent\":6},\"model_request\":{\"branch:to:model_request\":11},\"LoopDetectionMiddleware.after_model\":{\"branch:to:LoopDetectionMiddleware.after_model\":8},\"todoListMiddleware.after_model\":{\"branch:to:todoListMiddleware.after_model\":9},\"tools\":{}}}"
184
+ },
185
+ "metadata": {
186
+ "encoding": "utf8",
187
+ "data": "{\"source\":\"loop\",\"step\":10,\"parents\":{}}"
188
+ }
189
+ },
190
+ {
191
+ "thread_id": "thread-ses_hermetic_0001",
192
+ "checkpoint_ns": "",
193
+ "checkpoint_id": "1f0e6a4d-1f4e-6d01-800b-83c1f40b3daa",
194
+ "parent_checkpoint_id": "1f0e6a4d-1f4e-6d00-800a-374b35f8c7ff",
195
+ "type": "json",
196
+ "checkpoint": {
197
+ "encoding": "utf8",
198
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-1f4e-6d01-800b-83c1f40b3daa\",\"ts\":\"2026-01-01T00:00:02.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"ToolMessage\"],\"kwargs\":{\"content\":\"Updated todo list to [{\\\"content\\\":\\\"Run the command\\\",\\\"status\\\":\\\"in_progress\\\"},{\\\"content\\\":\\\"Report the result\\\",\\\"status\\\":\\\"pending\\\"}]\",\"tool_call_id\":\"call-hermetic-todo-0001\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"e51ef45c-4614-430f-b416-1ae078f2b04d\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-abe8-7623-a7fa-77f78ae85d8b\",\"content\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"usage_metadata\":{\"input_tokens\":1400,\"output_tokens\":50,\"total_tokens\":1450},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"additional_kwargs\":{},\"name\":\"model\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[]],\"branch:to:todoListMiddleware.after_model\":null},\"channel_versions\":{\"__start__\":2,\"messages\":12,\"todos\":11,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":13,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":5,\"branch:to:ExecutionBudgetMiddleware.before_agent\":6,\"branch:to:ToolTruncationMiddleware.before_agent\":7,\"branch:to:model_request\":12,\"branch:to:LoopDetectionMiddleware.after_model\":13,\"branch:to:todoListMiddleware.after_model\":13,\"__pregel_tasks\":11},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"LoopDetectionMiddleware.before_agent\":{\"branch:to:LoopDetectionMiddleware.before_agent\":4},\"ExecutionBudgetMiddleware.before_agent\":{\"branch:to:ExecutionBudgetMiddleware.before_agent\":5},\"ToolTruncationMiddleware.before_agent\":{\"branch:to:ToolTruncationMiddleware.before_agent\":6},\"model_request\":{\"branch:to:model_request\":11},\"LoopDetectionMiddleware.after_model\":{\"branch:to:LoopDetectionMiddleware.after_model\":12},\"todoListMiddleware.after_model\":{\"branch:to:todoListMiddleware.after_model\":9},\"tools\":{}}}"
199
+ },
200
+ "metadata": {
201
+ "encoding": "utf8",
202
+ "data": "{\"source\":\"loop\",\"step\":11,\"parents\":{}}"
203
+ }
204
+ },
205
+ {
206
+ "thread_id": "thread-ses_hermetic_0001",
207
+ "checkpoint_ns": "",
208
+ "checkpoint_id": "1f0e6a4d-1f4e-6d03-800c-490f903eaa70",
209
+ "parent_checkpoint_id": "1f0e6a4d-1f4e-6d01-800b-83c1f40b3daa",
210
+ "type": "json",
211
+ "checkpoint": {
212
+ "encoding": "utf8",
213
+ "data": "{\"v\":4,\"id\":\"1f0e6a4d-1f4e-6d03-800c-490f903eaa70\",\"ts\":\"2026-01-01T00:00:02.000Z\",\"channel_values\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"ToolMessage\"],\"kwargs\":{\"content\":\"Updated todo list to [{\\\"content\\\":\\\"Run the command\\\",\\\"status\\\":\\\"in_progress\\\"},{\\\"content\\\":\\\"Report the result\\\",\\\"status\\\":\\\"pending\\\"}]\",\"tool_call_id\":\"call-hermetic-todo-0001\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"e51ef45c-4614-430f-b416-1ae078f2b04d\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-abe8-7623-a7fa-77f78ae85d8b\",\"content\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"usage_metadata\":{\"input_tokens\":1400,\"output_tokens\":50,\"total_tokens\":1450},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"additional_kwargs\":{},\"name\":\"model\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"structuredResponse\":{\"lc\":2,\"type\":\"undefined\"},\"__pregel_tasks\":[[],[{\"node\":\"tools\",\"args\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"ToolMessage\"],\"kwargs\":{\"content\":\"Updated todo list to [{\\\"content\\\":\\\"Run the command\\\",\\\"status\\\":\\\"in_progress\\\"},{\\\"content\\\":\\\"Report the result\\\",\\\"status\\\":\\\"pending\\\"}]\",\"tool_call_id\":\"call-hermetic-todo-0001\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"e51ef45c-4614-430f-b416-1ae078f2b04d\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-abe8-7623-a7fa-77f78ae85d8b\",\"content\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"usage_metadata\":{\"input_tokens\":1400,\"output_tokens\":50,\"total_tokens\":1450},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"additional_kwargs\":{},\"name\":\"model\"}}],\"jumpTo\":{\"lc\":2,\"type\":\"undefined\"},\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"lg_tool_call\":{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}}}]]},\"channel_versions\":{\"__start__\":2,\"messages\":12,\"todos\":11,\"branch:to:FilesystemMiddleware.before_agent\":3,\"jumpTo\":14,\"branch:to:patchToolCallsMiddleware.before_agent\":4,\"branch:to:LoopDetectionMiddleware.before_agent\":5,\"branch:to:ExecutionBudgetMiddleware.before_agent\":6,\"branch:to:ToolTruncationMiddleware.before_agent\":7,\"branch:to:model_request\":12,\"branch:to:LoopDetectionMiddleware.after_model\":13,\"branch:to:todoListMiddleware.after_model\":14,\"__pregel_tasks\":14},\"versions_seen\":{\"__input__\":{},\"__start__\":{\"__start__\":1},\"FilesystemMiddleware.before_agent\":{\"branch:to:FilesystemMiddleware.before_agent\":2},\"patchToolCallsMiddleware.before_agent\":{\"branch:to:patchToolCallsMiddleware.before_agent\":3},\"LoopDetectionMiddleware.before_agent\":{\"branch:to:LoopDetectionMiddleware.before_agent\":4},\"ExecutionBudgetMiddleware.before_agent\":{\"branch:to:ExecutionBudgetMiddleware.before_agent\":5},\"ToolTruncationMiddleware.before_agent\":{\"branch:to:ToolTruncationMiddleware.before_agent\":6},\"model_request\":{\"branch:to:model_request\":11},\"LoopDetectionMiddleware.after_model\":{\"branch:to:LoopDetectionMiddleware.after_model\":12},\"todoListMiddleware.after_model\":{\"branch:to:todoListMiddleware.after_model\":13},\"tools\":{}}}"
214
+ },
215
+ "metadata": {
216
+ "encoding": "utf8",
217
+ "data": "{\"source\":\"loop\",\"step\":12,\"parents\":{}}"
218
+ }
219
+ }
220
+ ],
221
+ "writes": [
222
+ {
223
+ "thread_id": "thread-ses_hermetic_0001",
224
+ "checkpoint_ns": "",
225
+ "checkpoint_id": "1f0e6a4d-0c3c-6001-ffff-461dd044988c",
226
+ "task_id": "0e2d15d9-1ba9-5759-93f7-30d4ec3bd93d",
227
+ "idx": 0,
228
+ "channel": "messages",
229
+ "type": "json",
230
+ "value": {
231
+ "encoding": "utf8",
232
+ "data": "[{\"role\":\"user\",\"content\":\"Plan it, then run the command for me.\"}]"
233
+ }
234
+ },
235
+ {
236
+ "thread_id": "thread-ses_hermetic_0001",
237
+ "checkpoint_ns": "",
238
+ "checkpoint_id": "1f0e6a4d-0c3c-6001-ffff-461dd044988c",
239
+ "task_id": "0e2d15d9-1ba9-5759-93f7-30d4ec3bd93d",
240
+ "idx": 1,
241
+ "channel": "todos",
242
+ "type": "json",
243
+ "value": {
244
+ "encoding": "utf8",
245
+ "data": "[]"
246
+ }
247
+ },
248
+ {
249
+ "thread_id": "thread-ses_hermetic_0001",
250
+ "checkpoint_ns": "",
251
+ "checkpoint_id": "1f0e6a4d-0c3c-6001-ffff-461dd044988c",
252
+ "task_id": "0e2d15d9-1ba9-5759-93f7-30d4ec3bd93d",
253
+ "idx": 2,
254
+ "channel": "branch:to:FilesystemMiddleware.before_agent",
255
+ "type": "json",
256
+ "value": {
257
+ "encoding": "utf8",
258
+ "data": "null"
259
+ }
260
+ },
261
+ {
262
+ "thread_id": "thread-ses_hermetic_0001",
263
+ "checkpoint_ns": "",
264
+ "checkpoint_id": "1f0e6a4d-0c3c-6002-8000-46169ceeff4a",
265
+ "task_id": "29590d8c-d7d9-5f77-80cc-30e90ad3a69f",
266
+ "idx": 0,
267
+ "channel": "branch:to:patchToolCallsMiddleware.before_agent",
268
+ "type": "json",
269
+ "value": {
270
+ "encoding": "utf8",
271
+ "data": "null"
272
+ }
273
+ },
274
+ {
275
+ "thread_id": "thread-ses_hermetic_0001",
276
+ "checkpoint_ns": "",
277
+ "checkpoint_id": "1f0e6a4d-0c3c-6003-8001-45509db59c14",
278
+ "task_id": "af70558d-da81-599a-8182-35b329193c8b",
279
+ "idx": 0,
280
+ "channel": "branch:to:LoopDetectionMiddleware.before_agent",
281
+ "type": "json",
282
+ "value": {
283
+ "encoding": "utf8",
284
+ "data": "null"
285
+ }
286
+ },
287
+ {
288
+ "thread_id": "thread-ses_hermetic_0001",
289
+ "checkpoint_ns": "",
290
+ "checkpoint_id": "1f0e6a4d-0c3c-6004-8002-6da7132bd6d7",
291
+ "task_id": "8fd6ec0f-2d36-5a44-b060-b1b8ecc7c446",
292
+ "idx": 0,
293
+ "channel": "branch:to:ExecutionBudgetMiddleware.before_agent",
294
+ "type": "json",
295
+ "value": {
296
+ "encoding": "utf8",
297
+ "data": "null"
298
+ }
299
+ },
300
+ {
301
+ "thread_id": "thread-ses_hermetic_0001",
302
+ "checkpoint_ns": "",
303
+ "checkpoint_id": "1f0e6a4d-0c3c-6005-8003-46d757e1587d",
304
+ "task_id": "d266335c-e7de-5bdb-9d16-b518cf0b5f97",
305
+ "idx": 0,
306
+ "channel": "branch:to:ToolTruncationMiddleware.before_agent",
307
+ "type": "json",
308
+ "value": {
309
+ "encoding": "utf8",
310
+ "data": "null"
311
+ }
312
+ },
313
+ {
314
+ "thread_id": "thread-ses_hermetic_0001",
315
+ "checkpoint_ns": "",
316
+ "checkpoint_id": "1f0e6a4d-0c3c-6006-8004-5deee7533200",
317
+ "task_id": "3b2789ec-3b1f-52cb-82a1-ea49eed13793",
318
+ "idx": 0,
319
+ "channel": "branch:to:model_request",
320
+ "type": "json",
321
+ "value": {
322
+ "encoding": "utf8",
323
+ "data": "null"
324
+ }
325
+ },
326
+ {
327
+ "thread_id": "thread-ses_hermetic_0001",
328
+ "checkpoint_ns": "",
329
+ "checkpoint_id": "1f0e6a4d-0c3c-6007-8005-a950c6c90e66",
330
+ "task_id": "8cdbde56-9eb0-504a-a4d4-baaef24a69c0",
331
+ "idx": 0,
332
+ "channel": "messages",
333
+ "type": "json",
334
+ "value": {
335
+ "encoding": "utf8",
336
+ "data": "[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}}]"
337
+ }
338
+ },
339
+ {
340
+ "thread_id": "thread-ses_hermetic_0001",
341
+ "checkpoint_ns": "",
342
+ "checkpoint_id": "1f0e6a4d-0c3c-6007-8005-a950c6c90e66",
343
+ "task_id": "8cdbde56-9eb0-504a-a4d4-baaef24a69c0",
344
+ "idx": 1,
345
+ "channel": "branch:to:LoopDetectionMiddleware.after_model",
346
+ "type": "json",
347
+ "value": {
348
+ "encoding": "utf8",
349
+ "data": "null"
350
+ }
351
+ },
352
+ {
353
+ "thread_id": "thread-ses_hermetic_0001",
354
+ "checkpoint_ns": "",
355
+ "checkpoint_id": "1f0e6a4d-15c5-6680-8006-2f9bf8dcf67b",
356
+ "task_id": "3ca481e1-8cfa-5e15-9f35-048f7d4a6581",
357
+ "idx": 0,
358
+ "channel": "branch:to:todoListMiddleware.after_model",
359
+ "type": "json",
360
+ "value": {
361
+ "encoding": "utf8",
362
+ "data": "null"
363
+ }
364
+ },
365
+ {
366
+ "thread_id": "thread-ses_hermetic_0001",
367
+ "checkpoint_ns": "",
368
+ "checkpoint_id": "1f0e6a4d-15c5-6681-8007-d9c156ca038f",
369
+ "task_id": "6b63d322-cb0a-57c0-b278-7245340908c5",
370
+ "idx": 0,
371
+ "channel": "__pregel_tasks",
372
+ "type": "json",
373
+ "value": {
374
+ "encoding": "utf8",
375
+ "data": "{\"node\":\"tools\",\"args\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}}],\"todos\":[],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"lg_tool_call\":{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}}}"
376
+ }
377
+ },
378
+ {
379
+ "thread_id": "thread-ses_hermetic_0001",
380
+ "checkpoint_ns": "",
381
+ "checkpoint_id": "1f0e6a4d-15c5-6683-8008-afcb41bb8141",
382
+ "task_id": "02bb6f1a-9a6b-517e-bb3d-96d787024590",
383
+ "idx": 0,
384
+ "channel": "todos",
385
+ "type": "json",
386
+ "value": {
387
+ "encoding": "utf8",
388
+ "data": "[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]"
389
+ }
390
+ },
391
+ {
392
+ "thread_id": "thread-ses_hermetic_0001",
393
+ "checkpoint_ns": "",
394
+ "checkpoint_id": "1f0e6a4d-15c5-6683-8008-afcb41bb8141",
395
+ "task_id": "02bb6f1a-9a6b-517e-bb3d-96d787024590",
396
+ "idx": 1,
397
+ "channel": "messages",
398
+ "type": "json",
399
+ "value": {
400
+ "encoding": "utf8",
401
+ "data": "[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"ToolMessage\"],\"kwargs\":{\"content\":\"Updated todo list to [{\\\"content\\\":\\\"Run the command\\\",\\\"status\\\":\\\"in_progress\\\"},{\\\"content\\\":\\\"Report the result\\\",\\\"status\\\":\\\"pending\\\"}]\",\"tool_call_id\":\"call-hermetic-todo-0001\",\"additional_kwargs\":{},\"response_metadata\":{}}}]"
402
+ }
403
+ },
404
+ {
405
+ "thread_id": "thread-ses_hermetic_0001",
406
+ "checkpoint_ns": "",
407
+ "checkpoint_id": "1f0e6a4d-15c5-6683-8008-afcb41bb8141",
408
+ "task_id": "02bb6f1a-9a6b-517e-bb3d-96d787024590",
409
+ "idx": 2,
410
+ "channel": "branch:to:model_request",
411
+ "type": "json",
412
+ "value": {
413
+ "encoding": "utf8",
414
+ "data": "null"
415
+ }
416
+ },
417
+ {
418
+ "thread_id": "thread-ses_hermetic_0001",
419
+ "checkpoint_ns": "",
420
+ "checkpoint_id": "1f0e6a4d-15c5-6684-8009-b23d595da2e2",
421
+ "task_id": "4212eb01-dcb9-54e7-a6d7-7cdac99450e4",
422
+ "idx": 0,
423
+ "channel": "messages",
424
+ "type": "json",
425
+ "value": {
426
+ "encoding": "utf8",
427
+ "data": "[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-abe8-7623-a7fa-77f78ae85d8b\",\"content\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"usage_metadata\":{\"input_tokens\":1400,\"output_tokens\":50,\"total_tokens\":1450},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"additional_kwargs\":{},\"name\":\"model\"}}]"
428
+ }
429
+ },
430
+ {
431
+ "thread_id": "thread-ses_hermetic_0001",
432
+ "checkpoint_ns": "",
433
+ "checkpoint_id": "1f0e6a4d-15c5-6684-8009-b23d595da2e2",
434
+ "task_id": "4212eb01-dcb9-54e7-a6d7-7cdac99450e4",
435
+ "idx": 1,
436
+ "channel": "branch:to:LoopDetectionMiddleware.after_model",
437
+ "type": "json",
438
+ "value": {
439
+ "encoding": "utf8",
440
+ "data": "null"
441
+ }
442
+ },
443
+ {
444
+ "thread_id": "thread-ses_hermetic_0001",
445
+ "checkpoint_ns": "",
446
+ "checkpoint_id": "1f0e6a4d-1f4e-6d00-800a-374b35f8c7ff",
447
+ "task_id": "83af77eb-a262-521c-9684-47cf6b644a69",
448
+ "idx": 0,
449
+ "channel": "branch:to:todoListMiddleware.after_model",
450
+ "type": "json",
451
+ "value": {
452
+ "encoding": "utf8",
453
+ "data": "null"
454
+ }
455
+ },
456
+ {
457
+ "thread_id": "thread-ses_hermetic_0001",
458
+ "checkpoint_ns": "",
459
+ "checkpoint_id": "1f0e6a4d-1f4e-6d01-800b-83c1f40b3daa",
460
+ "task_id": "5f8319a2-3f0d-5c95-9b96-e37b7d464ce3",
461
+ "idx": 0,
462
+ "channel": "__pregel_tasks",
463
+ "type": "json",
464
+ "value": {
465
+ "encoding": "utf8",
466
+ "data": "{\"node\":\"tools\",\"args\":{\"messages\":[{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"HumanMessage\"],\"kwargs\":{\"content\":\"Plan it, then run the command for me.\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"ef5f39cd-c323-4717-a688-4cb3d36b282a\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-a800-77ac-967a-ed81a978ba04\",\"content\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"usage_metadata\":{\"input_tokens\":1200,\"output_tokens\":40,\"total_tokens\":1240},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"Planning the two steps.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-todo-0001\",\"name\":\"write_todos\",\"args\":{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}}],\"additional_kwargs\":{},\"name\":\"model\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"ToolMessage\"],\"kwargs\":{\"content\":\"Updated todo list to [{\\\"content\\\":\\\"Run the command\\\",\\\"status\\\":\\\"in_progress\\\"},{\\\"content\\\":\\\"Report the result\\\",\\\"status\\\":\\\"pending\\\"}]\",\"tool_call_id\":\"call-hermetic-todo-0001\",\"additional_kwargs\":{},\"response_metadata\":{},\"id\":\"e51ef45c-4614-430f-b416-1ae078f2b04d\"}},{\"lc\":1,\"type\":\"constructor\",\"id\":[\"langchain_core\",\"messages\",\"AIMessage\"],\"kwargs\":{\"id\":\"run-019b76da-abe8-7623-a7fa-77f78ae85d8b\",\"content\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"usage_metadata\":{\"input_tokens\":1400,\"output_tokens\":50,\"total_tokens\":1450},\"response_metadata\":{\"output_version\":\"v1\",\"finish_reason\":\"stop\"},\"tool_calls\":[{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"invalid_tool_calls\":[],\"content_blocks\":[{\"type\":\"text\",\"text\":\"I will run the command.\"},{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}],\"additional_kwargs\":{},\"name\":\"model\"}}],\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}],\"files\":{},\"_summarizationSessionId\":{\"lc\":2,\"type\":\"undefined\"},\"_summarizationEvent\":{\"lc\":2,\"type\":\"undefined\"},\"lg_tool_call\":{\"type\":\"tool_call\",\"id\":\"call-hermetic-exec-0001\",\"name\":\"execute\",\"args\":{\"command\":\"echo hermetic-a\"}}}}"
467
+ }
468
+ },
469
+ {
470
+ "thread_id": "thread-ses_hermetic_0001",
471
+ "checkpoint_ns": "",
472
+ "checkpoint_id": "1f0e6a4d-1f4e-6d03-800c-490f903eaa70",
473
+ "task_id": "ce2447a3-2dcf-5f7a-a081-a89e435b4f93",
474
+ "idx": -3,
475
+ "channel": "__interrupt__",
476
+ "type": "json",
477
+ "value": {
478
+ "encoding": "utf8",
479
+ "data": "{\"id\":\"322ec8e9281649b695fad18dab996937\",\"value\":{\"tool_call_id\":\"call-hermetic-exec-0001\",\"tool_name\":\"execute\",\"mcp_server_slug\":\"\",\"message\":\"Run command: echo hermetic-a\",\"policy_source\":\"builtin_category\"}}"
480
+ }
481
+ }
482
+ ],
483
+ "status": {
484
+ "messages": [
485
+ {
486
+ "type": "MESSAGE_AI",
487
+ "content": "Planning the two steps.",
488
+ "timestamp": "2026-01-01T00:00:01.000Z",
489
+ "toolCalls": [
490
+ {
491
+ "id": "call-hermetic-todo-0001",
492
+ "name": "write_todos",
493
+ "args": {
494
+ "todos": [
495
+ {
496
+ "content": "Run the command",
497
+ "status": "in_progress"
498
+ },
499
+ {
500
+ "content": "Report the result",
501
+ "status": "pending"
502
+ }
503
+ ]
504
+ },
505
+ "result": "Updated todo list to [{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]",
506
+ "status": "TOOL_CALL_COMPLETED",
507
+ "startedAt": "2026-01-01T00:00:01.000Z",
508
+ "completedAt": "2026-01-01T00:00:01.000Z",
509
+ "argsPreview": "{\"todos\":[{\"content\":\"Run the command\",\"status\":\"in_progress\"},{\"content\":\"Report the result\",\"status\":\"pending\"}]}",
510
+ "toolKind": "TOOL_KIND_TODO"
511
+ }
512
+ ]
513
+ },
514
+ {
515
+ "type": "MESSAGE_AI",
516
+ "content": "I will run the command.",
517
+ "timestamp": "2026-01-01T00:00:02.000Z",
518
+ "toolCalls": [
519
+ {
520
+ "id": "call-hermetic-exec-0001",
521
+ "name": "execute",
522
+ "args": {
523
+ "command": "echo hermetic-a"
524
+ },
525
+ "status": "TOOL_CALL_WAITING_APPROVAL",
526
+ "startedAt": "2026-01-01T00:00:02.000Z",
527
+ "requiresApproval": true,
528
+ "approvalMessage": "Run command: echo hermetic-a",
529
+ "approvalRequestedAt": "2026-01-01T00:00:02.000Z",
530
+ "argsPreview": "{\"command\":\"echo hermetic-a\"}",
531
+ "toolKind": "TOOL_KIND_SHELL",
532
+ "approvalPolicySource": "APPROVAL_POLICY_SOURCE_BUILTIN_CATEGORY",
533
+ "policyEngineVersion": "phase-7"
534
+ }
535
+ ]
536
+ }
537
+ ],
538
+ "phase": "EXECUTION_WAITING_FOR_APPROVAL",
539
+ "startedAt": "2026-01-01T00:00:00.000Z",
540
+ "todos": {
541
+ "todo-0": {
542
+ "id": "todo-0",
543
+ "content": "Run the command",
544
+ "status": "TODO_IN_PROGRESS",
545
+ "createdAt": "2026-01-01T00:00:01.000Z",
546
+ "updatedAt": "2026-01-01T00:00:01.000Z"
547
+ },
548
+ "todo-1": {
549
+ "id": "todo-1",
550
+ "content": "Report the result",
551
+ "status": "TODO_PENDING",
552
+ "createdAt": "2026-01-01T00:00:01.000Z",
553
+ "updatedAt": "2026-01-01T00:00:01.000Z"
554
+ }
555
+ },
556
+ "streamingUsage": {
557
+ "inputTokens": "2600",
558
+ "outputTokens": "90",
559
+ "totalTokens": "2690",
560
+ "turnCount": 2,
561
+ "estimatedCostUsd": 0.0030499999999999998,
562
+ "model": "claude-haiku-4.5",
563
+ "observedAt": "2026-01-01T00:00:02.000Z",
564
+ "requestedServiceTier": "SERVICE_TIER_STANDARD",
565
+ "requestedThinkingMode": "THINKING_MODE_DISABLED"
566
+ },
567
+ "fileReviewEventStream": {
568
+ "executionId": "aex_hermetic_0001",
569
+ "events": [
570
+ {
571
+ "eventId": "aex_hermetic_0001:0:aex_hermetic_0001:0:FILE_REVIEW_EVENT_TYPE_BASELINE_CAPTURED",
572
+ "changeSetId": "aex_hermetic_0001:0",
573
+ "eventType": "FILE_REVIEW_EVENT_TYPE_BASELINE_CAPTURED",
574
+ "timestamp": "2026-01-01T00:00:00.000Z",
575
+ "actor": "runner",
576
+ "baselineCaptured": {
577
+ "changeSetId": "aex_hermetic_0001:0",
578
+ "turnId": "aex_hermetic_0001:0",
579
+ "harnessId": "deep-agent",
580
+ "baselineSnapshot": {
581
+ "kind": "SNAPSHOT_KIND_CAS_MANIFEST"
582
+ }
583
+ }
584
+ }
585
+ ]
586
+ },
587
+ "fileChangeProgress": {
588
+ "changeSetId": "aex_hermetic_0001:0",
589
+ "capturedAt": "2026-01-01T00:00:00.000Z"
590
+ }
591
+ }
592
+ }