@a5c-ai/genty-platform 5.1.1-staging.0ad6ac75ae4a

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 (584) hide show
  1. package/README.md +48 -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/compression/compaction.d.ts +82 -0
  45. package/dist/compression/compaction.d.ts.map +1 -0
  46. package/dist/compression/compaction.js +310 -0
  47. package/dist/context/dynamic.d.ts +16 -0
  48. package/dist/context/dynamic.d.ts.map +1 -0
  49. package/dist/context/dynamic.js +55 -0
  50. package/dist/context/instructions.d.ts +8 -0
  51. package/dist/context/instructions.d.ts.map +1 -0
  52. package/dist/context/instructions.js +77 -0
  53. package/dist/cost/claudeCodeParser.d.ts +81 -0
  54. package/dist/cost/claudeCodeParser.d.ts.map +1 -0
  55. package/dist/cost/claudeCodeParser.js +232 -0
  56. package/dist/cost/collector.d.ts +42 -0
  57. package/dist/cost/collector.d.ts.map +1 -0
  58. package/dist/cost/collector.js +105 -0
  59. package/dist/cost/effectCost.d.ts +23 -0
  60. package/dist/cost/effectCost.d.ts.map +1 -0
  61. package/dist/cost/effectCost.js +26 -0
  62. package/dist/cost/index.d.ts +7 -0
  63. package/dist/cost/index.d.ts.map +1 -0
  64. package/dist/cost/index.js +28 -0
  65. package/dist/cost/journal.d.ts +40 -0
  66. package/dist/cost/journal.d.ts.map +1 -0
  67. package/dist/cost/journal.js +158 -0
  68. package/dist/cost/types.d.ts +164 -0
  69. package/dist/cost/types.d.ts.map +1 -0
  70. package/dist/cost/types.js +228 -0
  71. package/dist/daemon/automationExecutor.d.ts +16 -0
  72. package/dist/daemon/automationExecutor.d.ts.map +1 -0
  73. package/dist/daemon/automationExecutor.js +222 -0
  74. package/dist/daemon/config.d.ts +8 -0
  75. package/dist/daemon/config.d.ts.map +1 -0
  76. package/dist/daemon/config.js +245 -0
  77. package/dist/daemon/daemonLog.d.ts +13 -0
  78. package/dist/daemon/daemonLog.d.ts.map +1 -0
  79. package/dist/daemon/daemonLog.js +64 -0
  80. package/dist/daemon/durableQueue.d.ts +41 -0
  81. package/dist/daemon/durableQueue.d.ts.map +1 -0
  82. package/dist/daemon/durableQueue.js +183 -0
  83. package/dist/daemon/fileWatcher.d.ts +9 -0
  84. package/dist/daemon/fileWatcher.d.ts.map +1 -0
  85. package/dist/daemon/fileWatcher.js +144 -0
  86. package/dist/daemon/index.d.ts +9 -0
  87. package/dist/daemon/index.d.ts.map +1 -0
  88. package/dist/daemon/index.js +26 -0
  89. package/dist/daemon/lifecycle.d.ts +12 -0
  90. package/dist/daemon/lifecycle.d.ts.map +1 -0
  91. package/dist/daemon/lifecycle.js +257 -0
  92. package/dist/daemon/loop.d.ts +27 -0
  93. package/dist/daemon/loop.d.ts.map +1 -0
  94. package/dist/daemon/loop.js +387 -0
  95. package/dist/daemon/timerScheduler.d.ts +13 -0
  96. package/dist/daemon/timerScheduler.d.ts.map +1 -0
  97. package/dist/daemon/timerScheduler.js +212 -0
  98. package/dist/daemon/types.d.ts +122 -0
  99. package/dist/daemon/types.d.ts.map +1 -0
  100. package/dist/daemon/types.js +25 -0
  101. package/dist/daemon/webhookListener.d.ts +6 -0
  102. package/dist/daemon/webhookListener.d.ts.map +1 -0
  103. package/dist/daemon/webhookListener.js +132 -0
  104. package/dist/extensions/discovery.d.ts +15 -0
  105. package/dist/extensions/discovery.d.ts.map +1 -0
  106. package/dist/extensions/discovery.js +119 -0
  107. package/dist/extensions/installer.d.ts +14 -0
  108. package/dist/extensions/installer.d.ts.map +1 -0
  109. package/dist/extensions/installer.js +100 -0
  110. package/dist/governance/authority.d.ts +68 -0
  111. package/dist/governance/authority.d.ts.map +1 -0
  112. package/dist/governance/authority.js +136 -0
  113. package/dist/governance/bridge.d.ts +17 -0
  114. package/dist/governance/bridge.d.ts.map +1 -0
  115. package/dist/governance/bridge.js +46 -0
  116. package/dist/governance/builtins.d.ts +25 -0
  117. package/dist/governance/builtins.d.ts.map +1 -0
  118. package/dist/governance/builtins.js +67 -0
  119. package/dist/governance/categories.d.ts +58 -0
  120. package/dist/governance/categories.d.ts.map +1 -0
  121. package/dist/governance/categories.js +120 -0
  122. package/dist/governance/decisionTrail.d.ts +60 -0
  123. package/dist/governance/decisionTrail.d.ts.map +1 -0
  124. package/dist/governance/decisionTrail.js +68 -0
  125. package/dist/governance/engine.d.ts +20 -0
  126. package/dist/governance/engine.d.ts.map +1 -0
  127. package/dist/governance/engine.js +124 -0
  128. package/dist/governance/index.d.ts +20 -0
  129. package/dist/governance/index.d.ts.map +1 -0
  130. package/dist/governance/index.js +75 -0
  131. package/dist/governance/logging.d.ts +18 -0
  132. package/dist/governance/logging.d.ts.map +1 -0
  133. package/dist/governance/logging.js +83 -0
  134. package/dist/governance/mandate.d.ts +83 -0
  135. package/dist/governance/mandate.d.ts.map +1 -0
  136. package/dist/governance/mandate.js +180 -0
  137. package/dist/governance/permissionEvents.d.ts +51 -0
  138. package/dist/governance/permissionEvents.d.ts.map +1 -0
  139. package/dist/governance/permissionEvents.js +52 -0
  140. package/dist/governance/permissionPropagation.d.ts +18 -0
  141. package/dist/governance/permissionPropagation.d.ts.map +1 -0
  142. package/dist/governance/permissionPropagation.js +58 -0
  143. package/dist/governance/postureBridge.d.ts +17 -0
  144. package/dist/governance/postureBridge.d.ts.map +1 -0
  145. package/dist/governance/postureBridge.js +117 -0
  146. package/dist/governance/sandboxBridge.d.ts +49 -0
  147. package/dist/governance/sandboxBridge.d.ts.map +1 -0
  148. package/dist/governance/sandboxBridge.js +77 -0
  149. package/dist/governance/sandboxPolicy.d.ts +51 -0
  150. package/dist/governance/sandboxPolicy.d.ts.map +1 -0
  151. package/dist/governance/sandboxPolicy.js +177 -0
  152. package/dist/governance/types.d.ts +3 -0
  153. package/dist/governance/types.d.ts.map +1 -0
  154. package/dist/governance/types.js +5 -0
  155. package/dist/harness/adapters/adapterBridge.d.ts +71 -0
  156. package/dist/harness/adapters/adapterBridge.d.ts.map +1 -0
  157. package/dist/harness/adapters/adapterBridge.js +117 -0
  158. package/dist/harness/adapters/adapterClientFactory.d.ts +29 -0
  159. package/dist/harness/adapters/adapterClientFactory.d.ts.map +1 -0
  160. package/dist/harness/adapters/adapterClientFactory.js +90 -0
  161. package/dist/harness/adapters/adapterEventEmitter.d.ts +51 -0
  162. package/dist/harness/adapters/adapterEventEmitter.d.ts.map +1 -0
  163. package/dist/harness/adapters/adapterEventEmitter.js +143 -0
  164. package/dist/harness/adapters/adapterEventMapper.d.ts +63 -0
  165. package/dist/harness/adapters/adapterEventMapper.d.ts.map +1 -0
  166. package/dist/harness/adapters/adapterEventMapper.js +100 -0
  167. package/dist/harness/adapters/adapterHarnessMap.d.ts +25 -0
  168. package/dist/harness/adapters/adapterHarnessMap.d.ts.map +1 -0
  169. package/dist/harness/adapters/adapterHarnessMap.js +55 -0
  170. package/dist/harness/adapters/adapterStdinReader.d.ts +45 -0
  171. package/dist/harness/adapters/adapterStdinReader.d.ts.map +1 -0
  172. package/dist/harness/adapters/adapterStdinReader.js +106 -0
  173. package/dist/harness/adapters/adapterTypes.d.ts +122 -0
  174. package/dist/harness/adapters/adapterTypes.d.ts.map +1 -0
  175. package/dist/harness/adapters/adapterTypes.js +11 -0
  176. package/dist/harness/adapters/index.d.ts +17 -0
  177. package/dist/harness/adapters/index.d.ts.map +1 -0
  178. package/dist/harness/adapters/index.js +34 -0
  179. package/dist/harness/backgroundTracker.d.ts +64 -0
  180. package/dist/harness/backgroundTracker.d.ts.map +1 -0
  181. package/dist/harness/backgroundTracker.js +107 -0
  182. package/dist/harness/builtInHarness.d.ts +3 -0
  183. package/dist/harness/builtInHarness.d.ts.map +1 -0
  184. package/dist/harness/builtInHarness.js +18 -0
  185. package/dist/harness/capabilityRouter.d.ts +76 -0
  186. package/dist/harness/capabilityRouter.d.ts.map +1 -0
  187. package/dist/harness/capabilityRouter.js +176 -0
  188. package/dist/harness/extensionToolBridge.d.ts +13 -0
  189. package/dist/harness/extensionToolBridge.d.ts.map +1 -0
  190. package/dist/harness/extensionToolBridge.js +23 -0
  191. package/dist/harness/fallbackChains.d.ts +42 -0
  192. package/dist/harness/fallbackChains.d.ts.map +1 -0
  193. package/dist/harness/fallbackChains.js +69 -0
  194. package/dist/harness/gentySessionContext.d.ts +31 -0
  195. package/dist/harness/gentySessionContext.d.ts.map +1 -0
  196. package/dist/harness/gentySessionContext.js +49 -0
  197. package/dist/harness/gentySessionIntegration.d.ts +16 -0
  198. package/dist/harness/gentySessionIntegration.d.ts.map +1 -0
  199. package/dist/harness/gentySessionIntegration.js +66 -0
  200. package/dist/harness/hostContract.d.ts +63 -0
  201. package/dist/harness/hostContract.d.ts.map +1 -0
  202. package/dist/harness/hostContract.js +136 -0
  203. package/dist/harness/index.d.ts +18 -0
  204. package/dist/harness/index.d.ts.map +1 -0
  205. package/dist/harness/index.js +91 -0
  206. package/dist/harness/internal/createRun/agent-core-loop.d.ts +43 -0
  207. package/dist/harness/internal/createRun/agent-core-loop.d.ts.map +1 -0
  208. package/dist/harness/internal/createRun/agent-core-loop.js +247 -0
  209. package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
  210. package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
  211. package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
  212. package/dist/harness/internal/createRun/index.d.ts +25 -0
  213. package/dist/harness/internal/createRun/index.d.ts.map +1 -0
  214. package/dist/harness/internal/createRun/index.js +163 -0
  215. package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
  216. package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
  217. package/dist/harness/internal/createRun/orchestration/constants.js +17 -0
  218. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts +23 -0
  219. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts.map +1 -0
  220. package/dist/harness/internal/createRun/orchestration/dispatch.js +135 -0
  221. package/dist/harness/internal/createRun/orchestration/effects.d.ts +135 -0
  222. package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
  223. package/dist/harness/internal/createRun/orchestration/effects.js +865 -0
  224. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +20 -0
  225. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
  226. package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +79 -0
  227. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
  228. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
  229. package/dist/harness/internal/createRun/orchestration/externalPhase.js +403 -0
  230. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
  231. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
  232. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +106 -0
  233. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts +32 -0
  234. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts.map +1 -0
  235. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.js +76 -0
  236. package/dist/harness/internal/createRun/orchestration/index.d.ts +29 -0
  237. package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
  238. package/dist/harness/internal/createRun/orchestration/index.js +370 -0
  239. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
  240. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
  241. package/dist/harness/internal/createRun/orchestration/internalPhase.js +656 -0
  242. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +27 -0
  243. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
  244. package/dist/harness/internal/createRun/orchestration/internalTools.js +264 -0
  245. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
  246. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
  247. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
  248. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
  249. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
  250. package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
  251. package/dist/harness/internal/createRun/orchestration/types.d.ts +48 -0
  252. package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
  253. package/dist/harness/internal/createRun/orchestration/types.js +2 -0
  254. package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
  255. package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
  256. package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
  257. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts +4 -0
  258. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts.map +1 -0
  259. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.js +36 -0
  260. package/dist/harness/internal/createRun/output.d.ts +40 -0
  261. package/dist/harness/internal/createRun/output.d.ts.map +1 -0
  262. package/dist/harness/internal/createRun/output.js +467 -0
  263. package/dist/harness/internal/createRun/pi.d.ts +10 -0
  264. package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
  265. package/dist/harness/internal/createRun/pi.js +35 -0
  266. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
  267. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
  268. package/dist/harness/internal/createRun/planProcess/agentOutput.js +113 -0
  269. package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
  270. package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
  271. package/dist/harness/internal/createRun/planProcess/delegation.js +176 -0
  272. package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
  273. package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
  274. package/dist/harness/internal/createRun/planProcess/external.js +139 -0
  275. package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
  276. package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
  277. package/dist/harness/internal/createRun/planProcess/index.js +24 -0
  278. package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
  279. package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
  280. package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
  281. package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
  282. package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
  283. package/dist/harness/internal/createRun/planProcess/phase.js +424 -0
  284. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
  285. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
  286. package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -0
  287. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
  288. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
  289. package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
  290. package/dist/harness/internal/createRun/planProcess/prompts.d.ts +22 -0
  291. package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
  292. package/dist/harness/internal/createRun/planProcess/prompts.js +239 -0
  293. package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
  294. package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
  295. package/dist/harness/internal/createRun/planProcess/recovery.js +205 -0
  296. package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
  297. package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
  298. package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
  299. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
  300. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
  301. package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
  302. package/dist/harness/internal/createRun/planProcess/validation.d.ts +4 -0
  303. package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
  304. package/dist/harness/internal/createRun/planProcess/validation.js +260 -0
  305. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +13 -0
  306. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
  307. package/dist/harness/internal/createRun/planProcess/validationSource.js +345 -0
  308. package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
  309. package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
  310. package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
  311. package/dist/harness/internal/createRun/prompts.d.ts +59 -0
  312. package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
  313. package/dist/harness/internal/createRun/prompts.js +427 -0
  314. package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
  315. package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
  316. package/dist/harness/internal/createRun/resumeState.js +133 -0
  317. package/dist/harness/internal/createRun/utils.d.ts +184 -0
  318. package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
  319. package/dist/harness/internal/createRun/utils.js +218 -0
  320. package/dist/harness/internal.d.ts +13 -0
  321. package/dist/harness/internal.d.ts.map +1 -0
  322. package/dist/harness/internal.js +149 -0
  323. package/dist/harness/invoker/launch.d.ts +20 -0
  324. package/dist/harness/invoker/launch.d.ts.map +1 -0
  325. package/dist/harness/invoker/launch.js +23 -0
  326. package/dist/harness/invoker/processControl.d.ts +11 -0
  327. package/dist/harness/invoker/processControl.d.ts.map +1 -0
  328. package/dist/harness/invoker/processControl.js +50 -0
  329. package/dist/harness/invoker.d.ts +44 -0
  330. package/dist/harness/invoker.d.ts.map +1 -0
  331. package/dist/harness/invoker.js +276 -0
  332. package/dist/harness/modeSelector.d.ts +50 -0
  333. package/dist/harness/modeSelector.d.ts.map +1 -0
  334. package/dist/harness/modeSelector.js +124 -0
  335. package/dist/harness/modelSelection.d.ts +37 -0
  336. package/dist/harness/modelSelection.d.ts.map +1 -0
  337. package/dist/harness/modelSelection.js +81 -0
  338. package/dist/harness/operatorCommands.d.ts +38 -0
  339. package/dist/harness/operatorCommands.d.ts.map +1 -0
  340. package/dist/harness/operatorCommands.js +118 -0
  341. package/dist/harness/piSecureSandbox.d.ts +8 -0
  342. package/dist/harness/piSecureSandbox.d.ts.map +1 -0
  343. package/dist/harness/piSecureSandbox.js +366 -0
  344. package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
  345. package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
  346. package/dist/harness/piSecureSandboxTypes.js +6 -0
  347. package/dist/harness/piWrapper/compaction.d.ts +13 -0
  348. package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
  349. package/dist/harness/piWrapper/compaction.js +38 -0
  350. package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
  351. package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
  352. package/dist/harness/piWrapper/instructionPrompts.js +97 -0
  353. package/dist/harness/piWrapper/moduleSupport.d.ts +78 -0
  354. package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
  355. package/dist/harness/piWrapper/moduleSupport.js +207 -0
  356. package/dist/harness/piWrapper.d.ts +82 -0
  357. package/dist/harness/piWrapper.d.ts.map +1 -0
  358. package/dist/harness/piWrapper.js +406 -0
  359. package/dist/harness/planMode.d.ts +68 -0
  360. package/dist/harness/planMode.d.ts.map +1 -0
  361. package/dist/harness/planMode.js +145 -0
  362. package/dist/harness/selectionPolicies.d.ts +29 -0
  363. package/dist/harness/selectionPolicies.d.ts.map +1 -0
  364. package/dist/harness/selectionPolicies.js +165 -0
  365. package/dist/harness/types.d.ts +276 -0
  366. package/dist/harness/types.d.ts.map +1 -0
  367. package/dist/harness/types.js +34 -0
  368. package/dist/index.d.ts +16 -0
  369. package/dist/index.d.ts.map +1 -0
  370. package/dist/index.js +54 -0
  371. package/dist/interaction/askUserQuestion/core.d.ts +8 -0
  372. package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
  373. package/dist/interaction/askUserQuestion/core.js +112 -0
  374. package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
  375. package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
  376. package/dist/interaction/askUserQuestion/terminal.js +128 -0
  377. package/dist/interaction/askUserQuestion.d.ts +10 -0
  378. package/dist/interaction/askUserQuestion.d.ts.map +1 -0
  379. package/dist/interaction/askUserQuestion.js +295 -0
  380. package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
  381. package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
  382. package/dist/interaction/askUserQuestionTypes.js +6 -0
  383. package/dist/interaction/index.d.ts +8 -0
  384. package/dist/interaction/index.d.ts.map +1 -0
  385. package/dist/interaction/index.js +28 -0
  386. package/dist/interaction/interactionRouter.d.ts +25 -0
  387. package/dist/interaction/interactionRouter.d.ts.map +1 -0
  388. package/dist/interaction/interactionRouter.js +55 -0
  389. package/dist/interaction/model-switch.d.ts +16 -0
  390. package/dist/interaction/model-switch.d.ts.map +1 -0
  391. package/dist/interaction/model-switch.js +41 -0
  392. package/dist/interaction/steering.d.ts +17 -0
  393. package/dist/interaction/steering.d.ts.map +1 -0
  394. package/dist/interaction/steering.js +41 -0
  395. package/dist/mcp/channels/allowlist.d.ts +19 -0
  396. package/dist/mcp/channels/allowlist.d.ts.map +1 -0
  397. package/dist/mcp/channels/allowlist.js +140 -0
  398. package/dist/mcp/channels/channelManager.d.ts +64 -0
  399. package/dist/mcp/channels/channelManager.d.ts.map +1 -0
  400. package/dist/mcp/channels/channelManager.js +137 -0
  401. package/dist/mcp/channels/inboundQueue.d.ts +47 -0
  402. package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
  403. package/dist/mcp/channels/inboundQueue.js +96 -0
  404. package/dist/mcp/channels/index.d.ts +16 -0
  405. package/dist/mcp/channels/index.d.ts.map +1 -0
  406. package/dist/mcp/channels/index.js +38 -0
  407. package/dist/mcp/channels/outbound.d.ts +33 -0
  408. package/dist/mcp/channels/outbound.d.ts.map +1 -0
  409. package/dist/mcp/channels/outbound.js +94 -0
  410. package/dist/mcp/channels/permissionRelay.d.ts +62 -0
  411. package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
  412. package/dist/mcp/channels/permissionRelay.js +159 -0
  413. package/dist/mcp/channels/types.d.ts +135 -0
  414. package/dist/mcp/channels/types.d.ts.map +1 -0
  415. package/dist/mcp/channels/types.js +16 -0
  416. package/dist/mcp/client/config.d.ts +28 -0
  417. package/dist/mcp/client/config.d.ts.map +1 -0
  418. package/dist/mcp/client/config.js +144 -0
  419. package/dist/mcp/client/executor.d.ts +30 -0
  420. package/dist/mcp/client/executor.d.ts.map +1 -0
  421. package/dist/mcp/client/executor.js +61 -0
  422. package/dist/mcp/client/index.d.ts +12 -0
  423. package/dist/mcp/client/index.d.ts.map +1 -0
  424. package/dist/mcp/client/index.js +27 -0
  425. package/dist/mcp/client/manager.d.ts +74 -0
  426. package/dist/mcp/client/manager.d.ts.map +1 -0
  427. package/dist/mcp/client/manager.js +215 -0
  428. package/dist/mcp/client/toolRegistry.d.ts +113 -0
  429. package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
  430. package/dist/mcp/client/toolRegistry.js +190 -0
  431. package/dist/mcp/client/types.d.ts +96 -0
  432. package/dist/mcp/client/types.d.ts.map +1 -0
  433. package/dist/mcp/client/types.js +15 -0
  434. package/dist/mcp/transport/index.d.ts +9 -0
  435. package/dist/mcp/transport/index.d.ts.map +1 -0
  436. package/dist/mcp/transport/index.js +13 -0
  437. package/dist/mcp/transport/session.d.ts +18 -0
  438. package/dist/mcp/transport/session.d.ts.map +1 -0
  439. package/dist/mcp/transport/session.js +78 -0
  440. package/dist/mcp/transport/types.d.ts +19 -0
  441. package/dist/mcp/transport/types.d.ts.map +1 -0
  442. package/dist/mcp/transport/types.js +7 -0
  443. package/dist/mcp/transport/websocket.d.ts +41 -0
  444. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  445. package/dist/mcp/transport/websocket.js +271 -0
  446. package/dist/observability/health.d.ts +19 -0
  447. package/dist/observability/health.d.ts.map +1 -0
  448. package/dist/observability/health.js +129 -0
  449. package/dist/observability/index.d.ts +7 -0
  450. package/dist/observability/index.d.ts.map +1 -0
  451. package/dist/observability/index.js +22 -0
  452. package/dist/observability/runStatus.d.ts +44 -0
  453. package/dist/observability/runStatus.d.ts.map +1 -0
  454. package/dist/observability/runStatus.js +169 -0
  455. package/dist/observability/timeline.d.ts +11 -0
  456. package/dist/observability/timeline.d.ts.map +1 -0
  457. package/dist/observability/timeline.js +176 -0
  458. package/dist/observability/types.d.ts +62 -0
  459. package/dist/observability/types.d.ts.map +1 -0
  460. package/dist/observability/types.js +8 -0
  461. package/dist/observability/webhooks.d.ts +68 -0
  462. package/dist/observability/webhooks.d.ts.map +1 -0
  463. package/dist/observability/webhooks.js +132 -0
  464. package/dist/plugins/index.d.ts +11 -0
  465. package/dist/plugins/index.d.ts.map +1 -0
  466. package/dist/plugins/index.js +18 -0
  467. package/dist/plugins/loader.d.ts +37 -0
  468. package/dist/plugins/loader.d.ts.map +1 -0
  469. package/dist/plugins/loader.js +112 -0
  470. package/dist/plugins/sandbox.d.ts +38 -0
  471. package/dist/plugins/sandbox.d.ts.map +1 -0
  472. package/dist/plugins/sandbox.js +109 -0
  473. package/dist/plugins/types.d.ts +27 -0
  474. package/dist/plugins/types.d.ts.map +1 -0
  475. package/dist/plugins/types.js +7 -0
  476. package/dist/plugins/version-check.d.ts +23 -0
  477. package/dist/plugins/version-check.d.ts.map +1 -0
  478. package/dist/plugins/version-check.js +70 -0
  479. package/dist/processes/index.d.ts +12 -0
  480. package/dist/processes/index.d.ts.map +1 -0
  481. package/dist/processes/index.js +15 -0
  482. package/dist/processes/recommender.d.ts +36 -0
  483. package/dist/processes/recommender.d.ts.map +1 -0
  484. package/dist/processes/recommender.js +73 -0
  485. package/dist/processes/scorer.d.ts +26 -0
  486. package/dist/processes/scorer.d.ts.map +1 -0
  487. package/dist/processes/scorer.js +104 -0
  488. package/dist/processes/types.d.ts +48 -0
  489. package/dist/processes/types.d.ts.map +1 -0
  490. package/dist/processes/types.js +9 -0
  491. package/dist/runtime/index.d.ts +3 -0
  492. package/dist/runtime/index.d.ts.map +1 -0
  493. package/dist/runtime/index.js +28 -0
  494. package/dist/seams/contract.d.ts +63 -0
  495. package/dist/seams/contract.d.ts.map +1 -0
  496. package/dist/seams/contract.js +141 -0
  497. package/dist/seams/index.d.ts +3 -0
  498. package/dist/seams/index.d.ts.map +1 -0
  499. package/dist/seams/index.js +8 -0
  500. package/dist/session/context.d.ts +22 -0
  501. package/dist/session/context.d.ts.map +1 -0
  502. package/dist/session/context.js +113 -0
  503. package/dist/session/continuityState.d.ts +39 -0
  504. package/dist/session/continuityState.d.ts.map +1 -0
  505. package/dist/session/continuityState.js +164 -0
  506. package/dist/session/cost.d.ts +72 -0
  507. package/dist/session/cost.d.ts.map +1 -0
  508. package/dist/session/cost.js +221 -0
  509. package/dist/session/discovery.d.ts +22 -0
  510. package/dist/session/discovery.d.ts.map +1 -0
  511. package/dist/session/discovery.js +35 -0
  512. package/dist/session/history.d.ts +30 -0
  513. package/dist/session/history.d.ts.map +1 -0
  514. package/dist/session/history.js +144 -0
  515. package/dist/session/index.d.ts +7 -0
  516. package/dist/session/index.d.ts.map +1 -0
  517. package/dist/session/index.js +70 -0
  518. package/dist/session/memoryExtraction.d.ts +65 -0
  519. package/dist/session/memoryExtraction.d.ts.map +1 -0
  520. package/dist/session/memoryExtraction.js +201 -0
  521. package/dist/session/parse.d.ts +45 -0
  522. package/dist/session/parse.d.ts.map +1 -0
  523. package/dist/session/parse.js +170 -0
  524. package/dist/session/persistence.d.ts +46 -0
  525. package/dist/session/persistence.d.ts.map +1 -0
  526. package/dist/session/persistence.js +180 -0
  527. package/dist/session/types.d.ts +267 -0
  528. package/dist/session/types.d.ts.map +1 -0
  529. package/dist/session/types.js +45 -0
  530. package/dist/session/write.d.ts +61 -0
  531. package/dist/session/write.d.ts.map +1 -0
  532. package/dist/session/write.js +213 -0
  533. package/dist/skills/chain.d.ts +31 -0
  534. package/dist/skills/chain.d.ts.map +1 -0
  535. package/dist/skills/chain.js +113 -0
  536. package/dist/skills/discovery.d.ts +34 -0
  537. package/dist/skills/discovery.d.ts.map +1 -0
  538. package/dist/skills/discovery.js +185 -0
  539. package/dist/skills/index.d.ts +12 -0
  540. package/dist/skills/index.d.ts.map +1 -0
  541. package/dist/skills/index.js +18 -0
  542. package/dist/skills/router.d.ts +35 -0
  543. package/dist/skills/router.d.ts.map +1 -0
  544. package/dist/skills/router.js +143 -0
  545. package/dist/skills/types.d.ts +33 -0
  546. package/dist/skills/types.d.ts.map +1 -0
  547. package/dist/skills/types.js +5 -0
  548. package/dist/storage/atomic.d.ts +2 -0
  549. package/dist/storage/atomic.d.ts.map +1 -0
  550. package/dist/storage/atomic.js +54 -0
  551. package/dist/storage/clock.d.ts +2 -0
  552. package/dist/storage/clock.d.ts.map +1 -0
  553. package/dist/storage/clock.js +6 -0
  554. package/dist/storage/index.d.ts +7 -0
  555. package/dist/storage/index.d.ts.map +1 -0
  556. package/dist/storage/index.js +9 -0
  557. package/dist/storage/journalWatcher.d.ts +24 -0
  558. package/dist/storage/journalWatcher.d.ts.map +1 -0
  559. package/dist/storage/journalWatcher.js +173 -0
  560. package/dist/storage/paths.d.ts +5 -0
  561. package/dist/storage/paths.d.ts.map +1 -0
  562. package/dist/storage/paths.js +26 -0
  563. package/dist/storage/snapshotState.d.ts +10 -0
  564. package/dist/storage/snapshotState.d.ts.map +1 -0
  565. package/dist/storage/snapshotState.js +15 -0
  566. package/dist/storage/storeTaskArtifacts.d.ts +6 -0
  567. package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
  568. package/dist/storage/storeTaskArtifacts.js +55 -0
  569. package/dist/storage/types.d.ts +21 -0
  570. package/dist/storage/types.d.ts.map +1 -0
  571. package/dist/storage/types.js +2 -0
  572. package/dist/tasks/crud.d.ts +33 -0
  573. package/dist/tasks/crud.d.ts.map +1 -0
  574. package/dist/tasks/crud.js +150 -0
  575. package/dist/tasks/index.d.ts +2 -0
  576. package/dist/tasks/index.d.ts.map +1 -0
  577. package/dist/tasks/index.js +9 -0
  578. package/dist/trust/harness-signing.d.ts +15 -0
  579. package/dist/trust/harness-signing.d.ts.map +1 -0
  580. package/dist/trust/harness-signing.js +46 -0
  581. package/dist/trust/key-store.d.ts +15 -0
  582. package/dist/trust/key-store.d.ts.map +1 -0
  583. package/dist/trust/key-store.js +66 -0
  584. package/package.json +161 -0
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ /**
3
+ * Status: Integrated with agent-platform breakpoint governance.
4
+ * Moved from @a5c-ai/babysitter-sdk.
5
+ * GAP-SEC-005: Approval Posture Model
6
+ *
7
+ * Defines the canonical safety ladder for action categories and provides
8
+ * posture resolution from breakpoint IDs.
9
+ *
10
+ * @module breakpoints/postures
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.DEFAULT_POSTURES = void 0;
14
+ exports.getPostureForCategory = getPostureForCategory;
15
+ exports.resolvePostureFromBreakpointId = resolvePostureFromBreakpointId;
16
+ /**
17
+ * Default postures per action category.
18
+ * The canonical safety ladder: read (permissive) -> write/network -> execute -> destroy/auth (locked).
19
+ */
20
+ exports.DEFAULT_POSTURES = {
21
+ read: {
22
+ name: 'permissive',
23
+ allowAutoApprove: true,
24
+ minConsecutiveApprovalsForAutoN: 0,
25
+ requireExplicitRule: false,
26
+ requiredApproverLevel: 'any',
27
+ },
28
+ write: {
29
+ name: 'cautious',
30
+ allowAutoApprove: true,
31
+ minConsecutiveApprovalsForAutoN: 3,
32
+ requireExplicitRule: false,
33
+ requiredApproverLevel: 'any',
34
+ },
35
+ execute: {
36
+ name: 'guarded',
37
+ allowAutoApprove: true,
38
+ minConsecutiveApprovalsForAutoN: 5,
39
+ requireExplicitRule: true,
40
+ requiredApproverLevel: 'any',
41
+ },
42
+ destroy: {
43
+ name: 'locked',
44
+ allowAutoApprove: false,
45
+ minConsecutiveApprovalsForAutoN: -1,
46
+ requireExplicitRule: true,
47
+ requiredApproverLevel: 'owner',
48
+ },
49
+ network: {
50
+ name: 'cautious',
51
+ allowAutoApprove: true,
52
+ minConsecutiveApprovalsForAutoN: 3,
53
+ requireExplicitRule: false,
54
+ requiredApproverLevel: 'any',
55
+ },
56
+ auth: {
57
+ name: 'locked',
58
+ allowAutoApprove: false,
59
+ minConsecutiveApprovalsForAutoN: -1,
60
+ requireExplicitRule: true,
61
+ requiredApproverLevel: 'owner',
62
+ },
63
+ };
64
+ /**
65
+ * Get the posture for a category, optionally merged with overrides.
66
+ */
67
+ function getPostureForCategory(category, overrides) {
68
+ const base = exports.DEFAULT_POSTURES[category];
69
+ if (!overrides)
70
+ return base;
71
+ return { ...base, ...overrides };
72
+ }
73
+ /**
74
+ * Prefix-to-category mapping for breakpoint ID namespace convention.
75
+ */
76
+ const PREFIX_TO_CATEGORY = {
77
+ 'read': 'read',
78
+ 'write': 'write',
79
+ 'exec': 'execute',
80
+ 'execute': 'execute',
81
+ 'destroy': 'destroy',
82
+ 'delete': 'destroy',
83
+ 'net': 'network',
84
+ 'network': 'network',
85
+ 'auth': 'auth',
86
+ 'cred': 'auth',
87
+ };
88
+ /**
89
+ * Resolve an action category from a breakpoint ID's namespace prefix.
90
+ * Returns undefined for unknown prefixes (no posture enforcement applied).
91
+ *
92
+ * Convention: breakpointId format is `prefix.name` (e.g., `destroy.important-files`).
93
+ */
94
+ function resolvePostureFromBreakpointId(breakpointId) {
95
+ const dotIndex = breakpointId.indexOf('.');
96
+ if (dotIndex === -1)
97
+ return undefined;
98
+ const prefix = breakpointId.substring(0, dotIndex);
99
+ return PREFIX_TO_CATEGORY[prefix];
100
+ }
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Status: Integrated with agent-platform orchestration.
3
+ * Moved from @a5c-ai/babysitter-sdk.
4
+ * GAP-PERF-002: Session Compaction.
5
+ *
6
+ * Summarizes and condenses orchestration history to prevent context window
7
+ * overflow during long runs. Multiple strategies with auto-triggering
8
+ * based on token budget thresholds.
9
+ *
10
+ * Compacted data is stored as overlays — original journals and task artifacts
11
+ * are never modified.
12
+ */
13
+ export type CompactionStrategy = "tool-output-summarization" | "iteration-digest";
14
+ export interface CompactionConfig {
15
+ enabled: boolean;
16
+ /** Token budget threshold that triggers auto-compaction. */
17
+ autoCompactThreshold: number;
18
+ /** Strategies to apply, in order. */
19
+ strategies: CompactionStrategy[];
20
+ /** Maximum recent iterations to keep uncompacted. */
21
+ keepRecentIterations: number;
22
+ /** Target token reduction ratio for tool output summarization (0-1). */
23
+ toolOutputTargetReduction: number;
24
+ }
25
+ export interface CompactionResult {
26
+ strategy: CompactionStrategy;
27
+ tokensBefore: number;
28
+ tokensAfter: number;
29
+ itemsCompacted: number;
30
+ compactedAt: string;
31
+ }
32
+ export interface IterationDigest {
33
+ iteration: number;
34
+ runId: string;
35
+ summary: string;
36
+ resolvedEffects: string[];
37
+ durationSeconds: number;
38
+ timestamp: string;
39
+ }
40
+ export interface ToolOutputSummary {
41
+ /** Relative path from runsDir: runId/tasks/effectId/file */
42
+ relativePath: string;
43
+ /** Truncated/summarized content */
44
+ summary: string;
45
+ /** Original token count */
46
+ originalTokens: number;
47
+ }
48
+ export interface CompactionState {
49
+ operations: CompactionResult[];
50
+ iterationDigests: IterationDigest[];
51
+ toolOutputSummaries: ToolOutputSummary[];
52
+ totalTokensSaved: number;
53
+ }
54
+ interface JournalEvent {
55
+ type: string;
56
+ recordedAt: string;
57
+ data?: Record<string, unknown>;
58
+ }
59
+ export declare const DEFAULT_COMPACTION_CONFIG: CompactionConfig;
60
+ export declare function getCompactionStatePath(stateDir: string, sessionId: string): string;
61
+ export declare function getCompactionState(stateDir: string, sessionId: string): Promise<CompactionState>;
62
+ /**
63
+ * Check whether auto-compaction should trigger.
64
+ */
65
+ export declare function shouldAutoCompact(estimatedTokens: number, config: CompactionConfig): boolean;
66
+ /**
67
+ * Build a digest from a set of journal events belonging to one iteration.
68
+ * Pure function.
69
+ */
70
+ export declare function buildIterationDigest(runId: string, iteration: number, events: JournalEvent[]): IterationDigest;
71
+ /**
72
+ * Run compaction strategies on a session.
73
+ * Reads journal/tasks as needed but only writes to the overlay file — never
74
+ * modifies originals.
75
+ */
76
+ export declare function compactSession(stateDir: string, sessionId: string, runsDir: string, config?: CompactionConfig): Promise<CompactionResult[]>;
77
+ /**
78
+ * Render iteration digests as markdown for prompt injection.
79
+ */
80
+ export declare function renderCompactedHistory(state: CompactionState): string;
81
+ export {};
82
+ //# sourceMappingURL=compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/compression/compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,MAAM,MAAM,kBAAkB,GAC1B,2BAA2B,GAC3B,kBAAkB,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,qDAAqD;IACrD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAMD,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAMD,eAAO,MAAM,yBAAyB,EAAE,gBAMvC,CAAC;AAiDF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAEtG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAG5F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EAAE,GACrB,eAAe,CAgCjB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,gBAA4C,GACnD,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAkB7B;AAwID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAQrE"}
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ /**
3
+ * Status: Integrated with agent-platform orchestration.
4
+ * Moved from @a5c-ai/babysitter-sdk.
5
+ * GAP-PERF-002: Session Compaction.
6
+ *
7
+ * Summarizes and condenses orchestration history to prevent context window
8
+ * overflow during long runs. Multiple strategies with auto-triggering
9
+ * based on token budget thresholds.
10
+ *
11
+ * Compacted data is stored as overlays — original journals and task artifacts
12
+ * are never modified.
13
+ */
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __importStar = (this && this.__importStar) || (function () {
31
+ var ownKeys = function(o) {
32
+ ownKeys = Object.getOwnPropertyNames || function (o) {
33
+ var ar = [];
34
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
+ return ar;
36
+ };
37
+ return ownKeys(o);
38
+ };
39
+ return function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ })();
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.DEFAULT_COMPACTION_CONFIG = void 0;
49
+ exports.getCompactionStatePath = getCompactionStatePath;
50
+ exports.getCompactionState = getCompactionState;
51
+ exports.shouldAutoCompact = shouldAutoCompact;
52
+ exports.buildIterationDigest = buildIterationDigest;
53
+ exports.compactSession = compactSession;
54
+ exports.renderCompactedHistory = renderCompactedHistory;
55
+ const node_fs_1 = require("node:fs");
56
+ const path = __importStar(require("node:path"));
57
+ // ---------------------------------------------------------------------------
58
+ // Defaults
59
+ // ---------------------------------------------------------------------------
60
+ exports.DEFAULT_COMPACTION_CONFIG = {
61
+ enabled: true,
62
+ autoCompactThreshold: 80_000,
63
+ strategies: ["tool-output-summarization", "iteration-digest"],
64
+ keepRecentIterations: 3,
65
+ toolOutputTargetReduction: 0.6,
66
+ };
67
+ // ---------------------------------------------------------------------------
68
+ // Internal helpers
69
+ // ---------------------------------------------------------------------------
70
+ function emptyCompactionState() {
71
+ return { operations: [], iterationDigests: [], toolOutputSummaries: [], totalTokensSaved: 0 };
72
+ }
73
+ async function readRaw(filePath) {
74
+ let raw;
75
+ try {
76
+ raw = await node_fs_1.promises.readFile(filePath, "utf8");
77
+ }
78
+ catch (error) {
79
+ const err = error;
80
+ if (err.code === "ENOENT")
81
+ return emptyCompactionState();
82
+ return emptyCompactionState();
83
+ }
84
+ try {
85
+ const data = JSON.parse(raw);
86
+ return {
87
+ operations: Array.isArray(data.operations) ? data.operations : [],
88
+ iterationDigests: Array.isArray(data.iterationDigests) ? data.iterationDigests : [],
89
+ toolOutputSummaries: Array.isArray(data.toolOutputSummaries) ? data.toolOutputSummaries : [],
90
+ totalTokensSaved: typeof data.totalTokensSaved === "number" ? data.totalTokensSaved : 0,
91
+ };
92
+ }
93
+ catch {
94
+ return emptyCompactionState();
95
+ }
96
+ }
97
+ async function writeRaw(filePath, data) {
98
+ const dir = path.dirname(filePath);
99
+ const tempPath = `${filePath}.tmp.${process.pid}`;
100
+ await node_fs_1.promises.mkdir(dir, { recursive: true });
101
+ await node_fs_1.promises.writeFile(tempPath, JSON.stringify(data, null, 2), "utf8");
102
+ await node_fs_1.promises.rename(tempPath, filePath);
103
+ }
104
+ /** Rough token estimate: ~4 chars per token. */
105
+ function estimateTokens(text) {
106
+ return Math.ceil(text.length / 4);
107
+ }
108
+ // ---------------------------------------------------------------------------
109
+ // Public API
110
+ // ---------------------------------------------------------------------------
111
+ function getCompactionStatePath(stateDir, sessionId) {
112
+ return path.join(stateDir, `${sessionId}.compaction.json`);
113
+ }
114
+ async function getCompactionState(stateDir, sessionId) {
115
+ return readRaw(getCompactionStatePath(stateDir, sessionId));
116
+ }
117
+ /**
118
+ * Check whether auto-compaction should trigger.
119
+ */
120
+ function shouldAutoCompact(estimatedTokens, config) {
121
+ if (!config.enabled)
122
+ return false;
123
+ return estimatedTokens > config.autoCompactThreshold;
124
+ }
125
+ /**
126
+ * Build a digest from a set of journal events belonging to one iteration.
127
+ * Pure function.
128
+ */
129
+ function buildIterationDigest(runId, iteration, events) {
130
+ const resolvedEffects = [];
131
+ let earliestAt = "";
132
+ let latestAt = "";
133
+ for (const ev of events) {
134
+ if (!earliestAt || ev.recordedAt < earliestAt)
135
+ earliestAt = ev.recordedAt;
136
+ if (!latestAt || ev.recordedAt > latestAt)
137
+ latestAt = ev.recordedAt;
138
+ if (ev.type === "EFFECT_RESOLVED" && ev.data) {
139
+ const effectId = ev.data.effectId;
140
+ if (effectId)
141
+ resolvedEffects.push(effectId);
142
+ }
143
+ }
144
+ const durationSeconds = earliestAt && latestAt
145
+ ? (new Date(latestAt).getTime() - new Date(earliestAt).getTime()) / 1000
146
+ : 0;
147
+ const effectCount = resolvedEffects.length;
148
+ const eventTypes = [...new Set(events.map((e) => e.type))];
149
+ const summary = `Iteration ${iteration}: ${effectCount} effect(s) resolved, events: ${eventTypes.join(", ")}`;
150
+ return {
151
+ iteration,
152
+ runId,
153
+ summary,
154
+ resolvedEffects,
155
+ durationSeconds,
156
+ timestamp: latestAt || new Date().toISOString(),
157
+ };
158
+ }
159
+ /**
160
+ * Run compaction strategies on a session.
161
+ * Reads journal/tasks as needed but only writes to the overlay file — never
162
+ * modifies originals.
163
+ */
164
+ async function compactSession(stateDir, sessionId, runsDir, config = exports.DEFAULT_COMPACTION_CONFIG) {
165
+ if (!config.enabled)
166
+ return [];
167
+ const overlayPath = getCompactionStatePath(stateDir, sessionId);
168
+ const state = await readRaw(overlayPath);
169
+ const results = [];
170
+ for (const strategy of config.strategies) {
171
+ const result = await applyStrategy(strategy, runsDir, config, state);
172
+ if (result) {
173
+ state.operations.push(result);
174
+ state.totalTokensSaved += result.tokensBefore - result.tokensAfter;
175
+ results.push(result);
176
+ }
177
+ }
178
+ await writeRaw(overlayPath, state);
179
+ return results;
180
+ }
181
+ async function applyStrategy(strategy, runsDir, config, state) {
182
+ const now = new Date().toISOString();
183
+ if (strategy === "iteration-digest") {
184
+ // Scan run directories for journal files, build digests for old iterations
185
+ const existingDigestIterations = new Set(state.iterationDigests.map((d) => `${d.runId}:${d.iteration}`));
186
+ let itemsCompacted = 0;
187
+ let tokensBefore = 0;
188
+ let tokensAfter = 0;
189
+ let runDirs;
190
+ try {
191
+ const entries = await node_fs_1.promises.readdir(runsDir, { withFileTypes: true });
192
+ runDirs = entries.filter((e) => e.isDirectory()).map((e) => e.name);
193
+ }
194
+ catch {
195
+ return undefined;
196
+ }
197
+ for (const runDir of runDirs) {
198
+ const journalDir = path.join(runsDir, runDir, "journal");
199
+ let files;
200
+ try {
201
+ files = await node_fs_1.promises.readdir(journalDir);
202
+ }
203
+ catch {
204
+ continue;
205
+ }
206
+ // Group events by iteration (heuristic: each EFFECT_REQUESTED starts new iteration group)
207
+ const events = [];
208
+ for (const file of files.sort()) {
209
+ if (!file.endsWith(".json"))
210
+ continue;
211
+ try {
212
+ const raw = await node_fs_1.promises.readFile(path.join(journalDir, file), "utf8");
213
+ events.push(JSON.parse(raw));
214
+ }
215
+ catch {
216
+ continue;
217
+ }
218
+ }
219
+ if (events.length === 0)
220
+ continue;
221
+ // Simple iteration grouping: split at RUN_CREATED or sequential grouping
222
+ const iterationSize = Math.max(1, Math.ceil(events.length / Math.max(1, config.keepRecentIterations + 1)));
223
+ const totalGroups = Math.ceil(events.length / iterationSize);
224
+ const compactableGroups = Math.max(0, totalGroups - config.keepRecentIterations);
225
+ for (let i = 0; i < compactableGroups; i++) {
226
+ const key = `${runDir}:${i + 1}`;
227
+ if (existingDigestIterations.has(key))
228
+ continue;
229
+ const groupEvents = events.slice(i * iterationSize, (i + 1) * iterationSize);
230
+ const beforeTokens = estimateTokens(JSON.stringify(groupEvents));
231
+ const digest = buildIterationDigest(runDir, i + 1, groupEvents);
232
+ const afterTokens = estimateTokens(JSON.stringify(digest));
233
+ state.iterationDigests.push(digest);
234
+ tokensBefore += beforeTokens;
235
+ tokensAfter += afterTokens;
236
+ itemsCompacted++;
237
+ }
238
+ }
239
+ if (itemsCompacted === 0)
240
+ return undefined;
241
+ return { strategy, tokensBefore, tokensAfter, itemsCompacted, compactedAt: now };
242
+ }
243
+ if (strategy === "tool-output-summarization") {
244
+ // Scan task directories for large stdout/stderr, create summarized overlays
245
+ let itemsCompacted = 0;
246
+ let tokensBefore = 0;
247
+ let tokensAfter = 0;
248
+ let runDirs;
249
+ try {
250
+ const entries = await node_fs_1.promises.readdir(runsDir, { withFileTypes: true });
251
+ runDirs = entries.filter((e) => e.isDirectory()).map((e) => e.name);
252
+ }
253
+ catch {
254
+ return undefined;
255
+ }
256
+ for (const runDir of runDirs) {
257
+ const tasksDir = path.join(runsDir, runDir, "tasks");
258
+ let taskDirs;
259
+ try {
260
+ const entries = await node_fs_1.promises.readdir(tasksDir, { withFileTypes: true });
261
+ taskDirs = entries.filter((e) => e.isDirectory()).map((e) => e.name);
262
+ }
263
+ catch {
264
+ continue;
265
+ }
266
+ for (const taskDir of taskDirs) {
267
+ for (const file of ["stdout.txt", "stderr.txt"]) {
268
+ const filePath = path.join(tasksDir, taskDir, file);
269
+ try {
270
+ const content = await node_fs_1.promises.readFile(filePath, "utf8");
271
+ const beforeTokens = estimateTokens(content);
272
+ if (beforeTokens < 200)
273
+ continue; // Skip small outputs
274
+ const relativePath = `${runDir}/tasks/${taskDir}/${file}`;
275
+ // Skip if already summarized
276
+ if (state.toolOutputSummaries.some((s) => s.relativePath === relativePath))
277
+ continue;
278
+ const targetLength = Math.ceil(content.length * (1 - config.toolOutputTargetReduction));
279
+ const truncated = content.slice(0, targetLength) + "\n... [compacted]";
280
+ const afterTokens = estimateTokens(truncated);
281
+ state.toolOutputSummaries.push({
282
+ relativePath,
283
+ summary: truncated,
284
+ originalTokens: beforeTokens,
285
+ });
286
+ tokensBefore += beforeTokens;
287
+ tokensAfter += afterTokens;
288
+ itemsCompacted++;
289
+ }
290
+ catch {
291
+ continue;
292
+ }
293
+ }
294
+ }
295
+ }
296
+ if (itemsCompacted === 0)
297
+ return undefined;
298
+ return { strategy, tokensBefore, tokensAfter, itemsCompacted, compactedAt: now };
299
+ }
300
+ return undefined;
301
+ }
302
+ /**
303
+ * Render iteration digests as markdown for prompt injection.
304
+ */
305
+ function renderCompactedHistory(state) {
306
+ if (state.iterationDigests.length === 0)
307
+ return "";
308
+ const lines = state.iterationDigests.map((d) => `- **Iter ${d.iteration}** (${d.runId}): ${d.summary} [${d.durationSeconds.toFixed(1)}s]`);
309
+ return `## Compacted History\n\n${lines.join("\n")}\n\n_${state.totalTokensSaved} tokens saved across ${state.operations.length} compaction(s)._`;
310
+ }
@@ -0,0 +1,16 @@
1
+ import type { ContextInjection, ContextProvider, TurnContext } from '@a5c-ai/genty-core/extensions';
2
+ export interface DynamicContextPipeline {
3
+ providers: ContextProvider[];
4
+ addProvider(provider: ContextProvider): void;
5
+ removeProvider(id: string): void;
6
+ collectInjections(turnCtx: TurnContext): Promise<ContextInjection[]>;
7
+ applyInjections(injections: ContextInjection[], messages: Array<{
8
+ role: string;
9
+ content: string;
10
+ }>): Array<{
11
+ role: string;
12
+ content: string;
13
+ }>;
14
+ }
15
+ export declare function createDynamicContextPipeline(): DynamicContextPipeline;
16
+ //# sourceMappingURL=dynamic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../src/context/dynamic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEpG,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrE,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/I;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,CAwDrE"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDynamicContextPipeline = createDynamicContextPipeline;
4
+ function createDynamicContextPipeline() {
5
+ const providers = [];
6
+ return {
7
+ providers,
8
+ addProvider(provider) {
9
+ providers.push(provider);
10
+ },
11
+ removeProvider(id) {
12
+ const idx = providers.findIndex(p => p.id === id);
13
+ if (idx >= 0)
14
+ providers.splice(idx, 1);
15
+ },
16
+ async collectInjections(turnCtx) {
17
+ const results = [];
18
+ for (const provider of providers) {
19
+ try {
20
+ const injection = await provider.provide(turnCtx);
21
+ results.push(injection);
22
+ }
23
+ catch {
24
+ // Provider errors must not block the turn
25
+ }
26
+ }
27
+ return results;
28
+ },
29
+ applyInjections(injections, messages) {
30
+ const result = [...messages];
31
+ let systemAppend = '';
32
+ for (const injection of injections) {
33
+ if (injection.messages) {
34
+ const lastUserIdx = result.findLastIndex((m) => m.role === 'user');
35
+ if (lastUserIdx >= 0) {
36
+ result.splice(lastUserIdx, 0, ...injection.messages);
37
+ }
38
+ else {
39
+ result.push(...injection.messages);
40
+ }
41
+ }
42
+ if (injection.systemPromptAppend) {
43
+ systemAppend += '\n' + injection.systemPromptAppend;
44
+ }
45
+ }
46
+ if (systemAppend && result.length > 0) {
47
+ const first = result[0];
48
+ if (first.role === 'system') {
49
+ result[0] = { ...first, content: first.content + systemAppend };
50
+ }
51
+ }
52
+ return result;
53
+ },
54
+ };
55
+ }
@@ -0,0 +1,8 @@
1
+ export interface LoadedInstructions {
2
+ agentInstructions: string[];
3
+ systemPrompt?: string;
4
+ systemPromptMode: 'replace' | 'append' | 'none';
5
+ sources: string[];
6
+ }
7
+ export declare function loadInstructions(cwd: string): LoadedInstructions;
8
+ //# sourceMappingURL=instructions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/context/instructions.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAiDhE"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadInstructions = loadInstructions;
4
+ const node_fs_1 = require("node:fs");
5
+ const node_path_1 = require("node:path");
6
+ const node_os_1 = require("node:os");
7
+ function loadInstructions(cwd) {
8
+ const agentInstructions = [];
9
+ const sources = [];
10
+ // 1. Global: ~/.genty/agent/AGENTS.md
11
+ const globalAgentsPath = (0, node_path_1.join)((0, node_os_1.homedir)(), '.genty', 'agent', 'AGENTS.md');
12
+ if ((0, node_fs_1.existsSync)(globalAgentsPath)) {
13
+ agentInstructions.push((0, node_fs_1.readFileSync)(globalAgentsPath, 'utf8'));
14
+ sources.push(globalAgentsPath);
15
+ }
16
+ // 2. Walk parent directories from cwd to root
17
+ const parentPaths = collectParentPaths(cwd);
18
+ for (const dir of parentPaths) {
19
+ const agentsPath = (0, node_path_1.join)(dir, 'AGENTS.md');
20
+ if ((0, node_fs_1.existsSync)(agentsPath)) {
21
+ agentInstructions.push((0, node_fs_1.readFileSync)(agentsPath, 'utf8'));
22
+ sources.push(agentsPath);
23
+ }
24
+ const gentyMdPath = (0, node_path_1.join)(dir, 'GENTY.md');
25
+ if ((0, node_fs_1.existsSync)(gentyMdPath)) {
26
+ agentInstructions.push((0, node_fs_1.readFileSync)(gentyMdPath, 'utf8'));
27
+ sources.push(gentyMdPath);
28
+ }
29
+ }
30
+ // 3. CWD itself (if not already included)
31
+ for (const name of ['AGENTS.md', 'GENTY.md']) {
32
+ const cwdPath = (0, node_path_1.join)(cwd, name);
33
+ if ((0, node_fs_1.existsSync)(cwdPath) && !sources.includes(cwdPath)) {
34
+ agentInstructions.push((0, node_fs_1.readFileSync)(cwdPath, 'utf8'));
35
+ sources.push(cwdPath);
36
+ }
37
+ }
38
+ // 4. SYSTEM.md
39
+ let systemPrompt;
40
+ let systemPromptMode = 'none';
41
+ const systemMdPath = (0, node_path_1.join)(cwd, 'SYSTEM.md');
42
+ if ((0, node_fs_1.existsSync)(systemMdPath)) {
43
+ const content = (0, node_fs_1.readFileSync)(systemMdPath, 'utf8');
44
+ const { mode, body } = parseSystemMd(content);
45
+ systemPrompt = body;
46
+ systemPromptMode = mode;
47
+ sources.push(systemMdPath);
48
+ }
49
+ return { agentInstructions, systemPrompt, systemPromptMode, sources };
50
+ }
51
+ function collectParentPaths(cwd) {
52
+ const paths = [];
53
+ let current = (0, node_path_1.resolve)(cwd);
54
+ const root = (0, node_path_1.parse)(current).root;
55
+ // Walk up, excluding cwd itself (added separately) and root
56
+ current = (0, node_path_1.dirname)(current);
57
+ while (current !== root && current !== (0, node_path_1.dirname)(current)) {
58
+ paths.unshift(current); // Parents first, then children
59
+ current = (0, node_path_1.dirname)(current);
60
+ }
61
+ return paths;
62
+ }
63
+ function parseSystemMd(content) {
64
+ const lines = content.split('\n');
65
+ let mode = 'append';
66
+ // Check for frontmatter
67
+ if (lines[0]?.trim() === '---') {
68
+ const endIdx = lines.indexOf('---', 1);
69
+ if (endIdx > 0) {
70
+ const frontmatter = lines.slice(1, endIdx).join('\n');
71
+ if (frontmatter.includes('mode: replace'))
72
+ mode = 'replace';
73
+ return { mode, body: lines.slice(endIdx + 1).join('\n').trim() };
74
+ }
75
+ }
76
+ return { mode, body: content.trim() };
77
+ }