@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,124 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-UX-014: Operator Mode Selection
4
+ *
5
+ * In-session mode switching between orchestration modes without
6
+ * restarting the run. Affects prompt personality, breakpoint
7
+ * frequency, and parallelism configuration.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getActiveMode = getActiveMode;
11
+ exports.getActiveModeConfig = getActiveModeConfig;
12
+ exports.switchMode = switchMode;
13
+ exports.getModeConfig = getModeConfig;
14
+ exports.getAvailableModes = getAvailableModes;
15
+ exports.resetMode = resetMode;
16
+ exports.shouldAutoApprove = shouldAutoApprove;
17
+ exports.shouldShowPlan = shouldShowPlan;
18
+ exports.isParallelEnabled = isParallelEnabled;
19
+ exports.formatModeInfo = formatModeInfo;
20
+ // ---------------------------------------------------------------------------
21
+ // Mode definitions
22
+ // ---------------------------------------------------------------------------
23
+ const MODE_CONFIGS = {
24
+ interactive: {
25
+ mode: "interactive",
26
+ label: "Interactive",
27
+ description: "Full human-in-the-loop. All breakpoints prompt for approval. Shows plan before execution.",
28
+ breakpointApproval: "always",
29
+ showPlan: true,
30
+ parallelism: false,
31
+ verbosity: "verbose",
32
+ },
33
+ autonomous: {
34
+ mode: "autonomous",
35
+ label: "Autonomous",
36
+ description: "Minimal human intervention. Auto-approves most breakpoints. Maximum parallelism.",
37
+ breakpointApproval: "auto",
38
+ showPlan: false,
39
+ parallelism: true,
40
+ verbosity: "minimal",
41
+ },
42
+ plan: {
43
+ mode: "plan",
44
+ label: "Plan Only",
45
+ description: "Generates and presents a plan, then stops. No execution until explicitly approved.",
46
+ breakpointApproval: "always",
47
+ showPlan: true,
48
+ parallelism: false,
49
+ verbosity: "normal",
50
+ },
51
+ fast: {
52
+ mode: "fast",
53
+ label: "Fast",
54
+ description: "Prioritizes speed. Auto-approves safe breakpoints. Parallel execution. Minimal output.",
55
+ breakpointApproval: "auto",
56
+ showPlan: false,
57
+ parallelism: true,
58
+ verbosity: "minimal",
59
+ },
60
+ };
61
+ // ---------------------------------------------------------------------------
62
+ // Mode state
63
+ // ---------------------------------------------------------------------------
64
+ /**
65
+ * Active mode state — module-level mutable singleton for in-session switching.
66
+ *
67
+ * This is intentionally module-scoped rather than instance-based because the
68
+ * babysitter CLI runs as a single-session process. Not safe for concurrent
69
+ * multi-session use within a single process. Use {@link resetMode} for test
70
+ * isolation between test cases.
71
+ */
72
+ let _activeMode = "interactive";
73
+ /** Get the current active mode. */
74
+ function getActiveMode() {
75
+ return _activeMode;
76
+ }
77
+ /** Get the configuration for the active mode. */
78
+ function getActiveModeConfig() {
79
+ return MODE_CONFIGS[_activeMode];
80
+ }
81
+ /** Switch to a different orchestration mode. Returns the new mode config. */
82
+ function switchMode(mode) {
83
+ _activeMode = mode;
84
+ return MODE_CONFIGS[mode];
85
+ }
86
+ /** Get the configuration for a specific mode. */
87
+ function getModeConfig(mode) {
88
+ return MODE_CONFIGS[mode];
89
+ }
90
+ /** Get all available modes. */
91
+ function getAvailableModes() {
92
+ return Object.values(MODE_CONFIGS);
93
+ }
94
+ /** Reset mode to default (interactive). Exported for test isolation. */
95
+ function resetMode() {
96
+ _activeMode = "interactive";
97
+ }
98
+ /**
99
+ * Check if the current mode skips interactive breakpoint prompts.
100
+ * Returns true for "auto" (auto-approve based on rules) but NOT for "always" (always prompt).
101
+ */
102
+ function shouldAutoApprove() {
103
+ return MODE_CONFIGS[_activeMode].breakpointApproval === "auto";
104
+ }
105
+ /** Check if the current mode wants to show plans before execution. */
106
+ function shouldShowPlan() {
107
+ return MODE_CONFIGS[_activeMode].showPlan;
108
+ }
109
+ /** Check if parallel execution is enabled in the current mode. */
110
+ function isParallelEnabled() {
111
+ return MODE_CONFIGS[_activeMode].parallelism;
112
+ }
113
+ /** Format mode information for display. */
114
+ function formatModeInfo(mode) {
115
+ const config = mode ? MODE_CONFIGS[mode] : MODE_CONFIGS[_activeMode];
116
+ return [
117
+ `Mode: ${config.label} (${config.mode})`,
118
+ config.description,
119
+ ` Breakpoints: ${config.breakpointApproval}`,
120
+ ` Plan: ${config.showPlan ? "shown" : "hidden"}`,
121
+ ` Parallelism: ${config.parallelism ? "enabled" : "disabled"}`,
122
+ ` Verbosity: ${config.verbosity}`,
123
+ ].join("\n");
124
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * GAP-HADAPT-002: Model Selection Per Task.
3
+ *
4
+ * Bridges task-level model preferences with harness capability routing.
5
+ * Uses selectHarness from capabilityRouter to find the best harness
6
+ * for a task's model requirement.
7
+ */
8
+ import { type HarnessCandidate } from "./capabilityRouter";
9
+ /** Minimal task definition shape for model selection. */
10
+ export interface TaskDefInput {
11
+ kind?: string;
12
+ execution?: {
13
+ harness?: string;
14
+ model?: string;
15
+ permissions?: string[];
16
+ [key: string]: unknown;
17
+ };
18
+ [key: string]: unknown;
19
+ }
20
+ export interface ModelSelectionResult {
21
+ /** Name of the selected harness, or null if none available. */
22
+ selectedHarness: string | null;
23
+ /** Model that will be used (from task preference or harness default). */
24
+ selectedModel: string | undefined;
25
+ /** Whether a fallback harness was selected (model not matched exactly). */
26
+ fallback: boolean;
27
+ /** Human-readable reason for the selection. */
28
+ reason: string;
29
+ }
30
+ /**
31
+ * Resolve which harness and model to use for a given task definition.
32
+ *
33
+ * Delegates to selectHarness for scoring, then interprets the result
34
+ * to determine if the model was matched or a fallback was used.
35
+ */
36
+ export declare function resolveModelForTask(taskDef: TaskDefInput, candidates: HarnessCandidate[]): ModelSelectionResult;
37
+ //# sourceMappingURL=modelSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelSelection.d.ts","sourceRoot":"","sources":["../../src/harness/modelSelection.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAM5B,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,yEAAyE;IACzE,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,gBAAgB,EAAE,GAC7B,oBAAoB,CAwDtB"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-HADAPT-002: Model Selection Per Task.
4
+ *
5
+ * Bridges task-level model preferences with harness capability routing.
6
+ * Uses selectHarness from capabilityRouter to find the best harness
7
+ * for a task's model requirement.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.resolveModelForTask = resolveModelForTask;
11
+ const capabilityRouter_1 = require("./capabilityRouter");
12
+ // ---------------------------------------------------------------------------
13
+ // Core
14
+ // ---------------------------------------------------------------------------
15
+ /**
16
+ * Resolve which harness and model to use for a given task definition.
17
+ *
18
+ * Delegates to selectHarness for scoring, then interprets the result
19
+ * to determine if the model was matched or a fallback was used.
20
+ */
21
+ function resolveModelForTask(taskDef, candidates) {
22
+ if (candidates.length === 0) {
23
+ return {
24
+ selectedHarness: null,
25
+ selectedModel: undefined,
26
+ fallback: false,
27
+ reason: "No harness candidates available",
28
+ };
29
+ }
30
+ const requirements = (0, capabilityRouter_1.buildTaskRequirements)(taskDef);
31
+ const routingResult = (0, capabilityRouter_1.selectHarness)(requirements, candidates);
32
+ if (!routingResult) {
33
+ return {
34
+ selectedHarness: null,
35
+ selectedModel: undefined,
36
+ fallback: false,
37
+ reason: "No harness met minimum score threshold",
38
+ };
39
+ }
40
+ const preferredModel = requirements.preferredModel;
41
+ const selectedCandidate = routingResult.selected;
42
+ // Check if the selected harness actually has the preferred model
43
+ const hasExactModel = preferredModel
44
+ ? selectedCandidate?.supportedModels?.includes(preferredModel) ?? false
45
+ : false;
46
+ const hasFamilyMatch = preferredModel && !hasExactModel
47
+ ? selectedCandidate?.supportedModels?.some((m) => modelFamilyMatch(m, preferredModel)) ?? false
48
+ : false;
49
+ const modelMatched = hasExactModel || hasFamilyMatch;
50
+ const isFallback = typeof preferredModel === "string" && !modelMatched;
51
+ let reason;
52
+ if (!preferredModel) {
53
+ reason = `Selected ${routingResult.selected.name} (no model preference)`;
54
+ }
55
+ else if (hasExactModel) {
56
+ reason = `Selected ${routingResult.selected.name} — exact model match for ${preferredModel}`;
57
+ }
58
+ else if (hasFamilyMatch) {
59
+ reason = `Selected ${routingResult.selected.name} — model family match for ${preferredModel}`;
60
+ }
61
+ else {
62
+ reason = `Selected ${routingResult.selected.name} as fallback — preferred model ${preferredModel} not available`;
63
+ }
64
+ return {
65
+ selectedHarness: routingResult.selected.name,
66
+ selectedModel: preferredModel,
67
+ fallback: isFallback,
68
+ reason,
69
+ };
70
+ }
71
+ // ---------------------------------------------------------------------------
72
+ // Helpers
73
+ // ---------------------------------------------------------------------------
74
+ /**
75
+ * Check if two model names share the same family (e.g., "claude-sonnet-4" and "claude-sonnet-4-latest").
76
+ */
77
+ function modelFamilyMatch(available, preferred) {
78
+ const familyA = available.split("-").slice(0, -1).join("-");
79
+ const familyB = preferred.split("-").slice(0, -1).join("-");
80
+ return familyA.length > 0 && familyA === familyB;
81
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Multi-Harness Dispatch (GAP-PAR-003).
3
+ *
4
+ * Dispatches tasks to multiple harness targets in parallel and
5
+ * collects settled results. Enables cross-harness orchestration
6
+ * where the same effect can be executed by different agent runtimes.
7
+ */
8
+ /** A target harness to dispatch to. */
9
+ export interface DispatchTarget {
10
+ /** Harness identifier (e.g. "claude-code", "cursor", "windsurf"). */
11
+ harness: string;
12
+ /** Task prompt or payload to send. */
13
+ prompt: string;
14
+ /** Optional timeout in milliseconds. */
15
+ timeoutMs?: number;
16
+ }
17
+ /** Result from a single dispatched target. */
18
+ export interface DispatchResult {
19
+ /** The target that was dispatched to. */
20
+ target: DispatchTarget;
21
+ /** Whether the dispatch succeeded. */
22
+ status: "fulfilled" | "rejected";
23
+ /** Response content, if successful. */
24
+ response?: string;
25
+ /** Error reason, if failed. */
26
+ reason?: unknown;
27
+ /** Wall-clock duration in milliseconds. */
28
+ durationMs: number;
29
+ }
30
+ /** Handler function that executes a dispatch to a single target. */
31
+ export type DispatchHandler = (target: DispatchTarget) => Promise<string>;
32
+ /**
33
+ * Dispatches tasks to multiple harness targets and collects results.
34
+ *
35
+ * The actual harness invocation is delegated to the provided handler,
36
+ * keeping this class transport-agnostic.
37
+ */
38
+ export declare class MultiHarnessDispatcher {
39
+ private readonly handler;
40
+ constructor(handler: DispatchHandler);
41
+ /**
42
+ * Dispatch to all targets concurrently and return settled results.
43
+ *
44
+ * Never throws — all failures are captured in the result array.
45
+ */
46
+ dispatch(targets: DispatchTarget[]): Promise<DispatchResult[]>;
47
+ private executeWithTimeout;
48
+ }
49
+ //# sourceMappingURL=multiHarnessDispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiHarnessDispatch.d.ts","sourceRoot":"","sources":["../../src/harness/multiHarnessDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,uCAAuC;AACvC,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,sCAAsC;IACtC,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;IACjC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAM1E;;;;;GAKG;AACH,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAErD;;;;OAIG;IACG,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YA2BtD,kBAAkB;CAsBjC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ /**
3
+ * Multi-Harness Dispatch (GAP-PAR-003).
4
+ *
5
+ * Dispatches tasks to multiple harness targets in parallel and
6
+ * collects settled results. Enables cross-harness orchestration
7
+ * where the same effect can be executed by different agent runtimes.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MultiHarnessDispatcher = void 0;
11
+ // ---------------------------------------------------------------------------
12
+ // Dispatcher
13
+ // ---------------------------------------------------------------------------
14
+ /**
15
+ * Dispatches tasks to multiple harness targets and collects results.
16
+ *
17
+ * The actual harness invocation is delegated to the provided handler,
18
+ * keeping this class transport-agnostic.
19
+ */
20
+ class MultiHarnessDispatcher {
21
+ handler;
22
+ constructor(handler) {
23
+ this.handler = handler;
24
+ }
25
+ /**
26
+ * Dispatch to all targets concurrently and return settled results.
27
+ *
28
+ * Never throws — all failures are captured in the result array.
29
+ */
30
+ async dispatch(targets) {
31
+ if (targets.length === 0)
32
+ return [];
33
+ const tasks = targets.map(async (target) => {
34
+ const startMs = Date.now();
35
+ try {
36
+ const response = await this.executeWithTimeout(target);
37
+ return {
38
+ target,
39
+ status: "fulfilled",
40
+ response,
41
+ durationMs: Date.now() - startMs,
42
+ };
43
+ }
44
+ catch (error) {
45
+ return {
46
+ target,
47
+ status: "rejected",
48
+ reason: error,
49
+ durationMs: Date.now() - startMs,
50
+ };
51
+ }
52
+ });
53
+ return Promise.all(tasks);
54
+ }
55
+ async executeWithTimeout(target) {
56
+ if (!target.timeoutMs) {
57
+ return this.handler(target);
58
+ }
59
+ return new Promise((resolve, reject) => {
60
+ const timer = setTimeout(() => {
61
+ reject(new Error(`Dispatch to ${target.harness} timed out after ${target.timeoutMs}ms`));
62
+ }, target.timeoutMs);
63
+ this.handler(target).then((result) => {
64
+ clearTimeout(timer);
65
+ resolve(result);
66
+ }, (error) => {
67
+ clearTimeout(timer);
68
+ reject(error);
69
+ });
70
+ });
71
+ }
72
+ }
73
+ exports.MultiHarnessDispatcher = MultiHarnessDispatcher;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * GAP-SEC-006: OAuth Integration.
3
+ *
4
+ * Provides types and pure helpers for constructing OAuth 2.0 authorization
5
+ * flows with PKCE support. Actual HTTP transport is injectable via fetch.
6
+ */
7
+ export interface OAuthConfig {
8
+ /** OAuth client ID. */
9
+ clientId: string;
10
+ /** Authorization endpoint URL. */
11
+ authorizationUrl: string;
12
+ /** Token endpoint URL. */
13
+ tokenUrl: string;
14
+ /** Requested scopes. */
15
+ scopes: string[];
16
+ /** Redirect URI for the authorization callback. */
17
+ redirectUri: string;
18
+ }
19
+ export interface OAuthTokenSet {
20
+ /** The access token. */
21
+ accessToken: string;
22
+ /** Optional refresh token. */
23
+ refreshToken?: string;
24
+ /** Expiry time as epoch milliseconds. */
25
+ expiresAt: number;
26
+ /** Scopes granted. */
27
+ scopes: string[];
28
+ }
29
+ export interface PkceChallenge {
30
+ /** The code verifier (random string). */
31
+ codeVerifier: string;
32
+ /** The code challenge (S256 hash of verifier). */
33
+ codeChallenge: string;
34
+ }
35
+ /**
36
+ * Generate a PKCE code verifier and challenge pair.
37
+ */
38
+ export declare function generatePkceChallenge(): PkceChallenge;
39
+ /**
40
+ * Build the full authorization URL with PKCE challenge and state parameter.
41
+ */
42
+ export declare function buildAuthorizationUrl(config: OAuthConfig, state: string): {
43
+ url: string;
44
+ pkce: PkceChallenge;
45
+ };
46
+ /**
47
+ * Exchange an authorization code for a token set.
48
+ * Uses an injectable fetch function for testability.
49
+ */
50
+ export declare function exchangeCode(config: OAuthConfig, code: string, codeVerifier: string, fetchFn?: typeof globalThis.fetch): Promise<OAuthTokenSet>;
51
+ /**
52
+ * Check whether a token set has expired (with optional buffer in ms).
53
+ */
54
+ export declare function isTokenExpired(tokenSet: OAuthTokenSet, bufferMs?: number): boolean;
55
+ //# sourceMappingURL=oauthIntegration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauthIntegration.d.ts","sourceRoot":"","sources":["../../src/harness/oauthIntegration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,CAMrD;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,aAAa,CAAC;CACrB,CAgBA;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,OAAO,UAAU,CAAC,KAAwB,GAClD,OAAO,CAAC,aAAa,CAAC,CA+BxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,SAAS,GAAG,OAAO,CAElF"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-SEC-006: OAuth Integration.
4
+ *
5
+ * Provides types and pure helpers for constructing OAuth 2.0 authorization
6
+ * flows with PKCE support. Actual HTTP transport is injectable via fetch.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.generatePkceChallenge = generatePkceChallenge;
10
+ exports.buildAuthorizationUrl = buildAuthorizationUrl;
11
+ exports.exchangeCode = exchangeCode;
12
+ exports.isTokenExpired = isTokenExpired;
13
+ const node_crypto_1 = require("node:crypto");
14
+ // ---------------------------------------------------------------------------
15
+ // PKCE helpers
16
+ // ---------------------------------------------------------------------------
17
+ /**
18
+ * Generate a PKCE code verifier and challenge pair.
19
+ */
20
+ function generatePkceChallenge() {
21
+ const codeVerifier = (0, node_crypto_1.randomBytes)(32).toString('base64url');
22
+ const codeChallenge = (0, node_crypto_1.createHash)('sha256')
23
+ .update(codeVerifier)
24
+ .digest('base64url');
25
+ return { codeVerifier, codeChallenge };
26
+ }
27
+ // ---------------------------------------------------------------------------
28
+ // Functions
29
+ // ---------------------------------------------------------------------------
30
+ /**
31
+ * Build the full authorization URL with PKCE challenge and state parameter.
32
+ */
33
+ function buildAuthorizationUrl(config, state) {
34
+ const pkce = generatePkceChallenge();
35
+ const params = new URLSearchParams({
36
+ response_type: 'code',
37
+ client_id: config.clientId,
38
+ redirect_uri: config.redirectUri,
39
+ scope: config.scopes.join(' '),
40
+ state,
41
+ code_challenge: pkce.codeChallenge,
42
+ code_challenge_method: 'S256',
43
+ });
44
+ const separator = config.authorizationUrl.includes('?') ? '&' : '?';
45
+ const url = `${config.authorizationUrl}${separator}${params.toString()}`;
46
+ return { url, pkce };
47
+ }
48
+ /**
49
+ * Exchange an authorization code for a token set.
50
+ * Uses an injectable fetch function for testability.
51
+ */
52
+ async function exchangeCode(config, code, codeVerifier, fetchFn = globalThis.fetch) {
53
+ const body = new URLSearchParams({
54
+ grant_type: 'authorization_code',
55
+ client_id: config.clientId,
56
+ redirect_uri: config.redirectUri,
57
+ code,
58
+ code_verifier: codeVerifier,
59
+ });
60
+ const response = await fetchFn(config.tokenUrl, {
61
+ method: 'POST',
62
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
63
+ body: body.toString(),
64
+ });
65
+ if (!response.ok) {
66
+ throw new Error(`Token exchange failed: ${response.status} ${response.statusText}`);
67
+ }
68
+ const data = (await response.json());
69
+ const expiresIn = typeof data.expires_in === 'number' ? data.expires_in : 3600;
70
+ return {
71
+ accessToken: data.access_token,
72
+ refreshToken: data.refresh_token,
73
+ expiresAt: Date.now() + expiresIn * 1000,
74
+ scopes: typeof data.scope === 'string'
75
+ ? data.scope.split(' ')
76
+ : config.scopes,
77
+ };
78
+ }
79
+ /**
80
+ * Check whether a token set has expired (with optional buffer in ms).
81
+ */
82
+ function isTokenExpired(tokenSet, bufferMs = 60_000) {
83
+ return Date.now() >= tokenSet.expiresAt - bufferMs;
84
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * GAP-USER-001: Operator Command Layer
3
+ *
4
+ * Surfaces key babysitter CLI commands as in-session actions during
5
+ * breakpoint interactions. Enables operators to inspect and manage
6
+ * orchestration without leaving the flow.
7
+ */
8
+ export interface OperatorCommand {
9
+ /** Short command name for selection. */
10
+ name: string;
11
+ /** Human-readable label. */
12
+ label: string;
13
+ /** Brief description shown during breakpoint interaction. */
14
+ description: string;
15
+ /** The CLI command template. Placeholders: {{runDir}}, {{runId}}, {{effectId}}. */
16
+ commandTemplate: string;
17
+ /** Category for grouping in UI. */
18
+ category: OperatorCommandCategory;
19
+ }
20
+ export type OperatorCommandCategory = "inspect" | "manage" | "debug" | "tokens";
21
+ export declare const OPERATOR_COMMANDS: OperatorCommand[];
22
+ /** Render operator command template with run context. */
23
+ export declare function renderOperatorCommand(template: string, context: {
24
+ runDir?: string;
25
+ runId?: string;
26
+ effectId?: string;
27
+ }): string;
28
+ /** Get operator commands filtered by category. */
29
+ export declare function getCommandsByCategory(category: OperatorCommandCategory): OperatorCommand[];
30
+ /** Get all categories with their commands. */
31
+ export declare function getGroupedCommands(): Record<OperatorCommandCategory, OperatorCommand[]>;
32
+ /** Format commands for display in a breakpoint prompt. */
33
+ export declare function formatCommandsForPrompt(context: {
34
+ runDir?: string;
35
+ runId?: string;
36
+ effectId?: string;
37
+ }): string;
38
+ //# sourceMappingURL=operatorCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operatorCommands.d.ts","sourceRoot":"","sources":["../../src/harness/operatorCommands.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,eAAe,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAMhF,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAyD9C,CAAC;AAMF,yDAAyD;AACzD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,CAKR;AAED,kDAAkD;AAClD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,eAAe,EAAE,CAE1F;AAED,8CAA8C;AAC9C,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,uBAAuB,EAAE,eAAe,EAAE,CAAC,CAWvF;AAED,0DAA0D;AAC1D,wBAAgB,uBAAuB,CACrC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,CAeR"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-USER-001: Operator Command Layer
4
+ *
5
+ * Surfaces key babysitter CLI commands as in-session actions during
6
+ * breakpoint interactions. Enables operators to inspect and manage
7
+ * orchestration without leaving the flow.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.OPERATOR_COMMANDS = void 0;
11
+ exports.renderOperatorCommand = renderOperatorCommand;
12
+ exports.getCommandsByCategory = getCommandsByCategory;
13
+ exports.getGroupedCommands = getGroupedCommands;
14
+ exports.formatCommandsForPrompt = formatCommandsForPrompt;
15
+ // ---------------------------------------------------------------------------
16
+ // Built-in operator commands
17
+ // ---------------------------------------------------------------------------
18
+ exports.OPERATOR_COMMANDS = [
19
+ {
20
+ name: "status",
21
+ label: "Run Status",
22
+ description: "Show current run status and progress",
23
+ commandTemplate: "babysitter run:status {{runDir}}",
24
+ category: "inspect",
25
+ },
26
+ {
27
+ name: "tasks",
28
+ label: "Task List",
29
+ description: "List all tasks (pending, completed, failed)",
30
+ commandTemplate: "babysitter task:list {{runDir}} --pending",
31
+ category: "inspect",
32
+ },
33
+ {
34
+ name: "events",
35
+ label: "Recent Events",
36
+ description: "Show recent journal events",
37
+ commandTemplate: "babysitter run:events {{runDir}} --limit 20",
38
+ category: "inspect",
39
+ },
40
+ {
41
+ name: "tokens",
42
+ label: "Token Usage",
43
+ description: "Show token usage statistics for this run",
44
+ commandTemplate: "babysitter tokens:stats {{runId}}",
45
+ category: "tokens",
46
+ },
47
+ {
48
+ name: "task-detail",
49
+ label: "Task Detail",
50
+ description: "Show details of the current pending task",
51
+ commandTemplate: "babysitter task:show {{runDir}} {{effectId}}",
52
+ category: "inspect",
53
+ },
54
+ {
55
+ name: "compression",
56
+ label: "Compression Status",
57
+ description: "Show context compression status",
58
+ commandTemplate: "babysitter compression:status",
59
+ category: "tokens",
60
+ },
61
+ {
62
+ name: "rebuild",
63
+ label: "Rebuild State",
64
+ description: "Rebuild state cache from journal (recovery)",
65
+ commandTemplate: "babysitter run:rebuild-state {{runDir}}",
66
+ category: "manage",
67
+ },
68
+ {
69
+ name: "health",
70
+ label: "Health Check",
71
+ description: "Run system health diagnostics",
72
+ commandTemplate: "babysitter health",
73
+ category: "debug",
74
+ },
75
+ ];
76
+ // ---------------------------------------------------------------------------
77
+ // Rendering
78
+ // ---------------------------------------------------------------------------
79
+ /** Render operator command template with run context. */
80
+ function renderOperatorCommand(template, context) {
81
+ return template
82
+ .replace(/\{\{runDir\}\}/g, context.runDir ?? ".")
83
+ .replace(/\{\{runId\}\}/g, context.runId ?? "<runId>")
84
+ .replace(/\{\{effectId\}\}/g, context.effectId ?? "<effectId>");
85
+ }
86
+ /** Get operator commands filtered by category. */
87
+ function getCommandsByCategory(category) {
88
+ return exports.OPERATOR_COMMANDS.filter((c) => c.category === category);
89
+ }
90
+ /** Get all categories with their commands. */
91
+ function getGroupedCommands() {
92
+ const grouped = {
93
+ inspect: [],
94
+ manage: [],
95
+ debug: [],
96
+ tokens: [],
97
+ };
98
+ for (const cmd of exports.OPERATOR_COMMANDS) {
99
+ grouped[cmd.category].push(cmd);
100
+ }
101
+ return grouped;
102
+ }
103
+ /** Format commands for display in a breakpoint prompt. */
104
+ function formatCommandsForPrompt(context) {
105
+ const lines = ["## Available Operator Commands", ""];
106
+ const grouped = getGroupedCommands();
107
+ for (const [category, commands] of Object.entries(grouped)) {
108
+ if (commands.length === 0)
109
+ continue;
110
+ lines.push(`### ${category.charAt(0).toUpperCase() + category.slice(1)}`);
111
+ for (const cmd of commands) {
112
+ const rendered = renderOperatorCommand(cmd.commandTemplate, context);
113
+ lines.push(`- **${cmd.label}**: \`${rendered}\``);
114
+ }
115
+ lines.push("");
116
+ }
117
+ return lines.join("\n");
118
+ }