@namzu/cli 26.2.0 → 27.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 (342) hide show
  1. package/CHANGELOG.md +312 -0
  2. package/README.md +49 -34
  3. package/dist/bin.js +7 -0
  4. package/dist/bin.js.map +1 -1
  5. package/dist/checkpoints/store.d.ts +17 -4
  6. package/dist/checkpoints/store.d.ts.map +1 -1
  7. package/dist/checkpoints/store.js +20 -5
  8. package/dist/checkpoints/store.js.map +1 -1
  9. package/dist/cli.js +2 -2
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/acp.d.ts +23 -1
  12. package/dist/commands/acp.d.ts.map +1 -1
  13. package/dist/commands/acp.js +41 -2
  14. package/dist/commands/acp.js.map +1 -1
  15. package/dist/commands/drain.d.ts +69 -2
  16. package/dist/commands/drain.d.ts.map +1 -1
  17. package/dist/commands/drain.js +214 -134
  18. package/dist/commands/drain.js.map +1 -1
  19. package/dist/commands/eval.js +1 -1
  20. package/dist/commands/eval.js.map +1 -1
  21. package/dist/commands/provider-wait.d.ts +5 -5
  22. package/dist/commands/provider-wait.d.ts.map +1 -1
  23. package/dist/commands/provider-wait.js +2 -2
  24. package/dist/commands/resident.d.ts.map +1 -1
  25. package/dist/commands/resident.js +2 -1
  26. package/dist/commands/resident.js.map +1 -1
  27. package/dist/commands/run-flags.d.ts +7 -7
  28. package/dist/commands/run-flags.js +4 -4
  29. package/dist/commands/run-stream.d.ts +16 -12
  30. package/dist/commands/run-stream.d.ts.map +1 -1
  31. package/dist/commands/run-stream.js +142 -98
  32. package/dist/commands/run-stream.js.map +1 -1
  33. package/dist/commands/run.d.ts +6 -4
  34. package/dist/commands/run.d.ts.map +1 -1
  35. package/dist/commands/run.js +129 -45
  36. package/dist/commands/run.js.map +1 -1
  37. package/dist/commands/serve.js +2 -2
  38. package/dist/commands/serve.js.map +1 -1
  39. package/dist/commands/state.js +8 -8
  40. package/dist/commands/state.js.map +1 -1
  41. package/dist/config/load.d.ts +1 -1
  42. package/dist/config/load.d.ts.map +1 -1
  43. package/dist/config/load.js +17 -5
  44. package/dist/config/load.js.map +1 -1
  45. package/dist/config/run-limits.d.ts +20 -8
  46. package/dist/config/run-limits.d.ts.map +1 -1
  47. package/dist/config/run-limits.js +28 -46
  48. package/dist/config/run-limits.js.map +1 -1
  49. package/dist/config/schema.d.ts +44 -19
  50. package/dist/config/schema.d.ts.map +1 -1
  51. package/dist/config/schema.js.map +1 -1
  52. package/dist/config/tool-result-screens.js +1 -1
  53. package/dist/context/directories.d.ts +37 -0
  54. package/dist/context/directories.d.ts.map +1 -0
  55. package/dist/context/directories.js +69 -0
  56. package/dist/context/directories.js.map +1 -0
  57. package/dist/context/environment.d.ts +55 -0
  58. package/dist/context/environment.d.ts.map +1 -1
  59. package/dist/context/environment.js +96 -0
  60. package/dist/context/environment.js.map +1 -1
  61. package/dist/context/project-tracker.d.ts +3 -3
  62. package/dist/context/project-tracker.d.ts.map +1 -1
  63. package/dist/context/project-tracker.js +3 -3
  64. package/dist/context/project-tracker.js.map +1 -1
  65. package/dist/context/project.d.ts +1 -1
  66. package/dist/context/project.js +1 -1
  67. package/dist/context/sandbox.d.ts +22 -3
  68. package/dist/context/sandbox.d.ts.map +1 -1
  69. package/dist/context/sandbox.js +42 -4
  70. package/dist/context/sandbox.js.map +1 -1
  71. package/dist/doctor/checks/chain.d.ts +1 -1
  72. package/dist/doctor/checks/chain.js +5 -5
  73. package/dist/doctor/checks/chain.js.map +1 -1
  74. package/dist/doctor/checks/invariants.d.ts +2 -2
  75. package/dist/doctor/checks/invariants.js +5 -5
  76. package/dist/doctor/checks/invariants.js.map +1 -1
  77. package/dist/doctor/checks/logging.js +1 -1
  78. package/dist/doctor/checks/logging.js.map +1 -1
  79. package/dist/doctor/checks/sandbox.js +1 -1
  80. package/dist/doctor/checks/sandbox.js.map +1 -1
  81. package/dist/doctor/checks/session-export.d.ts +1 -1
  82. package/dist/doctor/checks/session-export.js +2 -2
  83. package/dist/doctor/checks/session-export.js.map +1 -1
  84. package/dist/doctor/checks/telemetry.d.ts +1 -1
  85. package/dist/doctor/checks/telemetry.js +1 -1
  86. package/dist/doctor/registry.js +2 -2
  87. package/dist/doctor/registry.js.map +1 -1
  88. package/dist/exit-codes.d.ts +2 -2
  89. package/dist/exit-codes.js +2 -2
  90. package/dist/integrations/mcp/servers.d.ts +1 -1
  91. package/dist/integrations/providers/chain-capabilities.d.ts +6 -6
  92. package/dist/integrations/providers/chain-capabilities.js +8 -8
  93. package/dist/integrations/providers/chain-capabilities.js.map +1 -1
  94. package/dist/integrations/providers/index.d.ts +1 -1
  95. package/dist/integrations/providers/index.d.ts.map +1 -1
  96. package/dist/integrations/providers/index.js +1 -1
  97. package/dist/integrations/providers/index.js.map +1 -1
  98. package/dist/integrations/providers/register.d.ts +1 -1
  99. package/dist/integrations/providers/register.js +1 -1
  100. package/dist/integrations/providers/registry.d.ts +74 -1
  101. package/dist/integrations/providers/registry.d.ts.map +1 -1
  102. package/dist/integrations/providers/registry.js +75 -0
  103. package/dist/integrations/providers/registry.js.map +1 -1
  104. package/dist/integrations/resident/inspection.d.ts +4 -1
  105. package/dist/integrations/resident/inspection.d.ts.map +1 -1
  106. package/dist/integrations/resident/inspection.js +53 -34
  107. package/dist/integrations/resident/inspection.js.map +1 -1
  108. package/dist/integrations/resident/learning-storage.d.ts +7 -2
  109. package/dist/integrations/resident/learning-storage.d.ts.map +1 -1
  110. package/dist/integrations/resident/learning-storage.js +12 -8
  111. package/dist/integrations/resident/learning-storage.js.map +1 -1
  112. package/dist/integrations/resident/runner-store.d.ts +1 -1
  113. package/dist/integrations/resident/runner-store.d.ts.map +1 -1
  114. package/dist/integrations/resident/runner-store.js +5 -2
  115. package/dist/integrations/resident/runner-store.js.map +1 -1
  116. package/dist/integrations/resident/runner-worker.js +1 -0
  117. package/dist/integrations/resident/runner-worker.js.map +1 -1
  118. package/dist/integrations/resident/session-log-reads.d.ts +37 -0
  119. package/dist/integrations/resident/session-log-reads.d.ts.map +1 -0
  120. package/dist/integrations/resident/session-log-reads.js +125 -0
  121. package/dist/integrations/resident/session-log-reads.js.map +1 -0
  122. package/dist/integrations/resident/session-step.d.ts +2 -0
  123. package/dist/integrations/resident/session-step.d.ts.map +1 -1
  124. package/dist/integrations/resident/session-step.js +15 -13
  125. package/dist/integrations/resident/session-step.js.map +1 -1
  126. package/dist/integrations/resident/storage.d.ts +23 -1
  127. package/dist/integrations/resident/storage.d.ts.map +1 -1
  128. package/dist/integrations/resident/storage.js +60 -17
  129. package/dist/integrations/resident/storage.js.map +1 -1
  130. package/dist/integrations/resident/tool-evidence.d.ts +4 -2
  131. package/dist/integrations/resident/tool-evidence.d.ts.map +1 -1
  132. package/dist/integrations/resident/tool-evidence.js +36 -30
  133. package/dist/integrations/resident/tool-evidence.js.map +1 -1
  134. package/dist/integrations/resident/verification.d.ts +2 -2
  135. package/dist/integrations/resident/verification.d.ts.map +1 -1
  136. package/dist/integrations/resident/verification.js +4 -4
  137. package/dist/integrations/resident/verification.js.map +1 -1
  138. package/dist/integrations/sessions/checkpoint-view.d.ts +13 -0
  139. package/dist/integrations/sessions/checkpoint-view.d.ts.map +1 -0
  140. package/dist/integrations/sessions/checkpoint-view.js +48 -0
  141. package/dist/integrations/sessions/checkpoint-view.js.map +1 -0
  142. package/dist/integrations/sessions/context-inventory.js +1 -1
  143. package/dist/integrations/sessions/context-inventory.js.map +1 -1
  144. package/dist/integrations/sessions/conversation-search.d.ts +16 -20
  145. package/dist/integrations/sessions/conversation-search.d.ts.map +1 -1
  146. package/dist/integrations/sessions/conversation-search.js +305 -731
  147. package/dist/integrations/sessions/conversation-search.js.map +1 -1
  148. package/dist/integrations/sessions/evidence-page-validation.d.ts +4 -4
  149. package/dist/integrations/sessions/evidence-page-validation.d.ts.map +1 -1
  150. package/dist/integrations/sessions/evidence-page-validation.js +1 -1
  151. package/dist/integrations/sessions/evidence-page-validation.js.map +1 -1
  152. package/dist/integrations/sessions/evidence-recall.d.ts +40 -2
  153. package/dist/integrations/sessions/evidence-recall.d.ts.map +1 -1
  154. package/dist/integrations/sessions/evidence-recall.js +41 -97
  155. package/dist/integrations/sessions/evidence-recall.js.map +1 -1
  156. package/dist/integrations/sessions/store.d.ts +153 -85
  157. package/dist/integrations/sessions/store.d.ts.map +1 -1
  158. package/dist/integrations/sessions/store.js +414 -484
  159. package/dist/integrations/sessions/store.js.map +1 -1
  160. package/dist/integrations/sessions/task-context.d.ts +15 -2
  161. package/dist/integrations/sessions/task-context.d.ts.map +1 -1
  162. package/dist/integrations/sessions/task-context.js +34 -11
  163. package/dist/integrations/sessions/task-context.js.map +1 -1
  164. package/dist/integrations/sessions/transcript-export.d.ts +13 -6
  165. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  166. package/dist/integrations/sessions/transcript-export.js +148 -263
  167. package/dist/integrations/sessions/transcript-export.js.map +1 -1
  168. package/dist/integrations/state/home.d.ts +4 -16
  169. package/dist/integrations/state/home.d.ts.map +1 -1
  170. package/dist/integrations/state/home.js +6 -42
  171. package/dist/integrations/state/home.js.map +1 -1
  172. package/dist/integrations/state/project.d.ts +6 -7
  173. package/dist/integrations/state/project.d.ts.map +1 -1
  174. package/dist/integrations/state/project.js +7 -9
  175. package/dist/integrations/state/project.js.map +1 -1
  176. package/dist/integrations/state/report.d.ts +27 -41
  177. package/dist/integrations/state/report.d.ts.map +1 -1
  178. package/dist/integrations/state/report.js +172 -464
  179. package/dist/integrations/state/report.js.map +1 -1
  180. package/dist/integrations/state/retention.d.ts +18 -0
  181. package/dist/integrations/state/retention.d.ts.map +1 -0
  182. package/dist/integrations/state/retention.js +18 -0
  183. package/dist/integrations/state/retention.js.map +1 -0
  184. package/dist/integrations/subagents/activity.d.ts +36 -31
  185. package/dist/integrations/subagents/activity.d.ts.map +1 -1
  186. package/dist/integrations/subagents/activity.js +27 -23
  187. package/dist/integrations/subagents/activity.js.map +1 -1
  188. package/dist/integrations/subagents/batches.d.ts +91 -0
  189. package/dist/integrations/subagents/batches.d.ts.map +1 -0
  190. package/dist/integrations/subagents/batches.js +172 -0
  191. package/dist/integrations/subagents/batches.js.map +1 -0
  192. package/dist/integrations/subagents/parent.d.ts +26 -11
  193. package/dist/integrations/subagents/parent.d.ts.map +1 -1
  194. package/dist/integrations/subagents/parent.js +13 -28
  195. package/dist/integrations/subagents/parent.js.map +1 -1
  196. package/dist/integrations/subagents/policy.d.ts +2 -2
  197. package/dist/integrations/subagents/policy.d.ts.map +1 -1
  198. package/dist/integrations/subagents/policy.js +2 -2
  199. package/dist/integrations/subagents/policy.js.map +1 -1
  200. package/dist/integrations/subagents/replay.d.ts +91 -26
  201. package/dist/integrations/subagents/replay.d.ts.map +1 -1
  202. package/dist/integrations/subagents/replay.js +216 -114
  203. package/dist/integrations/subagents/replay.js.map +1 -1
  204. package/dist/integrations/subagents/runtime.d.ts +50 -26
  205. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  206. package/dist/integrations/subagents/runtime.js +132 -126
  207. package/dist/integrations/subagents/runtime.js.map +1 -1
  208. package/dist/integrations/subagents/saved-agents.d.ts +57 -0
  209. package/dist/integrations/subagents/saved-agents.d.ts.map +1 -0
  210. package/dist/integrations/subagents/saved-agents.js +102 -0
  211. package/dist/integrations/subagents/saved-agents.js.map +1 -0
  212. package/dist/integrations/subagents/slash.d.ts +55 -0
  213. package/dist/integrations/subagents/slash.d.ts.map +1 -0
  214. package/dist/integrations/subagents/slash.js +45 -0
  215. package/dist/integrations/subagents/slash.js.map +1 -0
  216. package/dist/integrations/telemetry/session-export.d.ts +6 -6
  217. package/dist/integrations/telemetry/session-export.d.ts.map +1 -1
  218. package/dist/integrations/telemetry/session-export.js +2 -2
  219. package/dist/memory/presentation.d.ts +11 -0
  220. package/dist/memory/presentation.d.ts.map +1 -1
  221. package/dist/memory/presentation.js +25 -0
  222. package/dist/memory/presentation.js.map +1 -1
  223. package/dist/memory/store.d.ts +13 -7
  224. package/dist/memory/store.d.ts.map +1 -1
  225. package/dist/memory/store.js +37 -11
  226. package/dist/memory/store.js.map +1 -1
  227. package/dist/memory/typed.d.ts +116 -0
  228. package/dist/memory/typed.d.ts.map +1 -0
  229. package/dist/memory/typed.js +336 -0
  230. package/dist/memory/typed.js.map +1 -0
  231. package/dist/permissions/checks.d.ts +1 -1
  232. package/dist/permissions/checks.js +1 -1
  233. package/dist/permissions/headless-trust.d.ts +2 -2
  234. package/dist/permissions/headless-trust.d.ts.map +1 -1
  235. package/dist/permissions/headless-trust.js +3 -3
  236. package/dist/permissions/headless-trust.js.map +1 -1
  237. package/dist/permissions/mode.d.ts +4 -4
  238. package/dist/permissions/mode.js +1 -1
  239. package/dist/permissions/rules.d.ts +1 -1
  240. package/dist/permissions/rules.js +1 -1
  241. package/dist/termination.d.ts +75 -0
  242. package/dist/termination.d.ts.map +1 -0
  243. package/dist/termination.js +143 -0
  244. package/dist/termination.js.map +1 -0
  245. package/dist/tui/AgentExplorer.d.ts +2 -2
  246. package/dist/tui/AgentExplorer.js +4 -4
  247. package/dist/tui/AgentExplorer.js.map +1 -1
  248. package/dist/tui/App.d.ts +9 -1
  249. package/dist/tui/App.d.ts.map +1 -1
  250. package/dist/tui/App.js +458 -304
  251. package/dist/tui/App.js.map +1 -1
  252. package/dist/tui/LiveActivity.d.ts +1 -1
  253. package/dist/tui/LiveActivity.d.ts.map +1 -1
  254. package/dist/tui/PermissionOverlay.d.ts +8 -0
  255. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  256. package/dist/tui/PermissionOverlay.js +25 -2
  257. package/dist/tui/PermissionOverlay.js.map +1 -1
  258. package/dist/tui/Picker.d.ts +14 -1
  259. package/dist/tui/Picker.d.ts.map +1 -1
  260. package/dist/tui/Picker.js +598 -132
  261. package/dist/tui/Picker.js.map +1 -1
  262. package/dist/tui/agent.d.ts +208 -132
  263. package/dist/tui/agent.d.ts.map +1 -1
  264. package/dist/tui/agent.js +523 -313
  265. package/dist/tui/agent.js.map +1 -1
  266. package/dist/tui/conversation-evidence-view.js +3 -3
  267. package/dist/tui/conversation-evidence-view.js.map +1 -1
  268. package/dist/tui/conversation-history.d.ts +4 -21
  269. package/dist/tui/conversation-history.d.ts.map +1 -1
  270. package/dist/tui/conversation-history.js +4 -28
  271. package/dist/tui/conversation-history.js.map +1 -1
  272. package/dist/tui/index.d.ts.map +1 -1
  273. package/dist/tui/index.js +27 -1
  274. package/dist/tui/index.js.map +1 -1
  275. package/dist/tui/log-pane.js +1 -1
  276. package/dist/tui/markdownParser.d.ts +1 -1
  277. package/dist/tui/markdownParser.js +1 -1
  278. package/dist/tui/model-choices.d.ts.map +1 -1
  279. package/dist/tui/model-choices.js +20 -1
  280. package/dist/tui/model-choices.js.map +1 -1
  281. package/dist/tui/permission-review.d.ts +16 -0
  282. package/dist/tui/permission-review.d.ts.map +1 -1
  283. package/dist/tui/permission-review.js +25 -2
  284. package/dist/tui/permission-review.js.map +1 -1
  285. package/dist/tui/provider-list.d.ts +206 -41
  286. package/dist/tui/provider-list.d.ts.map +1 -1
  287. package/dist/tui/provider-list.js +248 -52
  288. package/dist/tui/provider-list.js.map +1 -1
  289. package/dist/tui/slashCommands.d.ts +29 -40
  290. package/dist/tui/slashCommands.d.ts.map +1 -1
  291. package/dist/tui/slashCommands.js +70 -61
  292. package/dist/tui/slashCommands.js.map +1 -1
  293. package/dist/tui/terminal-choice-text.d.ts +22 -0
  294. package/dist/tui/terminal-choice-text.d.ts.map +1 -1
  295. package/dist/tui/terminal-choice-text.js +81 -0
  296. package/dist/tui/terminal-choice-text.js.map +1 -1
  297. package/dist/tui/{run-interruption.d.ts → turn-interruption.d.ts} +4 -4
  298. package/dist/tui/turn-interruption.d.ts.map +1 -0
  299. package/dist/tui/{run-interruption.js → turn-interruption.js} +20 -20
  300. package/dist/tui/turn-interruption.js.map +1 -0
  301. package/dist/tui/turn-limits-settings.d.ts +39 -0
  302. package/dist/tui/turn-limits-settings.d.ts.map +1 -0
  303. package/dist/tui/{run-limits-settings.js → turn-limits-settings.js} +18 -18
  304. package/dist/tui/turn-limits-settings.js.map +1 -0
  305. package/dist/tui/types.d.ts +3 -3
  306. package/dist/tui/types.d.ts.map +1 -1
  307. package/dist/user-commands/store.d.ts +1 -1
  308. package/dist/user-commands/store.js +1 -1
  309. package/package.json +8 -8
  310. package/dist/integrations/sessions/compaction-evidence.d.ts +0 -5
  311. package/dist/integrations/sessions/compaction-evidence.d.ts.map +0 -1
  312. package/dist/integrations/sessions/compaction-evidence.js +0 -59
  313. package/dist/integrations/sessions/compaction-evidence.js.map +0 -1
  314. package/dist/integrations/sessions/database.d.ts +0 -5
  315. package/dist/integrations/sessions/database.d.ts.map +0 -1
  316. package/dist/integrations/sessions/database.js +0 -34
  317. package/dist/integrations/sessions/database.js.map +0 -1
  318. package/dist/integrations/sessions/paths.d.ts +0 -7
  319. package/dist/integrations/sessions/paths.d.ts.map +0 -1
  320. package/dist/integrations/sessions/paths.js +0 -14
  321. package/dist/integrations/sessions/paths.js.map +0 -1
  322. package/dist/integrations/sessions/run-discovery.d.ts +0 -24
  323. package/dist/integrations/sessions/run-discovery.d.ts.map +0 -1
  324. package/dist/integrations/sessions/run-discovery.js +0 -142
  325. package/dist/integrations/sessions/run-discovery.js.map +0 -1
  326. package/dist/integrations/sessions/turn-evidence.d.ts +0 -129
  327. package/dist/integrations/sessions/turn-evidence.d.ts.map +0 -1
  328. package/dist/integrations/sessions/turn-evidence.js +0 -517
  329. package/dist/integrations/sessions/turn-evidence.js.map +0 -1
  330. package/dist/integrations/subagents/history.d.ts +0 -26
  331. package/dist/integrations/subagents/history.d.ts.map +0 -1
  332. package/dist/integrations/subagents/history.js +0 -76
  333. package/dist/integrations/subagents/history.js.map +0 -1
  334. package/dist/integrations/subagents/runs.d.ts +0 -72
  335. package/dist/integrations/subagents/runs.d.ts.map +0 -1
  336. package/dist/integrations/subagents/runs.js +0 -155
  337. package/dist/integrations/subagents/runs.js.map +0 -1
  338. package/dist/tui/run-interruption.d.ts.map +0 -1
  339. package/dist/tui/run-interruption.js.map +0 -1
  340. package/dist/tui/run-limits-settings.d.ts +0 -39
  341. package/dist/tui/run-limits-settings.d.ts.map +0 -1
  342. package/dist/tui/run-limits-settings.js.map +0 -1
@@ -1,13 +1,11 @@
1
- import { CliPathBuilder } from './paths.js';
2
- /** Verified Markdown projection of one CLI conversation. */
1
+ /** Verified Markdown projection of one CLI conversation, read from its session log. */
3
2
  import { randomUUID } from 'node:crypto';
4
- import { link, lstat, open, readdir, stat, unlink } from 'node:fs/promises';
3
+ import { link, open, stat, unlink } from 'node:fs/promises';
5
4
  import { homedir } from 'node:os';
6
5
  import { basename, dirname, join, resolve } from 'node:path';
7
- import { isDeepStrictEqual } from 'node:util';
8
- import { isEntityId, readRunEventsIn, readRunMessagesIn, } from '@namzu/sdk';
9
6
  import { visibleProjectInstructionPath } from '../../context/project-path.js';
10
7
  import { runtimeContextLabel } from '../../context/runtime-message.js';
8
+ import { openConversationLog, readConversationFacts, } from './store.js';
11
9
  export class ConversationTranscriptUnavailableError extends Error {
12
10
  reason;
13
11
  constructor(reason, detail) {
@@ -17,138 +15,110 @@ export class ConversationTranscriptUnavailableError extends Error {
17
15
  }
18
16
  }
19
17
  /**
20
- * Reconstruct a conversation from caller/run correlation plus the SDK's
21
- * strictly read, event-head-verified run records.
18
+ * Reconstruct a conversation from its session log, read strictly: a log whose
19
+ * hash chain is broken is refused rather than exported in part.
20
+ *
21
+ * Every turn is rendered from its own records — the prompt, the messages it
22
+ * produced, the activity it recorded and how it ended. An answer the runtime
23
+ * replaced (a guardrail rewrite, a review, a structured result) is shown as
24
+ * replaced, exactly as every fold of the log shows it; the raw text stays in
25
+ * the log for audit.
22
26
  */
23
27
  export async function conversationMarkdown(sessions, sessionId) {
24
- const evidenceStore = sessions.turnEvidence;
25
- if (!evidenceStore) {
26
- throw unavailable('evidence-not-recorded', 'this host did not provide the CLI turn-evidence store');
27
- }
28
- const evidence = await evidenceStore.read(sessionId);
29
- if (evidence.kind === 'not-recorded') {
30
- throw unavailable('evidence-not-recorded', `conversation ${sessionId} predates durable turn/run correlation`);
31
- }
32
- if (evidence.origin.origin.kind === 'fork-unresolved') {
33
- throw unavailable('fork-lineage-unavailable', `conversation ${sessionId} is a fork whose copied prefix is not yet tied to stable source turns`);
34
- }
35
- let lineage;
28
+ let facts;
36
29
  try {
37
- lineage = await evidenceStore.resolveLineage(sessionId);
30
+ facts = await readConversationFacts(sessions, sessionId);
38
31
  }
39
32
  catch (error) {
40
- throw unavailable('fork-lineage-unavailable', `conversation ${sessionId} has invalid fork lineage: ${messageOf(error)}`);
33
+ throw unavailable('log-unreadable', `conversation ${sessionId} cannot be read strictly: ${messageOf(error)}`);
41
34
  }
42
- if (lineage.kind === 'unavailable') {
43
- throw unavailable('fork-lineage-unavailable', lineage.detail);
35
+ if (!facts || facts.started.projectId !== sessions.projectId) {
36
+ throw unavailable('not-found', `conversation ${sessionId} is not in this workspace`);
44
37
  }
45
- if (lineage.turns.length === 0) {
46
- throw unavailable('nothing-to-export', `conversation ${sessionId} has no recorded turns`);
47
- }
48
- const paths = new CliPathBuilder(sessions.root);
49
- const runsRoot = join(paths.sessionDir(sessions.projectId, sessionId), 'runs');
50
- const onDiskRunIds = await listRunIds(runsRoot);
51
- const boundRunIds = new Set(lineage.localTurns.map((turn) => turn.started.runId));
52
- const unbound = onDiskRunIds.filter((runId) => !boundRunIds.has(runId));
53
- if (unbound.length > 0) {
54
- throw unavailable('unbound-run', `session ${sessionId} contains run evidence with no CLI turn binding: ${unbound.join(', ')}`);
38
+ const log = openConversationLog(sessions, sessionId);
39
+ const content = async (record) => {
40
+ const spill = record.spill;
41
+ return spill ? JSON.parse(await log.readSpill(spill)) : record.content;
42
+ };
43
+ // The latest replacement of each message wins, as in every fold (§4.4).
44
+ const replacements = new Map();
45
+ for (const record of facts.records) {
46
+ if (record.type === 'message_replaced') {
47
+ replacements.set(record.targetMessageId, await content(record));
48
+ }
55
49
  }
56
50
  const lines = ['# Namzu conversation', '', `Conversation: \`${sessionId}\``, ''];
57
- for (const inherited of lineage.turns) {
58
- const turn = inherited.evidence;
59
- lines.push(...renderUser(turn), '');
60
- const runDir = paths.runDir(sessions.projectId, inherited.reference.sessionId, turn.started.runId);
61
- if (!(await isDirectory(runDir))) {
62
- if (turn.settled?.outcome === 'cancelled' && turn.settled.assistantText.length === 0) {
63
- lines.push('## Activity', '', 'Run was cancelled before model execution began; no SDK run record was published.', '');
64
- continue;
65
- }
66
- if (turn.settled) {
67
- throw unavailable('turn-run-mismatch', `turn ${turn.started.turnId} settled in the host but run ${turn.started.runId} has no SDK record`);
68
- }
69
- lines.push('## Activity', '', 'Run did not start; no SDK run record was published.', '');
70
- continue;
71
- }
72
- let events;
73
- try {
74
- events = await readRunEventsIn(runDir, { integrity: 'strict' });
75
- }
76
- catch (error) {
77
- throw unavailable('run-record-corrupt', `run ${turn.started.runId} cannot be read strictly: ${messageOf(error)}`);
78
- }
79
- if (events.length === 0 ||
80
- events[0]?.type !== 'run_started' ||
81
- events.some((event) => event.runId !== turn.started.runId)) {
82
- throw unavailable('run-record-corrupt', `run ${turn.started.runId} is empty, lacks its start record, or contains another run's events`);
83
- }
84
- const terminal = terminalEvent(events);
85
- if (terminal.kind === 'invalid' || (terminal.kind === 'absent' && !turn.settled)) {
86
- throw unavailable('run-incomplete', `run ${turn.started.runId} has no unique terminal event at the durable log head and no host settlement that can close an interrupted turn`);
87
- }
88
- let snapshot;
89
- try {
90
- snapshot = await readRunMessagesIn(runDir);
91
- }
92
- catch (error) {
93
- throw unavailable('run-record-corrupt', `run ${turn.started.runId} has an invalid message snapshot: ${messageOf(error)}`);
94
- }
95
- if (snapshot.kind === 'unavailable') {
96
- throw unavailable('run-snapshot-unavailable', `run ${turn.started.runId} never published its survivor snapshot`);
97
- }
98
- if (snapshot.kind === 'legacy-unverified') {
99
- throw unavailable('run-snapshot-unverified', `run ${turn.started.runId} has a legacy snapshot with no event-log boundary`);
100
- }
101
- const eventHead = events.at(-1)?.seq ?? 0;
102
- if (snapshot.throughEventSeq !== eventHead) {
103
- throw unavailable('run-snapshot-out-of-sync', `run ${turn.started.runId} snapshot ends at event ${snapshot.throughEventSeq}, while its log ends at ${eventHead}`);
104
- }
105
- const fullMessages = [
106
- ...events.flatMap((event) => (event.type === 'compaction_shed' ? event.messages : [])),
107
- ...snapshot.messages,
108
- ];
109
- const userIndex = findExactUser(fullMessages, turn.started.user);
110
- if (userIndex < 0) {
111
- throw unavailable('turn-run-mismatch', `run ${turn.started.runId} does not contain the exact user message bound before it started`);
112
- }
113
- const produced = fullMessages.slice(userIndex + 1);
114
- const assistants = produced.filter((message) => message.role === 'assistant');
115
- const completions = events.filter((event) => event.type === 'message_completed');
116
- if (completions.length !== assistants.length) {
117
- throw unavailable('turn-run-mismatch', `run ${turn.started.runId} records ${completions.length} completed model messages but its verified history contains ${assistants.length}`);
118
- }
119
- for (let index = 0; index < completions.length; index += 1) {
120
- const recorded = completions[index]?.content;
121
- const persisted = assistants[index]?.content;
122
- if (recorded !== undefined && recorded !== (typeof persisted === 'string' ? persisted : '')) {
123
- throw unavailable('turn-run-mismatch', `run ${turn.started.runId} message completion disagrees with its verified history`);
51
+ let turns = 0;
52
+ let current;
53
+ let produced = [];
54
+ const flush = () => {
55
+ if (produced.length > 0)
56
+ lines.push(...renderProducedMessages(produced));
57
+ produced = [];
58
+ };
59
+ for (const record of facts.records) {
60
+ switch (record.type) {
61
+ case 'compaction':
62
+ flush();
63
+ if (record.strategy === 'fork' && Array.isArray(record.summary)) {
64
+ // The prompts a fork copied are turns of this conversation too.
65
+ turns += record.summary.filter((message) => message.role === 'user' &&
66
+ (message.source === undefined || message.source.type === 'goal-round')).length;
67
+ lines.push('## Copied history', '', '_Copied from the conversation this one was forked from._', '');
68
+ lines.push(...renderProducedMessages(record.summary));
69
+ }
70
+ else {
71
+ lines.push('## Activity', '', `Context compacted (${record.trigger}): ${record.tokensBefore.toLocaleString()} → ${record.tokensAfter.toLocaleString()} tokens.`, '');
72
+ }
73
+ break;
74
+ case 'turn_started':
75
+ flush();
76
+ current = record.turnId;
77
+ turns += 1;
78
+ break;
79
+ case 'message': {
80
+ const message = replacements.get(record.messageId) ?? (await content(record));
81
+ if (record.kind === 'prompt' && message.role === 'user') {
82
+ flush();
83
+ lines.push(...renderUser(message), '');
84
+ }
85
+ else
86
+ produced.push(message);
87
+ break;
124
88
  }
125
- }
126
- const completedText = assistants
127
- .map((message) => (typeof message.content === 'string' ? message.content : ''))
128
- .join('');
129
- let hostOnlyPartial = '';
130
- if (turn.settled) {
131
- const expectedOutcome = terminal.kind === 'present' ? terminalOutcome(terminal.event) : 'cancelled';
132
- if (turn.settled.outcome !== expectedOutcome ||
133
- !turn.settled.assistantText.startsWith(completedText)) {
134
- throw unavailable('turn-settlement-mismatch', `turn ${turn.started.turnId} settlement disagrees with terminal run ${turn.started.runId}`);
89
+ case 'turn_completed':
90
+ flush();
91
+ if (record.stopReason && record.stopReason !== 'end_turn') {
92
+ lines.push('## Activity', '', `Turn stopped: ${record.stopReason}.`, '');
93
+ }
94
+ current = undefined;
95
+ break;
96
+ case 'turn_failed':
97
+ flush();
98
+ lines.push('## Activity', '', `Turn failed${record.failure ? ` [${record.failure.code}]` : ''}: ${record.error}`, '');
99
+ current = undefined;
100
+ break;
101
+ case 'turn_paused':
102
+ flush();
103
+ lines.push('## Activity', '', `Turn paused: ${record.reason}`, '');
104
+ break;
105
+ default: {
106
+ const activity = renderRecordedActivity(record, produced);
107
+ if (activity.length > 0) {
108
+ flush();
109
+ lines.push(...activity);
110
+ }
135
111
  }
136
- hostOnlyPartial = turn.settled.assistantText.slice(completedText.length);
137
112
  }
138
- else if (terminal.kind !== 'present' || terminal.event.type !== 'run_completed') {
139
- throw unavailable('run-incomplete', `turn ${turn.started.turnId} lacks host settlement evidence after ${terminal.kind === 'present' ? terminal.event.type : 'an unterminated run'}`);
140
- }
141
- lines.push(...renderProducedMessages(produced));
142
- if (hostOnlyPartial.length > 0) {
143
- lines.push('## Assistant', '', '_Partial output captured by the terminal host before the model message closed._', '', hostOnlyPartial, '');
144
- }
145
- lines.push(...renderRecordedActivity(events, produced), '');
146
113
  }
147
- return {
148
- sessionId,
149
- turns: lineage.turns.length,
150
- markdown: `${trimBlankTail(lines).join('\n')}\n`,
151
- };
114
+ flush();
115
+ if (current !== undefined && facts.activeTurn && !facts.activeTurn.paused) {
116
+ lines.push('## Activity', '', 'This turn has not settled: it is still running, or its process stopped before it finished.', '');
117
+ }
118
+ if (turns === 0 && !facts.records.some((record) => record.type === 'compaction')) {
119
+ throw unavailable('nothing-to-export', `conversation ${sessionId} has no recorded turns`);
120
+ }
121
+ return { sessionId, turns, markdown: `${trimBlankTail(lines).join('\n')}\n` };
152
122
  }
153
123
  /** Write through a same-directory temporary inode, then link without clobbering. */
154
124
  export async function writeConversationExport(markdown, destination, cwd) {
@@ -190,9 +160,9 @@ export async function writeConversationExport(markdown, destination, cwd) {
190
160
  });
191
161
  }
192
162
  }
193
- function renderUser(turn) {
194
- if (turn.started.user.source?.type === 'goal-round') {
195
- const source = turn.started.user.source;
163
+ function renderUser(user) {
164
+ if (user.source?.type === 'goal-round') {
165
+ const source = user.source;
196
166
  return [
197
167
  `## Goal round ${source.round} / ${source.maxGoalRounds}`,
198
168
  '',
@@ -200,11 +170,11 @@ function renderUser(turn) {
200
170
  '',
201
171
  'Model-visible continuation prompt:',
202
172
  '',
203
- turn.started.user.content,
173
+ user.content,
204
174
  ];
205
175
  }
206
- const lines = ['## User', '', turn.started.displayText];
207
- const attachments = turn.started.user.attachments ?? [];
176
+ const lines = ['## User', '', user.content];
177
+ const attachments = user.attachments ?? [];
208
178
  if (attachments.length > 0) {
209
179
  lines.push('', 'Attachments:', ...attachments.map((attachment) => `- ${attachmentLabel(attachment)}`));
210
180
  }
@@ -237,7 +207,7 @@ function renderProducedMessages(messages) {
237
207
  lines.push('## Project instructions', '', ...message.source.files.map((file) => `- ${visibleProjectInstructionPath(file)}`), '', message.content, '');
238
208
  }
239
209
  else if (message.source?.type === 'goal-round') {
240
- lines.push(`## Goal round ${message.source.round} / ${message.source.maxGoalRounds}`, '', `Objective: ${message.source.objective}`, '', message.content, '');
210
+ lines.push(...renderUser(message), '');
241
211
  }
242
212
  else if (message.source?.type === 'runtime-context') {
243
213
  lines.push(`## Runtime context — ${runtimeContextLabel(message.source.kind)}`, '', message.content, '');
@@ -247,22 +217,17 @@ function renderProducedMessages(messages) {
247
217
  break;
248
218
  case 'system':
249
219
  // System and working-memory messages are model context, not operator
250
- // conversation. Compaction itself is rendered from its durable event.
220
+ // conversation. Compaction itself is rendered from its record.
251
221
  break;
252
222
  }
253
223
  }
254
224
  return lines;
255
225
  }
256
- function renderRecordedActivity(events, produced) {
257
- const representedTools = new Set();
258
- for (const message of produced) {
259
- if (message.role === 'assistant') {
260
- for (const call of message.toolCalls ?? [])
261
- representedTools.add(call.id);
262
- }
263
- if (message.role === 'tool')
264
- representedTools.add(message.toolCallId);
265
- }
226
+ /** Activity a record carries that the messages around it do not already show. */
227
+ function renderRecordedActivity(record, produced) {
228
+ const represented = (toolUseId) => produced.some((message) => (message.role === 'assistant' &&
229
+ (message.toolCalls ?? []).some((call) => call.id === toolUseId)) ||
230
+ (message.role === 'tool' && message.toolCallId === toolUseId));
266
231
  const lines = [];
267
232
  const activity = (text, detail, language = '') => {
268
233
  lines.push('## Activity', '', text);
@@ -270,91 +235,50 @@ function renderRecordedActivity(events, produced) {
270
235
  lines.push('', ...fence(detail, language));
271
236
  lines.push('');
272
237
  };
273
- for (const event of events) {
274
- switch (event.type) {
275
- case 'tool_executing':
276
- if (event.via || !representedTools.has(event.toolUseId)) {
277
- activity(`Nested tool started: \`${event.toolName}\`${event.via ? ` via \`${event.via.tool}\`` : ''}`, jsonText(event.input), 'json');
278
- }
279
- break;
280
- case 'tool_completed':
281
- if (event.via || !representedTools.has(event.toolUseId)) {
282
- activity(`Nested tool ${event.isError ? 'failed' : 'completed'}: \`${event.toolName}\`${event.outputTruncated ? ' (output preview; full output was spilled)' : ''}`, event.result);
283
- }
284
- break;
285
- case 'provider_fallback':
286
- activity(`Provider fallback: ${event.fromProviderId}${event.fromModel ? `/${event.fromModel}` : ''} → ${event.toProviderId}${event.toModel ? `/${event.toModel}` : ''} (${event.reason})`);
287
- break;
288
- case 'capability_warning':
289
- activity(`Capability warning (${event.capability}): ${event.message}`);
290
- break;
291
- case 'message_history_repaired':
292
- if (event.source === 'provider-rejected-image') {
293
- activity(`Provider-rejected image delivery repaired: ${event.providerRejectedImagesSuppressed ?? 0} occurrence(s) retained in history and omitted from later model requests.`);
294
- }
295
- else {
296
- activity(`Tool history repaired (${event.source}): ${event.duplicateToolResultsRemoved} duplicate result(s) removed, ${event.orphanedToolResultsRemoved} orphaned result(s) removed, ${event.syntheticToolResultsInserted} interrupted call(s) closed with unknown outcome.`);
297
- }
298
- break;
299
- case 'compaction_completed':
300
- activity(`Context compacted: ${event.messagesBefore} → ${event.messagesAfter} messages; ${event.tokensBefore.toLocaleString()} → ${event.tokensAfter.toLocaleString()} tokens.`);
301
- break;
302
- case 'compaction_tool_results_cleared':
303
- activity(`Context relief cleared ${event.clearedCount} oversized tool result${event.clearedCount === 1 ? '' : 's'} (~${event.reclaimedTokens.toLocaleString()} tokens).`);
304
- break;
305
- case 'compaction_failed':
306
- activity(`Context compaction did not change history (${event.cause}).`);
307
- break;
308
- case 'guardrail_triggered':
309
- activity(`${event.stage === 'input' ? 'Input' : 'Output'} guardrail ${event.action}${event.guardrail ? ` (${event.guardrail})` : ''}${event.reason ? `: ${event.reason}` : '.'}`);
310
- break;
311
- case 'task_created':
312
- activity(`Task ${event.status}: ${event.subject}`);
313
- break;
314
- case 'task_updated':
315
- if (event.status === 'completed')
316
- activity(`Task completed: ${event.subject}`);
317
- break;
318
- case 'run_completed':
319
- if (event.stopReason && event.stopReason !== 'end_turn') {
320
- activity(`Run stopped: ${event.stopReason}.`);
321
- }
322
- break;
323
- case 'run_failed':
324
- activity(`Run failed${event.failure ? ` [${event.failure.code}]` : ''}: ${event.error}`);
325
- break;
326
- case 'run_paused':
327
- activity(`Run paused: ${event.reason}`);
328
- break;
329
- }
238
+ switch (record.type) {
239
+ case 'tool_executing':
240
+ if (record.via || !represented(record.toolUseId)) {
241
+ activity(`Nested tool started: \`${record.toolName}\`${record.via ? ` via \`${record.via.tool}\`` : ''}`, jsonText(record.input), 'json');
242
+ }
243
+ break;
244
+ case 'tool_completed':
245
+ if (record.via || !represented(record.toolUseId)) {
246
+ activity(`Nested tool ${record.isError ? 'failed' : 'completed'}: \`${record.toolName}\`${record.outputTruncated ? ' (output preview; full output was spilled)' : ''}`, record.result);
247
+ }
248
+ break;
249
+ case 'provider_fallback':
250
+ activity(`Provider fallback: ${record.fromProviderId}${record.fromModel ? `/${record.fromModel}` : ''} → ${record.toProviderId}${record.toModel ? `/${record.toModel}` : ''} (${record.reason})`);
251
+ break;
252
+ case 'capability_warning':
253
+ activity(`Capability warning (${record.capability}): ${record.message}`);
254
+ break;
255
+ case 'message_history_repaired':
256
+ if (record.source === 'provider-rejected-image') {
257
+ activity(`Provider-rejected image delivery repaired: ${record.providerRejectedImagesSuppressed ?? 0} occurrence(s) retained in history and omitted from later model requests.`);
258
+ }
259
+ else {
260
+ activity(`Tool history repaired (${record.source}): ${record.duplicateToolResultsRemoved} duplicate result(s) removed, ${record.orphanedToolResultsRemoved} orphaned result(s) removed, ${record.syntheticToolResultsInserted} interrupted call(s) closed with unknown outcome.`);
261
+ }
262
+ break;
263
+ case 'compaction_tool_results_cleared':
264
+ activity(`Context relief cleared ${record.clearedCount} oversized tool result${record.clearedCount === 1 ? '' : 's'} (~${record.reclaimedTokens.toLocaleString()} tokens).`);
265
+ break;
266
+ case 'compaction_failed':
267
+ activity(`Context compaction did not change history (${record.cause}).`);
268
+ break;
269
+ case 'guardrail_triggered':
270
+ activity(`${record.stage === 'input' ? 'Input' : 'Output'} guardrail ${record.action}${record.guardrail ? ` (${record.guardrail})` : ''}${record.reason ? `: ${record.reason}` : '.'}`);
271
+ break;
272
+ case 'task_created':
273
+ activity(`Task ${record.status}: ${record.subject}`);
274
+ break;
275
+ case 'task_updated':
276
+ if (record.status === 'completed')
277
+ activity(`Task completed: ${record.subject}`);
278
+ break;
330
279
  }
331
280
  return lines;
332
281
  }
333
- function terminalEvent(events) {
334
- const terminals = events.filter((event) => event.type === 'run_completed' || event.type === 'run_failed' || event.type === 'run_paused');
335
- if (terminals.length === 0)
336
- return { kind: 'absent' };
337
- const terminal = terminals[0];
338
- return terminals.length === 1 && terminal === events.at(-1)
339
- ? { kind: 'present', event: terminal }
340
- : { kind: 'invalid' };
341
- }
342
- function terminalOutcome(event) {
343
- if (event.type === 'run_failed')
344
- return 'failed';
345
- if (event.type === 'run_paused')
346
- return 'stopped';
347
- if (event.stopReason === 'cancelled')
348
- return 'cancelled';
349
- return event.stopReason === undefined || event.stopReason === 'end_turn' ? 'completed' : 'stopped';
350
- }
351
- function findExactUser(messages, expected) {
352
- for (let index = messages.length - 1; index >= 0; index -= 1) {
353
- if (messages[index]?.role === 'user' && isDeepStrictEqual(messages[index], expected))
354
- return index;
355
- }
356
- return -1;
357
- }
358
282
  function renderToolContent(message) {
359
283
  if (typeof message.content === 'string')
360
284
  return fence(message.content);
@@ -396,45 +320,6 @@ function trimBlankTail(lines) {
396
320
  lines.pop();
397
321
  return lines;
398
322
  }
399
- async function listRunIds(root) {
400
- let entries;
401
- try {
402
- entries = await readdir(root, { withFileTypes: true, encoding: 'utf-8' });
403
- }
404
- catch (error) {
405
- if (isCode(error, 'ENOENT'))
406
- return [];
407
- throw error;
408
- }
409
- const ids = [];
410
- for (const entry of entries) {
411
- if (!entry.isDirectory())
412
- continue;
413
- // The SDK writes emergency snapshots beside run directories. They are
414
- // recovery data, not an additional run needing a CLI turn binding.
415
- if (entry.name === 'emergency')
416
- continue;
417
- if (!isEntityId(entry.name, 'run')) {
418
- throw unavailable('run-record-corrupt', `session run directory has an invalid name: ${entry.name}`);
419
- }
420
- ids.push(entry.name);
421
- }
422
- return ids.sort();
423
- }
424
- async function isDirectory(path) {
425
- try {
426
- const value = await lstat(path);
427
- if (value.isSymbolicLink()) {
428
- throw unavailable('run-record-corrupt', `run path is a symbolic link: ${path}`);
429
- }
430
- return value.isDirectory();
431
- }
432
- catch (error) {
433
- if (isCode(error, 'ENOENT'))
434
- return false;
435
- throw error;
436
- }
437
- }
438
323
  function resolveExportPath(destination, cwd) {
439
324
  const expanded = destination === '~'
440
325
  ? homedir()
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-export.js","sourceRoot":"","sources":["../../../src/integrations/sessions/transcript-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript-export.js","sourceRoot":"","sources":["../../../src/integrations/sessions/transcript-export.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,9 @@
1
- /** The one user-level application home used by every Namzu CLI subsystem. */
2
- export interface ResolveNamzuHomeOptions {
3
- /** OS home override for embedding and tests. */
4
- readonly home?: string;
5
- /** Environment override for embedding and tests. */
6
- readonly env?: NodeJS.ProcessEnv;
7
- }
8
- export declare class NamzuHomeError extends Error {
9
- readonly name = "NamzuHomeError";
10
- }
11
1
  /**
12
- * Resolve the user-level Namzu application home without creating it.
13
- *
14
- * `NAMZU_HOME` is an explicit operator assertion, so it is validated more
15
- * strictly than the default: it must already be a real directory and its
16
- * canonical identity is returned. The default remains creatable on first use.
2
+ * The one user-level application home, shared with the SDK: `NAMZU_HOME`,
3
+ * default `~/.namzu`. The resolver lives in the SDK so both sides agree on
4
+ * where `projects/<slug>/` is; it is re-exported here for the CLI's callers.
17
5
  */
18
- export declare function resolveNamzuHome(options?: ResolveNamzuHomeOptions): string;
6
+ export { NamzuHomeError, type ResolveNamzuHomeOptions, resolveNamzuHome } from '@namzu/sdk';
19
7
  /**
20
8
  * Compatibility helper for APIs whose existing `home` argument means the OS
21
9
  * home, not the application directory. An explicit argument remains the test
@@ -1 +1 @@
1
- {"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../../../src/integrations/state/home.ts"],"names":[],"mappings":"AAIA,6EAA6E;AAC7E,MAAM,WAAW,uBAAuB;IACvC,gDAAgD;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,oDAAoD;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAChC;AAED,qBAAa,cAAe,SAAQ,KAAK;IACxC,SAAkB,IAAI,oBAAmB;CACzC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,CAsC9E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD"}
1
+ {"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../../../src/integrations/state/home.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,OAAO,EAAE,cAAc,EAAE,KAAK,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE3F;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD"}