@a5c-ai/genty-platform 5.1.1-staging.583e3d9a6ed7

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 (563) hide show
  1. package/README.md +48 -0
  2. package/dist/anycli/cache.d.ts +45 -0
  3. package/dist/anycli/cache.d.ts.map +1 -0
  4. package/dist/anycli/cache.js +118 -0
  5. package/dist/anycli/index.d.ts +10 -0
  6. package/dist/anycli/index.d.ts.map +1 -0
  7. package/dist/anycli/index.js +25 -0
  8. package/dist/anycli/types.d.ts +32 -0
  9. package/dist/anycli/types.d.ts.map +1 -0
  10. package/dist/anycli/types.js +9 -0
  11. package/dist/api/breakpoints.d.ts +93 -0
  12. package/dist/api/breakpoints.d.ts.map +1 -0
  13. package/dist/api/breakpoints.js +334 -0
  14. package/dist/api/effects.d.ts +14 -0
  15. package/dist/api/effects.d.ts.map +1 -0
  16. package/dist/api/effects.js +306 -0
  17. package/dist/api/effectsTypes.d.ts +79 -0
  18. package/dist/api/effectsTypes.d.ts.map +1 -0
  19. package/dist/api/effectsTypes.js +6 -0
  20. package/dist/api/eventStream.d.ts +34 -0
  21. package/dist/api/eventStream.d.ts.map +1 -0
  22. package/dist/api/eventStream.js +126 -0
  23. package/dist/api/index.d.ts +10 -0
  24. package/dist/api/index.d.ts.map +1 -0
  25. package/dist/api/index.js +27 -0
  26. package/dist/api/runs.d.ts +85 -0
  27. package/dist/api/runs.d.ts.map +1 -0
  28. package/dist/api/runs.js +247 -0
  29. package/dist/api/utils.d.ts +28 -0
  30. package/dist/api/utils.d.ts.map +1 -0
  31. package/dist/api/utils.js +74 -0
  32. package/dist/breakpoints/approvalChains.d.ts +68 -0
  33. package/dist/breakpoints/approvalChains.d.ts.map +1 -0
  34. package/dist/breakpoints/approvalChains.js +111 -0
  35. package/dist/breakpoints/delegation.d.ts +42 -0
  36. package/dist/breakpoints/delegation.d.ts.map +1 -0
  37. package/dist/breakpoints/delegation.js +199 -0
  38. package/dist/breakpoints/delegationTypes.d.ts +46 -0
  39. package/dist/breakpoints/delegationTypes.d.ts.map +1 -0
  40. package/dist/breakpoints/delegationTypes.js +10 -0
  41. package/dist/breakpoints/postures.d.ts +28 -0
  42. package/dist/breakpoints/postures.d.ts.map +1 -0
  43. package/dist/breakpoints/postures.js +100 -0
  44. package/dist/compression/compaction.d.ts +82 -0
  45. package/dist/compression/compaction.d.ts.map +1 -0
  46. package/dist/compression/compaction.js +310 -0
  47. package/dist/cost/claudeCodeParser.d.ts +81 -0
  48. package/dist/cost/claudeCodeParser.d.ts.map +1 -0
  49. package/dist/cost/claudeCodeParser.js +232 -0
  50. package/dist/cost/collector.d.ts +42 -0
  51. package/dist/cost/collector.d.ts.map +1 -0
  52. package/dist/cost/collector.js +105 -0
  53. package/dist/cost/effectCost.d.ts +23 -0
  54. package/dist/cost/effectCost.d.ts.map +1 -0
  55. package/dist/cost/effectCost.js +26 -0
  56. package/dist/cost/index.d.ts +7 -0
  57. package/dist/cost/index.d.ts.map +1 -0
  58. package/dist/cost/index.js +28 -0
  59. package/dist/cost/journal.d.ts +40 -0
  60. package/dist/cost/journal.d.ts.map +1 -0
  61. package/dist/cost/journal.js +158 -0
  62. package/dist/cost/types.d.ts +164 -0
  63. package/dist/cost/types.d.ts.map +1 -0
  64. package/dist/cost/types.js +228 -0
  65. package/dist/daemon/automationExecutor.d.ts +16 -0
  66. package/dist/daemon/automationExecutor.d.ts.map +1 -0
  67. package/dist/daemon/automationExecutor.js +222 -0
  68. package/dist/daemon/config.d.ts +8 -0
  69. package/dist/daemon/config.d.ts.map +1 -0
  70. package/dist/daemon/config.js +245 -0
  71. package/dist/daemon/daemonLog.d.ts +13 -0
  72. package/dist/daemon/daemonLog.d.ts.map +1 -0
  73. package/dist/daemon/daemonLog.js +64 -0
  74. package/dist/daemon/durableQueue.d.ts +41 -0
  75. package/dist/daemon/durableQueue.d.ts.map +1 -0
  76. package/dist/daemon/durableQueue.js +183 -0
  77. package/dist/daemon/fileWatcher.d.ts +9 -0
  78. package/dist/daemon/fileWatcher.d.ts.map +1 -0
  79. package/dist/daemon/fileWatcher.js +144 -0
  80. package/dist/daemon/index.d.ts +9 -0
  81. package/dist/daemon/index.d.ts.map +1 -0
  82. package/dist/daemon/index.js +26 -0
  83. package/dist/daemon/lifecycle.d.ts +12 -0
  84. package/dist/daemon/lifecycle.d.ts.map +1 -0
  85. package/dist/daemon/lifecycle.js +257 -0
  86. package/dist/daemon/loop.d.ts +27 -0
  87. package/dist/daemon/loop.d.ts.map +1 -0
  88. package/dist/daemon/loop.js +387 -0
  89. package/dist/daemon/timerScheduler.d.ts +13 -0
  90. package/dist/daemon/timerScheduler.d.ts.map +1 -0
  91. package/dist/daemon/timerScheduler.js +212 -0
  92. package/dist/daemon/types.d.ts +122 -0
  93. package/dist/daemon/types.d.ts.map +1 -0
  94. package/dist/daemon/types.js +25 -0
  95. package/dist/daemon/webhookListener.d.ts +6 -0
  96. package/dist/daemon/webhookListener.d.ts.map +1 -0
  97. package/dist/daemon/webhookListener.js +132 -0
  98. package/dist/governance/authority.d.ts +68 -0
  99. package/dist/governance/authority.d.ts.map +1 -0
  100. package/dist/governance/authority.js +136 -0
  101. package/dist/governance/bridge.d.ts +17 -0
  102. package/dist/governance/bridge.d.ts.map +1 -0
  103. package/dist/governance/bridge.js +46 -0
  104. package/dist/governance/builtins.d.ts +25 -0
  105. package/dist/governance/builtins.d.ts.map +1 -0
  106. package/dist/governance/builtins.js +67 -0
  107. package/dist/governance/categories.d.ts +58 -0
  108. package/dist/governance/categories.d.ts.map +1 -0
  109. package/dist/governance/categories.js +120 -0
  110. package/dist/governance/decisionTrail.d.ts +60 -0
  111. package/dist/governance/decisionTrail.d.ts.map +1 -0
  112. package/dist/governance/decisionTrail.js +68 -0
  113. package/dist/governance/engine.d.ts +20 -0
  114. package/dist/governance/engine.d.ts.map +1 -0
  115. package/dist/governance/engine.js +124 -0
  116. package/dist/governance/index.d.ts +20 -0
  117. package/dist/governance/index.d.ts.map +1 -0
  118. package/dist/governance/index.js +75 -0
  119. package/dist/governance/logging.d.ts +18 -0
  120. package/dist/governance/logging.d.ts.map +1 -0
  121. package/dist/governance/logging.js +83 -0
  122. package/dist/governance/mandate.d.ts +83 -0
  123. package/dist/governance/mandate.d.ts.map +1 -0
  124. package/dist/governance/mandate.js +180 -0
  125. package/dist/governance/permissionEvents.d.ts +51 -0
  126. package/dist/governance/permissionEvents.d.ts.map +1 -0
  127. package/dist/governance/permissionEvents.js +52 -0
  128. package/dist/governance/permissionPropagation.d.ts +18 -0
  129. package/dist/governance/permissionPropagation.d.ts.map +1 -0
  130. package/dist/governance/permissionPropagation.js +58 -0
  131. package/dist/governance/postureBridge.d.ts +17 -0
  132. package/dist/governance/postureBridge.d.ts.map +1 -0
  133. package/dist/governance/postureBridge.js +117 -0
  134. package/dist/governance/sandboxBridge.d.ts +49 -0
  135. package/dist/governance/sandboxBridge.d.ts.map +1 -0
  136. package/dist/governance/sandboxBridge.js +77 -0
  137. package/dist/governance/sandboxPolicy.d.ts +51 -0
  138. package/dist/governance/sandboxPolicy.d.ts.map +1 -0
  139. package/dist/governance/sandboxPolicy.js +177 -0
  140. package/dist/governance/types.d.ts +3 -0
  141. package/dist/governance/types.d.ts.map +1 -0
  142. package/dist/governance/types.js +5 -0
  143. package/dist/harness/adapters/adapterBridge.d.ts +71 -0
  144. package/dist/harness/adapters/adapterBridge.d.ts.map +1 -0
  145. package/dist/harness/adapters/adapterBridge.js +117 -0
  146. package/dist/harness/adapters/adapterClientFactory.d.ts +29 -0
  147. package/dist/harness/adapters/adapterClientFactory.d.ts.map +1 -0
  148. package/dist/harness/adapters/adapterClientFactory.js +90 -0
  149. package/dist/harness/adapters/adapterEventEmitter.d.ts +51 -0
  150. package/dist/harness/adapters/adapterEventEmitter.d.ts.map +1 -0
  151. package/dist/harness/adapters/adapterEventEmitter.js +143 -0
  152. package/dist/harness/adapters/adapterEventMapper.d.ts +63 -0
  153. package/dist/harness/adapters/adapterEventMapper.d.ts.map +1 -0
  154. package/dist/harness/adapters/adapterEventMapper.js +100 -0
  155. package/dist/harness/adapters/adapterHarnessMap.d.ts +25 -0
  156. package/dist/harness/adapters/adapterHarnessMap.d.ts.map +1 -0
  157. package/dist/harness/adapters/adapterHarnessMap.js +55 -0
  158. package/dist/harness/adapters/adapterStdinReader.d.ts +45 -0
  159. package/dist/harness/adapters/adapterStdinReader.d.ts.map +1 -0
  160. package/dist/harness/adapters/adapterStdinReader.js +106 -0
  161. package/dist/harness/adapters/adapterTypes.d.ts +122 -0
  162. package/dist/harness/adapters/adapterTypes.d.ts.map +1 -0
  163. package/dist/harness/adapters/adapterTypes.js +11 -0
  164. package/dist/harness/adapters/index.d.ts +17 -0
  165. package/dist/harness/adapters/index.d.ts.map +1 -0
  166. package/dist/harness/adapters/index.js +34 -0
  167. package/dist/harness/backgroundTracker.d.ts +64 -0
  168. package/dist/harness/backgroundTracker.d.ts.map +1 -0
  169. package/dist/harness/backgroundTracker.js +107 -0
  170. package/dist/harness/builtInHarness.d.ts +3 -0
  171. package/dist/harness/builtInHarness.d.ts.map +1 -0
  172. package/dist/harness/builtInHarness.js +18 -0
  173. package/dist/harness/capabilityRouter.d.ts +76 -0
  174. package/dist/harness/capabilityRouter.d.ts.map +1 -0
  175. package/dist/harness/capabilityRouter.js +176 -0
  176. package/dist/harness/fallbackChains.d.ts +42 -0
  177. package/dist/harness/fallbackChains.d.ts.map +1 -0
  178. package/dist/harness/fallbackChains.js +69 -0
  179. package/dist/harness/hostContract.d.ts +63 -0
  180. package/dist/harness/hostContract.d.ts.map +1 -0
  181. package/dist/harness/hostContract.js +136 -0
  182. package/dist/harness/index.d.ts +18 -0
  183. package/dist/harness/index.d.ts.map +1 -0
  184. package/dist/harness/index.js +91 -0
  185. package/dist/harness/internal/createRun/agent-core-loop.d.ts +43 -0
  186. package/dist/harness/internal/createRun/agent-core-loop.d.ts.map +1 -0
  187. package/dist/harness/internal/createRun/agent-core-loop.js +247 -0
  188. package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
  189. package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
  190. package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
  191. package/dist/harness/internal/createRun/index.d.ts +25 -0
  192. package/dist/harness/internal/createRun/index.d.ts.map +1 -0
  193. package/dist/harness/internal/createRun/index.js +163 -0
  194. package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
  195. package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
  196. package/dist/harness/internal/createRun/orchestration/constants.js +17 -0
  197. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts +23 -0
  198. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts.map +1 -0
  199. package/dist/harness/internal/createRun/orchestration/dispatch.js +135 -0
  200. package/dist/harness/internal/createRun/orchestration/effects.d.ts +134 -0
  201. package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
  202. package/dist/harness/internal/createRun/orchestration/effects.js +859 -0
  203. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +20 -0
  204. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
  205. package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +79 -0
  206. package/dist/harness/internal/createRun/orchestration/effectsHelpers.test.d.ts +2 -0
  207. package/dist/harness/internal/createRun/orchestration/effectsHelpers.test.d.ts.map +1 -0
  208. package/dist/harness/internal/createRun/orchestration/effectsHelpers.test.js +81 -0
  209. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
  210. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
  211. package/dist/harness/internal/createRun/orchestration/externalPhase.js +399 -0
  212. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
  213. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
  214. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +104 -0
  215. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts +32 -0
  216. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts.map +1 -0
  217. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.js +76 -0
  218. package/dist/harness/internal/createRun/orchestration/index.d.ts +29 -0
  219. package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
  220. package/dist/harness/internal/createRun/orchestration/index.js +370 -0
  221. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
  222. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
  223. package/dist/harness/internal/createRun/orchestration/internalPhase.js +580 -0
  224. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +27 -0
  225. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
  226. package/dist/harness/internal/createRun/orchestration/internalTools.js +264 -0
  227. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
  228. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
  229. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
  230. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
  231. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
  232. package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
  233. package/dist/harness/internal/createRun/orchestration/types.d.ts +46 -0
  234. package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
  235. package/dist/harness/internal/createRun/orchestration/types.js +2 -0
  236. package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
  237. package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
  238. package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
  239. package/dist/harness/internal/createRun/output.d.ts +40 -0
  240. package/dist/harness/internal/createRun/output.d.ts.map +1 -0
  241. package/dist/harness/internal/createRun/output.js +467 -0
  242. package/dist/harness/internal/createRun/pi.d.ts +10 -0
  243. package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
  244. package/dist/harness/internal/createRun/pi.js +35 -0
  245. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
  246. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
  247. package/dist/harness/internal/createRun/planProcess/agentOutput.js +113 -0
  248. package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
  249. package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
  250. package/dist/harness/internal/createRun/planProcess/delegation.js +176 -0
  251. package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
  252. package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
  253. package/dist/harness/internal/createRun/planProcess/external.js +139 -0
  254. package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
  255. package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
  256. package/dist/harness/internal/createRun/planProcess/index.js +24 -0
  257. package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
  258. package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
  259. package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
  260. package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
  261. package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
  262. package/dist/harness/internal/createRun/planProcess/phase.js +424 -0
  263. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
  264. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
  265. package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -0
  266. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
  267. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
  268. package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
  269. package/dist/harness/internal/createRun/planProcess/prompts.d.ts +22 -0
  270. package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
  271. package/dist/harness/internal/createRun/planProcess/prompts.js +239 -0
  272. package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
  273. package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
  274. package/dist/harness/internal/createRun/planProcess/recovery.js +205 -0
  275. package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts +2 -0
  276. package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts.map +1 -0
  277. package/dist/harness/internal/createRun/planProcess/recovery.test.js +68 -0
  278. package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
  279. package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
  280. package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
  281. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
  282. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
  283. package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
  284. package/dist/harness/internal/createRun/planProcess/validation.d.ts +4 -0
  285. package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
  286. package/dist/harness/internal/createRun/planProcess/validation.js +260 -0
  287. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +13 -0
  288. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
  289. package/dist/harness/internal/createRun/planProcess/validationSource.js +345 -0
  290. package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
  291. package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
  292. package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
  293. package/dist/harness/internal/createRun/prompts.d.ts +59 -0
  294. package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
  295. package/dist/harness/internal/createRun/prompts.js +427 -0
  296. package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
  297. package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
  298. package/dist/harness/internal/createRun/resumeState.js +133 -0
  299. package/dist/harness/internal/createRun/utils.d.ts +184 -0
  300. package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
  301. package/dist/harness/internal/createRun/utils.js +218 -0
  302. package/dist/harness/internal.d.ts +13 -0
  303. package/dist/harness/internal.d.ts.map +1 -0
  304. package/dist/harness/internal.js +149 -0
  305. package/dist/harness/invoker/launch.d.ts +20 -0
  306. package/dist/harness/invoker/launch.d.ts.map +1 -0
  307. package/dist/harness/invoker/launch.js +23 -0
  308. package/dist/harness/invoker/processControl.d.ts +11 -0
  309. package/dist/harness/invoker/processControl.d.ts.map +1 -0
  310. package/dist/harness/invoker/processControl.js +50 -0
  311. package/dist/harness/invoker.d.ts +44 -0
  312. package/dist/harness/invoker.d.ts.map +1 -0
  313. package/dist/harness/invoker.js +276 -0
  314. package/dist/harness/modeSelector.d.ts +50 -0
  315. package/dist/harness/modeSelector.d.ts.map +1 -0
  316. package/dist/harness/modeSelector.js +124 -0
  317. package/dist/harness/modelSelection.d.ts +37 -0
  318. package/dist/harness/modelSelection.d.ts.map +1 -0
  319. package/dist/harness/modelSelection.js +81 -0
  320. package/dist/harness/operatorCommands.d.ts +38 -0
  321. package/dist/harness/operatorCommands.d.ts.map +1 -0
  322. package/dist/harness/operatorCommands.js +118 -0
  323. package/dist/harness/piSecureSandbox.d.ts +8 -0
  324. package/dist/harness/piSecureSandbox.d.ts.map +1 -0
  325. package/dist/harness/piSecureSandbox.js +366 -0
  326. package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
  327. package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
  328. package/dist/harness/piSecureSandboxTypes.js +6 -0
  329. package/dist/harness/piWrapper/compaction.d.ts +13 -0
  330. package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
  331. package/dist/harness/piWrapper/compaction.js +38 -0
  332. package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
  333. package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
  334. package/dist/harness/piWrapper/instructionPrompts.js +97 -0
  335. package/dist/harness/piWrapper/moduleSupport.d.ts +78 -0
  336. package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
  337. package/dist/harness/piWrapper/moduleSupport.js +207 -0
  338. package/dist/harness/piWrapper/moduleSupport.test.d.ts +2 -0
  339. package/dist/harness/piWrapper/moduleSupport.test.d.ts.map +1 -0
  340. package/dist/harness/piWrapper/moduleSupport.test.js +31 -0
  341. package/dist/harness/piWrapper.d.ts +82 -0
  342. package/dist/harness/piWrapper.d.ts.map +1 -0
  343. package/dist/harness/piWrapper.js +406 -0
  344. package/dist/harness/piWrapper.test.d.ts +2 -0
  345. package/dist/harness/piWrapper.test.d.ts.map +1 -0
  346. package/dist/harness/piWrapper.test.js +240 -0
  347. package/dist/harness/planMode.d.ts +68 -0
  348. package/dist/harness/planMode.d.ts.map +1 -0
  349. package/dist/harness/planMode.js +145 -0
  350. package/dist/harness/selectionPolicies.d.ts +29 -0
  351. package/dist/harness/selectionPolicies.d.ts.map +1 -0
  352. package/dist/harness/selectionPolicies.js +165 -0
  353. package/dist/harness/types.d.ts +276 -0
  354. package/dist/harness/types.d.ts.map +1 -0
  355. package/dist/harness/types.js +34 -0
  356. package/dist/index.d.ts +16 -0
  357. package/dist/index.d.ts.map +1 -0
  358. package/dist/index.js +54 -0
  359. package/dist/interaction/askUserQuestion/core.d.ts +8 -0
  360. package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
  361. package/dist/interaction/askUserQuestion/core.js +112 -0
  362. package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
  363. package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
  364. package/dist/interaction/askUserQuestion/terminal.js +128 -0
  365. package/dist/interaction/askUserQuestion.d.ts +10 -0
  366. package/dist/interaction/askUserQuestion.d.ts.map +1 -0
  367. package/dist/interaction/askUserQuestion.js +295 -0
  368. package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
  369. package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
  370. package/dist/interaction/askUserQuestionTypes.js +6 -0
  371. package/dist/interaction/index.d.ts +4 -0
  372. package/dist/interaction/index.d.ts.map +1 -0
  373. package/dist/interaction/index.js +20 -0
  374. package/dist/interaction/interactionRouter.d.ts +25 -0
  375. package/dist/interaction/interactionRouter.d.ts.map +1 -0
  376. package/dist/interaction/interactionRouter.js +55 -0
  377. package/dist/mcp/channels/allowlist.d.ts +19 -0
  378. package/dist/mcp/channels/allowlist.d.ts.map +1 -0
  379. package/dist/mcp/channels/allowlist.js +140 -0
  380. package/dist/mcp/channels/channelManager.d.ts +64 -0
  381. package/dist/mcp/channels/channelManager.d.ts.map +1 -0
  382. package/dist/mcp/channels/channelManager.js +137 -0
  383. package/dist/mcp/channels/inboundQueue.d.ts +47 -0
  384. package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
  385. package/dist/mcp/channels/inboundQueue.js +96 -0
  386. package/dist/mcp/channels/index.d.ts +16 -0
  387. package/dist/mcp/channels/index.d.ts.map +1 -0
  388. package/dist/mcp/channels/index.js +38 -0
  389. package/dist/mcp/channels/outbound.d.ts +33 -0
  390. package/dist/mcp/channels/outbound.d.ts.map +1 -0
  391. package/dist/mcp/channels/outbound.js +94 -0
  392. package/dist/mcp/channels/permissionRelay.d.ts +62 -0
  393. package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
  394. package/dist/mcp/channels/permissionRelay.js +159 -0
  395. package/dist/mcp/channels/types.d.ts +135 -0
  396. package/dist/mcp/channels/types.d.ts.map +1 -0
  397. package/dist/mcp/channels/types.js +16 -0
  398. package/dist/mcp/client/config.d.ts +28 -0
  399. package/dist/mcp/client/config.d.ts.map +1 -0
  400. package/dist/mcp/client/config.js +144 -0
  401. package/dist/mcp/client/executor.d.ts +30 -0
  402. package/dist/mcp/client/executor.d.ts.map +1 -0
  403. package/dist/mcp/client/executor.js +61 -0
  404. package/dist/mcp/client/index.d.ts +12 -0
  405. package/dist/mcp/client/index.d.ts.map +1 -0
  406. package/dist/mcp/client/index.js +27 -0
  407. package/dist/mcp/client/manager.d.ts +74 -0
  408. package/dist/mcp/client/manager.d.ts.map +1 -0
  409. package/dist/mcp/client/manager.js +215 -0
  410. package/dist/mcp/client/toolRegistry.d.ts +113 -0
  411. package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
  412. package/dist/mcp/client/toolRegistry.js +190 -0
  413. package/dist/mcp/client/types.d.ts +96 -0
  414. package/dist/mcp/client/types.d.ts.map +1 -0
  415. package/dist/mcp/client/types.js +15 -0
  416. package/dist/mcp/transport/index.d.ts +9 -0
  417. package/dist/mcp/transport/index.d.ts.map +1 -0
  418. package/dist/mcp/transport/index.js +13 -0
  419. package/dist/mcp/transport/session.d.ts +18 -0
  420. package/dist/mcp/transport/session.d.ts.map +1 -0
  421. package/dist/mcp/transport/session.js +78 -0
  422. package/dist/mcp/transport/types.d.ts +19 -0
  423. package/dist/mcp/transport/types.d.ts.map +1 -0
  424. package/dist/mcp/transport/types.js +7 -0
  425. package/dist/mcp/transport/websocket.d.ts +41 -0
  426. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  427. package/dist/mcp/transport/websocket.js +271 -0
  428. package/dist/observability/health.d.ts +19 -0
  429. package/dist/observability/health.d.ts.map +1 -0
  430. package/dist/observability/health.js +129 -0
  431. package/dist/observability/index.d.ts +7 -0
  432. package/dist/observability/index.d.ts.map +1 -0
  433. package/dist/observability/index.js +22 -0
  434. package/dist/observability/runStatus.d.ts +44 -0
  435. package/dist/observability/runStatus.d.ts.map +1 -0
  436. package/dist/observability/runStatus.js +169 -0
  437. package/dist/observability/timeline.d.ts +11 -0
  438. package/dist/observability/timeline.d.ts.map +1 -0
  439. package/dist/observability/timeline.js +176 -0
  440. package/dist/observability/types.d.ts +62 -0
  441. package/dist/observability/types.d.ts.map +1 -0
  442. package/dist/observability/types.js +8 -0
  443. package/dist/observability/webhooks.d.ts +68 -0
  444. package/dist/observability/webhooks.d.ts.map +1 -0
  445. package/dist/observability/webhooks.js +132 -0
  446. package/dist/plugins/index.d.ts +11 -0
  447. package/dist/plugins/index.d.ts.map +1 -0
  448. package/dist/plugins/index.js +18 -0
  449. package/dist/plugins/loader.d.ts +37 -0
  450. package/dist/plugins/loader.d.ts.map +1 -0
  451. package/dist/plugins/loader.js +112 -0
  452. package/dist/plugins/sandbox.d.ts +38 -0
  453. package/dist/plugins/sandbox.d.ts.map +1 -0
  454. package/dist/plugins/sandbox.js +109 -0
  455. package/dist/plugins/types.d.ts +27 -0
  456. package/dist/plugins/types.d.ts.map +1 -0
  457. package/dist/plugins/types.js +7 -0
  458. package/dist/plugins/version-check.d.ts +23 -0
  459. package/dist/plugins/version-check.d.ts.map +1 -0
  460. package/dist/plugins/version-check.js +70 -0
  461. package/dist/processes/index.d.ts +12 -0
  462. package/dist/processes/index.d.ts.map +1 -0
  463. package/dist/processes/index.js +15 -0
  464. package/dist/processes/recommender.d.ts +36 -0
  465. package/dist/processes/recommender.d.ts.map +1 -0
  466. package/dist/processes/recommender.js +73 -0
  467. package/dist/processes/scorer.d.ts +26 -0
  468. package/dist/processes/scorer.d.ts.map +1 -0
  469. package/dist/processes/scorer.js +104 -0
  470. package/dist/processes/types.d.ts +48 -0
  471. package/dist/processes/types.d.ts.map +1 -0
  472. package/dist/processes/types.js +9 -0
  473. package/dist/runtime/index.d.ts +3 -0
  474. package/dist/runtime/index.d.ts.map +1 -0
  475. package/dist/runtime/index.js +28 -0
  476. package/dist/seams/contract.d.ts +63 -0
  477. package/dist/seams/contract.d.ts.map +1 -0
  478. package/dist/seams/contract.js +138 -0
  479. package/dist/seams/contract.test.d.ts +2 -0
  480. package/dist/seams/contract.test.d.ts.map +1 -0
  481. package/dist/seams/contract.test.js +99 -0
  482. package/dist/seams/index.d.ts +3 -0
  483. package/dist/seams/index.d.ts.map +1 -0
  484. package/dist/seams/index.js +8 -0
  485. package/dist/session/context.d.ts +22 -0
  486. package/dist/session/context.d.ts.map +1 -0
  487. package/dist/session/context.js +113 -0
  488. package/dist/session/continuityState.d.ts +39 -0
  489. package/dist/session/continuityState.d.ts.map +1 -0
  490. package/dist/session/continuityState.js +164 -0
  491. package/dist/session/cost.d.ts +72 -0
  492. package/dist/session/cost.d.ts.map +1 -0
  493. package/dist/session/cost.js +221 -0
  494. package/dist/session/discovery.d.ts +22 -0
  495. package/dist/session/discovery.d.ts.map +1 -0
  496. package/dist/session/discovery.js +35 -0
  497. package/dist/session/history.d.ts +30 -0
  498. package/dist/session/history.d.ts.map +1 -0
  499. package/dist/session/history.js +144 -0
  500. package/dist/session/index.d.ts +7 -0
  501. package/dist/session/index.d.ts.map +1 -0
  502. package/dist/session/index.js +70 -0
  503. package/dist/session/memoryExtraction.d.ts +65 -0
  504. package/dist/session/memoryExtraction.d.ts.map +1 -0
  505. package/dist/session/memoryExtraction.js +201 -0
  506. package/dist/session/parse.d.ts +45 -0
  507. package/dist/session/parse.d.ts.map +1 -0
  508. package/dist/session/parse.js +170 -0
  509. package/dist/session/persistence.d.ts +46 -0
  510. package/dist/session/persistence.d.ts.map +1 -0
  511. package/dist/session/persistence.js +180 -0
  512. package/dist/session/types.d.ts +267 -0
  513. package/dist/session/types.d.ts.map +1 -0
  514. package/dist/session/types.js +45 -0
  515. package/dist/session/write.d.ts +61 -0
  516. package/dist/session/write.d.ts.map +1 -0
  517. package/dist/session/write.js +213 -0
  518. package/dist/skills/chain.d.ts +31 -0
  519. package/dist/skills/chain.d.ts.map +1 -0
  520. package/dist/skills/chain.js +113 -0
  521. package/dist/skills/discovery.d.ts +34 -0
  522. package/dist/skills/discovery.d.ts.map +1 -0
  523. package/dist/skills/discovery.js +185 -0
  524. package/dist/skills/index.d.ts +12 -0
  525. package/dist/skills/index.d.ts.map +1 -0
  526. package/dist/skills/index.js +18 -0
  527. package/dist/skills/router.d.ts +35 -0
  528. package/dist/skills/router.d.ts.map +1 -0
  529. package/dist/skills/router.js +143 -0
  530. package/dist/skills/types.d.ts +33 -0
  531. package/dist/skills/types.d.ts.map +1 -0
  532. package/dist/skills/types.js +5 -0
  533. package/dist/storage/atomic.d.ts +2 -0
  534. package/dist/storage/atomic.d.ts.map +1 -0
  535. package/dist/storage/atomic.js +54 -0
  536. package/dist/storage/clock.d.ts +2 -0
  537. package/dist/storage/clock.d.ts.map +1 -0
  538. package/dist/storage/clock.js +6 -0
  539. package/dist/storage/index.d.ts +7 -0
  540. package/dist/storage/index.d.ts.map +1 -0
  541. package/dist/storage/index.js +9 -0
  542. package/dist/storage/journalWatcher.d.ts +24 -0
  543. package/dist/storage/journalWatcher.d.ts.map +1 -0
  544. package/dist/storage/journalWatcher.js +173 -0
  545. package/dist/storage/paths.d.ts +5 -0
  546. package/dist/storage/paths.d.ts.map +1 -0
  547. package/dist/storage/paths.js +26 -0
  548. package/dist/storage/snapshotState.d.ts +10 -0
  549. package/dist/storage/snapshotState.d.ts.map +1 -0
  550. package/dist/storage/snapshotState.js +15 -0
  551. package/dist/storage/storeTaskArtifacts.d.ts +6 -0
  552. package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
  553. package/dist/storage/storeTaskArtifacts.js +55 -0
  554. package/dist/storage/types.d.ts +21 -0
  555. package/dist/storage/types.d.ts.map +1 -0
  556. package/dist/storage/types.js +2 -0
  557. package/dist/tasks/crud.d.ts +33 -0
  558. package/dist/tasks/crud.d.ts.map +1 -0
  559. package/dist/tasks/crud.js +150 -0
  560. package/dist/tasks/index.d.ts +2 -0
  561. package/dist/tasks/index.d.ts.map +1 -0
  562. package/dist/tasks/index.js +9 -0
  563. package/package.json +161 -0
@@ -0,0 +1,276 @@
1
+ /**
2
+ * Harness adapter interface.
3
+ *
4
+ * A "harness" is the host tool that invokes the babysitter SDK (e.g. Claude Code,
5
+ * Cursor, Windsurf). Each harness has its own session lifecycle, env vars, and
6
+ * hook input/output formats. The adapter interface abstracts these differences
7
+ * so the SDK core remains harness-agnostic.
8
+ */
9
+ import type { AskUserQuestionUiContext } from "../interaction";
10
+ import type { PromptContext } from "@a5c-ai/babysitter-sdk";
11
+ /** Capabilities that a harness adapter may support. */
12
+ export declare enum HarnessCapability {
13
+ /** Harness supports programmatic (non-interactive) invocation. */
14
+ Programmatic = "programmatic",
15
+ /** Harness can bind a babysitter run to a host session. */
16
+ SessionBinding = "session-binding",
17
+ /** Harness implements the stop-hook lifecycle event. */
18
+ StopHook = "stop-hook",
19
+ /** Harness exposes an MCP (Model Context Protocol) server. */
20
+ Mcp = "mcp",
21
+ /** Harness can accept a prompt without a TTY (headless mode). */
22
+ HeadlessPrompt = "headless-prompt",
23
+ /** Harness supports concurrent effect execution (GAP-PAR-001). */
24
+ ConcurrentEffects = "concurrent-effects",
25
+ /** Harness supports async/background effects (GAP-PAR-002). */
26
+ BackgroundEffects = "background-effects",
27
+ /** Harness supports multi-harness parallel dispatch (GAP-PAR-003). */
28
+ MultiHarnessDispatch = "multi-harness-dispatch"
29
+ }
30
+ /**
31
+ * Result of probing the local environment for a specific harness CLI.
32
+ *
33
+ * This is the **installed-discovery** result — it answers "is this CLI on
34
+ * PATH?" and "does config exist?". It does NOT report whether we are
35
+ * currently running inside this harness; use `CallerHarnessResult` /
36
+ * `detectCallerHarness()` for that.
37
+ */
38
+ export interface HarnessDiscoveryResult {
39
+ /** Harness identifier (matches HarnessAdapter.name). */
40
+ name: string;
41
+ /** Whether the CLI binary was found on the system. */
42
+ installed: boolean;
43
+ /** Semantic version reported by the CLI, if obtainable. */
44
+ version?: string;
45
+ /** Absolute path to the CLI binary, if resolved. */
46
+ cliPath?: string;
47
+ /** Shell command used to invoke the CLI. */
48
+ cliCommand: string;
49
+ /** Whether harness-specific configuration was found on disk. */
50
+ configFound: boolean;
51
+ /** Capabilities advertised by this harness. */
52
+ capabilities: HarnessCapability[];
53
+ /** Platform identifier (e.g. "win32", "linux", "darwin"). */
54
+ platform: string;
55
+ }
56
+ /** Result of detecting which harness spawned the current process, if any. */
57
+ export interface CallerHarnessResult {
58
+ /** Harness identifier (matches HarnessAdapter.name). */
59
+ name: string;
60
+ /** Environment variable names that matched the active caller. */
61
+ matchedEnvVars: string[];
62
+ /** Capabilities advertised by the detected caller harness. */
63
+ capabilities: HarnessCapability[];
64
+ }
65
+ /** Callback invoked with each raw chunk from stdout or stderr. */
66
+ export type StreamingOutputCallback = (chunk: string) => void;
67
+ /** Callback invoked with each complete line and its source stream. */
68
+ export type StreamingLineCallback = (line: string, source: "stdout" | "stderr") => void;
69
+ /** Options for real-time streaming output capture from harness invocations. */
70
+ export interface StreamingOutputOptions {
71
+ /** Called with each stdout chunk as it arrives. */
72
+ onStdout?: StreamingOutputCallback;
73
+ /** Called with each stderr chunk as it arrives. */
74
+ onStderr?: StreamingOutputCallback;
75
+ /** Called with each complete line (from either stream) as it becomes available. */
76
+ onLine?: StreamingLineCallback;
77
+ }
78
+ /** Options for programmatically invoking a harness CLI. */
79
+ export interface HarnessInvokeOptions {
80
+ /** The prompt to send to the harness. */
81
+ prompt: string;
82
+ /** Working directory for the invocation. */
83
+ workspace?: string;
84
+ /** Model override (harness-specific). */
85
+ model?: string;
86
+ /** Maximum execution time in milliseconds. */
87
+ timeout?: number;
88
+ /** Whether to use RPC/structured-output mode. */
89
+ rpc?: boolean;
90
+ /** Additional environment variables passed to the child process. */
91
+ env?: Record<string, string>;
92
+ /** Real-time streaming output callbacks (GAP-SUBOBS-001). */
93
+ streaming?: StreamingOutputOptions;
94
+ /** AbortSignal to cancel the invocation and kill the child process. */
95
+ signal?: AbortSignal;
96
+ }
97
+ /** Result returned after a harness CLI invocation completes. */
98
+ export interface HarnessInvokeResult {
99
+ /** Whether the invocation completed without error. */
100
+ success: boolean;
101
+ /** Combined stdout/stderr output from the CLI. */
102
+ output: string;
103
+ /** Process exit code. */
104
+ exitCode: number;
105
+ /** Wall-clock duration of the invocation in milliseconds. */
106
+ duration: number;
107
+ /** Name of the harness that was invoked. */
108
+ harness: string;
109
+ /** GAP-PERF-004: Whether output was streamed in real-time. */
110
+ streamed?: boolean;
111
+ /** GAP-PERF-004: Number of streaming chunks emitted. */
112
+ streamChunkCount?: number;
113
+ }
114
+ /** Options for creating a Pi harness session (programmatic API). */
115
+ export interface AgentCoreSessionOptions {
116
+ /** Working directory for the session. */
117
+ workspace?: string;
118
+ /** Model identifier string (e.g. "claude-opus-4-5"). */
119
+ model?: string;
120
+ /** Maximum time in ms to wait for a single prompt to complete. */
121
+ timeout?: number;
122
+ /** Thinking level for the model. */
123
+ thinkingLevel?: "minimal" | "low" | "medium" | "high" | "xhigh";
124
+ /** Built-in tool mode to expose to the model. */
125
+ toolsMode?: "default" | "coding" | "readonly";
126
+ /** Custom tool definitions to register with the session. */
127
+ customTools?: unknown[];
128
+ /** Optional extension-style UI context exposed to custom tools inside the PI loop. */
129
+ uiContext?: AskUserQuestionUiContext;
130
+ /** Replace the discovered system prompt with a custom one. */
131
+ systemPrompt?: string;
132
+ /** Append custom system prompt instructions. */
133
+ appendSystemPrompt?: string[];
134
+ /** Isolate the session from discovered extensions, skills, and AGENTS files. */
135
+ isolated?: boolean;
136
+ /** Use an in-memory session manager instead of persistent session files. */
137
+ ephemeral?: boolean;
138
+ /** Bash tool execution backend. Defaults to native/local PI execution; "secure" opts into the sandbox backend and "auto" falls back to local. */
139
+ bashSandbox?: "auto" | "secure" | "local";
140
+ /** Whether PI session compaction should be enabled for this session. */
141
+ enableCompaction?: boolean;
142
+ /** Global pi agent config directory (default: ~/.pi/agent). */
143
+ agentDir?: string;
144
+ /** Minimum delay before retrying PI session initialization after a failure. */
145
+ initFailureBackoffMs?: number;
146
+ }
147
+ /**
148
+ * Event emitted by a Pi session during prompt execution.
149
+ * Mirrors the AgentSessionEvent union from `@earendil-works/pi-coding-agent`.
150
+ */
151
+ export interface AgentCoreSessionEvent {
152
+ type: string;
153
+ [key: string]: unknown;
154
+ }
155
+ /** Result of sending a prompt through a Pi session. */
156
+ export interface AgentCorePromptResult {
157
+ /** Collected text output from the agent response. */
158
+ output: string;
159
+ /** Wall-clock duration in milliseconds. */
160
+ duration: number;
161
+ /** Whether the prompt completed without error. */
162
+ success: boolean;
163
+ /** Exit code (0 = success, 1 = failure). */
164
+ exitCode: number;
165
+ /** Provider-reported token usage, when available. */
166
+ usage?: {
167
+ inputTokens: number;
168
+ outputTokens: number;
169
+ totalTokens: number;
170
+ provider?: string;
171
+ model?: string;
172
+ };
173
+ }
174
+ export interface SessionBindOptions {
175
+ sessionId: string;
176
+ runId: string;
177
+ runDir: string;
178
+ pluginRoot?: string;
179
+ stateDir?: string;
180
+ runsDir?: string;
181
+ maxIterations?: number;
182
+ prompt: string;
183
+ verbose: boolean;
184
+ json: boolean;
185
+ }
186
+ export interface SessionBindResult {
187
+ harness: string;
188
+ sessionId: string;
189
+ stateFile?: string;
190
+ error?: string;
191
+ /** When true, the error is fatal and run:create should exit non-zero. */
192
+ fatal?: boolean;
193
+ }
194
+ export interface HookHandlerArgs {
195
+ pluginRoot?: string;
196
+ stateDir?: string;
197
+ runsDir?: string;
198
+ json: boolean;
199
+ verbose?: boolean;
200
+ }
201
+ export interface HarnessInstallOptions {
202
+ workspace?: string;
203
+ json: boolean;
204
+ dryRun: boolean;
205
+ verbose: boolean;
206
+ }
207
+ export interface HarnessInstallResult {
208
+ harness: string;
209
+ dryRun?: boolean;
210
+ warning?: string;
211
+ summary?: string;
212
+ command?: string;
213
+ output?: string;
214
+ location?: string;
215
+ }
216
+ export interface HarnessAdapter {
217
+ /** Harness identifier (e.g. "claude-code") */
218
+ readonly name: string;
219
+ /** Does this harness appear to be active? (env var detection) */
220
+ isActive(): boolean;
221
+ /** Resolve session ID from CLI args / env vars / env file */
222
+ resolveSessionId(parsed: {
223
+ sessionId?: string;
224
+ }): string | undefined;
225
+ /** Resolve state directory from args / env */
226
+ resolveStateDir(args: {
227
+ stateDir?: string;
228
+ pluginRoot?: string;
229
+ }): string | undefined;
230
+ /** Resolve plugin root from args / env */
231
+ resolvePluginRoot(args: {
232
+ pluginRoot?: string;
233
+ }): string | undefined;
234
+ /**
235
+ * Whether this adapter auto-resolves session IDs from environment variables
236
+ * or other ambient sources. When true, explicitly passing `--session-id`
237
+ * is rejected as a conflict. Defaults to `false` when not implemented.
238
+ */
239
+ autoResolvesSessionId?(): boolean;
240
+ /** Guidance shown when a harness-specific session ID is required but missing. */
241
+ getMissingSessionIdHint?(): string;
242
+ /** Whether this harness truthfully supports a given SDK hook entrypoint. */
243
+ supportsHookType?(hookType: string): boolean;
244
+ /** Message shown when a hook type is requested but unsupported by the harness. */
245
+ getUnsupportedHookMessage?(hookType: string): string;
246
+ /** Bind a run to the caller's session (run:create flow) */
247
+ bindSession(opts: SessionBindOptions): Promise<SessionBindResult>;
248
+ /** Handle the stop hook (decision: approve/block) */
249
+ handleStopHook(args: HookHandlerArgs): Promise<number>;
250
+ /** Handle the session-start hook (env file + state file setup) */
251
+ handleSessionStartHook(args: HookHandlerArgs): Promise<number>;
252
+ /** Find hook dispatcher path (for shell hook execution) */
253
+ findHookDispatcherPath(startCwd: string): string | null;
254
+ /** Check whether the harness CLI binary is installed and reachable. */
255
+ isCliInstalled?(): Promise<boolean>;
256
+ /** Return CLI metadata (command name, version, resolved path). */
257
+ getCliInfo?(): Promise<{
258
+ command: string;
259
+ version?: string;
260
+ path?: string;
261
+ }>;
262
+ /** List capabilities supported by this harness adapter. */
263
+ getCapabilities?(): HarnessCapability[];
264
+ /** Install the harness CLI itself. */
265
+ installHarness?(options: HarnessInstallOptions): Promise<HarnessInstallResult>;
266
+ /** Install or materialize the Babysitter plugin/extension integration for this harness. */
267
+ installPlugin?(options: HarnessInstallOptions): Promise<HarnessInstallResult>;
268
+ /**
269
+ * Return a PromptContext pre-configured for this harness.
270
+ * Centralizes harness-specific prompt configuration in the adapter itself.
271
+ */
272
+ getPromptContext?(opts?: {
273
+ interactive?: boolean | undefined;
274
+ }): PromptContext;
275
+ }
276
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/harness/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Harness adapter interface.
4
+ *
5
+ * A "harness" is the host tool that invokes the babysitter SDK (e.g. Claude Code,
6
+ * Cursor, Windsurf). Each harness has its own session lifecycle, env vars, and
7
+ * hook input/output formats. The adapter interface abstracts these differences
8
+ * so the SDK core remains harness-agnostic.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.HarnessCapability = void 0;
12
+ // ---------------------------------------------------------------------------
13
+ // Harness capability enum
14
+ // ---------------------------------------------------------------------------
15
+ /** Capabilities that a harness adapter may support. */
16
+ var HarnessCapability;
17
+ (function (HarnessCapability) {
18
+ /** Harness supports programmatic (non-interactive) invocation. */
19
+ HarnessCapability["Programmatic"] = "programmatic";
20
+ /** Harness can bind a babysitter run to a host session. */
21
+ HarnessCapability["SessionBinding"] = "session-binding";
22
+ /** Harness implements the stop-hook lifecycle event. */
23
+ HarnessCapability["StopHook"] = "stop-hook";
24
+ /** Harness exposes an MCP (Model Context Protocol) server. */
25
+ HarnessCapability["Mcp"] = "mcp";
26
+ /** Harness can accept a prompt without a TTY (headless mode). */
27
+ HarnessCapability["HeadlessPrompt"] = "headless-prompt";
28
+ /** Harness supports concurrent effect execution (GAP-PAR-001). */
29
+ HarnessCapability["ConcurrentEffects"] = "concurrent-effects";
30
+ /** Harness supports async/background effects (GAP-PAR-002). */
31
+ HarnessCapability["BackgroundEffects"] = "background-effects";
32
+ /** Harness supports multi-harness parallel dispatch (GAP-PAR-003). */
33
+ HarnessCapability["MultiHarnessDispatch"] = "multi-harness-dispatch";
34
+ })(HarnessCapability || (exports.HarnessCapability = HarnessCapability = {}));
@@ -0,0 +1,16 @@
1
+ export * from "./harness";
2
+ export * from "./runtime";
3
+ export * from "./api";
4
+ export * from "./daemon";
5
+ export * from "./interaction";
6
+ export * as anycli from "./anycli";
7
+ export * as cost from "./cost";
8
+ export * as governance from "./governance";
9
+ export * from "./observability";
10
+ export * as session from "./session";
11
+ export * as storage from "./storage";
12
+ export * as tasks from "./tasks";
13
+ export * as processes from "./processes";
14
+ export * as skills from "./skills";
15
+ export * as plugins from "./plugins";
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.plugins = exports.skills = exports.processes = exports.tasks = exports.storage = exports.session = exports.governance = exports.cost = exports.anycli = void 0;
40
+ __exportStar(require("./harness"), exports);
41
+ __exportStar(require("./runtime"), exports);
42
+ __exportStar(require("./api"), exports);
43
+ __exportStar(require("./daemon"), exports);
44
+ __exportStar(require("./interaction"), exports);
45
+ exports.anycli = __importStar(require("./anycli"));
46
+ exports.cost = __importStar(require("./cost"));
47
+ exports.governance = __importStar(require("./governance"));
48
+ __exportStar(require("./observability"), exports);
49
+ exports.session = __importStar(require("./session"));
50
+ exports.storage = __importStar(require("./storage"));
51
+ exports.tasks = __importStar(require("./tasks"));
52
+ exports.processes = __importStar(require("./processes"));
53
+ exports.skills = __importStar(require("./skills"));
54
+ exports.plugins = __importStar(require("./plugins"));
@@ -0,0 +1,8 @@
1
+ import type { AskUserQuestionOption, AskUserQuestionQuestion, AskUserQuestionRequest, AskUserQuestionResponse } from "../askUserQuestion";
2
+ export declare function getQuestionKey(question: AskUserQuestionQuestion, index: number): string;
3
+ export declare function resolveOption(token: string, options: AskUserQuestionOption[]): AskUserQuestionOption | undefined;
4
+ export declare function parseOptionAnswer(rawAnswer: string, question: AskUserQuestionQuestion): string | undefined;
5
+ export declare function validateAskUserQuestionRequest(request: AskUserQuestionRequest): void;
6
+ export declare function createAskUserQuestionResponse(request: AskUserQuestionRequest, answers: Record<string, string>): AskUserQuestionResponse;
7
+ export declare function createDefaultAskUserQuestionResponse(request: AskUserQuestionRequest): AskUserQuestionResponse;
8
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/interaction/askUserQuestion/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAO5B,wBAAgB,cAAc,CAAC,QAAQ,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMvF;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,qBAAqB,EAAE,GAC/B,qBAAqB,GAAG,SAAS,CAQnC;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,uBAAuB,GAChC,MAAM,GAAG,SAAS,CA2BpB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,sBAAsB,GAC9B,IAAI,CA0CN;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,uBAAuB,CAUzB;AA0BD,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,sBAAsB,GAC9B,uBAAuB,CAEzB"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getQuestionKey = getQuestionKey;
4
+ exports.resolveOption = resolveOption;
5
+ exports.parseOptionAnswer = parseOptionAnswer;
6
+ exports.validateAskUserQuestionRequest = validateAskUserQuestionRequest;
7
+ exports.createAskUserQuestionResponse = createAskUserQuestionResponse;
8
+ exports.createDefaultAskUserQuestionResponse = createDefaultAskUserQuestionResponse;
9
+ const MIN_QUESTION_COUNT = 1;
10
+ const MAX_QUESTION_COUNT = 4;
11
+ const MIN_OPTION_COUNT = 2;
12
+ const MAX_OPTION_COUNT = 4;
13
+ function getQuestionKey(question, index) {
14
+ const header = question.header?.trim();
15
+ if (header) {
16
+ return header;
17
+ }
18
+ return `Question ${index + 1}`;
19
+ }
20
+ function resolveOption(token, options) {
21
+ if (/^\d+$/.test(token)) {
22
+ const index = Number(token) - 1;
23
+ return index >= 0 && index < options.length ? options[index] : undefined;
24
+ }
25
+ const normalized = token.trim().toLowerCase();
26
+ return options.find((option) => option.label.trim().toLowerCase() === normalized);
27
+ }
28
+ function parseOptionAnswer(rawAnswer, question) {
29
+ const trimmed = rawAnswer.trim();
30
+ if (!trimmed) {
31
+ return undefined;
32
+ }
33
+ const options = question.options ?? [];
34
+ const parts = question.multiSelect
35
+ ? trimmed.split(",").map((part) => part.trim()).filter(Boolean)
36
+ : [trimmed];
37
+ const selectedLabels = [];
38
+ for (const part of parts) {
39
+ const option = resolveOption(part, options);
40
+ if (!option) {
41
+ return question.allowOther === false ? undefined : trimmed;
42
+ }
43
+ if (!selectedLabels.includes(option.label)) {
44
+ selectedLabels.push(option.label);
45
+ }
46
+ }
47
+ if (!question.multiSelect && selectedLabels.length > 1) {
48
+ return undefined;
49
+ }
50
+ return question.multiSelect ? selectedLabels.join(", ") : selectedLabels[0];
51
+ }
52
+ function validateAskUserQuestionRequest(request) {
53
+ if (!Array.isArray(request.questions)) {
54
+ throw new Error("AskUserQuestion requires a questions array.");
55
+ }
56
+ if (request.questions.length < MIN_QUESTION_COUNT ||
57
+ request.questions.length > MAX_QUESTION_COUNT) {
58
+ throw new Error(`AskUserQuestion requires ${MIN_QUESTION_COUNT}-${MAX_QUESTION_COUNT} questions.`);
59
+ }
60
+ for (const question of request.questions) {
61
+ if (!question.question?.trim()) {
62
+ throw new Error("AskUserQuestion questions must include non-empty question text.");
63
+ }
64
+ if (!question.options) {
65
+ continue;
66
+ }
67
+ if (question.options.length < MIN_OPTION_COUNT ||
68
+ question.options.length > MAX_OPTION_COUNT) {
69
+ throw new Error(`AskUserQuestion option-based questions require ${MIN_OPTION_COUNT}-${MAX_OPTION_COUNT} options.`);
70
+ }
71
+ if (question.multiSelect && question.options.some((option) => option.preview?.trim())) {
72
+ throw new Error("AskUserQuestion preview is only supported for single-select questions.");
73
+ }
74
+ for (const option of question.options) {
75
+ if (!option.label?.trim()) {
76
+ throw new Error("AskUserQuestion options must include a non-empty label.");
77
+ }
78
+ }
79
+ }
80
+ }
81
+ function createAskUserQuestionResponse(request, answers) {
82
+ validateAskUserQuestionRequest(request);
83
+ const normalizedAnswers = {};
84
+ for (const [index, question] of request.questions.entries()) {
85
+ const key = getQuestionKey(question, index);
86
+ normalizedAnswers[key] = answers[key] ?? "";
87
+ }
88
+ return { answers: normalizedAnswers };
89
+ }
90
+ function getDefaultAnswerForQuestion(question) {
91
+ const options = question.options ?? [];
92
+ if (question.recommended != null &&
93
+ options.length > 0 &&
94
+ options[question.recommended]) {
95
+ return options[question.recommended].label;
96
+ }
97
+ if (options.length > 0) {
98
+ return options[0].label;
99
+ }
100
+ return "";
101
+ }
102
+ function buildDefaultAnswers(request) {
103
+ const answers = {};
104
+ for (const [index, question] of request.questions.entries()) {
105
+ const key = getQuestionKey(question, index);
106
+ answers[key] = getDefaultAnswerForQuestion(question);
107
+ }
108
+ return answers;
109
+ }
110
+ function createDefaultAskUserQuestionResponse(request) {
111
+ return createAskUserQuestionResponse(request, buildDefaultAnswers(request));
112
+ }
@@ -0,0 +1,15 @@
1
+ import type { Readable, Writable } from "node:stream";
2
+ export declare const RESET = "\u001B[0m";
3
+ export declare const BOLD = "\u001B[1m";
4
+ export declare const CYAN = "\u001B[36m";
5
+ export declare const DIM = "\u001B[2m";
6
+ export declare const YELLOW = "\u001B[33m";
7
+ interface ArrowSelectOptions {
8
+ multiSelect?: boolean;
9
+ }
10
+ export declare function isTTYInput(stream: Readable): stream is NodeJS.ReadStream & {
11
+ setRawMode: (mode: boolean) => void;
12
+ };
13
+ export declare function promptArrowKeySelect(input: NodeJS.ReadStream, output: Writable, options: string[], opts?: ArrowSelectOptions): Promise<number | number[] | undefined>;
14
+ export {};
15
+ //# sourceMappingURL=terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/interaction/askUserQuestion/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,eAAO,MAAM,KAAK,cAAY,CAAC;AAC/B,eAAO,MAAM,IAAI,cAAY,CAAC;AAC9B,eAAO,MAAM,IAAI,eAAa,CAAC;AAC/B,eAAO,MAAM,GAAG,cAAY,CAAC;AAC7B,eAAO,MAAM,MAAM,eAAa,CAAC;AAQjC,UAAU,kBAAkB;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,QAAQ,GACf,MAAM,IAAI,MAAM,CAAC,UAAU,GAAG;IAAE,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,CAEvE;AA6CD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAqFxC"}