@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,52 @@
1
+ "use strict";
2
+ /**
3
+ * Permission event creation, aggregation, and filtering for the governance layer.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createPermissionEvent = createPermissionEvent;
7
+ exports.aggregateChainEvents = aggregateChainEvents;
8
+ exports.filterEvents = filterEvents;
9
+ // ---------------------------------------------------------------------------
10
+ // Factory
11
+ // ---------------------------------------------------------------------------
12
+ function createPermissionEvent(options) {
13
+ return {
14
+ kind: options.kind,
15
+ operation: options.operation,
16
+ decision: options.decision,
17
+ timestamp: options.timestamp ?? new Date().toISOString(),
18
+ source: options.source,
19
+ ...(options.mandateId !== undefined ? { mandateId: options.mandateId } : {}),
20
+ ...(options.chainId !== undefined ? { chainId: options.chainId } : {}),
21
+ };
22
+ }
23
+ // ---------------------------------------------------------------------------
24
+ // Aggregation
25
+ // ---------------------------------------------------------------------------
26
+ /**
27
+ * Flatten multiple event arrays (from parent/child runs), filter by chainId,
28
+ * and sort chronologically.
29
+ */
30
+ function aggregateChainEvents(chainId, eventArrays) {
31
+ const all = [];
32
+ for (const arr of eventArrays) {
33
+ for (const ev of arr) {
34
+ if (ev.chainId === chainId) {
35
+ all.push(ev);
36
+ }
37
+ }
38
+ }
39
+ all.sort((a, b) => (a.timestamp < b.timestamp ? -1 : a.timestamp > b.timestamp ? 1 : 0));
40
+ return all;
41
+ }
42
+ function filterEvents(events, criteria) {
43
+ return events.filter((ev) => {
44
+ if (criteria.source !== undefined && ev.source !== criteria.source)
45
+ return false;
46
+ if (criteria.action !== undefined && ev.decision.action !== criteria.action)
47
+ return false;
48
+ if (criteria.kind !== undefined && ev.kind !== criteria.kind)
49
+ return false;
50
+ return true;
51
+ });
52
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Permission event propagation: formatting for different output targets
3
+ * and configuration for which event kinds propagate to which targets.
4
+ */
5
+ import type { PermissionEvent } from './permissionEvents';
6
+ export interface PropagationTarget {
7
+ name: string;
8
+ kinds: string[];
9
+ }
10
+ export interface PropagationConfig {
11
+ targets: PropagationTarget[];
12
+ }
13
+ export declare function formatPermissionForTui(event: PermissionEvent): string;
14
+ export declare function formatPermissionForJsonStream(event: PermissionEvent): PermissionEvent;
15
+ export declare function formatPermissionForCli(event: PermissionEvent): string;
16
+ export declare function createPropagationConfig(targets: PropagationTarget[]): PropagationConfig;
17
+ export declare function shouldPropagate(event: PermissionEvent, targetName: string, config: PropagationConfig): boolean;
18
+ //# sourceMappingURL=permissionPropagation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissionPropagation.d.ts","sourceRoot":"","sources":["../../src/governance/permissionPropagation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM1D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AA4BD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAIrE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAGrF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAGrE;AAMD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAEvF;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAIT"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /**
3
+ * Permission event propagation: formatting for different output targets
4
+ * and configuration for which event kinds propagate to which targets.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.formatPermissionForTui = formatPermissionForTui;
8
+ exports.formatPermissionForJsonStream = formatPermissionForJsonStream;
9
+ exports.formatPermissionForCli = formatPermissionForCli;
10
+ exports.createPropagationConfig = createPropagationConfig;
11
+ exports.shouldPropagate = shouldPropagate;
12
+ // ---------------------------------------------------------------------------
13
+ // ANSI helpers
14
+ // ---------------------------------------------------------------------------
15
+ const RESET = '\x1b[0m';
16
+ const RED = '\x1b[31m';
17
+ const GREEN = '\x1b[32m';
18
+ const YELLOW = '\x1b[33m';
19
+ function colorForAction(action) {
20
+ switch (action) {
21
+ case 'block':
22
+ return RED;
23
+ case 'allow':
24
+ return GREEN;
25
+ case 'prompt':
26
+ return YELLOW;
27
+ default:
28
+ return '';
29
+ }
30
+ }
31
+ // ---------------------------------------------------------------------------
32
+ // Formatters
33
+ // ---------------------------------------------------------------------------
34
+ function formatPermissionForTui(event) {
35
+ const color = colorForAction(event.decision.action);
36
+ const target = event.operation.target ?? '';
37
+ return `${color}[${event.decision.action}]${RESET} ${event.kind} ${target}`;
38
+ }
39
+ function formatPermissionForJsonStream(event) {
40
+ // Return a clean copy with all fields — already JSON-serializable
41
+ return { ...event };
42
+ }
43
+ function formatPermissionForCli(event) {
44
+ const target = event.operation.target ?? '';
45
+ return `${event.decision.action} ${event.kind} ${target}`;
46
+ }
47
+ // ---------------------------------------------------------------------------
48
+ // Config
49
+ // ---------------------------------------------------------------------------
50
+ function createPropagationConfig(targets) {
51
+ return { targets };
52
+ }
53
+ function shouldPropagate(event, targetName, config) {
54
+ const target = config.targets.find((t) => t.name === targetName);
55
+ if (!target)
56
+ return false;
57
+ return target.kinds.includes(event.kind);
58
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * GAP-SEC: Posture-to-Policy Bridge.
3
+ *
4
+ * Converts breakpoint approval postures into governance PolicyRule[] so they
5
+ * can be evaluated by the unified policy engine.
6
+ */
7
+ import type { ActionCategory, ApprovalPosture } from "@a5c-ai/babysitter-sdk";
8
+ import type { PolicyRule } from './types';
9
+ /**
10
+ * Convert a single posture for a given action category into PolicyRule[].
11
+ */
12
+ export declare function postureToPolicyRules(category: ActionCategory, posture: ApprovalPosture): PolicyRule[];
13
+ /**
14
+ * Convert all DEFAULT_POSTURES (optionally overridden) into a sorted PolicyRule[].
15
+ */
16
+ export declare function allPosturesToPolicies(overrides?: Partial<Record<ActionCategory, Partial<ApprovalPosture>>>): PolicyRule[];
17
+ //# sourceMappingURL=postureBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postureBridge.d.ts","sourceRoot":"","sources":["../../src/governance/postureBridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAqB1C;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,eAAe,GACvB,UAAU,EAAE,CAwEd;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GACpE,UAAU,EAAE,CAed"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-SEC: Posture-to-Policy Bridge.
4
+ *
5
+ * Converts breakpoint approval postures into governance PolicyRule[] so they
6
+ * can be evaluated by the unified policy engine.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.postureToPolicyRules = postureToPolicyRules;
10
+ exports.allPosturesToPolicies = allPosturesToPolicies;
11
+ const postures_1 = require("../breakpoints/postures");
12
+ // ---------------------------------------------------------------------------
13
+ // Priority map by posture name
14
+ // ---------------------------------------------------------------------------
15
+ const POSTURE_PRIORITY = {
16
+ locked: 200,
17
+ guarded: 150,
18
+ cautious: 100,
19
+ permissive: 50,
20
+ };
21
+ function priorityForPosture(posture) {
22
+ return POSTURE_PRIORITY[posture.name] ?? 75;
23
+ }
24
+ // ---------------------------------------------------------------------------
25
+ // Core functions
26
+ // ---------------------------------------------------------------------------
27
+ /**
28
+ * Convert a single posture for a given action category into PolicyRule[].
29
+ */
30
+ function postureToPolicyRules(category, posture) {
31
+ const rules = [];
32
+ const basePriority = priorityForPosture(posture);
33
+ if (!posture.allowAutoApprove) {
34
+ // Locked: deny auto-approval entirely
35
+ rules.push({
36
+ id: `posture:${category}:deny-auto-approve`,
37
+ kind: 'permission',
38
+ condition: { field: 'labels', op: 'contains', value: category },
39
+ action: 'deny',
40
+ priority: basePriority,
41
+ metadata: {
42
+ source: 'posture-bridge',
43
+ category,
44
+ postureName: posture.name,
45
+ requiredApproverLevel: posture.requiredApproverLevel ?? 'any',
46
+ minConsecutiveApprovals: String(posture.minConsecutiveApprovalsForAutoN),
47
+ },
48
+ });
49
+ }
50
+ else if (posture.requireExplicitRule) {
51
+ // Guarded: warn (require explicit rule)
52
+ rules.push({
53
+ id: `posture:${category}:require-explicit-rule`,
54
+ kind: 'permission',
55
+ condition: { field: 'labels', op: 'contains', value: category },
56
+ action: 'warn',
57
+ priority: basePriority,
58
+ metadata: {
59
+ source: 'posture-bridge',
60
+ category,
61
+ postureName: posture.name,
62
+ requireExplicitRule: 'true',
63
+ minConsecutiveApprovals: String(posture.minConsecutiveApprovalsForAutoN),
64
+ },
65
+ });
66
+ }
67
+ else {
68
+ // Cautious or permissive: allow
69
+ rules.push({
70
+ id: `posture:${category}:allow-auto-approve`,
71
+ kind: 'permission',
72
+ condition: { field: 'labels', op: 'contains', value: category },
73
+ action: 'allow',
74
+ priority: basePriority,
75
+ metadata: {
76
+ source: 'posture-bridge',
77
+ category,
78
+ postureName: posture.name,
79
+ minConsecutiveApprovals: String(posture.minConsecutiveApprovalsForAutoN),
80
+ },
81
+ });
82
+ }
83
+ // If the posture has minConsecutiveApprovalsForAutoN > 0 and allows auto-approve,
84
+ // add an advisory warn rule for the threshold
85
+ if (posture.allowAutoApprove && posture.minConsecutiveApprovalsForAutoN > 0) {
86
+ rules.push({
87
+ id: `posture:${category}:consecutive-threshold`,
88
+ kind: 'resource-limit',
89
+ condition: { field: 'labels', op: 'contains', value: category },
90
+ action: 'warn',
91
+ priority: basePriority - 1,
92
+ metadata: {
93
+ source: 'posture-bridge',
94
+ category,
95
+ postureName: posture.name,
96
+ minConsecutiveApprovals: String(posture.minConsecutiveApprovalsForAutoN),
97
+ },
98
+ });
99
+ }
100
+ return rules;
101
+ }
102
+ /**
103
+ * Convert all DEFAULT_POSTURES (optionally overridden) into a sorted PolicyRule[].
104
+ */
105
+ function allPosturesToPolicies(overrides) {
106
+ const categories = ['read', 'write', 'execute', 'destroy', 'network', 'auth'];
107
+ const allRules = [];
108
+ for (const category of categories) {
109
+ const base = postures_1.DEFAULT_POSTURES[category];
110
+ const categoryOverrides = overrides?.[category];
111
+ const posture = categoryOverrides ? { ...base, ...categoryOverrides } : base;
112
+ allRules.push(...postureToPolicyRules(category, posture));
113
+ }
114
+ // Sort by priority descending
115
+ allRules.sort((a, b) => b.priority - a.priority);
116
+ return allRules;
117
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * GAP-SEC-007: Privacy Settings.
3
+ *
4
+ * Defines privacy levels and filtering logic for controlling what
5
+ * telemetry, log data, and file contents are collected or shared.
6
+ */
7
+ export type PrivacyLevel = 'full' | 'redacted' | 'anonymous' | 'off';
8
+ export interface PrivacySettings {
9
+ /** Level of telemetry data collection. */
10
+ telemetryLevel: PrivacyLevel;
11
+ /** Level of log data retention. */
12
+ logLevel: PrivacyLevel;
13
+ /** Whether file contents may be included in telemetry/logs. */
14
+ includeFileContents: boolean;
15
+ /** Whether file paths may be included. */
16
+ includePaths: boolean;
17
+ /** Whether session data may be shared externally. */
18
+ shareSessionData: boolean;
19
+ }
20
+ export declare const DEFAULT_PRIVACY_SETTINGS: Readonly<PrivacySettings>;
21
+ /**
22
+ * Apply privacy filtering to a data object.
23
+ * Returns a new object with sensitive fields redacted according to settings.
24
+ */
25
+ export declare function applyPrivacyFilter(data: Record<string, unknown>, settings: PrivacySettings): Record<string, unknown>;
26
+ /**
27
+ * Determine whether a telemetry/log event should be collected
28
+ * given the current privacy settings.
29
+ */
30
+ export declare function shouldCollect(eventType: string, settings: PrivacySettings): boolean;
31
+ //# sourceMappingURL=privacySettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacySettings.d.ts","sourceRoot":"","sources":["../../src/governance/privacySettings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,cAAc,EAAE,YAAY,CAAC;IAC7B,mCAAmC;IACnC,QAAQ,EAAE,YAAY,CAAC;IACvB,+DAA+D;IAC/D,mBAAmB,EAAE,OAAO,CAAC;IAC7B,0CAA0C;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAMD,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAM7D,CAAC;AAuBH;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,EAAE,eAAe,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiDzB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAUT"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-SEC-007: Privacy Settings.
4
+ *
5
+ * Defines privacy levels and filtering logic for controlling what
6
+ * telemetry, log data, and file contents are collected or shared.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DEFAULT_PRIVACY_SETTINGS = void 0;
10
+ exports.applyPrivacyFilter = applyPrivacyFilter;
11
+ exports.shouldCollect = shouldCollect;
12
+ // ---------------------------------------------------------------------------
13
+ // Constants
14
+ // ---------------------------------------------------------------------------
15
+ exports.DEFAULT_PRIVACY_SETTINGS = Object.freeze({
16
+ telemetryLevel: 'redacted',
17
+ logLevel: 'redacted',
18
+ includeFileContents: false,
19
+ includePaths: true,
20
+ shareSessionData: false,
21
+ });
22
+ // ---------------------------------------------------------------------------
23
+ // Sensitive field patterns
24
+ // ---------------------------------------------------------------------------
25
+ const SENSITIVE_KEYS = new Set([
26
+ 'password', 'secret', 'token', 'apiKey', 'api_key',
27
+ 'accessToken', 'access_token', 'refreshToken', 'refresh_token',
28
+ 'authorization', 'credentials', 'private_key', 'privateKey',
29
+ 'cookie', 'session_id', 'sessionId', 'ssn', 'credit_card',
30
+ ]);
31
+ function isSensitiveKey(key) {
32
+ return SENSITIVE_KEYS.has(key) ||
33
+ SENSITIVE_KEYS.has(key.toLowerCase()) ||
34
+ /password|secret|token|key|credential/i.test(key);
35
+ }
36
+ // ---------------------------------------------------------------------------
37
+ // Functions
38
+ // ---------------------------------------------------------------------------
39
+ /**
40
+ * Apply privacy filtering to a data object.
41
+ * Returns a new object with sensitive fields redacted according to settings.
42
+ */
43
+ function applyPrivacyFilter(data, settings) {
44
+ if (settings.telemetryLevel === 'off') {
45
+ return {};
46
+ }
47
+ if (settings.telemetryLevel === 'full') {
48
+ return { ...data };
49
+ }
50
+ const result = {};
51
+ for (const [key, value] of Object.entries(data)) {
52
+ // Redact sensitive keys
53
+ if (isSensitiveKey(key)) {
54
+ if (settings.telemetryLevel === 'anonymous') {
55
+ continue; // drop entirely
56
+ }
57
+ result[key] = '[REDACTED]';
58
+ continue;
59
+ }
60
+ // Handle file paths
61
+ if (!settings.includePaths && typeof value === 'string' && looksLikePath(value)) {
62
+ result[key] = '[PATH_REDACTED]';
63
+ continue;
64
+ }
65
+ // Handle file contents
66
+ if (!settings.includeFileContents && key === 'fileContents') {
67
+ result[key] = '[CONTENT_REDACTED]';
68
+ continue;
69
+ }
70
+ // Recurse into nested objects
71
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
72
+ result[key] = applyPrivacyFilter(value, settings);
73
+ continue;
74
+ }
75
+ // In anonymous mode, strip string values that might contain PII
76
+ if (settings.telemetryLevel === 'anonymous' && typeof value === 'string') {
77
+ result[key] = '[ANONYMOUS]';
78
+ continue;
79
+ }
80
+ result[key] = value;
81
+ }
82
+ return result;
83
+ }
84
+ /**
85
+ * Determine whether a telemetry/log event should be collected
86
+ * given the current privacy settings.
87
+ */
88
+ function shouldCollect(eventType, settings) {
89
+ if (settings.telemetryLevel === 'off')
90
+ return false;
91
+ // Session sharing events require explicit opt-in
92
+ if (eventType === 'session_share' && !settings.shareSessionData)
93
+ return false;
94
+ // File content events require includeFileContents
95
+ if (eventType === 'file_content' && !settings.includeFileContents)
96
+ return false;
97
+ return true;
98
+ }
99
+ // ---------------------------------------------------------------------------
100
+ // Helpers
101
+ // ---------------------------------------------------------------------------
102
+ function looksLikePath(value) {
103
+ return /^(\/|[A-Z]:\\|~\/)/.test(value) || /\.(ts|js|json|md|py|go|rs)$/.test(value);
104
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Sandbox-to-governance bridge (GAP-SEC-002).
3
+ * Converts sandbox decisions into interaction requests and governance events,
4
+ * and derives child sandbox policies from mandate scopes.
5
+ */
6
+ import type { SandboxDecision, SandboxOperation, SandboxPolicy } from './sandboxPolicy';
7
+ export interface SandboxEvent {
8
+ kind: string;
9
+ operation: SandboxOperation;
10
+ decision: SandboxDecision;
11
+ timestamp: string;
12
+ source: string;
13
+ mandateId?: string;
14
+ }
15
+ export interface SandboxInteraction {
16
+ kind: 'approval';
17
+ operationKind?: string;
18
+ operationTarget?: string;
19
+ reason?: string;
20
+ }
21
+ interface BuildSandboxEventOptions {
22
+ mandateId?: string;
23
+ source?: string;
24
+ }
25
+ interface MandateScopeLike {
26
+ allowedEffectKinds: string[];
27
+ maxIterations: number;
28
+ maxConcurrentTasks: number;
29
+ timeoutMs: number;
30
+ }
31
+ /**
32
+ * Convert a sandbox decision to an interaction request.
33
+ * Returns null for allow/block (no human input needed), returns an approval
34
+ * interaction for prompt decisions.
35
+ */
36
+ export declare function sandboxDecisionToInteraction(decision: SandboxDecision, operation?: SandboxOperation): SandboxInteraction | null;
37
+ /**
38
+ * Build a SandboxEvent with auto-timestamp and default source.
39
+ */
40
+ export declare function buildSandboxEvent(operation: SandboxOperation, decision: SandboxDecision, options?: BuildSandboxEventOptions): SandboxEvent;
41
+ /**
42
+ * Derive a child sandbox policy from a parent policy respecting mandate scope.
43
+ * - All parent block rules are always inherited.
44
+ * - Allow/prompt rules are only inherited if their kind is within the mandate's
45
+ * allowedEffectKinds (or if allowedEffectKinds contains '*').
46
+ */
47
+ export declare function inheritSandboxPolicy(parentPolicy: SandboxPolicy, mandateScope: MandateScopeLike): SandboxPolicy;
48
+ export {};
49
+ //# sourceMappingURL=sandboxBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxBridge.d.ts","sourceRoot":"","sources":["../../src/governance/sandboxBridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EAEd,MAAM,iBAAiB,CAAC;AAMzB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,wBAAwB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,gBAAgB;IACxB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,eAAe,EACzB,SAAS,CAAC,EAAE,gBAAgB,GAC3B,kBAAkB,GAAG,IAAI,CAmB3B;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,wBAAwB,GACjC,YAAY,CASd;AAMD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,gBAAgB,GAC7B,aAAa,CAmBf"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ /**
3
+ * Sandbox-to-governance bridge (GAP-SEC-002).
4
+ * Converts sandbox decisions into interaction requests and governance events,
5
+ * and derives child sandbox policies from mandate scopes.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.sandboxDecisionToInteraction = sandboxDecisionToInteraction;
9
+ exports.buildSandboxEvent = buildSandboxEvent;
10
+ exports.inheritSandboxPolicy = inheritSandboxPolicy;
11
+ // ---------------------------------------------------------------------------
12
+ // Decision → Interaction
13
+ // ---------------------------------------------------------------------------
14
+ /**
15
+ * Convert a sandbox decision to an interaction request.
16
+ * Returns null for allow/block (no human input needed), returns an approval
17
+ * interaction for prompt decisions.
18
+ */
19
+ function sandboxDecisionToInteraction(decision, operation) {
20
+ if (decision.action !== 'prompt') {
21
+ return null;
22
+ }
23
+ const interaction = {
24
+ kind: 'approval',
25
+ };
26
+ if (operation) {
27
+ interaction.operationKind = operation.kind;
28
+ interaction.operationTarget = operation.target;
29
+ }
30
+ if (decision.reason) {
31
+ interaction.reason = decision.reason;
32
+ }
33
+ return interaction;
34
+ }
35
+ // ---------------------------------------------------------------------------
36
+ // Event factory
37
+ // ---------------------------------------------------------------------------
38
+ /**
39
+ * Build a SandboxEvent with auto-timestamp and default source.
40
+ */
41
+ function buildSandboxEvent(operation, decision, options) {
42
+ return {
43
+ kind: `sandbox.${operation.kind}`,
44
+ operation,
45
+ decision,
46
+ timestamp: new Date().toISOString(),
47
+ source: options?.source ?? 'sandbox',
48
+ ...(options?.mandateId ? { mandateId: options.mandateId } : {}),
49
+ };
50
+ }
51
+ // ---------------------------------------------------------------------------
52
+ // Policy inheritance from mandate scope
53
+ // ---------------------------------------------------------------------------
54
+ /**
55
+ * Derive a child sandbox policy from a parent policy respecting mandate scope.
56
+ * - All parent block rules are always inherited.
57
+ * - Allow/prompt rules are only inherited if their kind is within the mandate's
58
+ * allowedEffectKinds (or if allowedEffectKinds contains '*').
59
+ */
60
+ function inheritSandboxPolicy(parentPolicy, mandateScope) {
61
+ const allowAll = mandateScope.allowedEffectKinds.includes('*');
62
+ const childRules = [];
63
+ for (const rule of parentPolicy.rules) {
64
+ if (rule.action === 'block') {
65
+ // Always inherit blocks
66
+ childRules.push({ ...rule });
67
+ }
68
+ else if (allowAll || mandateScope.allowedEffectKinds.includes(rule.kind)) {
69
+ // Only inherit allow/prompt if mandate permits this kind
70
+ childRules.push({ ...rule });
71
+ }
72
+ }
73
+ return {
74
+ rules: childRules,
75
+ defaultAction: parentPolicy.defaultAction,
76
+ };
77
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Sandbox policy evaluation for tool/operation sandboxing (GAP-SEC-002).
3
+ * Provides glob-based rule matching, policy composition with deny-overrides,
4
+ * and policy attenuation for child scopes.
5
+ */
6
+ export type SandboxOperationKind = 'fs.read' | 'fs.write' | 'fs.delete' | 'net.outbound' | 'net.inbound' | 'exec.shell' | 'exec.process';
7
+ export interface SandboxRule {
8
+ kind: SandboxOperationKind;
9
+ pattern: string;
10
+ action: 'allow' | 'block' | 'prompt';
11
+ priority: number;
12
+ }
13
+ export interface SandboxPolicy {
14
+ rules: SandboxRule[];
15
+ defaultAction: 'allow' | 'block' | 'prompt';
16
+ }
17
+ export interface SandboxDecision {
18
+ action: 'allow' | 'block' | 'prompt';
19
+ matchedRule?: SandboxRule;
20
+ reason: string;
21
+ }
22
+ export interface SandboxOperation {
23
+ kind: SandboxOperationKind;
24
+ target: string;
25
+ metadata?: Record<string, unknown>;
26
+ }
27
+ /**
28
+ * Simple glob matching supporting:
29
+ * - `*` matches any characters within a single path segment (no `/`)
30
+ * - `**` matches any characters including `/` (recursive)
31
+ * - Exact match
32
+ */
33
+ export declare function matchesPattern(pattern: string, target: string): boolean;
34
+ /**
35
+ * Evaluate a sandbox operation against a policy.
36
+ * Matches rules by operation kind, selects highest-priority match,
37
+ * falls back to defaultAction.
38
+ */
39
+ export declare function evaluateSandboxAccess(policy: SandboxPolicy, operation: SandboxOperation): SandboxDecision;
40
+ /**
41
+ * Compose multiple sandbox policies with deny-overrides semantics.
42
+ * Block rules from any policy take precedence. Empty input yields default-deny.
43
+ */
44
+ export declare function composeSandboxPolicies(policies: SandboxPolicy[]): SandboxPolicy;
45
+ /**
46
+ * Attenuate a parent policy with child constraints.
47
+ * The child can only narrow permissions: block additions are kept,
48
+ * allow rules that conflict with parent blocks are dropped.
49
+ */
50
+ export declare function attenuateSandboxPolicy(parent: SandboxPolicy, childConstraints: SandboxPolicy): SandboxPolicy;
51
+ //# sourceMappingURL=sandboxPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxPolicy.d.ts","sourceRoot":"","sources":["../../src/governance/sandboxPolicy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT,UAAU,GACV,WAAW,GACX,cAAc,GACd,aAAa,GACb,YAAY,GACZ,cAAc,CAAC;AAEnB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC7C;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CA8BvE;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,gBAAgB,GAC1B,eAAe,CAyBjB;AAMD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,CAiD/E;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,gBAAgB,EAAE,aAAa,GAC9B,aAAa,CAoCf"}