@a5c-ai/agent-platform 5.0.1-staging.b436b3b3e611

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 (554) hide show
  1. package/README.md +53 -0
  2. package/dist/anycli/cache.d.ts +45 -0
  3. package/dist/anycli/cache.d.ts.map +1 -0
  4. package/dist/anycli/cache.js +118 -0
  5. package/dist/anycli/index.d.ts +10 -0
  6. package/dist/anycli/index.d.ts.map +1 -0
  7. package/dist/anycli/index.js +25 -0
  8. package/dist/anycli/types.d.ts +32 -0
  9. package/dist/anycli/types.d.ts.map +1 -0
  10. package/dist/anycli/types.js +9 -0
  11. package/dist/api/breakpoints.d.ts +93 -0
  12. package/dist/api/breakpoints.d.ts.map +1 -0
  13. package/dist/api/breakpoints.js +334 -0
  14. package/dist/api/effects.d.ts +14 -0
  15. package/dist/api/effects.d.ts.map +1 -0
  16. package/dist/api/effects.js +306 -0
  17. package/dist/api/effectsTypes.d.ts +79 -0
  18. package/dist/api/effectsTypes.d.ts.map +1 -0
  19. package/dist/api/effectsTypes.js +6 -0
  20. package/dist/api/eventStream.d.ts +34 -0
  21. package/dist/api/eventStream.d.ts.map +1 -0
  22. package/dist/api/eventStream.js +126 -0
  23. package/dist/api/index.d.ts +10 -0
  24. package/dist/api/index.d.ts.map +1 -0
  25. package/dist/api/index.js +27 -0
  26. package/dist/api/runs.d.ts +85 -0
  27. package/dist/api/runs.d.ts.map +1 -0
  28. package/dist/api/runs.js +247 -0
  29. package/dist/api/utils.d.ts +28 -0
  30. package/dist/api/utils.d.ts.map +1 -0
  31. package/dist/api/utils.js +74 -0
  32. package/dist/breakpoints/approvalChains.d.ts +68 -0
  33. package/dist/breakpoints/approvalChains.d.ts.map +1 -0
  34. package/dist/breakpoints/approvalChains.js +111 -0
  35. package/dist/breakpoints/delegation.d.ts +42 -0
  36. package/dist/breakpoints/delegation.d.ts.map +1 -0
  37. package/dist/breakpoints/delegation.js +199 -0
  38. package/dist/breakpoints/delegationTypes.d.ts +46 -0
  39. package/dist/breakpoints/delegationTypes.d.ts.map +1 -0
  40. package/dist/breakpoints/delegationTypes.js +10 -0
  41. package/dist/breakpoints/postures.d.ts +28 -0
  42. package/dist/breakpoints/postures.d.ts.map +1 -0
  43. package/dist/breakpoints/postures.js +100 -0
  44. package/dist/cli/amuxEventsFormatter.d.ts +26 -0
  45. package/dist/cli/amuxEventsFormatter.d.ts.map +1 -0
  46. package/dist/cli/amuxEventsFormatter.js +86 -0
  47. package/dist/cli/args/argFlags.d.ts +6 -0
  48. package/dist/cli/args/argFlags.d.ts.map +1 -0
  49. package/dist/cli/args/argFlags.js +72 -0
  50. package/dist/cli/args/argPositionals.d.ts +3 -0
  51. package/dist/cli/args/argPositionals.d.ts.map +1 -0
  52. package/dist/cli/args/argPositionals.js +18 -0
  53. package/dist/cli/args/index.d.ts +4 -0
  54. package/dist/cli/args/index.d.ts.map +1 -0
  55. package/dist/cli/args/index.js +75 -0
  56. package/dist/cli/args/types.d.ts +13 -0
  57. package/dist/cli/args/types.d.ts.map +1 -0
  58. package/dist/cli/args/types.js +2 -0
  59. package/dist/cli/commands/daemon.d.ts +31 -0
  60. package/dist/cli/commands/daemon.d.ts.map +1 -0
  61. package/dist/cli/commands/daemon.js +156 -0
  62. package/dist/cli/commands/harness/createRun.d.ts +3 -0
  63. package/dist/cli/commands/harness/createRun.d.ts.map +1 -0
  64. package/dist/cli/commands/harness/createRun.js +8 -0
  65. package/dist/cli/commands/harness/resumeRun.d.ts +20 -0
  66. package/dist/cli/commands/harness/resumeRun.d.ts.map +1 -0
  67. package/dist/cli/commands/harness/resumeRun.js +341 -0
  68. package/dist/cli/commands/jsonlInteractive.d.ts +35 -0
  69. package/dist/cli/commands/jsonlInteractive.d.ts.map +1 -0
  70. package/dist/cli/commands/jsonlInteractive.js +302 -0
  71. package/dist/cli/commands/mcpServe.d.ts +18 -0
  72. package/dist/cli/commands/mcpServe.d.ts.map +1 -0
  73. package/dist/cli/commands/mcpServe.js +59 -0
  74. package/dist/cli/commands/session/history.d.ts +14 -0
  75. package/dist/cli/commands/session/history.d.ts.map +1 -0
  76. package/dist/cli/commands/session/history.js +100 -0
  77. package/dist/cli/commands/tui.d.ts +23 -0
  78. package/dist/cli/commands/tui.d.ts.map +1 -0
  79. package/dist/cli/commands/tui.js +183 -0
  80. package/dist/cli/dispatch.d.ts +4 -0
  81. package/dist/cli/dispatch.d.ts.map +1 -0
  82. package/dist/cli/dispatch.js +332 -0
  83. package/dist/cli/main.d.ts +7 -0
  84. package/dist/cli/main.d.ts.map +1 -0
  85. package/dist/cli/main.js +41 -0
  86. package/dist/cli/program.d.ts +7 -0
  87. package/dist/cli/program.d.ts.map +1 -0
  88. package/dist/cli/program.js +8 -0
  89. package/dist/cli/ui.d.ts +9 -0
  90. package/dist/cli/ui.d.ts.map +1 -0
  91. package/dist/cli/ui.js +125 -0
  92. package/dist/compression/compaction.d.ts +82 -0
  93. package/dist/compression/compaction.d.ts.map +1 -0
  94. package/dist/compression/compaction.js +310 -0
  95. package/dist/cost/claudeCodeParser.d.ts +81 -0
  96. package/dist/cost/claudeCodeParser.d.ts.map +1 -0
  97. package/dist/cost/claudeCodeParser.js +232 -0
  98. package/dist/cost/collector.d.ts +42 -0
  99. package/dist/cost/collector.d.ts.map +1 -0
  100. package/dist/cost/collector.js +105 -0
  101. package/dist/cost/effectCost.d.ts +23 -0
  102. package/dist/cost/effectCost.d.ts.map +1 -0
  103. package/dist/cost/effectCost.js +26 -0
  104. package/dist/cost/index.d.ts +7 -0
  105. package/dist/cost/index.d.ts.map +1 -0
  106. package/dist/cost/index.js +28 -0
  107. package/dist/cost/journal.d.ts +40 -0
  108. package/dist/cost/journal.d.ts.map +1 -0
  109. package/dist/cost/journal.js +137 -0
  110. package/dist/cost/types.d.ts +164 -0
  111. package/dist/cost/types.d.ts.map +1 -0
  112. package/dist/cost/types.js +228 -0
  113. package/dist/daemon/automationExecutor.d.ts +16 -0
  114. package/dist/daemon/automationExecutor.d.ts.map +1 -0
  115. package/dist/daemon/automationExecutor.js +222 -0
  116. package/dist/daemon/config.d.ts +8 -0
  117. package/dist/daemon/config.d.ts.map +1 -0
  118. package/dist/daemon/config.js +209 -0
  119. package/dist/daemon/daemonLog.d.ts +13 -0
  120. package/dist/daemon/daemonLog.d.ts.map +1 -0
  121. package/dist/daemon/daemonLog.js +64 -0
  122. package/dist/daemon/fileWatcher.d.ts +9 -0
  123. package/dist/daemon/fileWatcher.d.ts.map +1 -0
  124. package/dist/daemon/fileWatcher.js +141 -0
  125. package/dist/daemon/index.d.ts +7 -0
  126. package/dist/daemon/index.d.ts.map +1 -0
  127. package/dist/daemon/index.js +21 -0
  128. package/dist/daemon/lifecycle.d.ts +12 -0
  129. package/dist/daemon/lifecycle.d.ts.map +1 -0
  130. package/dist/daemon/lifecycle.js +257 -0
  131. package/dist/daemon/loop.d.ts +21 -0
  132. package/dist/daemon/loop.d.ts.map +1 -0
  133. package/dist/daemon/loop.js +196 -0
  134. package/dist/daemon/timerScheduler.d.ts +13 -0
  135. package/dist/daemon/timerScheduler.d.ts.map +1 -0
  136. package/dist/daemon/timerScheduler.js +122 -0
  137. package/dist/daemon/types.d.ts +93 -0
  138. package/dist/daemon/types.d.ts.map +1 -0
  139. package/dist/daemon/types.js +25 -0
  140. package/dist/daemon/webhookListener.d.ts +6 -0
  141. package/dist/daemon/webhookListener.d.ts.map +1 -0
  142. package/dist/daemon/webhookListener.js +110 -0
  143. package/dist/governance/authority.d.ts +68 -0
  144. package/dist/governance/authority.d.ts.map +1 -0
  145. package/dist/governance/authority.js +136 -0
  146. package/dist/governance/bridge.d.ts +17 -0
  147. package/dist/governance/bridge.d.ts.map +1 -0
  148. package/dist/governance/bridge.js +46 -0
  149. package/dist/governance/builtins.d.ts +25 -0
  150. package/dist/governance/builtins.d.ts.map +1 -0
  151. package/dist/governance/builtins.js +67 -0
  152. package/dist/governance/categories.d.ts +58 -0
  153. package/dist/governance/categories.d.ts.map +1 -0
  154. package/dist/governance/categories.js +120 -0
  155. package/dist/governance/decisionTrail.d.ts +60 -0
  156. package/dist/governance/decisionTrail.d.ts.map +1 -0
  157. package/dist/governance/decisionTrail.js +68 -0
  158. package/dist/governance/engine.d.ts +20 -0
  159. package/dist/governance/engine.d.ts.map +1 -0
  160. package/dist/governance/engine.js +124 -0
  161. package/dist/governance/index.d.ts +20 -0
  162. package/dist/governance/index.d.ts.map +1 -0
  163. package/dist/governance/index.js +75 -0
  164. package/dist/governance/logging.d.ts +18 -0
  165. package/dist/governance/logging.d.ts.map +1 -0
  166. package/dist/governance/logging.js +83 -0
  167. package/dist/governance/mandate.d.ts +83 -0
  168. package/dist/governance/mandate.d.ts.map +1 -0
  169. package/dist/governance/mandate.js +180 -0
  170. package/dist/governance/permissionEvents.d.ts +51 -0
  171. package/dist/governance/permissionEvents.d.ts.map +1 -0
  172. package/dist/governance/permissionEvents.js +52 -0
  173. package/dist/governance/permissionPropagation.d.ts +18 -0
  174. package/dist/governance/permissionPropagation.d.ts.map +1 -0
  175. package/dist/governance/permissionPropagation.js +58 -0
  176. package/dist/governance/postureBridge.d.ts +17 -0
  177. package/dist/governance/postureBridge.d.ts.map +1 -0
  178. package/dist/governance/postureBridge.js +117 -0
  179. package/dist/governance/sandboxBridge.d.ts +49 -0
  180. package/dist/governance/sandboxBridge.d.ts.map +1 -0
  181. package/dist/governance/sandboxBridge.js +77 -0
  182. package/dist/governance/sandboxPolicy.d.ts +51 -0
  183. package/dist/governance/sandboxPolicy.d.ts.map +1 -0
  184. package/dist/governance/sandboxPolicy.js +177 -0
  185. package/dist/governance/types.d.ts +3 -0
  186. package/dist/governance/types.d.ts.map +1 -0
  187. package/dist/governance/types.js +5 -0
  188. package/dist/harness/amux/amuxBridge.d.ts +71 -0
  189. package/dist/harness/amux/amuxBridge.d.ts.map +1 -0
  190. package/dist/harness/amux/amuxBridge.js +117 -0
  191. package/dist/harness/amux/amuxClientFactory.d.ts +29 -0
  192. package/dist/harness/amux/amuxClientFactory.d.ts.map +1 -0
  193. package/dist/harness/amux/amuxClientFactory.js +90 -0
  194. package/dist/harness/amux/amuxEventEmitter.d.ts +51 -0
  195. package/dist/harness/amux/amuxEventEmitter.d.ts.map +1 -0
  196. package/dist/harness/amux/amuxEventEmitter.js +143 -0
  197. package/dist/harness/amux/amuxEventMapper.d.ts +58 -0
  198. package/dist/harness/amux/amuxEventMapper.d.ts.map +1 -0
  199. package/dist/harness/amux/amuxEventMapper.js +92 -0
  200. package/dist/harness/amux/amuxHarnessMap.d.ts +25 -0
  201. package/dist/harness/amux/amuxHarnessMap.d.ts.map +1 -0
  202. package/dist/harness/amux/amuxHarnessMap.js +55 -0
  203. package/dist/harness/amux/amuxStdinReader.d.ts +45 -0
  204. package/dist/harness/amux/amuxStdinReader.d.ts.map +1 -0
  205. package/dist/harness/amux/amuxStdinReader.js +106 -0
  206. package/dist/harness/amux/amuxTypes.d.ts +122 -0
  207. package/dist/harness/amux/amuxTypes.d.ts.map +1 -0
  208. package/dist/harness/amux/amuxTypes.js +11 -0
  209. package/dist/harness/amux/index.d.ts +17 -0
  210. package/dist/harness/amux/index.d.ts.map +1 -0
  211. package/dist/harness/amux/index.js +34 -0
  212. package/dist/harness/backgroundTracker.d.ts +64 -0
  213. package/dist/harness/backgroundTracker.d.ts.map +1 -0
  214. package/dist/harness/backgroundTracker.js +107 -0
  215. package/dist/harness/builtInHarness.d.ts +3 -0
  216. package/dist/harness/builtInHarness.d.ts.map +1 -0
  217. package/dist/harness/builtInHarness.js +18 -0
  218. package/dist/harness/capabilityRouter.d.ts +76 -0
  219. package/dist/harness/capabilityRouter.d.ts.map +1 -0
  220. package/dist/harness/capabilityRouter.js +176 -0
  221. package/dist/harness/fallbackChains.d.ts +42 -0
  222. package/dist/harness/fallbackChains.d.ts.map +1 -0
  223. package/dist/harness/fallbackChains.js +69 -0
  224. package/dist/harness/hostContract.d.ts +63 -0
  225. package/dist/harness/hostContract.d.ts.map +1 -0
  226. package/dist/harness/hostContract.js +136 -0
  227. package/dist/harness/index.d.ts +10 -0
  228. package/dist/harness/index.d.ts.map +1 -0
  229. package/dist/harness/index.js +66 -0
  230. package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
  231. package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
  232. package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
  233. package/dist/harness/internal/createRun/index.d.ts +25 -0
  234. package/dist/harness/internal/createRun/index.d.ts.map +1 -0
  235. package/dist/harness/internal/createRun/index.js +137 -0
  236. package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
  237. package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
  238. package/dist/harness/internal/createRun/orchestration/constants.js +13 -0
  239. package/dist/harness/internal/createRun/orchestration/effects.d.ts +43 -0
  240. package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
  241. package/dist/harness/internal/createRun/orchestration/effects.js +490 -0
  242. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +20 -0
  243. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
  244. package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +79 -0
  245. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
  246. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
  247. package/dist/harness/internal/createRun/orchestration/externalPhase.js +319 -0
  248. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
  249. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
  250. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +104 -0
  251. package/dist/harness/internal/createRun/orchestration/index.d.ts +14 -0
  252. package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
  253. package/dist/harness/internal/createRun/orchestration/index.js +36 -0
  254. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
  255. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
  256. package/dist/harness/internal/createRun/orchestration/internalPhase.js +464 -0
  257. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +26 -0
  258. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
  259. package/dist/harness/internal/createRun/orchestration/internalTools.js +262 -0
  260. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
  261. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
  262. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
  263. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
  264. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
  265. package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
  266. package/dist/harness/internal/createRun/orchestration/types.d.ts +46 -0
  267. package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
  268. package/dist/harness/internal/createRun/orchestration/types.js +2 -0
  269. package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
  270. package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
  271. package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
  272. package/dist/harness/internal/createRun/output.d.ts +38 -0
  273. package/dist/harness/internal/createRun/output.d.ts.map +1 -0
  274. package/dist/harness/internal/createRun/output.js +415 -0
  275. package/dist/harness/internal/createRun/pi.d.ts +34 -0
  276. package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
  277. package/dist/harness/internal/createRun/pi.js +216 -0
  278. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
  279. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
  280. package/dist/harness/internal/createRun/planProcess/agentOutput.js +113 -0
  281. package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
  282. package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
  283. package/dist/harness/internal/createRun/planProcess/delegation.js +176 -0
  284. package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
  285. package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
  286. package/dist/harness/internal/createRun/planProcess/external.js +139 -0
  287. package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
  288. package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
  289. package/dist/harness/internal/createRun/planProcess/index.js +24 -0
  290. package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
  291. package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
  292. package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
  293. package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
  294. package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
  295. package/dist/harness/internal/createRun/planProcess/phase.js +361 -0
  296. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
  297. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
  298. package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -0
  299. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
  300. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
  301. package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
  302. package/dist/harness/internal/createRun/planProcess/prompts.d.ts +20 -0
  303. package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
  304. package/dist/harness/internal/createRun/planProcess/prompts.js +208 -0
  305. package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
  306. package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
  307. package/dist/harness/internal/createRun/planProcess/recovery.js +188 -0
  308. package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts +2 -0
  309. package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts.map +1 -0
  310. package/dist/harness/internal/createRun/planProcess/recovery.test.js +68 -0
  311. package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
  312. package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
  313. package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
  314. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
  315. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
  316. package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
  317. package/dist/harness/internal/createRun/planProcess/validation.d.ts +2 -0
  318. package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
  319. package/dist/harness/internal/createRun/planProcess/validation.js +212 -0
  320. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +11 -0
  321. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
  322. package/dist/harness/internal/createRun/planProcess/validationSource.js +328 -0
  323. package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
  324. package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
  325. package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
  326. package/dist/harness/internal/createRun/prompts.d.ts +49 -0
  327. package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
  328. package/dist/harness/internal/createRun/prompts.js +307 -0
  329. package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
  330. package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
  331. package/dist/harness/internal/createRun/resumeState.js +133 -0
  332. package/dist/harness/internal/createRun/utils.d.ts +182 -0
  333. package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
  334. package/dist/harness/internal/createRun/utils.js +133 -0
  335. package/dist/harness/internal.d.ts +13 -0
  336. package/dist/harness/internal.d.ts.map +1 -0
  337. package/dist/harness/internal.js +149 -0
  338. package/dist/harness/invoker/launch.d.ts +20 -0
  339. package/dist/harness/invoker/launch.d.ts.map +1 -0
  340. package/dist/harness/invoker/launch.js +23 -0
  341. package/dist/harness/invoker/processControl.d.ts +11 -0
  342. package/dist/harness/invoker/processControl.d.ts.map +1 -0
  343. package/dist/harness/invoker/processControl.js +50 -0
  344. package/dist/harness/invoker.d.ts +43 -0
  345. package/dist/harness/invoker.d.ts.map +1 -0
  346. package/dist/harness/invoker.js +210 -0
  347. package/dist/harness/modeSelector.d.ts +50 -0
  348. package/dist/harness/modeSelector.d.ts.map +1 -0
  349. package/dist/harness/modeSelector.js +124 -0
  350. package/dist/harness/modelSelection.d.ts +37 -0
  351. package/dist/harness/modelSelection.d.ts.map +1 -0
  352. package/dist/harness/modelSelection.js +81 -0
  353. package/dist/harness/operatorCommands.d.ts +38 -0
  354. package/dist/harness/operatorCommands.d.ts.map +1 -0
  355. package/dist/harness/operatorCommands.js +118 -0
  356. package/dist/harness/piSecureSandbox.d.ts +8 -0
  357. package/dist/harness/piSecureSandbox.d.ts.map +1 -0
  358. package/dist/harness/piSecureSandbox.js +366 -0
  359. package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
  360. package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
  361. package/dist/harness/piSecureSandboxTypes.js +6 -0
  362. package/dist/harness/piWrapper/compaction.d.ts +13 -0
  363. package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
  364. package/dist/harness/piWrapper/compaction.js +38 -0
  365. package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
  366. package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
  367. package/dist/harness/piWrapper/instructionPrompts.js +97 -0
  368. package/dist/harness/piWrapper/moduleSupport.d.ts +77 -0
  369. package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
  370. package/dist/harness/piWrapper/moduleSupport.js +204 -0
  371. package/dist/harness/piWrapper.d.ts +80 -0
  372. package/dist/harness/piWrapper.d.ts.map +1 -0
  373. package/dist/harness/piWrapper.js +389 -0
  374. package/dist/harness/piWrapper.test.d.ts +2 -0
  375. package/dist/harness/piWrapper.test.d.ts.map +1 -0
  376. package/dist/harness/piWrapper.test.js +193 -0
  377. package/dist/harness/planMode.d.ts +68 -0
  378. package/dist/harness/planMode.d.ts.map +1 -0
  379. package/dist/harness/planMode.js +145 -0
  380. package/dist/harness/selectionPolicies.d.ts +29 -0
  381. package/dist/harness/selectionPolicies.d.ts.map +1 -0
  382. package/dist/harness/selectionPolicies.js +165 -0
  383. package/dist/harness/types.d.ts +266 -0
  384. package/dist/harness/types.d.ts.map +1 -0
  385. package/dist/harness/types.js +34 -0
  386. package/dist/index.d.ts +14 -0
  387. package/dist/index.d.ts.map +1 -0
  388. package/dist/index.js +52 -0
  389. package/dist/interaction/askUserQuestion/core.d.ts +8 -0
  390. package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
  391. package/dist/interaction/askUserQuestion/core.js +112 -0
  392. package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
  393. package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
  394. package/dist/interaction/askUserQuestion/terminal.js +128 -0
  395. package/dist/interaction/askUserQuestion.d.ts +10 -0
  396. package/dist/interaction/askUserQuestion.d.ts.map +1 -0
  397. package/dist/interaction/askUserQuestion.js +295 -0
  398. package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
  399. package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
  400. package/dist/interaction/askUserQuestionTypes.js +6 -0
  401. package/dist/interaction/index.d.ts +4 -0
  402. package/dist/interaction/index.d.ts.map +1 -0
  403. package/dist/interaction/index.js +20 -0
  404. package/dist/interaction/interactionRouter.d.ts +25 -0
  405. package/dist/interaction/interactionRouter.d.ts.map +1 -0
  406. package/dist/interaction/interactionRouter.js +55 -0
  407. package/dist/mcp/channels/allowlist.d.ts +19 -0
  408. package/dist/mcp/channels/allowlist.d.ts.map +1 -0
  409. package/dist/mcp/channels/allowlist.js +140 -0
  410. package/dist/mcp/channels/channelManager.d.ts +64 -0
  411. package/dist/mcp/channels/channelManager.d.ts.map +1 -0
  412. package/dist/mcp/channels/channelManager.js +137 -0
  413. package/dist/mcp/channels/inboundQueue.d.ts +47 -0
  414. package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
  415. package/dist/mcp/channels/inboundQueue.js +96 -0
  416. package/dist/mcp/channels/index.d.ts +17 -0
  417. package/dist/mcp/channels/index.d.ts.map +1 -0
  418. package/dist/mcp/channels/index.js +39 -0
  419. package/dist/mcp/channels/outbound.d.ts +33 -0
  420. package/dist/mcp/channels/outbound.d.ts.map +1 -0
  421. package/dist/mcp/channels/outbound.js +94 -0
  422. package/dist/mcp/channels/permissionRelay.d.ts +62 -0
  423. package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
  424. package/dist/mcp/channels/permissionRelay.js +159 -0
  425. package/dist/mcp/channels/types.d.ts +135 -0
  426. package/dist/mcp/channels/types.d.ts.map +1 -0
  427. package/dist/mcp/channels/types.js +16 -0
  428. package/dist/mcp/client/config.d.ts +28 -0
  429. package/dist/mcp/client/config.d.ts.map +1 -0
  430. package/dist/mcp/client/config.js +142 -0
  431. package/dist/mcp/client/executor.d.ts +30 -0
  432. package/dist/mcp/client/executor.d.ts.map +1 -0
  433. package/dist/mcp/client/executor.js +60 -0
  434. package/dist/mcp/client/index.d.ts +12 -0
  435. package/dist/mcp/client/index.d.ts.map +1 -0
  436. package/dist/mcp/client/index.js +27 -0
  437. package/dist/mcp/client/manager.d.ts +74 -0
  438. package/dist/mcp/client/manager.d.ts.map +1 -0
  439. package/dist/mcp/client/manager.js +214 -0
  440. package/dist/mcp/client/toolRegistry.d.ts +50 -0
  441. package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
  442. package/dist/mcp/client/toolRegistry.js +118 -0
  443. package/dist/mcp/client/types.d.ts +96 -0
  444. package/dist/mcp/client/types.d.ts.map +1 -0
  445. package/dist/mcp/client/types.js +15 -0
  446. package/dist/mcp/transport/index.d.ts +9 -0
  447. package/dist/mcp/transport/index.d.ts.map +1 -0
  448. package/dist/mcp/transport/index.js +13 -0
  449. package/dist/mcp/transport/session.d.ts +18 -0
  450. package/dist/mcp/transport/session.d.ts.map +1 -0
  451. package/dist/mcp/transport/session.js +78 -0
  452. package/dist/mcp/transport/types.d.ts +19 -0
  453. package/dist/mcp/transport/types.d.ts.map +1 -0
  454. package/dist/mcp/transport/types.js +7 -0
  455. package/dist/mcp/transport/websocket.d.ts +41 -0
  456. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  457. package/dist/mcp/transport/websocket.js +271 -0
  458. package/dist/observability/health.d.ts +19 -0
  459. package/dist/observability/health.d.ts.map +1 -0
  460. package/dist/observability/health.js +129 -0
  461. package/dist/observability/index.d.ts +7 -0
  462. package/dist/observability/index.d.ts.map +1 -0
  463. package/dist/observability/index.js +22 -0
  464. package/dist/observability/runStatus.d.ts +44 -0
  465. package/dist/observability/runStatus.d.ts.map +1 -0
  466. package/dist/observability/runStatus.js +169 -0
  467. package/dist/observability/timeline.d.ts +11 -0
  468. package/dist/observability/timeline.d.ts.map +1 -0
  469. package/dist/observability/timeline.js +176 -0
  470. package/dist/observability/types.d.ts +62 -0
  471. package/dist/observability/types.d.ts.map +1 -0
  472. package/dist/observability/types.js +8 -0
  473. package/dist/observability/webhooks.d.ts +68 -0
  474. package/dist/observability/webhooks.d.ts.map +1 -0
  475. package/dist/observability/webhooks.js +132 -0
  476. package/dist/prompts/commandTemplates.d.ts +3 -0
  477. package/dist/prompts/commandTemplates.d.ts.map +1 -0
  478. package/dist/prompts/commandTemplates.js +238 -0
  479. package/dist/runtime/index.d.ts +3 -0
  480. package/dist/runtime/index.d.ts.map +1 -0
  481. package/dist/runtime/index.js +28 -0
  482. package/dist/seams/contract.d.ts +55 -0
  483. package/dist/seams/contract.d.ts.map +1 -0
  484. package/dist/seams/contract.js +120 -0
  485. package/dist/seams/contract.test.d.ts +2 -0
  486. package/dist/seams/contract.test.d.ts.map +1 -0
  487. package/dist/seams/contract.test.js +96 -0
  488. package/dist/seams/index.d.ts +3 -0
  489. package/dist/seams/index.d.ts.map +1 -0
  490. package/dist/seams/index.js +8 -0
  491. package/dist/session/context.d.ts +22 -0
  492. package/dist/session/context.d.ts.map +1 -0
  493. package/dist/session/context.js +113 -0
  494. package/dist/session/continuityState.d.ts +39 -0
  495. package/dist/session/continuityState.d.ts.map +1 -0
  496. package/dist/session/continuityState.js +164 -0
  497. package/dist/session/cost.d.ts +63 -0
  498. package/dist/session/cost.d.ts.map +1 -0
  499. package/dist/session/cost.js +194 -0
  500. package/dist/session/discovery.d.ts +22 -0
  501. package/dist/session/discovery.d.ts.map +1 -0
  502. package/dist/session/discovery.js +35 -0
  503. package/dist/session/history.d.ts +30 -0
  504. package/dist/session/history.d.ts.map +1 -0
  505. package/dist/session/history.js +143 -0
  506. package/dist/session/index.d.ts +7 -0
  507. package/dist/session/index.d.ts.map +1 -0
  508. package/dist/session/index.js +70 -0
  509. package/dist/session/memoryExtraction.d.ts +65 -0
  510. package/dist/session/memoryExtraction.d.ts.map +1 -0
  511. package/dist/session/memoryExtraction.js +201 -0
  512. package/dist/session/parse.d.ts +45 -0
  513. package/dist/session/parse.d.ts.map +1 -0
  514. package/dist/session/parse.js +170 -0
  515. package/dist/session/persistence.d.ts +46 -0
  516. package/dist/session/persistence.d.ts.map +1 -0
  517. package/dist/session/persistence.js +180 -0
  518. package/dist/session/types.d.ts +267 -0
  519. package/dist/session/types.d.ts.map +1 -0
  520. package/dist/session/types.js +45 -0
  521. package/dist/session/write.d.ts +61 -0
  522. package/dist/session/write.d.ts.map +1 -0
  523. package/dist/session/write.js +213 -0
  524. package/dist/storage/atomic.d.ts +2 -0
  525. package/dist/storage/atomic.d.ts.map +1 -0
  526. package/dist/storage/atomic.js +54 -0
  527. package/dist/storage/clock.d.ts +2 -0
  528. package/dist/storage/clock.d.ts.map +1 -0
  529. package/dist/storage/clock.js +6 -0
  530. package/dist/storage/index.d.ts +7 -0
  531. package/dist/storage/index.d.ts.map +1 -0
  532. package/dist/storage/index.js +9 -0
  533. package/dist/storage/journalWatcher.d.ts +24 -0
  534. package/dist/storage/journalWatcher.d.ts.map +1 -0
  535. package/dist/storage/journalWatcher.js +172 -0
  536. package/dist/storage/paths.d.ts +5 -0
  537. package/dist/storage/paths.d.ts.map +1 -0
  538. package/dist/storage/paths.js +26 -0
  539. package/dist/storage/snapshotState.d.ts +10 -0
  540. package/dist/storage/snapshotState.d.ts.map +1 -0
  541. package/dist/storage/snapshotState.js +15 -0
  542. package/dist/storage/storeTaskArtifacts.d.ts +6 -0
  543. package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
  544. package/dist/storage/storeTaskArtifacts.js +55 -0
  545. package/dist/storage/types.d.ts +21 -0
  546. package/dist/storage/types.d.ts.map +1 -0
  547. package/dist/storage/types.js +2 -0
  548. package/dist/tasks/crud.d.ts +33 -0
  549. package/dist/tasks/crud.d.ts.map +1 -0
  550. package/dist/tasks/crud.js +150 -0
  551. package/dist/tasks/index.d.ts +2 -0
  552. package/dist/tasks/index.d.ts.map +1 -0
  553. package/dist/tasks/index.js +9 -0
  554. package/package.json +141 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/session/history.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACf,MAAM,SAAS,CAAC;AAOjB,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjF;AAuDD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAazB"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ /**
3
+ * Session history persistence for GAP-SESSION-002.
4
+ *
5
+ * Stores accumulated decisions, run summaries, and context snapshots
6
+ * in a dedicated <sessionId>.history.json file alongside the session state.
7
+ * Uses the same atomic temp-file + rename pattern as context.ts.
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.getSessionHistoryPath = getSessionHistoryPath;
44
+ exports.addDecision = addDecision;
45
+ exports.addRunSummary = addRunSummary;
46
+ exports.saveContextSnapshot = saveContextSnapshot;
47
+ exports.getSessionHistory = getSessionHistory;
48
+ const node_fs_1 = require("node:fs");
49
+ const path = __importStar(require("node:path"));
50
+ const context_1 = require("./context");
51
+ // ---------------------------------------------------------------------------
52
+ // Path helper
53
+ // ---------------------------------------------------------------------------
54
+ /** Get the file path for a session's history JSON file. */
55
+ function getSessionHistoryPath(stateDir, sessionId) {
56
+ return path.join(stateDir, `${sessionId}.history.json`);
57
+ }
58
+ function emptyHistoryData() {
59
+ return { decisions: [], runSummaries: [], contextSnapshots: [] };
60
+ }
61
+ async function readRawHistory(filePath) {
62
+ let raw;
63
+ try {
64
+ raw = await node_fs_1.promises.readFile(filePath, "utf8");
65
+ }
66
+ catch (error) {
67
+ const err = error;
68
+ if (err.code === "ENOENT") {
69
+ return emptyHistoryData();
70
+ }
71
+ return emptyHistoryData();
72
+ }
73
+ try {
74
+ const data = JSON.parse(raw);
75
+ return {
76
+ decisions: Array.isArray(data.decisions) ? data.decisions : [],
77
+ runSummaries: Array.isArray(data.runSummaries) ? data.runSummaries : [],
78
+ contextSnapshots: Array.isArray(data.contextSnapshots) ? data.contextSnapshots : [],
79
+ };
80
+ }
81
+ catch {
82
+ return emptyHistoryData();
83
+ }
84
+ }
85
+ async function writeRawHistory(filePath, data) {
86
+ const dir = path.dirname(filePath);
87
+ const tempPath = `${filePath}.tmp.${process.pid}`;
88
+ await node_fs_1.promises.mkdir(dir, { recursive: true });
89
+ await node_fs_1.promises.writeFile(tempPath, JSON.stringify(data, null, 2), "utf8");
90
+ await node_fs_1.promises.rename(tempPath, filePath);
91
+ }
92
+ function nowTimestamp() {
93
+ return new Date().toISOString();
94
+ }
95
+ // ---------------------------------------------------------------------------
96
+ // Public API
97
+ // ---------------------------------------------------------------------------
98
+ /**
99
+ * Append a decision to the session's history.
100
+ * Automatically adds a timestamp.
101
+ */
102
+ async function addDecision(stateDir, sessionId, decision) {
103
+ const filePath = getSessionHistoryPath(stateDir, sessionId);
104
+ const data = await readRawHistory(filePath);
105
+ data.decisions.push({ ...decision, timestamp: nowTimestamp() });
106
+ await writeRawHistory(filePath, data);
107
+ }
108
+ /**
109
+ * Append a run summary to the session's history.
110
+ */
111
+ async function addRunSummary(stateDir, sessionId, summary) {
112
+ const filePath = getSessionHistoryPath(stateDir, sessionId);
113
+ const data = await readRawHistory(filePath);
114
+ data.runSummaries.push(summary);
115
+ await writeRawHistory(filePath, data);
116
+ }
117
+ /**
118
+ * Save a context snapshot to the session's history.
119
+ * Automatically adds a timestamp.
120
+ */
121
+ async function saveContextSnapshot(stateDir, sessionId, snapshot) {
122
+ const filePath = getSessionHistoryPath(stateDir, sessionId);
123
+ const data = await readRawHistory(filePath);
124
+ data.contextSnapshots.push({ ...snapshot, timestamp: nowTimestamp() });
125
+ await writeRawHistory(filePath, data);
126
+ }
127
+ /**
128
+ * Get the full session history: SessionContext fields + history arrays.
129
+ * Returns empty defaults when files do not exist.
130
+ */
131
+ async function getSessionHistory(stateDir, sessionId) {
132
+ const [context, rawHistory] = await Promise.all([
133
+ (0, context_1.getSessionContext)(stateDir, sessionId),
134
+ readRawHistory(getSessionHistoryPath(stateDir, sessionId)),
135
+ ]);
136
+ return {
137
+ notes: context.notes,
138
+ sharedKnowledge: context.sharedKnowledge,
139
+ decisions: rawHistory.decisions,
140
+ runSummaries: rawHistory.runSummaries,
141
+ contextSnapshots: rawHistory.contextSnapshots,
142
+ };
143
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Re-export shim — canonical implementation lives in @a5c-ai/agent-runtime.
3
+ * Internal agent-platform consumers continue to import via relative paths
4
+ * through this barrel file.
5
+ */
6
+ export { type SessionState, type SessionFile, type SessionContext, type SessionDecision, type SessionRunSummary, type SessionContextSnapshot, type SessionHistory, type SessionInitOptions, type SessionAssociateOptions, type SessionResumeOptions, type SessionStateOptions, type SessionUpdateOptions, type SessionInitResult, type SessionAssociateResult, type SessionResumeResult, type SessionStateResult, type SessionUpdateResult, SessionError, SessionErrorCode, DEFAULT_SESSION_STATE, parseYamlFrontmatter, parseSessionState, readSessionFile, sessionFileExists, validateSessionState, getSessionFilePath, serializeSessionState, createSessionFileContent, writeSessionFile, updateSessionState, getCurrentTimestamp, isoToEpochSeconds, updateIterationTimes, addRunToSession, getSessionRuns, getSessionContextPath, getSessionContext, updateSessionContext, HARNESS_ENV_VARS, resolveAmbientSessionId, getSessionHistoryPath, addDecision, addRunSummary, saveContextSnapshot, getSessionHistory, type SessionFinding, type SessionFileModification, type SessionBreakpointPattern, type SessionPersistentState, SESSION_PERSISTENT_SCHEMA_VERSION, getSessionPersistentStatePath, getSessionPersistentState, addFinding, setPreference, recordFileModification, recordBreakpointInteraction, buildResumeContext, type ContinuityPhase, type ContinuityDecision, type ContinuityWorkingContext, type ContinuityState, CONTINUITY_STATE_SCHEMA_VERSION, getContinuityStatePath, getContinuityState, setCurrentPhase, upsertDecision, updateWorkingContext, buildContinuityResumePrompt, type MemoryCategory, type MemoryConfidence, type MemoryEntry, type LongTermMemoryStore, type MemoryExtractionInput, LONG_TERM_MEMORY_SCHEMA_VERSION, extractMemoriesFromSession, readLongTermMemory, persistMemories, queryMemories, pruneMemories, type SessionBudget, type SessionCostState, type SessionBudgetAlert, type BudgetCheckResult, type RunCostUpdate, getSessionCostPath, getSessionCost, updateSessionCost, setSessionBudget, checkBudget, markThresholdsTriggered, } from "@a5c-ai/agent-runtime/session";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,YAAY,EACZ,gBAAgB,EAGhB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAGlB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,cAAc,EAGd,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EAGpB,gBAAgB,EAChB,uBAAuB,EAGvB,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EAGjB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,iCAAiC,EACjC,6BAA6B,EAC7B,yBAAyB,EACzB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAGlB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,+BAA+B,EAC/B,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAG3B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,aAAa,EAGb,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,GACxB,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSessionCostPath = exports.pruneMemories = exports.queryMemories = exports.persistMemories = exports.readLongTermMemory = exports.extractMemoriesFromSession = exports.LONG_TERM_MEMORY_SCHEMA_VERSION = exports.buildContinuityResumePrompt = exports.updateWorkingContext = exports.upsertDecision = exports.setCurrentPhase = exports.getContinuityState = exports.getContinuityStatePath = exports.CONTINUITY_STATE_SCHEMA_VERSION = exports.buildResumeContext = exports.recordBreakpointInteraction = exports.recordFileModification = exports.setPreference = exports.addFinding = exports.getSessionPersistentState = exports.getSessionPersistentStatePath = exports.SESSION_PERSISTENT_SCHEMA_VERSION = exports.getSessionHistory = exports.saveContextSnapshot = exports.addRunSummary = exports.addDecision = exports.getSessionHistoryPath = exports.resolveAmbientSessionId = exports.HARNESS_ENV_VARS = exports.updateSessionContext = exports.getSessionContext = exports.getSessionContextPath = exports.getSessionRuns = exports.addRunToSession = exports.updateIterationTimes = exports.isoToEpochSeconds = exports.getCurrentTimestamp = exports.updateSessionState = exports.writeSessionFile = exports.createSessionFileContent = exports.serializeSessionState = exports.getSessionFilePath = exports.validateSessionState = exports.sessionFileExists = exports.readSessionFile = exports.parseSessionState = exports.parseYamlFrontmatter = exports.DEFAULT_SESSION_STATE = exports.SessionErrorCode = exports.SessionError = void 0;
4
+ exports.markThresholdsTriggered = exports.checkBudget = exports.setSessionBudget = exports.updateSessionCost = exports.getSessionCost = void 0;
5
+ /**
6
+ * Re-export shim — canonical implementation lives in @a5c-ai/agent-runtime.
7
+ * Internal agent-platform consumers continue to import via relative paths
8
+ * through this barrel file.
9
+ */
10
+ var session_1 = require("@a5c-ai/agent-runtime/session");
11
+ Object.defineProperty(exports, "SessionError", { enumerable: true, get: function () { return session_1.SessionError; } });
12
+ Object.defineProperty(exports, "SessionErrorCode", { enumerable: true, get: function () { return session_1.SessionErrorCode; } });
13
+ // Parsing utilities
14
+ Object.defineProperty(exports, "DEFAULT_SESSION_STATE", { enumerable: true, get: function () { return session_1.DEFAULT_SESSION_STATE; } });
15
+ Object.defineProperty(exports, "parseYamlFrontmatter", { enumerable: true, get: function () { return session_1.parseYamlFrontmatter; } });
16
+ Object.defineProperty(exports, "parseSessionState", { enumerable: true, get: function () { return session_1.parseSessionState; } });
17
+ Object.defineProperty(exports, "readSessionFile", { enumerable: true, get: function () { return session_1.readSessionFile; } });
18
+ Object.defineProperty(exports, "sessionFileExists", { enumerable: true, get: function () { return session_1.sessionFileExists; } });
19
+ Object.defineProperty(exports, "validateSessionState", { enumerable: true, get: function () { return session_1.validateSessionState; } });
20
+ Object.defineProperty(exports, "getSessionFilePath", { enumerable: true, get: function () { return session_1.getSessionFilePath; } });
21
+ // Writing utilities
22
+ Object.defineProperty(exports, "serializeSessionState", { enumerable: true, get: function () { return session_1.serializeSessionState; } });
23
+ Object.defineProperty(exports, "createSessionFileContent", { enumerable: true, get: function () { return session_1.createSessionFileContent; } });
24
+ Object.defineProperty(exports, "writeSessionFile", { enumerable: true, get: function () { return session_1.writeSessionFile; } });
25
+ Object.defineProperty(exports, "updateSessionState", { enumerable: true, get: function () { return session_1.updateSessionState; } });
26
+ Object.defineProperty(exports, "getCurrentTimestamp", { enumerable: true, get: function () { return session_1.getCurrentTimestamp; } });
27
+ Object.defineProperty(exports, "isoToEpochSeconds", { enumerable: true, get: function () { return session_1.isoToEpochSeconds; } });
28
+ Object.defineProperty(exports, "updateIterationTimes", { enumerable: true, get: function () { return session_1.updateIterationTimes; } });
29
+ Object.defineProperty(exports, "addRunToSession", { enumerable: true, get: function () { return session_1.addRunToSession; } });
30
+ Object.defineProperty(exports, "getSessionRuns", { enumerable: true, get: function () { return session_1.getSessionRuns; } });
31
+ // Context persistence (GAP-SESSION-001)
32
+ Object.defineProperty(exports, "getSessionContextPath", { enumerable: true, get: function () { return session_1.getSessionContextPath; } });
33
+ Object.defineProperty(exports, "getSessionContext", { enumerable: true, get: function () { return session_1.getSessionContext; } });
34
+ Object.defineProperty(exports, "updateSessionContext", { enumerable: true, get: function () { return session_1.updateSessionContext; } });
35
+ // Discovery (autodiscovery from markers + env)
36
+ Object.defineProperty(exports, "HARNESS_ENV_VARS", { enumerable: true, get: function () { return session_1.HARNESS_ENV_VARS; } });
37
+ Object.defineProperty(exports, "resolveAmbientSessionId", { enumerable: true, get: function () { return session_1.resolveAmbientSessionId; } });
38
+ // History persistence (GAP-SESSION-002)
39
+ Object.defineProperty(exports, "getSessionHistoryPath", { enumerable: true, get: function () { return session_1.getSessionHistoryPath; } });
40
+ Object.defineProperty(exports, "addDecision", { enumerable: true, get: function () { return session_1.addDecision; } });
41
+ Object.defineProperty(exports, "addRunSummary", { enumerable: true, get: function () { return session_1.addRunSummary; } });
42
+ Object.defineProperty(exports, "saveContextSnapshot", { enumerable: true, get: function () { return session_1.saveContextSnapshot; } });
43
+ Object.defineProperty(exports, "getSessionHistory", { enumerable: true, get: function () { return session_1.getSessionHistory; } });
44
+ Object.defineProperty(exports, "SESSION_PERSISTENT_SCHEMA_VERSION", { enumerable: true, get: function () { return session_1.SESSION_PERSISTENT_SCHEMA_VERSION; } });
45
+ Object.defineProperty(exports, "getSessionPersistentStatePath", { enumerable: true, get: function () { return session_1.getSessionPersistentStatePath; } });
46
+ Object.defineProperty(exports, "getSessionPersistentState", { enumerable: true, get: function () { return session_1.getSessionPersistentState; } });
47
+ Object.defineProperty(exports, "addFinding", { enumerable: true, get: function () { return session_1.addFinding; } });
48
+ Object.defineProperty(exports, "setPreference", { enumerable: true, get: function () { return session_1.setPreference; } });
49
+ Object.defineProperty(exports, "recordFileModification", { enumerable: true, get: function () { return session_1.recordFileModification; } });
50
+ Object.defineProperty(exports, "recordBreakpointInteraction", { enumerable: true, get: function () { return session_1.recordBreakpointInteraction; } });
51
+ Object.defineProperty(exports, "buildResumeContext", { enumerable: true, get: function () { return session_1.buildResumeContext; } });
52
+ Object.defineProperty(exports, "CONTINUITY_STATE_SCHEMA_VERSION", { enumerable: true, get: function () { return session_1.CONTINUITY_STATE_SCHEMA_VERSION; } });
53
+ Object.defineProperty(exports, "getContinuityStatePath", { enumerable: true, get: function () { return session_1.getContinuityStatePath; } });
54
+ Object.defineProperty(exports, "getContinuityState", { enumerable: true, get: function () { return session_1.getContinuityState; } });
55
+ Object.defineProperty(exports, "setCurrentPhase", { enumerable: true, get: function () { return session_1.setCurrentPhase; } });
56
+ Object.defineProperty(exports, "upsertDecision", { enumerable: true, get: function () { return session_1.upsertDecision; } });
57
+ Object.defineProperty(exports, "updateWorkingContext", { enumerable: true, get: function () { return session_1.updateWorkingContext; } });
58
+ Object.defineProperty(exports, "buildContinuityResumePrompt", { enumerable: true, get: function () { return session_1.buildContinuityResumePrompt; } });
59
+ Object.defineProperty(exports, "LONG_TERM_MEMORY_SCHEMA_VERSION", { enumerable: true, get: function () { return session_1.LONG_TERM_MEMORY_SCHEMA_VERSION; } });
60
+ Object.defineProperty(exports, "extractMemoriesFromSession", { enumerable: true, get: function () { return session_1.extractMemoriesFromSession; } });
61
+ Object.defineProperty(exports, "readLongTermMemory", { enumerable: true, get: function () { return session_1.readLongTermMemory; } });
62
+ Object.defineProperty(exports, "persistMemories", { enumerable: true, get: function () { return session_1.persistMemories; } });
63
+ Object.defineProperty(exports, "queryMemories", { enumerable: true, get: function () { return session_1.queryMemories; } });
64
+ Object.defineProperty(exports, "pruneMemories", { enumerable: true, get: function () { return session_1.pruneMemories; } });
65
+ Object.defineProperty(exports, "getSessionCostPath", { enumerable: true, get: function () { return session_1.getSessionCostPath; } });
66
+ Object.defineProperty(exports, "getSessionCost", { enumerable: true, get: function () { return session_1.getSessionCost; } });
67
+ Object.defineProperty(exports, "updateSessionCost", { enumerable: true, get: function () { return session_1.updateSessionCost; } });
68
+ Object.defineProperty(exports, "setSessionBudget", { enumerable: true, get: function () { return session_1.setSessionBudget; } });
69
+ Object.defineProperty(exports, "checkBudget", { enumerable: true, get: function () { return session_1.checkBudget; } });
70
+ Object.defineProperty(exports, "markThresholdsTriggered", { enumerable: true, get: function () { return session_1.markThresholdsTriggered; } });
@@ -0,0 +1,65 @@
1
+ /**
2
+ * GAP-STATE-001: Long-Term Memory Extraction.
3
+ *
4
+ * Extract and persist important facts, decisions, and patterns from
5
+ * session history into a long-term memory store for cross-session recall.
6
+ */
7
+ export type MemoryCategory = "fact" | "decision" | "pattern" | "preference" | "architecture" | "other";
8
+ export type MemoryConfidence = "high" | "medium" | "low";
9
+ export interface MemoryEntry {
10
+ id: string;
11
+ content: string;
12
+ category: MemoryCategory;
13
+ confidence: MemoryConfidence;
14
+ sourceRunId?: string;
15
+ sourceSessionId?: string;
16
+ tags: string[];
17
+ extractedAt: string;
18
+ lastAccessedAt?: string;
19
+ }
20
+ export interface LongTermMemoryStore {
21
+ schemaVersion: string;
22
+ entries: MemoryEntry[];
23
+ updatedAt: string;
24
+ }
25
+ export interface MemoryExtractionInput {
26
+ decisions: Array<{
27
+ summary: string;
28
+ rationale?: string;
29
+ timestamp: string;
30
+ runId?: string;
31
+ }>;
32
+ findings: Array<{
33
+ content: string;
34
+ category: string;
35
+ timestamp: string;
36
+ runId?: string;
37
+ }>;
38
+ }
39
+ export declare const LONG_TERM_MEMORY_SCHEMA_VERSION = "2026.01.long-term-memory-v1";
40
+ /**
41
+ * Extract memory entries from session data. Pure function, no I/O.
42
+ * Deduplicates by content string.
43
+ */
44
+ export declare function extractMemoriesFromSession(input: MemoryExtractionInput): MemoryEntry[];
45
+ /**
46
+ * Read the long-term memory store. Returns empty store on ENOENT or corrupt JSON.
47
+ */
48
+ export declare function readLongTermMemory(globalStateDir: string): Promise<LongTermMemoryStore>;
49
+ /**
50
+ * Merge new entries into existing store. Deduplicates by id. Trims to maxEntries.
51
+ */
52
+ export declare function persistMemories(globalStateDir: string, newEntries: MemoryEntry[], maxEntries?: number): Promise<void>;
53
+ /**
54
+ * Query memories with optional filters.
55
+ */
56
+ export declare function queryMemories(globalStateDir: string, options?: {
57
+ category?: string;
58
+ tags?: string[];
59
+ limit?: number;
60
+ }): Promise<MemoryEntry[]>;
61
+ /**
62
+ * Prune memories beyond keepCount. Returns number pruned.
63
+ */
64
+ export declare function pruneMemories(globalStateDir: string, keepCount?: number): Promise<number>;
65
+ //# sourceMappingURL=memoryExtraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoryExtraction.d.ts","sourceRoot":"","sources":["../../src/session/memoryExtraction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,OAAO,CAAC;AACvG,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7F,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3F;AAMD,eAAO,MAAM,+BAA+B,gCAAgC,CAAC;AA4B7E;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,qBAAqB,GAAG,WAAW,EAAE,CAoCtF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkB7F;AAWD;;GAEG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,WAAW,EAAE,EACzB,UAAU,GAAE,MAA4B,GACvC,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,OAAO,CAAC,WAAW,EAAE,CAAC,CAuBxB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,cAAc,EAAE,MAAM,EACtB,SAAS,GAAE,MAA4B,GACtC,OAAO,CAAC,MAAM,CAAC,CAYjB"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-STATE-001: Long-Term Memory Extraction.
4
+ *
5
+ * Extract and persist important facts, decisions, and patterns from
6
+ * session history into a long-term memory store for cross-session recall.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.LONG_TERM_MEMORY_SCHEMA_VERSION = void 0;
43
+ exports.extractMemoriesFromSession = extractMemoriesFromSession;
44
+ exports.readLongTermMemory = readLongTermMemory;
45
+ exports.persistMemories = persistMemories;
46
+ exports.queryMemories = queryMemories;
47
+ exports.pruneMemories = pruneMemories;
48
+ const fs = __importStar(require("node:fs/promises"));
49
+ const path = __importStar(require("node:path"));
50
+ // ---------------------------------------------------------------------------
51
+ // Constants
52
+ // ---------------------------------------------------------------------------
53
+ exports.LONG_TERM_MEMORY_SCHEMA_VERSION = "2026.01.long-term-memory-v1";
54
+ const DEFAULT_MAX_ENTRIES = 500;
55
+ const MEMORY_FILENAME = "long-term-memory.json";
56
+ // ---------------------------------------------------------------------------
57
+ // Internal helpers
58
+ // ---------------------------------------------------------------------------
59
+ function emptyStore() {
60
+ return {
61
+ schemaVersion: exports.LONG_TERM_MEMORY_SCHEMA_VERSION,
62
+ entries: [],
63
+ updatedAt: new Date().toISOString(),
64
+ };
65
+ }
66
+ function generateMemoryId() {
67
+ return `mem-${crypto.randomUUID()}`;
68
+ }
69
+ function getStorePath(globalStateDir) {
70
+ return path.join(globalStateDir, MEMORY_FILENAME);
71
+ }
72
+ // ---------------------------------------------------------------------------
73
+ // Public API
74
+ // ---------------------------------------------------------------------------
75
+ /**
76
+ * Extract memory entries from session data. Pure function, no I/O.
77
+ * Deduplicates by content string.
78
+ */
79
+ function extractMemoriesFromSession(input) {
80
+ const seen = new Set();
81
+ const entries = [];
82
+ const now = new Date().toISOString();
83
+ for (const decision of input.decisions) {
84
+ if (seen.has(decision.summary))
85
+ continue;
86
+ seen.add(decision.summary);
87
+ entries.push({
88
+ id: generateMemoryId(),
89
+ content: decision.summary,
90
+ category: "decision",
91
+ confidence: "high",
92
+ sourceRunId: decision.runId,
93
+ tags: [],
94
+ extractedAt: now,
95
+ });
96
+ }
97
+ for (const finding of input.findings) {
98
+ if (seen.has(finding.content))
99
+ continue;
100
+ seen.add(finding.content);
101
+ const category = ["fact", "decision", "pattern", "preference", "architecture", "other"]
102
+ .find((c) => c === finding.category) ?? "other";
103
+ entries.push({
104
+ id: generateMemoryId(),
105
+ content: finding.content,
106
+ category,
107
+ confidence: "medium",
108
+ sourceRunId: finding.runId,
109
+ tags: [],
110
+ extractedAt: now,
111
+ });
112
+ }
113
+ return entries;
114
+ }
115
+ /**
116
+ * Read the long-term memory store. Returns empty store on ENOENT or corrupt JSON.
117
+ */
118
+ async function readLongTermMemory(globalStateDir) {
119
+ const filePath = getStorePath(globalStateDir);
120
+ let raw;
121
+ try {
122
+ raw = await fs.readFile(filePath, "utf8");
123
+ }
124
+ catch {
125
+ return emptyStore();
126
+ }
127
+ try {
128
+ const data = JSON.parse(raw);
129
+ return {
130
+ schemaVersion: typeof data.schemaVersion === "string" ? data.schemaVersion : exports.LONG_TERM_MEMORY_SCHEMA_VERSION,
131
+ entries: Array.isArray(data.entries) ? data.entries : [],
132
+ updatedAt: typeof data.updatedAt === "string" ? data.updatedAt : new Date().toISOString(),
133
+ };
134
+ }
135
+ catch {
136
+ return emptyStore();
137
+ }
138
+ }
139
+ async function writeStore(globalStateDir, store) {
140
+ const filePath = getStorePath(globalStateDir);
141
+ const dir = path.dirname(filePath);
142
+ const tempPath = `${filePath}.tmp.${process.pid}`;
143
+ await fs.mkdir(dir, { recursive: true });
144
+ await fs.writeFile(tempPath, JSON.stringify(store, null, 2), "utf8");
145
+ await fs.rename(tempPath, filePath);
146
+ }
147
+ /**
148
+ * Merge new entries into existing store. Deduplicates by id. Trims to maxEntries.
149
+ */
150
+ async function persistMemories(globalStateDir, newEntries, maxEntries = DEFAULT_MAX_ENTRIES) {
151
+ const store = await readLongTermMemory(globalStateDir);
152
+ const existingIds = new Set(store.entries.map((e) => e.id));
153
+ for (const entry of newEntries) {
154
+ if (!existingIds.has(entry.id)) {
155
+ store.entries.push(entry);
156
+ existingIds.add(entry.id);
157
+ }
158
+ }
159
+ // Sort by extractedAt descending (newest first), trim to maxEntries
160
+ store.entries.sort((a, b) => b.extractedAt.localeCompare(a.extractedAt));
161
+ if (store.entries.length > maxEntries) {
162
+ store.entries = store.entries.slice(0, maxEntries);
163
+ }
164
+ store.updatedAt = new Date().toISOString();
165
+ await writeStore(globalStateDir, store);
166
+ }
167
+ /**
168
+ * Query memories with optional filters.
169
+ */
170
+ async function queryMemories(globalStateDir, options) {
171
+ const store = await readLongTermMemory(globalStateDir);
172
+ let results = store.entries;
173
+ if (options?.category) {
174
+ results = results.filter((e) => e.category === options.category);
175
+ }
176
+ if (options?.tags && options.tags.length > 0) {
177
+ const filterTags = options.tags;
178
+ results = results.filter((e) => filterTags.some((t) => e.tags.includes(t)));
179
+ }
180
+ // Sort by extractedAt descending (newest first)
181
+ results.sort((a, b) => b.extractedAt.localeCompare(a.extractedAt));
182
+ if (options?.limit) {
183
+ results = results.slice(0, options.limit);
184
+ }
185
+ return results;
186
+ }
187
+ /**
188
+ * Prune memories beyond keepCount. Returns number pruned.
189
+ */
190
+ async function pruneMemories(globalStateDir, keepCount = DEFAULT_MAX_ENTRIES) {
191
+ const store = await readLongTermMemory(globalStateDir);
192
+ if (store.entries.length <= keepCount)
193
+ return 0;
194
+ // Sort by extractedAt descending, keep newest
195
+ store.entries.sort((a, b) => b.extractedAt.localeCompare(a.extractedAt));
196
+ const pruned = store.entries.length - keepCount;
197
+ store.entries = store.entries.slice(0, keepCount);
198
+ store.updatedAt = new Date().toISOString();
199
+ await writeStore(globalStateDir, store);
200
+ return pruned;
201
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Session state file parsing utilities.
3
+ * Parses markdown files with YAML frontmatter for session state.
4
+ */
5
+ import type { SessionState, SessionFile } from './types';
6
+ /**
7
+ * Default session state values.
8
+ */
9
+ export declare const DEFAULT_SESSION_STATE: SessionState;
10
+ /**
11
+ * Parse YAML frontmatter from a string.
12
+ * Expects format:
13
+ * ```
14
+ * ---
15
+ * key: value
16
+ * ---
17
+ * content
18
+ * ```
19
+ */
20
+ export declare function parseYamlFrontmatter(content: string): {
21
+ frontmatter: Record<string, string>;
22
+ body: string;
23
+ };
24
+ /**
25
+ * Parse session state from YAML frontmatter values.
26
+ */
27
+ export declare function parseSessionState(frontmatter: Record<string, string>): SessionState;
28
+ /**
29
+ * Read and parse a session state file.
30
+ */
31
+ export declare function readSessionFile(filePath: string): Promise<SessionFile>;
32
+ /**
33
+ * Check if a session state file exists.
34
+ */
35
+ export declare function sessionFileExists(filePath: string): Promise<boolean>;
36
+ /**
37
+ * Validate session state values.
38
+ * Throws SessionError if validation fails.
39
+ */
40
+ export declare function validateSessionState(state: SessionState): void;
41
+ /**
42
+ * Get the state file path for a session.
43
+ */
44
+ export declare function getSessionFilePath(stateDir: string, sessionId: string): string;
45
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/session/parse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGzD;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YASnC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAuC3G;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CA0CnF;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA4B5E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAgB9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E"}