@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,51 @@
1
+ /**
2
+ * CircuitBreaker — closed/open/half-open state machine for protecting
3
+ * downstream calls from cascading failures.
4
+ *
5
+ * States:
6
+ * - closed — requests pass through normally; failures are counted.
7
+ * - open — all requests are rejected immediately; after `resetTimeoutMs`
8
+ * the breaker transitions to half-open.
9
+ * - half-open — a single probe request is allowed; success resets to closed,
10
+ * failure reopens.
11
+ */
12
+ export type CircuitState = 'closed' | 'open' | 'half-open';
13
+ export interface CircuitBreakerOptions {
14
+ /** Number of consecutive failures before opening the circuit. Default: 5. */
15
+ failureThreshold?: number;
16
+ /** Time (ms) the circuit stays open before transitioning to half-open. Default: 30 000. */
17
+ resetTimeoutMs?: number;
18
+ }
19
+ export interface CircuitBreakerSnapshot {
20
+ state: CircuitState;
21
+ failureCount: number;
22
+ lastFailureAt: number | null;
23
+ lastSuccessAt: number | null;
24
+ }
25
+ export declare class CircuitBreaker {
26
+ private state;
27
+ private failureCount;
28
+ private lastFailureAt;
29
+ private lastSuccessAt;
30
+ private openedAt;
31
+ private readonly failureThreshold;
32
+ private readonly resetTimeoutMs;
33
+ constructor(options?: CircuitBreakerOptions);
34
+ /** Return a point-in-time snapshot of the breaker state. */
35
+ getState(now?: number): CircuitBreakerSnapshot;
36
+ /** Whether the circuit currently allows requests through. */
37
+ isAllowed(now?: number): boolean;
38
+ /** Record a successful call. Resets the breaker to closed. */
39
+ recordSuccess(now?: number): void;
40
+ /** Record a failed call. Opens the circuit when the threshold is reached. */
41
+ recordFailure(now?: number): void;
42
+ /** Force the breaker into the closed state (e.g. manual override). */
43
+ reset(): void;
44
+ /**
45
+ * Execute `fn` through the circuit breaker.
46
+ * Throws if the circuit is open.
47
+ */
48
+ execute<T>(fn: () => Promise<T>, now?: number): Promise<T>;
49
+ private maybeTick;
50
+ }
51
+ //# sourceMappingURL=circuitBreaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuitBreaker.d.ts","sourceRoot":"","sources":["../../src/harness/circuitBreaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAMD,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAuB;IAEvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,OAAO,CAAC,EAAE,qBAAqB;IAS3C,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAW9C,6DAA6D;IAC7D,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO;IAShC,8DAA8D;IAC9D,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAQjC,6EAA6E;IAC7E,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAWjC,sEAAsE;IACtE,KAAK,IAAI,IAAI;IAUb;;;OAGG;IACG,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAoBhE,OAAO,CAAC,SAAS;CAQlB"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ /**
3
+ * CircuitBreaker — closed/open/half-open state machine for protecting
4
+ * downstream calls from cascading failures.
5
+ *
6
+ * States:
7
+ * - closed — requests pass through normally; failures are counted.
8
+ * - open — all requests are rejected immediately; after `resetTimeoutMs`
9
+ * the breaker transitions to half-open.
10
+ * - half-open — a single probe request is allowed; success resets to closed,
11
+ * failure reopens.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.CircuitBreaker = void 0;
15
+ // ---------------------------------------------------------------------------
16
+ // Implementation
17
+ // ---------------------------------------------------------------------------
18
+ class CircuitBreaker {
19
+ state = 'closed';
20
+ failureCount = 0;
21
+ lastFailureAt = null;
22
+ lastSuccessAt = null;
23
+ openedAt = null;
24
+ failureThreshold;
25
+ resetTimeoutMs;
26
+ constructor(options) {
27
+ this.failureThreshold = options?.failureThreshold ?? 5;
28
+ this.resetTimeoutMs = options?.resetTimeoutMs ?? 30_000;
29
+ }
30
+ // -------------------------------------------------------------------------
31
+ // Query
32
+ // -------------------------------------------------------------------------
33
+ /** Return a point-in-time snapshot of the breaker state. */
34
+ getState(now) {
35
+ // Check for automatic transition from open → half-open
36
+ this.maybeTick(now);
37
+ return {
38
+ state: this.state,
39
+ failureCount: this.failureCount,
40
+ lastFailureAt: this.lastFailureAt,
41
+ lastSuccessAt: this.lastSuccessAt,
42
+ };
43
+ }
44
+ /** Whether the circuit currently allows requests through. */
45
+ isAllowed(now) {
46
+ this.maybeTick(now);
47
+ return this.state !== 'open';
48
+ }
49
+ // -------------------------------------------------------------------------
50
+ // Recording outcomes
51
+ // -------------------------------------------------------------------------
52
+ /** Record a successful call. Resets the breaker to closed. */
53
+ recordSuccess(now) {
54
+ const ts = now ?? Date.now();
55
+ this.lastSuccessAt = ts;
56
+ this.failureCount = 0;
57
+ this.state = 'closed';
58
+ this.openedAt = null;
59
+ }
60
+ /** Record a failed call. Opens the circuit when the threshold is reached. */
61
+ recordFailure(now) {
62
+ const ts = now ?? Date.now();
63
+ this.lastFailureAt = ts;
64
+ this.failureCount++;
65
+ if (this.state === 'half-open' || this.failureCount >= this.failureThreshold) {
66
+ this.state = 'open';
67
+ this.openedAt = ts;
68
+ }
69
+ }
70
+ /** Force the breaker into the closed state (e.g. manual override). */
71
+ reset() {
72
+ this.state = 'closed';
73
+ this.failureCount = 0;
74
+ this.openedAt = null;
75
+ }
76
+ // -------------------------------------------------------------------------
77
+ // Execute with protection
78
+ // -------------------------------------------------------------------------
79
+ /**
80
+ * Execute `fn` through the circuit breaker.
81
+ * Throws if the circuit is open.
82
+ */
83
+ async execute(fn, now) {
84
+ const ts = now ?? Date.now();
85
+ if (!this.isAllowed(ts)) {
86
+ throw new Error('Circuit breaker is open — request rejected');
87
+ }
88
+ try {
89
+ const result = await fn();
90
+ this.recordSuccess(ts);
91
+ return result;
92
+ }
93
+ catch (err) {
94
+ this.recordFailure(ts);
95
+ throw err;
96
+ }
97
+ }
98
+ // -------------------------------------------------------------------------
99
+ // Internal
100
+ // -------------------------------------------------------------------------
101
+ maybeTick(now) {
102
+ if (this.state === 'open' && this.openedAt != null) {
103
+ const ts = now ?? Date.now();
104
+ if (ts - this.openedAt >= this.resetTimeoutMs) {
105
+ this.state = 'half-open';
106
+ }
107
+ }
108
+ }
109
+ }
110
+ exports.CircuitBreaker = CircuitBreaker;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Concurrent Effects Execution (GAP-PAR-001).
3
+ *
4
+ * Provides concurrency-limited execution of effect groups using a
5
+ * semaphore pattern. Complements the SDK-level concurrentExecution.ts
6
+ * with platform-layer policies and group execution.
7
+ */
8
+ /** Policy controlling how concurrent effects are dispatched. */
9
+ export interface ConcurrencyPolicy {
10
+ /** Maximum number of effects to execute simultaneously. */
11
+ maxConcurrency: number;
12
+ /**
13
+ * Whether to continue executing remaining effects when one fails.
14
+ * Default: true (best-effort).
15
+ */
16
+ continueOnFailure?: boolean;
17
+ }
18
+ /** Result of a single effect execution within a concurrent group. */
19
+ export interface ConcurrentEffectResult<T = unknown> {
20
+ /** Index within the group. */
21
+ index: number;
22
+ /** Whether the execution succeeded. */
23
+ status: "fulfilled" | "rejected";
24
+ /** Resolved value, if successful. */
25
+ value?: T;
26
+ /** Error reason, if rejected. */
27
+ reason?: unknown;
28
+ }
29
+ /**
30
+ * Execute a group of effect tasks concurrently, respecting the
31
+ * concurrency limit specified in the policy.
32
+ *
33
+ * Each effect is represented as an async function. The semaphore ensures
34
+ * at most `policy.maxConcurrency` effects run simultaneously.
35
+ *
36
+ * Returns settled results (never throws).
37
+ */
38
+ export declare function executeConcurrentGroup<T>(effects: Array<() => Promise<T>>, policy: ConcurrencyPolicy): Promise<Array<ConcurrentEffectResult<T>>>;
39
+ //# sourceMappingURL=concurrentEffects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrentEffects.d.ts","sourceRoot":"","sources":["../../src/harness/concurrentEffects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,qEAAqE;AACrE,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,OAAO;IACjD,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;IACjC,qCAAqC;IACrC,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAwCD;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,OAAO,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAChC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAoC3C"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ /**
3
+ * Concurrent Effects Execution (GAP-PAR-001).
4
+ *
5
+ * Provides concurrency-limited execution of effect groups using a
6
+ * semaphore pattern. Complements the SDK-level concurrentExecution.ts
7
+ * with platform-layer policies and group execution.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.executeConcurrentGroup = executeConcurrentGroup;
11
+ // ---------------------------------------------------------------------------
12
+ // Semaphore
13
+ // ---------------------------------------------------------------------------
14
+ /**
15
+ * Simple counting semaphore for concurrency control.
16
+ * Limits the number of concurrent Promise executions.
17
+ */
18
+ class Semaphore {
19
+ limit;
20
+ current = 0;
21
+ waiters = [];
22
+ constructor(limit) {
23
+ this.limit = limit;
24
+ }
25
+ async acquire() {
26
+ if (this.current < this.limit) {
27
+ this.current += 1;
28
+ return;
29
+ }
30
+ return new Promise((resolve) => {
31
+ this.waiters.push(resolve);
32
+ });
33
+ }
34
+ release() {
35
+ const next = this.waiters.shift();
36
+ if (next) {
37
+ next();
38
+ }
39
+ else {
40
+ this.current -= 1;
41
+ }
42
+ }
43
+ }
44
+ // ---------------------------------------------------------------------------
45
+ // Core API
46
+ // ---------------------------------------------------------------------------
47
+ /**
48
+ * Execute a group of effect tasks concurrently, respecting the
49
+ * concurrency limit specified in the policy.
50
+ *
51
+ * Each effect is represented as an async function. The semaphore ensures
52
+ * at most `policy.maxConcurrency` effects run simultaneously.
53
+ *
54
+ * Returns settled results (never throws).
55
+ */
56
+ async function executeConcurrentGroup(effects, policy) {
57
+ if (effects.length === 0)
58
+ return [];
59
+ const concurrency = Math.max(1, Math.min(effects.length, policy.maxConcurrency));
60
+ const semaphore = new Semaphore(concurrency);
61
+ const continueOnFailure = policy.continueOnFailure ?? true;
62
+ const results = new Array(effects.length);
63
+ let aborted = false;
64
+ const tasks = effects.map(async (effect, index) => {
65
+ if (aborted) {
66
+ results[index] = { index, status: "rejected", reason: new Error("Aborted due to prior failure") };
67
+ return;
68
+ }
69
+ await semaphore.acquire();
70
+ try {
71
+ if (aborted) {
72
+ results[index] = { index, status: "rejected", reason: new Error("Aborted due to prior failure") };
73
+ return;
74
+ }
75
+ const value = await effect();
76
+ results[index] = { index, status: "fulfilled", value };
77
+ }
78
+ catch (error) {
79
+ results[index] = { index, status: "rejected", reason: error };
80
+ if (!continueOnFailure) {
81
+ aborted = true;
82
+ }
83
+ }
84
+ finally {
85
+ semaphore.release();
86
+ }
87
+ });
88
+ await Promise.all(tasks);
89
+ return results;
90
+ }
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Effect routing — pattern-matched routing of effects to harness/model
3
+ * targets with priority-based cascading rules (GAP-AGENT-003).
4
+ */
5
+ export interface RoutingRule {
6
+ id: string;
7
+ /** Glob-like pattern matching effect kind and/or labels (e.g. "shell:*", "agent:deploy*"). */
8
+ pattern: string;
9
+ /** Target harness or model identifier to route to. */
10
+ target: string;
11
+ /** Higher priority rules are evaluated first (descending). Default: 0. */
12
+ priority: number;
13
+ /** Optional condition expression for context-aware routing. */
14
+ condition?: string;
15
+ }
16
+ export interface RoutingResult {
17
+ rule: RoutingRule;
18
+ target: string;
19
+ }
20
+ export type RoutingContext = Record<string, string | number | boolean>;
21
+ /**
22
+ * Evaluate a simple condition expression against a context.
23
+ *
24
+ * Supported forms:
25
+ * - `key == value`
26
+ * - `key != value`
27
+ * - `key` (truthy check)
28
+ * - `!key` (falsy check)
29
+ *
30
+ * Values are compared as strings. Numeric values are coerced.
31
+ */
32
+ export declare function evaluateCondition(condition: string, context: RoutingContext): boolean;
33
+ export declare class EffectRouter {
34
+ private rules;
35
+ /**
36
+ * Add a routing rule. Rules are kept sorted by descending priority.
37
+ */
38
+ addRule(rule: RoutingRule): void;
39
+ /**
40
+ * Remove a routing rule by id. Returns true if it existed.
41
+ */
42
+ removeRule(id: string): boolean;
43
+ /**
44
+ * List all registered rules (ordered by descending priority).
45
+ */
46
+ listRules(): readonly RoutingRule[];
47
+ /**
48
+ * Route an effect descriptor (e.g. "shell:lint") to the best matching
49
+ * rule. Uses first-match-wins semantics (highest priority first).
50
+ *
51
+ * @param effectDescriptor - A string like "kind:label" or just "kind".
52
+ * @param context - Optional context for condition evaluation.
53
+ * @returns The matching routing result, or undefined if no rule matches.
54
+ */
55
+ route(effectDescriptor: string, context?: RoutingContext): RoutingResult | undefined;
56
+ }
57
+ //# sourceMappingURL=effectRouting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectRouting.d.ts","sourceRoot":"","sources":["../../src/harness/effectRouting.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,8FAA8F;IAC9F,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAmCvE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CA2BrF;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAqB;IAElC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAKhC;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAM/B;;OAEG;IACH,SAAS,IAAI,SAAS,WAAW,EAAE;IAInC;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,SAAS;CAkBrF"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ /**
3
+ * Effect routing — pattern-matched routing of effects to harness/model
4
+ * targets with priority-based cascading rules (GAP-AGENT-003).
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.EffectRouter = void 0;
8
+ exports.evaluateCondition = evaluateCondition;
9
+ // ---------------------------------------------------------------------------
10
+ // Glob-like pattern matching
11
+ // ---------------------------------------------------------------------------
12
+ /**
13
+ * Convert a simple glob pattern to a RegExp.
14
+ * Supports `*` (match any chars except `:`) and `**` (match anything including `:`).
15
+ */
16
+ function globToRegex(pattern) {
17
+ let re = '';
18
+ let i = 0;
19
+ while (i < pattern.length) {
20
+ if (pattern[i] === '*' && pattern[i + 1] === '*') {
21
+ re += '.*';
22
+ i += 2;
23
+ }
24
+ else if (pattern[i] === '*') {
25
+ re += '[^:]*';
26
+ i++;
27
+ }
28
+ else if (pattern[i] === '?') {
29
+ re += '[^:]';
30
+ i++;
31
+ }
32
+ else {
33
+ re += pattern[i].replace(/[.+^${}()|[\]\\]/g, '\\$&');
34
+ i++;
35
+ }
36
+ }
37
+ return new RegExp(`^${re}$`);
38
+ }
39
+ // ---------------------------------------------------------------------------
40
+ // Condition evaluator
41
+ // ---------------------------------------------------------------------------
42
+ /**
43
+ * Evaluate a simple condition expression against a context.
44
+ *
45
+ * Supported forms:
46
+ * - `key == value`
47
+ * - `key != value`
48
+ * - `key` (truthy check)
49
+ * - `!key` (falsy check)
50
+ *
51
+ * Values are compared as strings. Numeric values are coerced.
52
+ */
53
+ function evaluateCondition(condition, context) {
54
+ const trimmed = condition.trim();
55
+ // key != value
56
+ const neq = trimmed.match(/^(\w+)\s*!=\s*(.+)$/);
57
+ if (neq) {
58
+ const key = neq[1];
59
+ const expected = neq[2].trim();
60
+ return String(context[key] ?? '') !== expected;
61
+ }
62
+ // key == value
63
+ const eq = trimmed.match(/^(\w+)\s*==\s*(.+)$/);
64
+ if (eq) {
65
+ const key = eq[1];
66
+ const expected = eq[2].trim();
67
+ return String(context[key] ?? '') === expected;
68
+ }
69
+ // !key (falsy)
70
+ if (trimmed.startsWith('!')) {
71
+ const key = trimmed.slice(1).trim();
72
+ return !context[key];
73
+ }
74
+ // key (truthy)
75
+ return !!context[trimmed];
76
+ }
77
+ // ---------------------------------------------------------------------------
78
+ // EffectRouter
79
+ // ---------------------------------------------------------------------------
80
+ class EffectRouter {
81
+ rules = [];
82
+ /**
83
+ * Add a routing rule. Rules are kept sorted by descending priority.
84
+ */
85
+ addRule(rule) {
86
+ this.rules.push(rule);
87
+ this.rules.sort((a, b) => b.priority - a.priority);
88
+ }
89
+ /**
90
+ * Remove a routing rule by id. Returns true if it existed.
91
+ */
92
+ removeRule(id) {
93
+ const before = this.rules.length;
94
+ this.rules = this.rules.filter((r) => r.id !== id);
95
+ return this.rules.length < before;
96
+ }
97
+ /**
98
+ * List all registered rules (ordered by descending priority).
99
+ */
100
+ listRules() {
101
+ return this.rules;
102
+ }
103
+ /**
104
+ * Route an effect descriptor (e.g. "shell:lint") to the best matching
105
+ * rule. Uses first-match-wins semantics (highest priority first).
106
+ *
107
+ * @param effectDescriptor - A string like "kind:label" or just "kind".
108
+ * @param context - Optional context for condition evaluation.
109
+ * @returns The matching routing result, or undefined if no rule matches.
110
+ */
111
+ route(effectDescriptor, context) {
112
+ for (const rule of this.rules) {
113
+ const regex = globToRegex(rule.pattern);
114
+ if (!regex.test(effectDescriptor))
115
+ continue;
116
+ // Check condition if present
117
+ if (rule.condition && context) {
118
+ if (!evaluateCondition(rule.condition, context))
119
+ continue;
120
+ }
121
+ else if (rule.condition && !context) {
122
+ // Condition present but no context — skip this rule
123
+ continue;
124
+ }
125
+ return { rule, target: rule.target };
126
+ }
127
+ return undefined;
128
+ }
129
+ }
130
+ exports.EffectRouter = EffectRouter;
@@ -0,0 +1,13 @@
1
+ import type { ExtensionRegistry } from '@a5c-ai/genty-core/extensions';
2
+ export interface BridgedToolDefinition {
3
+ name: string;
4
+ description: string;
5
+ execute: (params: Record<string, unknown>) => Promise<{
6
+ content: Array<{
7
+ type: 'text';
8
+ text: string;
9
+ }>;
10
+ }>;
11
+ }
12
+ export declare function bridgeExtensionTools(registry: ExtensionRegistry): BridgedToolDefinition[];
13
+ //# sourceMappingURL=extensionToolBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionToolBridge.d.ts","sourceRoot":"","sources":["../../src/harness/extensionToolBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAC3G;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,qBAAqB,EAAE,CAkBzF"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bridgeExtensionTools = bridgeExtensionTools;
4
+ function bridgeExtensionTools(registry) {
5
+ return registry.getAllTools().map((extTool) => ({
6
+ name: extTool.name,
7
+ description: extTool.description,
8
+ execute: async (params) => {
9
+ try {
10
+ const result = await extTool.handler(params);
11
+ return {
12
+ content: [{ type: 'text', text: typeof result === 'string' ? result : JSON.stringify(result) }],
13
+ };
14
+ }
15
+ catch (err) {
16
+ const message = err instanceof Error ? err.message : String(err);
17
+ return {
18
+ content: [{ type: 'text', text: `Extension tool error: ${message}` }],
19
+ };
20
+ }
21
+ },
22
+ }));
23
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * GAP-HADAPT-004: Harness Fallback Chains.
3
+ *
4
+ * Defines ordered fallback sequences for harness resolution.
5
+ * When a primary harness fails or is unavailable, the chain
6
+ * determines the next harness to try.
7
+ */
8
+ export interface FallbackChain {
9
+ /** Ordered list of harness names (primary first). */
10
+ harnesses: string[];
11
+ /** Maximum number of retries (fallback attempts). */
12
+ maxRetries: number;
13
+ }
14
+ export interface FallbackChainOptions {
15
+ /** Maximum retries. Clamped to chain.length - 1. */
16
+ maxRetries?: number;
17
+ }
18
+ export interface FallbackResolution {
19
+ /** The harness to use, or null if all exhausted. */
20
+ harness: string | null;
21
+ /** 1-based attempt number. */
22
+ attempt: number;
23
+ /** Whether this is a fallback (not the primary). */
24
+ isFallback: boolean;
25
+ /** Whether all harnesses in the chain have been exhausted. */
26
+ exhausted: boolean;
27
+ }
28
+ /**
29
+ * Create a fallback chain from an ordered list of harness names.
30
+ *
31
+ * Duplicates are removed (first occurrence wins).
32
+ * maxRetries defaults to chain.length - 1 (try every harness once).
33
+ */
34
+ export declare function createFallbackChain(harnesses: string[], options?: FallbackChainOptions): FallbackChain;
35
+ /**
36
+ * Resolve which harness to use given a chain and previously failed harnesses.
37
+ *
38
+ * Returns the first harness in the chain that hasn't failed yet,
39
+ * respecting the maxRetries limit.
40
+ */
41
+ export declare function resolveFallbackHarness(chain: FallbackChain, failedHarnesses: string[]): FallbackResolution;
42
+ //# sourceMappingURL=fallbackChains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallbackChains.d.ts","sourceRoot":"","sources":["../../src/harness/fallbackChains.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,UAAU,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;CACpB;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAYf;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,MAAM,EAAE,GACxB,kBAAkB,CAiCpB"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-HADAPT-004: Harness Fallback Chains.
4
+ *
5
+ * Defines ordered fallback sequences for harness resolution.
6
+ * When a primary harness fails or is unavailable, the chain
7
+ * determines the next harness to try.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.createFallbackChain = createFallbackChain;
11
+ exports.resolveFallbackHarness = resolveFallbackHarness;
12
+ // ---------------------------------------------------------------------------
13
+ // Core
14
+ // ---------------------------------------------------------------------------
15
+ /**
16
+ * Create a fallback chain from an ordered list of harness names.
17
+ *
18
+ * Duplicates are removed (first occurrence wins).
19
+ * maxRetries defaults to chain.length - 1 (try every harness once).
20
+ */
21
+ function createFallbackChain(harnesses, options) {
22
+ // Deduplicate preserving order
23
+ const unique = [...new Set(harnesses)];
24
+ const maxPossible = Math.max(0, unique.length - 1);
25
+ const maxRetries = options?.maxRetries !== undefined
26
+ ? Math.min(options.maxRetries, maxPossible)
27
+ : maxPossible;
28
+ return {
29
+ harnesses: unique,
30
+ maxRetries,
31
+ };
32
+ }
33
+ /**
34
+ * Resolve which harness to use given a chain and previously failed harnesses.
35
+ *
36
+ * Returns the first harness in the chain that hasn't failed yet,
37
+ * respecting the maxRetries limit.
38
+ */
39
+ function resolveFallbackHarness(chain, failedHarnesses) {
40
+ const failedSet = new Set(failedHarnesses);
41
+ const attempt = failedHarnesses.length + 1;
42
+ // Check retry limit: attempts beyond maxRetries + 1 are exhausted
43
+ if (failedHarnesses.length > chain.maxRetries) {
44
+ return {
45
+ harness: null,
46
+ attempt,
47
+ isFallback: attempt > 1,
48
+ exhausted: true,
49
+ };
50
+ }
51
+ // Find the first non-failed harness in chain order
52
+ for (const harness of chain.harnesses) {
53
+ if (!failedSet.has(harness)) {
54
+ return {
55
+ harness,
56
+ attempt,
57
+ isFallback: harness !== chain.harnesses[0],
58
+ exhausted: false,
59
+ };
60
+ }
61
+ }
62
+ // All harnesses in the chain have failed
63
+ return {
64
+ harness: null,
65
+ attempt,
66
+ isFallback: true,
67
+ exhausted: true,
68
+ };
69
+ }