@a5c-ai/genty-platform 5.1.1-staging.0007199a1cb2

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 (749) 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 +301 -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 +127 -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 +279 -0
  29. package/dist/api/sessions.d.ts +17 -0
  30. package/dist/api/sessions.d.ts.map +1 -0
  31. package/dist/api/sessions.js +58 -0
  32. package/dist/api/utils.d.ts +28 -0
  33. package/dist/api/utils.d.ts.map +1 -0
  34. package/dist/api/utils.js +74 -0
  35. package/dist/breakpoints/analytics.d.ts +46 -0
  36. package/dist/breakpoints/analytics.d.ts.map +1 -0
  37. package/dist/breakpoints/analytics.js +64 -0
  38. package/dist/breakpoints/approvalChains.d.ts +68 -0
  39. package/dist/breakpoints/approvalChains.d.ts.map +1 -0
  40. package/dist/breakpoints/approvalChains.js +111 -0
  41. package/dist/breakpoints/delegation.d.ts +42 -0
  42. package/dist/breakpoints/delegation.d.ts.map +1 -0
  43. package/dist/breakpoints/delegation.js +199 -0
  44. package/dist/breakpoints/delegationTypes.d.ts +46 -0
  45. package/dist/breakpoints/delegationTypes.d.ts.map +1 -0
  46. package/dist/breakpoints/delegationTypes.js +10 -0
  47. package/dist/breakpoints/postures.d.ts +28 -0
  48. package/dist/breakpoints/postures.d.ts.map +1 -0
  49. package/dist/breakpoints/postures.js +100 -0
  50. package/dist/compression/compaction.d.ts +82 -0
  51. package/dist/compression/compaction.d.ts.map +1 -0
  52. package/dist/compression/compaction.js +310 -0
  53. package/dist/compression/compactionStrategy.d.ts +37 -0
  54. package/dist/compression/compactionStrategy.d.ts.map +1 -0
  55. package/dist/compression/compactionStrategy.js +52 -0
  56. package/dist/compression/compressionFamilies.d.ts +39 -0
  57. package/dist/compression/compressionFamilies.d.ts.map +1 -0
  58. package/dist/compression/compressionFamilies.js +123 -0
  59. package/dist/context/dynamic.d.ts +16 -0
  60. package/dist/context/dynamic.d.ts.map +1 -0
  61. package/dist/context/dynamic.js +55 -0
  62. package/dist/context/instructions.d.ts +15 -0
  63. package/dist/context/instructions.d.ts.map +1 -0
  64. package/dist/context/instructions.js +97 -0
  65. package/dist/cost/claudeCodeParser.d.ts +81 -0
  66. package/dist/cost/claudeCodeParser.d.ts.map +1 -0
  67. package/dist/cost/claudeCodeParser.js +232 -0
  68. package/dist/cost/collector.d.ts +42 -0
  69. package/dist/cost/collector.d.ts.map +1 -0
  70. package/dist/cost/collector.js +105 -0
  71. package/dist/cost/effectCost.d.ts +23 -0
  72. package/dist/cost/effectCost.d.ts.map +1 -0
  73. package/dist/cost/effectCost.js +26 -0
  74. package/dist/cost/index.d.ts +7 -0
  75. package/dist/cost/index.d.ts.map +1 -0
  76. package/dist/cost/index.js +28 -0
  77. package/dist/cost/journal.d.ts +40 -0
  78. package/dist/cost/journal.d.ts.map +1 -0
  79. package/dist/cost/journal.js +163 -0
  80. package/dist/cost/types.d.ts +172 -0
  81. package/dist/cost/types.d.ts.map +1 -0
  82. package/dist/cost/types.js +229 -0
  83. package/dist/daemon/automationExecutor.d.ts +16 -0
  84. package/dist/daemon/automationExecutor.d.ts.map +1 -0
  85. package/dist/daemon/automationExecutor.js +222 -0
  86. package/dist/daemon/config.d.ts +8 -0
  87. package/dist/daemon/config.d.ts.map +1 -0
  88. package/dist/daemon/config.js +245 -0
  89. package/dist/daemon/daemonLog.d.ts +13 -0
  90. package/dist/daemon/daemonLog.d.ts.map +1 -0
  91. package/dist/daemon/daemonLog.js +64 -0
  92. package/dist/daemon/durableQueue.d.ts +41 -0
  93. package/dist/daemon/durableQueue.d.ts.map +1 -0
  94. package/dist/daemon/durableQueue.js +183 -0
  95. package/dist/daemon/fileWatcher.d.ts +9 -0
  96. package/dist/daemon/fileWatcher.d.ts.map +1 -0
  97. package/dist/daemon/fileWatcher.js +144 -0
  98. package/dist/daemon/index.d.ts +9 -0
  99. package/dist/daemon/index.d.ts.map +1 -0
  100. package/dist/daemon/index.js +26 -0
  101. package/dist/daemon/lifecycle.d.ts +12 -0
  102. package/dist/daemon/lifecycle.d.ts.map +1 -0
  103. package/dist/daemon/lifecycle.js +257 -0
  104. package/dist/daemon/loop.d.ts +27 -0
  105. package/dist/daemon/loop.d.ts.map +1 -0
  106. package/dist/daemon/loop.js +387 -0
  107. package/dist/daemon/timerScheduler.d.ts +13 -0
  108. package/dist/daemon/timerScheduler.d.ts.map +1 -0
  109. package/dist/daemon/timerScheduler.js +212 -0
  110. package/dist/daemon/types.d.ts +122 -0
  111. package/dist/daemon/types.d.ts.map +1 -0
  112. package/dist/daemon/types.js +25 -0
  113. package/dist/daemon/webhookListener.d.ts +6 -0
  114. package/dist/daemon/webhookListener.d.ts.map +1 -0
  115. package/dist/daemon/webhookListener.js +132 -0
  116. package/dist/extensions/discovery.d.ts +15 -0
  117. package/dist/extensions/discovery.d.ts.map +1 -0
  118. package/dist/extensions/discovery.js +119 -0
  119. package/dist/extensions/installer.d.ts +14 -0
  120. package/dist/extensions/installer.d.ts.map +1 -0
  121. package/dist/extensions/installer.js +100 -0
  122. package/dist/governance/authority.d.ts +68 -0
  123. package/dist/governance/authority.d.ts.map +1 -0
  124. package/dist/governance/authority.js +136 -0
  125. package/dist/governance/bridge.d.ts +17 -0
  126. package/dist/governance/bridge.d.ts.map +1 -0
  127. package/dist/governance/bridge.js +46 -0
  128. package/dist/governance/builtins.d.ts +25 -0
  129. package/dist/governance/builtins.d.ts.map +1 -0
  130. package/dist/governance/builtins.js +67 -0
  131. package/dist/governance/categories.d.ts +58 -0
  132. package/dist/governance/categories.d.ts.map +1 -0
  133. package/dist/governance/categories.js +120 -0
  134. package/dist/governance/decisionTrail.d.ts +60 -0
  135. package/dist/governance/decisionTrail.d.ts.map +1 -0
  136. package/dist/governance/decisionTrail.js +68 -0
  137. package/dist/governance/engine.d.ts +20 -0
  138. package/dist/governance/engine.d.ts.map +1 -0
  139. package/dist/governance/engine.js +124 -0
  140. package/dist/governance/index.d.ts +20 -0
  141. package/dist/governance/index.d.ts.map +1 -0
  142. package/dist/governance/index.js +75 -0
  143. package/dist/governance/logging.d.ts +18 -0
  144. package/dist/governance/logging.d.ts.map +1 -0
  145. package/dist/governance/logging.js +83 -0
  146. package/dist/governance/mandate.d.ts +83 -0
  147. package/dist/governance/mandate.d.ts.map +1 -0
  148. package/dist/governance/mandate.js +180 -0
  149. package/dist/governance/permissionEvents.d.ts +51 -0
  150. package/dist/governance/permissionEvents.d.ts.map +1 -0
  151. package/dist/governance/permissionEvents.js +52 -0
  152. package/dist/governance/permissionPropagation.d.ts +18 -0
  153. package/dist/governance/permissionPropagation.d.ts.map +1 -0
  154. package/dist/governance/permissionPropagation.js +58 -0
  155. package/dist/governance/postureBridge.d.ts +17 -0
  156. package/dist/governance/postureBridge.d.ts.map +1 -0
  157. package/dist/governance/postureBridge.js +117 -0
  158. package/dist/governance/privacySettings.d.ts +31 -0
  159. package/dist/governance/privacySettings.d.ts.map +1 -0
  160. package/dist/governance/privacySettings.js +104 -0
  161. package/dist/governance/sandboxBridge.d.ts +49 -0
  162. package/dist/governance/sandboxBridge.d.ts.map +1 -0
  163. package/dist/governance/sandboxBridge.js +77 -0
  164. package/dist/governance/sandboxPolicy.d.ts +51 -0
  165. package/dist/governance/sandboxPolicy.d.ts.map +1 -0
  166. package/dist/governance/sandboxPolicy.js +177 -0
  167. package/dist/governance/types.d.ts +7 -0
  168. package/dist/governance/types.d.ts.map +1 -0
  169. package/dist/governance/types.js +10 -0
  170. package/dist/harness/adapters/adapterBridge.d.ts +71 -0
  171. package/dist/harness/adapters/adapterBridge.d.ts.map +1 -0
  172. package/dist/harness/adapters/adapterBridge.js +117 -0
  173. package/dist/harness/adapters/adapterClientFactory.d.ts +29 -0
  174. package/dist/harness/adapters/adapterClientFactory.d.ts.map +1 -0
  175. package/dist/harness/adapters/adapterClientFactory.js +90 -0
  176. package/dist/harness/adapters/adapterEventEmitter.d.ts +51 -0
  177. package/dist/harness/adapters/adapterEventEmitter.d.ts.map +1 -0
  178. package/dist/harness/adapters/adapterEventEmitter.js +143 -0
  179. package/dist/harness/adapters/adapterEventMapper.d.ts +63 -0
  180. package/dist/harness/adapters/adapterEventMapper.d.ts.map +1 -0
  181. package/dist/harness/adapters/adapterEventMapper.js +100 -0
  182. package/dist/harness/adapters/adapterHarnessMap.d.ts +25 -0
  183. package/dist/harness/adapters/adapterHarnessMap.d.ts.map +1 -0
  184. package/dist/harness/adapters/adapterHarnessMap.js +55 -0
  185. package/dist/harness/adapters/adapterStdinReader.d.ts +45 -0
  186. package/dist/harness/adapters/adapterStdinReader.d.ts.map +1 -0
  187. package/dist/harness/adapters/adapterStdinReader.js +106 -0
  188. package/dist/harness/adapters/adapterTypes.d.ts +122 -0
  189. package/dist/harness/adapters/adapterTypes.d.ts.map +1 -0
  190. package/dist/harness/adapters/adapterTypes.js +11 -0
  191. package/dist/harness/adapters/index.d.ts +17 -0
  192. package/dist/harness/adapters/index.d.ts.map +1 -0
  193. package/dist/harness/adapters/index.js +34 -0
  194. package/dist/harness/backgroundTracker.d.ts +64 -0
  195. package/dist/harness/backgroundTracker.d.ts.map +1 -0
  196. package/dist/harness/backgroundTracker.js +107 -0
  197. package/dist/harness/budgetDowngrade.d.ts +12 -0
  198. package/dist/harness/budgetDowngrade.d.ts.map +1 -0
  199. package/dist/harness/budgetDowngrade.js +71 -0
  200. package/dist/harness/builtInHarness.d.ts +3 -0
  201. package/dist/harness/builtInHarness.d.ts.map +1 -0
  202. package/dist/harness/builtInHarness.js +18 -0
  203. package/dist/harness/capabilityRouter.d.ts +76 -0
  204. package/dist/harness/capabilityRouter.d.ts.map +1 -0
  205. package/dist/harness/capabilityRouter.js +177 -0
  206. package/dist/harness/circuitBreaker.d.ts +51 -0
  207. package/dist/harness/circuitBreaker.d.ts.map +1 -0
  208. package/dist/harness/circuitBreaker.js +110 -0
  209. package/dist/harness/concurrentEffects.d.ts +39 -0
  210. package/dist/harness/concurrentEffects.d.ts.map +1 -0
  211. package/dist/harness/concurrentEffects.js +90 -0
  212. package/dist/harness/effectRouting.d.ts +57 -0
  213. package/dist/harness/effectRouting.d.ts.map +1 -0
  214. package/dist/harness/effectRouting.js +130 -0
  215. package/dist/harness/extensionToolBridge.d.ts +11 -0
  216. package/dist/harness/extensionToolBridge.d.ts.map +1 -0
  217. package/dist/harness/extensionToolBridge.js +48 -0
  218. package/dist/harness/fallbackChains.d.ts +42 -0
  219. package/dist/harness/fallbackChains.d.ts.map +1 -0
  220. package/dist/harness/fallbackChains.js +69 -0
  221. package/dist/harness/gentySessionContext.d.ts +31 -0
  222. package/dist/harness/gentySessionContext.d.ts.map +1 -0
  223. package/dist/harness/gentySessionContext.js +49 -0
  224. package/dist/harness/gentySessionIntegration.d.ts +16 -0
  225. package/dist/harness/gentySessionIntegration.d.ts.map +1 -0
  226. package/dist/harness/gentySessionIntegration.js +66 -0
  227. package/dist/harness/hostContract.d.ts +69 -0
  228. package/dist/harness/hostContract.d.ts.map +1 -0
  229. package/dist/harness/hostContract.js +169 -0
  230. package/dist/harness/index.d.ts +25 -0
  231. package/dist/harness/index.d.ts.map +1 -0
  232. package/dist/harness/index.js +124 -0
  233. package/dist/harness/internal/createRun/agent-core-loop.d.ts +44 -0
  234. package/dist/harness/internal/createRun/agent-core-loop.d.ts.map +1 -0
  235. package/dist/harness/internal/createRun/agent-core-loop.js +247 -0
  236. package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
  237. package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
  238. package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
  239. package/dist/harness/internal/createRun/index.d.ts +25 -0
  240. package/dist/harness/internal/createRun/index.d.ts.map +1 -0
  241. package/dist/harness/internal/createRun/index.js +196 -0
  242. package/dist/harness/internal/createRun/orchestration/constants.d.ts +8 -0
  243. package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
  244. package/dist/harness/internal/createRun/orchestration/constants.js +22 -0
  245. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts +23 -0
  246. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts.map +1 -0
  247. package/dist/harness/internal/createRun/orchestration/dispatch.js +142 -0
  248. package/dist/harness/internal/createRun/orchestration/effects.d.ts +135 -0
  249. package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
  250. package/dist/harness/internal/createRun/orchestration/effects.js +948 -0
  251. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +21 -0
  252. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
  253. package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +80 -0
  254. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
  255. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
  256. package/dist/harness/internal/createRun/orchestration/externalPhase.js +404 -0
  257. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
  258. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
  259. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +107 -0
  260. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts +32 -0
  261. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts.map +1 -0
  262. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.js +76 -0
  263. package/dist/harness/internal/createRun/orchestration/index.d.ts +49 -0
  264. package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
  265. package/dist/harness/internal/createRun/orchestration/index.js +505 -0
  266. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +22 -0
  267. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
  268. package/dist/harness/internal/createRun/orchestration/internalPhase.js +787 -0
  269. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +28 -0
  270. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
  271. package/dist/harness/internal/createRun/orchestration/internalTools.js +265 -0
  272. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
  273. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
  274. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
  275. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
  276. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
  277. package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
  278. package/dist/harness/internal/createRun/orchestration/types.d.ts +48 -0
  279. package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
  280. package/dist/harness/internal/createRun/orchestration/types.js +2 -0
  281. package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
  282. package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
  283. package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
  284. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts +4 -0
  285. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts.map +1 -0
  286. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.js +36 -0
  287. package/dist/harness/internal/createRun/output.d.ts +40 -0
  288. package/dist/harness/internal/createRun/output.d.ts.map +1 -0
  289. package/dist/harness/internal/createRun/output.js +469 -0
  290. package/dist/harness/internal/createRun/pi.d.ts +10 -0
  291. package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
  292. package/dist/harness/internal/createRun/pi.js +35 -0
  293. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
  294. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
  295. package/dist/harness/internal/createRun/planProcess/agentOutput.js +161 -0
  296. package/dist/harness/internal/createRun/planProcess/delegation.d.ts +33 -0
  297. package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
  298. package/dist/harness/internal/createRun/planProcess/delegation.js +202 -0
  299. package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
  300. package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
  301. package/dist/harness/internal/createRun/planProcess/external.js +140 -0
  302. package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
  303. package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
  304. package/dist/harness/internal/createRun/planProcess/index.js +24 -0
  305. package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
  306. package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
  307. package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
  308. package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
  309. package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
  310. package/dist/harness/internal/createRun/planProcess/phase.js +396 -0
  311. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +44 -0
  312. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
  313. package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +161 -0
  314. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
  315. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
  316. package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
  317. package/dist/harness/internal/createRun/planProcess/prompts.d.ts +22 -0
  318. package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
  319. package/dist/harness/internal/createRun/planProcess/prompts.js +241 -0
  320. package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
  321. package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
  322. package/dist/harness/internal/createRun/planProcess/recovery.js +205 -0
  323. package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
  324. package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
  325. package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
  326. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
  327. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
  328. package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
  329. package/dist/harness/internal/createRun/planProcess/validation.d.ts +10 -0
  330. package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
  331. package/dist/harness/internal/createRun/planProcess/validation.js +289 -0
  332. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +13 -0
  333. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
  334. package/dist/harness/internal/createRun/planProcess/validationSource.js +345 -0
  335. package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
  336. package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
  337. package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
  338. package/dist/harness/internal/createRun/prompts.d.ts +76 -0
  339. package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
  340. package/dist/harness/internal/createRun/prompts.js +466 -0
  341. package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
  342. package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
  343. package/dist/harness/internal/createRun/resumeState.js +134 -0
  344. package/dist/harness/internal/createRun/utils.d.ts +195 -0
  345. package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
  346. package/dist/harness/internal/createRun/utils.js +237 -0
  347. package/dist/harness/internal.d.ts +13 -0
  348. package/dist/harness/internal.d.ts.map +1 -0
  349. package/dist/harness/internal.js +151 -0
  350. package/dist/harness/invoker/launch.d.ts +20 -0
  351. package/dist/harness/invoker/launch.d.ts.map +1 -0
  352. package/dist/harness/invoker/launch.js +23 -0
  353. package/dist/harness/invoker/processControl.d.ts +11 -0
  354. package/dist/harness/invoker/processControl.d.ts.map +1 -0
  355. package/dist/harness/invoker/processControl.js +50 -0
  356. package/dist/harness/invoker.d.ts +44 -0
  357. package/dist/harness/invoker.d.ts.map +1 -0
  358. package/dist/harness/invoker.js +343 -0
  359. package/dist/harness/lspIntegration.d.ts +48 -0
  360. package/dist/harness/lspIntegration.d.ts.map +1 -0
  361. package/dist/harness/lspIntegration.js +45 -0
  362. package/dist/harness/modeSelector.d.ts +50 -0
  363. package/dist/harness/modeSelector.d.ts.map +1 -0
  364. package/dist/harness/modeSelector.js +124 -0
  365. package/dist/harness/modelSelection.d.ts +37 -0
  366. package/dist/harness/modelSelection.d.ts.map +1 -0
  367. package/dist/harness/modelSelection.js +81 -0
  368. package/dist/harness/multiHarnessDispatch.d.ts +49 -0
  369. package/dist/harness/multiHarnessDispatch.d.ts.map +1 -0
  370. package/dist/harness/multiHarnessDispatch.js +73 -0
  371. package/dist/harness/oauthIntegration.d.ts +55 -0
  372. package/dist/harness/oauthIntegration.d.ts.map +1 -0
  373. package/dist/harness/oauthIntegration.js +84 -0
  374. package/dist/harness/operatorCommands.d.ts +38 -0
  375. package/dist/harness/operatorCommands.d.ts.map +1 -0
  376. package/dist/harness/operatorCommands.js +118 -0
  377. package/dist/harness/parallelFileOps.d.ts +56 -0
  378. package/dist/harness/parallelFileOps.d.ts.map +1 -0
  379. package/dist/harness/parallelFileOps.js +166 -0
  380. package/dist/harness/planMode.d.ts +68 -0
  381. package/dist/harness/planMode.d.ts.map +1 -0
  382. package/dist/harness/planMode.js +145 -0
  383. package/dist/harness/profileOrchestration.d.ts +55 -0
  384. package/dist/harness/profileOrchestration.d.ts.map +1 -0
  385. package/dist/harness/profileOrchestration.js +61 -0
  386. package/dist/harness/selectionPolicies.d.ts +29 -0
  387. package/dist/harness/selectionPolicies.d.ts.map +1 -0
  388. package/dist/harness/selectionPolicies.js +165 -0
  389. package/dist/harness/streamingParallelism.d.ts +43 -0
  390. package/dist/harness/streamingParallelism.d.ts.map +1 -0
  391. package/dist/harness/streamingParallelism.js +113 -0
  392. package/dist/harness/streamingRenderer.d.ts +64 -0
  393. package/dist/harness/streamingRenderer.d.ts.map +1 -0
  394. package/dist/harness/streamingRenderer.js +85 -0
  395. package/dist/harness/types.d.ts +289 -0
  396. package/dist/harness/types.d.ts.map +1 -0
  397. package/dist/harness/types.js +34 -0
  398. package/dist/harness/websocketSession.d.ts +63 -0
  399. package/dist/harness/websocketSession.d.ts.map +1 -0
  400. package/dist/harness/websocketSession.js +113 -0
  401. package/dist/harness/worktreeIsolation.d.ts +39 -0
  402. package/dist/harness/worktreeIsolation.d.ts.map +1 -0
  403. package/dist/harness/worktreeIsolation.js +85 -0
  404. package/dist/index.d.ts +16 -0
  405. package/dist/index.d.ts.map +1 -0
  406. package/dist/index.js +54 -0
  407. package/dist/interaction/askUserQuestion/core.d.ts +8 -0
  408. package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
  409. package/dist/interaction/askUserQuestion/core.js +112 -0
  410. package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
  411. package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
  412. package/dist/interaction/askUserQuestion/terminal.js +128 -0
  413. package/dist/interaction/askUserQuestion.d.ts +10 -0
  414. package/dist/interaction/askUserQuestion.d.ts.map +1 -0
  415. package/dist/interaction/askUserQuestion.js +295 -0
  416. package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
  417. package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
  418. package/dist/interaction/askUserQuestionTypes.js +6 -0
  419. package/dist/interaction/commandDiscovery.d.ts +38 -0
  420. package/dist/interaction/commandDiscovery.d.ts.map +1 -0
  421. package/dist/interaction/commandDiscovery.js +106 -0
  422. package/dist/interaction/index.d.ts +11 -0
  423. package/dist/interaction/index.d.ts.map +1 -0
  424. package/dist/interaction/index.js +42 -0
  425. package/dist/interaction/interactionRouter.d.ts +25 -0
  426. package/dist/interaction/interactionRouter.d.ts.map +1 -0
  427. package/dist/interaction/interactionRouter.js +55 -0
  428. package/dist/interaction/model-switch.d.ts +16 -0
  429. package/dist/interaction/model-switch.d.ts.map +1 -0
  430. package/dist/interaction/model-switch.js +41 -0
  431. package/dist/interaction/permissionApprovalUi.d.ts +32 -0
  432. package/dist/interaction/permissionApprovalUi.d.ts.map +1 -0
  433. package/dist/interaction/permissionApprovalUi.js +96 -0
  434. package/dist/interaction/steering.d.ts +17 -0
  435. package/dist/interaction/steering.d.ts.map +1 -0
  436. package/dist/interaction/steering.js +41 -0
  437. package/dist/interaction/typedEffectPatterns.d.ts +55 -0
  438. package/dist/interaction/typedEffectPatterns.d.ts.map +1 -0
  439. package/dist/interaction/typedEffectPatterns.js +190 -0
  440. package/dist/mcp/channels/allowlist.d.ts +19 -0
  441. package/dist/mcp/channels/allowlist.d.ts.map +1 -0
  442. package/dist/mcp/channels/allowlist.js +140 -0
  443. package/dist/mcp/channels/channelManager.d.ts +64 -0
  444. package/dist/mcp/channels/channelManager.d.ts.map +1 -0
  445. package/dist/mcp/channels/channelManager.js +137 -0
  446. package/dist/mcp/channels/inboundQueue.d.ts +47 -0
  447. package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
  448. package/dist/mcp/channels/inboundQueue.js +96 -0
  449. package/dist/mcp/channels/index.d.ts +16 -0
  450. package/dist/mcp/channels/index.d.ts.map +1 -0
  451. package/dist/mcp/channels/index.js +38 -0
  452. package/dist/mcp/channels/outbound.d.ts +33 -0
  453. package/dist/mcp/channels/outbound.d.ts.map +1 -0
  454. package/dist/mcp/channels/outbound.js +94 -0
  455. package/dist/mcp/channels/permissionRelay.d.ts +62 -0
  456. package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
  457. package/dist/mcp/channels/permissionRelay.js +159 -0
  458. package/dist/mcp/channels/types.d.ts +135 -0
  459. package/dist/mcp/channels/types.d.ts.map +1 -0
  460. package/dist/mcp/channels/types.js +16 -0
  461. package/dist/mcp/client/auth.d.ts +57 -0
  462. package/dist/mcp/client/auth.d.ts.map +1 -0
  463. package/dist/mcp/client/auth.js +99 -0
  464. package/dist/mcp/client/config.d.ts +28 -0
  465. package/dist/mcp/client/config.d.ts.map +1 -0
  466. package/dist/mcp/client/config.js +144 -0
  467. package/dist/mcp/client/executor.d.ts +30 -0
  468. package/dist/mcp/client/executor.d.ts.map +1 -0
  469. package/dist/mcp/client/executor.js +61 -0
  470. package/dist/mcp/client/index.d.ts +13 -0
  471. package/dist/mcp/client/index.d.ts.map +1 -0
  472. package/dist/mcp/client/index.js +30 -0
  473. package/dist/mcp/client/manager.d.ts +74 -0
  474. package/dist/mcp/client/manager.d.ts.map +1 -0
  475. package/dist/mcp/client/manager.js +215 -0
  476. package/dist/mcp/client/resourceBrowser.d.ts +52 -0
  477. package/dist/mcp/client/resourceBrowser.d.ts.map +1 -0
  478. package/dist/mcp/client/resourceBrowser.js +80 -0
  479. package/dist/mcp/client/toolRegistry.d.ts +113 -0
  480. package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
  481. package/dist/mcp/client/toolRegistry.js +190 -0
  482. package/dist/mcp/client/types.d.ts +96 -0
  483. package/dist/mcp/client/types.d.ts.map +1 -0
  484. package/dist/mcp/client/types.js +15 -0
  485. package/dist/mcp/transport/index.d.ts +9 -0
  486. package/dist/mcp/transport/index.d.ts.map +1 -0
  487. package/dist/mcp/transport/index.js +13 -0
  488. package/dist/mcp/transport/session.d.ts +18 -0
  489. package/dist/mcp/transport/session.d.ts.map +1 -0
  490. package/dist/mcp/transport/session.js +78 -0
  491. package/dist/mcp/transport/types.d.ts +19 -0
  492. package/dist/mcp/transport/types.d.ts.map +1 -0
  493. package/dist/mcp/transport/types.js +7 -0
  494. package/dist/mcp/transport/websocket.d.ts +41 -0
  495. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  496. package/dist/mcp/transport/websocket.js +271 -0
  497. package/dist/microagents/discovery.d.ts +34 -0
  498. package/dist/microagents/discovery.d.ts.map +1 -0
  499. package/dist/microagents/discovery.js +72 -0
  500. package/dist/microagents/dispatch.d.ts +36 -0
  501. package/dist/microagents/dispatch.d.ts.map +1 -0
  502. package/dist/microagents/dispatch.js +59 -0
  503. package/dist/microagents/index.d.ts +35 -0
  504. package/dist/microagents/index.d.ts.map +1 -0
  505. package/dist/microagents/index.js +44 -0
  506. package/dist/microagents/subprocess.d.ts +41 -0
  507. package/dist/microagents/subprocess.d.ts.map +1 -0
  508. package/dist/microagents/subprocess.js +75 -0
  509. package/dist/observability/alertWebhooks.d.ts +35 -0
  510. package/dist/observability/alertWebhooks.d.ts.map +1 -0
  511. package/dist/observability/alertWebhooks.js +68 -0
  512. package/dist/observability/analytics.d.ts +66 -0
  513. package/dist/observability/analytics.d.ts.map +1 -0
  514. package/dist/observability/analytics.js +104 -0
  515. package/dist/observability/auditExport.d.ts +25 -0
  516. package/dist/observability/auditExport.d.ts.map +1 -0
  517. package/dist/observability/auditExport.js +108 -0
  518. package/dist/observability/contextIntrospection.d.ts +40 -0
  519. package/dist/observability/contextIntrospection.d.ts.map +1 -0
  520. package/dist/observability/contextIntrospection.js +93 -0
  521. package/dist/observability/failureTriage.d.ts +28 -0
  522. package/dist/observability/failureTriage.d.ts.map +1 -0
  523. package/dist/observability/failureTriage.js +168 -0
  524. package/dist/observability/health.d.ts +19 -0
  525. package/dist/observability/health.d.ts.map +1 -0
  526. package/dist/observability/health.js +129 -0
  527. package/dist/observability/index.d.ts +14 -0
  528. package/dist/observability/index.d.ts.map +1 -0
  529. package/dist/observability/index.js +53 -0
  530. package/dist/observability/progressSummarizer.d.ts +27 -0
  531. package/dist/observability/progressSummarizer.d.ts.map +1 -0
  532. package/dist/observability/progressSummarizer.js +143 -0
  533. package/dist/observability/promptPlan.d.ts +52 -0
  534. package/dist/observability/promptPlan.d.ts.map +1 -0
  535. package/dist/observability/promptPlan.js +101 -0
  536. package/dist/observability/resumeDashboard.d.ts +32 -0
  537. package/dist/observability/resumeDashboard.d.ts.map +1 -0
  538. package/dist/observability/resumeDashboard.js +204 -0
  539. package/dist/observability/runStatus.d.ts +44 -0
  540. package/dist/observability/runStatus.d.ts.map +1 -0
  541. package/dist/observability/runStatus.js +170 -0
  542. package/dist/observability/subagentHealth.d.ts +66 -0
  543. package/dist/observability/subagentHealth.d.ts.map +1 -0
  544. package/dist/observability/subagentHealth.js +107 -0
  545. package/dist/observability/subagentProgress.d.ts +64 -0
  546. package/dist/observability/subagentProgress.d.ts.map +1 -0
  547. package/dist/observability/subagentProgress.js +91 -0
  548. package/dist/observability/timeline.d.ts +11 -0
  549. package/dist/observability/timeline.d.ts.map +1 -0
  550. package/dist/observability/timeline.js +176 -0
  551. package/dist/observability/types.d.ts +62 -0
  552. package/dist/observability/types.d.ts.map +1 -0
  553. package/dist/observability/types.js +8 -0
  554. package/dist/observability/webhooks.d.ts +68 -0
  555. package/dist/observability/webhooks.d.ts.map +1 -0
  556. package/dist/observability/webhooks.js +132 -0
  557. package/dist/orchestration/defaultOrchestrationProvider.d.ts +30 -0
  558. package/dist/orchestration/defaultOrchestrationProvider.d.ts.map +1 -0
  559. package/dist/orchestration/defaultOrchestrationProvider.js +304 -0
  560. package/dist/orchestration/global.d.ts +27 -0
  561. package/dist/orchestration/global.d.ts.map +1 -0
  562. package/dist/orchestration/global.js +51 -0
  563. package/dist/orchestration/index.d.ts +12 -0
  564. package/dist/orchestration/index.d.ts.map +1 -0
  565. package/dist/orchestration/index.js +17 -0
  566. package/dist/orchestration/interfaces.d.ts +136 -0
  567. package/dist/orchestration/interfaces.d.ts.map +1 -0
  568. package/dist/orchestration/interfaces.js +11 -0
  569. package/dist/orchestration/registry.d.ts +30 -0
  570. package/dist/orchestration/registry.d.ts.map +1 -0
  571. package/dist/orchestration/registry.js +148 -0
  572. package/dist/plugins/ccCompatibility.d.ts +79 -0
  573. package/dist/plugins/ccCompatibility.d.ts.map +1 -0
  574. package/dist/plugins/ccCompatibility.js +139 -0
  575. package/dist/plugins/index.d.ts +16 -0
  576. package/dist/plugins/index.d.ts.map +1 -0
  577. package/dist/plugins/index.js +38 -0
  578. package/dist/plugins/loader.d.ts +37 -0
  579. package/dist/plugins/loader.d.ts.map +1 -0
  580. package/dist/plugins/loader.js +112 -0
  581. package/dist/plugins/management.d.ts +33 -0
  582. package/dist/plugins/management.d.ts.map +1 -0
  583. package/dist/plugins/management.js +99 -0
  584. package/dist/plugins/marketplace.d.ts +64 -0
  585. package/dist/plugins/marketplace.d.ts.map +1 -0
  586. package/dist/plugins/marketplace.js +101 -0
  587. package/dist/plugins/sandbox.d.ts +38 -0
  588. package/dist/plugins/sandbox.d.ts.map +1 -0
  589. package/dist/plugins/sandbox.js +109 -0
  590. package/dist/plugins/trust.d.ts +31 -0
  591. package/dist/plugins/trust.d.ts.map +1 -0
  592. package/dist/plugins/trust.js +66 -0
  593. package/dist/plugins/types.d.ts +27 -0
  594. package/dist/plugins/types.d.ts.map +1 -0
  595. package/dist/plugins/types.js +7 -0
  596. package/dist/plugins/validation.d.ts +32 -0
  597. package/dist/plugins/validation.d.ts.map +1 -0
  598. package/dist/plugins/validation.js +117 -0
  599. package/dist/plugins/version-check.d.ts +23 -0
  600. package/dist/plugins/version-check.d.ts.map +1 -0
  601. package/dist/plugins/version-check.js +70 -0
  602. package/dist/plugins/versioning.d.ts +40 -0
  603. package/dist/plugins/versioning.d.ts.map +1 -0
  604. package/dist/plugins/versioning.js +101 -0
  605. package/dist/processes/index.d.ts +12 -0
  606. package/dist/processes/index.d.ts.map +1 -0
  607. package/dist/processes/index.js +15 -0
  608. package/dist/processes/recommender.d.ts +36 -0
  609. package/dist/processes/recommender.d.ts.map +1 -0
  610. package/dist/processes/recommender.js +73 -0
  611. package/dist/processes/scorer.d.ts +26 -0
  612. package/dist/processes/scorer.d.ts.map +1 -0
  613. package/dist/processes/scorer.js +104 -0
  614. package/dist/processes/types.d.ts +48 -0
  615. package/dist/processes/types.d.ts.map +1 -0
  616. package/dist/processes/types.js +9 -0
  617. package/dist/runtime/index.d.ts +9 -0
  618. package/dist/runtime/index.d.ts.map +1 -0
  619. package/dist/runtime/index.js +9 -0
  620. package/dist/seams/contract.d.ts +63 -0
  621. package/dist/seams/contract.d.ts.map +1 -0
  622. package/dist/seams/contract.js +146 -0
  623. package/dist/seams/index.d.ts +3 -0
  624. package/dist/seams/index.d.ts.map +1 -0
  625. package/dist/seams/index.js +8 -0
  626. package/dist/session/context.d.ts +22 -0
  627. package/dist/session/context.d.ts.map +1 -0
  628. package/dist/session/context.js +113 -0
  629. package/dist/session/continuityState.d.ts +39 -0
  630. package/dist/session/continuityState.d.ts.map +1 -0
  631. package/dist/session/continuityState.js +164 -0
  632. package/dist/session/cost.d.ts +72 -0
  633. package/dist/session/cost.d.ts.map +1 -0
  634. package/dist/session/cost.js +221 -0
  635. package/dist/session/crossRunComm.d.ts +40 -0
  636. package/dist/session/crossRunComm.d.ts.map +1 -0
  637. package/dist/session/crossRunComm.js +86 -0
  638. package/dist/session/crossRunState.d.ts +8 -0
  639. package/dist/session/crossRunState.d.ts.map +1 -0
  640. package/dist/session/crossRunState.js +45 -0
  641. package/dist/session/discovery.d.ts +22 -0
  642. package/dist/session/discovery.d.ts.map +1 -0
  643. package/dist/session/discovery.js +51 -0
  644. package/dist/session/history.d.ts +30 -0
  645. package/dist/session/history.d.ts.map +1 -0
  646. package/dist/session/history.js +144 -0
  647. package/dist/session/index.d.ts +8 -0
  648. package/dist/session/index.d.ts.map +1 -0
  649. package/dist/session/index.js +73 -0
  650. package/dist/session/memoryConsolidation.d.ts +31 -0
  651. package/dist/session/memoryConsolidation.d.ts.map +1 -0
  652. package/dist/session/memoryConsolidation.js +135 -0
  653. package/dist/session/memoryExtraction.d.ts +65 -0
  654. package/dist/session/memoryExtraction.d.ts.map +1 -0
  655. package/dist/session/memoryExtraction.js +201 -0
  656. package/dist/session/parse.d.ts +45 -0
  657. package/dist/session/parse.d.ts.map +1 -0
  658. package/dist/session/parse.js +170 -0
  659. package/dist/session/persistence.d.ts +46 -0
  660. package/dist/session/persistence.d.ts.map +1 -0
  661. package/dist/session/persistence.js +180 -0
  662. package/dist/session/sessionSharing.d.ts +55 -0
  663. package/dist/session/sessionSharing.d.ts.map +1 -0
  664. package/dist/session/sessionSharing.js +113 -0
  665. package/dist/session/sessionTemplates.d.ts +57 -0
  666. package/dist/session/sessionTemplates.d.ts.map +1 -0
  667. package/dist/session/sessionTemplates.js +93 -0
  668. package/dist/session/types.d.ts +267 -0
  669. package/dist/session/types.d.ts.map +1 -0
  670. package/dist/session/types.js +45 -0
  671. package/dist/session/write.d.ts +61 -0
  672. package/dist/session/write.d.ts.map +1 -0
  673. package/dist/session/write.js +213 -0
  674. package/dist/skills/chain.d.ts +31 -0
  675. package/dist/skills/chain.d.ts.map +1 -0
  676. package/dist/skills/chain.js +113 -0
  677. package/dist/skills/discovery.d.ts +34 -0
  678. package/dist/skills/discovery.d.ts.map +1 -0
  679. package/dist/skills/discovery.js +185 -0
  680. package/dist/skills/index.d.ts +12 -0
  681. package/dist/skills/index.d.ts.map +1 -0
  682. package/dist/skills/index.js +18 -0
  683. package/dist/skills/router.d.ts +35 -0
  684. package/dist/skills/router.d.ts.map +1 -0
  685. package/dist/skills/router.js +143 -0
  686. package/dist/skills/types.d.ts +33 -0
  687. package/dist/skills/types.d.ts.map +1 -0
  688. package/dist/skills/types.js +5 -0
  689. package/dist/storage/atomic.d.ts +2 -0
  690. package/dist/storage/atomic.d.ts.map +1 -0
  691. package/dist/storage/atomic.js +54 -0
  692. package/dist/storage/clock.d.ts +2 -0
  693. package/dist/storage/clock.d.ts.map +1 -0
  694. package/dist/storage/clock.js +6 -0
  695. package/dist/storage/index.d.ts +9 -0
  696. package/dist/storage/index.d.ts.map +1 -0
  697. package/dist/storage/index.js +11 -0
  698. package/dist/storage/journalWatcher.d.ts +24 -0
  699. package/dist/storage/journalWatcher.d.ts.map +1 -0
  700. package/dist/storage/journalWatcher.js +173 -0
  701. package/dist/storage/paths.d.ts +5 -0
  702. package/dist/storage/paths.d.ts.map +1 -0
  703. package/dist/storage/paths.js +26 -0
  704. package/dist/storage/runFiles.d.ts +29 -0
  705. package/dist/storage/runFiles.d.ts.map +1 -0
  706. package/dist/storage/runFiles.js +85 -0
  707. package/dist/storage/snapshotState.d.ts +10 -0
  708. package/dist/storage/snapshotState.d.ts.map +1 -0
  709. package/dist/storage/snapshotState.js +15 -0
  710. package/dist/storage/storeTaskArtifacts.d.ts +6 -0
  711. package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
  712. package/dist/storage/storeTaskArtifacts.js +55 -0
  713. package/dist/storage/types.d.ts +21 -0
  714. package/dist/storage/types.d.ts.map +1 -0
  715. package/dist/storage/types.js +2 -0
  716. package/dist/tasks/crud.d.ts +33 -0
  717. package/dist/tasks/crud.d.ts.map +1 -0
  718. package/dist/tasks/crud.js +150 -0
  719. package/dist/tasks/index.d.ts +2 -0
  720. package/dist/tasks/index.d.ts.map +1 -0
  721. package/dist/tasks/index.js +9 -0
  722. package/dist/trust/harness-signing.d.ts +15 -0
  723. package/dist/trust/harness-signing.d.ts.map +1 -0
  724. package/dist/trust/harness-signing.js +46 -0
  725. package/dist/trust/key-store.d.ts +15 -0
  726. package/dist/trust/key-store.d.ts.map +1 -0
  727. package/dist/trust/key-store.js +66 -0
  728. package/dist/types.d.ts +81 -0
  729. package/dist/types.d.ts.map +1 -0
  730. package/dist/types.js +21 -0
  731. package/dist/utils/atomic.d.ts +16 -0
  732. package/dist/utils/atomic.d.ts.map +1 -0
  733. package/dist/utils/atomic.js +75 -0
  734. package/dist/utils/concurrency.d.ts +27 -0
  735. package/dist/utils/concurrency.d.ts.map +1 -0
  736. package/dist/utils/concurrency.js +42 -0
  737. package/dist/utils/defaults.d.ts +11 -0
  738. package/dist/utils/defaults.d.ts.map +1 -0
  739. package/dist/utils/defaults.js +13 -0
  740. package/dist/utils/errors.d.ts +50 -0
  741. package/dist/utils/errors.d.ts.map +1 -0
  742. package/dist/utils/errors.js +76 -0
  743. package/dist/utils/index.d.ts +7 -0
  744. package/dist/utils/index.d.ts.map +1 -0
  745. package/dist/utils/index.js +18 -0
  746. package/dist/utils/patterns.d.ts +35 -0
  747. package/dist/utils/patterns.d.ts.map +1 -0
  748. package/dist/utils/patterns.js +84 -0
  749. package/package.json +170 -0
@@ -0,0 +1,948 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.readProcessFileFingerprint = void 0;
37
+ exports.resolveHarnessSessionIdForBinding = resolveHarnessSessionIdForBinding;
38
+ exports.resolveEffect = resolveEffect;
39
+ exports.applyPostEffectOrchestrationOverlays = applyPostEffectOrchestrationOverlays;
40
+ exports.resolveEffectWithRetry = resolveEffectWithRetry;
41
+ exports.orchestrateIterationWithProcessLoadRetry = orchestrateIterationWithProcessLoadRetry;
42
+ const path = __importStar(require("node:path"));
43
+ const effectsHelpers_1 = require("./effectsHelpers");
44
+ const hookDecisionEffects_1 = require("./hookDecisionEffects");
45
+ var effectsHelpers_2 = require("./effectsHelpers");
46
+ Object.defineProperty(exports, "readProcessFileFingerprint", { enumerable: true, get: function () { return effectsHelpers_2.readProcessFileFingerprint; } });
47
+ const workerSessionEnhancer_1 = require("./workerSessionEnhancer");
48
+ const approvalChains_1 = require("../../../../breakpoints/approvalChains");
49
+ const compaction_1 = require("../../../../compression/compaction");
50
+ const executor_1 = require("../../../../mcp/client/executor");
51
+ const manager_1 = require("../../../../mcp/client/manager");
52
+ const toolRegistry_1 = require("../../../../mcp/client/toolRegistry");
53
+ const cost_1 = require("../../../../session/cost");
54
+ const history_1 = require("../../../../session/history");
55
+ // SDK-owned: orchestration iteration loop is the core SDK runtime engine
56
+ const babysitter_sdk_1 = require("@a5c-ai/babysitter-sdk");
57
+ const global_1 = require("../../../../orchestration/global");
58
+ const microagents_1 = require("../../../../microagents");
59
+ const utils_1 = require("../utils");
60
+ const planProcess_1 = require("../planProcess");
61
+ const constants_1 = require("./constants");
62
+ const dispatch_1 = require("./dispatch");
63
+ async function importOptionalModule(specifier) {
64
+ return Promise.resolve(`${specifier}`).then(s => __importStar(require(s)));
65
+ }
66
+ function resolveHarnessSessionIdForBinding(args, adapter, orchestrationSession) {
67
+ if ((0, utils_1.isInternalHarness)(args.selectedHarnessName) && orchestrationSession?.sessionId) {
68
+ process.env.PI_SESSION_ID = process.env.PI_SESSION_ID || orchestrationSession.sessionId;
69
+ process.env.OMP_SESSION_ID = process.env.OMP_SESSION_ID || orchestrationSession.sessionId;
70
+ }
71
+ const resolved = adapter.resolveSessionId({});
72
+ if (resolved) {
73
+ return resolved;
74
+ }
75
+ return (0, utils_1.isInternalHarness)(args.selectedHarnessName)
76
+ ? orchestrationSession?.sessionId
77
+ : undefined;
78
+ }
79
+ async function resolveEffect(action, harnessName, options, piSession, discovered, rl, json, askUserQuestionHandler) {
80
+ const hookResult = (0, hookDecisionEffects_1.getHookDecisionResult)(action);
81
+ if (hookResult) {
82
+ const hookResolution = (0, hookDecisionEffects_1.resolveHookDecisionResult)(action, hookResult, {
83
+ maxRetries: action.taskDef?.metadata?.maxRetries,
84
+ });
85
+ if (hookResolution) {
86
+ return hookResolution;
87
+ }
88
+ }
89
+ const kind = action.kind;
90
+ if (kind === "mcp" || getMcpTaskConfig(action)) {
91
+ return resolveMcpEffect(action, options);
92
+ }
93
+ // #949: cross-harness agent/skill dispatch is gated behind
94
+ // BABYSITTER_CROSS_SUBAGENTS (default OFF). When disabled, EMIT the agent
95
+ // effect as pending instead of routing it through tasks-adapter / a harness.
96
+ // genty's autonomous entrypoint (handleHarnessCreateRun) opts this flag ON so
97
+ // standalone runs still dispatch. "breakpoint" effects are human-input, not
98
+ // cross-subagent dispatch, so they are not gated here.
99
+ if ((kind === "agent" || kind === "skill") && !(0, babysitter_sdk_1.crossSubagentsEnabled)()) {
100
+ return { status: "pending", value: { emitted: true, kind } };
101
+ }
102
+ const tasksMuxResult = await resolveViaTasksMuxIfRoutable(action, options, rl, json, askUserQuestionHandler);
103
+ if (tasksMuxResult) {
104
+ return tasksMuxResult;
105
+ }
106
+ // #949: shell/node task auto-execution is gated behind BABYSITTER_EXECUTE_TASKS
107
+ // (default OFF). When disabled, EMIT the effect as pending instead of running
108
+ // it. genty's autonomous entrypoint opts this flag ON.
109
+ if ((kind === "node" || kind === "orchestrator_task" || kind === "shell") && !(0, babysitter_sdk_1.executeTasksEnabled)()) {
110
+ return { status: "pending", value: { emitted: true, kind } };
111
+ }
112
+ if (kind === "node" || kind === "orchestrator_task") {
113
+ const meta = action.taskDef?.metadata;
114
+ const prompt = typeof meta?.prompt === "string"
115
+ ? meta.prompt
116
+ : action.taskDef?.title ?? `Execute task ${action.taskId ?? action.effectId}`;
117
+ return (0, effectsHelpers_1.invokePromptEffect)(action, discovered ? (0, utils_1.resolveTaskHarness)(action, harnessName, discovered) : harnessName, prompt, options, piSession);
118
+ }
119
+ if (kind === "shell") {
120
+ const shellDef = action.taskDef?.shell;
121
+ const shellMeta = action.taskDef?.metadata;
122
+ const command = typeof shellDef?.command === "string"
123
+ ? shellDef.command
124
+ : typeof shellMeta?.command === "string"
125
+ ? shellMeta.command
126
+ : "echo";
127
+ const shellArgs = Array.isArray(shellDef?.args)
128
+ ? shellDef.args.filter((arg) => typeof arg === "string")
129
+ : Array.isArray(shellMeta?.args)
130
+ ? shellMeta.args.filter((arg) => typeof arg === "string")
131
+ : [];
132
+ const cwd = typeof shellDef?.cwd === "string"
133
+ ? shellDef.cwd
134
+ : typeof shellMeta?.cwd === "string"
135
+ ? shellMeta.cwd
136
+ : options.workspace;
137
+ if (piSession) {
138
+ const bashResult = await piSession.executeBash([command, ...shellArgs.map(utils_1.shellQuoteArg)].join(" "));
139
+ if (bashResult.exitCode === 0) {
140
+ return { status: "ok", value: bashResult.output, stdout: bashResult.output };
141
+ }
142
+ return {
143
+ status: "ok",
144
+ value: {
145
+ success: false,
146
+ exitCode: bashResult.exitCode ?? 1,
147
+ stdout: bashResult.output,
148
+ stderr: "",
149
+ error: `Shell command exited with code ${bashResult.exitCode ?? "null"}`,
150
+ },
151
+ stdout: bashResult.output,
152
+ };
153
+ }
154
+ const shellResult = await (0, planProcess_1.execShellEffect)(command, shellArgs, cwd);
155
+ if (shellResult.exitCode === 0) {
156
+ return {
157
+ status: "ok",
158
+ value: shellResult.stdout,
159
+ stdout: shellResult.stdout,
160
+ stderr: shellResult.stderr,
161
+ };
162
+ }
163
+ return {
164
+ status: "ok",
165
+ value: {
166
+ success: false,
167
+ exitCode: shellResult.exitCode,
168
+ stdout: shellResult.stdout,
169
+ stderr: shellResult.stderr,
170
+ error: `Shell command exited with code ${shellResult.exitCode}`,
171
+ },
172
+ stdout: shellResult.stdout,
173
+ stderr: shellResult.stderr,
174
+ };
175
+ }
176
+ if (kind === "breakpoint") {
177
+ const chainResult = resolveConfiguredApprovalChain(action);
178
+ if (chainResult && chainResult.status !== "approved") {
179
+ return {
180
+ status: "ok",
181
+ value: {
182
+ approved: false,
183
+ option: chainResult.status,
184
+ approvalChain: chainResult,
185
+ },
186
+ };
187
+ }
188
+ return resolveBreakpointLikeEffect(action, options, rl, json, askUserQuestionHandler);
189
+ }
190
+ if (kind === "sleep") {
191
+ const targetMs = action.taskDef?.sleep?.targetEpochMs;
192
+ if (typeof targetMs === "number") {
193
+ const delay = Math.max(0, targetMs - Date.now());
194
+ if (delay > 0) {
195
+ await new Promise((resolve) => setTimeout(resolve, delay));
196
+ }
197
+ }
198
+ return { status: "ok", value: { sleptUntil: new Date().toISOString() } };
199
+ }
200
+ if (kind === "agent") {
201
+ const agentName = action.taskDef?.agent
202
+ ? action.taskDef.agent?.name
203
+ : undefined;
204
+ if (agentName) {
205
+ const microagentResult = await tryDispatchMicroagent(agentName, action);
206
+ if (microagentResult)
207
+ return microagentResult;
208
+ }
209
+ const prompt = (0, planProcess_1.buildAgentPrompt)(action.taskDef);
210
+ const taskHarness = discovered ? (0, utils_1.resolveTaskHarness)(action, harnessName, discovered) : harnessName;
211
+ if (taskHarness !== harnessName && !(0, utils_1.isInternalHarness)(taskHarness)) {
212
+ return (0, effectsHelpers_1.invokeAgentHarness)(action, taskHarness, prompt, options);
213
+ }
214
+ if (piSession) {
215
+ const piResult = await (0, utils_1.promptPiWithRetry)({
216
+ session: piSession,
217
+ message: prompt,
218
+ timeout: utils_1.WORKER_TIMEOUT_MS,
219
+ label: `effect ${action.effectId}`,
220
+ });
221
+ return {
222
+ status: piResult.success ? "ok" : "error",
223
+ value: piResult.success
224
+ ? (0, planProcess_1.coerceAgentResultValue)(action.taskDef, piResult.output)
225
+ : undefined,
226
+ error: piResult.success ? undefined : new Error(piResult.output),
227
+ stdout: piResult.output,
228
+ };
229
+ }
230
+ return (0, effectsHelpers_1.invokeAgentHarness)(action, taskHarness, prompt, options);
231
+ }
232
+ if (kind === "subprocess") {
233
+ return invokeSubprocessEffect(action, discovered ? (0, utils_1.resolveTaskHarness)(action, harnessName, discovered) : harnessName, options, discovered, rl, json, askUserQuestionHandler);
234
+ }
235
+ const fallbackPrompt = action.taskDef?.title ?? `Handle effect ${action.effectId} (kind: ${kind})`;
236
+ return (0, effectsHelpers_1.invokePromptEffect)(action, harnessName, fallbackPrompt, options, undefined);
237
+ }
238
+ let _microagentSystem;
239
+ function getMicroagentSystem() {
240
+ if (!_microagentSystem) {
241
+ _microagentSystem = (0, microagents_1.createMicroagentSystem)();
242
+ }
243
+ return _microagentSystem;
244
+ }
245
+ async function tryDispatchMicroagent(agentName, action) {
246
+ const system = getMicroagentSystem();
247
+ if (!system.registry.has(agentName))
248
+ return undefined;
249
+ const taskDef = action.taskDef;
250
+ const agent = taskDef.agent;
251
+ const input = agent.prompt?.toString
252
+ ? typeof agent.prompt === "object" ? agent.prompt.context ?? agent.prompt : agent.prompt
253
+ : {};
254
+ const result = await system.dispatcher.dispatch(agentName, input, {
255
+ correlationId: action.effectId,
256
+ timeout: taskDef.execution?.timeout,
257
+ });
258
+ if (result.exitCode === 0) {
259
+ return {
260
+ status: "ok",
261
+ value: result.output,
262
+ stdout: result.logs?.join("\n"),
263
+ };
264
+ }
265
+ return {
266
+ status: "error",
267
+ error: new Error(result.error?.message ?? `Microagent ${agentName} exited with code ${result.exitCode}`),
268
+ stdout: result.logs?.join("\n"),
269
+ };
270
+ }
271
+ function getMcpTaskConfig(action) {
272
+ const taskDef = action.taskDef;
273
+ const direct = taskDef?.mcp;
274
+ if (isPlainRecord(direct)) {
275
+ return direct;
276
+ }
277
+ const metadata = taskDef?.metadata;
278
+ if (isPlainRecord(metadata) && isPlainRecord(metadata.mcp)) {
279
+ return metadata.mcp;
280
+ }
281
+ return undefined;
282
+ }
283
+ function getMcpRequest(action, options) {
284
+ const config = getMcpTaskConfig(action);
285
+ if (!config) {
286
+ throw new Error(`MCP effect ${action.effectId} is missing taskDef.mcp configuration`);
287
+ }
288
+ const qualifiedName = typeof config.qualifiedName === "string"
289
+ ? config.qualifiedName
290
+ : typeof config.tool === "string"
291
+ ? config.tool
292
+ : undefined;
293
+ const colonIdx = qualifiedName?.indexOf(":") ?? -1;
294
+ const serverName = typeof config.serverName === "string"
295
+ ? config.serverName
296
+ : colonIdx > 0 && qualifiedName
297
+ ? qualifiedName.slice(0, colonIdx)
298
+ : undefined;
299
+ const toolName = typeof config.toolName === "string"
300
+ ? config.toolName
301
+ : colonIdx > 0 && qualifiedName
302
+ ? qualifiedName.slice(colonIdx + 1)
303
+ : undefined;
304
+ if (!serverName || !toolName) {
305
+ throw new Error(`MCP effect ${action.effectId} requires serverName and toolName`);
306
+ }
307
+ const args = isPlainRecord(config.args) ? config.args : {};
308
+ const context = {
309
+ ...(isPlainRecord(args.context) ? args.context : {}),
310
+ ...(options.runId ? { runId: options.runId } : {}),
311
+ ...(options.runDir ? { runDir: options.runDir } : {}),
312
+ ...(options.sessionId ? { sessionId: options.sessionId } : {}),
313
+ ...(options.workspace ? { workspace: options.workspace } : {}),
314
+ };
315
+ return {
316
+ serverName,
317
+ toolName,
318
+ args: {
319
+ ...args,
320
+ context,
321
+ },
322
+ };
323
+ }
324
+ async function resolveMcpExecutor(options) {
325
+ if (options.mcp?.executor) {
326
+ return options.mcp.executor;
327
+ }
328
+ const manager = options.mcp?.manager ?? (options.mcp?.transportFactory
329
+ ? new manager_1.McpClientManager({
330
+ stateDir: options.mcp.stateDir ?? options.runDir ?? process.cwd(),
331
+ transportFactory: options.mcp.transportFactory,
332
+ })
333
+ : undefined);
334
+ if (!manager) {
335
+ throw new Error("MCP effect routing requires an executor, manager, or transportFactory");
336
+ }
337
+ await manager.initialize(options.mcp?.autoConnect ?? true);
338
+ const registry = options.mcp?.registry ?? new toolRegistry_1.McpToolRegistry(manager, {
339
+ cacheTtlMs: options.mcp?.cacheTtlMs,
340
+ unifiedRegistry: options.mcp?.toolRegistry,
341
+ mcpBridge: options.mcp?.mcpBridge,
342
+ });
343
+ await registry.refreshAll();
344
+ return new executor_1.McpToolExecutor(manager);
345
+ }
346
+ function mcpResultToStdout(result) {
347
+ return result.content
348
+ .map((item) => typeof item.text === "string" ? item.text : typeof item.data === "string" ? item.data : "")
349
+ .filter(Boolean)
350
+ .join("\n");
351
+ }
352
+ function streamMcpOutput(text, streaming) {
353
+ if (!streaming?.onLine || !text) {
354
+ return;
355
+ }
356
+ for (const line of text.split(/\r?\n/)) {
357
+ if (line.length > 0) {
358
+ streaming.onLine(line, "stdout");
359
+ }
360
+ }
361
+ }
362
+ async function resolveMcpEffect(action, options) {
363
+ const executor = await resolveMcpExecutor(options);
364
+ const request = getMcpRequest(action, options);
365
+ const result = options.mcp?.dispatcher
366
+ ? await dispatchMcpTool(options.mcp.dispatcher, executor, request, options)
367
+ : await executor.execute(request);
368
+ const stdout = mcpResultToStdout(result);
369
+ streamMcpOutput(stdout, options.streaming);
370
+ return {
371
+ status: result.success ? "ok" : "error",
372
+ value: result,
373
+ error: result.success ? undefined : new Error(result.error ?? stdout),
374
+ stdout,
375
+ stderr: result.success ? undefined : result.error,
376
+ };
377
+ }
378
+ async function dispatchMcpTool(dispatcher, executor, request, options) {
379
+ const dispatched = await dispatcher.dispatch({
380
+ toolName: request.toolName,
381
+ input: request.args,
382
+ caller: "agent-platform:mcp",
383
+ ...(options.runId ? { runId: options.runId } : {}),
384
+ ...(options.sessionId ? { sessionId: options.sessionId } : {}),
385
+ }, async () => executor.execute(request));
386
+ if (dispatched.error) {
387
+ return {
388
+ success: false,
389
+ content: [],
390
+ error: typeof dispatched.error === "string"
391
+ ? dispatched.error
392
+ : dispatched.error.message ?? "MCP tool dispatch failed",
393
+ durationMs: dispatched.durationMs,
394
+ };
395
+ }
396
+ return dispatched.output;
397
+ }
398
+ function resolveConfiguredApprovalChain(action) {
399
+ const metadata = action.taskDef?.metadata;
400
+ if (!isPlainRecord(metadata)) {
401
+ return undefined;
402
+ }
403
+ if (!isApprovalChainDefinition(metadata.approvalChain) || !isApprovalChainState(metadata.approvalChainState)) {
404
+ return undefined;
405
+ }
406
+ return (0, approvalChains_1.evaluateApprovalChain)(metadata.approvalChain, metadata.approvalChainState);
407
+ }
408
+ function isApprovalChainDefinition(value) {
409
+ return isPlainRecord(value)
410
+ && typeof value.chainId === "string"
411
+ && Array.isArray(value.steps);
412
+ }
413
+ function isApprovalChainState(value) {
414
+ return isPlainRecord(value)
415
+ && typeof value.chainId === "string"
416
+ && typeof value.currentStepIndex === "number"
417
+ && Array.isArray(value.completedSteps);
418
+ }
419
+ async function applyPostEffectOrchestrationOverlays(args) {
420
+ const result = {};
421
+ const updateSessionCost = args.updateSessionCost ?? cost_1.updateSessionCost;
422
+ const checkBudget = args.checkBudget ?? cost_1.checkBudget;
423
+ const compactSession = args.compactSession ?? compaction_1.compactSession;
424
+ const shouldAutoCompact = args.shouldAutoCompact ?? compaction_1.shouldAutoCompact;
425
+ const markThresholdsTriggered = args.markThresholdsTriggered ?? cost_1.markThresholdsTriggered;
426
+ const setSessionPaused = args.setSessionPaused ?? cost_1.setSessionPaused;
427
+ const addDecision = args.addDecision ?? history_1.addDecision;
428
+ const saveContextSnapshot = args.saveContextSnapshot ?? history_1.saveContextSnapshot;
429
+ if (args.stateDir && args.sessionId && args.runId && args.effectCost) {
430
+ const costState = await updateSessionCost(args.stateDir, args.sessionId, {
431
+ runId: args.runId,
432
+ costUsd: args.effectCost.totalCostUsd ?? 0,
433
+ inputTokens: args.effectCost.inputTokens ?? 0,
434
+ outputTokens: args.effectCost.outputTokens ?? 0,
435
+ });
436
+ result.budget = checkBudget(costState);
437
+ await markThresholdsTriggered(args.stateDir, args.sessionId, result.budget.alerts.map((alert) => alert.thresholdPct));
438
+ if (result.budget.shouldPause) {
439
+ await setSessionPaused(args.stateDir, args.sessionId, true);
440
+ result.budgetEnforcement = {
441
+ paused: true,
442
+ pauseReason: result.budget.pauseReason,
443
+ };
444
+ }
445
+ else {
446
+ result.budgetEnforcement = { paused: false };
447
+ }
448
+ }
449
+ if (args.stateDir && args.sessionId && args.runId && args.effectSummary) {
450
+ const title = args.effectSummary.title ?? args.effectSummary.taskId ?? args.effectSummary.effectId;
451
+ await addDecision(args.stateDir, args.sessionId, {
452
+ runId: args.runId,
453
+ description: `Resolved ${args.effectSummary.kind ?? "unknown"} effect: ${title}`,
454
+ rationale: `Effect ${args.effectSummary.effectId} completed with status ${args.effectSummary.status}`,
455
+ });
456
+ await saveContextSnapshot(args.stateDir, args.sessionId, {
457
+ runId: args.runId,
458
+ snapshot: {
459
+ effectId: args.effectSummary.effectId,
460
+ taskId: args.effectSummary.taskId,
461
+ kind: args.effectSummary.kind,
462
+ title: args.effectSummary.title,
463
+ status: args.effectSummary.status,
464
+ },
465
+ });
466
+ }
467
+ if (args.stateDir &&
468
+ args.sessionId &&
469
+ args.runsDir &&
470
+ args.compactionConfig &&
471
+ typeof args.estimatedStateTokens === "number" &&
472
+ shouldAutoCompact(args.estimatedStateTokens, args.compactionConfig)) {
473
+ result.compaction = {
474
+ triggered: true,
475
+ results: await compactSession(args.stateDir, args.sessionId, args.runsDir, args.compactionConfig),
476
+ };
477
+ }
478
+ else {
479
+ result.compaction = { triggered: false, results: [] };
480
+ }
481
+ return result;
482
+ }
483
+ async function resolveViaTasksMuxIfRoutable(action, options, rl, json, askUserQuestionHandler) {
484
+ if (action.kind !== "agent" && action.kind !== "breakpoint") {
485
+ return undefined;
486
+ }
487
+ let adapter;
488
+ try {
489
+ adapter = await importOptionalModule("@a5c-ai/tasks-adapter");
490
+ }
491
+ catch {
492
+ return undefined;
493
+ }
494
+ if (typeof adapter.routeTask !== "function") {
495
+ return undefined;
496
+ }
497
+ const decision = adapter.routeTask(action.taskDef);
498
+ if (decision.responderType === "internal") {
499
+ return undefined;
500
+ }
501
+ if (decision.responderType === "human") {
502
+ return resolveBreakpointLikeEffect(action, options, rl, json, askUserQuestionHandler);
503
+ }
504
+ if (decision.responderType === "tracker") {
505
+ if (decision.unavailable) {
506
+ return {
507
+ status: "ok",
508
+ value: {
509
+ success: false,
510
+ routedThrough: "tasks-adapter",
511
+ responderType: "tracker",
512
+ error: decision.reason ?? "ExternalTrackerBackend unavailable",
513
+ },
514
+ stdout: decision.reason,
515
+ };
516
+ }
517
+ return undefined;
518
+ }
519
+ if (decision.responderType !== "agent") {
520
+ return undefined;
521
+ }
522
+ const fallbackToInternal = shouldFallbackExternalAgentToInternal(action.taskDef);
523
+ if (typeof adapter.AgentMuxResponderBackend !== "function") {
524
+ if (fallbackToInternal) {
525
+ return undefined;
526
+ }
527
+ return {
528
+ status: "error",
529
+ error: new Error("tasks-adapter AgentMuxResponderBackend is unavailable"),
530
+ };
531
+ }
532
+ const prompt = (0, planProcess_1.buildAgentPrompt)(action.taskDef);
533
+ let breakpoint;
534
+ try {
535
+ const backend = new adapter.AgentMuxResponderBackend({
536
+ adapter: decision.responder?.adapter ?? decision.responder?.id,
537
+ model: decision.responder?.model ?? options.model,
538
+ cwd: options.workspace,
539
+ });
540
+ breakpoint = await backend.submitBreakpoint({
541
+ text: prompt,
542
+ context: {
543
+ description: action.taskDef?.title ?? action.taskId ?? action.effectId,
544
+ codeSnippets: [],
545
+ fileReferences: [],
546
+ tags: action.labels ?? [],
547
+ },
548
+ routing: {
549
+ strategy: "single",
550
+ targetResponders: decision.responder?.id ? [decision.responder.id] : [],
551
+ timeoutMs: readExternalAgentTimeoutMs(action.taskDef) ?? 300_000,
552
+ presentToUser: false,
553
+ responderType: "agent",
554
+ adapter: decision.responder?.adapter ?? decision.responder?.id,
555
+ model: decision.responder?.model ?? options.model,
556
+ },
557
+ });
558
+ }
559
+ catch (err) {
560
+ if (fallbackToInternal) {
561
+ return undefined;
562
+ }
563
+ return {
564
+ status: "error",
565
+ error: err instanceof Error ? err : new Error(String(err)),
566
+ };
567
+ }
568
+ const answer = breakpoint.answers[0];
569
+ return {
570
+ status: "ok",
571
+ value: (0, planProcess_1.coerceAgentResultValue)(action.taskDef, answer?.text ?? ""),
572
+ stdout: answer?.text ?? "",
573
+ };
574
+ }
575
+ async function resolveBreakpointLikeEffect(action, options, rl, json, askUserQuestionHandler) {
576
+ const question = action.taskDef?.question
577
+ ?? action.taskDef?.title
578
+ ?? "Breakpoint reached. Continue?";
579
+ const approvalPrompt = (0, utils_1.createApprovalAskUserQuestion)(question);
580
+ const approvalKey = approvalPrompt.questions[0]?.header ?? "Decision";
581
+ // GAP-MCPC-003: Try channel relay before local interaction
582
+ const channelResult = await tryChannelRelay(action, options, approvalKey);
583
+ if (channelResult)
584
+ return channelResult;
585
+ if (options.interactive && rl) {
586
+ if (!json) {
587
+ process.stderr.write(`\n${utils_1.YELLOW}${utils_1.BOLD}BREAKPOINT ${question}\n`);
588
+ }
589
+ const { promptAskUserQuestionWithReadline } = await Promise.resolve().then(() => __importStar(require("../../../../interaction")));
590
+ const response = await promptAskUserQuestionWithReadline(rl, approvalPrompt);
591
+ return (0, effectsHelpers_1.buildBreakpointResult)(response, approvalKey);
592
+ }
593
+ if (options.interactive && askUserQuestionHandler) {
594
+ const response = await askUserQuestionHandler(approvalPrompt);
595
+ return (0, effectsHelpers_1.buildBreakpointResult)(response, approvalKey);
596
+ }
597
+ return (0, effectsHelpers_1.buildBreakpointResult)((0, utils_1.createAskUserQuestionResponse)(approvalPrompt, { [approvalKey]: "Approve" }), approvalKey);
598
+ }
599
+ async function tryChannelRelay(action, options, _approvalKey) {
600
+ try {
601
+ const { ChannelPermissionRelay, createApprovalRace } = await Promise.resolve().then(() => __importStar(require("../../../../mcp/channels/permissionRelay")));
602
+ const { DEFAULT_APPROVAL_SECURITY } = await Promise.resolve().then(() => __importStar(require("../../../../mcp/channels/types")));
603
+ const breakpointId = action.effectId;
604
+ const tags = action.labels ?? [];
605
+ // Without a configured outbound sender, channel relay is a no-op.
606
+ // The relay infrastructure is available but requires explicit channel
607
+ // configuration (MCP servers for Slack/Discord/etc). When configured,
608
+ // the relay attempts to dispatch the breakpoint via channels and races
609
+ // against local terminal approval.
610
+ //
611
+ // To enable: configure MCP channels in ~/.a5c/channel-allowlist.json
612
+ // and ensure a ChannelManager is bound to the session.
613
+ //
614
+ // For now, check if the security policy allows relay and log the attempt.
615
+ const security = DEFAULT_APPROVAL_SECURITY;
616
+ if (!security.enabled)
617
+ return undefined;
618
+ // Validate terminal-only restrictions
619
+ if (tags.some(t => security.terminalOnlyTags.includes(t)))
620
+ return undefined;
621
+ for (const restricted of security.terminalOnlyTags) {
622
+ if (breakpointId.startsWith(`${restricted}.`))
623
+ return undefined;
624
+ }
625
+ // Channel relay is eligible but requires active MCP channel bindings.
626
+ // When fully configured, this returns a breakpoint result from the
627
+ // channel response. Without active channels, falls through to local.
628
+ }
629
+ catch {
630
+ // Channel modules not available — relay disabled
631
+ }
632
+ return undefined;
633
+ }
634
+ function shouldFallbackExternalAgentToInternal(taskDef) {
635
+ const agent = isPlainRecord(taskDef?.agent) ? taskDef.agent : {};
636
+ const metadata = isPlainRecord(taskDef?.metadata) ? taskDef.metadata : {};
637
+ return agent.fallbackToInternal === true
638
+ || metadata.fallbackToInternal === true
639
+ || agent.fallbackType === "internal"
640
+ || metadata.fallbackType === "internal";
641
+ }
642
+ function readExternalAgentTimeoutMs(taskDef) {
643
+ const agent = isPlainRecord(taskDef?.agent) ? taskDef.agent : {};
644
+ return typeof agent.timeoutMs === "number" ? agent.timeoutMs : undefined;
645
+ }
646
+ function parseSubprocessSpec(action, workspace) {
647
+ const subprocess = action.taskDef?.subprocess;
648
+ if (!subprocess || typeof subprocess.processPath !== "string" || !subprocess.processPath.trim()) {
649
+ throw new Error(`Subprocess effect ${action.effectId} is missing subprocess.processPath`);
650
+ }
651
+ const resolvedProcessPath = path.isAbsolute(subprocess.processPath)
652
+ ? path.resolve(subprocess.processPath)
653
+ : path.resolve(workspace ?? process.cwd(), subprocess.processPath);
654
+ const processId = typeof subprocess.processId === "string" && subprocess.processId.trim()
655
+ ? subprocess.processId.trim()
656
+ : path.basename(resolvedProcessPath, path.extname(resolvedProcessPath));
657
+ return {
658
+ processPath: resolvedProcessPath,
659
+ exportName: typeof subprocess.exportName === "string" ? subprocess.exportName : undefined,
660
+ processId,
661
+ prompt: typeof subprocess.prompt === "string" ? subprocess.prompt : undefined,
662
+ inputs: subprocess.inputs,
663
+ inputSchema: isPlainRecord(subprocess.inputSchema) ? subprocess.inputSchema : undefined,
664
+ outputSchema: isPlainRecord(subprocess.outputSchema) ? subprocess.outputSchema : undefined,
665
+ harness: typeof subprocess.harness === "string" ? subprocess.harness : undefined,
666
+ model: typeof subprocess.model === "string" ? subprocess.model : undefined,
667
+ maxIterations: typeof subprocess.maxIterations === "number" ? subprocess.maxIterations : undefined,
668
+ shareSession: subprocess.shareSession !== false,
669
+ metadata: subprocess.metadata,
670
+ };
671
+ }
672
+ function isPlainRecord(value) {
673
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
674
+ }
675
+ function summarizeSubprocessValue(value) {
676
+ if (typeof value === "string") {
677
+ return value.length > 240 ? `${value.slice(0, 237)}...` : value;
678
+ }
679
+ if (value instanceof Error) {
680
+ return value.message;
681
+ }
682
+ try {
683
+ const serialized = JSON.stringify(value);
684
+ return serialized.length > 240 ? `${serialized.slice(0, 237)}...` : serialized;
685
+ }
686
+ catch {
687
+ return String(value);
688
+ }
689
+ }
690
+ async function disposeWorkerSession(session) {
691
+ if (!session) {
692
+ return;
693
+ }
694
+ await session.abort().catch(() => undefined);
695
+ session.dispose();
696
+ }
697
+ async function invokeSubprocessEffect(action, harnessName, options, discovered, rl, json, askUserQuestionHandler) {
698
+ if (!options.runsDir || !options.runId) {
699
+ return {
700
+ status: "error",
701
+ error: new Error("Subprocess effects require runsDir and parent runId in the harness resolver."),
702
+ };
703
+ }
704
+ const spec = parseSubprocessSpec(action, options.workspace);
705
+ const childHarness = spec.harness ?? harnessName;
706
+ const childModel = spec.model ?? options.model;
707
+ const maxIterations = spec.maxIterations ?? options.maxIterations ?? 65_000;
708
+ const childPrompt = spec.prompt ?? action.taskDef?.title ?? `Run subprocess ${spec.processId}`;
709
+ const childRun = await (0, global_1.getGlobalRegistry)().getOrchestration().createRun({
710
+ processId: spec.processId,
711
+ entrypoint: spec.processPath,
712
+ prompt: spec.prompt ?? childPrompt,
713
+ harness: childHarness,
714
+ inputs: spec.inputs,
715
+ runsDir: options.runsDir,
716
+ });
717
+ (0, utils_1.emitAmuxEvent)({
718
+ type: "subagent_spawn",
719
+ runId: options.runId,
720
+ agent: "babysitter",
721
+ timestamp: new Date().toISOString(),
722
+ subagentId: childRun.runId,
723
+ agentName: "babysitter",
724
+ prompt: childPrompt,
725
+ }, Boolean(json), options.outputMode);
726
+ for (let iteration = 0; iteration < maxIterations; iteration += 1) {
727
+ const iterationResult = await orchestrateIterationWithProcessLoadRetry({ runDir: childRun.runDir });
728
+ if (iterationResult.status === "waiting") {
729
+ await (0, dispatch_1.dispatchEffectActions)({
730
+ actions: iterationResult.nextActions,
731
+ concurrentEffects: (0, dispatch_1.harnessSupportsConcurrentEffects)(childHarness, discovered),
732
+ resolveAction: async (childAction) => {
733
+ const effectiveHarness = discovered
734
+ ? (0, utils_1.resolveTaskHarness)(childAction, childHarness, discovered)
735
+ : childHarness;
736
+ let workerSession = null;
737
+ let workerSessionFactory;
738
+ if (childAction.kind === "shell" || (0, utils_1.isInternalHarness)(effectiveHarness)) {
739
+ const baseOpts = (0, utils_1.buildPiWorkerSessionOptions)({
740
+ action: childAction,
741
+ workspace: options.workspace,
742
+ model: childModel,
743
+ });
744
+ const enhancedOpts = options.gentyContext
745
+ ? (0, workerSessionEnhancer_1.enhanceWorkerSessionOptions)(baseOpts, options.gentyContext)
746
+ : baseOpts;
747
+ const createWorkerSession = () => (0, utils_1.createAgentCoreSession)(enhancedOpts);
748
+ workerSession = createWorkerSession();
749
+ workerSessionFactory = createWorkerSession;
750
+ }
751
+ try {
752
+ const childEffectResult = await resolveEffectWithRetry(childAction, childHarness, {
753
+ workspace: options.workspace,
754
+ model: childModel,
755
+ interactive: options.interactive,
756
+ compressionConfig: options.compressionConfig,
757
+ streaming: options.streaming,
758
+ runsDir: options.runsDir,
759
+ runId: childRun.runId,
760
+ runDir: childRun.runDir,
761
+ sessionId: spec.shareSession ? options.sessionId : undefined,
762
+ maxIterations,
763
+ verbose: options.verbose,
764
+ outputMode: options.outputMode,
765
+ gentyContext: options.gentyContext,
766
+ }, workerSession, discovered, rl, json, workerSessionFactory, disposeWorkerSession, askUserQuestionHandler);
767
+ return childEffectResult;
768
+ }
769
+ finally {
770
+ await disposeWorkerSession(workerSession);
771
+ }
772
+ },
773
+ commitAction: async ({ action: childAction, result: childEffectResult, startedAt, finishedAt }) => {
774
+ const childHandle = {
775
+ runId: childRun.runId,
776
+ runDir: childRun.runDir,
777
+ processId: childRun.processId,
778
+ status: "running",
779
+ };
780
+ await (0, global_1.getGlobalRegistry)().getOrchestration().postEffectResult(childHandle, childAction.effectId, {
781
+ status: (0, utils_1.assertResolvedStatus)(childEffectResult.status),
782
+ value: childEffectResult.value,
783
+ error: childEffectResult.error,
784
+ startedAt,
785
+ finishedAt,
786
+ });
787
+ },
788
+ });
789
+ continue;
790
+ }
791
+ if (iterationResult.status === "completed") {
792
+ (0, utils_1.emitAmuxEvent)({
793
+ type: "subagent_result",
794
+ runId: options.runId,
795
+ agent: "babysitter",
796
+ timestamp: new Date().toISOString(),
797
+ subagentId: childRun.runId,
798
+ agentName: "babysitter",
799
+ summary: summarizeSubprocessValue(iterationResult.output),
800
+ }, Boolean(json), options.outputMode);
801
+ return {
802
+ status: "ok",
803
+ value: {
804
+ runId: childRun.runId,
805
+ runDir: childRun.runDir,
806
+ output: iterationResult.output,
807
+ },
808
+ };
809
+ }
810
+ const message = iterationResult.status === "halted"
811
+ ? iterationResult.reason
812
+ : "error" in iterationResult && iterationResult.error instanceof Error
813
+ ? iterationResult.error.message
814
+ : "error" in iterationResult
815
+ ? summarizeSubprocessValue(iterationResult.error)
816
+ : summarizeSubprocessValue(iterationResult);
817
+ (0, utils_1.emitAmuxEvent)({
818
+ type: "subagent_error",
819
+ runId: options.runId,
820
+ agent: "babysitter",
821
+ timestamp: new Date().toISOString(),
822
+ subagentId: childRun.runId,
823
+ agentName: "babysitter",
824
+ error: message,
825
+ }, Boolean(json), options.outputMode);
826
+ return {
827
+ status: "error",
828
+ error: new Error(`Nested run ${childRun.runId} failed: ${message}`),
829
+ stderr: message,
830
+ };
831
+ }
832
+ const timeoutMessage = `Nested run ${childRun.runId} reached max iterations (${maxIterations}) without completion.`;
833
+ (0, utils_1.emitAmuxEvent)({
834
+ type: "subagent_error",
835
+ runId: options.runId,
836
+ agent: "babysitter",
837
+ timestamp: new Date().toISOString(),
838
+ subagentId: childRun.runId,
839
+ agentName: "babysitter",
840
+ error: timeoutMessage,
841
+ }, Boolean(json), options.outputMode);
842
+ return {
843
+ status: "error",
844
+ error: new Error(timeoutMessage),
845
+ stderr: timeoutMessage,
846
+ };
847
+ }
848
+ async function resolveEffectWithRetry(action, harnessName, options, piSession, discovered, rl, json, piSessionFactory, disposePiSession, askUserQuestionHandler) {
849
+ const config = { ...utils_1.DEFAULT_EFFECT_RETRY_CONFIG, ...options.retryConfig };
850
+ const metadata = action.taskDef?.metadata;
851
+ if (typeof metadata?.maxRetries === "number") {
852
+ config.maxRetries = metadata.maxRetries;
853
+ }
854
+ if (metadata?.noRetry === true) {
855
+ config.maxRetries = 0;
856
+ }
857
+ if (config.nonRetryableKinds.includes(action.kind)) {
858
+ return resolveEffect(action, harnessName, options, piSession, discovered, rl, json, askUserQuestionHandler);
859
+ }
860
+ let lastResult;
861
+ let currentPiSession = piSession;
862
+ for (let attempt = 0; attempt <= config.maxRetries; attempt += 1) {
863
+ try {
864
+ lastResult = await resolveEffect(action, harnessName, options, currentPiSession, discovered, rl, json, askUserQuestionHandler);
865
+ if (lastResult.status === "ok") {
866
+ return lastResult;
867
+ }
868
+ if (attempt >= config.maxRetries ||
869
+ !(0, effectsHelpers_1.isRetryableEffectError)(lastResult.error instanceof Error
870
+ ? lastResult.error.message
871
+ : String(lastResult.error ?? ""))) {
872
+ return lastResult;
873
+ }
874
+ }
875
+ catch (error) {
876
+ if (attempt >= config.maxRetries || !(0, effectsHelpers_1.isRetryableEffectError)(error)) {
877
+ return {
878
+ status: "error",
879
+ error: error instanceof Error ? error : new Error(String(error)),
880
+ stderr: error instanceof Error ? error.message : String(error),
881
+ };
882
+ }
883
+ lastResult = {
884
+ status: "error",
885
+ error: error instanceof Error ? error : new Error(String(error)),
886
+ };
887
+ }
888
+ process.stderr.write(`[babysitter] effect ${action.effectId ?? action.taskDef?.id ?? 'unknown'} retry ${attempt + 1}/${config.maxRetries}: ${lastResult?.error instanceof Error ? lastResult.error.message : String(lastResult?.error ?? 'unknown')}\n`);
889
+ const baseDelay = constants_1.EFFECT_RETRY_DELAYS_OVERRIDE
890
+ ? (constants_1.EFFECT_RETRY_DELAYS_OVERRIDE[attempt] ?? 0)
891
+ : Math.min(config.baseDelayMs * Math.pow(config.backoffMultiplier, attempt), config.maxDelayMs);
892
+ const jitter = constants_1.EFFECT_RETRY_DELAYS_OVERRIDE
893
+ ? 0
894
+ : baseDelay * 0.2 * (Math.random() * 2 - 1);
895
+ const delay = Math.max(0, Math.round(baseDelay + jitter));
896
+ if (currentPiSession && piSessionFactory) {
897
+ if (disposePiSession) {
898
+ await disposePiSession(currentPiSession);
899
+ }
900
+ else {
901
+ currentPiSession.dispose();
902
+ }
903
+ currentPiSession = piSessionFactory();
904
+ }
905
+ if (delay > 0) {
906
+ await new Promise((resolve) => setTimeout(resolve, delay));
907
+ }
908
+ }
909
+ return lastResult;
910
+ }
911
+ async function orchestrateIterationWithProcessLoadRetry(args) {
912
+ let attempt = 0;
913
+ for (;;) {
914
+ try {
915
+ return await (0, babysitter_sdk_1.orchestrateIteration)({
916
+ runDir: args.runDir,
917
+ subprocessSupport: "agent-platform",
918
+ });
919
+ }
920
+ catch (error) {
921
+ if (!(0, utils_1.isProcessModuleLoadFailure)(error) ||
922
+ attempt >= constants_1.PROCESS_MODULE_LOAD_RETRY_DELAYS_MS.length) {
923
+ throw error;
924
+ }
925
+ const delayMs = constants_1.PROCESS_MODULE_LOAD_RETRY_DELAYS_MS[attempt] ?? 0;
926
+ attempt += 1;
927
+ process.stderr.write(`[babysitter] process module load attempt ${attempt} failed: ${error instanceof Error ? error.message : String(error)}, retrying...\n`);
928
+ args.writeVerbose?.(`[phaseOrchestration retry] process module load failed for ${args.runDir}; retrying iteration import (attempt ${attempt}/${constants_1.PROCESS_MODULE_LOAD_RETRY_DELAYS_MS.length}) after ${delayMs}ms`);
929
+ args.writeVerboseData?.("phaseOrchestration retry cause", error instanceof Error
930
+ ? {
931
+ name: error.name,
932
+ message: error.message,
933
+ stack: error.stack,
934
+ cause: error.cause instanceof Error
935
+ ? {
936
+ name: error.cause.name,
937
+ message: error.cause.message,
938
+ stack: error.cause.stack,
939
+ }
940
+ : error.cause,
941
+ }
942
+ : error);
943
+ if (delayMs > 0) {
944
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
945
+ }
946
+ }
947
+ }
948
+ }