@archmax-ai/harness 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +219 -0
  3. package/dist/agent.d.ts +174 -0
  4. package/dist/agent.js +140 -0
  5. package/dist/agent.js.map +1 -0
  6. package/dist/assembly/compose.d.ts +170 -0
  7. package/dist/assembly/compose.js +391 -0
  8. package/dist/assembly/compose.js.map +1 -0
  9. package/dist/assembly/delegation-registry.d.ts +5 -0
  10. package/dist/assembly/delegation-registry.js +118 -0
  11. package/dist/assembly/delegation-registry.js.map +1 -0
  12. package/dist/assembly/index.d.ts +192 -0
  13. package/dist/assembly/index.js +265 -0
  14. package/dist/assembly/index.js.map +1 -0
  15. package/dist/assembly/plain.d.ts +7 -0
  16. package/dist/assembly/plain.js +41 -0
  17. package/dist/assembly/plain.js.map +1 -0
  18. package/dist/authoring-skill/archmax-harness/README.md +76 -0
  19. package/dist/authoring-skill/archmax-harness/SKILL.md +241 -0
  20. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +626 -0
  21. package/dist/authoring-skill/archmax-harness/references/cases.md +41 -0
  22. package/dist/authoring-skill/archmax-harness/references/diagnostics.md +51 -0
  23. package/dist/authoring-skill/archmax-harness/references/hook-and-test-scripts.md +1070 -0
  24. package/dist/authoring-skill/archmax-harness/references/hooks-and-scripts.md +82 -0
  25. package/dist/authoring-skill/archmax-harness/references/wiring.md +101 -0
  26. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +1631 -0
  27. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +241 -0
  28. package/dist/behaviour/support.d.ts +232 -0
  29. package/dist/behaviour/support.js +339 -0
  30. package/dist/behaviour/support.js.map +1 -0
  31. package/dist/cli/banner.d.ts +11 -0
  32. package/dist/cli/banner.js +29 -0
  33. package/dist/cli/banner.js.map +1 -0
  34. package/dist/cli/bootstrap.d.ts +33 -0
  35. package/dist/cli/bootstrap.js +153 -0
  36. package/dist/cli/bootstrap.js.map +1 -0
  37. package/dist/cli/command.d.ts +39 -0
  38. package/dist/cli/command.js +97 -0
  39. package/dist/cli/command.js.map +1 -0
  40. package/dist/cli/state-flow.d.ts +46 -0
  41. package/dist/cli/state-flow.js +268 -0
  42. package/dist/cli/state-flow.js.map +1 -0
  43. package/dist/cli/style.d.ts +41 -0
  44. package/dist/cli/style.js +64 -0
  45. package/dist/cli/style.js.map +1 -0
  46. package/dist/cli/turn.d.ts +41 -0
  47. package/dist/cli/turn.js +161 -0
  48. package/dist/cli/turn.js.map +1 -0
  49. package/dist/cli.d.ts +10 -0
  50. package/dist/cli.js +426 -0
  51. package/dist/cli.js.map +1 -0
  52. package/dist/core/code-description.d.ts +22 -0
  53. package/dist/core/code-description.js +38 -0
  54. package/dist/core/code-description.js.map +1 -0
  55. package/dist/core/deepagents.d.ts +183 -0
  56. package/dist/core/deepagents.js +128 -0
  57. package/dist/core/deepagents.js.map +1 -0
  58. package/dist/core/events.d.ts +350 -0
  59. package/dist/core/events.js +205 -0
  60. package/dist/core/events.js.map +1 -0
  61. package/dist/core/frontmatter.d.ts +15 -0
  62. package/dist/core/frontmatter.js +32 -0
  63. package/dist/core/frontmatter.js.map +1 -0
  64. package/dist/core/listing-redact.d.ts +37 -0
  65. package/dist/core/listing-redact.js +88 -0
  66. package/dist/core/listing-redact.js.map +1 -0
  67. package/dist/core/match.d.ts +26 -0
  68. package/dist/core/match.js +75 -0
  69. package/dist/core/match.js.map +1 -0
  70. package/dist/core/message-readers.d.ts +84 -0
  71. package/dist/core/message-readers.js +159 -0
  72. package/dist/core/message-readers.js.map +1 -0
  73. package/dist/core/messages.d.ts +49 -0
  74. package/dist/core/messages.js +85 -0
  75. package/dist/core/messages.js.map +1 -0
  76. package/dist/core/mount-prompt.d.ts +28 -0
  77. package/dist/core/mount-prompt.js +55 -0
  78. package/dist/core/mount-prompt.js.map +1 -0
  79. package/dist/core/mount-redact.d.ts +28 -0
  80. package/dist/core/mount-redact.js +32 -0
  81. package/dist/core/mount-redact.js.map +1 -0
  82. package/dist/core/mounts.d.ts +88 -0
  83. package/dist/core/mounts.js +147 -0
  84. package/dist/core/mounts.js.map +1 -0
  85. package/dist/core/path-mapping.d.ts +52 -0
  86. package/dist/core/path-mapping.js +113 -0
  87. package/dist/core/path-mapping.js.map +1 -0
  88. package/dist/core/platform-prompt.generated.d.ts +2 -0
  89. package/dist/core/platform-prompt.generated.js +4 -0
  90. package/dist/core/platform-prompt.generated.js.map +1 -0
  91. package/dist/core/prompt.d.ts +42 -0
  92. package/dist/core/prompt.js +75 -0
  93. package/dist/core/prompt.js.map +1 -0
  94. package/dist/core/session-id.d.ts +38 -0
  95. package/dist/core/session-id.js +61 -0
  96. package/dist/core/session-id.js.map +1 -0
  97. package/dist/core/session-store.d.ts +85 -0
  98. package/dist/core/session-store.js +149 -0
  99. package/dist/core/session-store.js.map +1 -0
  100. package/dist/core/session-zone.d.ts +54 -0
  101. package/dist/core/session-zone.js +82 -0
  102. package/dist/core/session-zone.js.map +1 -0
  103. package/dist/core/skill-prompt.d.ts +31 -0
  104. package/dist/core/skill-prompt.js +54 -0
  105. package/dist/core/skill-prompt.js.map +1 -0
  106. package/dist/core/skill-redact.d.ts +15 -0
  107. package/dist/core/skill-redact.js +27 -0
  108. package/dist/core/skill-redact.js.map +1 -0
  109. package/dist/core/skills.d.ts +172 -0
  110. package/dist/core/skills.js +214 -0
  111. package/dist/core/skills.js.map +1 -0
  112. package/dist/core/tool-mocks.d.ts +23 -0
  113. package/dist/core/tool-mocks.js +39 -0
  114. package/dist/core/tool-mocks.js.map +1 -0
  115. package/dist/core/tool-telemetry.d.ts +16 -0
  116. package/dist/core/tool-telemetry.js +40 -0
  117. package/dist/core/tool-telemetry.js.map +1 -0
  118. package/dist/core/usage.d.ts +114 -0
  119. package/dist/core/usage.js +226 -0
  120. package/dist/core/usage.js.map +1 -0
  121. package/dist/core/workspace-context.d.ts +136 -0
  122. package/dist/core/workspace-context.js +178 -0
  123. package/dist/core/workspace-context.js.map +1 -0
  124. package/dist/core/workspace-prompt.d.ts +7 -0
  125. package/dist/core/workspace-prompt.js +102 -0
  126. package/dist/core/workspace-prompt.js.map +1 -0
  127. package/dist/core/workspace-router.d.ts +61 -0
  128. package/dist/core/workspace-router.js +145 -0
  129. package/dist/core/workspace-router.js.map +1 -0
  130. package/dist/core/workspace.d.ts +85 -0
  131. package/dist/core/workspace.js +193 -0
  132. package/dist/core/workspace.js.map +1 -0
  133. package/dist/core/zones.d.ts +181 -0
  134. package/dist/core/zones.js +202 -0
  135. package/dist/core/zones.js.map +1 -0
  136. package/dist/env.d.ts +99 -0
  137. package/dist/env.js +271 -0
  138. package/dist/env.js.map +1 -0
  139. package/dist/index.d.ts +265 -0
  140. package/dist/index.js +197 -0
  141. package/dist/index.js.map +1 -0
  142. package/dist/kernel/kernel.d.ts +192 -0
  143. package/dist/kernel/kernel.js +751 -0
  144. package/dist/kernel/kernel.js.map +1 -0
  145. package/dist/lifecycle/hook-shape.d.ts +44 -0
  146. package/dist/lifecycle/hook-shape.js +66 -0
  147. package/dist/lifecycle/hook-shape.js.map +1 -0
  148. package/dist/lifecycle/runner.d.ts +177 -0
  149. package/dist/lifecycle/runner.js +372 -0
  150. package/dist/lifecycle/runner.js.map +1 -0
  151. package/dist/lifecycle/transcript.d.ts +27 -0
  152. package/dist/lifecycle/transcript.js +43 -0
  153. package/dist/lifecycle/transcript.js.map +1 -0
  154. package/dist/machine/allow.d.ts +65 -0
  155. package/dist/machine/allow.js +107 -0
  156. package/dist/machine/allow.js.map +1 -0
  157. package/dist/machine/delegation.d.ts +9 -0
  158. package/dist/machine/delegation.js +10 -0
  159. package/dist/machine/delegation.js.map +1 -0
  160. package/dist/machine/diagnostic.d.ts +14 -0
  161. package/dist/machine/diagnostic.js +2 -0
  162. package/dist/machine/diagnostic.js.map +1 -0
  163. package/dist/machine/lint-spec.d.ts +4 -0
  164. package/dist/machine/lint-spec.js +266 -0
  165. package/dist/machine/lint-spec.js.map +1 -0
  166. package/dist/machine/load-spec.d.ts +90 -0
  167. package/dist/machine/load-spec.js +120 -0
  168. package/dist/machine/load-spec.js.map +1 -0
  169. package/dist/machine/machine.d.ts +273 -0
  170. package/dist/machine/machine.js +551 -0
  171. package/dist/machine/machine.js.map +1 -0
  172. package/dist/machine/mount-grants.d.ts +25 -0
  173. package/dist/machine/mount-grants.js +24 -0
  174. package/dist/machine/mount-grants.js.map +1 -0
  175. package/dist/machine/slug.d.ts +14 -0
  176. package/dist/machine/slug.js +17 -0
  177. package/dist/machine/slug.js.map +1 -0
  178. package/dist/machine/spec-schema.d.ts +662 -0
  179. package/dist/machine/spec-schema.js +717 -0
  180. package/dist/machine/spec-schema.js.map +1 -0
  181. package/dist/machine/tool-names.d.ts +98 -0
  182. package/dist/machine/tool-names.js +144 -0
  183. package/dist/machine/tool-names.js.map +1 -0
  184. package/dist/machine/triggers.d.ts +114 -0
  185. package/dist/machine/triggers.js +165 -0
  186. package/dist/machine/triggers.js.map +1 -0
  187. package/dist/machine/types.d.ts +186 -0
  188. package/dist/machine/types.js +12 -0
  189. package/dist/machine/types.js.map +1 -0
  190. package/dist/machine/validate-spec.d.ts +42 -0
  191. package/dist/machine/validate-spec.js +29 -0
  192. package/dist/machine/validate-spec.js.map +1 -0
  193. package/dist/machine/variables.d.ts +196 -0
  194. package/dist/machine/variables.js +415 -0
  195. package/dist/machine/variables.js.map +1 -0
  196. package/dist/public/cli.d.ts +15 -0
  197. package/dist/public/cli.js +14 -0
  198. package/dist/public/cli.js.map +1 -0
  199. package/dist/public/messages.d.ts +33 -0
  200. package/dist/public/messages.js +33 -0
  201. package/dist/public/messages.js.map +1 -0
  202. package/dist/public/sandbox.d.ts +99 -0
  203. package/dist/public/sandbox.js +32 -0
  204. package/dist/public/sandbox.js.map +1 -0
  205. package/dist/public/spec.d.ts +147 -0
  206. package/dist/public/spec.js +149 -0
  207. package/dist/public/spec.js.map +1 -0
  208. package/dist/public/testing.d.ts +71 -0
  209. package/dist/public/testing.js +39 -0
  210. package/dist/public/testing.js.map +1 -0
  211. package/dist/rubrics/rubrics.d.ts +135 -0
  212. package/dist/rubrics/rubrics.js +145 -0
  213. package/dist/rubrics/rubrics.js.map +1 -0
  214. package/dist/runtime/contract.d.ts +73 -0
  215. package/dist/runtime/contract.js +96 -0
  216. package/dist/runtime/contract.js.map +1 -0
  217. package/dist/sandbox/assets/parts/core.js +22 -0
  218. package/dist/sandbox/assets/parts/lifecycle-hook.js +47 -0
  219. package/dist/sandbox/bridge.d.ts +16 -0
  220. package/dist/sandbox/bridge.js +95 -0
  221. package/dist/sandbox/bridge.js.map +1 -0
  222. package/dist/sandbox/executor.d.ts +46 -0
  223. package/dist/sandbox/executor.js +119 -0
  224. package/dist/sandbox/executor.js.map +1 -0
  225. package/dist/sandbox/imports.d.ts +33 -0
  226. package/dist/sandbox/imports.js +67 -0
  227. package/dist/sandbox/imports.js.map +1 -0
  228. package/dist/sandbox/prelude.d.ts +12 -0
  229. package/dist/sandbox/prelude.js +51 -0
  230. package/dist/sandbox/prelude.js.map +1 -0
  231. package/dist/sandbox/ptc-gateway.d.ts +104 -0
  232. package/dist/sandbox/ptc-gateway.js +167 -0
  233. package/dist/sandbox/ptc-gateway.js.map +1 -0
  234. package/dist/sandbox/runtime.d.ts +59 -0
  235. package/dist/sandbox/runtime.js +51 -0
  236. package/dist/sandbox/runtime.js.map +1 -0
  237. package/dist/sandbox/tools.d.ts +34 -0
  238. package/dist/sandbox/tools.js +147 -0
  239. package/dist/sandbox/tools.js.map +1 -0
  240. package/dist/sessions/operations.d.ts +79 -0
  241. package/dist/sessions/operations.js +121 -0
  242. package/dist/sessions/operations.js.map +1 -0
  243. package/dist/sessions/resolve.d.ts +97 -0
  244. package/dist/sessions/resolve.js +145 -0
  245. package/dist/sessions/resolve.js.map +1 -0
  246. package/dist/sessions/resume.d.ts +242 -0
  247. package/dist/sessions/resume.js +288 -0
  248. package/dist/sessions/resume.js.map +1 -0
  249. package/dist/sessions/scope.d.ts +99 -0
  250. package/dist/sessions/scope.js +145 -0
  251. package/dist/sessions/scope.js.map +1 -0
  252. package/dist/sessions/summary.d.ts +65 -0
  253. package/dist/sessions/summary.js +56 -0
  254. package/dist/sessions/summary.js.map +1 -0
  255. package/dist/testing/assertions.d.ts +30 -0
  256. package/dist/testing/assertions.js +231 -0
  257. package/dist/testing/assertions.js.map +1 -0
  258. package/dist/testing/case-document.d.ts +141 -0
  259. package/dist/testing/case-document.js +51 -0
  260. package/dist/testing/case-document.js.map +1 -0
  261. package/dist/testing/case-schema.d.ts +29 -0
  262. package/dist/testing/case-schema.js +519 -0
  263. package/dist/testing/case-schema.js.map +1 -0
  264. package/dist/testing/discovery.d.ts +10 -0
  265. package/dist/testing/discovery.js +24 -0
  266. package/dist/testing/discovery.js.map +1 -0
  267. package/dist/testing/driver.d.ts +78 -0
  268. package/dist/testing/driver.js +117 -0
  269. package/dist/testing/driver.js.map +1 -0
  270. package/dist/testing/grade.d.ts +116 -0
  271. package/dist/testing/grade.js +261 -0
  272. package/dist/testing/grade.js.map +1 -0
  273. package/dist/testing/interpreter.d.ts +55 -0
  274. package/dist/testing/interpreter.js +103 -0
  275. package/dist/testing/interpreter.js.map +1 -0
  276. package/dist/testing/mock-middleware.d.ts +5 -0
  277. package/dist/testing/mock-middleware.js +33 -0
  278. package/dist/testing/mock-middleware.js.map +1 -0
  279. package/dist/testing/runner.d.ts +205 -0
  280. package/dist/testing/runner.js +266 -0
  281. package/dist/testing/runner.js.map +1 -0
  282. package/dist/testing/target.d.ts +27 -0
  283. package/dist/testing/target.js +21 -0
  284. package/dist/testing/target.js.map +1 -0
  285. package/dist/validate/validate.d.ts +41 -0
  286. package/dist/validate/validate.js +669 -0
  287. package/dist/validate/validate.js.map +1 -0
  288. package/dist/workflow/agent-tools.d.ts +10 -0
  289. package/dist/workflow/agent-tools.js +10 -0
  290. package/dist/workflow/agent-tools.js.map +1 -0
  291. package/dist/workflow/checkpointer.d.ts +52 -0
  292. package/dist/workflow/checkpointer.js +200 -0
  293. package/dist/workflow/checkpointer.js.map +1 -0
  294. package/dist/workflow/control-tools.d.ts +174 -0
  295. package/dist/workflow/control-tools.js +468 -0
  296. package/dist/workflow/control-tools.js.map +1 -0
  297. package/dist/workflow/governance.d.ts +104 -0
  298. package/dist/workflow/governance.js +546 -0
  299. package/dist/workflow/governance.js.map +1 -0
  300. package/dist/workflow/middleware.d.ts +85 -0
  301. package/dist/workflow/middleware.js +283 -0
  302. package/dist/workflow/middleware.js.map +1 -0
  303. package/dist/workflow/on-error.d.ts +25 -0
  304. package/dist/workflow/on-error.js +58 -0
  305. package/dist/workflow/on-error.js.map +1 -0
  306. package/dist/workflow/parks.d.ts +46 -0
  307. package/dist/workflow/parks.js +513 -0
  308. package/dist/workflow/parks.js.map +1 -0
  309. package/dist/workflow/paths.d.ts +67 -0
  310. package/dist/workflow/paths.js +108 -0
  311. package/dist/workflow/paths.js.map +1 -0
  312. package/dist/workflow/prompt-cache.d.ts +70 -0
  313. package/dist/workflow/prompt-cache.js +103 -0
  314. package/dist/workflow/prompt-cache.js.map +1 -0
  315. package/dist/workflow/prompt-pruning.d.ts +20 -0
  316. package/dist/workflow/prompt-pruning.js +83 -0
  317. package/dist/workflow/prompt-pruning.js.map +1 -0
  318. package/dist/workflow/render-prompt.d.ts +45 -0
  319. package/dist/workflow/render-prompt.js +140 -0
  320. package/dist/workflow/render-prompt.js.map +1 -0
  321. package/dist/workflow/runtime-config.d.ts +7 -0
  322. package/dist/workflow/runtime-config.js +9 -0
  323. package/dist/workflow/runtime-config.js.map +1 -0
  324. package/dist/workflow/session-artifacts.d.ts +90 -0
  325. package/dist/workflow/session-artifacts.js +134 -0
  326. package/dist/workflow/session-artifacts.js.map +1 -0
  327. package/dist/workflow/session-view.d.ts +31 -0
  328. package/dist/workflow/session-view.js +94 -0
  329. package/dist/workflow/session-view.js.map +1 -0
  330. package/dist/workflow/snapshot.d.ts +14 -0
  331. package/dist/workflow/snapshot.js +97 -0
  332. package/dist/workflow/snapshot.js.map +1 -0
  333. package/dist/workflow/state.d.ts +347 -0
  334. package/dist/workflow/state.js +322 -0
  335. package/dist/workflow/state.js.map +1 -0
  336. package/dist/workflow/sub-workflow.d.ts +174 -0
  337. package/dist/workflow/sub-workflow.js +392 -0
  338. package/dist/workflow/sub-workflow.js.map +1 -0
  339. package/dist/workflow/tool-service.d.ts +48 -0
  340. package/dist/workflow/tool-service.js +291 -0
  341. package/dist/workflow/tool-service.js.map +1 -0
  342. package/dist/workflow/turn-boundary.d.ts +39 -0
  343. package/dist/workflow/turn-boundary.js +128 -0
  344. package/dist/workflow/turn-boundary.js.map +1 -0
  345. package/dist/workflow/turn-runner.d.ts +40 -0
  346. package/dist/workflow/turn-runner.js +122 -0
  347. package/dist/workflow/turn-runner.js.map +1 -0
  348. package/dist/workflow/workflow-tools.d.ts +46 -0
  349. package/dist/workflow/workflow-tools.js +90 -0
  350. package/dist/workflow/workflow-tools.js.map +1 -0
  351. package/package.json +119 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { StructuredTool } from "@langchain/core/tools";
2
+ /** One resolved capability tool, keyed by the id `tools.allow` uses (e.g. `<collection>__<action>`). */
3
+ export interface AgentToolDescriptor {
4
+ description: string;
5
+ /** JSON Schema describing the tool's inputs (LLM-facing). */
6
+ inputSchema: Record<string, unknown>;
7
+ handler: (input: Record<string, unknown>) => Promise<unknown>;
8
+ }
9
+ /** Adapt a map of resolved capability tools into bindable `StructuredTool`s; per-state `tools.allow` still gates them. */
10
+ export declare function toolsFromMap(entries: Record<string, AgentToolDescriptor>): StructuredTool[];
@@ -0,0 +1,10 @@
1
+ import { tool } from "langchain";
2
+ /** Adapt a map of resolved capability tools into bindable `StructuredTool`s; per-state `tools.allow` still gates them. */
3
+ export function toolsFromMap(entries) {
4
+ return Object.entries(entries).map(([id, entry]) => tool(async (input) => entry.handler(input), {
5
+ name: id,
6
+ description: entry.description,
7
+ schema: entry.inputSchema,
8
+ }));
9
+ }
10
+ //# sourceMappingURL=agent-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-tools.js","sourceRoot":"","sources":["../../src/workflow/agent-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAUjC,0HAA0H;AAC1H,MAAM,UAAU,YAAY,CAAC,OAA4C;IACvE,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAChC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CACd,IAAI,CAAC,KAAK,EAAE,KAA8B,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACnE,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,WAAW;KAC1B,CAA8B,CAClC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { RunnableConfig } from "@langchain/core/runnables";
2
+ import { MemorySaver, type Checkpoint, type CheckpointListOptions, type CheckpointMetadata, type CheckpointTuple, type PendingWrite } from "@langchain/langgraph-checkpoint";
3
+ import type { Workspace } from "../core/workspace.js";
4
+ /**
5
+ * A `MemorySaver` with write-through to the session store and lazy per-session
6
+ * replay from it. Every record the parent accepts is also persisted as one
7
+ * immutable file under the session's `checkpoints/` folder (one record per path,
8
+ * so durability is an append-only log of files); the first access to a session
9
+ * replays its files into the inherited maps.
10
+ *
11
+ * Concurrency: single-writer-per-session. Distinct session ids are independent;
12
+ * concurrent turns on the same id are unsupported.
13
+ */
14
+ export declare class BackendCheckpointSaver extends MemorySaver {
15
+ private readonly workspace;
16
+ /**
17
+ * Sessions being (or already) replayed, holding the in-flight promise rather
18
+ * than a done marker: a marker set before the `await` would let a concurrent
19
+ * caller proceed against a half-replayed map (concurrent child sessions share
20
+ * a parent's id under different namespaces).
21
+ */
22
+ private readonly loading;
23
+ constructor(workspace: Workspace);
24
+ private ensureLoaded;
25
+ /**
26
+ * Replay one session's checkpoint files into the inherited maps.
27
+ *
28
+ * Strict reads throughout: a backend that cannot answer must not read as a
29
+ * session with no checkpoints. The lenient helpers return `[]`/`null` on a
30
+ * transient failure, which would replay a live session as empty, cache it as
31
+ * loaded, and fork it on the next write (issue #27). `ensureLoaded` does not
32
+ * cache a throw, so a failed replay is retried instead of believed.
33
+ */
34
+ private replay;
35
+ /** Every session folder at the store root, for a listing that names no session. */
36
+ private hydrateAll;
37
+ /**
38
+ * Persist one immutable record file. A re-emitted record carries the same bytes,
39
+ * so a backend that replaces the file and one that refuses it with "already
40
+ * exists" (any create-only backend a consumer supplies) both leave it correct.
41
+ */
42
+ private writeRecord;
43
+ getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;
44
+ list(config: RunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;
45
+ put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata): Promise<RunnableConfig>;
46
+ putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;
47
+ /**
48
+ * Evict a session from memory and stop replaying its record files; physical
49
+ * removal is the session store's job. Named `deleteThread` because LangGraph owns the word.
50
+ */
51
+ deleteThread(sessionId: string): Promise<void>;
52
+ }
@@ -0,0 +1,200 @@
1
+ import { createHash } from "node:crypto";
2
+ import { MemorySaver, WRITES_IDX_MAP, } from "@langchain/langgraph-checkpoint";
3
+ import { isReservedRootName } from "../core/zones.js";
4
+ import { sessionPaths } from "./paths.js";
5
+ const enc = (bytes) => Buffer.from(bytes).toString("base64");
6
+ const dec = (b64) => new Uint8Array(Buffer.from(b64, "base64"));
7
+ /** Longest encoded key a record file name may carry: `cp-`/`w-` and `.json` must fit in 255 bytes with it. */
8
+ const MAX_ENCODED_NAME = 200;
9
+ /**
10
+ * Filesystem-safe encoding for record keys in file names: base64url while it
11
+ * fits, else a truncated prefix plus a digest of the whole key. Truncation is
12
+ * safe because nothing decodes a file name — a record carries its own
13
+ * `ns`/`id`/`ik` in its body. Without the bound a nested child session's
14
+ * `checkpoint_ns` fails with `ENAMETOOLONG`.
15
+ */
16
+ const encName = (s) => {
17
+ const encoded = Buffer.from(s, "utf8").toString("base64url");
18
+ if (encoded.length <= MAX_ENCODED_NAME)
19
+ return encoded;
20
+ const digest = createHash("sha256").update(s, "utf8").digest("base64url");
21
+ return `${encoded.slice(0, MAX_ENCODED_NAME - digest.length - 1)}~${digest}`;
22
+ };
23
+ // Record keys are NUL-joined, so a session checkpointed by an earlier build resolves to the same file names.
24
+ function checkpointFileName(ns, id) {
25
+ return `cp-${encName(`${ns}\u0000${id}`)}.json`;
26
+ }
27
+ function writeFileName(ns, id, innerKey) {
28
+ return `w-${encName(`${ns}\u0000${id}\u0000${innerKey}`)}.json`;
29
+ }
30
+ /** LangGraph's own key for the per-checkpoint writes map — the same derivation `MemorySaver` uses. */
31
+ function writesKey(sessionId, ns, id) {
32
+ return JSON.stringify([sessionId, ns, id]);
33
+ }
34
+ /**
35
+ * A `MemorySaver` with write-through to the session store and lazy per-session
36
+ * replay from it. Every record the parent accepts is also persisted as one
37
+ * immutable file under the session's `checkpoints/` folder (one record per path,
38
+ * so durability is an append-only log of files); the first access to a session
39
+ * replays its files into the inherited maps.
40
+ *
41
+ * Concurrency: single-writer-per-session. Distinct session ids are independent;
42
+ * concurrent turns on the same id are unsupported.
43
+ */
44
+ export class BackendCheckpointSaver extends MemorySaver {
45
+ workspace;
46
+ /**
47
+ * Sessions being (or already) replayed, holding the in-flight promise rather
48
+ * than a done marker: a marker set before the `await` would let a concurrent
49
+ * caller proceed against a half-replayed map (concurrent child sessions share
50
+ * a parent's id under different namespaces).
51
+ */
52
+ loading = new Map();
53
+ constructor(workspace) {
54
+ super();
55
+ this.workspace = workspace;
56
+ }
57
+ ensureLoaded(sessionId) {
58
+ let inFlight = this.loading.get(sessionId);
59
+ if (!inFlight) {
60
+ // A failed replay is not cached: the next access retries rather than treating the session as empty.
61
+ inFlight = this.replay(sessionId).catch((err) => {
62
+ this.loading.delete(sessionId);
63
+ throw err;
64
+ });
65
+ this.loading.set(sessionId, inFlight);
66
+ }
67
+ return inFlight;
68
+ }
69
+ /**
70
+ * Replay one session's checkpoint files into the inherited maps.
71
+ *
72
+ * Strict reads throughout: a backend that cannot answer must not read as a
73
+ * session with no checkpoints. The lenient helpers return `[]`/`null` on a
74
+ * transient failure, which would replay a live session as empty, cache it as
75
+ * loaded, and fork it on the next write (issue #27). `ensureLoaded` does not
76
+ * cache a throw, so a failed replay is retried instead of believed.
77
+ */
78
+ async replay(sessionId) {
79
+ const dir = sessionPaths(sessionId).checkpointsDir;
80
+ for (const entry of await this.workspace.listDirStrict(dir)) {
81
+ const name = (entry.path ?? "").split("/").pop() ?? "";
82
+ if (!name.endsWith(".json"))
83
+ continue;
84
+ const rec = await this.workspace.readJsonStrict(`${dir}/${name}`);
85
+ // Absent is legitimate: a listing can race a session being deleted.
86
+ if (!rec)
87
+ continue;
88
+ if (rec.k === "cp") {
89
+ const byNs = (this.storage[sessionId] ??= Object.create(null));
90
+ const byId = (byNs[rec.ns] ??= Object.create(null));
91
+ byId[rec.id] = [dec(rec.cp), dec(rec.md), rec.parent ?? undefined];
92
+ }
93
+ else if (rec.k === "w") {
94
+ const outer = writesKey(sessionId, rec.ns, rec.id);
95
+ const inner = (this.writes[outer] ??= Object.create(null));
96
+ inner[rec.ik] = [rec.taskId, rec.channel, dec(rec.val)];
97
+ }
98
+ }
99
+ }
100
+ /** Every session folder at the store root, for a listing that names no session. */
101
+ async hydrateAll() {
102
+ const entries = await this.workspace.listDir("");
103
+ const ids = entries
104
+ .map((entry) => String(entry.path ?? "").replace(/\/+$/, "").split("/").pop() ?? "")
105
+ .filter((id) => id && !isReservedRootName(id));
106
+ await Promise.all(ids.map((id) => this.ensureLoaded(id)));
107
+ }
108
+ /**
109
+ * Persist one immutable record file. A re-emitted record carries the same bytes,
110
+ * so a backend that replaces the file and one that refuses it with "already
111
+ * exists" (any create-only backend a consumer supplies) both leave it correct.
112
+ */
113
+ async writeRecord(sessionId, fileName, record) {
114
+ const path = `${sessionPaths(sessionId).checkpointsDir}/${fileName}`;
115
+ try {
116
+ await this.workspace.writeText(path, `${JSON.stringify(record)}\n`);
117
+ }
118
+ catch (err) {
119
+ if (!/already exists/i.test(err.message))
120
+ throw err;
121
+ }
122
+ }
123
+ async getTuple(config) {
124
+ const sessionId = config.configurable?.thread_id;
125
+ if (sessionId !== undefined)
126
+ await this.ensureLoaded(sessionId);
127
+ return super.getTuple(config);
128
+ }
129
+ async *list(config, options) {
130
+ const sessionId = config.configurable?.thread_id;
131
+ if (sessionId !== undefined)
132
+ await this.ensureLoaded(sessionId);
133
+ else
134
+ await this.hydrateAll();
135
+ yield* super.list(config, options);
136
+ }
137
+ async put(config, checkpoint, metadata) {
138
+ const sessionId = config.configurable?.thread_id;
139
+ if (sessionId === undefined) {
140
+ throw new Error("BackendCheckpointSaver.put requires configurable.thread_id");
141
+ }
142
+ const ns = config.configurable?.checkpoint_ns ?? "";
143
+ await this.ensureLoaded(sessionId);
144
+ const next = await super.put(config, checkpoint, metadata);
145
+ // Write through exactly what the parent stored — the same bytes it deserializes on replay.
146
+ const [cpBytes, mdBytes, parentId] = this.storage[sessionId][ns][checkpoint.id];
147
+ await this.writeRecord(sessionId, checkpointFileName(ns, checkpoint.id), {
148
+ k: "cp",
149
+ ns,
150
+ id: checkpoint.id,
151
+ parent: parentId ?? null,
152
+ cp: enc(cpBytes),
153
+ md: enc(mdBytes),
154
+ });
155
+ return next;
156
+ }
157
+ async putWrites(config, writes, taskId) {
158
+ const sessionId = config.configurable?.thread_id;
159
+ const ns = config.configurable?.checkpoint_ns ?? "";
160
+ const checkpointId = config.configurable?.checkpoint_id;
161
+ if (sessionId === undefined || checkpointId === undefined) {
162
+ throw new Error("BackendCheckpointSaver.putWrites requires thread_id and checkpoint_id");
163
+ }
164
+ await this.ensureLoaded(sessionId);
165
+ const outer = writesKey(sessionId, ns, checkpointId);
166
+ const before = new Set(Object.keys(this.writes[outer] ?? {}));
167
+ await super.putWrites(config, writes, taskId);
168
+ // Persist what the parent accepted: regular writes (idx >= 0) it did not already
169
+ // hold, and the negative-index writes (error/interrupt/resume) it always overwrites.
170
+ const inner = this.writes[outer] ?? {};
171
+ for (let idx = 0; idx < writes.length; idx++) {
172
+ const [channel] = writes[idx];
173
+ const writeIdx = WRITES_IDX_MAP[channel] ?? idx;
174
+ const innerKey = `${taskId},${writeIdx}`;
175
+ const stored = inner[innerKey];
176
+ if (!stored || (writeIdx >= 0 && before.has(innerKey)))
177
+ continue;
178
+ const [storedTask, storedChannel, value] = stored;
179
+ await this.writeRecord(sessionId, writeFileName(ns, checkpointId, innerKey), {
180
+ k: "w",
181
+ ns,
182
+ id: checkpointId,
183
+ ik: innerKey,
184
+ taskId: storedTask,
185
+ channel: storedChannel,
186
+ val: enc(value),
187
+ });
188
+ }
189
+ }
190
+ /**
191
+ * Evict a session from memory and stop replaying its record files; physical
192
+ * removal is the session store's job. Named `deleteThread` because LangGraph owns the word.
193
+ */
194
+ async deleteThread(sessionId) {
195
+ await super.deleteThread(sessionId);
196
+ // Marked as replayed (with nothing to replay) so a later access does not resurrect the files.
197
+ this.loading.set(sessionId, Promise.resolve());
198
+ }
199
+ }
200
+ //# sourceMappingURL=checkpointer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpointer.js","sourceRoot":"","sources":["../../src/workflow/checkpointer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * The control tools: `archmax_advance`, `archmax_wait`, `archmax_reset`,
3
+ * `archmax_get_variables`, `archmax_set_variables`.
4
+ *
5
+ * Each is a declaration whose body never runs in a wired assembly: governance
6
+ * intercepts the call in `wrapToolCall`, where checkpointed state is in hand, and
7
+ * services it with the handler here. A handler returns the tool message the
8
+ * model reads and, when the call changed the run, the `Command` committing it.
9
+ */
10
+ import { ToolMessage } from "@langchain/core/messages";
11
+ import type { StructuredTool } from "@langchain/core/tools";
12
+ import { Command } from "@langchain/langgraph";
13
+ import { z } from "zod";
14
+ import { type MountPrefixes } from "../core/zones.js";
15
+ import type { LifecycleContext, LifecycleRunner } from "../lifecycle/runner.js";
16
+ import type { WorkflowMachine } from "../machine/machine.js";
17
+ import { ADVANCE_TOOL, GET_VARIABLES_TOOL, RESET_TOOL, SET_VARIABLES_TOOL, WAIT_TOOL } from "../machine/tool-names.js";
18
+ import { type UnresolvedGlob, type VariableStore } from "../machine/variables.js";
19
+ import { type PendingDecision, type PendingInput, type WorkflowStateFields } from "./state.js";
20
+ export { ADVANCE_TOOL, GET_VARIABLES_TOOL, RESET_TOOL, SET_VARIABLES_TOOL, WAIT_TOOL };
21
+ /** The one refusal shape: an error-status tool message, so the model self-corrects and a view classifies it. */
22
+ export declare function refusal(name: string, toolCallId: string, text: string): ToolMessage;
23
+ /** Most paths one advance may attach — a bound on what a person is asked to read. */
24
+ export declare const MAX_ADVANCE_EVIDENCE = 20;
25
+ export type EvidenceValidation = {
26
+ ok: true;
27
+ paths: string[];
28
+ } | {
29
+ ok: false;
30
+ reason: string;
31
+ };
32
+ /**
33
+ * Validate attached evidence paths (canonical, deduplicated) or give the reason
34
+ * the call is refused. Classified through the kernel's classifier and mount
35
+ * table, so what may be attached cannot drift from what the agent can read.
36
+ */
37
+ export declare function validateAdvanceEvidence(paths: readonly string[], mounts?: MountPrefixes): EvidenceValidation;
38
+ export declare const advanceSchema: z.ZodObject<{
39
+ to: z.ZodString;
40
+ reason: z.ZodString;
41
+ evidence: z.ZodOptional<z.ZodArray<z.ZodString>>;
42
+ }, z.core.$strip>;
43
+ export declare const waitSchema: z.ZodObject<{
44
+ reason: z.ZodString;
45
+ until: z.ZodOptional<z.ZodString>;
46
+ }, z.core.$strip>;
47
+ export declare const resetSchema: z.ZodObject<{
48
+ reason: z.ZodString;
49
+ }, z.core.$strip>;
50
+ export declare const getVariablesSchema: z.ZodObject<{
51
+ name: z.ZodOptional<z.ZodString>;
52
+ path: z.ZodOptional<z.ZodString>;
53
+ }, z.core.$strip>;
54
+ export declare const setVariablesSchema: z.ZodObject<{
55
+ variables: z.ZodRecord<z.ZodString, z.ZodUnknown>;
56
+ lock: z.ZodOptional<z.ZodBoolean>;
57
+ }, z.core.$strip>;
58
+ /**
59
+ * Every control tool, in registration order. Descriptions are paid for on every
60
+ * model call, so they say only what the model cannot infer; the advance tool
61
+ * does not repeat the transition catalog the prompt's graph section renders.
62
+ */
63
+ export declare function createControlTools(): StructuredTool[];
64
+ export interface AdvanceRequest {
65
+ /** Tool call id, echoed on the resulting ToolMessage. */
66
+ toolCallId: string;
67
+ /** The id this call is reported under on the event stream (the provider's, else the generated fallback). */
68
+ callId?: string;
69
+ args: Record<string, unknown>;
70
+ /** Checkpointed agent state at the time of the call. */
71
+ state: unknown;
72
+ /** Lifecycle context; its `iterations` are seeded from state and committed back. */
73
+ ctx: LifecycleContext;
74
+ }
75
+ export interface AdvanceOutcome {
76
+ message: Command | ToolMessage;
77
+ moved?: {
78
+ from: string;
79
+ to: string;
80
+ /** The decision record committed when `to` is a human state. */
81
+ park?: PendingDecision;
82
+ };
83
+ }
84
+ /**
85
+ * Attempt a transition and commit the outcome: `workflowState` and the `agent`
86
+ * trail step on success, `iterations` always, and — into a human state —
87
+ * the pending-decision record with the park opened in its closing phase.
88
+ */
89
+ export declare function handleAdvance(opts: {
90
+ machine: WorkflowMachine;
91
+ lifecycle: LifecycleRunner;
92
+ mountPrefixes?: MountPrefixes;
93
+ }, request: AdvanceRequest): Promise<AdvanceOutcome>;
94
+ /** The accepted `until` forms, quoted verbatim in every rejection. */
95
+ export declare const WAIT_UNTIL_FORMS: string;
96
+ export type WaitUntilResult = {
97
+ resumeAt: string;
98
+ error?: undefined;
99
+ } | {
100
+ resumeAt?: undefined;
101
+ error: string;
102
+ };
103
+ /**
104
+ * Resolve `until` against `now` (epoch ms) to an absolute instant: the
105
+ * checkpoint outlives the process, so "1d" read tomorrow means nothing. Fails
106
+ * closed — an unreadable `until` is refused, because a park that silently loses
107
+ * its schedule is a run nothing ever wakes. An instant in the past means "due now".
108
+ */
109
+ export declare function resolveWaitUntil(until: string, now: number): WaitUntilResult;
110
+ export interface WaitRequest {
111
+ toolCallId: string;
112
+ args: Record<string, unknown>;
113
+ state: unknown;
114
+ }
115
+ export interface WaitOutcome {
116
+ message: Command | ToolMessage;
117
+ park?: PendingInput;
118
+ /** Set when the state's `maxParks` refused the park; committed as `rejected`. */
119
+ exhausted?: string;
120
+ }
121
+ /**
122
+ * Service a wait call: commit the pending-input record and open the park. The
123
+ * phase is `closing` when the model has said nothing since the person's last
124
+ * message (it owes them one), `suspend` when its question already is the
125
+ * message. An exhausted park budget is committed as `rejected`.
126
+ */
127
+ export declare function handleWait(machine: WorkflowMachine, request: WaitRequest): WaitOutcome;
128
+ /** The state a reset returns to: the recorded entry state, else re-resolved from the trigger (older checkpoints). */
129
+ export declare function entryStateOf(state: Pick<WorkflowStateFields, "entryState" | "trigger">, machine: WorkflowMachine): string;
130
+ export interface ResetRequest {
131
+ toolCallId: string;
132
+ args: Record<string, unknown>;
133
+ state: unknown;
134
+ }
135
+ export interface ResetOutcome {
136
+ message: Command | ToolMessage;
137
+ moved?: {
138
+ from: string;
139
+ to: string;
140
+ };
141
+ }
142
+ /**
143
+ * Service a reset: move back to the entry state and clear what gates progress
144
+ * (correction budgets, `beforeDone`). Evidence — messages, files, variables, the
145
+ * trail — is left alone: a reset moves the machine, not the history.
146
+ */
147
+ export declare function handleReset(machine: WorkflowMachine, request: ResetRequest): ResetOutcome;
148
+ export interface VariableToolRequest {
149
+ toolCallId: string;
150
+ args: Record<string, unknown>;
151
+ state: unknown;
152
+ }
153
+ /** Service an `archmax_get_variables` call against the checkpointed store. */
154
+ export declare function handleGetVariables(request: VariableToolRequest): ToolMessage;
155
+ export interface SetVariablesOutcome {
156
+ message: ToolMessage;
157
+ /** The delta to commit, absent when the call was refused. */
158
+ delta?: VariableStore;
159
+ /** Names written, for the lifecycle event. */
160
+ written?: string[];
161
+ locked?: boolean;
162
+ }
163
+ /** Service an `archmax_set_variables` call. Atomic: one rejected key refuses the whole call. */
164
+ export declare function handleSetVariables(request: VariableToolRequest): SetVariablesOutcome;
165
+ /** Wrap an `archmax_set_variables` outcome as the update that commits its delta. */
166
+ export declare function setVariablesCommand(outcome: SetVariablesOutcome): Command | ToolMessage;
167
+ /** The variables a state still owes before it may be left — its `requires` minus what is set. */
168
+ export declare function unmetRequirements(required: string[], store: VariableStore): string[];
169
+ /**
170
+ * The wording for a `${{…}}` reference in the agent's own tool arguments that
171
+ * could not be resolved: a correctable refusal carrying the two fixes it might
172
+ * need — discover what is set, or escape a reference meant as literal text.
173
+ */
174
+ export declare function unresolvedArgumentMessage(failure: UnresolvedGlob): string;