@a5c-ai/agent-platform 5.0.1-staging.016f0b0e8119

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 (545) hide show
  1. package/README.md +48 -0
  2. package/dist/anycli/cache.d.ts +45 -0
  3. package/dist/anycli/cache.d.ts.map +1 -0
  4. package/dist/anycli/cache.js +118 -0
  5. package/dist/anycli/index.d.ts +10 -0
  6. package/dist/anycli/index.d.ts.map +1 -0
  7. package/dist/anycli/index.js +25 -0
  8. package/dist/anycli/types.d.ts +32 -0
  9. package/dist/anycli/types.d.ts.map +1 -0
  10. package/dist/anycli/types.js +9 -0
  11. package/dist/api/breakpoints.d.ts +93 -0
  12. package/dist/api/breakpoints.d.ts.map +1 -0
  13. package/dist/api/breakpoints.js +334 -0
  14. package/dist/api/effects.d.ts +14 -0
  15. package/dist/api/effects.d.ts.map +1 -0
  16. package/dist/api/effects.js +306 -0
  17. package/dist/api/effectsTypes.d.ts +79 -0
  18. package/dist/api/effectsTypes.d.ts.map +1 -0
  19. package/dist/api/effectsTypes.js +6 -0
  20. package/dist/api/eventStream.d.ts +34 -0
  21. package/dist/api/eventStream.d.ts.map +1 -0
  22. package/dist/api/eventStream.js +126 -0
  23. package/dist/api/index.d.ts +10 -0
  24. package/dist/api/index.d.ts.map +1 -0
  25. package/dist/api/index.js +27 -0
  26. package/dist/api/runs.d.ts +85 -0
  27. package/dist/api/runs.d.ts.map +1 -0
  28. package/dist/api/runs.js +247 -0
  29. package/dist/api/utils.d.ts +28 -0
  30. package/dist/api/utils.d.ts.map +1 -0
  31. package/dist/api/utils.js +74 -0
  32. package/dist/breakpoints/approvalChains.d.ts +68 -0
  33. package/dist/breakpoints/approvalChains.d.ts.map +1 -0
  34. package/dist/breakpoints/approvalChains.js +111 -0
  35. package/dist/breakpoints/delegation.d.ts +42 -0
  36. package/dist/breakpoints/delegation.d.ts.map +1 -0
  37. package/dist/breakpoints/delegation.js +199 -0
  38. package/dist/breakpoints/delegationTypes.d.ts +46 -0
  39. package/dist/breakpoints/delegationTypes.d.ts.map +1 -0
  40. package/dist/breakpoints/delegationTypes.js +10 -0
  41. package/dist/breakpoints/postures.d.ts +28 -0
  42. package/dist/breakpoints/postures.d.ts.map +1 -0
  43. package/dist/breakpoints/postures.js +100 -0
  44. package/dist/compression/compaction.d.ts +82 -0
  45. package/dist/compression/compaction.d.ts.map +1 -0
  46. package/dist/compression/compaction.js +310 -0
  47. package/dist/cost/claudeCodeParser.d.ts +81 -0
  48. package/dist/cost/claudeCodeParser.d.ts.map +1 -0
  49. package/dist/cost/claudeCodeParser.js +232 -0
  50. package/dist/cost/collector.d.ts +42 -0
  51. package/dist/cost/collector.d.ts.map +1 -0
  52. package/dist/cost/collector.js +105 -0
  53. package/dist/cost/effectCost.d.ts +23 -0
  54. package/dist/cost/effectCost.d.ts.map +1 -0
  55. package/dist/cost/effectCost.js +26 -0
  56. package/dist/cost/index.d.ts +7 -0
  57. package/dist/cost/index.d.ts.map +1 -0
  58. package/dist/cost/index.js +28 -0
  59. package/dist/cost/journal.d.ts +40 -0
  60. package/dist/cost/journal.d.ts.map +1 -0
  61. package/dist/cost/journal.js +137 -0
  62. package/dist/cost/types.d.ts +164 -0
  63. package/dist/cost/types.d.ts.map +1 -0
  64. package/dist/cost/types.js +228 -0
  65. package/dist/daemon/automationExecutor.d.ts +16 -0
  66. package/dist/daemon/automationExecutor.d.ts.map +1 -0
  67. package/dist/daemon/automationExecutor.js +222 -0
  68. package/dist/daemon/config.d.ts +8 -0
  69. package/dist/daemon/config.d.ts.map +1 -0
  70. package/dist/daemon/config.js +209 -0
  71. package/dist/daemon/daemonLog.d.ts +13 -0
  72. package/dist/daemon/daemonLog.d.ts.map +1 -0
  73. package/dist/daemon/daemonLog.js +64 -0
  74. package/dist/daemon/fileWatcher.d.ts +9 -0
  75. package/dist/daemon/fileWatcher.d.ts.map +1 -0
  76. package/dist/daemon/fileWatcher.js +141 -0
  77. package/dist/daemon/index.d.ts +9 -0
  78. package/dist/daemon/index.d.ts.map +1 -0
  79. package/dist/daemon/index.js +25 -0
  80. package/dist/daemon/lifecycle.d.ts +12 -0
  81. package/dist/daemon/lifecycle.d.ts.map +1 -0
  82. package/dist/daemon/lifecycle.js +257 -0
  83. package/dist/daemon/loop.d.ts +21 -0
  84. package/dist/daemon/loop.d.ts.map +1 -0
  85. package/dist/daemon/loop.js +196 -0
  86. package/dist/daemon/timerScheduler.d.ts +13 -0
  87. package/dist/daemon/timerScheduler.d.ts.map +1 -0
  88. package/dist/daemon/timerScheduler.js +122 -0
  89. package/dist/daemon/types.d.ts +93 -0
  90. package/dist/daemon/types.d.ts.map +1 -0
  91. package/dist/daemon/types.js +25 -0
  92. package/dist/daemon/webhookListener.d.ts +6 -0
  93. package/dist/daemon/webhookListener.d.ts.map +1 -0
  94. package/dist/daemon/webhookListener.js +110 -0
  95. package/dist/governance/authority.d.ts +68 -0
  96. package/dist/governance/authority.d.ts.map +1 -0
  97. package/dist/governance/authority.js +136 -0
  98. package/dist/governance/bridge.d.ts +17 -0
  99. package/dist/governance/bridge.d.ts.map +1 -0
  100. package/dist/governance/bridge.js +46 -0
  101. package/dist/governance/builtins.d.ts +25 -0
  102. package/dist/governance/builtins.d.ts.map +1 -0
  103. package/dist/governance/builtins.js +67 -0
  104. package/dist/governance/categories.d.ts +58 -0
  105. package/dist/governance/categories.d.ts.map +1 -0
  106. package/dist/governance/categories.js +120 -0
  107. package/dist/governance/decisionTrail.d.ts +60 -0
  108. package/dist/governance/decisionTrail.d.ts.map +1 -0
  109. package/dist/governance/decisionTrail.js +68 -0
  110. package/dist/governance/engine.d.ts +20 -0
  111. package/dist/governance/engine.d.ts.map +1 -0
  112. package/dist/governance/engine.js +124 -0
  113. package/dist/governance/index.d.ts +20 -0
  114. package/dist/governance/index.d.ts.map +1 -0
  115. package/dist/governance/index.js +75 -0
  116. package/dist/governance/logging.d.ts +18 -0
  117. package/dist/governance/logging.d.ts.map +1 -0
  118. package/dist/governance/logging.js +83 -0
  119. package/dist/governance/mandate.d.ts +83 -0
  120. package/dist/governance/mandate.d.ts.map +1 -0
  121. package/dist/governance/mandate.js +180 -0
  122. package/dist/governance/permissionEvents.d.ts +51 -0
  123. package/dist/governance/permissionEvents.d.ts.map +1 -0
  124. package/dist/governance/permissionEvents.js +52 -0
  125. package/dist/governance/permissionPropagation.d.ts +18 -0
  126. package/dist/governance/permissionPropagation.d.ts.map +1 -0
  127. package/dist/governance/permissionPropagation.js +58 -0
  128. package/dist/governance/postureBridge.d.ts +17 -0
  129. package/dist/governance/postureBridge.d.ts.map +1 -0
  130. package/dist/governance/postureBridge.js +117 -0
  131. package/dist/governance/sandboxBridge.d.ts +49 -0
  132. package/dist/governance/sandboxBridge.d.ts.map +1 -0
  133. package/dist/governance/sandboxBridge.js +77 -0
  134. package/dist/governance/sandboxPolicy.d.ts +51 -0
  135. package/dist/governance/sandboxPolicy.d.ts.map +1 -0
  136. package/dist/governance/sandboxPolicy.js +177 -0
  137. package/dist/governance/types.d.ts +3 -0
  138. package/dist/governance/types.d.ts.map +1 -0
  139. package/dist/governance/types.js +5 -0
  140. package/dist/harness/amux/amuxBridge.d.ts +71 -0
  141. package/dist/harness/amux/amuxBridge.d.ts.map +1 -0
  142. package/dist/harness/amux/amuxBridge.js +117 -0
  143. package/dist/harness/amux/amuxClientFactory.d.ts +29 -0
  144. package/dist/harness/amux/amuxClientFactory.d.ts.map +1 -0
  145. package/dist/harness/amux/amuxClientFactory.js +90 -0
  146. package/dist/harness/amux/amuxEventEmitter.d.ts +51 -0
  147. package/dist/harness/amux/amuxEventEmitter.d.ts.map +1 -0
  148. package/dist/harness/amux/amuxEventEmitter.js +143 -0
  149. package/dist/harness/amux/amuxEventMapper.d.ts +58 -0
  150. package/dist/harness/amux/amuxEventMapper.d.ts.map +1 -0
  151. package/dist/harness/amux/amuxEventMapper.js +92 -0
  152. package/dist/harness/amux/amuxHarnessMap.d.ts +25 -0
  153. package/dist/harness/amux/amuxHarnessMap.d.ts.map +1 -0
  154. package/dist/harness/amux/amuxHarnessMap.js +55 -0
  155. package/dist/harness/amux/amuxStdinReader.d.ts +45 -0
  156. package/dist/harness/amux/amuxStdinReader.d.ts.map +1 -0
  157. package/dist/harness/amux/amuxStdinReader.js +106 -0
  158. package/dist/harness/amux/amuxTypes.d.ts +122 -0
  159. package/dist/harness/amux/amuxTypes.d.ts.map +1 -0
  160. package/dist/harness/amux/amuxTypes.js +11 -0
  161. package/dist/harness/amux/index.d.ts +17 -0
  162. package/dist/harness/amux/index.d.ts.map +1 -0
  163. package/dist/harness/amux/index.js +34 -0
  164. package/dist/harness/backgroundTracker.d.ts +64 -0
  165. package/dist/harness/backgroundTracker.d.ts.map +1 -0
  166. package/dist/harness/backgroundTracker.js +107 -0
  167. package/dist/harness/builtInHarness.d.ts +3 -0
  168. package/dist/harness/builtInHarness.d.ts.map +1 -0
  169. package/dist/harness/builtInHarness.js +18 -0
  170. package/dist/harness/capabilityRouter.d.ts +76 -0
  171. package/dist/harness/capabilityRouter.d.ts.map +1 -0
  172. package/dist/harness/capabilityRouter.js +176 -0
  173. package/dist/harness/fallbackChains.d.ts +42 -0
  174. package/dist/harness/fallbackChains.d.ts.map +1 -0
  175. package/dist/harness/fallbackChains.js +69 -0
  176. package/dist/harness/hostContract.d.ts +63 -0
  177. package/dist/harness/hostContract.d.ts.map +1 -0
  178. package/dist/harness/hostContract.js +136 -0
  179. package/dist/harness/index.d.ts +18 -0
  180. package/dist/harness/index.d.ts.map +1 -0
  181. package/dist/harness/index.js +91 -0
  182. package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
  183. package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
  184. package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
  185. package/dist/harness/internal/createRun/index.d.ts +25 -0
  186. package/dist/harness/internal/createRun/index.d.ts.map +1 -0
  187. package/dist/harness/internal/createRun/index.js +137 -0
  188. package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
  189. package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
  190. package/dist/harness/internal/createRun/orchestration/constants.js +13 -0
  191. package/dist/harness/internal/createRun/orchestration/effects.d.ts +43 -0
  192. package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
  193. package/dist/harness/internal/createRun/orchestration/effects.js +490 -0
  194. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +20 -0
  195. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
  196. package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +79 -0
  197. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
  198. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
  199. package/dist/harness/internal/createRun/orchestration/externalPhase.js +319 -0
  200. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
  201. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
  202. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +104 -0
  203. package/dist/harness/internal/createRun/orchestration/index.d.ts +14 -0
  204. package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
  205. package/dist/harness/internal/createRun/orchestration/index.js +36 -0
  206. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
  207. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
  208. package/dist/harness/internal/createRun/orchestration/internalPhase.js +464 -0
  209. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +26 -0
  210. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
  211. package/dist/harness/internal/createRun/orchestration/internalTools.js +262 -0
  212. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
  213. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
  214. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
  215. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
  216. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
  217. package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
  218. package/dist/harness/internal/createRun/orchestration/types.d.ts +46 -0
  219. package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
  220. package/dist/harness/internal/createRun/orchestration/types.js +2 -0
  221. package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
  222. package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
  223. package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
  224. package/dist/harness/internal/createRun/output.d.ts +38 -0
  225. package/dist/harness/internal/createRun/output.d.ts.map +1 -0
  226. package/dist/harness/internal/createRun/output.js +415 -0
  227. package/dist/harness/internal/createRun/pi.d.ts +34 -0
  228. package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
  229. package/dist/harness/internal/createRun/pi.js +216 -0
  230. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
  231. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
  232. package/dist/harness/internal/createRun/planProcess/agentOutput.js +113 -0
  233. package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
  234. package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
  235. package/dist/harness/internal/createRun/planProcess/delegation.js +176 -0
  236. package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
  237. package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
  238. package/dist/harness/internal/createRun/planProcess/external.js +139 -0
  239. package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
  240. package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
  241. package/dist/harness/internal/createRun/planProcess/index.js +24 -0
  242. package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
  243. package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
  244. package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
  245. package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
  246. package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
  247. package/dist/harness/internal/createRun/planProcess/phase.js +361 -0
  248. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
  249. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
  250. package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -0
  251. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
  252. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
  253. package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
  254. package/dist/harness/internal/createRun/planProcess/prompts.d.ts +20 -0
  255. package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
  256. package/dist/harness/internal/createRun/planProcess/prompts.js +208 -0
  257. package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
  258. package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
  259. package/dist/harness/internal/createRun/planProcess/recovery.js +188 -0
  260. package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts +2 -0
  261. package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts.map +1 -0
  262. package/dist/harness/internal/createRun/planProcess/recovery.test.js +68 -0
  263. package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
  264. package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
  265. package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
  266. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
  267. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
  268. package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
  269. package/dist/harness/internal/createRun/planProcess/validation.d.ts +2 -0
  270. package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
  271. package/dist/harness/internal/createRun/planProcess/validation.js +212 -0
  272. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +11 -0
  273. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
  274. package/dist/harness/internal/createRun/planProcess/validationSource.js +328 -0
  275. package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
  276. package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
  277. package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
  278. package/dist/harness/internal/createRun/prompts.d.ts +49 -0
  279. package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
  280. package/dist/harness/internal/createRun/prompts.js +307 -0
  281. package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
  282. package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
  283. package/dist/harness/internal/createRun/resumeState.js +133 -0
  284. package/dist/harness/internal/createRun/utils.d.ts +182 -0
  285. package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
  286. package/dist/harness/internal/createRun/utils.js +133 -0
  287. package/dist/harness/internal.d.ts +13 -0
  288. package/dist/harness/internal.d.ts.map +1 -0
  289. package/dist/harness/internal.js +149 -0
  290. package/dist/harness/invoker/launch.d.ts +20 -0
  291. package/dist/harness/invoker/launch.d.ts.map +1 -0
  292. package/dist/harness/invoker/launch.js +23 -0
  293. package/dist/harness/invoker/processControl.d.ts +11 -0
  294. package/dist/harness/invoker/processControl.d.ts.map +1 -0
  295. package/dist/harness/invoker/processControl.js +50 -0
  296. package/dist/harness/invoker.d.ts +43 -0
  297. package/dist/harness/invoker.d.ts.map +1 -0
  298. package/dist/harness/invoker.js +210 -0
  299. package/dist/harness/modeSelector.d.ts +50 -0
  300. package/dist/harness/modeSelector.d.ts.map +1 -0
  301. package/dist/harness/modeSelector.js +124 -0
  302. package/dist/harness/modelSelection.d.ts +37 -0
  303. package/dist/harness/modelSelection.d.ts.map +1 -0
  304. package/dist/harness/modelSelection.js +81 -0
  305. package/dist/harness/operatorCommands.d.ts +38 -0
  306. package/dist/harness/operatorCommands.d.ts.map +1 -0
  307. package/dist/harness/operatorCommands.js +118 -0
  308. package/dist/harness/piSecureSandbox.d.ts +8 -0
  309. package/dist/harness/piSecureSandbox.d.ts.map +1 -0
  310. package/dist/harness/piSecureSandbox.js +366 -0
  311. package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
  312. package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
  313. package/dist/harness/piSecureSandboxTypes.js +6 -0
  314. package/dist/harness/piWrapper/compaction.d.ts +13 -0
  315. package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
  316. package/dist/harness/piWrapper/compaction.js +38 -0
  317. package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
  318. package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
  319. package/dist/harness/piWrapper/instructionPrompts.js +97 -0
  320. package/dist/harness/piWrapper/moduleSupport.d.ts +77 -0
  321. package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
  322. package/dist/harness/piWrapper/moduleSupport.js +204 -0
  323. package/dist/harness/piWrapper.d.ts +80 -0
  324. package/dist/harness/piWrapper.d.ts.map +1 -0
  325. package/dist/harness/piWrapper.js +389 -0
  326. package/dist/harness/piWrapper.test.d.ts +2 -0
  327. package/dist/harness/piWrapper.test.d.ts.map +1 -0
  328. package/dist/harness/piWrapper.test.js +193 -0
  329. package/dist/harness/planMode.d.ts +68 -0
  330. package/dist/harness/planMode.d.ts.map +1 -0
  331. package/dist/harness/planMode.js +145 -0
  332. package/dist/harness/selectionPolicies.d.ts +29 -0
  333. package/dist/harness/selectionPolicies.d.ts.map +1 -0
  334. package/dist/harness/selectionPolicies.js +165 -0
  335. package/dist/harness/types.d.ts +266 -0
  336. package/dist/harness/types.d.ts.map +1 -0
  337. package/dist/harness/types.js +34 -0
  338. package/dist/index.d.ts +16 -0
  339. package/dist/index.d.ts.map +1 -0
  340. package/dist/index.js +54 -0
  341. package/dist/interaction/askUserQuestion/core.d.ts +8 -0
  342. package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
  343. package/dist/interaction/askUserQuestion/core.js +112 -0
  344. package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
  345. package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
  346. package/dist/interaction/askUserQuestion/terminal.js +128 -0
  347. package/dist/interaction/askUserQuestion.d.ts +10 -0
  348. package/dist/interaction/askUserQuestion.d.ts.map +1 -0
  349. package/dist/interaction/askUserQuestion.js +295 -0
  350. package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
  351. package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
  352. package/dist/interaction/askUserQuestionTypes.js +6 -0
  353. package/dist/interaction/index.d.ts +4 -0
  354. package/dist/interaction/index.d.ts.map +1 -0
  355. package/dist/interaction/index.js +20 -0
  356. package/dist/interaction/interactionRouter.d.ts +25 -0
  357. package/dist/interaction/interactionRouter.d.ts.map +1 -0
  358. package/dist/interaction/interactionRouter.js +55 -0
  359. package/dist/mcp/channels/allowlist.d.ts +19 -0
  360. package/dist/mcp/channels/allowlist.d.ts.map +1 -0
  361. package/dist/mcp/channels/allowlist.js +140 -0
  362. package/dist/mcp/channels/channelManager.d.ts +64 -0
  363. package/dist/mcp/channels/channelManager.d.ts.map +1 -0
  364. package/dist/mcp/channels/channelManager.js +137 -0
  365. package/dist/mcp/channels/inboundQueue.d.ts +47 -0
  366. package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
  367. package/dist/mcp/channels/inboundQueue.js +96 -0
  368. package/dist/mcp/channels/index.d.ts +17 -0
  369. package/dist/mcp/channels/index.d.ts.map +1 -0
  370. package/dist/mcp/channels/index.js +39 -0
  371. package/dist/mcp/channels/outbound.d.ts +33 -0
  372. package/dist/mcp/channels/outbound.d.ts.map +1 -0
  373. package/dist/mcp/channels/outbound.js +94 -0
  374. package/dist/mcp/channels/permissionRelay.d.ts +62 -0
  375. package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
  376. package/dist/mcp/channels/permissionRelay.js +159 -0
  377. package/dist/mcp/channels/types.d.ts +135 -0
  378. package/dist/mcp/channels/types.d.ts.map +1 -0
  379. package/dist/mcp/channels/types.js +16 -0
  380. package/dist/mcp/client/config.d.ts +28 -0
  381. package/dist/mcp/client/config.d.ts.map +1 -0
  382. package/dist/mcp/client/config.js +142 -0
  383. package/dist/mcp/client/executor.d.ts +30 -0
  384. package/dist/mcp/client/executor.d.ts.map +1 -0
  385. package/dist/mcp/client/executor.js +60 -0
  386. package/dist/mcp/client/index.d.ts +12 -0
  387. package/dist/mcp/client/index.d.ts.map +1 -0
  388. package/dist/mcp/client/index.js +27 -0
  389. package/dist/mcp/client/manager.d.ts +74 -0
  390. package/dist/mcp/client/manager.d.ts.map +1 -0
  391. package/dist/mcp/client/manager.js +214 -0
  392. package/dist/mcp/client/toolRegistry.d.ts +50 -0
  393. package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
  394. package/dist/mcp/client/toolRegistry.js +118 -0
  395. package/dist/mcp/client/types.d.ts +96 -0
  396. package/dist/mcp/client/types.d.ts.map +1 -0
  397. package/dist/mcp/client/types.js +15 -0
  398. package/dist/mcp/transport/index.d.ts +9 -0
  399. package/dist/mcp/transport/index.d.ts.map +1 -0
  400. package/dist/mcp/transport/index.js +13 -0
  401. package/dist/mcp/transport/session.d.ts +18 -0
  402. package/dist/mcp/transport/session.d.ts.map +1 -0
  403. package/dist/mcp/transport/session.js +78 -0
  404. package/dist/mcp/transport/types.d.ts +19 -0
  405. package/dist/mcp/transport/types.d.ts.map +1 -0
  406. package/dist/mcp/transport/types.js +7 -0
  407. package/dist/mcp/transport/websocket.d.ts +41 -0
  408. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  409. package/dist/mcp/transport/websocket.js +271 -0
  410. package/dist/observability/health.d.ts +19 -0
  411. package/dist/observability/health.d.ts.map +1 -0
  412. package/dist/observability/health.js +129 -0
  413. package/dist/observability/index.d.ts +7 -0
  414. package/dist/observability/index.d.ts.map +1 -0
  415. package/dist/observability/index.js +22 -0
  416. package/dist/observability/runStatus.d.ts +44 -0
  417. package/dist/observability/runStatus.d.ts.map +1 -0
  418. package/dist/observability/runStatus.js +169 -0
  419. package/dist/observability/timeline.d.ts +11 -0
  420. package/dist/observability/timeline.d.ts.map +1 -0
  421. package/dist/observability/timeline.js +176 -0
  422. package/dist/observability/types.d.ts +62 -0
  423. package/dist/observability/types.d.ts.map +1 -0
  424. package/dist/observability/types.js +8 -0
  425. package/dist/observability/webhooks.d.ts +68 -0
  426. package/dist/observability/webhooks.d.ts.map +1 -0
  427. package/dist/observability/webhooks.js +132 -0
  428. package/dist/plugins/index.d.ts +11 -0
  429. package/dist/plugins/index.d.ts.map +1 -0
  430. package/dist/plugins/index.js +18 -0
  431. package/dist/plugins/loader.d.ts +37 -0
  432. package/dist/plugins/loader.d.ts.map +1 -0
  433. package/dist/plugins/loader.js +112 -0
  434. package/dist/plugins/sandbox.d.ts +38 -0
  435. package/dist/plugins/sandbox.d.ts.map +1 -0
  436. package/dist/plugins/sandbox.js +109 -0
  437. package/dist/plugins/types.d.ts +27 -0
  438. package/dist/plugins/types.d.ts.map +1 -0
  439. package/dist/plugins/types.js +7 -0
  440. package/dist/plugins/version-check.d.ts +23 -0
  441. package/dist/plugins/version-check.d.ts.map +1 -0
  442. package/dist/plugins/version-check.js +70 -0
  443. package/dist/processes/index.d.ts +12 -0
  444. package/dist/processes/index.d.ts.map +1 -0
  445. package/dist/processes/index.js +15 -0
  446. package/dist/processes/recommender.d.ts +36 -0
  447. package/dist/processes/recommender.d.ts.map +1 -0
  448. package/dist/processes/recommender.js +73 -0
  449. package/dist/processes/scorer.d.ts +26 -0
  450. package/dist/processes/scorer.d.ts.map +1 -0
  451. package/dist/processes/scorer.js +104 -0
  452. package/dist/processes/types.d.ts +48 -0
  453. package/dist/processes/types.d.ts.map +1 -0
  454. package/dist/processes/types.js +9 -0
  455. package/dist/runtime/index.d.ts +3 -0
  456. package/dist/runtime/index.d.ts.map +1 -0
  457. package/dist/runtime/index.js +28 -0
  458. package/dist/seams/contract.d.ts +63 -0
  459. package/dist/seams/contract.d.ts.map +1 -0
  460. package/dist/seams/contract.js +138 -0
  461. package/dist/seams/contract.test.d.ts +2 -0
  462. package/dist/seams/contract.test.d.ts.map +1 -0
  463. package/dist/seams/contract.test.js +99 -0
  464. package/dist/seams/index.d.ts +3 -0
  465. package/dist/seams/index.d.ts.map +1 -0
  466. package/dist/seams/index.js +8 -0
  467. package/dist/session/context.d.ts +22 -0
  468. package/dist/session/context.d.ts.map +1 -0
  469. package/dist/session/context.js +113 -0
  470. package/dist/session/continuityState.d.ts +39 -0
  471. package/dist/session/continuityState.d.ts.map +1 -0
  472. package/dist/session/continuityState.js +164 -0
  473. package/dist/session/cost.d.ts +63 -0
  474. package/dist/session/cost.d.ts.map +1 -0
  475. package/dist/session/cost.js +194 -0
  476. package/dist/session/discovery.d.ts +22 -0
  477. package/dist/session/discovery.d.ts.map +1 -0
  478. package/dist/session/discovery.js +35 -0
  479. package/dist/session/history.d.ts +30 -0
  480. package/dist/session/history.d.ts.map +1 -0
  481. package/dist/session/history.js +143 -0
  482. package/dist/session/index.d.ts +7 -0
  483. package/dist/session/index.d.ts.map +1 -0
  484. package/dist/session/index.js +70 -0
  485. package/dist/session/memoryExtraction.d.ts +65 -0
  486. package/dist/session/memoryExtraction.d.ts.map +1 -0
  487. package/dist/session/memoryExtraction.js +201 -0
  488. package/dist/session/parse.d.ts +45 -0
  489. package/dist/session/parse.d.ts.map +1 -0
  490. package/dist/session/parse.js +170 -0
  491. package/dist/session/persistence.d.ts +46 -0
  492. package/dist/session/persistence.d.ts.map +1 -0
  493. package/dist/session/persistence.js +180 -0
  494. package/dist/session/types.d.ts +267 -0
  495. package/dist/session/types.d.ts.map +1 -0
  496. package/dist/session/types.js +45 -0
  497. package/dist/session/write.d.ts +61 -0
  498. package/dist/session/write.d.ts.map +1 -0
  499. package/dist/session/write.js +213 -0
  500. package/dist/skills/chain.d.ts +31 -0
  501. package/dist/skills/chain.d.ts.map +1 -0
  502. package/dist/skills/chain.js +113 -0
  503. package/dist/skills/discovery.d.ts +34 -0
  504. package/dist/skills/discovery.d.ts.map +1 -0
  505. package/dist/skills/discovery.js +185 -0
  506. package/dist/skills/index.d.ts +12 -0
  507. package/dist/skills/index.d.ts.map +1 -0
  508. package/dist/skills/index.js +18 -0
  509. package/dist/skills/router.d.ts +35 -0
  510. package/dist/skills/router.d.ts.map +1 -0
  511. package/dist/skills/router.js +143 -0
  512. package/dist/skills/types.d.ts +33 -0
  513. package/dist/skills/types.d.ts.map +1 -0
  514. package/dist/skills/types.js +5 -0
  515. package/dist/storage/atomic.d.ts +2 -0
  516. package/dist/storage/atomic.d.ts.map +1 -0
  517. package/dist/storage/atomic.js +54 -0
  518. package/dist/storage/clock.d.ts +2 -0
  519. package/dist/storage/clock.d.ts.map +1 -0
  520. package/dist/storage/clock.js +6 -0
  521. package/dist/storage/index.d.ts +7 -0
  522. package/dist/storage/index.d.ts.map +1 -0
  523. package/dist/storage/index.js +9 -0
  524. package/dist/storage/journalWatcher.d.ts +24 -0
  525. package/dist/storage/journalWatcher.d.ts.map +1 -0
  526. package/dist/storage/journalWatcher.js +172 -0
  527. package/dist/storage/paths.d.ts +5 -0
  528. package/dist/storage/paths.d.ts.map +1 -0
  529. package/dist/storage/paths.js +26 -0
  530. package/dist/storage/snapshotState.d.ts +10 -0
  531. package/dist/storage/snapshotState.d.ts.map +1 -0
  532. package/dist/storage/snapshotState.js +15 -0
  533. package/dist/storage/storeTaskArtifacts.d.ts +6 -0
  534. package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
  535. package/dist/storage/storeTaskArtifacts.js +55 -0
  536. package/dist/storage/types.d.ts +21 -0
  537. package/dist/storage/types.d.ts.map +1 -0
  538. package/dist/storage/types.js +2 -0
  539. package/dist/tasks/crud.d.ts +33 -0
  540. package/dist/tasks/crud.d.ts.map +1 -0
  541. package/dist/tasks/crud.js +150 -0
  542. package/dist/tasks/index.d.ts +2 -0
  543. package/dist/tasks/index.d.ts.map +1 -0
  544. package/dist/tasks/index.js +9 -0
  545. package/package.json +159 -0
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ /**
3
+ * Governance policy decision audit logging (GAP-SEC-001).
4
+ * Appends decisions to a JSONL file for audit trail.
5
+ * Uses async handle-based I/O with fsync for crash safety.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.logPolicyDecision = logPolicyDecision;
42
+ exports.readPolicyDecisionLog = readPolicyDecisionLog;
43
+ const node_fs_1 = require("node:fs");
44
+ const path = __importStar(require("node:path"));
45
+ const LOG_FILENAME = 'governance-decisions.jsonl';
46
+ /**
47
+ * Append a policy decision to the audit log.
48
+ * Uses handle-based async I/O with fsync for crash safety.
49
+ */
50
+ async function logPolicyDecision(logDir, entry) {
51
+ await node_fs_1.promises.mkdir(logDir, { recursive: true });
52
+ const logPath = path.join(logDir, LOG_FILENAME);
53
+ const line = JSON.stringify(entry) + '\n';
54
+ const handle = await node_fs_1.promises.open(logPath, 'a');
55
+ try {
56
+ await handle.writeFile(line, 'utf8');
57
+ await handle.sync();
58
+ }
59
+ finally {
60
+ await handle.close();
61
+ }
62
+ }
63
+ /**
64
+ * Read all policy decisions from the audit log.
65
+ * Returns empty array if the file does not exist.
66
+ * Throws on permission errors or other unexpected failures.
67
+ */
68
+ async function readPolicyDecisionLog(logDir) {
69
+ const logPath = path.join(logDir, LOG_FILENAME);
70
+ try {
71
+ const content = await node_fs_1.promises.readFile(logPath, 'utf8');
72
+ return content
73
+ .split('\n')
74
+ .filter(line => line.trim())
75
+ .map(line => JSON.parse(line));
76
+ }
77
+ catch (error) {
78
+ const err = error;
79
+ if (err.code === 'ENOENT')
80
+ return [];
81
+ throw error;
82
+ }
83
+ }
@@ -0,0 +1,83 @@
1
+ /**
2
+ * GAP-SEC: Execution Mandate system.
3
+ *
4
+ * Mandates are scoped, lifecycle-managed authority grants that can be
5
+ * derived (attenuated) and converted to PolicyRule[] for engine evaluation.
6
+ */
7
+ import type { PolicyRule, PolicyEvaluationContext } from './types';
8
+ /** The set of permissions / limits a mandate grants. */
9
+ export interface MandateScope {
10
+ /** Effect kinds allowed. Array of strings, or ['*'] for wildcard. */
11
+ allowedEffectKinds: string[];
12
+ /** Maximum iterations permitted. */
13
+ maxIterations: number;
14
+ /** Maximum concurrent tasks permitted. */
15
+ maxConcurrentTasks: number;
16
+ /** Timeout in milliseconds. */
17
+ timeoutMs: number;
18
+ }
19
+ /** Lifecycle states of a mandate. */
20
+ export type MandateLifecycle = 'created' | 'active' | 'revoked';
21
+ /** Where this mandate came from. */
22
+ export interface MandateProvenance {
23
+ /** The root mandate ID (self-referential for root mandates). */
24
+ rootMandateId: string;
25
+ /** Chain of mandate IDs from root to parent. */
26
+ derivationChain: string[];
27
+ }
28
+ /** An execution mandate. */
29
+ export interface ExecutionMandate {
30
+ mandateId: string;
31
+ scope: MandateScope;
32
+ grantedBy: string;
33
+ lifecycle: MandateLifecycle;
34
+ provenance: MandateProvenance;
35
+ createdAt: string;
36
+ activatedAt?: string;
37
+ /** High-resolution activation mark (performance.now()) for precise expiry checks. */
38
+ activatedMark?: number;
39
+ revokedAt?: string;
40
+ revokedBy?: string;
41
+ }
42
+ export interface CreateMandateOptions {
43
+ scope: MandateScope;
44
+ grantedBy: string;
45
+ }
46
+ export interface RevokeMandateOptions {
47
+ revokedBy: string;
48
+ reason: string;
49
+ }
50
+ export interface DeriveMandateOptions {
51
+ scope: MandateScope;
52
+ grantedBy: string;
53
+ }
54
+ export interface MandateValidationResult {
55
+ valid: boolean;
56
+ reason?: string;
57
+ }
58
+ /**
59
+ * Create a new mandate in the 'created' lifecycle state.
60
+ */
61
+ export declare function createMandate(options: CreateMandateOptions): ExecutionMandate;
62
+ /**
63
+ * Transition a mandate from 'created' to 'active'.
64
+ */
65
+ export declare function activateMandate(mandate: ExecutionMandate): ExecutionMandate;
66
+ /**
67
+ * Revoke a mandate. Only active mandates can be revoked.
68
+ */
69
+ export declare function revokeMandate(mandate: ExecutionMandate, options: RevokeMandateOptions): ExecutionMandate;
70
+ /**
71
+ * Derive a child mandate from an active parent. The child scope must be
72
+ * equal to or narrower than the parent scope (intersection semantics).
73
+ */
74
+ export declare function deriveMandate(parent: ExecutionMandate, options: DeriveMandateOptions): ExecutionMandate;
75
+ /**
76
+ * Validate whether a mandate permits the given evaluation context.
77
+ */
78
+ export declare function validateMandateForContext(mandate: ExecutionMandate, ctx: PolicyEvaluationContext): MandateValidationResult;
79
+ /**
80
+ * Convert a mandate's scope into PolicyRule[] for governance engine evaluation.
81
+ */
82
+ export declare function mandateToPolicy(mandate: ExecutionMandate): PolicyRule[];
83
+ //# sourceMappingURL=mandate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mandate.d.ts","sourceRoot":"","sources":["../../src/governance/mandate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMnE,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qCAAqC;AACrC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhE,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,4BAA4B;AAC5B,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,gBAAgB,CAa7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CAa3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,GAAG,gBAAgB,CAWxG;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,GAAG,gBAAgB,CA2CvG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,uBAAuB,GAC3B,uBAAuB,CA8BzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,EAAE,CAkCvE"}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ /**
3
+ * GAP-SEC: Execution Mandate system.
4
+ *
5
+ * Mandates are scoped, lifecycle-managed authority grants that can be
6
+ * derived (attenuated) and converted to PolicyRule[] for engine evaluation.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createMandate = createMandate;
13
+ exports.activateMandate = activateMandate;
14
+ exports.revokeMandate = revokeMandate;
15
+ exports.deriveMandate = deriveMandate;
16
+ exports.validateMandateForContext = validateMandateForContext;
17
+ exports.mandateToPolicy = mandateToPolicy;
18
+ const node_crypto_1 = __importDefault(require("node:crypto"));
19
+ // ---------------------------------------------------------------------------
20
+ // Core functions
21
+ // ---------------------------------------------------------------------------
22
+ /**
23
+ * Create a new mandate in the 'created' lifecycle state.
24
+ */
25
+ function createMandate(options) {
26
+ const mandateId = node_crypto_1.default.randomUUID();
27
+ return {
28
+ mandateId,
29
+ scope: { ...options.scope, allowedEffectKinds: [...options.scope.allowedEffectKinds] },
30
+ grantedBy: options.grantedBy,
31
+ lifecycle: 'created',
32
+ provenance: {
33
+ rootMandateId: mandateId,
34
+ derivationChain: [],
35
+ },
36
+ createdAt: new Date().toISOString(),
37
+ };
38
+ }
39
+ /**
40
+ * Transition a mandate from 'created' to 'active'.
41
+ */
42
+ function activateMandate(mandate) {
43
+ if (mandate.lifecycle !== 'created') {
44
+ throw new Error(`Cannot activate mandate in '${mandate.lifecycle}' state; must be 'created'`);
45
+ }
46
+ const now = Date.now();
47
+ const result = {
48
+ ...mandate,
49
+ scope: { ...mandate.scope, allowedEffectKinds: [...mandate.scope.allowedEffectKinds] },
50
+ lifecycle: 'active',
51
+ activatedAt: new Date(now).toISOString(),
52
+ };
53
+ result.activatedMark = performance.now();
54
+ return result;
55
+ }
56
+ /**
57
+ * Revoke a mandate. Only active mandates can be revoked.
58
+ */
59
+ function revokeMandate(mandate, options) {
60
+ if (mandate.lifecycle === 'revoked') {
61
+ throw new Error('Cannot revoke an already-revoked mandate');
62
+ }
63
+ return {
64
+ ...mandate,
65
+ scope: { ...mandate.scope, allowedEffectKinds: [...mandate.scope.allowedEffectKinds] },
66
+ lifecycle: 'revoked',
67
+ revokedAt: new Date().toISOString(),
68
+ revokedBy: options.revokedBy,
69
+ };
70
+ }
71
+ /**
72
+ * Derive a child mandate from an active parent. The child scope must be
73
+ * equal to or narrower than the parent scope (intersection semantics).
74
+ */
75
+ function deriveMandate(parent, options) {
76
+ if (parent.lifecycle !== 'active') {
77
+ throw new Error(`Cannot derive from mandate in '${parent.lifecycle}' state; must be 'active'`);
78
+ }
79
+ // Validate scope is not wider than parent
80
+ const parentKinds = parent.scope.allowedEffectKinds;
81
+ const isParentWildcard = parentKinds.length === 1 && parentKinds[0] === '*';
82
+ const childKinds = options.scope.allowedEffectKinds;
83
+ if (!isParentWildcard) {
84
+ for (const kind of childKinds) {
85
+ if (kind === '*') {
86
+ throw new Error('Child scope expands beyond parent: wildcard child not allowed when parent has explicit effect kinds');
87
+ }
88
+ if (!parentKinds.includes(kind)) {
89
+ throw new Error(`Child scope expands beyond parent: effect kind '${kind}' not in parent scope`);
90
+ }
91
+ }
92
+ }
93
+ if (options.scope.maxIterations > parent.scope.maxIterations) {
94
+ throw new Error(`Child scope expands beyond parent: maxIterations ${options.scope.maxIterations} > ${parent.scope.maxIterations}`);
95
+ }
96
+ if (options.scope.maxConcurrentTasks > parent.scope.maxConcurrentTasks) {
97
+ throw new Error(`Child scope expands beyond parent: maxConcurrentTasks ${options.scope.maxConcurrentTasks} > ${parent.scope.maxConcurrentTasks}`);
98
+ }
99
+ if (options.scope.timeoutMs > parent.scope.timeoutMs) {
100
+ throw new Error(`Child scope expands beyond parent: timeoutMs ${options.scope.timeoutMs} > ${parent.scope.timeoutMs}`);
101
+ }
102
+ const mandateId = node_crypto_1.default.randomUUID();
103
+ return {
104
+ mandateId,
105
+ scope: { ...options.scope, allowedEffectKinds: [...options.scope.allowedEffectKinds] },
106
+ grantedBy: options.grantedBy,
107
+ lifecycle: 'created',
108
+ provenance: {
109
+ rootMandateId: parent.provenance.rootMandateId,
110
+ derivationChain: [...parent.provenance.derivationChain, parent.mandateId],
111
+ },
112
+ createdAt: new Date().toISOString(),
113
+ };
114
+ }
115
+ /**
116
+ * Validate whether a mandate permits the given evaluation context.
117
+ */
118
+ function validateMandateForContext(mandate, ctx) {
119
+ // Check lifecycle
120
+ if (mandate.lifecycle === 'revoked') {
121
+ return { valid: false, reason: 'Mandate has been revoked' };
122
+ }
123
+ if (mandate.lifecycle !== 'active') {
124
+ return { valid: false, reason: `Mandate is in '${mandate.lifecycle}' state, not active` };
125
+ }
126
+ // Check expiration (activatedAt + timeoutMs)
127
+ if (mandate.activatedAt) {
128
+ let elapsedMs;
129
+ if (mandate.activatedMark != null) {
130
+ elapsedMs = performance.now() - mandate.activatedMark;
131
+ }
132
+ else {
133
+ elapsedMs = Date.now() - new Date(mandate.activatedAt).getTime();
134
+ }
135
+ if (elapsedMs >= mandate.scope.timeoutMs) {
136
+ return { valid: false, reason: 'Mandate has expired' };
137
+ }
138
+ }
139
+ // Check effect kind
140
+ const kinds = mandate.scope.allowedEffectKinds;
141
+ const isWildcard = kinds.length === 1 && kinds[0] === '*';
142
+ if (!isWildcard && !kinds.includes(ctx.effectKind)) {
143
+ return { valid: false, reason: `Effect kind '${ctx.effectKind}' is not allowed by mandate scope` };
144
+ }
145
+ return { valid: true };
146
+ }
147
+ /**
148
+ * Convert a mandate's scope into PolicyRule[] for governance engine evaluation.
149
+ */
150
+ function mandateToPolicy(mandate) {
151
+ const rules = [];
152
+ const prefix = `mandate:${mandate.mandateId.slice(0, 8)}`;
153
+ // 1. Deny rule for out-of-scope effect kinds (if not wildcard)
154
+ const kinds = mandate.scope.allowedEffectKinds;
155
+ const isWildcard = kinds.length === 1 && kinds[0] === '*';
156
+ if (!isWildcard) {
157
+ // Create a deny rule that matches any effectKind NOT in the allowed list.
158
+ // We use a regex negative lookahead.
159
+ const escaped = kinds.map(k => k.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
160
+ const pattern = `^(?!${escaped.join('|')}$)`;
161
+ rules.push({
162
+ id: `${prefix}:deny-out-of-scope`,
163
+ kind: 'permission',
164
+ condition: { field: 'effectKind', op: 'matches', value: pattern },
165
+ action: 'deny',
166
+ priority: 200,
167
+ metadata: { source: 'mandate', mandateId: mandate.mandateId },
168
+ });
169
+ }
170
+ // 2. Iteration limit rule
171
+ rules.push({
172
+ id: `${prefix}:max-iterations`,
173
+ kind: 'rate-limit',
174
+ condition: { field: 'iteration', op: 'gt', value: String(mandate.scope.maxIterations) },
175
+ action: 'deny',
176
+ priority: 150,
177
+ metadata: { source: 'mandate', mandateId: mandate.mandateId },
178
+ });
179
+ return rules;
180
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Permission event creation, aggregation, and filtering for the governance layer.
3
+ */
4
+ export type PermissionEventSource = 'harness' | 'subagent' | 'sandbox' | 'policy-engine';
5
+ export interface PermissionEvent {
6
+ kind: string;
7
+ operation: {
8
+ kind: string;
9
+ target: string;
10
+ [key: string]: unknown;
11
+ };
12
+ decision: {
13
+ action: string;
14
+ reason: string;
15
+ [key: string]: unknown;
16
+ };
17
+ timestamp: string;
18
+ source: PermissionEventSource;
19
+ mandateId?: string;
20
+ chainId?: string;
21
+ }
22
+ export interface CreatePermissionEventOptions {
23
+ kind: string;
24
+ operation: {
25
+ kind: string;
26
+ target: string;
27
+ [key: string]: unknown;
28
+ };
29
+ decision: {
30
+ action: string;
31
+ reason: string;
32
+ [key: string]: unknown;
33
+ };
34
+ source: PermissionEventSource;
35
+ timestamp?: string;
36
+ mandateId?: string;
37
+ chainId?: string;
38
+ }
39
+ export declare function createPermissionEvent(options: CreatePermissionEventOptions): PermissionEvent;
40
+ /**
41
+ * Flatten multiple event arrays (from parent/child runs), filter by chainId,
42
+ * and sort chronologically.
43
+ */
44
+ export declare function aggregateChainEvents(chainId: string, eventArrays: PermissionEvent[][]): PermissionEvent[];
45
+ export interface FilterCriteria {
46
+ source?: PermissionEventSource;
47
+ action?: string;
48
+ kind?: string;
49
+ }
50
+ export declare function filterEvents(events: PermissionEvent[], criteria: FilterCriteria): PermissionEvent[];
51
+ //# sourceMappingURL=permissionEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissionEvents.d.ts","sourceRoot":"","sources":["../../src/governance/permissionEvents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,CAAC;AAEzF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpE,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpE,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACrE,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,eAAe,CAU5F;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,eAAe,EAAE,EAAE,GAC/B,eAAe,EAAE,CAWnB;AAMD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,cAAc,GAAG,eAAe,EAAE,CAOnG"}
@@ -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"}