@a5c-ai/agent-platform 5.0.1-staging.b436b3b3e611
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.
- package/README.md +53 -0
- package/dist/anycli/cache.d.ts +45 -0
- package/dist/anycli/cache.d.ts.map +1 -0
- package/dist/anycli/cache.js +118 -0
- package/dist/anycli/index.d.ts +10 -0
- package/dist/anycli/index.d.ts.map +1 -0
- package/dist/anycli/index.js +25 -0
- package/dist/anycli/types.d.ts +32 -0
- package/dist/anycli/types.d.ts.map +1 -0
- package/dist/anycli/types.js +9 -0
- package/dist/api/breakpoints.d.ts +93 -0
- package/dist/api/breakpoints.d.ts.map +1 -0
- package/dist/api/breakpoints.js +334 -0
- package/dist/api/effects.d.ts +14 -0
- package/dist/api/effects.d.ts.map +1 -0
- package/dist/api/effects.js +306 -0
- package/dist/api/effectsTypes.d.ts +79 -0
- package/dist/api/effectsTypes.d.ts.map +1 -0
- package/dist/api/effectsTypes.js +6 -0
- package/dist/api/eventStream.d.ts +34 -0
- package/dist/api/eventStream.d.ts.map +1 -0
- package/dist/api/eventStream.js +126 -0
- package/dist/api/index.d.ts +10 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +27 -0
- package/dist/api/runs.d.ts +85 -0
- package/dist/api/runs.d.ts.map +1 -0
- package/dist/api/runs.js +247 -0
- package/dist/api/utils.d.ts +28 -0
- package/dist/api/utils.d.ts.map +1 -0
- package/dist/api/utils.js +74 -0
- package/dist/breakpoints/approvalChains.d.ts +68 -0
- package/dist/breakpoints/approvalChains.d.ts.map +1 -0
- package/dist/breakpoints/approvalChains.js +111 -0
- package/dist/breakpoints/delegation.d.ts +42 -0
- package/dist/breakpoints/delegation.d.ts.map +1 -0
- package/dist/breakpoints/delegation.js +199 -0
- package/dist/breakpoints/delegationTypes.d.ts +46 -0
- package/dist/breakpoints/delegationTypes.d.ts.map +1 -0
- package/dist/breakpoints/delegationTypes.js +10 -0
- package/dist/breakpoints/postures.d.ts +28 -0
- package/dist/breakpoints/postures.d.ts.map +1 -0
- package/dist/breakpoints/postures.js +100 -0
- package/dist/cli/amuxEventsFormatter.d.ts +26 -0
- package/dist/cli/amuxEventsFormatter.d.ts.map +1 -0
- package/dist/cli/amuxEventsFormatter.js +86 -0
- package/dist/cli/args/argFlags.d.ts +6 -0
- package/dist/cli/args/argFlags.d.ts.map +1 -0
- package/dist/cli/args/argFlags.js +72 -0
- package/dist/cli/args/argPositionals.d.ts +3 -0
- package/dist/cli/args/argPositionals.d.ts.map +1 -0
- package/dist/cli/args/argPositionals.js +18 -0
- package/dist/cli/args/index.d.ts +4 -0
- package/dist/cli/args/index.d.ts.map +1 -0
- package/dist/cli/args/index.js +75 -0
- package/dist/cli/args/types.d.ts +13 -0
- package/dist/cli/args/types.d.ts.map +1 -0
- package/dist/cli/args/types.js +2 -0
- package/dist/cli/commands/daemon.d.ts +31 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -0
- package/dist/cli/commands/daemon.js +156 -0
- package/dist/cli/commands/harness/createRun.d.ts +3 -0
- package/dist/cli/commands/harness/createRun.d.ts.map +1 -0
- package/dist/cli/commands/harness/createRun.js +8 -0
- package/dist/cli/commands/harness/resumeRun.d.ts +20 -0
- package/dist/cli/commands/harness/resumeRun.d.ts.map +1 -0
- package/dist/cli/commands/harness/resumeRun.js +341 -0
- package/dist/cli/commands/jsonlInteractive.d.ts +35 -0
- package/dist/cli/commands/jsonlInteractive.d.ts.map +1 -0
- package/dist/cli/commands/jsonlInteractive.js +302 -0
- package/dist/cli/commands/mcpServe.d.ts +18 -0
- package/dist/cli/commands/mcpServe.d.ts.map +1 -0
- package/dist/cli/commands/mcpServe.js +59 -0
- package/dist/cli/commands/session/history.d.ts +14 -0
- package/dist/cli/commands/session/history.d.ts.map +1 -0
- package/dist/cli/commands/session/history.js +100 -0
- package/dist/cli/commands/tui.d.ts +23 -0
- package/dist/cli/commands/tui.d.ts.map +1 -0
- package/dist/cli/commands/tui.js +183 -0
- package/dist/cli/dispatch.d.ts +4 -0
- package/dist/cli/dispatch.d.ts.map +1 -0
- package/dist/cli/dispatch.js +332 -0
- package/dist/cli/main.d.ts +7 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +41 -0
- package/dist/cli/program.d.ts +7 -0
- package/dist/cli/program.d.ts.map +1 -0
- package/dist/cli/program.js +8 -0
- package/dist/cli/ui.d.ts +9 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/ui.js +125 -0
- package/dist/compression/compaction.d.ts +82 -0
- package/dist/compression/compaction.d.ts.map +1 -0
- package/dist/compression/compaction.js +310 -0
- package/dist/cost/claudeCodeParser.d.ts +81 -0
- package/dist/cost/claudeCodeParser.d.ts.map +1 -0
- package/dist/cost/claudeCodeParser.js +232 -0
- package/dist/cost/collector.d.ts +42 -0
- package/dist/cost/collector.d.ts.map +1 -0
- package/dist/cost/collector.js +105 -0
- package/dist/cost/effectCost.d.ts +23 -0
- package/dist/cost/effectCost.d.ts.map +1 -0
- package/dist/cost/effectCost.js +26 -0
- package/dist/cost/index.d.ts +7 -0
- package/dist/cost/index.d.ts.map +1 -0
- package/dist/cost/index.js +28 -0
- package/dist/cost/journal.d.ts +40 -0
- package/dist/cost/journal.d.ts.map +1 -0
- package/dist/cost/journal.js +137 -0
- package/dist/cost/types.d.ts +164 -0
- package/dist/cost/types.d.ts.map +1 -0
- package/dist/cost/types.js +228 -0
- package/dist/daemon/automationExecutor.d.ts +16 -0
- package/dist/daemon/automationExecutor.d.ts.map +1 -0
- package/dist/daemon/automationExecutor.js +222 -0
- package/dist/daemon/config.d.ts +8 -0
- package/dist/daemon/config.d.ts.map +1 -0
- package/dist/daemon/config.js +209 -0
- package/dist/daemon/daemonLog.d.ts +13 -0
- package/dist/daemon/daemonLog.d.ts.map +1 -0
- package/dist/daemon/daemonLog.js +64 -0
- package/dist/daemon/fileWatcher.d.ts +9 -0
- package/dist/daemon/fileWatcher.d.ts.map +1 -0
- package/dist/daemon/fileWatcher.js +141 -0
- package/dist/daemon/index.d.ts +7 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +21 -0
- package/dist/daemon/lifecycle.d.ts +12 -0
- package/dist/daemon/lifecycle.d.ts.map +1 -0
- package/dist/daemon/lifecycle.js +257 -0
- package/dist/daemon/loop.d.ts +21 -0
- package/dist/daemon/loop.d.ts.map +1 -0
- package/dist/daemon/loop.js +196 -0
- package/dist/daemon/timerScheduler.d.ts +13 -0
- package/dist/daemon/timerScheduler.d.ts.map +1 -0
- package/dist/daemon/timerScheduler.js +122 -0
- package/dist/daemon/types.d.ts +93 -0
- package/dist/daemon/types.d.ts.map +1 -0
- package/dist/daemon/types.js +25 -0
- package/dist/daemon/webhookListener.d.ts +6 -0
- package/dist/daemon/webhookListener.d.ts.map +1 -0
- package/dist/daemon/webhookListener.js +110 -0
- package/dist/governance/authority.d.ts +68 -0
- package/dist/governance/authority.d.ts.map +1 -0
- package/dist/governance/authority.js +136 -0
- package/dist/governance/bridge.d.ts +17 -0
- package/dist/governance/bridge.d.ts.map +1 -0
- package/dist/governance/bridge.js +46 -0
- package/dist/governance/builtins.d.ts +25 -0
- package/dist/governance/builtins.d.ts.map +1 -0
- package/dist/governance/builtins.js +67 -0
- package/dist/governance/categories.d.ts +58 -0
- package/dist/governance/categories.d.ts.map +1 -0
- package/dist/governance/categories.js +120 -0
- package/dist/governance/decisionTrail.d.ts +60 -0
- package/dist/governance/decisionTrail.d.ts.map +1 -0
- package/dist/governance/decisionTrail.js +68 -0
- package/dist/governance/engine.d.ts +20 -0
- package/dist/governance/engine.d.ts.map +1 -0
- package/dist/governance/engine.js +124 -0
- package/dist/governance/index.d.ts +20 -0
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/index.js +75 -0
- package/dist/governance/logging.d.ts +18 -0
- package/dist/governance/logging.d.ts.map +1 -0
- package/dist/governance/logging.js +83 -0
- package/dist/governance/mandate.d.ts +83 -0
- package/dist/governance/mandate.d.ts.map +1 -0
- package/dist/governance/mandate.js +180 -0
- package/dist/governance/permissionEvents.d.ts +51 -0
- package/dist/governance/permissionEvents.d.ts.map +1 -0
- package/dist/governance/permissionEvents.js +52 -0
- package/dist/governance/permissionPropagation.d.ts +18 -0
- package/dist/governance/permissionPropagation.d.ts.map +1 -0
- package/dist/governance/permissionPropagation.js +58 -0
- package/dist/governance/postureBridge.d.ts +17 -0
- package/dist/governance/postureBridge.d.ts.map +1 -0
- package/dist/governance/postureBridge.js +117 -0
- package/dist/governance/sandboxBridge.d.ts +49 -0
- package/dist/governance/sandboxBridge.d.ts.map +1 -0
- package/dist/governance/sandboxBridge.js +77 -0
- package/dist/governance/sandboxPolicy.d.ts +51 -0
- package/dist/governance/sandboxPolicy.d.ts.map +1 -0
- package/dist/governance/sandboxPolicy.js +177 -0
- package/dist/governance/types.d.ts +3 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/governance/types.js +5 -0
- package/dist/harness/amux/amuxBridge.d.ts +71 -0
- package/dist/harness/amux/amuxBridge.d.ts.map +1 -0
- package/dist/harness/amux/amuxBridge.js +117 -0
- package/dist/harness/amux/amuxClientFactory.d.ts +29 -0
- package/dist/harness/amux/amuxClientFactory.d.ts.map +1 -0
- package/dist/harness/amux/amuxClientFactory.js +90 -0
- package/dist/harness/amux/amuxEventEmitter.d.ts +51 -0
- package/dist/harness/amux/amuxEventEmitter.d.ts.map +1 -0
- package/dist/harness/amux/amuxEventEmitter.js +143 -0
- package/dist/harness/amux/amuxEventMapper.d.ts +58 -0
- package/dist/harness/amux/amuxEventMapper.d.ts.map +1 -0
- package/dist/harness/amux/amuxEventMapper.js +92 -0
- package/dist/harness/amux/amuxHarnessMap.d.ts +25 -0
- package/dist/harness/amux/amuxHarnessMap.d.ts.map +1 -0
- package/dist/harness/amux/amuxHarnessMap.js +55 -0
- package/dist/harness/amux/amuxStdinReader.d.ts +45 -0
- package/dist/harness/amux/amuxStdinReader.d.ts.map +1 -0
- package/dist/harness/amux/amuxStdinReader.js +106 -0
- package/dist/harness/amux/amuxTypes.d.ts +122 -0
- package/dist/harness/amux/amuxTypes.d.ts.map +1 -0
- package/dist/harness/amux/amuxTypes.js +11 -0
- package/dist/harness/amux/index.d.ts +17 -0
- package/dist/harness/amux/index.d.ts.map +1 -0
- package/dist/harness/amux/index.js +34 -0
- package/dist/harness/backgroundTracker.d.ts +64 -0
- package/dist/harness/backgroundTracker.d.ts.map +1 -0
- package/dist/harness/backgroundTracker.js +107 -0
- package/dist/harness/builtInHarness.d.ts +3 -0
- package/dist/harness/builtInHarness.d.ts.map +1 -0
- package/dist/harness/builtInHarness.js +18 -0
- package/dist/harness/capabilityRouter.d.ts +76 -0
- package/dist/harness/capabilityRouter.d.ts.map +1 -0
- package/dist/harness/capabilityRouter.js +176 -0
- package/dist/harness/fallbackChains.d.ts +42 -0
- package/dist/harness/fallbackChains.d.ts.map +1 -0
- package/dist/harness/fallbackChains.js +69 -0
- package/dist/harness/hostContract.d.ts +63 -0
- package/dist/harness/hostContract.d.ts.map +1 -0
- package/dist/harness/hostContract.js +136 -0
- package/dist/harness/index.d.ts +10 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +66 -0
- package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
- package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
- package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
- package/dist/harness/internal/createRun/index.d.ts +25 -0
- package/dist/harness/internal/createRun/index.d.ts.map +1 -0
- package/dist/harness/internal/createRun/index.js +137 -0
- package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
- package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/constants.js +13 -0
- package/dist/harness/internal/createRun/orchestration/effects.d.ts +43 -0
- package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/effects.js +490 -0
- package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +20 -0
- package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +79 -0
- package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
- package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/externalPhase.js +319 -0
- package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
- package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +104 -0
- package/dist/harness/internal/createRun/orchestration/index.d.ts +14 -0
- package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/index.js +36 -0
- package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
- package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/internalPhase.js +464 -0
- package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +26 -0
- package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/internalTools.js +262 -0
- package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
- package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
- package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
- package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
- package/dist/harness/internal/createRun/orchestration/types.d.ts +46 -0
- package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/types.js +2 -0
- package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
- package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
- package/dist/harness/internal/createRun/output.d.ts +38 -0
- package/dist/harness/internal/createRun/output.d.ts.map +1 -0
- package/dist/harness/internal/createRun/output.js +415 -0
- package/dist/harness/internal/createRun/pi.d.ts +34 -0
- package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
- package/dist/harness/internal/createRun/pi.js +216 -0
- package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
- package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/agentOutput.js +113 -0
- package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
- package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/delegation.js +176 -0
- package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
- package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/external.js +139 -0
- package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
- package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/index.js +24 -0
- package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
- package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
- package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
- package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/phase.js +361 -0
- package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
- package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -0
- package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
- package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
- package/dist/harness/internal/createRun/planProcess/prompts.d.ts +20 -0
- package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/prompts.js +208 -0
- package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
- package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/recovery.js +188 -0
- package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts +2 -0
- package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/recovery.test.js +68 -0
- package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
- package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
- package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
- package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
- package/dist/harness/internal/createRun/planProcess/validation.d.ts +2 -0
- package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/validation.js +212 -0
- package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +11 -0
- package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/validationSource.js +328 -0
- package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
- package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
- package/dist/harness/internal/createRun/prompts.d.ts +49 -0
- package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
- package/dist/harness/internal/createRun/prompts.js +307 -0
- package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
- package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
- package/dist/harness/internal/createRun/resumeState.js +133 -0
- package/dist/harness/internal/createRun/utils.d.ts +182 -0
- package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
- package/dist/harness/internal/createRun/utils.js +133 -0
- package/dist/harness/internal.d.ts +13 -0
- package/dist/harness/internal.d.ts.map +1 -0
- package/dist/harness/internal.js +149 -0
- package/dist/harness/invoker/launch.d.ts +20 -0
- package/dist/harness/invoker/launch.d.ts.map +1 -0
- package/dist/harness/invoker/launch.js +23 -0
- package/dist/harness/invoker/processControl.d.ts +11 -0
- package/dist/harness/invoker/processControl.d.ts.map +1 -0
- package/dist/harness/invoker/processControl.js +50 -0
- package/dist/harness/invoker.d.ts +43 -0
- package/dist/harness/invoker.d.ts.map +1 -0
- package/dist/harness/invoker.js +210 -0
- package/dist/harness/modeSelector.d.ts +50 -0
- package/dist/harness/modeSelector.d.ts.map +1 -0
- package/dist/harness/modeSelector.js +124 -0
- package/dist/harness/modelSelection.d.ts +37 -0
- package/dist/harness/modelSelection.d.ts.map +1 -0
- package/dist/harness/modelSelection.js +81 -0
- package/dist/harness/operatorCommands.d.ts +38 -0
- package/dist/harness/operatorCommands.d.ts.map +1 -0
- package/dist/harness/operatorCommands.js +118 -0
- package/dist/harness/piSecureSandbox.d.ts +8 -0
- package/dist/harness/piSecureSandbox.d.ts.map +1 -0
- package/dist/harness/piSecureSandbox.js +366 -0
- package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
- package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
- package/dist/harness/piSecureSandboxTypes.js +6 -0
- package/dist/harness/piWrapper/compaction.d.ts +13 -0
- package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
- package/dist/harness/piWrapper/compaction.js +38 -0
- package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
- package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
- package/dist/harness/piWrapper/instructionPrompts.js +97 -0
- package/dist/harness/piWrapper/moduleSupport.d.ts +77 -0
- package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
- package/dist/harness/piWrapper/moduleSupport.js +204 -0
- package/dist/harness/piWrapper.d.ts +80 -0
- package/dist/harness/piWrapper.d.ts.map +1 -0
- package/dist/harness/piWrapper.js +389 -0
- package/dist/harness/piWrapper.test.d.ts +2 -0
- package/dist/harness/piWrapper.test.d.ts.map +1 -0
- package/dist/harness/piWrapper.test.js +193 -0
- package/dist/harness/planMode.d.ts +68 -0
- package/dist/harness/planMode.d.ts.map +1 -0
- package/dist/harness/planMode.js +145 -0
- package/dist/harness/selectionPolicies.d.ts +29 -0
- package/dist/harness/selectionPolicies.d.ts.map +1 -0
- package/dist/harness/selectionPolicies.js +165 -0
- package/dist/harness/types.d.ts +266 -0
- package/dist/harness/types.d.ts.map +1 -0
- package/dist/harness/types.js +34 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/interaction/askUserQuestion/core.d.ts +8 -0
- package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
- package/dist/interaction/askUserQuestion/core.js +112 -0
- package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
- package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
- package/dist/interaction/askUserQuestion/terminal.js +128 -0
- package/dist/interaction/askUserQuestion.d.ts +10 -0
- package/dist/interaction/askUserQuestion.d.ts.map +1 -0
- package/dist/interaction/askUserQuestion.js +295 -0
- package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
- package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
- package/dist/interaction/askUserQuestionTypes.js +6 -0
- package/dist/interaction/index.d.ts +4 -0
- package/dist/interaction/index.d.ts.map +1 -0
- package/dist/interaction/index.js +20 -0
- package/dist/interaction/interactionRouter.d.ts +25 -0
- package/dist/interaction/interactionRouter.d.ts.map +1 -0
- package/dist/interaction/interactionRouter.js +55 -0
- package/dist/mcp/channels/allowlist.d.ts +19 -0
- package/dist/mcp/channels/allowlist.d.ts.map +1 -0
- package/dist/mcp/channels/allowlist.js +140 -0
- package/dist/mcp/channels/channelManager.d.ts +64 -0
- package/dist/mcp/channels/channelManager.d.ts.map +1 -0
- package/dist/mcp/channels/channelManager.js +137 -0
- package/dist/mcp/channels/inboundQueue.d.ts +47 -0
- package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
- package/dist/mcp/channels/inboundQueue.js +96 -0
- package/dist/mcp/channels/index.d.ts +17 -0
- package/dist/mcp/channels/index.d.ts.map +1 -0
- package/dist/mcp/channels/index.js +39 -0
- package/dist/mcp/channels/outbound.d.ts +33 -0
- package/dist/mcp/channels/outbound.d.ts.map +1 -0
- package/dist/mcp/channels/outbound.js +94 -0
- package/dist/mcp/channels/permissionRelay.d.ts +62 -0
- package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
- package/dist/mcp/channels/permissionRelay.js +159 -0
- package/dist/mcp/channels/types.d.ts +135 -0
- package/dist/mcp/channels/types.d.ts.map +1 -0
- package/dist/mcp/channels/types.js +16 -0
- package/dist/mcp/client/config.d.ts +28 -0
- package/dist/mcp/client/config.d.ts.map +1 -0
- package/dist/mcp/client/config.js +142 -0
- package/dist/mcp/client/executor.d.ts +30 -0
- package/dist/mcp/client/executor.d.ts.map +1 -0
- package/dist/mcp/client/executor.js +60 -0
- package/dist/mcp/client/index.d.ts +12 -0
- package/dist/mcp/client/index.d.ts.map +1 -0
- package/dist/mcp/client/index.js +27 -0
- package/dist/mcp/client/manager.d.ts +74 -0
- package/dist/mcp/client/manager.d.ts.map +1 -0
- package/dist/mcp/client/manager.js +214 -0
- package/dist/mcp/client/toolRegistry.d.ts +50 -0
- package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
- package/dist/mcp/client/toolRegistry.js +118 -0
- package/dist/mcp/client/types.d.ts +96 -0
- package/dist/mcp/client/types.d.ts.map +1 -0
- package/dist/mcp/client/types.js +15 -0
- package/dist/mcp/transport/index.d.ts +9 -0
- package/dist/mcp/transport/index.d.ts.map +1 -0
- package/dist/mcp/transport/index.js +13 -0
- package/dist/mcp/transport/session.d.ts +18 -0
- package/dist/mcp/transport/session.d.ts.map +1 -0
- package/dist/mcp/transport/session.js +78 -0
- package/dist/mcp/transport/types.d.ts +19 -0
- package/dist/mcp/transport/types.d.ts.map +1 -0
- package/dist/mcp/transport/types.js +7 -0
- package/dist/mcp/transport/websocket.d.ts +41 -0
- package/dist/mcp/transport/websocket.d.ts.map +1 -0
- package/dist/mcp/transport/websocket.js +271 -0
- package/dist/observability/health.d.ts +19 -0
- package/dist/observability/health.d.ts.map +1 -0
- package/dist/observability/health.js +129 -0
- package/dist/observability/index.d.ts +7 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +22 -0
- package/dist/observability/runStatus.d.ts +44 -0
- package/dist/observability/runStatus.d.ts.map +1 -0
- package/dist/observability/runStatus.js +169 -0
- package/dist/observability/timeline.d.ts +11 -0
- package/dist/observability/timeline.d.ts.map +1 -0
- package/dist/observability/timeline.js +176 -0
- package/dist/observability/types.d.ts +62 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +8 -0
- package/dist/observability/webhooks.d.ts +68 -0
- package/dist/observability/webhooks.d.ts.map +1 -0
- package/dist/observability/webhooks.js +132 -0
- package/dist/prompts/commandTemplates.d.ts +3 -0
- package/dist/prompts/commandTemplates.d.ts.map +1 -0
- package/dist/prompts/commandTemplates.js +238 -0
- package/dist/runtime/index.d.ts +3 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +28 -0
- package/dist/seams/contract.d.ts +55 -0
- package/dist/seams/contract.d.ts.map +1 -0
- package/dist/seams/contract.js +120 -0
- package/dist/seams/contract.test.d.ts +2 -0
- package/dist/seams/contract.test.d.ts.map +1 -0
- package/dist/seams/contract.test.js +96 -0
- package/dist/seams/index.d.ts +3 -0
- package/dist/seams/index.d.ts.map +1 -0
- package/dist/seams/index.js +8 -0
- package/dist/session/context.d.ts +22 -0
- package/dist/session/context.d.ts.map +1 -0
- package/dist/session/context.js +113 -0
- package/dist/session/continuityState.d.ts +39 -0
- package/dist/session/continuityState.d.ts.map +1 -0
- package/dist/session/continuityState.js +164 -0
- package/dist/session/cost.d.ts +63 -0
- package/dist/session/cost.d.ts.map +1 -0
- package/dist/session/cost.js +194 -0
- package/dist/session/discovery.d.ts +22 -0
- package/dist/session/discovery.d.ts.map +1 -0
- package/dist/session/discovery.js +35 -0
- package/dist/session/history.d.ts +30 -0
- package/dist/session/history.d.ts.map +1 -0
- package/dist/session/history.js +143 -0
- package/dist/session/index.d.ts +7 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +70 -0
- package/dist/session/memoryExtraction.d.ts +65 -0
- package/dist/session/memoryExtraction.d.ts.map +1 -0
- package/dist/session/memoryExtraction.js +201 -0
- package/dist/session/parse.d.ts +45 -0
- package/dist/session/parse.d.ts.map +1 -0
- package/dist/session/parse.js +170 -0
- package/dist/session/persistence.d.ts +46 -0
- package/dist/session/persistence.d.ts.map +1 -0
- package/dist/session/persistence.js +180 -0
- package/dist/session/types.d.ts +267 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +45 -0
- package/dist/session/write.d.ts +61 -0
- package/dist/session/write.d.ts.map +1 -0
- package/dist/session/write.js +213 -0
- package/dist/storage/atomic.d.ts +2 -0
- package/dist/storage/atomic.d.ts.map +1 -0
- package/dist/storage/atomic.js +54 -0
- package/dist/storage/clock.d.ts +2 -0
- package/dist/storage/clock.d.ts.map +1 -0
- package/dist/storage/clock.js +6 -0
- package/dist/storage/index.d.ts +7 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +9 -0
- package/dist/storage/journalWatcher.d.ts +24 -0
- package/dist/storage/journalWatcher.d.ts.map +1 -0
- package/dist/storage/journalWatcher.js +172 -0
- package/dist/storage/paths.d.ts +5 -0
- package/dist/storage/paths.d.ts.map +1 -0
- package/dist/storage/paths.js +26 -0
- package/dist/storage/snapshotState.d.ts +10 -0
- package/dist/storage/snapshotState.d.ts.map +1 -0
- package/dist/storage/snapshotState.js +15 -0
- package/dist/storage/storeTaskArtifacts.d.ts +6 -0
- package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
- package/dist/storage/storeTaskArtifacts.js +55 -0
- package/dist/storage/types.d.ts +21 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +2 -0
- package/dist/tasks/crud.d.ts +33 -0
- package/dist/tasks/crud.d.ts.map +1 -0
- package/dist/tasks/crud.js +150 -0
- package/dist/tasks/index.d.ts +2 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/index.js +9 -0
- package/package.json +141 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/channels/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,6BAA6B,EAC7B,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MCP Channels — interactive messaging and approval routing.
|
|
4
|
+
* Moved from @a5c-ai/babysitter-sdk.
|
|
5
|
+
*
|
|
6
|
+
* Status: NOT INTEGRATED YET — these modules are implemented but not wired
|
|
7
|
+
* into the harness's interaction/governance layer.
|
|
8
|
+
*
|
|
9
|
+
* GAP-MCPC-001/002/003/004
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createApprovalRace = exports.ChannelPermissionRelay = exports.DEFAULT_CHANNEL_TOOL_MAPPINGS = exports.formatTemplate = exports.OutboundChannelSender = exports.ChannelManager = exports.InboundMessageQueue = exports.getEnabledChannels = exports.toggleChannel = exports.removeChannel = exports.upsertChannel = exports.writeChannelAllowlist = exports.readChannelAllowlist = exports.getChannelAllowlistPath = exports.DEFAULT_APPROVAL_SECURITY = exports.CHANNEL_ALLOWLIST_SCHEMA_VERSION = void 0;
|
|
13
|
+
var types_1 = require("./types");
|
|
14
|
+
Object.defineProperty(exports, "CHANNEL_ALLOWLIST_SCHEMA_VERSION", { enumerable: true, get: function () { return types_1.CHANNEL_ALLOWLIST_SCHEMA_VERSION; } });
|
|
15
|
+
Object.defineProperty(exports, "DEFAULT_APPROVAL_SECURITY", { enumerable: true, get: function () { return types_1.DEFAULT_APPROVAL_SECURITY; } });
|
|
16
|
+
// Allowlist
|
|
17
|
+
var allowlist_1 = require("./allowlist");
|
|
18
|
+
Object.defineProperty(exports, "getChannelAllowlistPath", { enumerable: true, get: function () { return allowlist_1.getChannelAllowlistPath; } });
|
|
19
|
+
Object.defineProperty(exports, "readChannelAllowlist", { enumerable: true, get: function () { return allowlist_1.readChannelAllowlist; } });
|
|
20
|
+
Object.defineProperty(exports, "writeChannelAllowlist", { enumerable: true, get: function () { return allowlist_1.writeChannelAllowlist; } });
|
|
21
|
+
Object.defineProperty(exports, "upsertChannel", { enumerable: true, get: function () { return allowlist_1.upsertChannel; } });
|
|
22
|
+
Object.defineProperty(exports, "removeChannel", { enumerable: true, get: function () { return allowlist_1.removeChannel; } });
|
|
23
|
+
Object.defineProperty(exports, "toggleChannel", { enumerable: true, get: function () { return allowlist_1.toggleChannel; } });
|
|
24
|
+
Object.defineProperty(exports, "getEnabledChannels", { enumerable: true, get: function () { return allowlist_1.getEnabledChannels; } });
|
|
25
|
+
// Inbound queue
|
|
26
|
+
var inboundQueue_1 = require("./inboundQueue");
|
|
27
|
+
Object.defineProperty(exports, "InboundMessageQueue", { enumerable: true, get: function () { return inboundQueue_1.InboundMessageQueue; } });
|
|
28
|
+
// Channel manager
|
|
29
|
+
var channelManager_1 = require("./channelManager");
|
|
30
|
+
Object.defineProperty(exports, "ChannelManager", { enumerable: true, get: function () { return channelManager_1.ChannelManager; } });
|
|
31
|
+
// Outbound sender
|
|
32
|
+
var outbound_1 = require("./outbound");
|
|
33
|
+
Object.defineProperty(exports, "OutboundChannelSender", { enumerable: true, get: function () { return outbound_1.OutboundChannelSender; } });
|
|
34
|
+
Object.defineProperty(exports, "formatTemplate", { enumerable: true, get: function () { return outbound_1.formatTemplate; } });
|
|
35
|
+
Object.defineProperty(exports, "DEFAULT_CHANNEL_TOOL_MAPPINGS", { enumerable: true, get: function () { return outbound_1.DEFAULT_CHANNEL_TOOL_MAPPINGS; } });
|
|
36
|
+
// Permission relay
|
|
37
|
+
var permissionRelay_1 = require("./permissionRelay");
|
|
38
|
+
Object.defineProperty(exports, "ChannelPermissionRelay", { enumerable: true, get: function () { return permissionRelay_1.ChannelPermissionRelay; } });
|
|
39
|
+
Object.defineProperty(exports, "createApprovalRace", { enumerable: true, get: function () { return permissionRelay_1.createApprovalRace; } });
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GAP-MCPC-002: Outbound Channel Sender.
|
|
3
|
+
*
|
|
4
|
+
* Sends messages to channels via MCP server tools.
|
|
5
|
+
* Supports template-based message formatting.
|
|
6
|
+
*/
|
|
7
|
+
import type { OutboundMessageRequest, OutboundMessageResult } from "./types";
|
|
8
|
+
import type { McpClientManager } from "../client/manager";
|
|
9
|
+
/** Map of channel types to their send-message tool names. */
|
|
10
|
+
export interface ChannelToolMapping {
|
|
11
|
+
/** MCP tool name used for sending messages on this channel type. */
|
|
12
|
+
sendToolName: string;
|
|
13
|
+
/** Argument mapping: which parameter receives the channel ID. */
|
|
14
|
+
channelArg: string;
|
|
15
|
+
/** Argument mapping: which parameter receives the message text. */
|
|
16
|
+
textArg: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const DEFAULT_CHANNEL_TOOL_MAPPINGS: Record<string, ChannelToolMapping>;
|
|
19
|
+
/** Format a message with simple {{var}} template substitution. */
|
|
20
|
+
export declare function formatTemplate(template: string, vars: Record<string, string>): string;
|
|
21
|
+
export declare class OutboundChannelSender {
|
|
22
|
+
private readonly _clientManager;
|
|
23
|
+
private readonly _toolMappings;
|
|
24
|
+
constructor(clientManager: McpClientManager, toolMappings?: Record<string, ChannelToolMapping>);
|
|
25
|
+
/**
|
|
26
|
+
* Send a message to a channel.
|
|
27
|
+
* Resolves the channel source (serverName:channelId) to determine
|
|
28
|
+
* which MCP server and tool to use.
|
|
29
|
+
*/
|
|
30
|
+
send(request: OutboundMessageRequest): Promise<OutboundMessageResult>;
|
|
31
|
+
private _resolveToolMapping;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=outbound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbound.d.ts","sourceRoot":"","sources":["../../../src/mcp/channels/outbound.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAI5E,CAAC;AAMF,kEAAkE;AAClE,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,MAAM,CAER;AAMD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;gBAGjE,aAAa,EAAE,gBAAgB,EAC/B,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAiC;IAMlF;;;;OAIG;IACG,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;YAgD7D,mBAAmB;CAelC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* GAP-MCPC-002: Outbound Channel Sender.
|
|
4
|
+
*
|
|
5
|
+
* Sends messages to channels via MCP server tools.
|
|
6
|
+
* Supports template-based message formatting.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.OutboundChannelSender = exports.DEFAULT_CHANNEL_TOOL_MAPPINGS = void 0;
|
|
10
|
+
exports.formatTemplate = formatTemplate;
|
|
11
|
+
exports.DEFAULT_CHANNEL_TOOL_MAPPINGS = {
|
|
12
|
+
slack: { sendToolName: "slack_send_message", channelArg: "channel", textArg: "text" },
|
|
13
|
+
discord: { sendToolName: "discord_send_message", channelArg: "channel_id", textArg: "content" },
|
|
14
|
+
email: { sendToolName: "gmail_create_draft", channelArg: "to", textArg: "body" },
|
|
15
|
+
};
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Template formatting
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
/** Format a message with simple {{var}} template substitution. */
|
|
20
|
+
function formatTemplate(template, vars) {
|
|
21
|
+
return template.replace(/\{\{(\w+)\}\}/g, (_match, key) => vars[key] ?? `{{${key}}}`);
|
|
22
|
+
}
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// OutboundChannelSender
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
class OutboundChannelSender {
|
|
27
|
+
_clientManager;
|
|
28
|
+
_toolMappings;
|
|
29
|
+
constructor(clientManager, toolMappings = exports.DEFAULT_CHANNEL_TOOL_MAPPINGS) {
|
|
30
|
+
this._clientManager = clientManager;
|
|
31
|
+
this._toolMappings = toolMappings;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Send a message to a channel.
|
|
35
|
+
* Resolves the channel source (serverName:channelId) to determine
|
|
36
|
+
* which MCP server and tool to use.
|
|
37
|
+
*/
|
|
38
|
+
async send(request) {
|
|
39
|
+
const colonIdx = request.channelSource.indexOf(":");
|
|
40
|
+
if (colonIdx < 0) {
|
|
41
|
+
return {
|
|
42
|
+
success: false,
|
|
43
|
+
error: `Invalid channel source "${request.channelSource}" — expected "serverName:channelId"`,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const serverName = request.channelSource.slice(0, colonIdx);
|
|
47
|
+
const channelId = request.channelSource.slice(colonIdx + 1);
|
|
48
|
+
// Resolve text: apply template if provided
|
|
49
|
+
let text = request.text;
|
|
50
|
+
if (request.template && request.templateVars) {
|
|
51
|
+
text = formatTemplate(request.template, request.templateVars);
|
|
52
|
+
}
|
|
53
|
+
// Find tool mapping by trying to detect channel type from server tools
|
|
54
|
+
const mapping = await this._resolveToolMapping(serverName);
|
|
55
|
+
if (!mapping) {
|
|
56
|
+
return {
|
|
57
|
+
success: false,
|
|
58
|
+
error: `No send-message tool mapping found for server "${serverName}"`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
const args = {
|
|
63
|
+
[mapping.channelArg]: channelId,
|
|
64
|
+
[mapping.textArg]: text,
|
|
65
|
+
};
|
|
66
|
+
const result = await this._clientManager.callTool(serverName, mapping.sendToolName, args);
|
|
67
|
+
return {
|
|
68
|
+
success: result.success,
|
|
69
|
+
messageId: result.content[0]?.text,
|
|
70
|
+
error: result.error,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
75
|
+
return { success: false, error: message };
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async _resolveToolMapping(serverName) {
|
|
79
|
+
try {
|
|
80
|
+
const tools = await this._clientManager.listTools(serverName);
|
|
81
|
+
const toolNames = tools.map((t) => t.name);
|
|
82
|
+
for (const [_type, mapping] of Object.entries(this._toolMappings)) {
|
|
83
|
+
if (toolNames.includes(mapping.sendToolName)) {
|
|
84
|
+
return mapping;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Server not connected or tools unavailable
|
|
90
|
+
}
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.OutboundChannelSender = OutboundChannelSender;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GAP-MCPC-003: Channel Permission Relay.
|
|
3
|
+
*
|
|
4
|
+
* Routes breakpoint approval prompts through messaging channels.
|
|
5
|
+
* Uses a racing claim() pattern: channel response races against
|
|
6
|
+
* local interaction, first resolver wins.
|
|
7
|
+
*/
|
|
8
|
+
import type { ChannelApprovalRequest, ChannelApprovalResponse, ApprovalClaim, ChannelApprovalSecurityConfig } from "./types";
|
|
9
|
+
import type { OutboundChannelSender } from "./outbound";
|
|
10
|
+
export interface PermissionRelayOptions {
|
|
11
|
+
/** Outbound sender for dispatching approval requests to channels. */
|
|
12
|
+
sender: OutboundChannelSender;
|
|
13
|
+
/** Security configuration for channel approvals. */
|
|
14
|
+
security?: ChannelApprovalSecurityConfig;
|
|
15
|
+
}
|
|
16
|
+
/** Result of a relay attempt. */
|
|
17
|
+
export interface RelayResult {
|
|
18
|
+
/** Whether the relay was dispatched (false if blocked by security). */
|
|
19
|
+
relayed: boolean;
|
|
20
|
+
/** Reason if not relayed. */
|
|
21
|
+
reason?: string;
|
|
22
|
+
/** Request ID for tracking. */
|
|
23
|
+
requestId?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Creates a claimable approval slot.
|
|
27
|
+
* Multiple resolvers can race to claim it; only the first wins.
|
|
28
|
+
*/
|
|
29
|
+
export declare function createApprovalRace(): {
|
|
30
|
+
claim: (source: string, response?: ChannelApprovalResponse) => ApprovalClaim;
|
|
31
|
+
getWinner: () => ApprovalClaim | undefined;
|
|
32
|
+
promise: Promise<ApprovalClaim>;
|
|
33
|
+
};
|
|
34
|
+
export declare class ChannelPermissionRelay {
|
|
35
|
+
private readonly _sender;
|
|
36
|
+
private readonly _security;
|
|
37
|
+
private readonly _pendingRequests;
|
|
38
|
+
constructor(options: PermissionRelayOptions);
|
|
39
|
+
/**
|
|
40
|
+
* Check whether a breakpoint can be relayed through channels.
|
|
41
|
+
* Returns false for terminal-only breakpoints or when relay is disabled.
|
|
42
|
+
*/
|
|
43
|
+
canRelay(breakpointId: string, tags?: string[]): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Relay a breakpoint approval request to all active channels.
|
|
46
|
+
* Returns relay result. Does NOT wait for responses — use handleResponse()
|
|
47
|
+
* to process incoming channel approvals.
|
|
48
|
+
*/
|
|
49
|
+
relay(request: ChannelApprovalRequest, channelSources: string[], tags?: string[]): Promise<RelayResult>;
|
|
50
|
+
/**
|
|
51
|
+
* Handle a response from a channel.
|
|
52
|
+
* Returns the matched request if it was still pending (not expired).
|
|
53
|
+
*/
|
|
54
|
+
handleResponse(response: ChannelApprovalResponse): ChannelApprovalRequest | undefined;
|
|
55
|
+
/** Get a pending request by ID (returns undefined if expired). */
|
|
56
|
+
getPendingRequest(requestId: string): ChannelApprovalRequest | undefined;
|
|
57
|
+
/** Get all pending (non-expired) requests. */
|
|
58
|
+
getPendingRequests(): ChannelApprovalRequest[];
|
|
59
|
+
/** Get the security configuration. */
|
|
60
|
+
get security(): ChannelApprovalSecurityConfig;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=permissionRelay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissionRelay.d.ts","sourceRoot":"","sources":["../../../src/mcp/channels/permissionRelay.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMxD,MAAM,WAAW,sBAAsB;IACrC,qEAAqE;IACrE,MAAM,EAAE,qBAAqB,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,6BAA6B,CAAC;CAC1C;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI;IACpC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,uBAAuB,KAAK,aAAa,CAAC;IAC7E,SAAS,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;IAC3C,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACjC,CAwBA;AAMD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6C;gBAElE,OAAO,EAAE,sBAAsB;IAK3C;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO;IAsBxD;;;;OAIG;IACG,KAAK,CACT,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,MAAM,EAAE,EACxB,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,WAAW,CAAC;IAuCvB;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,uBAAuB,GAAG,sBAAsB,GAAG,SAAS;IAerF,kEAAkE;IAClE,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAWxE,8CAA8C;IAC9C,kBAAkB,IAAI,sBAAsB,EAAE;IAc9C,sCAAsC;IACtC,IAAI,QAAQ,IAAI,6BAA6B,CAE5C;CACF"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* GAP-MCPC-003: Channel Permission Relay.
|
|
4
|
+
*
|
|
5
|
+
* Routes breakpoint approval prompts through messaging channels.
|
|
6
|
+
* Uses a racing claim() pattern: channel response races against
|
|
7
|
+
* local interaction, first resolver wins.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ChannelPermissionRelay = void 0;
|
|
11
|
+
exports.createApprovalRace = createApprovalRace;
|
|
12
|
+
const types_1 = require("./types");
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// Approval claim racing
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
/**
|
|
17
|
+
* Creates a claimable approval slot.
|
|
18
|
+
* Multiple resolvers can race to claim it; only the first wins.
|
|
19
|
+
*/
|
|
20
|
+
function createApprovalRace() {
|
|
21
|
+
let winner;
|
|
22
|
+
let resolvePromise;
|
|
23
|
+
const promise = new Promise((resolve) => {
|
|
24
|
+
resolvePromise = resolve;
|
|
25
|
+
});
|
|
26
|
+
function claim(source, response) {
|
|
27
|
+
if (winner) {
|
|
28
|
+
return { claimed: false, source };
|
|
29
|
+
}
|
|
30
|
+
winner = { claimed: true, source, response };
|
|
31
|
+
if (resolvePromise) {
|
|
32
|
+
resolvePromise(winner);
|
|
33
|
+
}
|
|
34
|
+
return winner;
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
claim,
|
|
38
|
+
getWinner: () => winner,
|
|
39
|
+
promise,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// ChannelPermissionRelay
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
class ChannelPermissionRelay {
|
|
46
|
+
_sender;
|
|
47
|
+
_security;
|
|
48
|
+
_pendingRequests = new Map();
|
|
49
|
+
constructor(options) {
|
|
50
|
+
this._sender = options.sender;
|
|
51
|
+
this._security = options.security ?? types_1.DEFAULT_APPROVAL_SECURITY;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Check whether a breakpoint can be relayed through channels.
|
|
55
|
+
* Returns false for terminal-only breakpoints or when relay is disabled.
|
|
56
|
+
*/
|
|
57
|
+
canRelay(breakpointId, tags) {
|
|
58
|
+
if (!this._security.enabled)
|
|
59
|
+
return false;
|
|
60
|
+
// Check terminal-only tags
|
|
61
|
+
if (tags) {
|
|
62
|
+
for (const tag of tags) {
|
|
63
|
+
if (this._security.terminalOnlyTags.includes(tag)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Check breakpoint ID prefixes for terminal-only categories
|
|
69
|
+
for (const restrictedTag of this._security.terminalOnlyTags) {
|
|
70
|
+
if (breakpointId.startsWith(`${restrictedTag}.`)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Relay a breakpoint approval request to all active channels.
|
|
78
|
+
* Returns relay result. Does NOT wait for responses — use handleResponse()
|
|
79
|
+
* to process incoming channel approvals.
|
|
80
|
+
*/
|
|
81
|
+
async relay(request, channelSources, tags) {
|
|
82
|
+
if (!this.canRelay(request.breakpointId, tags)) {
|
|
83
|
+
return {
|
|
84
|
+
relayed: false,
|
|
85
|
+
reason: `Breakpoint "${request.breakpointId}" is restricted to terminal-only approval`,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
if (channelSources.length === 0) {
|
|
89
|
+
return { relayed: false, reason: "No active channels to relay to" };
|
|
90
|
+
}
|
|
91
|
+
this._pendingRequests.set(request.requestId, request);
|
|
92
|
+
// Send to all channels
|
|
93
|
+
const template = `Breakpoint approval needed:\n**{{description}}**\nRun: {{runId}}\nOptions: {{options}}\n\nReply to approve or reject.`;
|
|
94
|
+
const templateVars = {
|
|
95
|
+
description: request.description,
|
|
96
|
+
runId: request.runId,
|
|
97
|
+
options: request.options.join(", "),
|
|
98
|
+
};
|
|
99
|
+
// formatTemplate is applied by OutboundChannelSender when both template and templateVars are present.
|
|
100
|
+
// text is set as fallback in case template rendering fails.
|
|
101
|
+
const fallbackText = `Approval needed: ${request.description} (${request.options.join(", ")})`;
|
|
102
|
+
await Promise.allSettled(channelSources.map((source) => this._sender.send({
|
|
103
|
+
channelSource: source,
|
|
104
|
+
text: fallbackText,
|
|
105
|
+
template,
|
|
106
|
+
templateVars,
|
|
107
|
+
})));
|
|
108
|
+
return { relayed: true, requestId: request.requestId };
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Handle a response from a channel.
|
|
112
|
+
* Returns the matched request if it was still pending (not expired).
|
|
113
|
+
*/
|
|
114
|
+
handleResponse(response) {
|
|
115
|
+
const request = this._pendingRequests.get(response.requestId);
|
|
116
|
+
if (!request)
|
|
117
|
+
return undefined;
|
|
118
|
+
// Check if the request has expired
|
|
119
|
+
const elapsed = Date.now() - new Date(request.createdAt).getTime();
|
|
120
|
+
if (elapsed > request.timeoutMs) {
|
|
121
|
+
this._pendingRequests.delete(response.requestId);
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
this._pendingRequests.delete(response.requestId);
|
|
125
|
+
return request;
|
|
126
|
+
}
|
|
127
|
+
/** Get a pending request by ID (returns undefined if expired). */
|
|
128
|
+
getPendingRequest(requestId) {
|
|
129
|
+
const request = this._pendingRequests.get(requestId);
|
|
130
|
+
if (!request)
|
|
131
|
+
return undefined;
|
|
132
|
+
const elapsed = Date.now() - new Date(request.createdAt).getTime();
|
|
133
|
+
if (elapsed > request.timeoutMs) {
|
|
134
|
+
this._pendingRequests.delete(requestId);
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
return request;
|
|
138
|
+
}
|
|
139
|
+
/** Get all pending (non-expired) requests. */
|
|
140
|
+
getPendingRequests() {
|
|
141
|
+
const now = Date.now();
|
|
142
|
+
const results = [];
|
|
143
|
+
for (const [id, request] of this._pendingRequests) {
|
|
144
|
+
const elapsed = now - new Date(request.createdAt).getTime();
|
|
145
|
+
if (elapsed > request.timeoutMs) {
|
|
146
|
+
this._pendingRequests.delete(id);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
results.push(request);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return results;
|
|
153
|
+
}
|
|
154
|
+
/** Get the security configuration. */
|
|
155
|
+
get security() {
|
|
156
|
+
return this._security;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
exports.ChannelPermissionRelay = ChannelPermissionRelay;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GAP-MCPC-001/002/003: MCP Channel types.
|
|
3
|
+
*
|
|
4
|
+
* Defines types for messaging channels backed by MCP servers.
|
|
5
|
+
* Channels enable inbound/outbound messaging and breakpoint approval
|
|
6
|
+
* routing through external platforms (Slack, Discord, email, etc.).
|
|
7
|
+
*/
|
|
8
|
+
/** Channel capability declaration from an MCP server. */
|
|
9
|
+
export interface ChannelCapability {
|
|
10
|
+
/** Whether the server supports channel notifications. */
|
|
11
|
+
inbound: boolean;
|
|
12
|
+
/** Whether the server supports outbound messaging tools. */
|
|
13
|
+
outbound: boolean;
|
|
14
|
+
/** Whether the server supports permission relay. */
|
|
15
|
+
permissionRelay: boolean;
|
|
16
|
+
/** Human-readable channel type (slack, discord, email, etc.). */
|
|
17
|
+
channelType?: string;
|
|
18
|
+
}
|
|
19
|
+
/** Configuration for a channel binding. */
|
|
20
|
+
export interface ChannelConfig {
|
|
21
|
+
/** MCP server name (matches McpServerConfig.name). */
|
|
22
|
+
serverName: string;
|
|
23
|
+
/** Display name shown in notifications. */
|
|
24
|
+
displayName: string;
|
|
25
|
+
/** Channel identifier (e.g. Slack channel ID). */
|
|
26
|
+
channelId: string;
|
|
27
|
+
/** Channel type for routing. */
|
|
28
|
+
channelType: string;
|
|
29
|
+
/** Whether the channel is currently enabled. */
|
|
30
|
+
enabled: boolean;
|
|
31
|
+
}
|
|
32
|
+
/** A message received from a channel. */
|
|
33
|
+
export interface ChannelMessage {
|
|
34
|
+
/** Unique message identifier. */
|
|
35
|
+
messageId: string;
|
|
36
|
+
/** Channel source identifier (serverName:channelId). */
|
|
37
|
+
source: string;
|
|
38
|
+
/** Sender identifier (platform-specific). */
|
|
39
|
+
sender: string;
|
|
40
|
+
/** Message content. */
|
|
41
|
+
content: string;
|
|
42
|
+
/** ISO timestamp of when the message was received. */
|
|
43
|
+
receivedAt: string;
|
|
44
|
+
/** Optional metadata from the channel platform. */
|
|
45
|
+
metadata?: Record<string, unknown>;
|
|
46
|
+
}
|
|
47
|
+
/** Binding of a channel to a specific run. */
|
|
48
|
+
export interface ChannelBinding {
|
|
49
|
+
/** Channel source (serverName:channelId). */
|
|
50
|
+
channelSource: string;
|
|
51
|
+
/** Run ID this channel is bound to. */
|
|
52
|
+
runId: string;
|
|
53
|
+
/** ISO timestamp of when the binding was created. */
|
|
54
|
+
boundAt: string;
|
|
55
|
+
}
|
|
56
|
+
/** Request to send an outbound message through a channel. */
|
|
57
|
+
export interface OutboundMessageRequest {
|
|
58
|
+
/** Target channel source (serverName:channelId). */
|
|
59
|
+
channelSource: string;
|
|
60
|
+
/** Message text. */
|
|
61
|
+
text: string;
|
|
62
|
+
/** Optional template name for formatting. */
|
|
63
|
+
template?: string;
|
|
64
|
+
/** Template variables for substitution. */
|
|
65
|
+
templateVars?: Record<string, string>;
|
|
66
|
+
}
|
|
67
|
+
/** Result of sending an outbound message. */
|
|
68
|
+
export interface OutboundMessageResult {
|
|
69
|
+
success: boolean;
|
|
70
|
+
/** Platform-specific message ID if available. */
|
|
71
|
+
messageId?: string;
|
|
72
|
+
error?: string;
|
|
73
|
+
}
|
|
74
|
+
/** A breakpoint approval request sent to a channel. */
|
|
75
|
+
export interface ChannelApprovalRequest {
|
|
76
|
+
/** Unique request identifier. */
|
|
77
|
+
requestId: string;
|
|
78
|
+
/** Breakpoint ID being approved. */
|
|
79
|
+
breakpointId: string;
|
|
80
|
+
/** Run ID. */
|
|
81
|
+
runId: string;
|
|
82
|
+
/** Effect ID. */
|
|
83
|
+
effectId: string;
|
|
84
|
+
/** Human-readable description of the breakpoint. */
|
|
85
|
+
description: string;
|
|
86
|
+
/** Options available (e.g. ["approve", "reject"]). */
|
|
87
|
+
options: string[];
|
|
88
|
+
/** ISO timestamp of when the request was created. */
|
|
89
|
+
createdAt: string;
|
|
90
|
+
/** Timeout in ms for the channel response. */
|
|
91
|
+
timeoutMs: number;
|
|
92
|
+
}
|
|
93
|
+
/** Response to a breakpoint approval request from a channel. */
|
|
94
|
+
export interface ChannelApprovalResponse {
|
|
95
|
+
/** Request ID being responded to. */
|
|
96
|
+
requestId: string;
|
|
97
|
+
/** Whether the breakpoint was approved. */
|
|
98
|
+
approved: boolean;
|
|
99
|
+
/** Optional feedback text. */
|
|
100
|
+
feedback?: string;
|
|
101
|
+
/** Who responded (platform-specific identifier). */
|
|
102
|
+
respondedBy: string;
|
|
103
|
+
/** Which channel the response came from. */
|
|
104
|
+
channelSource: string;
|
|
105
|
+
/** ISO timestamp of the response. */
|
|
106
|
+
respondedAt: string;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* An approval claim. Multiple resolvers race; the first to claim() wins.
|
|
110
|
+
*/
|
|
111
|
+
export interface ApprovalClaim {
|
|
112
|
+
/** Whether this claim was the winning one. */
|
|
113
|
+
claimed: boolean;
|
|
114
|
+
/** Source of the claim (e.g. "channel:slack:general", "local:terminal"). */
|
|
115
|
+
source: string;
|
|
116
|
+
/** The response if this claim won. */
|
|
117
|
+
response?: ChannelApprovalResponse;
|
|
118
|
+
}
|
|
119
|
+
/** Persisted channel allowlist. */
|
|
120
|
+
export interface ChannelAllowlistFile {
|
|
121
|
+
schemaVersion: string;
|
|
122
|
+
channels: ChannelConfig[];
|
|
123
|
+
}
|
|
124
|
+
export declare const CHANNEL_ALLOWLIST_SCHEMA_VERSION = "2026.01.channel-allowlist-v1";
|
|
125
|
+
/** Per-tag or per-level security constraints for channel approvals. */
|
|
126
|
+
export interface ChannelApprovalSecurityConfig {
|
|
127
|
+
/** Tags that require terminal-only approval (no channel relay). */
|
|
128
|
+
terminalOnlyTags: string[];
|
|
129
|
+
/** Whether channel approval is enabled at all. */
|
|
130
|
+
enabled: boolean;
|
|
131
|
+
/** Default timeout for channel approval requests (ms). */
|
|
132
|
+
defaultTimeoutMs: number;
|
|
133
|
+
}
|
|
134
|
+
export declare const DEFAULT_APPROVAL_SECURITY: ChannelApprovalSecurityConfig;
|
|
135
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,QAAQ,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,eAAe,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;CAClB;AAMD,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,6DAA6D;AAC7D,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,6CAA6C;AAC7C,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc;IACd,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,gEAAgE;AAChE,MAAM,WAAW,uBAAuB;IACtC,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC;AAMD,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,gCAAgC,iCAAiC,CAAC;AAM/E,uEAAuE;AACvE,MAAM,WAAW,6BAA6B;IAC5C,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,yBAAyB,EAAE,6BAIvC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* GAP-MCPC-001/002/003: MCP Channel types.
|
|
4
|
+
*
|
|
5
|
+
* Defines types for messaging channels backed by MCP servers.
|
|
6
|
+
* Channels enable inbound/outbound messaging and breakpoint approval
|
|
7
|
+
* routing through external platforms (Slack, Discord, email, etc.).
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.DEFAULT_APPROVAL_SECURITY = exports.CHANNEL_ALLOWLIST_SCHEMA_VERSION = void 0;
|
|
11
|
+
exports.CHANNEL_ALLOWLIST_SCHEMA_VERSION = "2026.01.channel-allowlist-v1";
|
|
12
|
+
exports.DEFAULT_APPROVAL_SECURITY = {
|
|
13
|
+
terminalOnlyTags: ["destroy", "auth", "credential"],
|
|
14
|
+
enabled: false,
|
|
15
|
+
defaultTimeoutMs: 300_000, // 5 minutes
|
|
16
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status: NOT INTEGRATED YET
|
|
3
|
+
* Moved from @a5c-ai/babysitter-sdk.
|
|
4
|
+
* GAP-REMOTE-006: MCP server configuration persistence.
|
|
5
|
+
*
|
|
6
|
+
* Read/write/merge server configurations from mcp-servers.json.
|
|
7
|
+
* Uses the same atomic temp-file + rename pattern as session modules.
|
|
8
|
+
*/
|
|
9
|
+
import type { McpServerConfig, McpServersFile } from "./types";
|
|
10
|
+
/** Resolve the path to mcp-servers.json within a state directory. */
|
|
11
|
+
export declare function getMcpServersConfigPath(stateDir: string): string;
|
|
12
|
+
/** Read server configurations. Returns empty list on missing/corrupt file. */
|
|
13
|
+
export declare function readMcpServersConfig(stateDir: string): Promise<McpServersFile>;
|
|
14
|
+
/** Write server configurations atomically. */
|
|
15
|
+
export declare function writeMcpServersConfig(stateDir: string, config: McpServersFile): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Add or update a server configuration.
|
|
18
|
+
* If a server with the same name exists, it is replaced.
|
|
19
|
+
*/
|
|
20
|
+
export declare function upsertServerConfig(stateDir: string, server: McpServerConfig): Promise<McpServersFile>;
|
|
21
|
+
/** Remove a server configuration by name. Returns true if removed. */
|
|
22
|
+
export declare function removeServerConfig(stateDir: string, serverName: string): Promise<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* Merge an array of server configs into the existing configuration.
|
|
25
|
+
* Servers with matching names are replaced; new ones are appended.
|
|
26
|
+
*/
|
|
27
|
+
export declare function mergeMcpServersConfig(stateDir: string, incoming: McpServerConfig[]): Promise<McpServersFile>;
|
|
28
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/mcp/client/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAe/D,qEAAqE;AACrE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,8EAA8E;AAC9E,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAmBpF;AAED,8CAA8C;AAC9C,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,cAAc,CAAC,CAUzB;AAED,sEAAsE;AACtE,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,EAAE,GAC1B,OAAO,CAAC,cAAc,CAAC,CAYzB"}
|