deepclause-sdk 0.0.89 → 0.1.1

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 (329) hide show
  1. package/README.md +481 -941
  2. package/dist/agent.d.ts +19 -2
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +75 -21
  5. package/dist/agent.js.map +1 -1
  6. package/dist/cli/config.d.ts +385 -178
  7. package/dist/cli/config.d.ts.map +1 -1
  8. package/dist/cli/config.js +161 -188
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/index.d.ts +3 -2
  11. package/dist/cli/index.d.ts.map +1 -1
  12. package/dist/cli/index.js +85 -411
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/cli/login.d.ts +29 -0
  15. package/dist/cli/login.d.ts.map +1 -0
  16. package/dist/cli/login.js +184 -0
  17. package/dist/cli/login.js.map +1 -0
  18. package/dist/cli/readline.d.ts +6 -0
  19. package/dist/cli/readline.d.ts.map +1 -0
  20. package/dist/cli/readline.js +15 -0
  21. package/dist/cli/readline.js.map +1 -0
  22. package/dist/cli/repl-bin.d.ts +9 -0
  23. package/dist/cli/repl-bin.d.ts.map +1 -0
  24. package/dist/cli/repl-bin.js +16 -0
  25. package/dist/cli/repl-bin.js.map +1 -0
  26. package/dist/cli/repl.d.ts +216 -0
  27. package/dist/cli/repl.d.ts.map +1 -0
  28. package/dist/cli/repl.js +1392 -0
  29. package/dist/cli/repl.js.map +1 -0
  30. package/dist/cli/run.d.ts +17 -18
  31. package/dist/cli/run.d.ts.map +1 -1
  32. package/dist/cli/run.js +202 -183
  33. package/dist/cli/run.js.map +1 -1
  34. package/dist/cli/set-backend.d.ts +53 -0
  35. package/dist/cli/set-backend.d.ts.map +1 -0
  36. package/dist/cli/set-backend.js +259 -0
  37. package/dist/cli/set-backend.js.map +1 -0
  38. package/dist/cli/visualize.d.ts +42 -0
  39. package/dist/cli/visualize.d.ts.map +1 -0
  40. package/dist/cli/visualize.js +150 -0
  41. package/dist/cli/visualize.js.map +1 -0
  42. package/dist/compiler.d.ts +5 -52
  43. package/dist/compiler.d.ts.map +1 -1
  44. package/dist/compiler.js +4 -768
  45. package/dist/compiler.js.map +1 -1
  46. package/dist/index.d.ts +27 -2
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +18 -2
  49. package/dist/index.js.map +1 -1
  50. package/dist/prolog/bridge.d.ts +5 -1
  51. package/dist/prolog/bridge.d.ts.map +1 -1
  52. package/dist/prolog/bridge.js +10 -1
  53. package/dist/prolog/bridge.js.map +1 -1
  54. package/dist/prolog-src/deepclause_analysis.pl +10 -2
  55. package/dist/prolog-src/deepclause_mi.pl +2440 -49
  56. package/dist/repl/agent.d.ts +90 -0
  57. package/dist/repl/agent.d.ts.map +1 -0
  58. package/dist/repl/agent.js +410 -0
  59. package/dist/repl/agent.js.map +1 -0
  60. package/dist/repl/auth.d.ts +45 -0
  61. package/dist/repl/auth.d.ts.map +1 -0
  62. package/dist/repl/auth.js +116 -0
  63. package/dist/repl/auth.js.map +1 -0
  64. package/dist/repl/backend.d.ts +321 -0
  65. package/dist/repl/backend.d.ts.map +1 -0
  66. package/dist/repl/backend.js +415 -0
  67. package/dist/repl/backend.js.map +1 -0
  68. package/dist/repl/compaction.d.ts +122 -0
  69. package/dist/repl/compaction.d.ts.map +1 -0
  70. package/dist/repl/compaction.js +318 -0
  71. package/dist/repl/compaction.js.map +1 -0
  72. package/dist/repl/export.d.ts +30 -0
  73. package/dist/repl/export.d.ts.map +1 -0
  74. package/dist/repl/export.js +23 -0
  75. package/dist/repl/export.js.map +1 -0
  76. package/dist/repl/frames.d.ts +21 -0
  77. package/dist/repl/frames.d.ts.map +1 -0
  78. package/dist/repl/frames.js +79 -0
  79. package/dist/repl/frames.js.map +1 -0
  80. package/dist/repl/harness-tools.d.ts +99 -0
  81. package/dist/repl/harness-tools.d.ts.map +1 -0
  82. package/dist/repl/harness-tools.js +192 -0
  83. package/dist/repl/harness-tools.js.map +1 -0
  84. package/dist/repl/highlight.d.ts +30 -0
  85. package/dist/repl/highlight.d.ts.map +1 -0
  86. package/dist/repl/highlight.js +285 -0
  87. package/dist/repl/highlight.js.map +1 -0
  88. package/dist/repl/history.d.ts +234 -0
  89. package/dist/repl/history.d.ts.map +1 -0
  90. package/dist/repl/history.js +661 -0
  91. package/dist/repl/history.js.map +1 -0
  92. package/dist/repl/imagegen.d.ts +29 -0
  93. package/dist/repl/imagegen.d.ts.map +1 -0
  94. package/dist/repl/imagegen.js +84 -0
  95. package/dist/repl/imagegen.js.map +1 -0
  96. package/dist/repl/index.d.ts +130 -0
  97. package/dist/repl/index.d.ts.map +1 -0
  98. package/dist/repl/index.js +112 -0
  99. package/dist/repl/index.js.map +1 -0
  100. package/dist/repl/judge.d.ts +51 -0
  101. package/dist/repl/judge.d.ts.map +1 -0
  102. package/dist/repl/judge.js +58 -0
  103. package/dist/repl/judge.js.map +1 -0
  104. package/dist/repl/markdown.d.ts +25 -0
  105. package/dist/repl/markdown.d.ts.map +1 -0
  106. package/dist/repl/markdown.js +103 -0
  107. package/dist/repl/markdown.js.map +1 -0
  108. package/dist/repl/model-resolver.d.ts +59 -0
  109. package/dist/repl/model-resolver.d.ts.map +1 -0
  110. package/dist/repl/model-resolver.js +156 -0
  111. package/dist/repl/model-resolver.js.map +1 -0
  112. package/dist/repl/picker.d.ts +34 -0
  113. package/dist/repl/picker.d.ts.map +1 -0
  114. package/dist/repl/picker.js +81 -0
  115. package/dist/repl/picker.js.map +1 -0
  116. package/dist/repl/project-context.d.ts +16 -0
  117. package/dist/repl/project-context.d.ts.map +1 -0
  118. package/dist/repl/project-context.js +23 -0
  119. package/dist/repl/project-context.js.map +1 -0
  120. package/dist/repl/render.d.ts +187 -0
  121. package/dist/repl/render.d.ts.map +1 -0
  122. package/dist/repl/render.js +808 -0
  123. package/dist/repl/render.js.map +1 -0
  124. package/dist/repl/session.d.ts +424 -0
  125. package/dist/repl/session.d.ts.map +1 -0
  126. package/dist/repl/session.js +1473 -0
  127. package/dist/repl/session.js.map +1 -0
  128. package/dist/repl/status.d.ts +100 -0
  129. package/dist/repl/status.d.ts.map +1 -0
  130. package/dist/repl/status.js +218 -0
  131. package/dist/repl/status.js.map +1 -0
  132. package/dist/repl/tools.d.ts +53 -0
  133. package/dist/repl/tools.d.ts.map +1 -0
  134. package/dist/repl/tools.js +307 -0
  135. package/dist/repl/tools.js.map +1 -0
  136. package/dist/repl/toolset.d.ts +32 -0
  137. package/dist/repl/toolset.d.ts.map +1 -0
  138. package/dist/repl/toolset.js +82 -0
  139. package/dist/repl/toolset.js.map +1 -0
  140. package/dist/repl/tui/editor.d.ts +17 -0
  141. package/dist/repl/tui/editor.d.ts.map +1 -0
  142. package/dist/repl/tui/editor.js +39 -0
  143. package/dist/repl/tui/editor.js.map +1 -0
  144. package/dist/repl/tui/status-bar.d.ts +26 -0
  145. package/dist/repl/tui/status-bar.d.ts.map +1 -0
  146. package/dist/repl/tui/status-bar.js +47 -0
  147. package/dist/repl/tui/status-bar.js.map +1 -0
  148. package/dist/repl/tui/theme.d.ts +30 -0
  149. package/dist/repl/tui/theme.d.ts.map +1 -0
  150. package/dist/repl/tui/theme.js +81 -0
  151. package/dist/repl/tui/theme.js.map +1 -0
  152. package/dist/repl/tui/transcript.d.ts +41 -0
  153. package/dist/repl/tui/transcript.d.ts.map +1 -0
  154. package/dist/repl/tui/transcript.js +139 -0
  155. package/dist/repl/tui/transcript.js.map +1 -0
  156. package/dist/runner.d.ts +143 -13
  157. package/dist/runner.d.ts.map +1 -1
  158. package/dist/runner.js +532 -290
  159. package/dist/runner.js.map +1 -1
  160. package/dist/sdk.d.ts.map +1 -1
  161. package/dist/sdk.js +0 -32
  162. package/dist/sdk.js.map +1 -1
  163. package/dist/system/assets/docs/AGENT_PROMPT.md +1447 -0
  164. package/dist/system/assets/docs/DML_AUTHORING.md +195 -0
  165. package/dist/system/assets/docs/DML_REFERENCE.md +344 -72
  166. package/dist/system/assets/docs/HARNESS_EXAMPLES.md +172 -0
  167. package/dist/system/assets/docs/HARNESS_PATTERNS.md +562 -0
  168. package/dist/system/assets/docs/META_PROMPT.md +68 -0
  169. package/dist/system/assets/docs/PROLOG_SNIPPETS.md +117 -0
  170. package/dist/system/assets/index.d.ts +9 -17
  171. package/dist/system/assets/index.d.ts.map +1 -1
  172. package/dist/system/assets/index.js +26 -85
  173. package/dist/system/assets/index.js.map +1 -1
  174. package/dist/system/runtime/agentvm-manager.d.ts +9 -2
  175. package/dist/system/runtime/agentvm-manager.d.ts.map +1 -1
  176. package/dist/system/runtime/agentvm-manager.js +70 -44
  177. package/dist/system/runtime/agentvm-manager.js.map +1 -1
  178. package/dist/system/runtime/media.d.ts +23 -0
  179. package/dist/system/runtime/media.d.ts.map +1 -0
  180. package/dist/system/runtime/media.js +55 -0
  181. package/dist/system/runtime/media.js.map +1 -0
  182. package/dist/system/runtime/shell-limits.d.ts +21 -0
  183. package/dist/system/runtime/shell-limits.d.ts.map +1 -0
  184. package/dist/system/runtime/shell-limits.js +39 -0
  185. package/dist/system/runtime/shell-limits.js.map +1 -0
  186. package/dist/system/runtime/shell-manager.d.ts +8 -3
  187. package/dist/system/runtime/shell-manager.d.ts.map +1 -1
  188. package/dist/system/runtime/shell-manager.js +56 -39
  189. package/dist/system/runtime/shell-manager.js.map +1 -1
  190. package/dist/system/runtime/shell-tool-events.js +5 -0
  191. package/dist/system/runtime/shell-tool-events.js.map +1 -1
  192. package/dist/system/runtime/token-usage.d.ts +2 -0
  193. package/dist/system/runtime/token-usage.d.ts.map +1 -1
  194. package/dist/system/runtime/token-usage.js +7 -0
  195. package/dist/system/runtime/token-usage.js.map +1 -1
  196. package/dist/tools.d.ts +3 -21
  197. package/dist/tools.d.ts.map +1 -1
  198. package/dist/tools.js +14 -168
  199. package/dist/tools.js.map +1 -1
  200. package/dist/types.d.ts +136 -119
  201. package/dist/types.d.ts.map +1 -1
  202. package/dist/validate.d.ts +19 -0
  203. package/dist/validate.d.ts.map +1 -0
  204. package/dist/validate.js +338 -0
  205. package/dist/validate.js.map +1 -0
  206. package/dist/visualize/ascii.d.ts +55 -0
  207. package/dist/visualize/ascii.d.ts.map +1 -0
  208. package/dist/visualize/ascii.js +242 -0
  209. package/dist/visualize/ascii.js.map +1 -0
  210. package/dist/visualize/display.d.ts +24 -0
  211. package/dist/visualize/display.d.ts.map +1 -0
  212. package/dist/visualize/display.js +29 -0
  213. package/dist/visualize/display.js.map +1 -0
  214. package/dist/visualize/graphics.d.ts +35 -0
  215. package/dist/visualize/graphics.d.ts.map +1 -0
  216. package/dist/visualize/graphics.js +96 -0
  217. package/dist/visualize/graphics.js.map +1 -0
  218. package/dist/visualize/image.d.ts +38 -0
  219. package/dist/visualize/image.d.ts.map +1 -0
  220. package/dist/visualize/image.js +95 -0
  221. package/dist/visualize/image.js.map +1 -0
  222. package/dist/visualize/index.d.ts +59 -0
  223. package/dist/visualize/index.d.ts.map +1 -0
  224. package/dist/visualize/index.js +198 -0
  225. package/dist/visualize/index.js.map +1 -0
  226. package/dist/visualize/raster.d.ts +23 -0
  227. package/dist/visualize/raster.d.ts.map +1 -0
  228. package/dist/visualize/raster.js +47 -0
  229. package/dist/visualize/raster.js.map +1 -0
  230. package/dist/visualize/svg.d.ts +39 -0
  231. package/dist/visualize/svg.d.ts.map +1 -0
  232. package/dist/visualize/svg.js +148 -0
  233. package/dist/visualize/svg.js.map +1 -0
  234. package/dist/visualize/transcode.d.ts +13 -0
  235. package/dist/visualize/transcode.d.ts.map +1 -0
  236. package/dist/visualize/transcode.js +40 -0
  237. package/dist/visualize/transcode.js.map +1 -0
  238. package/docs/images/repl.png +0 -0
  239. package/package.json +19 -15
  240. package/src/prolog-src/deepclause_analysis.pl +10 -2
  241. package/src/prolog-src/deepclause_mi.pl +2440 -49
  242. package/dist/cli/commands.d.ts +0 -42
  243. package/dist/cli/commands.d.ts.map +0 -1
  244. package/dist/cli/commands.js +0 -246
  245. package/dist/cli/commands.js.map +0 -1
  246. package/dist/cli/compile.d.ts +0 -99
  247. package/dist/cli/compile.d.ts.map +0 -1
  248. package/dist/cli/compile.js +0 -363
  249. package/dist/cli/compile.js.map +0 -1
  250. package/dist/cli/default-skills.d.ts +0 -10
  251. package/dist/cli/default-skills.d.ts.map +0 -1
  252. package/dist/cli/default-skills.js +0 -206
  253. package/dist/cli/default-skills.js.map +0 -1
  254. package/dist/cli/interactive.d.ts +0 -2
  255. package/dist/cli/interactive.d.ts.map +0 -1
  256. package/dist/cli/interactive.js +0 -20
  257. package/dist/cli/interactive.js.map +0 -1
  258. package/dist/cli/mcp.d.ts +0 -56
  259. package/dist/cli/mcp.d.ts.map +0 -1
  260. package/dist/cli/mcp.js +0 -138
  261. package/dist/cli/mcp.js.map +0 -1
  262. package/dist/cli/prompt.d.ts +0 -2
  263. package/dist/cli/prompt.d.ts.map +0 -1
  264. package/dist/cli/prompt.js +0 -2
  265. package/dist/cli/prompt.js.map +0 -1
  266. package/dist/cli/search.d.ts +0 -19
  267. package/dist/cli/search.d.ts.map +0 -1
  268. package/dist/cli/search.js +0 -189
  269. package/dist/cli/search.js.map +0 -1
  270. package/dist/cli/tool-args.d.ts +0 -2
  271. package/dist/cli/tool-args.d.ts.map +0 -1
  272. package/dist/cli/tool-args.js +0 -39
  273. package/dist/cli/tool-args.js.map +0 -1
  274. package/dist/cli/tools.d.ts +0 -36
  275. package/dist/cli/tools.d.ts.map +0 -1
  276. package/dist/cli/tools.js +0 -229
  277. package/dist/cli/tools.js.map +0 -1
  278. package/dist/cli/tui/index.d.ts +0 -22
  279. package/dist/cli/tui/index.d.ts.map +0 -1
  280. package/dist/cli/tui/index.js +0 -29
  281. package/dist/cli/tui/index.js.map +0 -1
  282. package/dist/cli/tui.d.ts +0 -167
  283. package/dist/cli/tui.d.ts.map +0 -1
  284. package/dist/cli/tui.js +0 -5228
  285. package/dist/cli/tui.js.map +0 -1
  286. package/dist/compiler_prompt.d.ts +0 -20
  287. package/dist/compiler_prompt.d.ts.map +0 -1
  288. package/dist/compiler_prompt.js +0 -870
  289. package/dist/compiler_prompt.js.map +0 -1
  290. package/dist/deepclause-cli.skill +0 -0
  291. package/dist/prolog-src/deepclause_mi.pl.bak +0 -570
  292. package/dist/system/assets/docs/CONDUCTOR_PROMPT.md +0 -105
  293. package/dist/system/assets/docs/DML_COMPILER_PROMPT.md +0 -700
  294. package/dist/system/assets/docs/TUI.md +0 -150
  295. package/dist/system/assets/recipes/deepclause-coding-workflow/SKILL.md +0 -100
  296. package/dist/system/assets/skills/conductor.dml +0 -76
  297. package/dist/system/assets/skills/deep-planner.dml +0 -412
  298. package/dist/system/assets/skills/plan.dml +0 -429
  299. package/dist/system/assets/skills/security-planner.dml +0 -337
  300. package/dist/system/assets/skills/skill-creator.dml +0 -187
  301. package/dist/system/runtime/catalog-recipes.d.ts +0 -24
  302. package/dist/system/runtime/catalog-recipes.d.ts.map +0 -1
  303. package/dist/system/runtime/catalog-recipes.js +0 -273
  304. package/dist/system/runtime/catalog-recipes.js.map +0 -1
  305. package/dist/system/runtime/catalog-skills.d.ts +0 -50
  306. package/dist/system/runtime/catalog-skills.d.ts.map +0 -1
  307. package/dist/system/runtime/catalog-skills.js +0 -152
  308. package/dist/system/runtime/catalog-skills.js.map +0 -1
  309. package/dist/system/runtime/conductor.d.ts +0 -105
  310. package/dist/system/runtime/conductor.d.ts.map +0 -1
  311. package/dist/system/runtime/conductor.js +0 -732
  312. package/dist/system/runtime/conductor.js.map +0 -1
  313. package/dist/system/runtime/console-capture.d.ts +0 -9
  314. package/dist/system/runtime/console-capture.d.ts.map +0 -1
  315. package/dist/system/runtime/console-capture.js +0 -67
  316. package/dist/system/runtime/console-capture.js.map +0 -1
  317. package/dist/system/runtime/dml-executor.d.ts +0 -52
  318. package/dist/system/runtime/dml-executor.d.ts.map +0 -1
  319. package/dist/system/runtime/dml-executor.js +0 -203
  320. package/dist/system/runtime/dml-executor.js.map +0 -1
  321. package/dist/system/runtime/runtime-tools.d.ts +0 -31
  322. package/dist/system/runtime/runtime-tools.d.ts.map +0 -1
  323. package/dist/system/runtime/runtime-tools.js +0 -312
  324. package/dist/system/runtime/runtime-tools.js.map +0 -1
  325. package/dist/system/runtime/skill-creator.d.ts +0 -38
  326. package/dist/system/runtime/skill-creator.d.ts.map +0 -1
  327. package/dist/system/runtime/skill-creator.js +0 -763
  328. package/dist/system/runtime/skill-creator.js.map +0 -1
  329. package/src/prolog-src/deepclause_mi.pl.bak +0 -570
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Persistent session / trace / harness history.
3
+ *
4
+ * See `docs/DML_REPL_SESSION_HISTORY.md`. Storage lives under a
5
+ * workspace-relative directory (default `.deepclause/repl/`):
6
+ *
7
+ * history.dml append-only harness_* facts, consulted at
8
+ * session start and queryable from DML
9
+ * harness/HEAD.json current version pointer
10
+ * harness/changes.jsonl one line per harness change
11
+ * harness/versions/NNNN_<ts>.json full module snapshot per version
12
+ * sessions/<id>/session.json session metadata
13
+ * sessions/<id>/turns.jsonl one summary per turn
14
+ * sessions/<id>/events.jsonl runtime event trace
15
+ *
16
+ * The recorder is best-effort: callers swallow its errors so a turn never fails
17
+ * because history could not be written.
18
+ */
19
+ export type HistoryTrace = 'off' | 'summary' | 'full';
20
+ export interface HistoryOptions {
21
+ /** Workspace-relative root (default `.deepclause/repl`). */
22
+ dir?: string;
23
+ /** `off`, `summary` (event metadata), or `full` (include streamed text). */
24
+ trace?: HistoryTrace;
25
+ maxEventBytes?: number;
26
+ maxSessions?: number;
27
+ maxVersions?: number;
28
+ includeInExport?: boolean;
29
+ /** Regex sources applied to recorded text before writing. */
30
+ redact?: string[];
31
+ }
32
+ export interface HistoryEventContext {
33
+ turn: number;
34
+ frame?: string;
35
+ }
36
+ export interface HistoryTurnRecord {
37
+ turn: number;
38
+ mode: 'goal' | 'prompt';
39
+ request: string;
40
+ outcome: 'committed' | 'answered' | 'failed' | 'aborted' | 'query';
41
+ commitVersion?: number;
42
+ durationMs: number;
43
+ modelCalls: number;
44
+ error?: string;
45
+ usage?: {
46
+ inputTokens?: number;
47
+ outputTokens?: number;
48
+ };
49
+ }
50
+ export interface HistoryChangedPredicate {
51
+ predicate: string;
52
+ action: 'added' | 'removed' | 'replaced';
53
+ }
54
+ export interface HistoryChangeRecord {
55
+ kind: 'commit' | 'load' | 'reset';
56
+ sessionId: string;
57
+ turn: number;
58
+ changed: HistoryChangedPredicate[];
59
+ scripts: Array<{
60
+ path: string;
61
+ sha256: string;
62
+ }>;
63
+ module: string;
64
+ manifest: string;
65
+ }
66
+ /** A linked script file and its content hash. */
67
+ export interface HistoryScriptRef {
68
+ path: string;
69
+ sha256: string;
70
+ }
71
+ /**
72
+ * Durable snapshot of a session's harness, written beside the session so the
73
+ * harness can be restored by `--session` even after the process exits or the
74
+ * scratch bundle is gone. See `docs/DML_REPL_SESSION_HISTORY.md`.
75
+ */
76
+ export interface SessionHarnessSnapshot {
77
+ sessionId: string;
78
+ /** Last recorded harness version for the session (0 = none). */
79
+ version: number;
80
+ /** sha256 of `module` + `scripts` (see `harnessHash`). */
81
+ hash: string;
82
+ /** True when `module` still matches the recorded version's snapshot. */
83
+ clean: boolean;
84
+ savedAt: string;
85
+ scripts: HistoryScriptRef[];
86
+ /** Serialized conversation memory, when captured. */
87
+ memory?: {
88
+ harness: string;
89
+ meta: string;
90
+ /** Authoring-agent conversation (TS agent mode), for resume. */
91
+ agent?: Array<{
92
+ role: 'system' | 'user' | 'assistant';
93
+ content: string;
94
+ }>;
95
+ };
96
+ module: string;
97
+ }
98
+ /** Metadata about a past REPL session, for `--session` resolution. */
99
+ export interface SessionSummary {
100
+ id: string;
101
+ startedAt?: string;
102
+ endedAt?: string | null;
103
+ resumedAt?: string[];
104
+ lastTurn?: number;
105
+ }
106
+ /** Stable hash of a harness module plus its linked scripts. */
107
+ export declare function harnessHash(module: string, scripts: Array<{
108
+ path: string;
109
+ sha256: string;
110
+ }>): string;
111
+ /** Single-quoted Prolog atom. */
112
+ export declare function prologAtom(value: string): string;
113
+ export declare class HistoryStore {
114
+ private readonly sessionId;
115
+ /** Harness this session edits (a project can hold several). */
116
+ readonly harnessName: string;
117
+ readonly rootRel: string;
118
+ readonly sessionDirRel: string;
119
+ private readonly rootAbs;
120
+ private readonly sessionDirAbs;
121
+ private readonly trace;
122
+ private readonly maxEventBytes;
123
+ private readonly maxSessions;
124
+ private readonly maxVersions;
125
+ private readonly redactions;
126
+ private eventBuffer;
127
+ /** Current HEAD version (0 = empty harness) and the highest ever issued. */
128
+ private headVersion;
129
+ private maxVersion;
130
+ /** Hash recorded for the current HEAD (for session-snapshot consistency). */
131
+ private headHash?;
132
+ constructor(workspacePath: string, sessionId: string, options?: HistoryOptions,
133
+ /** Harness this session edits (a project can hold several). */
134
+ harnessName?: string);
135
+ get currentVersion(): number;
136
+ get currentHash(): string | undefined;
137
+ get tracePath(): string;
138
+ private get historyFile();
139
+ /** Per-harness store: `.deepclause/repl/harnesses/<name>/`. */
140
+ private get harnessDir();
141
+ /** The single pre-harnesses store, migrated to `harnesses/main` once. */
142
+ private get legacyHarnessDir();
143
+ /** The current content (source of truth; portable as a `.dml`). */
144
+ private get harnessFile();
145
+ /** The module the harness started from (version 0 / rollback floor). */
146
+ private get baselineFile();
147
+ private get headFile();
148
+ private get changesFile();
149
+ /** Whether the harness has any committed versions (HEAD > baseline). */
150
+ get hasCommits(): boolean;
151
+ /** Facts for this harness only (`harness_change`/`changed`/`head`/`rollback`). */
152
+ private get harnessFactsFile();
153
+ /** Create directories, read the current version, and prune old entries. */
154
+ init(): Promise<void>;
155
+ /** Move the legacy single `harness/` store into `harnesses/main/` (once). */
156
+ private migrateLegacyHarness;
157
+ /** Ensure `baseline.dml` and `harness.dml` exist (materializing from HEAD). */
158
+ private ensureHarnessFiles;
159
+ /** The module at HEAD: the live `harness.dml`, or the HEAD version snapshot. */
160
+ readHeadModule(): Promise<{
161
+ version: number;
162
+ module: string;
163
+ } | null>;
164
+ /** The module this harness started from (version 0). */
165
+ readBaseline(): Promise<string>;
166
+ /**
167
+ * Establish the baseline of a fresh harness from its first content (e.g. a
168
+ * harness file loaded with `-l`). No-op once the harness has a baseline or
169
+ * any committed version.
170
+ */
171
+ setInitialBaseline(module: string): Promise<void>;
172
+ /** The persisted facts, to be loaded into the module at session start. */
173
+ readFacts(): Promise<string>;
174
+ /** The turns recorded for a session, oldest first (used for input history). */
175
+ readTurns(sessionId?: string): Promise<HistoryTurnRecord[]>;
176
+ startSession(info: {
177
+ model: string;
178
+ backend: string;
179
+ }, options?: {
180
+ resume?: boolean;
181
+ }): Promise<string[]>;
182
+ endSession(reason: string): Promise<string[]>;
183
+ recordTurn(record: HistoryTurnRecord): Promise<string[]>;
184
+ /**
185
+ * Record a harness version. Returns the facts to assert and the new version.
186
+ */
187
+ recordChange(record: HistoryChangeRecord): Promise<{
188
+ facts: string[];
189
+ version: number;
190
+ }>;
191
+ /**
192
+ * Plan a rollback to the parent of HEAD. Returns null when there is nothing
193
+ * to undo, otherwise the module source to restore (floored at the baseline).
194
+ */
195
+ prepareRollback(): Promise<{
196
+ from: number;
197
+ to: number;
198
+ module: string;
199
+ } | null>;
200
+ /** Persist a rollback (facts + HEAD + change log + harness file). */
201
+ recordRollback(from: number, to: number, turn: number, sessionId: string, module?: string): Promise<string[]>;
202
+ private readVersion;
203
+ private sessionsDir;
204
+ private sessionHarnessFile;
205
+ /** True when a session directory exists for `sessionId`. */
206
+ sessionExists(sessionId: string): Promise<boolean>;
207
+ /** All recorded sessions, oldest first. */
208
+ sessionSummaries(): Promise<SessionSummary[]>;
209
+ /** The most recently started session, or null when there is none. */
210
+ latestSessionId(): Promise<string | null>;
211
+ /** The highest turn number recorded for a session (0 when none). */
212
+ lastTurn(sessionId?: string): Promise<number>;
213
+ /** Persist the durable harness snapshot beside a session (best effort). */
214
+ writeSessionHarness(snapshot: SessionHarnessSnapshot, sessionId?: string): Promise<void>;
215
+ /** Read a session's durable harness snapshot, or null when absent. */
216
+ readSessionHarness(sessionId?: string): Promise<SessionHarnessSnapshot | null>;
217
+ /** Buffer one event line (flushed at turn end / dispose). */
218
+ recordEvent(context: HistoryEventContext, event: {
219
+ type: string;
220
+ } & Record<string, unknown>): void;
221
+ flushEvents(): Promise<void>;
222
+ private serializeEvent;
223
+ /** Redact and truncate strings recursively. */
224
+ private scrub;
225
+ private appendFacts;
226
+ private appendHarnessFacts;
227
+ private appendJsonl;
228
+ private appendRaw;
229
+ private writeJson;
230
+ /** Keep only the newest sessions and versions. */
231
+ private prune;
232
+ private pruneDir;
233
+ }
234
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/repl/history.ts"],"names":[],"mappings":"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"}