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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (716) hide show
  1. package/README.md +48 -0
  2. package/dist/anycli/cache.d.ts +45 -0
  3. package/dist/anycli/cache.d.ts.map +1 -0
  4. package/dist/anycli/cache.js +118 -0
  5. package/dist/anycli/index.d.ts +10 -0
  6. package/dist/anycli/index.d.ts.map +1 -0
  7. package/dist/anycli/index.js +25 -0
  8. package/dist/anycli/types.d.ts +32 -0
  9. package/dist/anycli/types.d.ts.map +1 -0
  10. package/dist/anycli/types.js +9 -0
  11. package/dist/api/breakpoints.d.ts +93 -0
  12. package/dist/api/breakpoints.d.ts.map +1 -0
  13. package/dist/api/breakpoints.js +334 -0
  14. package/dist/api/effects.d.ts +14 -0
  15. package/dist/api/effects.d.ts.map +1 -0
  16. package/dist/api/effects.js +306 -0
  17. package/dist/api/effectsTypes.d.ts +79 -0
  18. package/dist/api/effectsTypes.d.ts.map +1 -0
  19. package/dist/api/effectsTypes.js +6 -0
  20. package/dist/api/eventStream.d.ts +34 -0
  21. package/dist/api/eventStream.d.ts.map +1 -0
  22. package/dist/api/eventStream.js +126 -0
  23. package/dist/api/index.d.ts +10 -0
  24. package/dist/api/index.d.ts.map +1 -0
  25. package/dist/api/index.js +27 -0
  26. package/dist/api/runs.d.ts +85 -0
  27. package/dist/api/runs.d.ts.map +1 -0
  28. package/dist/api/runs.js +247 -0
  29. package/dist/api/sessions.d.ts +17 -0
  30. package/dist/api/sessions.d.ts.map +1 -0
  31. package/dist/api/sessions.js +58 -0
  32. package/dist/api/utils.d.ts +28 -0
  33. package/dist/api/utils.d.ts.map +1 -0
  34. package/dist/api/utils.js +74 -0
  35. package/dist/breakpoints/analytics.d.ts +46 -0
  36. package/dist/breakpoints/analytics.d.ts.map +1 -0
  37. package/dist/breakpoints/analytics.js +64 -0
  38. package/dist/breakpoints/approvalChains.d.ts +68 -0
  39. package/dist/breakpoints/approvalChains.d.ts.map +1 -0
  40. package/dist/breakpoints/approvalChains.js +111 -0
  41. package/dist/breakpoints/delegation.d.ts +42 -0
  42. package/dist/breakpoints/delegation.d.ts.map +1 -0
  43. package/dist/breakpoints/delegation.js +199 -0
  44. package/dist/breakpoints/delegationTypes.d.ts +46 -0
  45. package/dist/breakpoints/delegationTypes.d.ts.map +1 -0
  46. package/dist/breakpoints/delegationTypes.js +10 -0
  47. package/dist/breakpoints/postures.d.ts +28 -0
  48. package/dist/breakpoints/postures.d.ts.map +1 -0
  49. package/dist/breakpoints/postures.js +100 -0
  50. package/dist/compression/compaction.d.ts +82 -0
  51. package/dist/compression/compaction.d.ts.map +1 -0
  52. package/dist/compression/compaction.js +310 -0
  53. package/dist/compression/compactionStrategy.d.ts +37 -0
  54. package/dist/compression/compactionStrategy.d.ts.map +1 -0
  55. package/dist/compression/compactionStrategy.js +52 -0
  56. package/dist/compression/compressionFamilies.d.ts +39 -0
  57. package/dist/compression/compressionFamilies.d.ts.map +1 -0
  58. package/dist/compression/compressionFamilies.js +123 -0
  59. package/dist/context/dynamic.d.ts +16 -0
  60. package/dist/context/dynamic.d.ts.map +1 -0
  61. package/dist/context/dynamic.js +55 -0
  62. package/dist/context/instructions.d.ts +15 -0
  63. package/dist/context/instructions.d.ts.map +1 -0
  64. package/dist/context/instructions.js +97 -0
  65. package/dist/cost/claudeCodeParser.d.ts +81 -0
  66. package/dist/cost/claudeCodeParser.d.ts.map +1 -0
  67. package/dist/cost/claudeCodeParser.js +232 -0
  68. package/dist/cost/collector.d.ts +42 -0
  69. package/dist/cost/collector.d.ts.map +1 -0
  70. package/dist/cost/collector.js +105 -0
  71. package/dist/cost/effectCost.d.ts +23 -0
  72. package/dist/cost/effectCost.d.ts.map +1 -0
  73. package/dist/cost/effectCost.js +26 -0
  74. package/dist/cost/index.d.ts +7 -0
  75. package/dist/cost/index.d.ts.map +1 -0
  76. package/dist/cost/index.js +28 -0
  77. package/dist/cost/journal.d.ts +40 -0
  78. package/dist/cost/journal.d.ts.map +1 -0
  79. package/dist/cost/journal.js +158 -0
  80. package/dist/cost/types.d.ts +172 -0
  81. package/dist/cost/types.d.ts.map +1 -0
  82. package/dist/cost/types.js +229 -0
  83. package/dist/daemon/automationExecutor.d.ts +16 -0
  84. package/dist/daemon/automationExecutor.d.ts.map +1 -0
  85. package/dist/daemon/automationExecutor.js +222 -0
  86. package/dist/daemon/config.d.ts +8 -0
  87. package/dist/daemon/config.d.ts.map +1 -0
  88. package/dist/daemon/config.js +245 -0
  89. package/dist/daemon/daemonLog.d.ts +13 -0
  90. package/dist/daemon/daemonLog.d.ts.map +1 -0
  91. package/dist/daemon/daemonLog.js +64 -0
  92. package/dist/daemon/durableQueue.d.ts +41 -0
  93. package/dist/daemon/durableQueue.d.ts.map +1 -0
  94. package/dist/daemon/durableQueue.js +183 -0
  95. package/dist/daemon/fileWatcher.d.ts +9 -0
  96. package/dist/daemon/fileWatcher.d.ts.map +1 -0
  97. package/dist/daemon/fileWatcher.js +144 -0
  98. package/dist/daemon/index.d.ts +9 -0
  99. package/dist/daemon/index.d.ts.map +1 -0
  100. package/dist/daemon/index.js +26 -0
  101. package/dist/daemon/lifecycle.d.ts +12 -0
  102. package/dist/daemon/lifecycle.d.ts.map +1 -0
  103. package/dist/daemon/lifecycle.js +257 -0
  104. package/dist/daemon/loop.d.ts +27 -0
  105. package/dist/daemon/loop.d.ts.map +1 -0
  106. package/dist/daemon/loop.js +387 -0
  107. package/dist/daemon/timerScheduler.d.ts +13 -0
  108. package/dist/daemon/timerScheduler.d.ts.map +1 -0
  109. package/dist/daemon/timerScheduler.js +212 -0
  110. package/dist/daemon/types.d.ts +122 -0
  111. package/dist/daemon/types.d.ts.map +1 -0
  112. package/dist/daemon/types.js +25 -0
  113. package/dist/daemon/webhookListener.d.ts +6 -0
  114. package/dist/daemon/webhookListener.d.ts.map +1 -0
  115. package/dist/daemon/webhookListener.js +132 -0
  116. package/dist/extensions/discovery.d.ts +15 -0
  117. package/dist/extensions/discovery.d.ts.map +1 -0
  118. package/dist/extensions/discovery.js +119 -0
  119. package/dist/extensions/installer.d.ts +14 -0
  120. package/dist/extensions/installer.d.ts.map +1 -0
  121. package/dist/extensions/installer.js +100 -0
  122. package/dist/governance/authority.d.ts +68 -0
  123. package/dist/governance/authority.d.ts.map +1 -0
  124. package/dist/governance/authority.js +136 -0
  125. package/dist/governance/bridge.d.ts +17 -0
  126. package/dist/governance/bridge.d.ts.map +1 -0
  127. package/dist/governance/bridge.js +46 -0
  128. package/dist/governance/builtins.d.ts +25 -0
  129. package/dist/governance/builtins.d.ts.map +1 -0
  130. package/dist/governance/builtins.js +67 -0
  131. package/dist/governance/categories.d.ts +58 -0
  132. package/dist/governance/categories.d.ts.map +1 -0
  133. package/dist/governance/categories.js +120 -0
  134. package/dist/governance/decisionTrail.d.ts +60 -0
  135. package/dist/governance/decisionTrail.d.ts.map +1 -0
  136. package/dist/governance/decisionTrail.js +68 -0
  137. package/dist/governance/engine.d.ts +20 -0
  138. package/dist/governance/engine.d.ts.map +1 -0
  139. package/dist/governance/engine.js +124 -0
  140. package/dist/governance/index.d.ts +20 -0
  141. package/dist/governance/index.d.ts.map +1 -0
  142. package/dist/governance/index.js +75 -0
  143. package/dist/governance/logging.d.ts +18 -0
  144. package/dist/governance/logging.d.ts.map +1 -0
  145. package/dist/governance/logging.js +83 -0
  146. package/dist/governance/mandate.d.ts +83 -0
  147. package/dist/governance/mandate.d.ts.map +1 -0
  148. package/dist/governance/mandate.js +180 -0
  149. package/dist/governance/permissionEvents.d.ts +51 -0
  150. package/dist/governance/permissionEvents.d.ts.map +1 -0
  151. package/dist/governance/permissionEvents.js +52 -0
  152. package/dist/governance/permissionPropagation.d.ts +18 -0
  153. package/dist/governance/permissionPropagation.d.ts.map +1 -0
  154. package/dist/governance/permissionPropagation.js +58 -0
  155. package/dist/governance/postureBridge.d.ts +17 -0
  156. package/dist/governance/postureBridge.d.ts.map +1 -0
  157. package/dist/governance/postureBridge.js +117 -0
  158. package/dist/governance/privacySettings.d.ts +31 -0
  159. package/dist/governance/privacySettings.d.ts.map +1 -0
  160. package/dist/governance/privacySettings.js +104 -0
  161. package/dist/governance/sandboxBridge.d.ts +49 -0
  162. package/dist/governance/sandboxBridge.d.ts.map +1 -0
  163. package/dist/governance/sandboxBridge.js +77 -0
  164. package/dist/governance/sandboxPolicy.d.ts +51 -0
  165. package/dist/governance/sandboxPolicy.d.ts.map +1 -0
  166. package/dist/governance/sandboxPolicy.js +177 -0
  167. package/dist/governance/types.d.ts +3 -0
  168. package/dist/governance/types.d.ts.map +1 -0
  169. package/dist/governance/types.js +5 -0
  170. package/dist/harness/adapters/adapterBridge.d.ts +71 -0
  171. package/dist/harness/adapters/adapterBridge.d.ts.map +1 -0
  172. package/dist/harness/adapters/adapterBridge.js +117 -0
  173. package/dist/harness/adapters/adapterClientFactory.d.ts +29 -0
  174. package/dist/harness/adapters/adapterClientFactory.d.ts.map +1 -0
  175. package/dist/harness/adapters/adapterClientFactory.js +90 -0
  176. package/dist/harness/adapters/adapterEventEmitter.d.ts +51 -0
  177. package/dist/harness/adapters/adapterEventEmitter.d.ts.map +1 -0
  178. package/dist/harness/adapters/adapterEventEmitter.js +143 -0
  179. package/dist/harness/adapters/adapterEventMapper.d.ts +63 -0
  180. package/dist/harness/adapters/adapterEventMapper.d.ts.map +1 -0
  181. package/dist/harness/adapters/adapterEventMapper.js +100 -0
  182. package/dist/harness/adapters/adapterHarnessMap.d.ts +25 -0
  183. package/dist/harness/adapters/adapterHarnessMap.d.ts.map +1 -0
  184. package/dist/harness/adapters/adapterHarnessMap.js +55 -0
  185. package/dist/harness/adapters/adapterStdinReader.d.ts +45 -0
  186. package/dist/harness/adapters/adapterStdinReader.d.ts.map +1 -0
  187. package/dist/harness/adapters/adapterStdinReader.js +106 -0
  188. package/dist/harness/adapters/adapterTypes.d.ts +122 -0
  189. package/dist/harness/adapters/adapterTypes.d.ts.map +1 -0
  190. package/dist/harness/adapters/adapterTypes.js +11 -0
  191. package/dist/harness/adapters/index.d.ts +17 -0
  192. package/dist/harness/adapters/index.d.ts.map +1 -0
  193. package/dist/harness/adapters/index.js +34 -0
  194. package/dist/harness/backgroundTracker.d.ts +64 -0
  195. package/dist/harness/backgroundTracker.d.ts.map +1 -0
  196. package/dist/harness/backgroundTracker.js +107 -0
  197. package/dist/harness/budgetDowngrade.d.ts +12 -0
  198. package/dist/harness/budgetDowngrade.d.ts.map +1 -0
  199. package/dist/harness/budgetDowngrade.js +71 -0
  200. package/dist/harness/builtInHarness.d.ts +3 -0
  201. package/dist/harness/builtInHarness.d.ts.map +1 -0
  202. package/dist/harness/builtInHarness.js +18 -0
  203. package/dist/harness/capabilityRouter.d.ts +76 -0
  204. package/dist/harness/capabilityRouter.d.ts.map +1 -0
  205. package/dist/harness/capabilityRouter.js +176 -0
  206. package/dist/harness/circuitBreaker.d.ts +51 -0
  207. package/dist/harness/circuitBreaker.d.ts.map +1 -0
  208. package/dist/harness/circuitBreaker.js +110 -0
  209. package/dist/harness/concurrentEffects.d.ts +39 -0
  210. package/dist/harness/concurrentEffects.d.ts.map +1 -0
  211. package/dist/harness/concurrentEffects.js +90 -0
  212. package/dist/harness/effectRouting.d.ts +57 -0
  213. package/dist/harness/effectRouting.d.ts.map +1 -0
  214. package/dist/harness/effectRouting.js +130 -0
  215. package/dist/harness/extensionToolBridge.d.ts +13 -0
  216. package/dist/harness/extensionToolBridge.d.ts.map +1 -0
  217. package/dist/harness/extensionToolBridge.js +23 -0
  218. package/dist/harness/fallbackChains.d.ts +42 -0
  219. package/dist/harness/fallbackChains.d.ts.map +1 -0
  220. package/dist/harness/fallbackChains.js +69 -0
  221. package/dist/harness/gentySessionContext.d.ts +31 -0
  222. package/dist/harness/gentySessionContext.d.ts.map +1 -0
  223. package/dist/harness/gentySessionContext.js +49 -0
  224. package/dist/harness/gentySessionIntegration.d.ts +16 -0
  225. package/dist/harness/gentySessionIntegration.d.ts.map +1 -0
  226. package/dist/harness/gentySessionIntegration.js +66 -0
  227. package/dist/harness/hostContract.d.ts +69 -0
  228. package/dist/harness/hostContract.d.ts.map +1 -0
  229. package/dist/harness/hostContract.js +169 -0
  230. package/dist/harness/index.d.ts +25 -0
  231. package/dist/harness/index.d.ts.map +1 -0
  232. package/dist/harness/index.js +122 -0
  233. package/dist/harness/internal/createRun/agent-core-loop.d.ts +43 -0
  234. package/dist/harness/internal/createRun/agent-core-loop.d.ts.map +1 -0
  235. package/dist/harness/internal/createRun/agent-core-loop.js +247 -0
  236. package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
  237. package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
  238. package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
  239. package/dist/harness/internal/createRun/index.d.ts +25 -0
  240. package/dist/harness/internal/createRun/index.d.ts.map +1 -0
  241. package/dist/harness/internal/createRun/index.js +163 -0
  242. package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
  243. package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
  244. package/dist/harness/internal/createRun/orchestration/constants.js +17 -0
  245. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts +23 -0
  246. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts.map +1 -0
  247. package/dist/harness/internal/createRun/orchestration/dispatch.js +135 -0
  248. package/dist/harness/internal/createRun/orchestration/effects.d.ts +135 -0
  249. package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
  250. package/dist/harness/internal/createRun/orchestration/effects.js +904 -0
  251. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +21 -0
  252. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
  253. package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +80 -0
  254. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
  255. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
  256. package/dist/harness/internal/createRun/orchestration/externalPhase.js +403 -0
  257. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
  258. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
  259. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +106 -0
  260. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts +32 -0
  261. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts.map +1 -0
  262. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.js +76 -0
  263. package/dist/harness/internal/createRun/orchestration/index.d.ts +29 -0
  264. package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
  265. package/dist/harness/internal/createRun/orchestration/index.js +370 -0
  266. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
  267. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
  268. package/dist/harness/internal/createRun/orchestration/internalPhase.js +656 -0
  269. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +27 -0
  270. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
  271. package/dist/harness/internal/createRun/orchestration/internalTools.js +264 -0
  272. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
  273. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
  274. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
  275. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
  276. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
  277. package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
  278. package/dist/harness/internal/createRun/orchestration/types.d.ts +48 -0
  279. package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
  280. package/dist/harness/internal/createRun/orchestration/types.js +2 -0
  281. package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
  282. package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
  283. package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
  284. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts +4 -0
  285. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts.map +1 -0
  286. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.js +36 -0
  287. package/dist/harness/internal/createRun/output.d.ts +40 -0
  288. package/dist/harness/internal/createRun/output.d.ts.map +1 -0
  289. package/dist/harness/internal/createRun/output.js +467 -0
  290. package/dist/harness/internal/createRun/pi.d.ts +10 -0
  291. package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
  292. package/dist/harness/internal/createRun/pi.js +35 -0
  293. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
  294. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
  295. package/dist/harness/internal/createRun/planProcess/agentOutput.js +113 -0
  296. package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
  297. package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
  298. package/dist/harness/internal/createRun/planProcess/delegation.js +176 -0
  299. package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
  300. package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
  301. package/dist/harness/internal/createRun/planProcess/external.js +139 -0
  302. package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
  303. package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
  304. package/dist/harness/internal/createRun/planProcess/index.js +24 -0
  305. package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
  306. package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
  307. package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
  308. package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
  309. package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
  310. package/dist/harness/internal/createRun/planProcess/phase.js +424 -0
  311. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
  312. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
  313. package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -0
  314. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
  315. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
  316. package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
  317. package/dist/harness/internal/createRun/planProcess/prompts.d.ts +22 -0
  318. package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
  319. package/dist/harness/internal/createRun/planProcess/prompts.js +239 -0
  320. package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
  321. package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
  322. package/dist/harness/internal/createRun/planProcess/recovery.js +205 -0
  323. package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
  324. package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
  325. package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
  326. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
  327. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
  328. package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
  329. package/dist/harness/internal/createRun/planProcess/validation.d.ts +4 -0
  330. package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
  331. package/dist/harness/internal/createRun/planProcess/validation.js +260 -0
  332. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +13 -0
  333. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
  334. package/dist/harness/internal/createRun/planProcess/validationSource.js +345 -0
  335. package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
  336. package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
  337. package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
  338. package/dist/harness/internal/createRun/prompts.d.ts +59 -0
  339. package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
  340. package/dist/harness/internal/createRun/prompts.js +427 -0
  341. package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
  342. package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
  343. package/dist/harness/internal/createRun/resumeState.js +133 -0
  344. package/dist/harness/internal/createRun/utils.d.ts +184 -0
  345. package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
  346. package/dist/harness/internal/createRun/utils.js +218 -0
  347. package/dist/harness/internal.d.ts +13 -0
  348. package/dist/harness/internal.d.ts.map +1 -0
  349. package/dist/harness/internal.js +149 -0
  350. package/dist/harness/invoker/launch.d.ts +20 -0
  351. package/dist/harness/invoker/launch.d.ts.map +1 -0
  352. package/dist/harness/invoker/launch.js +23 -0
  353. package/dist/harness/invoker/processControl.d.ts +11 -0
  354. package/dist/harness/invoker/processControl.d.ts.map +1 -0
  355. package/dist/harness/invoker/processControl.js +50 -0
  356. package/dist/harness/invoker.d.ts +44 -0
  357. package/dist/harness/invoker.d.ts.map +1 -0
  358. package/dist/harness/invoker.js +341 -0
  359. package/dist/harness/lspIntegration.d.ts +48 -0
  360. package/dist/harness/lspIntegration.d.ts.map +1 -0
  361. package/dist/harness/lspIntegration.js +45 -0
  362. package/dist/harness/modeSelector.d.ts +50 -0
  363. package/dist/harness/modeSelector.d.ts.map +1 -0
  364. package/dist/harness/modeSelector.js +124 -0
  365. package/dist/harness/modelSelection.d.ts +37 -0
  366. package/dist/harness/modelSelection.d.ts.map +1 -0
  367. package/dist/harness/modelSelection.js +81 -0
  368. package/dist/harness/multiHarnessDispatch.d.ts +49 -0
  369. package/dist/harness/multiHarnessDispatch.d.ts.map +1 -0
  370. package/dist/harness/multiHarnessDispatch.js +73 -0
  371. package/dist/harness/oauthIntegration.d.ts +55 -0
  372. package/dist/harness/oauthIntegration.d.ts.map +1 -0
  373. package/dist/harness/oauthIntegration.js +84 -0
  374. package/dist/harness/operatorCommands.d.ts +38 -0
  375. package/dist/harness/operatorCommands.d.ts.map +1 -0
  376. package/dist/harness/operatorCommands.js +118 -0
  377. package/dist/harness/parallelFileOps.d.ts +56 -0
  378. package/dist/harness/parallelFileOps.d.ts.map +1 -0
  379. package/dist/harness/parallelFileOps.js +166 -0
  380. package/dist/harness/piSecureSandbox.d.ts +8 -0
  381. package/dist/harness/piSecureSandbox.d.ts.map +1 -0
  382. package/dist/harness/piSecureSandbox.js +366 -0
  383. package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
  384. package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
  385. package/dist/harness/piSecureSandboxTypes.js +6 -0
  386. package/dist/harness/piWrapper/compaction.d.ts +13 -0
  387. package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
  388. package/dist/harness/piWrapper/compaction.js +38 -0
  389. package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
  390. package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
  391. package/dist/harness/piWrapper/instructionPrompts.js +97 -0
  392. package/dist/harness/piWrapper/moduleSupport.d.ts +78 -0
  393. package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
  394. package/dist/harness/piWrapper/moduleSupport.js +207 -0
  395. package/dist/harness/piWrapper.d.ts +82 -0
  396. package/dist/harness/piWrapper.d.ts.map +1 -0
  397. package/dist/harness/piWrapper.js +406 -0
  398. package/dist/harness/planMode.d.ts +68 -0
  399. package/dist/harness/planMode.d.ts.map +1 -0
  400. package/dist/harness/planMode.js +145 -0
  401. package/dist/harness/profileOrchestration.d.ts +55 -0
  402. package/dist/harness/profileOrchestration.d.ts.map +1 -0
  403. package/dist/harness/profileOrchestration.js +61 -0
  404. package/dist/harness/selectionPolicies.d.ts +29 -0
  405. package/dist/harness/selectionPolicies.d.ts.map +1 -0
  406. package/dist/harness/selectionPolicies.js +165 -0
  407. package/dist/harness/streamingParallelism.d.ts +43 -0
  408. package/dist/harness/streamingParallelism.d.ts.map +1 -0
  409. package/dist/harness/streamingParallelism.js +113 -0
  410. package/dist/harness/streamingRenderer.d.ts +64 -0
  411. package/dist/harness/streamingRenderer.d.ts.map +1 -0
  412. package/dist/harness/streamingRenderer.js +85 -0
  413. package/dist/harness/types.d.ts +278 -0
  414. package/dist/harness/types.d.ts.map +1 -0
  415. package/dist/harness/types.js +34 -0
  416. package/dist/harness/websocketSession.d.ts +63 -0
  417. package/dist/harness/websocketSession.d.ts.map +1 -0
  418. package/dist/harness/websocketSession.js +113 -0
  419. package/dist/harness/worktreeIsolation.d.ts +39 -0
  420. package/dist/harness/worktreeIsolation.d.ts.map +1 -0
  421. package/dist/harness/worktreeIsolation.js +85 -0
  422. package/dist/index.d.ts +16 -0
  423. package/dist/index.d.ts.map +1 -0
  424. package/dist/index.js +54 -0
  425. package/dist/interaction/askUserQuestion/core.d.ts +8 -0
  426. package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
  427. package/dist/interaction/askUserQuestion/core.js +112 -0
  428. package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
  429. package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
  430. package/dist/interaction/askUserQuestion/terminal.js +128 -0
  431. package/dist/interaction/askUserQuestion.d.ts +10 -0
  432. package/dist/interaction/askUserQuestion.d.ts.map +1 -0
  433. package/dist/interaction/askUserQuestion.js +295 -0
  434. package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
  435. package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
  436. package/dist/interaction/askUserQuestionTypes.js +6 -0
  437. package/dist/interaction/commandDiscovery.d.ts +38 -0
  438. package/dist/interaction/commandDiscovery.d.ts.map +1 -0
  439. package/dist/interaction/commandDiscovery.js +106 -0
  440. package/dist/interaction/index.d.ts +11 -0
  441. package/dist/interaction/index.d.ts.map +1 -0
  442. package/dist/interaction/index.js +42 -0
  443. package/dist/interaction/interactionRouter.d.ts +25 -0
  444. package/dist/interaction/interactionRouter.d.ts.map +1 -0
  445. package/dist/interaction/interactionRouter.js +55 -0
  446. package/dist/interaction/model-switch.d.ts +16 -0
  447. package/dist/interaction/model-switch.d.ts.map +1 -0
  448. package/dist/interaction/model-switch.js +41 -0
  449. package/dist/interaction/permissionApprovalUi.d.ts +32 -0
  450. package/dist/interaction/permissionApprovalUi.d.ts.map +1 -0
  451. package/dist/interaction/permissionApprovalUi.js +96 -0
  452. package/dist/interaction/steering.d.ts +17 -0
  453. package/dist/interaction/steering.d.ts.map +1 -0
  454. package/dist/interaction/steering.js +41 -0
  455. package/dist/interaction/typedEffectPatterns.d.ts +55 -0
  456. package/dist/interaction/typedEffectPatterns.d.ts.map +1 -0
  457. package/dist/interaction/typedEffectPatterns.js +190 -0
  458. package/dist/mcp/channels/allowlist.d.ts +19 -0
  459. package/dist/mcp/channels/allowlist.d.ts.map +1 -0
  460. package/dist/mcp/channels/allowlist.js +140 -0
  461. package/dist/mcp/channels/channelManager.d.ts +64 -0
  462. package/dist/mcp/channels/channelManager.d.ts.map +1 -0
  463. package/dist/mcp/channels/channelManager.js +137 -0
  464. package/dist/mcp/channels/inboundQueue.d.ts +47 -0
  465. package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
  466. package/dist/mcp/channels/inboundQueue.js +96 -0
  467. package/dist/mcp/channels/index.d.ts +16 -0
  468. package/dist/mcp/channels/index.d.ts.map +1 -0
  469. package/dist/mcp/channels/index.js +38 -0
  470. package/dist/mcp/channels/outbound.d.ts +33 -0
  471. package/dist/mcp/channels/outbound.d.ts.map +1 -0
  472. package/dist/mcp/channels/outbound.js +94 -0
  473. package/dist/mcp/channels/permissionRelay.d.ts +62 -0
  474. package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
  475. package/dist/mcp/channels/permissionRelay.js +159 -0
  476. package/dist/mcp/channels/types.d.ts +135 -0
  477. package/dist/mcp/channels/types.d.ts.map +1 -0
  478. package/dist/mcp/channels/types.js +16 -0
  479. package/dist/mcp/client/auth.d.ts +57 -0
  480. package/dist/mcp/client/auth.d.ts.map +1 -0
  481. package/dist/mcp/client/auth.js +99 -0
  482. package/dist/mcp/client/config.d.ts +28 -0
  483. package/dist/mcp/client/config.d.ts.map +1 -0
  484. package/dist/mcp/client/config.js +144 -0
  485. package/dist/mcp/client/executor.d.ts +30 -0
  486. package/dist/mcp/client/executor.d.ts.map +1 -0
  487. package/dist/mcp/client/executor.js +61 -0
  488. package/dist/mcp/client/index.d.ts +13 -0
  489. package/dist/mcp/client/index.d.ts.map +1 -0
  490. package/dist/mcp/client/index.js +30 -0
  491. package/dist/mcp/client/manager.d.ts +74 -0
  492. package/dist/mcp/client/manager.d.ts.map +1 -0
  493. package/dist/mcp/client/manager.js +215 -0
  494. package/dist/mcp/client/resourceBrowser.d.ts +52 -0
  495. package/dist/mcp/client/resourceBrowser.d.ts.map +1 -0
  496. package/dist/mcp/client/resourceBrowser.js +80 -0
  497. package/dist/mcp/client/toolRegistry.d.ts +113 -0
  498. package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
  499. package/dist/mcp/client/toolRegistry.js +190 -0
  500. package/dist/mcp/client/types.d.ts +96 -0
  501. package/dist/mcp/client/types.d.ts.map +1 -0
  502. package/dist/mcp/client/types.js +15 -0
  503. package/dist/mcp/transport/index.d.ts +9 -0
  504. package/dist/mcp/transport/index.d.ts.map +1 -0
  505. package/dist/mcp/transport/index.js +13 -0
  506. package/dist/mcp/transport/session.d.ts +18 -0
  507. package/dist/mcp/transport/session.d.ts.map +1 -0
  508. package/dist/mcp/transport/session.js +78 -0
  509. package/dist/mcp/transport/types.d.ts +19 -0
  510. package/dist/mcp/transport/types.d.ts.map +1 -0
  511. package/dist/mcp/transport/types.js +7 -0
  512. package/dist/mcp/transport/websocket.d.ts +41 -0
  513. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  514. package/dist/mcp/transport/websocket.js +271 -0
  515. package/dist/observability/alertWebhooks.d.ts +35 -0
  516. package/dist/observability/alertWebhooks.d.ts.map +1 -0
  517. package/dist/observability/alertWebhooks.js +68 -0
  518. package/dist/observability/analytics.d.ts +66 -0
  519. package/dist/observability/analytics.d.ts.map +1 -0
  520. package/dist/observability/analytics.js +104 -0
  521. package/dist/observability/auditExport.d.ts +25 -0
  522. package/dist/observability/auditExport.d.ts.map +1 -0
  523. package/dist/observability/auditExport.js +108 -0
  524. package/dist/observability/contextIntrospection.d.ts +40 -0
  525. package/dist/observability/contextIntrospection.d.ts.map +1 -0
  526. package/dist/observability/contextIntrospection.js +93 -0
  527. package/dist/observability/failureTriage.d.ts +28 -0
  528. package/dist/observability/failureTriage.d.ts.map +1 -0
  529. package/dist/observability/failureTriage.js +168 -0
  530. package/dist/observability/health.d.ts +19 -0
  531. package/dist/observability/health.d.ts.map +1 -0
  532. package/dist/observability/health.js +129 -0
  533. package/dist/observability/index.d.ts +14 -0
  534. package/dist/observability/index.d.ts.map +1 -0
  535. package/dist/observability/index.js +53 -0
  536. package/dist/observability/progressSummarizer.d.ts +27 -0
  537. package/dist/observability/progressSummarizer.d.ts.map +1 -0
  538. package/dist/observability/progressSummarizer.js +143 -0
  539. package/dist/observability/promptPlan.d.ts +52 -0
  540. package/dist/observability/promptPlan.d.ts.map +1 -0
  541. package/dist/observability/promptPlan.js +101 -0
  542. package/dist/observability/resumeDashboard.d.ts +32 -0
  543. package/dist/observability/resumeDashboard.d.ts.map +1 -0
  544. package/dist/observability/resumeDashboard.js +204 -0
  545. package/dist/observability/runStatus.d.ts +44 -0
  546. package/dist/observability/runStatus.d.ts.map +1 -0
  547. package/dist/observability/runStatus.js +169 -0
  548. package/dist/observability/subagentHealth.d.ts +66 -0
  549. package/dist/observability/subagentHealth.d.ts.map +1 -0
  550. package/dist/observability/subagentHealth.js +107 -0
  551. package/dist/observability/subagentProgress.d.ts +64 -0
  552. package/dist/observability/subagentProgress.d.ts.map +1 -0
  553. package/dist/observability/subagentProgress.js +91 -0
  554. package/dist/observability/timeline.d.ts +11 -0
  555. package/dist/observability/timeline.d.ts.map +1 -0
  556. package/dist/observability/timeline.js +176 -0
  557. package/dist/observability/types.d.ts +62 -0
  558. package/dist/observability/types.d.ts.map +1 -0
  559. package/dist/observability/types.js +8 -0
  560. package/dist/observability/webhooks.d.ts +68 -0
  561. package/dist/observability/webhooks.d.ts.map +1 -0
  562. package/dist/observability/webhooks.js +132 -0
  563. package/dist/plugins/ccCompatibility.d.ts +79 -0
  564. package/dist/plugins/ccCompatibility.d.ts.map +1 -0
  565. package/dist/plugins/ccCompatibility.js +139 -0
  566. package/dist/plugins/index.d.ts +16 -0
  567. package/dist/plugins/index.d.ts.map +1 -0
  568. package/dist/plugins/index.js +38 -0
  569. package/dist/plugins/loader.d.ts +37 -0
  570. package/dist/plugins/loader.d.ts.map +1 -0
  571. package/dist/plugins/loader.js +112 -0
  572. package/dist/plugins/management.d.ts +33 -0
  573. package/dist/plugins/management.d.ts.map +1 -0
  574. package/dist/plugins/management.js +99 -0
  575. package/dist/plugins/marketplace.d.ts +64 -0
  576. package/dist/plugins/marketplace.d.ts.map +1 -0
  577. package/dist/plugins/marketplace.js +101 -0
  578. package/dist/plugins/sandbox.d.ts +38 -0
  579. package/dist/plugins/sandbox.d.ts.map +1 -0
  580. package/dist/plugins/sandbox.js +109 -0
  581. package/dist/plugins/trust.d.ts +31 -0
  582. package/dist/plugins/trust.d.ts.map +1 -0
  583. package/dist/plugins/trust.js +66 -0
  584. package/dist/plugins/types.d.ts +27 -0
  585. package/dist/plugins/types.d.ts.map +1 -0
  586. package/dist/plugins/types.js +7 -0
  587. package/dist/plugins/validation.d.ts +32 -0
  588. package/dist/plugins/validation.d.ts.map +1 -0
  589. package/dist/plugins/validation.js +117 -0
  590. package/dist/plugins/version-check.d.ts +23 -0
  591. package/dist/plugins/version-check.d.ts.map +1 -0
  592. package/dist/plugins/version-check.js +70 -0
  593. package/dist/plugins/versioning.d.ts +40 -0
  594. package/dist/plugins/versioning.d.ts.map +1 -0
  595. package/dist/plugins/versioning.js +101 -0
  596. package/dist/processes/index.d.ts +12 -0
  597. package/dist/processes/index.d.ts.map +1 -0
  598. package/dist/processes/index.js +15 -0
  599. package/dist/processes/recommender.d.ts +36 -0
  600. package/dist/processes/recommender.d.ts.map +1 -0
  601. package/dist/processes/recommender.js +73 -0
  602. package/dist/processes/scorer.d.ts +26 -0
  603. package/dist/processes/scorer.d.ts.map +1 -0
  604. package/dist/processes/scorer.js +104 -0
  605. package/dist/processes/types.d.ts +48 -0
  606. package/dist/processes/types.d.ts.map +1 -0
  607. package/dist/processes/types.js +9 -0
  608. package/dist/runtime/index.d.ts +3 -0
  609. package/dist/runtime/index.d.ts.map +1 -0
  610. package/dist/runtime/index.js +28 -0
  611. package/dist/seams/contract.d.ts +63 -0
  612. package/dist/seams/contract.d.ts.map +1 -0
  613. package/dist/seams/contract.js +141 -0
  614. package/dist/seams/index.d.ts +3 -0
  615. package/dist/seams/index.d.ts.map +1 -0
  616. package/dist/seams/index.js +8 -0
  617. package/dist/session/context.d.ts +22 -0
  618. package/dist/session/context.d.ts.map +1 -0
  619. package/dist/session/context.js +113 -0
  620. package/dist/session/continuityState.d.ts +39 -0
  621. package/dist/session/continuityState.d.ts.map +1 -0
  622. package/dist/session/continuityState.js +164 -0
  623. package/dist/session/cost.d.ts +72 -0
  624. package/dist/session/cost.d.ts.map +1 -0
  625. package/dist/session/cost.js +221 -0
  626. package/dist/session/crossRunComm.d.ts +40 -0
  627. package/dist/session/crossRunComm.d.ts.map +1 -0
  628. package/dist/session/crossRunComm.js +86 -0
  629. package/dist/session/crossRunState.d.ts +8 -0
  630. package/dist/session/crossRunState.d.ts.map +1 -0
  631. package/dist/session/crossRunState.js +45 -0
  632. package/dist/session/discovery.d.ts +22 -0
  633. package/dist/session/discovery.d.ts.map +1 -0
  634. package/dist/session/discovery.js +35 -0
  635. package/dist/session/history.d.ts +30 -0
  636. package/dist/session/history.d.ts.map +1 -0
  637. package/dist/session/history.js +144 -0
  638. package/dist/session/index.d.ts +8 -0
  639. package/dist/session/index.d.ts.map +1 -0
  640. package/dist/session/index.js +73 -0
  641. package/dist/session/memoryConsolidation.d.ts +31 -0
  642. package/dist/session/memoryConsolidation.d.ts.map +1 -0
  643. package/dist/session/memoryConsolidation.js +135 -0
  644. package/dist/session/memoryExtraction.d.ts +65 -0
  645. package/dist/session/memoryExtraction.d.ts.map +1 -0
  646. package/dist/session/memoryExtraction.js +201 -0
  647. package/dist/session/parse.d.ts +45 -0
  648. package/dist/session/parse.d.ts.map +1 -0
  649. package/dist/session/parse.js +170 -0
  650. package/dist/session/persistence.d.ts +46 -0
  651. package/dist/session/persistence.d.ts.map +1 -0
  652. package/dist/session/persistence.js +180 -0
  653. package/dist/session/sessionSharing.d.ts +55 -0
  654. package/dist/session/sessionSharing.d.ts.map +1 -0
  655. package/dist/session/sessionSharing.js +113 -0
  656. package/dist/session/sessionTemplates.d.ts +57 -0
  657. package/dist/session/sessionTemplates.d.ts.map +1 -0
  658. package/dist/session/sessionTemplates.js +93 -0
  659. package/dist/session/types.d.ts +267 -0
  660. package/dist/session/types.d.ts.map +1 -0
  661. package/dist/session/types.js +45 -0
  662. package/dist/session/write.d.ts +61 -0
  663. package/dist/session/write.d.ts.map +1 -0
  664. package/dist/session/write.js +213 -0
  665. package/dist/skills/chain.d.ts +31 -0
  666. package/dist/skills/chain.d.ts.map +1 -0
  667. package/dist/skills/chain.js +113 -0
  668. package/dist/skills/discovery.d.ts +34 -0
  669. package/dist/skills/discovery.d.ts.map +1 -0
  670. package/dist/skills/discovery.js +185 -0
  671. package/dist/skills/index.d.ts +12 -0
  672. package/dist/skills/index.d.ts.map +1 -0
  673. package/dist/skills/index.js +18 -0
  674. package/dist/skills/router.d.ts +35 -0
  675. package/dist/skills/router.d.ts.map +1 -0
  676. package/dist/skills/router.js +143 -0
  677. package/dist/skills/types.d.ts +33 -0
  678. package/dist/skills/types.d.ts.map +1 -0
  679. package/dist/skills/types.js +5 -0
  680. package/dist/storage/atomic.d.ts +2 -0
  681. package/dist/storage/atomic.d.ts.map +1 -0
  682. package/dist/storage/atomic.js +54 -0
  683. package/dist/storage/clock.d.ts +2 -0
  684. package/dist/storage/clock.d.ts.map +1 -0
  685. package/dist/storage/clock.js +6 -0
  686. package/dist/storage/index.d.ts +7 -0
  687. package/dist/storage/index.d.ts.map +1 -0
  688. package/dist/storage/index.js +9 -0
  689. package/dist/storage/journalWatcher.d.ts +24 -0
  690. package/dist/storage/journalWatcher.d.ts.map +1 -0
  691. package/dist/storage/journalWatcher.js +173 -0
  692. package/dist/storage/paths.d.ts +5 -0
  693. package/dist/storage/paths.d.ts.map +1 -0
  694. package/dist/storage/paths.js +26 -0
  695. package/dist/storage/snapshotState.d.ts +10 -0
  696. package/dist/storage/snapshotState.d.ts.map +1 -0
  697. package/dist/storage/snapshotState.js +15 -0
  698. package/dist/storage/storeTaskArtifacts.d.ts +6 -0
  699. package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
  700. package/dist/storage/storeTaskArtifacts.js +55 -0
  701. package/dist/storage/types.d.ts +21 -0
  702. package/dist/storage/types.d.ts.map +1 -0
  703. package/dist/storage/types.js +2 -0
  704. package/dist/tasks/crud.d.ts +33 -0
  705. package/dist/tasks/crud.d.ts.map +1 -0
  706. package/dist/tasks/crud.js +150 -0
  707. package/dist/tasks/index.d.ts +2 -0
  708. package/dist/tasks/index.d.ts.map +1 -0
  709. package/dist/tasks/index.js +9 -0
  710. package/dist/trust/harness-signing.d.ts +15 -0
  711. package/dist/trust/harness-signing.d.ts.map +1 -0
  712. package/dist/trust/harness-signing.js +46 -0
  713. package/dist/trust/key-store.d.ts +15 -0
  714. package/dist/trust/key-store.d.ts.map +1 -0
  715. package/dist/trust/key-store.js +66 -0
  716. package/package.json +161 -0
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ /**
3
+ * Typed effect interaction patterns (GAP-UX-010).
4
+ *
5
+ * Defines interaction patterns for each effect kind — input schemas,
6
+ * output schemas, and rendering hints — so UIs can present effects
7
+ * consistently and validate user input.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.BUILT_IN_PATTERNS = void 0;
11
+ exports.getPatternForEffect = getPatternForEffect;
12
+ exports.validateEffectInput = validateEffectInput;
13
+ exports.formatEffectSummary = formatEffectSummary;
14
+ // ---------------------------------------------------------------------------
15
+ // Built-in patterns
16
+ // ---------------------------------------------------------------------------
17
+ exports.BUILT_IN_PATTERNS = [
18
+ {
19
+ kind: 'agent',
20
+ inputSchema: [
21
+ { name: 'prompt', type: 'string', required: true, description: 'Prompt to send to the agent' },
22
+ { name: 'model', type: 'string', required: false, description: 'Target model override' },
23
+ ],
24
+ outputSchema: [
25
+ { name: 'response', type: 'string', required: true, description: 'Agent response text' },
26
+ { name: 'tokenUsage', type: 'object', required: false, description: 'Token usage stats' },
27
+ ],
28
+ renderHints: {
29
+ widget: 'panel',
30
+ streaming: true,
31
+ requiresConfirmation: false,
32
+ icon: 'robot',
33
+ },
34
+ },
35
+ {
36
+ kind: 'shell',
37
+ inputSchema: [
38
+ { name: 'command', type: 'string', required: true, description: 'Shell command to execute' },
39
+ { name: 'cwd', type: 'string', required: false, description: 'Working directory' },
40
+ { name: 'timeout', type: 'number', required: false, description: 'Timeout in ms' },
41
+ ],
42
+ outputSchema: [
43
+ { name: 'stdout', type: 'string', required: true, description: 'Standard output' },
44
+ { name: 'stderr', type: 'string', required: false, description: 'Standard error' },
45
+ { name: 'exitCode', type: 'number', required: true, description: 'Exit code' },
46
+ ],
47
+ renderHints: {
48
+ widget: 'terminal',
49
+ streaming: true,
50
+ requiresConfirmation: true,
51
+ icon: 'terminal',
52
+ },
53
+ },
54
+ {
55
+ kind: 'breakpoint',
56
+ inputSchema: [
57
+ { name: 'message', type: 'string', required: true, description: 'Message to show at breakpoint' },
58
+ { name: 'choices', type: 'array', required: false, description: 'Available choices' },
59
+ ],
60
+ outputSchema: [
61
+ { name: 'selection', type: 'string', required: true, description: 'User selection or input' },
62
+ ],
63
+ renderHints: {
64
+ widget: 'dialog',
65
+ streaming: false,
66
+ requiresConfirmation: true,
67
+ icon: 'pause',
68
+ },
69
+ },
70
+ {
71
+ kind: 'sleep',
72
+ inputSchema: [
73
+ { name: 'durationMs', type: 'number', required: true, description: 'Duration in milliseconds' },
74
+ { name: 'reason', type: 'string', required: false, description: 'Reason for waiting' },
75
+ ],
76
+ outputSchema: [
77
+ { name: 'elapsed', type: 'number', required: true, description: 'Actual elapsed time in ms' },
78
+ ],
79
+ renderHints: {
80
+ widget: 'inline',
81
+ streaming: false,
82
+ requiresConfirmation: false,
83
+ icon: 'clock',
84
+ },
85
+ },
86
+ {
87
+ kind: 'mcp',
88
+ inputSchema: [
89
+ { name: 'server', type: 'string', required: true, description: 'MCP server name' },
90
+ { name: 'tool', type: 'string', required: true, description: 'Tool to invoke' },
91
+ { name: 'args', type: 'object', required: false, description: 'Tool arguments' },
92
+ ],
93
+ outputSchema: [
94
+ { name: 'result', type: 'object', required: true, description: 'Tool result' },
95
+ { name: 'error', type: 'string', required: false, description: 'Error message if failed' },
96
+ ],
97
+ renderHints: {
98
+ widget: 'panel',
99
+ streaming: false,
100
+ requiresConfirmation: false,
101
+ icon: 'plug',
102
+ },
103
+ },
104
+ ];
105
+ // ---------------------------------------------------------------------------
106
+ // getPatternForEffect
107
+ // ---------------------------------------------------------------------------
108
+ /**
109
+ * Find the interaction pattern for a given effect.
110
+ */
111
+ function getPatternForEffect(effect) {
112
+ return exports.BUILT_IN_PATTERNS.find((p) => p.kind === effect.kind);
113
+ }
114
+ /**
115
+ * Validate input data against a pattern's input schema.
116
+ */
117
+ function validateEffectInput(pattern, input) {
118
+ const errors = [];
119
+ for (const field of pattern.inputSchema) {
120
+ const value = input[field.name];
121
+ // Required check
122
+ if (field.required && (value === undefined || value === null)) {
123
+ errors.push({ field: field.name, message: `Required field "${field.name}" is missing` });
124
+ continue;
125
+ }
126
+ // Type check (only if value is present)
127
+ if (value !== undefined && value !== null) {
128
+ const actualType = Array.isArray(value) ? 'array' : typeof value;
129
+ if (actualType !== field.type) {
130
+ errors.push({
131
+ field: field.name,
132
+ message: `Expected ${field.type} for "${field.name}", got ${actualType}`,
133
+ });
134
+ }
135
+ }
136
+ }
137
+ return { valid: errors.length === 0, errors };
138
+ }
139
+ // ---------------------------------------------------------------------------
140
+ // formatEffectSummary
141
+ // ---------------------------------------------------------------------------
142
+ /**
143
+ * Format a human-readable summary of an effect result.
144
+ */
145
+ function formatEffectSummary(pattern, result) {
146
+ const parts = [`[${pattern.kind}]`];
147
+ switch (pattern.kind) {
148
+ case 'shell': {
149
+ const code = result.exitCode ?? '?';
150
+ const cmd = typeof result.command === 'string' ? result.command : '';
151
+ parts.push(`exit=${code}`);
152
+ if (cmd)
153
+ parts.push(cmd.length > 60 ? cmd.slice(0, 57) + '...' : cmd);
154
+ break;
155
+ }
156
+ case 'agent': {
157
+ const resp = typeof result.response === 'string' ? result.response : '';
158
+ const preview = resp.length > 80 ? resp.slice(0, 77) + '...' : resp;
159
+ if (preview)
160
+ parts.push(preview);
161
+ break;
162
+ }
163
+ case 'breakpoint': {
164
+ const sel = typeof result.selection === 'string' ? result.selection : 'n/a';
165
+ parts.push(`selected: ${sel}`);
166
+ break;
167
+ }
168
+ case 'sleep': {
169
+ const elapsed = typeof result.elapsed === 'number' ? result.elapsed : 0;
170
+ parts.push(`waited ${elapsed}ms`);
171
+ break;
172
+ }
173
+ case 'mcp': {
174
+ const tool = typeof result.tool === 'string' ? result.tool : '';
175
+ const err = typeof result.error === 'string' ? result.error : '';
176
+ if (tool)
177
+ parts.push(tool);
178
+ if (err)
179
+ parts.push(`ERROR: ${err}`);
180
+ break;
181
+ }
182
+ default: {
183
+ // Generic: show keys
184
+ const keys = Object.keys(result).slice(0, 3);
185
+ if (keys.length > 0)
186
+ parts.push(`keys: ${keys.join(', ')}`);
187
+ }
188
+ }
189
+ return parts.join(' ');
190
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * GAP-MCPC-001: Channel Allowlist.
3
+ *
4
+ * Controls which MCP channels are active. Channels require explicit opt-in.
5
+ * Uses atomic write pattern consistent with other SDK state modules.
6
+ */
7
+ import type { ChannelConfig, ChannelAllowlistFile } from "./types";
8
+ export declare function getChannelAllowlistPath(stateDir: string): string;
9
+ export declare function readChannelAllowlist(stateDir: string): Promise<ChannelAllowlistFile>;
10
+ export declare function writeChannelAllowlist(stateDir: string, allowlist: ChannelAllowlistFile): Promise<void>;
11
+ /** Add or update a channel in the allowlist. */
12
+ export declare function upsertChannel(stateDir: string, channel: ChannelConfig): Promise<ChannelAllowlistFile>;
13
+ /** Remove a channel from the allowlist. Returns true if removed. */
14
+ export declare function removeChannel(stateDir: string, serverName: string, channelId: string): Promise<boolean>;
15
+ /** Toggle a channel's enabled state. Returns the new enabled state. */
16
+ export declare function toggleChannel(stateDir: string, serverName: string, channelId: string, enabled?: boolean): Promise<boolean | undefined>;
17
+ /** Get all enabled channels. */
18
+ export declare function getEnabledChannels(allowlist: ChannelAllowlistFile): ChannelConfig[];
19
+ //# sourceMappingURL=allowlist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowlist.d.ts","sourceRoot":"","sources":["../../../src/mcp/channels/allowlist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAenE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+B1F;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,oBAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,gDAAgD;AAChD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAa/B;AAED,oEAAoE;AACpE,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED,uEAAuE;AACvE,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAU9B;AAED,gCAAgC;AAChC,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,GAAG,aAAa,EAAE,CAEnF"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-MCPC-001: Channel Allowlist.
4
+ *
5
+ * Controls which MCP channels are active. Channels require explicit opt-in.
6
+ * Uses atomic write pattern consistent with other SDK state modules.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getChannelAllowlistPath = getChannelAllowlistPath;
43
+ exports.readChannelAllowlist = readChannelAllowlist;
44
+ exports.writeChannelAllowlist = writeChannelAllowlist;
45
+ exports.upsertChannel = upsertChannel;
46
+ exports.removeChannel = removeChannel;
47
+ exports.toggleChannel = toggleChannel;
48
+ exports.getEnabledChannels = getEnabledChannels;
49
+ const node_fs_1 = require("node:fs");
50
+ const path = __importStar(require("node:path"));
51
+ const atomic_1 = require("../../storage/atomic");
52
+ const types_1 = require("./types");
53
+ // ---------------------------------------------------------------------------
54
+ // Helpers
55
+ // ---------------------------------------------------------------------------
56
+ function emptyAllowlist() {
57
+ return { schemaVersion: types_1.CHANNEL_ALLOWLIST_SCHEMA_VERSION, channels: [] };
58
+ }
59
+ // ---------------------------------------------------------------------------
60
+ // Public API
61
+ // ---------------------------------------------------------------------------
62
+ function getChannelAllowlistPath(stateDir) {
63
+ return path.join(stateDir, "channel-allowlist.json");
64
+ }
65
+ async function readChannelAllowlist(stateDir) {
66
+ const filePath = getChannelAllowlistPath(stateDir);
67
+ let raw;
68
+ try {
69
+ raw = await node_fs_1.promises.readFile(filePath, "utf8");
70
+ }
71
+ catch (error) {
72
+ const err = error;
73
+ if (err.code === "ENOENT")
74
+ return emptyAllowlist();
75
+ throw error;
76
+ }
77
+ try {
78
+ const data = JSON.parse(raw);
79
+ const rawChannels = Array.isArray(data.channels) ? data.channels : [];
80
+ const validChannels = rawChannels.filter((c) => {
81
+ if (typeof c !== "object" || c === null)
82
+ return false;
83
+ const obj = c;
84
+ return (typeof obj.serverName === "string" &&
85
+ typeof obj.channelId === "string" &&
86
+ typeof obj.enabled === "boolean");
87
+ });
88
+ return {
89
+ schemaVersion: typeof data.schemaVersion === "string" ? data.schemaVersion : types_1.CHANNEL_ALLOWLIST_SCHEMA_VERSION,
90
+ channels: validChannels,
91
+ };
92
+ }
93
+ catch {
94
+ return emptyAllowlist();
95
+ }
96
+ }
97
+ async function writeChannelAllowlist(stateDir, allowlist) {
98
+ const filePath = getChannelAllowlistPath(stateDir);
99
+ await (0, atomic_1.writeFileAtomic)(filePath, JSON.stringify(allowlist, null, 2));
100
+ }
101
+ /** Add or update a channel in the allowlist. */
102
+ async function upsertChannel(stateDir, channel) {
103
+ const allowlist = await readChannelAllowlist(stateDir);
104
+ const key = `${channel.serverName}:${channel.channelId}`;
105
+ const idx = allowlist.channels.findIndex((c) => `${c.serverName}:${c.channelId}` === key);
106
+ if (idx >= 0) {
107
+ allowlist.channels[idx] = channel;
108
+ }
109
+ else {
110
+ allowlist.channels.push(channel);
111
+ }
112
+ await writeChannelAllowlist(stateDir, allowlist);
113
+ return allowlist;
114
+ }
115
+ /** Remove a channel from the allowlist. Returns true if removed. */
116
+ async function removeChannel(stateDir, serverName, channelId) {
117
+ const allowlist = await readChannelAllowlist(stateDir);
118
+ const key = `${serverName}:${channelId}`;
119
+ const before = allowlist.channels.length;
120
+ allowlist.channels = allowlist.channels.filter((c) => `${c.serverName}:${c.channelId}` !== key);
121
+ if (allowlist.channels.length === before)
122
+ return false;
123
+ await writeChannelAllowlist(stateDir, allowlist);
124
+ return true;
125
+ }
126
+ /** Toggle a channel's enabled state. Returns the new enabled state. */
127
+ async function toggleChannel(stateDir, serverName, channelId, enabled) {
128
+ const allowlist = await readChannelAllowlist(stateDir);
129
+ const key = `${serverName}:${channelId}`;
130
+ const channel = allowlist.channels.find((c) => `${c.serverName}:${c.channelId}` === key);
131
+ if (!channel)
132
+ return undefined;
133
+ channel.enabled = enabled ?? !channel.enabled;
134
+ await writeChannelAllowlist(stateDir, allowlist);
135
+ return channel.enabled;
136
+ }
137
+ /** Get all enabled channels. */
138
+ function getEnabledChannels(allowlist) {
139
+ return allowlist.channels.filter((c) => c.enabled);
140
+ }
@@ -0,0 +1,64 @@
1
+ /**
2
+ * GAP-MCPC-001: Channel Manager.
3
+ *
4
+ * Detects channel capability on connected MCP servers and manages
5
+ * channel bindings. Integrates with McpClientManager and InboundMessageQueue.
6
+ */
7
+ import type { ChannelCapability, ChannelConfig, ChannelMessage } from "./types";
8
+ import type { McpClientManager } from "../client/manager";
9
+ import { InboundMessageQueue, type WakeCallback } from "./inboundQueue";
10
+ export interface ChannelManagerOptions {
11
+ /** State directory for reading allowlist. */
12
+ stateDir: string;
13
+ /** MCP client manager for server connections. */
14
+ clientManager: McpClientManager;
15
+ /** Wake callback for sleeping runs. */
16
+ onWake?: WakeCallback;
17
+ /** Maximum inbound queue size per run. */
18
+ maxQueueSize?: number;
19
+ }
20
+ /** Detected channel server. */
21
+ export interface DetectedChannel {
22
+ serverName: string;
23
+ capability: ChannelCapability;
24
+ }
25
+ export declare class ChannelManager {
26
+ private readonly _stateDir;
27
+ private readonly _clientManager;
28
+ private readonly _queue;
29
+ private readonly _detectedChannels;
30
+ constructor(options: ChannelManagerOptions);
31
+ /**
32
+ * Detect channel capability on connected MCP servers.
33
+ * A server declares channel capability by exposing tools matching
34
+ * known channel patterns (e.g. slack_send_message, gmail_create_draft).
35
+ */
36
+ detectChannels(): Promise<DetectedChannel[]>;
37
+ /** Get detected channel capabilities. */
38
+ getDetectedChannels(): DetectedChannel[];
39
+ /** Check if a server has channel capability. */
40
+ hasChannelCapability(serverName: string): boolean;
41
+ /**
42
+ * Process an inbound channel message.
43
+ * Routes to bound run and queues for retrieval.
44
+ */
45
+ processInboundMessage(message: ChannelMessage): void;
46
+ /** Bind a channel to a run for message routing. */
47
+ bindChannelToRun(channelSource: string, runId: string): void;
48
+ /** Unbind a channel from its run. */
49
+ unbindChannel(channelSource: string): void;
50
+ /** Get messages for a run. */
51
+ getMessages(runId: string, limit?: number): ChannelMessage[];
52
+ /** Dequeue messages for a run. */
53
+ consumeMessages(runId: string, limit?: number): ChannelMessage[];
54
+ /** Check if a run has pending messages. */
55
+ hasMessages(runId: string): boolean;
56
+ /**
57
+ * Load enabled channels from the allowlist.
58
+ * Returns configs for channels that are both allowed and connected.
59
+ */
60
+ getActiveChannels(): Promise<ChannelConfig[]>;
61
+ /** Access the underlying queue (for advanced use). */
62
+ get queue(): InboundMessageQueue;
63
+ }
64
+ //# sourceMappingURL=channelManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelManager.d.ts","sourceRoot":"","sources":["../../../src/mcp/channels/channelManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAUxE,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,aAAa,EAAE,gBAAgB,CAAC;IAChC,uCAAuC;IACvC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAMD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;gBAE9D,OAAO,EAAE,qBAAqB;IAS1C;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAuClD,yCAAyC;IACzC,mBAAmB,IAAI,eAAe,EAAE;IAOxC,gDAAgD;IAChD,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIjD;;;OAGG;IACH,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIpD,mDAAmD;IACnD,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5D,qCAAqC;IACrC,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAI1C,8BAA8B;IAC9B,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,cAAc,EAAE;IAIxD,kCAAkC;IAClC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,cAAc,EAAE;IAI5D,2CAA2C;IAC3C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAInC;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAYnD,sDAAsD;IACtD,IAAI,KAAK,IAAI,mBAAmB,CAE/B;CACF"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-MCPC-001: Channel Manager.
4
+ *
5
+ * Detects channel capability on connected MCP servers and manages
6
+ * channel bindings. Integrates with McpClientManager and InboundMessageQueue.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ChannelManager = void 0;
10
+ const inboundQueue_1 = require("./inboundQueue");
11
+ const allowlist_1 = require("./allowlist");
12
+ // ---------------------------------------------------------------------------
13
+ // ChannelManager
14
+ // ---------------------------------------------------------------------------
15
+ class ChannelManager {
16
+ _stateDir;
17
+ _clientManager;
18
+ _queue;
19
+ _detectedChannels = new Map();
20
+ constructor(options) {
21
+ this._stateDir = options.stateDir;
22
+ this._clientManager = options.clientManager;
23
+ this._queue = new inboundQueue_1.InboundMessageQueue({
24
+ maxQueueSize: options.maxQueueSize,
25
+ onWake: options.onWake,
26
+ });
27
+ }
28
+ /**
29
+ * Detect channel capability on connected MCP servers.
30
+ * A server declares channel capability by exposing tools matching
31
+ * known channel patterns (e.g. slack_send_message, gmail_create_draft).
32
+ */
33
+ async detectChannels() {
34
+ const connections = this._clientManager.listConnections();
35
+ const detected = [];
36
+ for (const conn of connections) {
37
+ if (conn.status !== "connected")
38
+ continue;
39
+ try {
40
+ const tools = await this._clientManager.listTools(conn.name);
41
+ const toolNames = tools.map((t) => t.name);
42
+ const channelType = inferChannelType(toolNames);
43
+ // Only consider servers that match a known channel type
44
+ if (!channelType)
45
+ continue;
46
+ const capability = {
47
+ inbound: toolNames.some((n) => n.includes("read_channel") || n.includes("read_message") || n.includes("read_thread")),
48
+ outbound: toolNames.some((n) => n.includes("send_message") || n.includes("create_draft")),
49
+ permissionRelay: false,
50
+ channelType,
51
+ };
52
+ if (capability.inbound || capability.outbound) {
53
+ this._detectedChannels.set(conn.name, capability);
54
+ detected.push({ serverName: conn.name, capability });
55
+ }
56
+ }
57
+ catch {
58
+ // Skip servers that fail to list tools
59
+ }
60
+ }
61
+ return detected;
62
+ }
63
+ /** Get detected channel capabilities. */
64
+ getDetectedChannels() {
65
+ return [...this._detectedChannels.entries()].map(([serverName, capability]) => ({
66
+ serverName,
67
+ capability,
68
+ }));
69
+ }
70
+ /** Check if a server has channel capability. */
71
+ hasChannelCapability(serverName) {
72
+ return this._detectedChannels.has(serverName);
73
+ }
74
+ /**
75
+ * Process an inbound channel message.
76
+ * Routes to bound run and queues for retrieval.
77
+ */
78
+ processInboundMessage(message) {
79
+ this._queue.enqueue(message);
80
+ }
81
+ /** Bind a channel to a run for message routing. */
82
+ bindChannelToRun(channelSource, runId) {
83
+ this._queue.bindChannel(channelSource, runId);
84
+ }
85
+ /** Unbind a channel from its run. */
86
+ unbindChannel(channelSource) {
87
+ this._queue.unbindChannel(channelSource);
88
+ }
89
+ /** Get messages for a run. */
90
+ getMessages(runId, limit = 10) {
91
+ return this._queue.peek(runId, limit);
92
+ }
93
+ /** Dequeue messages for a run. */
94
+ consumeMessages(runId, limit = 10) {
95
+ return this._queue.dequeue(runId, limit);
96
+ }
97
+ /** Check if a run has pending messages. */
98
+ hasMessages(runId) {
99
+ return this._queue.hasMessages(runId);
100
+ }
101
+ /**
102
+ * Load enabled channels from the allowlist.
103
+ * Returns configs for channels that are both allowed and connected.
104
+ */
105
+ async getActiveChannels() {
106
+ const allowlist = await (0, allowlist_1.readChannelAllowlist)(this._stateDir);
107
+ const enabled = (0, allowlist_1.getEnabledChannels)(allowlist);
108
+ const connected = new Set(this._clientManager
109
+ .listConnections()
110
+ .filter((c) => c.status === "connected")
111
+ .map((c) => c.name));
112
+ return enabled.filter((c) => connected.has(c.serverName));
113
+ }
114
+ /** Access the underlying queue (for advanced use). */
115
+ get queue() {
116
+ return this._queue;
117
+ }
118
+ }
119
+ exports.ChannelManager = ChannelManager;
120
+ // ---------------------------------------------------------------------------
121
+ // Helpers
122
+ // ---------------------------------------------------------------------------
123
+ /** Infer channel type from tool name prefixes. */
124
+ function inferChannelType(toolNames) {
125
+ const hasPrefix = (prefix) => toolNames.some((n) => n.startsWith(prefix));
126
+ if (hasPrefix("slack_"))
127
+ return "slack";
128
+ if (hasPrefix("discord_"))
129
+ return "discord";
130
+ if (hasPrefix("gmail_") || hasPrefix("email_"))
131
+ return "email";
132
+ if (hasPrefix("telegram_"))
133
+ return "telegram";
134
+ if (hasPrefix("teams_"))
135
+ return "teams";
136
+ return undefined;
137
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * GAP-MCPC-001: Inbound Message Queue.
3
+ *
4
+ * Stores inbound channel messages in-memory and provides wake-up
5
+ * triggers for sleeping runs. Messages do not survive process restarts.
6
+ */
7
+ import type { ChannelMessage, ChannelBinding } from "./types";
8
+ export type WakeCallback = (runId: string, message: ChannelMessage) => void;
9
+ export interface InboundQueueOptions {
10
+ /** Maximum messages to buffer per run before dropping oldest. */
11
+ maxQueueSize?: number;
12
+ /** Callback fired when a bound run receives a message (for wake-up). */
13
+ onWake?: WakeCallback;
14
+ }
15
+ export declare class InboundMessageQueue {
16
+ private readonly _queues;
17
+ private readonly _bindings;
18
+ private readonly _maxQueueSize;
19
+ private readonly _onWake;
20
+ constructor(options?: InboundQueueOptions);
21
+ /** Bind a channel to a run for message routing. */
22
+ bindChannel(channelSource: string, runId: string): void;
23
+ /** Unbind a channel from its run. */
24
+ unbindChannel(channelSource: string): void;
25
+ /** Get the run ID a channel is bound to (if any). */
26
+ getBoundRunId(channelSource: string): string | undefined;
27
+ /** Get all active bindings. */
28
+ getBindings(): ChannelBinding[];
29
+ /**
30
+ * Enqueue an inbound message. Routes to bound run if one exists.
31
+ * Fires the wake callback if a binding exists.
32
+ */
33
+ enqueue(message: ChannelMessage): void;
34
+ /** Peek at messages for a run (does not remove). */
35
+ peek(runId: string, limit?: number): ChannelMessage[];
36
+ /** Dequeue (remove and return) messages for a run. */
37
+ dequeue(runId: string, limit?: number): ChannelMessage[];
38
+ /** Get the number of queued messages for a run. */
39
+ queueSize(runId: string): number;
40
+ /** Check if there are any messages for a run. */
41
+ hasMessages(runId: string): boolean;
42
+ /** Get unbound messages (not routed to any run). */
43
+ getUnboundMessages(limit?: number): ChannelMessage[];
44
+ /** Clear all queues and bindings. */
45
+ clear(): void;
46
+ }
47
+ //# sourceMappingURL=inboundQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inboundQueue.d.ts","sourceRoot":"","sources":["../../../src/mcp/channels/inboundQueue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAM9D,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAMD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;gBAEvC,OAAO,CAAC,EAAE,mBAAmB;IAKzC,mDAAmD;IACnD,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQvD,qCAAqC;IACrC,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAI1C,qDAAqD;IACrD,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD,+BAA+B;IAC/B,WAAW,IAAI,cAAc,EAAE;IAI/B;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAuBtC,oDAAoD;IACpD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,cAAc,EAAE;IAMjD,sDAAsD;IACtD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,cAAc,EAAE;IAMpD,mDAAmD;IACnD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhC,iDAAiD;IACjD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAInC,oDAAoD;IACpD,kBAAkB,CAAC,KAAK,SAAK,GAAG,cAAc,EAAE;IAIhD,qCAAqC;IACrC,KAAK,IAAI,IAAI;CAId"}