@a5c-ai/genty-platform 5.1.1-staging.00ceebd28cf2

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 (716) 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/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 +158 -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 +3 -0
  168. package/dist/governance/types.d.ts.map +1 -0
  169. package/dist/governance/types.js +5 -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 +176 -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 +13 -0
  216. package/dist/harness/extensionToolBridge.d.ts.map +1 -0
  217. package/dist/harness/extensionToolBridge.js +23 -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 +122 -0
  233. package/dist/harness/internal/createRun/agent-core-loop.d.ts +43 -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 +163 -0
  242. package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
  243. package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
  244. package/dist/harness/internal/createRun/orchestration/constants.js +17 -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 +135 -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 +904 -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 +403 -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 +106 -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 +29 -0
  264. package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
  265. package/dist/harness/internal/createRun/orchestration/index.js +370 -0
  266. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
  267. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
  268. package/dist/harness/internal/createRun/orchestration/internalPhase.js +656 -0
  269. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +27 -0
  270. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
  271. package/dist/harness/internal/createRun/orchestration/internalTools.js +264 -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 +467 -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 +113 -0
  296. package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
  297. package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
  298. package/dist/harness/internal/createRun/planProcess/delegation.js +176 -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 +139 -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 +424 -0
  311. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
  312. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
  313. package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -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 +239 -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 +4 -0
  330. package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
  331. package/dist/harness/internal/createRun/planProcess/validation.js +260 -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 +59 -0
  339. package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
  340. package/dist/harness/internal/createRun/prompts.js +427 -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 +133 -0
  344. package/dist/harness/internal/createRun/utils.d.ts +184 -0
  345. package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
  346. package/dist/harness/internal/createRun/utils.js +218 -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 +149 -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 +341 -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/piSecureSandbox.d.ts +8 -0
  381. package/dist/harness/piSecureSandbox.d.ts.map +1 -0
  382. package/dist/harness/piSecureSandbox.js +366 -0
  383. package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
  384. package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
  385. package/dist/harness/piSecureSandboxTypes.js +6 -0
  386. package/dist/harness/piWrapper/compaction.d.ts +13 -0
  387. package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
  388. package/dist/harness/piWrapper/compaction.js +38 -0
  389. package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
  390. package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
  391. package/dist/harness/piWrapper/instructionPrompts.js +97 -0
  392. package/dist/harness/piWrapper/moduleSupport.d.ts +78 -0
  393. package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
  394. package/dist/harness/piWrapper/moduleSupport.js +207 -0
  395. package/dist/harness/piWrapper.d.ts +82 -0
  396. package/dist/harness/piWrapper.d.ts.map +1 -0
  397. package/dist/harness/piWrapper.js +406 -0
  398. package/dist/harness/planMode.d.ts +68 -0
  399. package/dist/harness/planMode.d.ts.map +1 -0
  400. package/dist/harness/planMode.js +145 -0
  401. package/dist/harness/profileOrchestration.d.ts +55 -0
  402. package/dist/harness/profileOrchestration.d.ts.map +1 -0
  403. package/dist/harness/profileOrchestration.js +61 -0
  404. package/dist/harness/selectionPolicies.d.ts +29 -0
  405. package/dist/harness/selectionPolicies.d.ts.map +1 -0
  406. package/dist/harness/selectionPolicies.js +165 -0
  407. package/dist/harness/streamingParallelism.d.ts +43 -0
  408. package/dist/harness/streamingParallelism.d.ts.map +1 -0
  409. package/dist/harness/streamingParallelism.js +113 -0
  410. package/dist/harness/streamingRenderer.d.ts +64 -0
  411. package/dist/harness/streamingRenderer.d.ts.map +1 -0
  412. package/dist/harness/streamingRenderer.js +85 -0
  413. package/dist/harness/types.d.ts +278 -0
  414. package/dist/harness/types.d.ts.map +1 -0
  415. package/dist/harness/types.js +34 -0
  416. package/dist/harness/websocketSession.d.ts +63 -0
  417. package/dist/harness/websocketSession.d.ts.map +1 -0
  418. package/dist/harness/websocketSession.js +113 -0
  419. package/dist/harness/worktreeIsolation.d.ts +39 -0
  420. package/dist/harness/worktreeIsolation.d.ts.map +1 -0
  421. package/dist/harness/worktreeIsolation.js +85 -0
  422. package/dist/index.d.ts +16 -0
  423. package/dist/index.d.ts.map +1 -0
  424. package/dist/index.js +54 -0
  425. package/dist/interaction/askUserQuestion/core.d.ts +8 -0
  426. package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
  427. package/dist/interaction/askUserQuestion/core.js +112 -0
  428. package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
  429. package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
  430. package/dist/interaction/askUserQuestion/terminal.js +128 -0
  431. package/dist/interaction/askUserQuestion.d.ts +10 -0
  432. package/dist/interaction/askUserQuestion.d.ts.map +1 -0
  433. package/dist/interaction/askUserQuestion.js +295 -0
  434. package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
  435. package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
  436. package/dist/interaction/askUserQuestionTypes.js +6 -0
  437. package/dist/interaction/commandDiscovery.d.ts +38 -0
  438. package/dist/interaction/commandDiscovery.d.ts.map +1 -0
  439. package/dist/interaction/commandDiscovery.js +106 -0
  440. package/dist/interaction/index.d.ts +11 -0
  441. package/dist/interaction/index.d.ts.map +1 -0
  442. package/dist/interaction/index.js +42 -0
  443. package/dist/interaction/interactionRouter.d.ts +25 -0
  444. package/dist/interaction/interactionRouter.d.ts.map +1 -0
  445. package/dist/interaction/interactionRouter.js +55 -0
  446. package/dist/interaction/model-switch.d.ts +16 -0
  447. package/dist/interaction/model-switch.d.ts.map +1 -0
  448. package/dist/interaction/model-switch.js +41 -0
  449. package/dist/interaction/permissionApprovalUi.d.ts +32 -0
  450. package/dist/interaction/permissionApprovalUi.d.ts.map +1 -0
  451. package/dist/interaction/permissionApprovalUi.js +96 -0
  452. package/dist/interaction/steering.d.ts +17 -0
  453. package/dist/interaction/steering.d.ts.map +1 -0
  454. package/dist/interaction/steering.js +41 -0
  455. package/dist/interaction/typedEffectPatterns.d.ts +55 -0
  456. package/dist/interaction/typedEffectPatterns.d.ts.map +1 -0
  457. package/dist/interaction/typedEffectPatterns.js +190 -0
  458. package/dist/mcp/channels/allowlist.d.ts +19 -0
  459. package/dist/mcp/channels/allowlist.d.ts.map +1 -0
  460. package/dist/mcp/channels/allowlist.js +140 -0
  461. package/dist/mcp/channels/channelManager.d.ts +64 -0
  462. package/dist/mcp/channels/channelManager.d.ts.map +1 -0
  463. package/dist/mcp/channels/channelManager.js +137 -0
  464. package/dist/mcp/channels/inboundQueue.d.ts +47 -0
  465. package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
  466. package/dist/mcp/channels/inboundQueue.js +96 -0
  467. package/dist/mcp/channels/index.d.ts +16 -0
  468. package/dist/mcp/channels/index.d.ts.map +1 -0
  469. package/dist/mcp/channels/index.js +38 -0
  470. package/dist/mcp/channels/outbound.d.ts +33 -0
  471. package/dist/mcp/channels/outbound.d.ts.map +1 -0
  472. package/dist/mcp/channels/outbound.js +94 -0
  473. package/dist/mcp/channels/permissionRelay.d.ts +62 -0
  474. package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
  475. package/dist/mcp/channels/permissionRelay.js +159 -0
  476. package/dist/mcp/channels/types.d.ts +135 -0
  477. package/dist/mcp/channels/types.d.ts.map +1 -0
  478. package/dist/mcp/channels/types.js +16 -0
  479. package/dist/mcp/client/auth.d.ts +57 -0
  480. package/dist/mcp/client/auth.d.ts.map +1 -0
  481. package/dist/mcp/client/auth.js +99 -0
  482. package/dist/mcp/client/config.d.ts +28 -0
  483. package/dist/mcp/client/config.d.ts.map +1 -0
  484. package/dist/mcp/client/config.js +144 -0
  485. package/dist/mcp/client/executor.d.ts +30 -0
  486. package/dist/mcp/client/executor.d.ts.map +1 -0
  487. package/dist/mcp/client/executor.js +61 -0
  488. package/dist/mcp/client/index.d.ts +13 -0
  489. package/dist/mcp/client/index.d.ts.map +1 -0
  490. package/dist/mcp/client/index.js +30 -0
  491. package/dist/mcp/client/manager.d.ts +74 -0
  492. package/dist/mcp/client/manager.d.ts.map +1 -0
  493. package/dist/mcp/client/manager.js +215 -0
  494. package/dist/mcp/client/resourceBrowser.d.ts +52 -0
  495. package/dist/mcp/client/resourceBrowser.d.ts.map +1 -0
  496. package/dist/mcp/client/resourceBrowser.js +80 -0
  497. package/dist/mcp/client/toolRegistry.d.ts +113 -0
  498. package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
  499. package/dist/mcp/client/toolRegistry.js +190 -0
  500. package/dist/mcp/client/types.d.ts +96 -0
  501. package/dist/mcp/client/types.d.ts.map +1 -0
  502. package/dist/mcp/client/types.js +15 -0
  503. package/dist/mcp/transport/index.d.ts +9 -0
  504. package/dist/mcp/transport/index.d.ts.map +1 -0
  505. package/dist/mcp/transport/index.js +13 -0
  506. package/dist/mcp/transport/session.d.ts +18 -0
  507. package/dist/mcp/transport/session.d.ts.map +1 -0
  508. package/dist/mcp/transport/session.js +78 -0
  509. package/dist/mcp/transport/types.d.ts +19 -0
  510. package/dist/mcp/transport/types.d.ts.map +1 -0
  511. package/dist/mcp/transport/types.js +7 -0
  512. package/dist/mcp/transport/websocket.d.ts +41 -0
  513. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  514. package/dist/mcp/transport/websocket.js +271 -0
  515. package/dist/observability/alertWebhooks.d.ts +35 -0
  516. package/dist/observability/alertWebhooks.d.ts.map +1 -0
  517. package/dist/observability/alertWebhooks.js +68 -0
  518. package/dist/observability/analytics.d.ts +66 -0
  519. package/dist/observability/analytics.d.ts.map +1 -0
  520. package/dist/observability/analytics.js +104 -0
  521. package/dist/observability/auditExport.d.ts +25 -0
  522. package/dist/observability/auditExport.d.ts.map +1 -0
  523. package/dist/observability/auditExport.js +108 -0
  524. package/dist/observability/contextIntrospection.d.ts +40 -0
  525. package/dist/observability/contextIntrospection.d.ts.map +1 -0
  526. package/dist/observability/contextIntrospection.js +93 -0
  527. package/dist/observability/failureTriage.d.ts +28 -0
  528. package/dist/observability/failureTriage.d.ts.map +1 -0
  529. package/dist/observability/failureTriage.js +168 -0
  530. package/dist/observability/health.d.ts +19 -0
  531. package/dist/observability/health.d.ts.map +1 -0
  532. package/dist/observability/health.js +129 -0
  533. package/dist/observability/index.d.ts +14 -0
  534. package/dist/observability/index.d.ts.map +1 -0
  535. package/dist/observability/index.js +53 -0
  536. package/dist/observability/progressSummarizer.d.ts +27 -0
  537. package/dist/observability/progressSummarizer.d.ts.map +1 -0
  538. package/dist/observability/progressSummarizer.js +143 -0
  539. package/dist/observability/promptPlan.d.ts +52 -0
  540. package/dist/observability/promptPlan.d.ts.map +1 -0
  541. package/dist/observability/promptPlan.js +101 -0
  542. package/dist/observability/resumeDashboard.d.ts +32 -0
  543. package/dist/observability/resumeDashboard.d.ts.map +1 -0
  544. package/dist/observability/resumeDashboard.js +204 -0
  545. package/dist/observability/runStatus.d.ts +44 -0
  546. package/dist/observability/runStatus.d.ts.map +1 -0
  547. package/dist/observability/runStatus.js +169 -0
  548. package/dist/observability/subagentHealth.d.ts +66 -0
  549. package/dist/observability/subagentHealth.d.ts.map +1 -0
  550. package/dist/observability/subagentHealth.js +107 -0
  551. package/dist/observability/subagentProgress.d.ts +64 -0
  552. package/dist/observability/subagentProgress.d.ts.map +1 -0
  553. package/dist/observability/subagentProgress.js +91 -0
  554. package/dist/observability/timeline.d.ts +11 -0
  555. package/dist/observability/timeline.d.ts.map +1 -0
  556. package/dist/observability/timeline.js +176 -0
  557. package/dist/observability/types.d.ts +62 -0
  558. package/dist/observability/types.d.ts.map +1 -0
  559. package/dist/observability/types.js +8 -0
  560. package/dist/observability/webhooks.d.ts +68 -0
  561. package/dist/observability/webhooks.d.ts.map +1 -0
  562. package/dist/observability/webhooks.js +132 -0
  563. package/dist/plugins/ccCompatibility.d.ts +79 -0
  564. package/dist/plugins/ccCompatibility.d.ts.map +1 -0
  565. package/dist/plugins/ccCompatibility.js +139 -0
  566. package/dist/plugins/index.d.ts +16 -0
  567. package/dist/plugins/index.d.ts.map +1 -0
  568. package/dist/plugins/index.js +38 -0
  569. package/dist/plugins/loader.d.ts +37 -0
  570. package/dist/plugins/loader.d.ts.map +1 -0
  571. package/dist/plugins/loader.js +112 -0
  572. package/dist/plugins/management.d.ts +33 -0
  573. package/dist/plugins/management.d.ts.map +1 -0
  574. package/dist/plugins/management.js +99 -0
  575. package/dist/plugins/marketplace.d.ts +64 -0
  576. package/dist/plugins/marketplace.d.ts.map +1 -0
  577. package/dist/plugins/marketplace.js +101 -0
  578. package/dist/plugins/sandbox.d.ts +38 -0
  579. package/dist/plugins/sandbox.d.ts.map +1 -0
  580. package/dist/plugins/sandbox.js +109 -0
  581. package/dist/plugins/trust.d.ts +31 -0
  582. package/dist/plugins/trust.d.ts.map +1 -0
  583. package/dist/plugins/trust.js +66 -0
  584. package/dist/plugins/types.d.ts +27 -0
  585. package/dist/plugins/types.d.ts.map +1 -0
  586. package/dist/plugins/types.js +7 -0
  587. package/dist/plugins/validation.d.ts +32 -0
  588. package/dist/plugins/validation.d.ts.map +1 -0
  589. package/dist/plugins/validation.js +117 -0
  590. package/dist/plugins/version-check.d.ts +23 -0
  591. package/dist/plugins/version-check.d.ts.map +1 -0
  592. package/dist/plugins/version-check.js +70 -0
  593. package/dist/plugins/versioning.d.ts +40 -0
  594. package/dist/plugins/versioning.d.ts.map +1 -0
  595. package/dist/plugins/versioning.js +101 -0
  596. package/dist/processes/index.d.ts +12 -0
  597. package/dist/processes/index.d.ts.map +1 -0
  598. package/dist/processes/index.js +15 -0
  599. package/dist/processes/recommender.d.ts +36 -0
  600. package/dist/processes/recommender.d.ts.map +1 -0
  601. package/dist/processes/recommender.js +73 -0
  602. package/dist/processes/scorer.d.ts +26 -0
  603. package/dist/processes/scorer.d.ts.map +1 -0
  604. package/dist/processes/scorer.js +104 -0
  605. package/dist/processes/types.d.ts +48 -0
  606. package/dist/processes/types.d.ts.map +1 -0
  607. package/dist/processes/types.js +9 -0
  608. package/dist/runtime/index.d.ts +3 -0
  609. package/dist/runtime/index.d.ts.map +1 -0
  610. package/dist/runtime/index.js +28 -0
  611. package/dist/seams/contract.d.ts +63 -0
  612. package/dist/seams/contract.d.ts.map +1 -0
  613. package/dist/seams/contract.js +141 -0
  614. package/dist/seams/index.d.ts +3 -0
  615. package/dist/seams/index.d.ts.map +1 -0
  616. package/dist/seams/index.js +8 -0
  617. package/dist/session/context.d.ts +22 -0
  618. package/dist/session/context.d.ts.map +1 -0
  619. package/dist/session/context.js +113 -0
  620. package/dist/session/continuityState.d.ts +39 -0
  621. package/dist/session/continuityState.d.ts.map +1 -0
  622. package/dist/session/continuityState.js +164 -0
  623. package/dist/session/cost.d.ts +72 -0
  624. package/dist/session/cost.d.ts.map +1 -0
  625. package/dist/session/cost.js +221 -0
  626. package/dist/session/crossRunComm.d.ts +40 -0
  627. package/dist/session/crossRunComm.d.ts.map +1 -0
  628. package/dist/session/crossRunComm.js +86 -0
  629. package/dist/session/crossRunState.d.ts +8 -0
  630. package/dist/session/crossRunState.d.ts.map +1 -0
  631. package/dist/session/crossRunState.js +45 -0
  632. package/dist/session/discovery.d.ts +22 -0
  633. package/dist/session/discovery.d.ts.map +1 -0
  634. package/dist/session/discovery.js +35 -0
  635. package/dist/session/history.d.ts +30 -0
  636. package/dist/session/history.d.ts.map +1 -0
  637. package/dist/session/history.js +144 -0
  638. package/dist/session/index.d.ts +8 -0
  639. package/dist/session/index.d.ts.map +1 -0
  640. package/dist/session/index.js +73 -0
  641. package/dist/session/memoryConsolidation.d.ts +31 -0
  642. package/dist/session/memoryConsolidation.d.ts.map +1 -0
  643. package/dist/session/memoryConsolidation.js +135 -0
  644. package/dist/session/memoryExtraction.d.ts +65 -0
  645. package/dist/session/memoryExtraction.d.ts.map +1 -0
  646. package/dist/session/memoryExtraction.js +201 -0
  647. package/dist/session/parse.d.ts +45 -0
  648. package/dist/session/parse.d.ts.map +1 -0
  649. package/dist/session/parse.js +170 -0
  650. package/dist/session/persistence.d.ts +46 -0
  651. package/dist/session/persistence.d.ts.map +1 -0
  652. package/dist/session/persistence.js +180 -0
  653. package/dist/session/sessionSharing.d.ts +55 -0
  654. package/dist/session/sessionSharing.d.ts.map +1 -0
  655. package/dist/session/sessionSharing.js +113 -0
  656. package/dist/session/sessionTemplates.d.ts +57 -0
  657. package/dist/session/sessionTemplates.d.ts.map +1 -0
  658. package/dist/session/sessionTemplates.js +93 -0
  659. package/dist/session/types.d.ts +267 -0
  660. package/dist/session/types.d.ts.map +1 -0
  661. package/dist/session/types.js +45 -0
  662. package/dist/session/write.d.ts +61 -0
  663. package/dist/session/write.d.ts.map +1 -0
  664. package/dist/session/write.js +213 -0
  665. package/dist/skills/chain.d.ts +31 -0
  666. package/dist/skills/chain.d.ts.map +1 -0
  667. package/dist/skills/chain.js +113 -0
  668. package/dist/skills/discovery.d.ts +34 -0
  669. package/dist/skills/discovery.d.ts.map +1 -0
  670. package/dist/skills/discovery.js +185 -0
  671. package/dist/skills/index.d.ts +12 -0
  672. package/dist/skills/index.d.ts.map +1 -0
  673. package/dist/skills/index.js +18 -0
  674. package/dist/skills/router.d.ts +35 -0
  675. package/dist/skills/router.d.ts.map +1 -0
  676. package/dist/skills/router.js +143 -0
  677. package/dist/skills/types.d.ts +33 -0
  678. package/dist/skills/types.d.ts.map +1 -0
  679. package/dist/skills/types.js +5 -0
  680. package/dist/storage/atomic.d.ts +2 -0
  681. package/dist/storage/atomic.d.ts.map +1 -0
  682. package/dist/storage/atomic.js +54 -0
  683. package/dist/storage/clock.d.ts +2 -0
  684. package/dist/storage/clock.d.ts.map +1 -0
  685. package/dist/storage/clock.js +6 -0
  686. package/dist/storage/index.d.ts +7 -0
  687. package/dist/storage/index.d.ts.map +1 -0
  688. package/dist/storage/index.js +9 -0
  689. package/dist/storage/journalWatcher.d.ts +24 -0
  690. package/dist/storage/journalWatcher.d.ts.map +1 -0
  691. package/dist/storage/journalWatcher.js +173 -0
  692. package/dist/storage/paths.d.ts +5 -0
  693. package/dist/storage/paths.d.ts.map +1 -0
  694. package/dist/storage/paths.js +26 -0
  695. package/dist/storage/snapshotState.d.ts +10 -0
  696. package/dist/storage/snapshotState.d.ts.map +1 -0
  697. package/dist/storage/snapshotState.js +15 -0
  698. package/dist/storage/storeTaskArtifacts.d.ts +6 -0
  699. package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
  700. package/dist/storage/storeTaskArtifacts.js +55 -0
  701. package/dist/storage/types.d.ts +21 -0
  702. package/dist/storage/types.d.ts.map +1 -0
  703. package/dist/storage/types.js +2 -0
  704. package/dist/tasks/crud.d.ts +33 -0
  705. package/dist/tasks/crud.d.ts.map +1 -0
  706. package/dist/tasks/crud.js +150 -0
  707. package/dist/tasks/index.d.ts +2 -0
  708. package/dist/tasks/index.d.ts.map +1 -0
  709. package/dist/tasks/index.js +9 -0
  710. package/dist/trust/harness-signing.d.ts +15 -0
  711. package/dist/trust/harness-signing.d.ts.map +1 -0
  712. package/dist/trust/harness-signing.js +46 -0
  713. package/dist/trust/key-store.d.ts +15 -0
  714. package/dist/trust/key-store.d.ts.map +1 -0
  715. package/dist/trust/key-store.js +66 -0
  716. package/package.json +161 -0
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * Profile-driven orchestration configuration — derive orchestration
4
+ * preferences from a user profile so runs automatically align with
5
+ * the operator's breakpoint tolerance, model preference, and tool
6
+ * choices (GAP-PROF-001).
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.deriveOrchestrationConfig = deriveOrchestrationConfig;
10
+ exports.applyProfileToProcessOptions = applyProfileToProcessOptions;
11
+ // ---------------------------------------------------------------------------
12
+ // Mapping helpers
13
+ // ---------------------------------------------------------------------------
14
+ const TOLERANCE_TO_DENSITY = {
15
+ minimal: 'none',
16
+ low: 'sparse',
17
+ moderate: 'moderate',
18
+ high: 'frequent',
19
+ maximum: 'frequent',
20
+ };
21
+ function mapBreakpointDensity(tolerance) {
22
+ if (!tolerance)
23
+ return 'moderate';
24
+ return TOLERANCE_TO_DENSITY[tolerance] ?? 'moderate';
25
+ }
26
+ // ---------------------------------------------------------------------------
27
+ // Public API
28
+ // ---------------------------------------------------------------------------
29
+ /**
30
+ * Derive orchestration configuration from a user profile.
31
+ */
32
+ function deriveOrchestrationConfig(profile) {
33
+ const breakpointDensity = mapBreakpointDensity(profile.breakpointTolerance?.global);
34
+ // Model preference is an open-ended string stored under preferences
35
+ const preferredModel = typeof profile.preferences?.preferredModel === 'string'
36
+ ? profile.preferences.preferredModel
37
+ : undefined;
38
+ const toolPreferences = {
39
+ editor: profile.toolPreferences?.editor,
40
+ shell: profile.toolPreferences?.shell,
41
+ packageManagers: profile.toolPreferences?.packageManagers ?? [],
42
+ };
43
+ return { breakpointDensity, preferredModel, toolPreferences };
44
+ }
45
+ /**
46
+ * Merge profile-derived preferences into process options.
47
+ * Explicit values in `options` take precedence over the profile.
48
+ */
49
+ function applyProfileToProcessOptions(profile, options) {
50
+ const config = deriveOrchestrationConfig(profile);
51
+ return {
52
+ ...options,
53
+ breakpointDensity: options.breakpointDensity ?? config.breakpointDensity,
54
+ model: options.model ?? config.preferredModel,
55
+ toolPreferences: {
56
+ editor: options.toolPreferences?.editor ?? config.toolPreferences.editor,
57
+ shell: options.toolPreferences?.shell ?? config.toolPreferences.shell,
58
+ packageManagers: options.toolPreferences?.packageManagers ?? config.toolPreferences.packageManagers,
59
+ },
60
+ };
61
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * GAP-HADAPT-008: Harness Selection Policies.
3
+ *
4
+ * Configurable policies for harness selection: cost-optimized,
5
+ * latency-optimized, capability-first, user-preferred.
6
+ * Policy evaluator scores candidates using selectHarness from capabilityRouter.
7
+ */
8
+ import { type TaskRequirements, type HarnessCandidate, type RoutingResult } from "./capabilityRouter";
9
+ export type PolicyName = "cost-optimized" | "latency-optimized" | "capability-first" | "user-preferred";
10
+ export interface SelectionPolicy {
11
+ name: PolicyName;
12
+ description: string;
13
+ evaluate(candidates: HarnessCandidate[], requirements: Partial<TaskRequirements>, options?: PolicyEvaluatorOptions): PolicyEvaluatorResult;
14
+ }
15
+ export interface PolicyEvaluatorResult {
16
+ selected: HarnessCandidate | null;
17
+ policyName: PolicyName;
18
+ score: number;
19
+ reason: string;
20
+ routingResult: RoutingResult | null;
21
+ }
22
+ export interface PolicyEvaluatorOptions {
23
+ preferredHarness?: string;
24
+ }
25
+ export declare function getDefaultPolicy(): SelectionPolicy;
26
+ export declare function getPolicyByName(name: PolicyName): SelectionPolicy;
27
+ export declare function createPolicyEvaluator(policy: SelectionPolicy): (candidates: HarnessCandidate[], requirements: Partial<TaskRequirements>, options?: PolicyEvaluatorOptions) => PolicyEvaluatorResult;
28
+ export declare function evaluatePolicy(policyName: PolicyName, candidates: HarnessCandidate[], requirements: Partial<TaskRequirements>, options?: PolicyEvaluatorOptions): PolicyEvaluatorResult;
29
+ //# sourceMappingURL=selectionPolicies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectionPolicies.d.ts","sourceRoot":"","sources":["../../src/harness/selectionPolicies.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAO5B,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,gBAAgB,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CACN,UAAU,EAAE,gBAAgB,EAAE,EAC9B,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACvC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,qBAAqB,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAkKD,wBAAgB,gBAAgB,IAAI,eAAe,CAElD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAMjE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,GACtB,CACD,UAAU,EAAE,gBAAgB,EAAE,EAC9B,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACvC,OAAO,CAAC,EAAE,sBAAsB,KAC7B,qBAAqB,CAGzB;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACvC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,qBAAqB,CAGvB"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-HADAPT-008: Harness Selection Policies.
4
+ *
5
+ * Configurable policies for harness selection: cost-optimized,
6
+ * latency-optimized, capability-first, user-preferred.
7
+ * Policy evaluator scores candidates using selectHarness from capabilityRouter.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getDefaultPolicy = getDefaultPolicy;
11
+ exports.getPolicyByName = getPolicyByName;
12
+ exports.createPolicyEvaluator = createPolicyEvaluator;
13
+ exports.evaluatePolicy = evaluatePolicy;
14
+ const capabilityRouter_1 = require("./capabilityRouter");
15
+ const types_1 = require("./types");
16
+ // ---------------------------------------------------------------------------
17
+ // Policy implementations
18
+ // ---------------------------------------------------------------------------
19
+ const capabilityFirstPolicy = {
20
+ name: "capability-first",
21
+ description: "Select the harness with the highest capability score",
22
+ evaluate(candidates, requirements) {
23
+ const result = (0, capabilityRouter_1.selectHarness)(requirements, candidates);
24
+ if (!result) {
25
+ return { selected: null, policyName: "capability-first", score: 0, reason: "No candidate met threshold", routingResult: null };
26
+ }
27
+ return {
28
+ selected: result.selected,
29
+ policyName: "capability-first",
30
+ score: result.score,
31
+ reason: `Selected ${result.selected.name} with score ${result.score}`,
32
+ routingResult: result,
33
+ };
34
+ },
35
+ };
36
+ const costOptimizedPolicy = {
37
+ name: "cost-optimized",
38
+ description: "Prefer harnesses with fewer capabilities (proxy for lower cost)",
39
+ evaluate(candidates, requirements) {
40
+ const result = (0, capabilityRouter_1.selectHarness)(requirements, candidates);
41
+ if (!result) {
42
+ return { selected: null, policyName: "cost-optimized", score: 0, reason: "No candidate met threshold", routingResult: null };
43
+ }
44
+ // Among eligible candidates (those that passed the threshold), pick the one
45
+ // with the fewest capabilities — a proxy for cost
46
+ const eligible = result.scores
47
+ .filter((s) => !s.disqualified && s.total >= 50)
48
+ .map((s) => s.name);
49
+ const eligibleCandidates = candidates.filter((c) => eligible.includes(c.name));
50
+ if (eligibleCandidates.length === 0) {
51
+ return { selected: null, policyName: "cost-optimized", score: 0, reason: "No eligible candidate", routingResult: result };
52
+ }
53
+ // Sort by fewest capabilities ascending
54
+ const sorted = [...eligibleCandidates].sort((a, b) => a.capabilities.length - b.capabilities.length);
55
+ const pick = sorted[0];
56
+ const pickScore = result.scores.find((s) => s.name === pick.name);
57
+ return {
58
+ selected: pick,
59
+ policyName: "cost-optimized",
60
+ score: pickScore?.total ?? 0,
61
+ reason: `Selected ${pick.name} (fewest capabilities: ${pick.capabilities.length})`,
62
+ routingResult: result,
63
+ };
64
+ },
65
+ };
66
+ const latencyOptimizedPolicy = {
67
+ name: "latency-optimized",
68
+ description: "Prefer harnesses with Programmatic + StopHook for lowest latency",
69
+ evaluate(candidates, requirements) {
70
+ const result = (0, capabilityRouter_1.selectHarness)(requirements, candidates);
71
+ if (!result) {
72
+ return { selected: null, policyName: "latency-optimized", score: 0, reason: "No candidate met threshold", routingResult: null };
73
+ }
74
+ const eligible = result.scores
75
+ .filter((s) => !s.disqualified && s.total >= 50)
76
+ .map((s) => s.name);
77
+ const eligibleCandidates = candidates.filter((c) => eligible.includes(c.name));
78
+ if (eligibleCandidates.length === 0) {
79
+ return { selected: null, policyName: "latency-optimized", score: 0, reason: "No eligible candidate", routingResult: result };
80
+ }
81
+ // Score: +2 for StopHook, +2 for Programmatic, +1 for SessionBinding
82
+ const latencyScore = (c) => {
83
+ let s = 0;
84
+ if (c.capabilities.includes(types_1.HarnessCapability.StopHook))
85
+ s += 2;
86
+ if (c.capabilities.includes(types_1.HarnessCapability.Programmatic))
87
+ s += 2;
88
+ if (c.capabilities.includes(types_1.HarnessCapability.SessionBinding))
89
+ s += 1;
90
+ return s;
91
+ };
92
+ const sorted = [...eligibleCandidates].sort((a, b) => latencyScore(b) - latencyScore(a));
93
+ const pick = sorted[0];
94
+ const pickScore = result.scores.find((s) => s.name === pick.name);
95
+ return {
96
+ selected: pick,
97
+ policyName: "latency-optimized",
98
+ score: pickScore?.total ?? 0,
99
+ reason: `Selected ${pick.name} (latency-optimized: StopHook+Programmatic)`,
100
+ routingResult: result,
101
+ };
102
+ },
103
+ };
104
+ const userPreferredPolicy = {
105
+ name: "user-preferred",
106
+ description: "Select the user-preferred harness if it qualifies, else fall back to capability-first",
107
+ evaluate(candidates, requirements, options) {
108
+ const preferred = options?.preferredHarness;
109
+ if (preferred) {
110
+ // Try routing with the preferred harness hint
111
+ const augmented = {
112
+ ...requirements,
113
+ preferredHarness: preferred,
114
+ };
115
+ const result = (0, capabilityRouter_1.selectHarness)(augmented, candidates);
116
+ if (result && result.selected.name === preferred) {
117
+ return {
118
+ selected: result.selected,
119
+ policyName: "user-preferred",
120
+ score: result.score,
121
+ reason: `Selected user-preferred harness ${preferred}`,
122
+ routingResult: result,
123
+ };
124
+ }
125
+ }
126
+ // Fall back to capability-first
127
+ const fallback = capabilityFirstPolicy.evaluate(candidates, requirements);
128
+ return {
129
+ ...fallback,
130
+ policyName: "user-preferred",
131
+ reason: preferred
132
+ ? `Preferred harness '${preferred}' not available, fell back to ${fallback.selected?.name ?? "none"}`
133
+ : fallback.reason,
134
+ };
135
+ },
136
+ };
137
+ // ---------------------------------------------------------------------------
138
+ // Registry
139
+ // ---------------------------------------------------------------------------
140
+ const POLICIES = {
141
+ "capability-first": capabilityFirstPolicy,
142
+ "cost-optimized": costOptimizedPolicy,
143
+ "latency-optimized": latencyOptimizedPolicy,
144
+ "user-preferred": userPreferredPolicy,
145
+ };
146
+ // ---------------------------------------------------------------------------
147
+ // Public API
148
+ // ---------------------------------------------------------------------------
149
+ function getDefaultPolicy() {
150
+ return POLICIES["capability-first"];
151
+ }
152
+ function getPolicyByName(name) {
153
+ const policy = POLICIES[name];
154
+ if (!policy) {
155
+ throw new TypeError(`Unknown selection policy: ${String(name)}`);
156
+ }
157
+ return policy;
158
+ }
159
+ function createPolicyEvaluator(policy) {
160
+ return (candidates, requirements, options) => policy.evaluate(candidates, requirements, options);
161
+ }
162
+ function evaluatePolicy(policyName, candidates, requirements, options) {
163
+ const policy = getPolicyByName(policyName);
164
+ return policy.evaluate(candidates, requirements, options);
165
+ }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Streaming parallelism — merge and fan-out async streams (GAP-PAR-006).
3
+ *
4
+ * StreamMerger: merges multiple async iterables into a single ordered-by-arrival
5
+ * async generator.
6
+ * StreamFanout: pushes items to multiple consumers concurrently.
7
+ */
8
+ interface TaggedItem<T> {
9
+ streamId: string;
10
+ value: T;
11
+ }
12
+ /**
13
+ * Merges multiple async iterables into a single async generator that yields
14
+ * items as they arrive from any source.
15
+ */
16
+ export declare class StreamMerger<T> {
17
+ private streams;
18
+ /** Register an async iterable source with a unique id. */
19
+ addStream(id: string, iterable: AsyncIterable<T>): void;
20
+ /**
21
+ * Async generator that yields `{ streamId, value }` tuples from all
22
+ * registered streams, in order of arrival.
23
+ */
24
+ merged(): AsyncGenerator<TaggedItem<T>>;
25
+ }
26
+ export type FanoutCallback<T> = (item: T) => void | Promise<void>;
27
+ /**
28
+ * Forwards each pushed item to all registered consumers.
29
+ */
30
+ export declare class StreamFanout<T> {
31
+ private consumers;
32
+ /** Register a consumer callback with a unique id. */
33
+ addConsumer(id: string, callback: FanoutCallback<T>): void;
34
+ /** Remove a consumer by id. Returns true if it existed. */
35
+ removeConsumer(id: string): boolean;
36
+ /**
37
+ * Push an item to all consumers. If any consumer returns a Promise,
38
+ * push waits for all of them to settle.
39
+ */
40
+ push(item: T): Promise<void>;
41
+ }
42
+ export {};
43
+ //# sourceMappingURL=streamingParallelism.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamingParallelism.d.ts","sourceRoot":"","sources":["../../src/harness/streamingParallelism.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,UAAU,UAAU,CAAC,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;GAGG;AACH,qBAAa,YAAY,CAAC,CAAC;IACzB,OAAO,CAAC,OAAO,CAAuC;IAEtD,0DAA0D;IAC1D,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvD;;;OAGG;IACI,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CA6D/C;AAMD,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAElE;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC;IACzB,OAAO,CAAC,SAAS,CAAwC;IAEzD,qDAAqD;IACrD,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAI1D,2DAA2D;IAC3D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAInC;;;OAGG;IACG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAYnC"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ /**
3
+ * Streaming parallelism — merge and fan-out async streams (GAP-PAR-006).
4
+ *
5
+ * StreamMerger: merges multiple async iterables into a single ordered-by-arrival
6
+ * async generator.
7
+ * StreamFanout: pushes items to multiple consumers concurrently.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.StreamFanout = exports.StreamMerger = void 0;
11
+ /**
12
+ * Merges multiple async iterables into a single async generator that yields
13
+ * items as they arrive from any source.
14
+ */
15
+ class StreamMerger {
16
+ streams = new Map();
17
+ /** Register an async iterable source with a unique id. */
18
+ addStream(id, iterable) {
19
+ this.streams.set(id, iterable);
20
+ }
21
+ /**
22
+ * Async generator that yields `{ streamId, value }` tuples from all
23
+ * registered streams, in order of arrival.
24
+ */
25
+ async *merged() {
26
+ if (this.streams.size === 0)
27
+ return;
28
+ // We use a shared queue + resolvers pattern to merge multiple iterators
29
+ const queue = [];
30
+ let done = 0;
31
+ const total = this.streams.size;
32
+ let resolve = null;
33
+ let finished = false;
34
+ function enqueue(item) {
35
+ queue.push(item);
36
+ if (resolve) {
37
+ const r = resolve;
38
+ resolve = null;
39
+ r();
40
+ }
41
+ }
42
+ function signalDone() {
43
+ done++;
44
+ if (done >= total) {
45
+ finished = true;
46
+ if (resolve) {
47
+ const r = resolve;
48
+ resolve = null;
49
+ r();
50
+ }
51
+ }
52
+ }
53
+ // Start consuming each stream
54
+ const consumers = [];
55
+ for (const [id, iterable] of this.streams.entries()) {
56
+ consumers.push((async () => {
57
+ try {
58
+ for await (const value of iterable) {
59
+ enqueue({ streamId: id, value });
60
+ }
61
+ }
62
+ finally {
63
+ signalDone();
64
+ }
65
+ })());
66
+ }
67
+ // Yield items as they arrive
68
+ while (!finished || queue.length > 0) {
69
+ if (queue.length > 0) {
70
+ yield queue.shift();
71
+ }
72
+ else if (!finished) {
73
+ await new Promise((r) => {
74
+ resolve = r;
75
+ });
76
+ }
77
+ }
78
+ // Wait for all consumer promises to settle
79
+ await Promise.allSettled(consumers);
80
+ }
81
+ }
82
+ exports.StreamMerger = StreamMerger;
83
+ /**
84
+ * Forwards each pushed item to all registered consumers.
85
+ */
86
+ class StreamFanout {
87
+ consumers = new Map();
88
+ /** Register a consumer callback with a unique id. */
89
+ addConsumer(id, callback) {
90
+ this.consumers.set(id, callback);
91
+ }
92
+ /** Remove a consumer by id. Returns true if it existed. */
93
+ removeConsumer(id) {
94
+ return this.consumers.delete(id);
95
+ }
96
+ /**
97
+ * Push an item to all consumers. If any consumer returns a Promise,
98
+ * push waits for all of them to settle.
99
+ */
100
+ async push(item) {
101
+ const promises = [];
102
+ for (const cb of this.consumers.values()) {
103
+ const result = cb(item);
104
+ if (result && typeof result === 'object' && 'then' in result) {
105
+ promises.push(result);
106
+ }
107
+ }
108
+ if (promises.length > 0) {
109
+ await Promise.all(promises);
110
+ }
111
+ }
112
+ }
113
+ exports.StreamFanout = StreamFanout;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Streaming Renderer (GAP-PERF-004).
3
+ *
4
+ * Buffers and dispatches streaming output chunks from harness sessions.
5
+ * Supports typed chunk handling with listener registration and
6
+ * buffered replay for late subscribers.
7
+ */
8
+ /** Type of streaming content chunk. */
9
+ export type StreamChunkType = "text" | "tool_use" | "tool_result" | "thinking" | "error";
10
+ /** A single chunk of streaming output. */
11
+ export interface StreamChunk {
12
+ /** Chunk type discriminator. */
13
+ type: StreamChunkType;
14
+ /** The content of the chunk. */
15
+ content: string;
16
+ /** When the chunk was received (ISO 8601). */
17
+ timestamp: string;
18
+ /** Sequence number within the stream. */
19
+ seq: number;
20
+ }
21
+ /** Callback invoked for each incoming chunk. */
22
+ export type StreamChunkListener = (chunk: StreamChunk) => void;
23
+ /**
24
+ * Buffers streaming output and dispatches chunks to registered listeners.
25
+ *
26
+ * Designed for single-session use: one renderer per harness invocation.
27
+ */
28
+ export declare class StreamingRenderer {
29
+ private readonly buffer;
30
+ private readonly listeners;
31
+ private seq;
32
+ /**
33
+ * Push a new chunk into the stream.
34
+ * Immediately dispatches to all registered listeners.
35
+ */
36
+ push(type: StreamChunkType, content: string): StreamChunk;
37
+ /**
38
+ * Register a listener for incoming chunks.
39
+ * Returns an unsubscribe function.
40
+ */
41
+ onChunk(listener: StreamChunkListener): () => void;
42
+ /**
43
+ * Flush the buffer and return all accumulated chunks.
44
+ * Clears the internal buffer after flushing.
45
+ */
46
+ flush(): StreamChunk[];
47
+ /**
48
+ * Get the current buffer contents without clearing.
49
+ */
50
+ getBuffer(): readonly StreamChunk[];
51
+ /**
52
+ * Get the number of chunks currently in the buffer.
53
+ */
54
+ get size(): number;
55
+ /**
56
+ * Get all chunks of a specific type from the buffer.
57
+ */
58
+ getByType(type: StreamChunkType): StreamChunk[];
59
+ /**
60
+ * Clear the buffer and reset the sequence counter.
61
+ */
62
+ reset(): void;
63
+ }
64
+ //# sourceMappingURL=streamingRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamingRenderer.d.ts","sourceRoot":"","sources":["../../src/harness/streamingRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,uCAAuC;AACvC,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAEzF,0CAA0C;AAC1C,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAM/D;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,GAAG,CAAK;IAEhB;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW;IAgBzD;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,IAAI;IAOlD;;;OAGG;IACH,KAAK,IAAI,WAAW,EAAE;IAMtB;;OAEG;IACH,SAAS,IAAI,SAAS,WAAW,EAAE;IAInC;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,EAAE;IAI/C;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /**
3
+ * Streaming Renderer (GAP-PERF-004).
4
+ *
5
+ * Buffers and dispatches streaming output chunks from harness sessions.
6
+ * Supports typed chunk handling with listener registration and
7
+ * buffered replay for late subscribers.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.StreamingRenderer = void 0;
11
+ // ---------------------------------------------------------------------------
12
+ // Renderer
13
+ // ---------------------------------------------------------------------------
14
+ /**
15
+ * Buffers streaming output and dispatches chunks to registered listeners.
16
+ *
17
+ * Designed for single-session use: one renderer per harness invocation.
18
+ */
19
+ class StreamingRenderer {
20
+ buffer = [];
21
+ listeners = new Set();
22
+ seq = 0;
23
+ /**
24
+ * Push a new chunk into the stream.
25
+ * Immediately dispatches to all registered listeners.
26
+ */
27
+ push(type, content) {
28
+ const chunk = {
29
+ type,
30
+ content,
31
+ timestamp: new Date().toISOString(),
32
+ seq: this.seq++,
33
+ };
34
+ this.buffer.push(chunk);
35
+ for (const listener of this.listeners) {
36
+ listener(chunk);
37
+ }
38
+ return chunk;
39
+ }
40
+ /**
41
+ * Register a listener for incoming chunks.
42
+ * Returns an unsubscribe function.
43
+ */
44
+ onChunk(listener) {
45
+ this.listeners.add(listener);
46
+ return () => {
47
+ this.listeners.delete(listener);
48
+ };
49
+ }
50
+ /**
51
+ * Flush the buffer and return all accumulated chunks.
52
+ * Clears the internal buffer after flushing.
53
+ */
54
+ flush() {
55
+ const flushed = [...this.buffer];
56
+ this.buffer.length = 0;
57
+ return flushed;
58
+ }
59
+ /**
60
+ * Get the current buffer contents without clearing.
61
+ */
62
+ getBuffer() {
63
+ return [...this.buffer];
64
+ }
65
+ /**
66
+ * Get the number of chunks currently in the buffer.
67
+ */
68
+ get size() {
69
+ return this.buffer.length;
70
+ }
71
+ /**
72
+ * Get all chunks of a specific type from the buffer.
73
+ */
74
+ getByType(type) {
75
+ return this.buffer.filter((c) => c.type === type);
76
+ }
77
+ /**
78
+ * Clear the buffer and reset the sequence counter.
79
+ */
80
+ reset() {
81
+ this.buffer.length = 0;
82
+ this.seq = 0;
83
+ }
84
+ }
85
+ exports.StreamingRenderer = StreamingRenderer;