@a5c-ai/genty-platform 5.1.1-staging.0ad6ac75ae4a

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 (584) 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/context/dynamic.d.ts +16 -0
  48. package/dist/context/dynamic.d.ts.map +1 -0
  49. package/dist/context/dynamic.js +55 -0
  50. package/dist/context/instructions.d.ts +8 -0
  51. package/dist/context/instructions.d.ts.map +1 -0
  52. package/dist/context/instructions.js +77 -0
  53. package/dist/cost/claudeCodeParser.d.ts +81 -0
  54. package/dist/cost/claudeCodeParser.d.ts.map +1 -0
  55. package/dist/cost/claudeCodeParser.js +232 -0
  56. package/dist/cost/collector.d.ts +42 -0
  57. package/dist/cost/collector.d.ts.map +1 -0
  58. package/dist/cost/collector.js +105 -0
  59. package/dist/cost/effectCost.d.ts +23 -0
  60. package/dist/cost/effectCost.d.ts.map +1 -0
  61. package/dist/cost/effectCost.js +26 -0
  62. package/dist/cost/index.d.ts +7 -0
  63. package/dist/cost/index.d.ts.map +1 -0
  64. package/dist/cost/index.js +28 -0
  65. package/dist/cost/journal.d.ts +40 -0
  66. package/dist/cost/journal.d.ts.map +1 -0
  67. package/dist/cost/journal.js +158 -0
  68. package/dist/cost/types.d.ts +164 -0
  69. package/dist/cost/types.d.ts.map +1 -0
  70. package/dist/cost/types.js +228 -0
  71. package/dist/daemon/automationExecutor.d.ts +16 -0
  72. package/dist/daemon/automationExecutor.d.ts.map +1 -0
  73. package/dist/daemon/automationExecutor.js +222 -0
  74. package/dist/daemon/config.d.ts +8 -0
  75. package/dist/daemon/config.d.ts.map +1 -0
  76. package/dist/daemon/config.js +245 -0
  77. package/dist/daemon/daemonLog.d.ts +13 -0
  78. package/dist/daemon/daemonLog.d.ts.map +1 -0
  79. package/dist/daemon/daemonLog.js +64 -0
  80. package/dist/daemon/durableQueue.d.ts +41 -0
  81. package/dist/daemon/durableQueue.d.ts.map +1 -0
  82. package/dist/daemon/durableQueue.js +183 -0
  83. package/dist/daemon/fileWatcher.d.ts +9 -0
  84. package/dist/daemon/fileWatcher.d.ts.map +1 -0
  85. package/dist/daemon/fileWatcher.js +144 -0
  86. package/dist/daemon/index.d.ts +9 -0
  87. package/dist/daemon/index.d.ts.map +1 -0
  88. package/dist/daemon/index.js +26 -0
  89. package/dist/daemon/lifecycle.d.ts +12 -0
  90. package/dist/daemon/lifecycle.d.ts.map +1 -0
  91. package/dist/daemon/lifecycle.js +257 -0
  92. package/dist/daemon/loop.d.ts +27 -0
  93. package/dist/daemon/loop.d.ts.map +1 -0
  94. package/dist/daemon/loop.js +387 -0
  95. package/dist/daemon/timerScheduler.d.ts +13 -0
  96. package/dist/daemon/timerScheduler.d.ts.map +1 -0
  97. package/dist/daemon/timerScheduler.js +212 -0
  98. package/dist/daemon/types.d.ts +122 -0
  99. package/dist/daemon/types.d.ts.map +1 -0
  100. package/dist/daemon/types.js +25 -0
  101. package/dist/daemon/webhookListener.d.ts +6 -0
  102. package/dist/daemon/webhookListener.d.ts.map +1 -0
  103. package/dist/daemon/webhookListener.js +132 -0
  104. package/dist/extensions/discovery.d.ts +15 -0
  105. package/dist/extensions/discovery.d.ts.map +1 -0
  106. package/dist/extensions/discovery.js +119 -0
  107. package/dist/extensions/installer.d.ts +14 -0
  108. package/dist/extensions/installer.d.ts.map +1 -0
  109. package/dist/extensions/installer.js +100 -0
  110. package/dist/governance/authority.d.ts +68 -0
  111. package/dist/governance/authority.d.ts.map +1 -0
  112. package/dist/governance/authority.js +136 -0
  113. package/dist/governance/bridge.d.ts +17 -0
  114. package/dist/governance/bridge.d.ts.map +1 -0
  115. package/dist/governance/bridge.js +46 -0
  116. package/dist/governance/builtins.d.ts +25 -0
  117. package/dist/governance/builtins.d.ts.map +1 -0
  118. package/dist/governance/builtins.js +67 -0
  119. package/dist/governance/categories.d.ts +58 -0
  120. package/dist/governance/categories.d.ts.map +1 -0
  121. package/dist/governance/categories.js +120 -0
  122. package/dist/governance/decisionTrail.d.ts +60 -0
  123. package/dist/governance/decisionTrail.d.ts.map +1 -0
  124. package/dist/governance/decisionTrail.js +68 -0
  125. package/dist/governance/engine.d.ts +20 -0
  126. package/dist/governance/engine.d.ts.map +1 -0
  127. package/dist/governance/engine.js +124 -0
  128. package/dist/governance/index.d.ts +20 -0
  129. package/dist/governance/index.d.ts.map +1 -0
  130. package/dist/governance/index.js +75 -0
  131. package/dist/governance/logging.d.ts +18 -0
  132. package/dist/governance/logging.d.ts.map +1 -0
  133. package/dist/governance/logging.js +83 -0
  134. package/dist/governance/mandate.d.ts +83 -0
  135. package/dist/governance/mandate.d.ts.map +1 -0
  136. package/dist/governance/mandate.js +180 -0
  137. package/dist/governance/permissionEvents.d.ts +51 -0
  138. package/dist/governance/permissionEvents.d.ts.map +1 -0
  139. package/dist/governance/permissionEvents.js +52 -0
  140. package/dist/governance/permissionPropagation.d.ts +18 -0
  141. package/dist/governance/permissionPropagation.d.ts.map +1 -0
  142. package/dist/governance/permissionPropagation.js +58 -0
  143. package/dist/governance/postureBridge.d.ts +17 -0
  144. package/dist/governance/postureBridge.d.ts.map +1 -0
  145. package/dist/governance/postureBridge.js +117 -0
  146. package/dist/governance/sandboxBridge.d.ts +49 -0
  147. package/dist/governance/sandboxBridge.d.ts.map +1 -0
  148. package/dist/governance/sandboxBridge.js +77 -0
  149. package/dist/governance/sandboxPolicy.d.ts +51 -0
  150. package/dist/governance/sandboxPolicy.d.ts.map +1 -0
  151. package/dist/governance/sandboxPolicy.js +177 -0
  152. package/dist/governance/types.d.ts +3 -0
  153. package/dist/governance/types.d.ts.map +1 -0
  154. package/dist/governance/types.js +5 -0
  155. package/dist/harness/adapters/adapterBridge.d.ts +71 -0
  156. package/dist/harness/adapters/adapterBridge.d.ts.map +1 -0
  157. package/dist/harness/adapters/adapterBridge.js +117 -0
  158. package/dist/harness/adapters/adapterClientFactory.d.ts +29 -0
  159. package/dist/harness/adapters/adapterClientFactory.d.ts.map +1 -0
  160. package/dist/harness/adapters/adapterClientFactory.js +90 -0
  161. package/dist/harness/adapters/adapterEventEmitter.d.ts +51 -0
  162. package/dist/harness/adapters/adapterEventEmitter.d.ts.map +1 -0
  163. package/dist/harness/adapters/adapterEventEmitter.js +143 -0
  164. package/dist/harness/adapters/adapterEventMapper.d.ts +63 -0
  165. package/dist/harness/adapters/adapterEventMapper.d.ts.map +1 -0
  166. package/dist/harness/adapters/adapterEventMapper.js +100 -0
  167. package/dist/harness/adapters/adapterHarnessMap.d.ts +25 -0
  168. package/dist/harness/adapters/adapterHarnessMap.d.ts.map +1 -0
  169. package/dist/harness/adapters/adapterHarnessMap.js +55 -0
  170. package/dist/harness/adapters/adapterStdinReader.d.ts +45 -0
  171. package/dist/harness/adapters/adapterStdinReader.d.ts.map +1 -0
  172. package/dist/harness/adapters/adapterStdinReader.js +106 -0
  173. package/dist/harness/adapters/adapterTypes.d.ts +122 -0
  174. package/dist/harness/adapters/adapterTypes.d.ts.map +1 -0
  175. package/dist/harness/adapters/adapterTypes.js +11 -0
  176. package/dist/harness/adapters/index.d.ts +17 -0
  177. package/dist/harness/adapters/index.d.ts.map +1 -0
  178. package/dist/harness/adapters/index.js +34 -0
  179. package/dist/harness/backgroundTracker.d.ts +64 -0
  180. package/dist/harness/backgroundTracker.d.ts.map +1 -0
  181. package/dist/harness/backgroundTracker.js +107 -0
  182. package/dist/harness/builtInHarness.d.ts +3 -0
  183. package/dist/harness/builtInHarness.d.ts.map +1 -0
  184. package/dist/harness/builtInHarness.js +18 -0
  185. package/dist/harness/capabilityRouter.d.ts +76 -0
  186. package/dist/harness/capabilityRouter.d.ts.map +1 -0
  187. package/dist/harness/capabilityRouter.js +176 -0
  188. package/dist/harness/extensionToolBridge.d.ts +13 -0
  189. package/dist/harness/extensionToolBridge.d.ts.map +1 -0
  190. package/dist/harness/extensionToolBridge.js +23 -0
  191. package/dist/harness/fallbackChains.d.ts +42 -0
  192. package/dist/harness/fallbackChains.d.ts.map +1 -0
  193. package/dist/harness/fallbackChains.js +69 -0
  194. package/dist/harness/gentySessionContext.d.ts +31 -0
  195. package/dist/harness/gentySessionContext.d.ts.map +1 -0
  196. package/dist/harness/gentySessionContext.js +49 -0
  197. package/dist/harness/gentySessionIntegration.d.ts +16 -0
  198. package/dist/harness/gentySessionIntegration.d.ts.map +1 -0
  199. package/dist/harness/gentySessionIntegration.js +66 -0
  200. package/dist/harness/hostContract.d.ts +63 -0
  201. package/dist/harness/hostContract.d.ts.map +1 -0
  202. package/dist/harness/hostContract.js +136 -0
  203. package/dist/harness/index.d.ts +18 -0
  204. package/dist/harness/index.d.ts.map +1 -0
  205. package/dist/harness/index.js +91 -0
  206. package/dist/harness/internal/createRun/agent-core-loop.d.ts +43 -0
  207. package/dist/harness/internal/createRun/agent-core-loop.d.ts.map +1 -0
  208. package/dist/harness/internal/createRun/agent-core-loop.js +247 -0
  209. package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
  210. package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
  211. package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
  212. package/dist/harness/internal/createRun/index.d.ts +25 -0
  213. package/dist/harness/internal/createRun/index.d.ts.map +1 -0
  214. package/dist/harness/internal/createRun/index.js +163 -0
  215. package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
  216. package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
  217. package/dist/harness/internal/createRun/orchestration/constants.js +17 -0
  218. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts +23 -0
  219. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts.map +1 -0
  220. package/dist/harness/internal/createRun/orchestration/dispatch.js +135 -0
  221. package/dist/harness/internal/createRun/orchestration/effects.d.ts +135 -0
  222. package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
  223. package/dist/harness/internal/createRun/orchestration/effects.js +865 -0
  224. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +20 -0
  225. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
  226. package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +79 -0
  227. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
  228. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
  229. package/dist/harness/internal/createRun/orchestration/externalPhase.js +403 -0
  230. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
  231. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
  232. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +106 -0
  233. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts +32 -0
  234. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts.map +1 -0
  235. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.js +76 -0
  236. package/dist/harness/internal/createRun/orchestration/index.d.ts +29 -0
  237. package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
  238. package/dist/harness/internal/createRun/orchestration/index.js +370 -0
  239. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
  240. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
  241. package/dist/harness/internal/createRun/orchestration/internalPhase.js +656 -0
  242. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +27 -0
  243. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
  244. package/dist/harness/internal/createRun/orchestration/internalTools.js +264 -0
  245. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
  246. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
  247. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
  248. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
  249. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
  250. package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
  251. package/dist/harness/internal/createRun/orchestration/types.d.ts +48 -0
  252. package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
  253. package/dist/harness/internal/createRun/orchestration/types.js +2 -0
  254. package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
  255. package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
  256. package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
  257. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts +4 -0
  258. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts.map +1 -0
  259. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.js +36 -0
  260. package/dist/harness/internal/createRun/output.d.ts +40 -0
  261. package/dist/harness/internal/createRun/output.d.ts.map +1 -0
  262. package/dist/harness/internal/createRun/output.js +467 -0
  263. package/dist/harness/internal/createRun/pi.d.ts +10 -0
  264. package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
  265. package/dist/harness/internal/createRun/pi.js +35 -0
  266. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
  267. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
  268. package/dist/harness/internal/createRun/planProcess/agentOutput.js +113 -0
  269. package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
  270. package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
  271. package/dist/harness/internal/createRun/planProcess/delegation.js +176 -0
  272. package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
  273. package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
  274. package/dist/harness/internal/createRun/planProcess/external.js +139 -0
  275. package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
  276. package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
  277. package/dist/harness/internal/createRun/planProcess/index.js +24 -0
  278. package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
  279. package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
  280. package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
  281. package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
  282. package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
  283. package/dist/harness/internal/createRun/planProcess/phase.js +424 -0
  284. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
  285. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
  286. package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -0
  287. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
  288. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
  289. package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
  290. package/dist/harness/internal/createRun/planProcess/prompts.d.ts +22 -0
  291. package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
  292. package/dist/harness/internal/createRun/planProcess/prompts.js +239 -0
  293. package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
  294. package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
  295. package/dist/harness/internal/createRun/planProcess/recovery.js +205 -0
  296. package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
  297. package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
  298. package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
  299. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
  300. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
  301. package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
  302. package/dist/harness/internal/createRun/planProcess/validation.d.ts +4 -0
  303. package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
  304. package/dist/harness/internal/createRun/planProcess/validation.js +260 -0
  305. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +13 -0
  306. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
  307. package/dist/harness/internal/createRun/planProcess/validationSource.js +345 -0
  308. package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
  309. package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
  310. package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
  311. package/dist/harness/internal/createRun/prompts.d.ts +59 -0
  312. package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
  313. package/dist/harness/internal/createRun/prompts.js +427 -0
  314. package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
  315. package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
  316. package/dist/harness/internal/createRun/resumeState.js +133 -0
  317. package/dist/harness/internal/createRun/utils.d.ts +184 -0
  318. package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
  319. package/dist/harness/internal/createRun/utils.js +218 -0
  320. package/dist/harness/internal.d.ts +13 -0
  321. package/dist/harness/internal.d.ts.map +1 -0
  322. package/dist/harness/internal.js +149 -0
  323. package/dist/harness/invoker/launch.d.ts +20 -0
  324. package/dist/harness/invoker/launch.d.ts.map +1 -0
  325. package/dist/harness/invoker/launch.js +23 -0
  326. package/dist/harness/invoker/processControl.d.ts +11 -0
  327. package/dist/harness/invoker/processControl.d.ts.map +1 -0
  328. package/dist/harness/invoker/processControl.js +50 -0
  329. package/dist/harness/invoker.d.ts +44 -0
  330. package/dist/harness/invoker.d.ts.map +1 -0
  331. package/dist/harness/invoker.js +276 -0
  332. package/dist/harness/modeSelector.d.ts +50 -0
  333. package/dist/harness/modeSelector.d.ts.map +1 -0
  334. package/dist/harness/modeSelector.js +124 -0
  335. package/dist/harness/modelSelection.d.ts +37 -0
  336. package/dist/harness/modelSelection.d.ts.map +1 -0
  337. package/dist/harness/modelSelection.js +81 -0
  338. package/dist/harness/operatorCommands.d.ts +38 -0
  339. package/dist/harness/operatorCommands.d.ts.map +1 -0
  340. package/dist/harness/operatorCommands.js +118 -0
  341. package/dist/harness/piSecureSandbox.d.ts +8 -0
  342. package/dist/harness/piSecureSandbox.d.ts.map +1 -0
  343. package/dist/harness/piSecureSandbox.js +366 -0
  344. package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
  345. package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
  346. package/dist/harness/piSecureSandboxTypes.js +6 -0
  347. package/dist/harness/piWrapper/compaction.d.ts +13 -0
  348. package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
  349. package/dist/harness/piWrapper/compaction.js +38 -0
  350. package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
  351. package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
  352. package/dist/harness/piWrapper/instructionPrompts.js +97 -0
  353. package/dist/harness/piWrapper/moduleSupport.d.ts +78 -0
  354. package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
  355. package/dist/harness/piWrapper/moduleSupport.js +207 -0
  356. package/dist/harness/piWrapper.d.ts +82 -0
  357. package/dist/harness/piWrapper.d.ts.map +1 -0
  358. package/dist/harness/piWrapper.js +406 -0
  359. package/dist/harness/planMode.d.ts +68 -0
  360. package/dist/harness/planMode.d.ts.map +1 -0
  361. package/dist/harness/planMode.js +145 -0
  362. package/dist/harness/selectionPolicies.d.ts +29 -0
  363. package/dist/harness/selectionPolicies.d.ts.map +1 -0
  364. package/dist/harness/selectionPolicies.js +165 -0
  365. package/dist/harness/types.d.ts +276 -0
  366. package/dist/harness/types.d.ts.map +1 -0
  367. package/dist/harness/types.js +34 -0
  368. package/dist/index.d.ts +16 -0
  369. package/dist/index.d.ts.map +1 -0
  370. package/dist/index.js +54 -0
  371. package/dist/interaction/askUserQuestion/core.d.ts +8 -0
  372. package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
  373. package/dist/interaction/askUserQuestion/core.js +112 -0
  374. package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
  375. package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
  376. package/dist/interaction/askUserQuestion/terminal.js +128 -0
  377. package/dist/interaction/askUserQuestion.d.ts +10 -0
  378. package/dist/interaction/askUserQuestion.d.ts.map +1 -0
  379. package/dist/interaction/askUserQuestion.js +295 -0
  380. package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
  381. package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
  382. package/dist/interaction/askUserQuestionTypes.js +6 -0
  383. package/dist/interaction/index.d.ts +8 -0
  384. package/dist/interaction/index.d.ts.map +1 -0
  385. package/dist/interaction/index.js +28 -0
  386. package/dist/interaction/interactionRouter.d.ts +25 -0
  387. package/dist/interaction/interactionRouter.d.ts.map +1 -0
  388. package/dist/interaction/interactionRouter.js +55 -0
  389. package/dist/interaction/model-switch.d.ts +16 -0
  390. package/dist/interaction/model-switch.d.ts.map +1 -0
  391. package/dist/interaction/model-switch.js +41 -0
  392. package/dist/interaction/steering.d.ts +17 -0
  393. package/dist/interaction/steering.d.ts.map +1 -0
  394. package/dist/interaction/steering.js +41 -0
  395. package/dist/mcp/channels/allowlist.d.ts +19 -0
  396. package/dist/mcp/channels/allowlist.d.ts.map +1 -0
  397. package/dist/mcp/channels/allowlist.js +140 -0
  398. package/dist/mcp/channels/channelManager.d.ts +64 -0
  399. package/dist/mcp/channels/channelManager.d.ts.map +1 -0
  400. package/dist/mcp/channels/channelManager.js +137 -0
  401. package/dist/mcp/channels/inboundQueue.d.ts +47 -0
  402. package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
  403. package/dist/mcp/channels/inboundQueue.js +96 -0
  404. package/dist/mcp/channels/index.d.ts +16 -0
  405. package/dist/mcp/channels/index.d.ts.map +1 -0
  406. package/dist/mcp/channels/index.js +38 -0
  407. package/dist/mcp/channels/outbound.d.ts +33 -0
  408. package/dist/mcp/channels/outbound.d.ts.map +1 -0
  409. package/dist/mcp/channels/outbound.js +94 -0
  410. package/dist/mcp/channels/permissionRelay.d.ts +62 -0
  411. package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
  412. package/dist/mcp/channels/permissionRelay.js +159 -0
  413. package/dist/mcp/channels/types.d.ts +135 -0
  414. package/dist/mcp/channels/types.d.ts.map +1 -0
  415. package/dist/mcp/channels/types.js +16 -0
  416. package/dist/mcp/client/config.d.ts +28 -0
  417. package/dist/mcp/client/config.d.ts.map +1 -0
  418. package/dist/mcp/client/config.js +144 -0
  419. package/dist/mcp/client/executor.d.ts +30 -0
  420. package/dist/mcp/client/executor.d.ts.map +1 -0
  421. package/dist/mcp/client/executor.js +61 -0
  422. package/dist/mcp/client/index.d.ts +12 -0
  423. package/dist/mcp/client/index.d.ts.map +1 -0
  424. package/dist/mcp/client/index.js +27 -0
  425. package/dist/mcp/client/manager.d.ts +74 -0
  426. package/dist/mcp/client/manager.d.ts.map +1 -0
  427. package/dist/mcp/client/manager.js +215 -0
  428. package/dist/mcp/client/toolRegistry.d.ts +113 -0
  429. package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
  430. package/dist/mcp/client/toolRegistry.js +190 -0
  431. package/dist/mcp/client/types.d.ts +96 -0
  432. package/dist/mcp/client/types.d.ts.map +1 -0
  433. package/dist/mcp/client/types.js +15 -0
  434. package/dist/mcp/transport/index.d.ts +9 -0
  435. package/dist/mcp/transport/index.d.ts.map +1 -0
  436. package/dist/mcp/transport/index.js +13 -0
  437. package/dist/mcp/transport/session.d.ts +18 -0
  438. package/dist/mcp/transport/session.d.ts.map +1 -0
  439. package/dist/mcp/transport/session.js +78 -0
  440. package/dist/mcp/transport/types.d.ts +19 -0
  441. package/dist/mcp/transport/types.d.ts.map +1 -0
  442. package/dist/mcp/transport/types.js +7 -0
  443. package/dist/mcp/transport/websocket.d.ts +41 -0
  444. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  445. package/dist/mcp/transport/websocket.js +271 -0
  446. package/dist/observability/health.d.ts +19 -0
  447. package/dist/observability/health.d.ts.map +1 -0
  448. package/dist/observability/health.js +129 -0
  449. package/dist/observability/index.d.ts +7 -0
  450. package/dist/observability/index.d.ts.map +1 -0
  451. package/dist/observability/index.js +22 -0
  452. package/dist/observability/runStatus.d.ts +44 -0
  453. package/dist/observability/runStatus.d.ts.map +1 -0
  454. package/dist/observability/runStatus.js +169 -0
  455. package/dist/observability/timeline.d.ts +11 -0
  456. package/dist/observability/timeline.d.ts.map +1 -0
  457. package/dist/observability/timeline.js +176 -0
  458. package/dist/observability/types.d.ts +62 -0
  459. package/dist/observability/types.d.ts.map +1 -0
  460. package/dist/observability/types.js +8 -0
  461. package/dist/observability/webhooks.d.ts +68 -0
  462. package/dist/observability/webhooks.d.ts.map +1 -0
  463. package/dist/observability/webhooks.js +132 -0
  464. package/dist/plugins/index.d.ts +11 -0
  465. package/dist/plugins/index.d.ts.map +1 -0
  466. package/dist/plugins/index.js +18 -0
  467. package/dist/plugins/loader.d.ts +37 -0
  468. package/dist/plugins/loader.d.ts.map +1 -0
  469. package/dist/plugins/loader.js +112 -0
  470. package/dist/plugins/sandbox.d.ts +38 -0
  471. package/dist/plugins/sandbox.d.ts.map +1 -0
  472. package/dist/plugins/sandbox.js +109 -0
  473. package/dist/plugins/types.d.ts +27 -0
  474. package/dist/plugins/types.d.ts.map +1 -0
  475. package/dist/plugins/types.js +7 -0
  476. package/dist/plugins/version-check.d.ts +23 -0
  477. package/dist/plugins/version-check.d.ts.map +1 -0
  478. package/dist/plugins/version-check.js +70 -0
  479. package/dist/processes/index.d.ts +12 -0
  480. package/dist/processes/index.d.ts.map +1 -0
  481. package/dist/processes/index.js +15 -0
  482. package/dist/processes/recommender.d.ts +36 -0
  483. package/dist/processes/recommender.d.ts.map +1 -0
  484. package/dist/processes/recommender.js +73 -0
  485. package/dist/processes/scorer.d.ts +26 -0
  486. package/dist/processes/scorer.d.ts.map +1 -0
  487. package/dist/processes/scorer.js +104 -0
  488. package/dist/processes/types.d.ts +48 -0
  489. package/dist/processes/types.d.ts.map +1 -0
  490. package/dist/processes/types.js +9 -0
  491. package/dist/runtime/index.d.ts +3 -0
  492. package/dist/runtime/index.d.ts.map +1 -0
  493. package/dist/runtime/index.js +28 -0
  494. package/dist/seams/contract.d.ts +63 -0
  495. package/dist/seams/contract.d.ts.map +1 -0
  496. package/dist/seams/contract.js +141 -0
  497. package/dist/seams/index.d.ts +3 -0
  498. package/dist/seams/index.d.ts.map +1 -0
  499. package/dist/seams/index.js +8 -0
  500. package/dist/session/context.d.ts +22 -0
  501. package/dist/session/context.d.ts.map +1 -0
  502. package/dist/session/context.js +113 -0
  503. package/dist/session/continuityState.d.ts +39 -0
  504. package/dist/session/continuityState.d.ts.map +1 -0
  505. package/dist/session/continuityState.js +164 -0
  506. package/dist/session/cost.d.ts +72 -0
  507. package/dist/session/cost.d.ts.map +1 -0
  508. package/dist/session/cost.js +221 -0
  509. package/dist/session/discovery.d.ts +22 -0
  510. package/dist/session/discovery.d.ts.map +1 -0
  511. package/dist/session/discovery.js +35 -0
  512. package/dist/session/history.d.ts +30 -0
  513. package/dist/session/history.d.ts.map +1 -0
  514. package/dist/session/history.js +144 -0
  515. package/dist/session/index.d.ts +7 -0
  516. package/dist/session/index.d.ts.map +1 -0
  517. package/dist/session/index.js +70 -0
  518. package/dist/session/memoryExtraction.d.ts +65 -0
  519. package/dist/session/memoryExtraction.d.ts.map +1 -0
  520. package/dist/session/memoryExtraction.js +201 -0
  521. package/dist/session/parse.d.ts +45 -0
  522. package/dist/session/parse.d.ts.map +1 -0
  523. package/dist/session/parse.js +170 -0
  524. package/dist/session/persistence.d.ts +46 -0
  525. package/dist/session/persistence.d.ts.map +1 -0
  526. package/dist/session/persistence.js +180 -0
  527. package/dist/session/types.d.ts +267 -0
  528. package/dist/session/types.d.ts.map +1 -0
  529. package/dist/session/types.js +45 -0
  530. package/dist/session/write.d.ts +61 -0
  531. package/dist/session/write.d.ts.map +1 -0
  532. package/dist/session/write.js +213 -0
  533. package/dist/skills/chain.d.ts +31 -0
  534. package/dist/skills/chain.d.ts.map +1 -0
  535. package/dist/skills/chain.js +113 -0
  536. package/dist/skills/discovery.d.ts +34 -0
  537. package/dist/skills/discovery.d.ts.map +1 -0
  538. package/dist/skills/discovery.js +185 -0
  539. package/dist/skills/index.d.ts +12 -0
  540. package/dist/skills/index.d.ts.map +1 -0
  541. package/dist/skills/index.js +18 -0
  542. package/dist/skills/router.d.ts +35 -0
  543. package/dist/skills/router.d.ts.map +1 -0
  544. package/dist/skills/router.js +143 -0
  545. package/dist/skills/types.d.ts +33 -0
  546. package/dist/skills/types.d.ts.map +1 -0
  547. package/dist/skills/types.js +5 -0
  548. package/dist/storage/atomic.d.ts +2 -0
  549. package/dist/storage/atomic.d.ts.map +1 -0
  550. package/dist/storage/atomic.js +54 -0
  551. package/dist/storage/clock.d.ts +2 -0
  552. package/dist/storage/clock.d.ts.map +1 -0
  553. package/dist/storage/clock.js +6 -0
  554. package/dist/storage/index.d.ts +7 -0
  555. package/dist/storage/index.d.ts.map +1 -0
  556. package/dist/storage/index.js +9 -0
  557. package/dist/storage/journalWatcher.d.ts +24 -0
  558. package/dist/storage/journalWatcher.d.ts.map +1 -0
  559. package/dist/storage/journalWatcher.js +173 -0
  560. package/dist/storage/paths.d.ts +5 -0
  561. package/dist/storage/paths.d.ts.map +1 -0
  562. package/dist/storage/paths.js +26 -0
  563. package/dist/storage/snapshotState.d.ts +10 -0
  564. package/dist/storage/snapshotState.d.ts.map +1 -0
  565. package/dist/storage/snapshotState.js +15 -0
  566. package/dist/storage/storeTaskArtifacts.d.ts +6 -0
  567. package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
  568. package/dist/storage/storeTaskArtifacts.js +55 -0
  569. package/dist/storage/types.d.ts +21 -0
  570. package/dist/storage/types.d.ts.map +1 -0
  571. package/dist/storage/types.js +2 -0
  572. package/dist/tasks/crud.d.ts +33 -0
  573. package/dist/tasks/crud.d.ts.map +1 -0
  574. package/dist/tasks/crud.js +150 -0
  575. package/dist/tasks/index.d.ts +2 -0
  576. package/dist/tasks/index.d.ts.map +1 -0
  577. package/dist/tasks/index.js +9 -0
  578. package/dist/trust/harness-signing.d.ts +15 -0
  579. package/dist/trust/harness-signing.d.ts.map +1 -0
  580. package/dist/trust/harness-signing.js +46 -0
  581. package/dist/trust/key-store.d.ts +15 -0
  582. package/dist/trust/key-store.d.ts.map +1 -0
  583. package/dist/trust/key-store.js +66 -0
  584. package/package.json +161 -0
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BackgroundEffectTracker = void 0;
4
+ /**
5
+ * Tracks background effects that have been dispatched but not yet resolved.
6
+ * Supports polling, timeout checking, and collecting completed results.
7
+ */
8
+ class BackgroundEffectTracker {
9
+ effects = new Map();
10
+ /**
11
+ * Start tracking a dispatched background effect.
12
+ */
13
+ track(entry) {
14
+ this.effects.set(entry.effectId, {
15
+ entry,
16
+ completed: false,
17
+ });
18
+ }
19
+ /**
20
+ * Get all currently tracked (non-completed) effects.
21
+ */
22
+ getAll() {
23
+ const result = [];
24
+ for (const tracked of this.effects.values()) {
25
+ if (!tracked.completed) {
26
+ result.push(tracked.entry);
27
+ }
28
+ }
29
+ return result;
30
+ }
31
+ /**
32
+ * Get a tracked effect by effectId, or undefined if not found.
33
+ */
34
+ get(effectId) {
35
+ const tracked = this.effects.get(effectId);
36
+ if (!tracked || tracked.completed)
37
+ return undefined;
38
+ return tracked.entry;
39
+ }
40
+ /**
41
+ * Poll a background effect's status. Updates lastPolledAt.
42
+ * Throws if the effectId is not tracked.
43
+ */
44
+ poll(effectId) {
45
+ const tracked = this.effects.get(effectId);
46
+ if (!tracked) {
47
+ throw new Error(`Background effect not found: ${effectId}`);
48
+ }
49
+ const now = new Date().toISOString();
50
+ tracked.lastPolledAt = now;
51
+ return {
52
+ effectId,
53
+ state: tracked.completed ? "completed" : "running",
54
+ lastPolledAt: now,
55
+ };
56
+ }
57
+ /**
58
+ * Mark a background effect as completed with a result.
59
+ */
60
+ markCompleted(effectId, result) {
61
+ const tracked = this.effects.get(effectId);
62
+ if (!tracked) {
63
+ throw new Error(`Background effect not found: ${effectId}`);
64
+ }
65
+ tracked.completed = true;
66
+ tracked.result = result;
67
+ }
68
+ /**
69
+ * Collect and remove all completed effects from the tracker.
70
+ */
71
+ collectCompleted() {
72
+ const completed = [];
73
+ for (const [id, tracked] of this.effects.entries()) {
74
+ if (tracked.completed) {
75
+ completed.push({
76
+ effectId: id,
77
+ result: tracked.result,
78
+ });
79
+ this.effects.delete(id);
80
+ }
81
+ }
82
+ return completed;
83
+ }
84
+ /**
85
+ * Check all tracked effects for timeout. Effects that have exceeded their
86
+ * timeoutMs are marked as completed with an error.
87
+ */
88
+ checkTimeouts() {
89
+ const now = Date.now();
90
+ for (const tracked of this.effects.values()) {
91
+ if (tracked.completed)
92
+ continue;
93
+ const timeoutMs = tracked.entry.timeoutMs;
94
+ if (timeoutMs === undefined)
95
+ continue;
96
+ const dispatched = new Date(tracked.entry.dispatchedAt).getTime();
97
+ if (now - dispatched >= timeoutMs) {
98
+ tracked.completed = true;
99
+ tracked.result = {
100
+ status: "error",
101
+ error: `Background effect '${tracked.entry.effectId}' timed out after ${timeoutMs}ms`,
102
+ };
103
+ }
104
+ }
105
+ }
106
+ }
107
+ exports.BackgroundEffectTracker = BackgroundEffectTracker;
@@ -0,0 +1,3 @@
1
+ export declare function normalizeBuiltInHarnessName(harnessName: string): string;
2
+ export declare function isBuiltInHarnessName(harnessName: string): boolean;
3
+ //# sourceMappingURL=builtInHarness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtInHarness.d.ts","sourceRoot":"","sources":["../../src/harness/builtInHarness.ts"],"names":[],"mappings":"AAIA,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMvE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGjE"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeBuiltInHarnessName = normalizeBuiltInHarnessName;
4
+ exports.isBuiltInHarnessName = isBuiltInHarnessName;
5
+ const BUILT_IN_HARNESS_ALIASES = {
6
+ internal: "agent-core",
7
+ };
8
+ function normalizeBuiltInHarnessName(harnessName) {
9
+ const normalized = harnessName.trim();
10
+ if (!normalized) {
11
+ return normalized;
12
+ }
13
+ return BUILT_IN_HARNESS_ALIASES[normalized] ?? normalized;
14
+ }
15
+ function isBuiltInHarnessName(harnessName) {
16
+ const normalized = normalizeBuiltInHarnessName(harnessName);
17
+ return normalized === "agent-core" || normalized === "oh-my-pi";
18
+ }
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Capability-based task routing (GAP-HADAPT-001).
3
+ *
4
+ * Scores harness candidates against task requirements and selects
5
+ * the best match. Pure functions, no side effects.
6
+ */
7
+ import type { HarnessCapability, HarnessDiscoveryResult } from "./types";
8
+ /** What a task needs from a harness. */
9
+ export interface TaskRequirements {
10
+ /** Capabilities that MUST be present (missing = disqualified). */
11
+ requiredCapabilities: HarnessCapability[];
12
+ /** Preferred model name (exact match > partial > none). */
13
+ preferredModel?: string;
14
+ /** Tools the task needs available. */
15
+ requiredTools: string[];
16
+ /** Permissions the task needs. */
17
+ requiredPermissions: string[];
18
+ /** Preferred harness name (soft preference, not hard requirement). */
19
+ preferredHarness?: string;
20
+ }
21
+ /** A harness candidate for routing. */
22
+ export interface HarnessCandidate {
23
+ name: string;
24
+ capabilities: HarnessCapability[];
25
+ supportedModels: string[];
26
+ availableTools: string[];
27
+ permissions: string[];
28
+ }
29
+ /** Score breakdown for a single candidate. */
30
+ export interface ScoreBreakdown {
31
+ capabilities: number;
32
+ model: number;
33
+ tools: number;
34
+ permissions: number;
35
+ }
36
+ /** Per-candidate score entry. */
37
+ export interface CandidateScore {
38
+ name: string;
39
+ total: number;
40
+ breakdown: ScoreBreakdown;
41
+ disqualified: boolean;
42
+ }
43
+ /** Result of routing — null if no suitable candidate found. */
44
+ export interface RoutingResult {
45
+ selected: HarnessCandidate;
46
+ score: number;
47
+ scoreBreakdown: ScoreBreakdown;
48
+ scores: CandidateScore[];
49
+ candidates: HarnessCandidate[];
50
+ }
51
+ /**
52
+ * Select the best harness candidate for a set of task requirements.
53
+ * Returns null if no candidate meets the threshold (50).
54
+ */
55
+ export declare function selectHarness(requirements: Partial<TaskRequirements>, candidates: HarnessCandidate[]): RoutingResult | null;
56
+ /**
57
+ * Enrich discovery results with capabilities from the known harness registry.
58
+ * Merges discovered capabilities with known capabilities, deduplicating.
59
+ */
60
+ export declare function enrichDiscoveryWithCapabilities(discoveries: HarnessDiscoveryResult[]): HarnessDiscoveryResult[];
61
+ interface TaskDefLike {
62
+ kind: string;
63
+ execution?: {
64
+ harness?: string;
65
+ model?: string;
66
+ permissions?: string[];
67
+ [key: string]: unknown;
68
+ };
69
+ [key: string]: unknown;
70
+ }
71
+ /**
72
+ * Build TaskRequirements from a TaskDef's execution hints and kind.
73
+ */
74
+ export declare function buildTaskRequirements(taskDef: Partial<TaskDefLike>): TaskRequirements;
75
+ export {};
76
+ //# sourceMappingURL=capabilityRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilityRouter.d.ts","sourceRoot":"","sources":["../../src/harness/capabilityRouter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAQzE,wCAAwC;AACxC,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;IAC1C,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kCAAkC;IAClC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,+DAA+D;AAC/D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAgGD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACvC,UAAU,EAAE,gBAAgB,EAAE,GAC7B,aAAa,GAAG,IAAI,CAwCtB;AAmBD;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,sBAAsB,EAAE,GACpC,sBAAsB,EAAE,CAQ1B;AAMD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,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;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,gBAAgB,CAmBlB"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /**
3
+ * Capability-based task routing (GAP-HADAPT-001).
4
+ *
5
+ * Scores harness candidates against task requirements and selects
6
+ * the best match. Pure functions, no side effects.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.selectHarness = selectHarness;
10
+ exports.enrichDiscoveryWithCapabilities = enrichDiscoveryWithCapabilities;
11
+ exports.buildTaskRequirements = buildTaskRequirements;
12
+ const types_1 = require("./types");
13
+ const babysitter_sdk_1 = require("@a5c-ai/babysitter-sdk");
14
+ // ---------------------------------------------------------------------------
15
+ // Scoring weights
16
+ // ---------------------------------------------------------------------------
17
+ const WEIGHT_CAPABILITIES = 40;
18
+ const WEIGHT_MODEL = 25;
19
+ const WEIGHT_TOOLS = 20;
20
+ const WEIGHT_PERMISSIONS = 15;
21
+ const SCORE_THRESHOLD = 50;
22
+ // ---------------------------------------------------------------------------
23
+ // Core routing
24
+ // ---------------------------------------------------------------------------
25
+ function scoreCandidate(requirements, candidate) {
26
+ const breakdown = {
27
+ capabilities: 0,
28
+ model: 0,
29
+ tools: 0,
30
+ permissions: 0,
31
+ };
32
+ // -- Capabilities (hard requirement: all must be present) --
33
+ const reqCaps = requirements.requiredCapabilities;
34
+ if (reqCaps.length === 0) {
35
+ breakdown.capabilities = WEIGHT_CAPABILITIES;
36
+ }
37
+ else {
38
+ const hasAll = reqCaps.every((c) => candidate.capabilities.includes(c));
39
+ if (!hasAll) {
40
+ return { name: candidate.name, total: 0, breakdown, disqualified: true };
41
+ }
42
+ breakdown.capabilities = WEIGHT_CAPABILITIES;
43
+ }
44
+ // -- Model (exact > partial family > no match) --
45
+ if (!requirements.preferredModel) {
46
+ breakdown.model = WEIGHT_MODEL;
47
+ }
48
+ else {
49
+ const preferred = requirements.preferredModel.toLowerCase();
50
+ const hasExact = candidate.supportedModels.some((m) => m.toLowerCase() === preferred);
51
+ if (hasExact) {
52
+ breakdown.model = WEIGHT_MODEL;
53
+ }
54
+ else {
55
+ // Partial: same family prefix (e.g., "claude-opus" matches "claude-opus-4-0")
56
+ const family = preferred.split("-").slice(0, 2).join("-");
57
+ const hasFamily = candidate.supportedModels.some((m) => m.toLowerCase().startsWith(family));
58
+ breakdown.model = hasFamily ? Math.round(WEIGHT_MODEL * 0.6) : 0;
59
+ }
60
+ }
61
+ // -- Tools (ratio of matched) --
62
+ const reqTools = requirements.requiredTools;
63
+ if (reqTools.length === 0) {
64
+ breakdown.tools = WEIGHT_TOOLS;
65
+ }
66
+ else {
67
+ const matched = reqTools.filter((t) => candidate.availableTools.some((at) => at.toLowerCase() === t.toLowerCase())).length;
68
+ breakdown.tools = Math.round((matched / reqTools.length) * WEIGHT_TOOLS);
69
+ }
70
+ // -- Permissions (ratio of matched) --
71
+ const reqPerms = requirements.requiredPermissions;
72
+ if (reqPerms.length === 0) {
73
+ breakdown.permissions = WEIGHT_PERMISSIONS;
74
+ }
75
+ else {
76
+ const matched = reqPerms.filter((p) => candidate.permissions.some((cp) => cp.toLowerCase() === p.toLowerCase())).length;
77
+ breakdown.permissions = Math.round((matched / reqPerms.length) * WEIGHT_PERMISSIONS);
78
+ }
79
+ const total = breakdown.capabilities +
80
+ breakdown.model +
81
+ breakdown.tools +
82
+ breakdown.permissions;
83
+ return { name: candidate.name, total, breakdown, disqualified: false };
84
+ }
85
+ /**
86
+ * Select the best harness candidate for a set of task requirements.
87
+ * Returns null if no candidate meets the threshold (50).
88
+ */
89
+ function selectHarness(requirements, candidates) {
90
+ if (candidates.length === 0)
91
+ return null;
92
+ const fullReqs = {
93
+ requiredCapabilities: requirements.requiredCapabilities ?? [],
94
+ preferredModel: requirements.preferredModel,
95
+ requiredTools: requirements.requiredTools ?? [],
96
+ requiredPermissions: requirements.requiredPermissions ?? [],
97
+ preferredHarness: requirements.preferredHarness,
98
+ };
99
+ const scores = candidates.map((c) => scoreCandidate(fullReqs, c));
100
+ // Filter out disqualified candidates
101
+ const eligible = scores.filter((s) => !s.disqualified);
102
+ if (eligible.length === 0)
103
+ return null;
104
+ // Sort by total score descending; preferred harness breaks ties
105
+ eligible.sort((a, b) => {
106
+ if (b.total !== a.total)
107
+ return b.total - a.total;
108
+ // Tiebreaker: prefer the harness named in preferredHarness
109
+ if (fullReqs.preferredHarness) {
110
+ if (a.name === fullReqs.preferredHarness)
111
+ return -1;
112
+ if (b.name === fullReqs.preferredHarness)
113
+ return 1;
114
+ }
115
+ return 0;
116
+ });
117
+ const best = eligible[0];
118
+ if (best.total < SCORE_THRESHOLD)
119
+ return null;
120
+ const selected = candidates.find((c) => c.name === best.name);
121
+ return {
122
+ selected,
123
+ score: best.total,
124
+ scoreBreakdown: best.breakdown,
125
+ scores,
126
+ candidates,
127
+ };
128
+ }
129
+ // ---------------------------------------------------------------------------
130
+ // Discovery enrichment
131
+ // ---------------------------------------------------------------------------
132
+ /** Known capability mappings for harnesses not captured in discovery. */
133
+ const KNOWN_CAPABILITY_MAP = {};
134
+ // Build map from KNOWN_HARNESSES
135
+ for (const spec of babysitter_sdk_1.KNOWN_HARNESSES) {
136
+ // All known harnesses support Programmatic invocation
137
+ const caps = [...spec.capabilities];
138
+ if (!caps.includes(types_1.HarnessCapability.Programmatic)) {
139
+ caps.unshift(types_1.HarnessCapability.Programmatic);
140
+ }
141
+ KNOWN_CAPABILITY_MAP[spec.name] = caps;
142
+ }
143
+ /**
144
+ * Enrich discovery results with capabilities from the known harness registry.
145
+ * Merges discovered capabilities with known capabilities, deduplicating.
146
+ */
147
+ function enrichDiscoveryWithCapabilities(discoveries) {
148
+ return discoveries.map((d) => {
149
+ const known = KNOWN_CAPABILITY_MAP[d.name];
150
+ if (!known)
151
+ return d;
152
+ const merged = [...new Set([...d.capabilities, ...known])];
153
+ return { ...d, capabilities: merged };
154
+ });
155
+ }
156
+ /**
157
+ * Build TaskRequirements from a TaskDef's execution hints and kind.
158
+ */
159
+ function buildTaskRequirements(taskDef) {
160
+ const exec = taskDef.execution ?? {};
161
+ const requiredCapabilities = [];
162
+ // Map task kind to required capabilities
163
+ if (taskDef.kind === "breakpoint") {
164
+ requiredCapabilities.push(types_1.HarnessCapability.HeadlessPrompt);
165
+ }
166
+ if (taskDef.kind === "orchestrator_task") {
167
+ requiredCapabilities.push(types_1.HarnessCapability.Programmatic);
168
+ }
169
+ return {
170
+ requiredCapabilities,
171
+ preferredModel: exec.model,
172
+ requiredTools: [],
173
+ requiredPermissions: (exec.permissions) ?? [],
174
+ preferredHarness: exec.harness,
175
+ };
176
+ }
@@ -0,0 +1,13 @@
1
+ import type { ExtensionRegistry } from '@a5c-ai/genty-core/extensions';
2
+ export interface BridgedToolDefinition {
3
+ name: string;
4
+ description: string;
5
+ execute: (params: Record<string, unknown>) => Promise<{
6
+ content: Array<{
7
+ type: 'text';
8
+ text: string;
9
+ }>;
10
+ }>;
11
+ }
12
+ export declare function bridgeExtensionTools(registry: ExtensionRegistry): BridgedToolDefinition[];
13
+ //# sourceMappingURL=extensionToolBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionToolBridge.d.ts","sourceRoot":"","sources":["../../src/harness/extensionToolBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAC3G;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,qBAAqB,EAAE,CAkBzF"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bridgeExtensionTools = bridgeExtensionTools;
4
+ function bridgeExtensionTools(registry) {
5
+ return registry.getAllTools().map((extTool) => ({
6
+ name: extTool.name,
7
+ description: extTool.description,
8
+ execute: async (params) => {
9
+ try {
10
+ const result = await extTool.handler(params);
11
+ return {
12
+ content: [{ type: 'text', text: typeof result === 'string' ? result : JSON.stringify(result) }],
13
+ };
14
+ }
15
+ catch (err) {
16
+ const message = err instanceof Error ? err.message : String(err);
17
+ return {
18
+ content: [{ type: 'text', text: `Extension tool error: ${message}` }],
19
+ };
20
+ }
21
+ },
22
+ }));
23
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * GAP-HADAPT-004: Harness Fallback Chains.
3
+ *
4
+ * Defines ordered fallback sequences for harness resolution.
5
+ * When a primary harness fails or is unavailable, the chain
6
+ * determines the next harness to try.
7
+ */
8
+ export interface FallbackChain {
9
+ /** Ordered list of harness names (primary first). */
10
+ harnesses: string[];
11
+ /** Maximum number of retries (fallback attempts). */
12
+ maxRetries: number;
13
+ }
14
+ export interface FallbackChainOptions {
15
+ /** Maximum retries. Clamped to chain.length - 1. */
16
+ maxRetries?: number;
17
+ }
18
+ export interface FallbackResolution {
19
+ /** The harness to use, or null if all exhausted. */
20
+ harness: string | null;
21
+ /** 1-based attempt number. */
22
+ attempt: number;
23
+ /** Whether this is a fallback (not the primary). */
24
+ isFallback: boolean;
25
+ /** Whether all harnesses in the chain have been exhausted. */
26
+ exhausted: boolean;
27
+ }
28
+ /**
29
+ * Create a fallback chain from an ordered list of harness names.
30
+ *
31
+ * Duplicates are removed (first occurrence wins).
32
+ * maxRetries defaults to chain.length - 1 (try every harness once).
33
+ */
34
+ export declare function createFallbackChain(harnesses: string[], options?: FallbackChainOptions): FallbackChain;
35
+ /**
36
+ * Resolve which harness to use given a chain and previously failed harnesses.
37
+ *
38
+ * Returns the first harness in the chain that hasn't failed yet,
39
+ * respecting the maxRetries limit.
40
+ */
41
+ export declare function resolveFallbackHarness(chain: FallbackChain, failedHarnesses: string[]): FallbackResolution;
42
+ //# sourceMappingURL=fallbackChains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallbackChains.d.ts","sourceRoot":"","sources":["../../src/harness/fallbackChains.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,UAAU,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;CACpB;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAYf;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,MAAM,EAAE,GACxB,kBAAkB,CAiCpB"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-HADAPT-004: Harness Fallback Chains.
4
+ *
5
+ * Defines ordered fallback sequences for harness resolution.
6
+ * When a primary harness fails or is unavailable, the chain
7
+ * determines the next harness to try.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.createFallbackChain = createFallbackChain;
11
+ exports.resolveFallbackHarness = resolveFallbackHarness;
12
+ // ---------------------------------------------------------------------------
13
+ // Core
14
+ // ---------------------------------------------------------------------------
15
+ /**
16
+ * Create a fallback chain from an ordered list of harness names.
17
+ *
18
+ * Duplicates are removed (first occurrence wins).
19
+ * maxRetries defaults to chain.length - 1 (try every harness once).
20
+ */
21
+ function createFallbackChain(harnesses, options) {
22
+ // Deduplicate preserving order
23
+ const unique = [...new Set(harnesses)];
24
+ const maxPossible = Math.max(0, unique.length - 1);
25
+ const maxRetries = options?.maxRetries !== undefined
26
+ ? Math.min(options.maxRetries, maxPossible)
27
+ : maxPossible;
28
+ return {
29
+ harnesses: unique,
30
+ maxRetries,
31
+ };
32
+ }
33
+ /**
34
+ * Resolve which harness to use given a chain and previously failed harnesses.
35
+ *
36
+ * Returns the first harness in the chain that hasn't failed yet,
37
+ * respecting the maxRetries limit.
38
+ */
39
+ function resolveFallbackHarness(chain, failedHarnesses) {
40
+ const failedSet = new Set(failedHarnesses);
41
+ const attempt = failedHarnesses.length + 1;
42
+ // Check retry limit: attempts beyond maxRetries + 1 are exhausted
43
+ if (failedHarnesses.length > chain.maxRetries) {
44
+ return {
45
+ harness: null,
46
+ attempt,
47
+ isFallback: attempt > 1,
48
+ exhausted: true,
49
+ };
50
+ }
51
+ // Find the first non-failed harness in chain order
52
+ for (const harness of chain.harnesses) {
53
+ if (!failedSet.has(harness)) {
54
+ return {
55
+ harness,
56
+ attempt,
57
+ isFallback: harness !== chain.harnesses[0],
58
+ exhausted: false,
59
+ };
60
+ }
61
+ }
62
+ // All harnesses in the chain have failed
63
+ return {
64
+ harness: null,
65
+ attempt,
66
+ isFallback: true,
67
+ exhausted: true,
68
+ };
69
+ }
@@ -0,0 +1,31 @@
1
+ import { ExtensionRegistry } from '@a5c-ai/genty-core/extensions';
2
+ import type { IdentityKeyPair } from '@a5c-ai/genty-core/trust';
3
+ import { type DynamicContextPipeline } from '../context/dynamic.js';
4
+ import { type LoadedInstructions } from '../context/instructions.js';
5
+ import { SteeringQueue } from '../interaction/steering.js';
6
+ import { type ModelSwitchState } from '../interaction/model-switch.js';
7
+ export interface GentySessionContextOptions {
8
+ workspace: string;
9
+ model?: string;
10
+ provider?: string;
11
+ agentId?: string;
12
+ sessionId: string;
13
+ isolated?: boolean;
14
+ }
15
+ export interface GentySessionContext {
16
+ readonly agentId: string;
17
+ readonly sessionId: string;
18
+ readonly keyPair: IdentityKeyPair;
19
+ readonly extensionRegistry: ExtensionRegistry;
20
+ readonly dynamicContext: DynamicContextPipeline;
21
+ readonly instructions: LoadedInstructions;
22
+ readonly steeringQueue: SteeringQueue;
23
+ readonly modelSwitch: ModelSwitchState;
24
+ readonly extensionLoadResult: {
25
+ activated: string[];
26
+ failed: string[];
27
+ };
28
+ }
29
+ export declare function createGentySessionContext(opts: GentySessionContextOptions): Promise<GentySessionContext>;
30
+ export declare function destroyGentySessionContext(ctx: GentySessionContext): Promise<void>;
31
+ //# sourceMappingURL=gentySessionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gentySessionContext.d.ts","sourceRoot":"","sources":["../../src/harness/gentySessionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAgC,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAG/F,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACzE;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CA8C9B;AAED,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createGentySessionContext = createGentySessionContext;
4
+ exports.destroyGentySessionContext = destroyGentySessionContext;
5
+ const extensions_1 = require("@a5c-ai/genty-core/extensions");
6
+ const key_store_js_1 = require("../trust/key-store.js");
7
+ const dynamic_js_1 = require("../context/dynamic.js");
8
+ const instructions_js_1 = require("../context/instructions.js");
9
+ const steering_js_1 = require("../interaction/steering.js");
10
+ const model_switch_js_1 = require("../interaction/model-switch.js");
11
+ const discovery_js_1 = require("../extensions/discovery.js");
12
+ async function createGentySessionContext(opts) {
13
+ const agentId = opts.agentId ?? `genty-${opts.sessionId}`;
14
+ // 1. Key persistence — load or create agent key
15
+ const storedKey = (0, key_store_js_1.loadOrCreate)(agentId, `session:${opts.sessionId}`);
16
+ // 2. Extension registry
17
+ const extensionRegistry = new extensions_1.ExtensionRegistry();
18
+ // 3. Dynamic context pipeline
19
+ const dynamicContext = (0, dynamic_js_1.createDynamicContextPipeline)();
20
+ // 4. Instructions loader (AGENTS.md / SYSTEM.md)
21
+ const instructions = (0, instructions_js_1.loadInstructions)(opts.workspace);
22
+ // 5. Steering queue
23
+ const steeringQueue = new steering_js_1.SteeringQueue();
24
+ // 6. Model switch state
25
+ const modelSwitch = (0, model_switch_js_1.createModelSwitchState)(opts.model ?? 'claude-sonnet-4-6', opts.provider ?? 'anthropic');
26
+ // 7. Discover and activate extensions (unless isolated)
27
+ let extensionLoadResult = { activated: [], failed: [] };
28
+ if (!opts.isolated) {
29
+ extensionLoadResult = await (0, discovery_js_1.activateDiscoveredExtensions)(extensionRegistry);
30
+ // Wire extension context providers into the dynamic context pipeline
31
+ for (const provider of extensionRegistry.getContextProviders()) {
32
+ dynamicContext.addProvider(provider);
33
+ }
34
+ }
35
+ return {
36
+ agentId,
37
+ sessionId: opts.sessionId,
38
+ keyPair: storedKey.keyPair,
39
+ extensionRegistry,
40
+ dynamicContext,
41
+ instructions,
42
+ steeringQueue,
43
+ modelSwitch,
44
+ extensionLoadResult,
45
+ };
46
+ }
47
+ async function destroyGentySessionContext(ctx) {
48
+ await ctx.extensionRegistry.deactivateAll();
49
+ }
@@ -0,0 +1,16 @@
1
+ import type { GentySessionContext } from './gentySessionContext.js';
2
+ import type { AgentCoreSessionOptions } from './types.js';
3
+ import type { TrustContext } from '../trust/harness-signing.js';
4
+ export declare function applyInstructionsToSessionOptions(ctx: GentySessionContext, opts: AgentCoreSessionOptions): AgentCoreSessionOptions;
5
+ export declare function applyExtensionToolsToSessionOptions(ctx: GentySessionContext, opts: AgentCoreSessionOptions): AgentCoreSessionOptions;
6
+ export declare function applyDynamicContextToMessages(ctx: GentySessionContext, messages: Array<{
7
+ role: string;
8
+ content: string;
9
+ }>, turnNumber: number): Promise<Array<{
10
+ role: string;
11
+ content: string;
12
+ }>>;
13
+ export declare function drainSteeringMessages(ctx: GentySessionContext): string | undefined;
14
+ export declare function getTrustContext(ctx: GentySessionContext): TrustContext;
15
+ export declare function getCurrentModel(ctx: GentySessionContext): string;
16
+ //# sourceMappingURL=gentySessionIntegration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gentySessionIntegration.d.ts","sourceRoot":"","sources":["../../src/harness/gentySessionIntegration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,uBAAuB,GAC5B,uBAAuB,CAsBzB;AAED,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,uBAAuB,GAC5B,uBAAuB,CAQzB;AAED,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CASnD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,mBAAmB,GACvB,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,YAAY,CAMtE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAEhE"}