@a5c-ai/genty-platform 5.1.1-staging.00ceebd28cf2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -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/sessions.d.ts +17 -0
- package/dist/api/sessions.d.ts.map +1 -0
- package/dist/api/sessions.js +58 -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/analytics.d.ts +46 -0
- package/dist/breakpoints/analytics.d.ts.map +1 -0
- package/dist/breakpoints/analytics.js +64 -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/compression/compaction.d.ts +82 -0
- package/dist/compression/compaction.d.ts.map +1 -0
- package/dist/compression/compaction.js +310 -0
- package/dist/compression/compactionStrategy.d.ts +37 -0
- package/dist/compression/compactionStrategy.d.ts.map +1 -0
- package/dist/compression/compactionStrategy.js +52 -0
- package/dist/compression/compressionFamilies.d.ts +39 -0
- package/dist/compression/compressionFamilies.d.ts.map +1 -0
- package/dist/compression/compressionFamilies.js +123 -0
- package/dist/context/dynamic.d.ts +16 -0
- package/dist/context/dynamic.d.ts.map +1 -0
- package/dist/context/dynamic.js +55 -0
- package/dist/context/instructions.d.ts +15 -0
- package/dist/context/instructions.d.ts.map +1 -0
- package/dist/context/instructions.js +97 -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 +158 -0
- package/dist/cost/types.d.ts +172 -0
- package/dist/cost/types.d.ts.map +1 -0
- package/dist/cost/types.js +229 -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 +245 -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/durableQueue.d.ts +41 -0
- package/dist/daemon/durableQueue.d.ts.map +1 -0
- package/dist/daemon/durableQueue.js +183 -0
- package/dist/daemon/fileWatcher.d.ts +9 -0
- package/dist/daemon/fileWatcher.d.ts.map +1 -0
- package/dist/daemon/fileWatcher.js +144 -0
- package/dist/daemon/index.d.ts +9 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +26 -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 +27 -0
- package/dist/daemon/loop.d.ts.map +1 -0
- package/dist/daemon/loop.js +387 -0
- package/dist/daemon/timerScheduler.d.ts +13 -0
- package/dist/daemon/timerScheduler.d.ts.map +1 -0
- package/dist/daemon/timerScheduler.js +212 -0
- package/dist/daemon/types.d.ts +122 -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 +132 -0
- package/dist/extensions/discovery.d.ts +15 -0
- package/dist/extensions/discovery.d.ts.map +1 -0
- package/dist/extensions/discovery.js +119 -0
- package/dist/extensions/installer.d.ts +14 -0
- package/dist/extensions/installer.d.ts.map +1 -0
- package/dist/extensions/installer.js +100 -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/privacySettings.d.ts +31 -0
- package/dist/governance/privacySettings.d.ts.map +1 -0
- package/dist/governance/privacySettings.js +104 -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/adapters/adapterBridge.d.ts +71 -0
- package/dist/harness/adapters/adapterBridge.d.ts.map +1 -0
- package/dist/harness/adapters/adapterBridge.js +117 -0
- package/dist/harness/adapters/adapterClientFactory.d.ts +29 -0
- package/dist/harness/adapters/adapterClientFactory.d.ts.map +1 -0
- package/dist/harness/adapters/adapterClientFactory.js +90 -0
- package/dist/harness/adapters/adapterEventEmitter.d.ts +51 -0
- package/dist/harness/adapters/adapterEventEmitter.d.ts.map +1 -0
- package/dist/harness/adapters/adapterEventEmitter.js +143 -0
- package/dist/harness/adapters/adapterEventMapper.d.ts +63 -0
- package/dist/harness/adapters/adapterEventMapper.d.ts.map +1 -0
- package/dist/harness/adapters/adapterEventMapper.js +100 -0
- package/dist/harness/adapters/adapterHarnessMap.d.ts +25 -0
- package/dist/harness/adapters/adapterHarnessMap.d.ts.map +1 -0
- package/dist/harness/adapters/adapterHarnessMap.js +55 -0
- package/dist/harness/adapters/adapterStdinReader.d.ts +45 -0
- package/dist/harness/adapters/adapterStdinReader.d.ts.map +1 -0
- package/dist/harness/adapters/adapterStdinReader.js +106 -0
- package/dist/harness/adapters/adapterTypes.d.ts +122 -0
- package/dist/harness/adapters/adapterTypes.d.ts.map +1 -0
- package/dist/harness/adapters/adapterTypes.js +11 -0
- package/dist/harness/adapters/index.d.ts +17 -0
- package/dist/harness/adapters/index.d.ts.map +1 -0
- package/dist/harness/adapters/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/budgetDowngrade.d.ts +12 -0
- package/dist/harness/budgetDowngrade.d.ts.map +1 -0
- package/dist/harness/budgetDowngrade.js +71 -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/circuitBreaker.d.ts +51 -0
- package/dist/harness/circuitBreaker.d.ts.map +1 -0
- package/dist/harness/circuitBreaker.js +110 -0
- package/dist/harness/concurrentEffects.d.ts +39 -0
- package/dist/harness/concurrentEffects.d.ts.map +1 -0
- package/dist/harness/concurrentEffects.js +90 -0
- package/dist/harness/effectRouting.d.ts +57 -0
- package/dist/harness/effectRouting.d.ts.map +1 -0
- package/dist/harness/effectRouting.js +130 -0
- package/dist/harness/extensionToolBridge.d.ts +13 -0
- package/dist/harness/extensionToolBridge.d.ts.map +1 -0
- package/dist/harness/extensionToolBridge.js +23 -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/gentySessionContext.d.ts +31 -0
- package/dist/harness/gentySessionContext.d.ts.map +1 -0
- package/dist/harness/gentySessionContext.js +49 -0
- package/dist/harness/gentySessionIntegration.d.ts +16 -0
- package/dist/harness/gentySessionIntegration.d.ts.map +1 -0
- package/dist/harness/gentySessionIntegration.js +66 -0
- package/dist/harness/hostContract.d.ts +69 -0
- package/dist/harness/hostContract.d.ts.map +1 -0
- package/dist/harness/hostContract.js +169 -0
- package/dist/harness/index.d.ts +25 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +122 -0
- package/dist/harness/internal/createRun/agent-core-loop.d.ts +43 -0
- package/dist/harness/internal/createRun/agent-core-loop.d.ts.map +1 -0
- package/dist/harness/internal/createRun/agent-core-loop.js +247 -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 +163 -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 +17 -0
- package/dist/harness/internal/createRun/orchestration/dispatch.d.ts +23 -0
- package/dist/harness/internal/createRun/orchestration/dispatch.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/dispatch.js +135 -0
- package/dist/harness/internal/createRun/orchestration/effects.d.ts +135 -0
- package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/effects.js +904 -0
- package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +21 -0
- package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +80 -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 +403 -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 +106 -0
- package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts +32 -0
- package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.js +76 -0
- package/dist/harness/internal/createRun/orchestration/index.d.ts +29 -0
- package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/index.js +370 -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 +656 -0
- package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +27 -0
- package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/internalTools.js +264 -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 +48 -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/orchestration/workerSessionEnhancer.d.ts +4 -0
- package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.js +36 -0
- package/dist/harness/internal/createRun/output.d.ts +40 -0
- package/dist/harness/internal/createRun/output.d.ts.map +1 -0
- package/dist/harness/internal/createRun/output.js +467 -0
- package/dist/harness/internal/createRun/pi.d.ts +10 -0
- package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
- package/dist/harness/internal/createRun/pi.js +35 -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 +424 -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 +22 -0
- package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/prompts.js +239 -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 +205 -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 +4 -0
- package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/validation.js +260 -0
- package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +13 -0
- package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/validationSource.js +345 -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 +59 -0
- package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
- package/dist/harness/internal/createRun/prompts.js +427 -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 +184 -0
- package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
- package/dist/harness/internal/createRun/utils.js +218 -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 +44 -0
- package/dist/harness/invoker.d.ts.map +1 -0
- package/dist/harness/invoker.js +341 -0
- package/dist/harness/lspIntegration.d.ts +48 -0
- package/dist/harness/lspIntegration.d.ts.map +1 -0
- package/dist/harness/lspIntegration.js +45 -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/multiHarnessDispatch.d.ts +49 -0
- package/dist/harness/multiHarnessDispatch.d.ts.map +1 -0
- package/dist/harness/multiHarnessDispatch.js +73 -0
- package/dist/harness/oauthIntegration.d.ts +55 -0
- package/dist/harness/oauthIntegration.d.ts.map +1 -0
- package/dist/harness/oauthIntegration.js +84 -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/parallelFileOps.d.ts +56 -0
- package/dist/harness/parallelFileOps.d.ts.map +1 -0
- package/dist/harness/parallelFileOps.js +166 -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 +78 -0
- package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
- package/dist/harness/piWrapper/moduleSupport.js +207 -0
- package/dist/harness/piWrapper.d.ts +82 -0
- package/dist/harness/piWrapper.d.ts.map +1 -0
- package/dist/harness/piWrapper.js +406 -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/profileOrchestration.d.ts +55 -0
- package/dist/harness/profileOrchestration.d.ts.map +1 -0
- package/dist/harness/profileOrchestration.js +61 -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/streamingParallelism.d.ts +43 -0
- package/dist/harness/streamingParallelism.d.ts.map +1 -0
- package/dist/harness/streamingParallelism.js +113 -0
- package/dist/harness/streamingRenderer.d.ts +64 -0
- package/dist/harness/streamingRenderer.d.ts.map +1 -0
- package/dist/harness/streamingRenderer.js +85 -0
- package/dist/harness/types.d.ts +278 -0
- package/dist/harness/types.d.ts.map +1 -0
- package/dist/harness/types.js +34 -0
- package/dist/harness/websocketSession.d.ts +63 -0
- package/dist/harness/websocketSession.d.ts.map +1 -0
- package/dist/harness/websocketSession.js +113 -0
- package/dist/harness/worktreeIsolation.d.ts +39 -0
- package/dist/harness/worktreeIsolation.d.ts.map +1 -0
- package/dist/harness/worktreeIsolation.js +85 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +54 -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/commandDiscovery.d.ts +38 -0
- package/dist/interaction/commandDiscovery.d.ts.map +1 -0
- package/dist/interaction/commandDiscovery.js +106 -0
- package/dist/interaction/index.d.ts +11 -0
- package/dist/interaction/index.d.ts.map +1 -0
- package/dist/interaction/index.js +42 -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/interaction/model-switch.d.ts +16 -0
- package/dist/interaction/model-switch.d.ts.map +1 -0
- package/dist/interaction/model-switch.js +41 -0
- package/dist/interaction/permissionApprovalUi.d.ts +32 -0
- package/dist/interaction/permissionApprovalUi.d.ts.map +1 -0
- package/dist/interaction/permissionApprovalUi.js +96 -0
- package/dist/interaction/steering.d.ts +17 -0
- package/dist/interaction/steering.d.ts.map +1 -0
- package/dist/interaction/steering.js +41 -0
- package/dist/interaction/typedEffectPatterns.d.ts +55 -0
- package/dist/interaction/typedEffectPatterns.d.ts.map +1 -0
- package/dist/interaction/typedEffectPatterns.js +190 -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 +16 -0
- package/dist/mcp/channels/index.d.ts.map +1 -0
- package/dist/mcp/channels/index.js +38 -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/auth.d.ts +57 -0
- package/dist/mcp/client/auth.d.ts.map +1 -0
- package/dist/mcp/client/auth.js +99 -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 +144 -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 +61 -0
- package/dist/mcp/client/index.d.ts +13 -0
- package/dist/mcp/client/index.d.ts.map +1 -0
- package/dist/mcp/client/index.js +30 -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 +215 -0
- package/dist/mcp/client/resourceBrowser.d.ts +52 -0
- package/dist/mcp/client/resourceBrowser.d.ts.map +1 -0
- package/dist/mcp/client/resourceBrowser.js +80 -0
- package/dist/mcp/client/toolRegistry.d.ts +113 -0
- package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
- package/dist/mcp/client/toolRegistry.js +190 -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/alertWebhooks.d.ts +35 -0
- package/dist/observability/alertWebhooks.d.ts.map +1 -0
- package/dist/observability/alertWebhooks.js +68 -0
- package/dist/observability/analytics.d.ts +66 -0
- package/dist/observability/analytics.d.ts.map +1 -0
- package/dist/observability/analytics.js +104 -0
- package/dist/observability/auditExport.d.ts +25 -0
- package/dist/observability/auditExport.d.ts.map +1 -0
- package/dist/observability/auditExport.js +108 -0
- package/dist/observability/contextIntrospection.d.ts +40 -0
- package/dist/observability/contextIntrospection.d.ts.map +1 -0
- package/dist/observability/contextIntrospection.js +93 -0
- package/dist/observability/failureTriage.d.ts +28 -0
- package/dist/observability/failureTriage.d.ts.map +1 -0
- package/dist/observability/failureTriage.js +168 -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 +14 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +53 -0
- package/dist/observability/progressSummarizer.d.ts +27 -0
- package/dist/observability/progressSummarizer.d.ts.map +1 -0
- package/dist/observability/progressSummarizer.js +143 -0
- package/dist/observability/promptPlan.d.ts +52 -0
- package/dist/observability/promptPlan.d.ts.map +1 -0
- package/dist/observability/promptPlan.js +101 -0
- package/dist/observability/resumeDashboard.d.ts +32 -0
- package/dist/observability/resumeDashboard.d.ts.map +1 -0
- package/dist/observability/resumeDashboard.js +204 -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/subagentHealth.d.ts +66 -0
- package/dist/observability/subagentHealth.d.ts.map +1 -0
- package/dist/observability/subagentHealth.js +107 -0
- package/dist/observability/subagentProgress.d.ts +64 -0
- package/dist/observability/subagentProgress.d.ts.map +1 -0
- package/dist/observability/subagentProgress.js +91 -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/plugins/ccCompatibility.d.ts +79 -0
- package/dist/plugins/ccCompatibility.d.ts.map +1 -0
- package/dist/plugins/ccCompatibility.js +139 -0
- package/dist/plugins/index.d.ts +16 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +38 -0
- package/dist/plugins/loader.d.ts +37 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +112 -0
- package/dist/plugins/management.d.ts +33 -0
- package/dist/plugins/management.d.ts.map +1 -0
- package/dist/plugins/management.js +99 -0
- package/dist/plugins/marketplace.d.ts +64 -0
- package/dist/plugins/marketplace.d.ts.map +1 -0
- package/dist/plugins/marketplace.js +101 -0
- package/dist/plugins/sandbox.d.ts +38 -0
- package/dist/plugins/sandbox.d.ts.map +1 -0
- package/dist/plugins/sandbox.js +109 -0
- package/dist/plugins/trust.d.ts +31 -0
- package/dist/plugins/trust.d.ts.map +1 -0
- package/dist/plugins/trust.js +66 -0
- package/dist/plugins/types.d.ts +27 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +7 -0
- package/dist/plugins/validation.d.ts +32 -0
- package/dist/plugins/validation.d.ts.map +1 -0
- package/dist/plugins/validation.js +117 -0
- package/dist/plugins/version-check.d.ts +23 -0
- package/dist/plugins/version-check.d.ts.map +1 -0
- package/dist/plugins/version-check.js +70 -0
- package/dist/plugins/versioning.d.ts +40 -0
- package/dist/plugins/versioning.d.ts.map +1 -0
- package/dist/plugins/versioning.js +101 -0
- package/dist/processes/index.d.ts +12 -0
- package/dist/processes/index.d.ts.map +1 -0
- package/dist/processes/index.js +15 -0
- package/dist/processes/recommender.d.ts +36 -0
- package/dist/processes/recommender.d.ts.map +1 -0
- package/dist/processes/recommender.js +73 -0
- package/dist/processes/scorer.d.ts +26 -0
- package/dist/processes/scorer.d.ts.map +1 -0
- package/dist/processes/scorer.js +104 -0
- package/dist/processes/types.d.ts +48 -0
- package/dist/processes/types.d.ts.map +1 -0
- package/dist/processes/types.js +9 -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 +63 -0
- package/dist/seams/contract.d.ts.map +1 -0
- package/dist/seams/contract.js +141 -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 +72 -0
- package/dist/session/cost.d.ts.map +1 -0
- package/dist/session/cost.js +221 -0
- package/dist/session/crossRunComm.d.ts +40 -0
- package/dist/session/crossRunComm.d.ts.map +1 -0
- package/dist/session/crossRunComm.js +86 -0
- package/dist/session/crossRunState.d.ts +8 -0
- package/dist/session/crossRunState.d.ts.map +1 -0
- package/dist/session/crossRunState.js +45 -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 +144 -0
- package/dist/session/index.d.ts +8 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +73 -0
- package/dist/session/memoryConsolidation.d.ts +31 -0
- package/dist/session/memoryConsolidation.d.ts.map +1 -0
- package/dist/session/memoryConsolidation.js +135 -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/sessionSharing.d.ts +55 -0
- package/dist/session/sessionSharing.d.ts.map +1 -0
- package/dist/session/sessionSharing.js +113 -0
- package/dist/session/sessionTemplates.d.ts +57 -0
- package/dist/session/sessionTemplates.d.ts.map +1 -0
- package/dist/session/sessionTemplates.js +93 -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/skills/chain.d.ts +31 -0
- package/dist/skills/chain.d.ts.map +1 -0
- package/dist/skills/chain.js +113 -0
- package/dist/skills/discovery.d.ts +34 -0
- package/dist/skills/discovery.d.ts.map +1 -0
- package/dist/skills/discovery.js +185 -0
- package/dist/skills/index.d.ts +12 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +18 -0
- package/dist/skills/router.d.ts +35 -0
- package/dist/skills/router.d.ts.map +1 -0
- package/dist/skills/router.js +143 -0
- package/dist/skills/types.d.ts +33 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +5 -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 +173 -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/dist/trust/harness-signing.d.ts +15 -0
- package/dist/trust/harness-signing.d.ts.map +1 -0
- package/dist/trust/harness-signing.js +46 -0
- package/dist/trust/key-store.d.ts +15 -0
- package/dist/trust/key-store.d.ts.map +1 -0
- package/dist/trust/key-store.js +66 -0
- package/package.json +161 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Sandbox policy evaluation for tool/operation sandboxing (GAP-SEC-002).
|
|
4
|
+
* Provides glob-based rule matching, policy composition with deny-overrides,
|
|
5
|
+
* and policy attenuation for child scopes.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.matchesPattern = matchesPattern;
|
|
9
|
+
exports.evaluateSandboxAccess = evaluateSandboxAccess;
|
|
10
|
+
exports.composeSandboxPolicies = composeSandboxPolicies;
|
|
11
|
+
exports.attenuateSandboxPolicy = attenuateSandboxPolicy;
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// Pattern matching
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
/**
|
|
16
|
+
* Simple glob matching supporting:
|
|
17
|
+
* - `*` matches any characters within a single path segment (no `/`)
|
|
18
|
+
* - `**` matches any characters including `/` (recursive)
|
|
19
|
+
* - Exact match
|
|
20
|
+
*/
|
|
21
|
+
function matchesPattern(pattern, target) {
|
|
22
|
+
// Convert glob pattern to regex
|
|
23
|
+
let regex = '';
|
|
24
|
+
let i = 0;
|
|
25
|
+
while (i < pattern.length) {
|
|
26
|
+
if (pattern[i] === '*' && pattern[i + 1] === '*') {
|
|
27
|
+
// ** matches everything including path separators
|
|
28
|
+
regex += '.*';
|
|
29
|
+
i += 2;
|
|
30
|
+
// Skip trailing slash after **
|
|
31
|
+
if (pattern[i] === '/') {
|
|
32
|
+
i++;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else if (pattern[i] === '*') {
|
|
36
|
+
// * matches anything except path separator
|
|
37
|
+
regex += '[^/]*';
|
|
38
|
+
i++;
|
|
39
|
+
}
|
|
40
|
+
else if (pattern[i] === '?') {
|
|
41
|
+
regex += '[^/]';
|
|
42
|
+
i++;
|
|
43
|
+
}
|
|
44
|
+
else if ('.+^${}()|[]\\'.includes(pattern[i])) {
|
|
45
|
+
regex += '\\' + pattern[i];
|
|
46
|
+
i++;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
regex += pattern[i];
|
|
50
|
+
i++;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return new RegExp('^' + regex + '$').test(target);
|
|
54
|
+
}
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// Evaluation
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
/**
|
|
59
|
+
* Evaluate a sandbox operation against a policy.
|
|
60
|
+
* Matches rules by operation kind, selects highest-priority match,
|
|
61
|
+
* falls back to defaultAction.
|
|
62
|
+
*/
|
|
63
|
+
function evaluateSandboxAccess(policy, operation) {
|
|
64
|
+
const matching = [];
|
|
65
|
+
for (const rule of policy.rules) {
|
|
66
|
+
if (rule.kind === operation.kind && matchesPattern(rule.pattern, operation.target)) {
|
|
67
|
+
matching.push(rule);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (matching.length === 0) {
|
|
71
|
+
return {
|
|
72
|
+
action: policy.defaultAction,
|
|
73
|
+
reason: `No matching rule; default action: ${policy.defaultAction}`,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
// Highest priority wins
|
|
77
|
+
matching.sort((a, b) => b.priority - a.priority);
|
|
78
|
+
const winner = matching[0];
|
|
79
|
+
return {
|
|
80
|
+
action: winner.action,
|
|
81
|
+
matchedRule: winner,
|
|
82
|
+
reason: `Matched rule: ${winner.kind} ${winner.pattern} → ${winner.action} (priority ${winner.priority})`,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
// Composition
|
|
87
|
+
// ---------------------------------------------------------------------------
|
|
88
|
+
/**
|
|
89
|
+
* Compose multiple sandbox policies with deny-overrides semantics.
|
|
90
|
+
* Block rules from any policy take precedence. Empty input yields default-deny.
|
|
91
|
+
*/
|
|
92
|
+
function composeSandboxPolicies(policies) {
|
|
93
|
+
if (policies.length === 0) {
|
|
94
|
+
return { rules: [], defaultAction: 'block' };
|
|
95
|
+
}
|
|
96
|
+
const allRules = [];
|
|
97
|
+
for (const policy of policies) {
|
|
98
|
+
allRules.push(...policy.rules);
|
|
99
|
+
}
|
|
100
|
+
// Deny-overrides: for rules with the same kind+pattern, if any is 'block', elevate block priority
|
|
101
|
+
const ruleKey = (r) => `${r.kind}::${r.pattern}`;
|
|
102
|
+
const grouped = new Map();
|
|
103
|
+
for (const rule of allRules) {
|
|
104
|
+
const key = ruleKey(rule);
|
|
105
|
+
const group = grouped.get(key) ?? [];
|
|
106
|
+
group.push(rule);
|
|
107
|
+
grouped.set(key, group);
|
|
108
|
+
}
|
|
109
|
+
const mergedRules = [];
|
|
110
|
+
for (const [_key, group] of grouped) {
|
|
111
|
+
const hasBlock = group.some(r => r.action === 'block');
|
|
112
|
+
if (hasBlock) {
|
|
113
|
+
// Find highest-priority block rule, or promote one
|
|
114
|
+
const blockRules = group.filter(r => r.action === 'block');
|
|
115
|
+
const maxPriority = Math.max(...group.map(r => r.priority));
|
|
116
|
+
const bestBlock = blockRules.sort((a, b) => b.priority - a.priority)[0];
|
|
117
|
+
mergedRules.push({ ...bestBlock, priority: Math.max(bestBlock.priority, maxPriority) });
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
// No block — keep highest priority rule
|
|
121
|
+
const best = group.sort((a, b) => b.priority - a.priority)[0];
|
|
122
|
+
mergedRules.push(best);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// Default action: most restrictive wins
|
|
126
|
+
let defaultAction = 'allow';
|
|
127
|
+
for (const policy of policies) {
|
|
128
|
+
if (policy.defaultAction === 'block') {
|
|
129
|
+
defaultAction = 'block';
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
if (policy.defaultAction === 'prompt') {
|
|
133
|
+
defaultAction = 'prompt';
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return { rules: mergedRules, defaultAction };
|
|
137
|
+
}
|
|
138
|
+
// ---------------------------------------------------------------------------
|
|
139
|
+
// Attenuation
|
|
140
|
+
// ---------------------------------------------------------------------------
|
|
141
|
+
/**
|
|
142
|
+
* Attenuate a parent policy with child constraints.
|
|
143
|
+
* The child can only narrow permissions: block additions are kept,
|
|
144
|
+
* allow rules that conflict with parent blocks are dropped.
|
|
145
|
+
*/
|
|
146
|
+
function attenuateSandboxPolicy(parent, childConstraints) {
|
|
147
|
+
const ruleKey = (r) => `${r.kind}::${r.pattern}`;
|
|
148
|
+
// Index parent blocks
|
|
149
|
+
const parentBlocks = new Set();
|
|
150
|
+
for (const rule of parent.rules) {
|
|
151
|
+
if (rule.action === 'block') {
|
|
152
|
+
parentBlocks.add(ruleKey(rule));
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Start with all parent rules
|
|
156
|
+
const resultRules = [...parent.rules];
|
|
157
|
+
for (const childRule of childConstraints.rules) {
|
|
158
|
+
const key = ruleKey(childRule);
|
|
159
|
+
if (childRule.action === 'allow' && parentBlocks.has(key)) {
|
|
160
|
+
// Child cannot expand parent blocks to allows — skip
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
if (childRule.action === 'block') {
|
|
164
|
+
// Child can always add or strengthen blocks
|
|
165
|
+
// Check if parent already has this block
|
|
166
|
+
const existing = resultRules.find(r => ruleKey(r) === key && r.action === 'block');
|
|
167
|
+
if (!existing) {
|
|
168
|
+
resultRules.push(childRule);
|
|
169
|
+
}
|
|
170
|
+
else if (childRule.priority > existing.priority) {
|
|
171
|
+
existing.priority = childRule.priority;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// Apply deny-overrides on the combined set
|
|
176
|
+
return composeSandboxPolicies([{ rules: resultRules, defaultAction: parent.defaultAction }]);
|
|
177
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { PolicyRuleKind, PolicyConditionOp, PolicyAction, PolicyCondition, PolicyRule, StatefulPolicyRule, PolicyEvaluationContext, PolicyDecision, PolicyDecisionLog, PolicyEngine, } from "@a5c-ai/babysitter-sdk";
|
|
2
|
+
export { isStatefulRule } from "@a5c-ai/babysitter-sdk";
|
|
3
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/governance/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,YAAY,GACb,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isStatefulRule = void 0;
|
|
4
|
+
var babysitter_sdk_1 = require("@a5c-ai/babysitter-sdk");
|
|
5
|
+
Object.defineProperty(exports, "isStatefulRule", { enumerable: true, get: function () { return babysitter_sdk_1.isStatefulRule; } });
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* adapters integration bridge for agent-platform.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the direct child-process invocation in `invoker.ts` for
|
|
5
|
+
* external harnesses by delegating to an AgentMuxClient instance. The
|
|
6
|
+
* client is injected so agent-platform never imports @adapters/core
|
|
7
|
+
* directly -- it only depends on the interfaces defined in agentMuxTypes.ts.
|
|
8
|
+
*
|
|
9
|
+
* @module harnes./adapters/adapterBridge
|
|
10
|
+
*/
|
|
11
|
+
import type { HarnessInvokeOptions, HarnessInvokeResult } from "../types";
|
|
12
|
+
import type { AgentMuxClient } from "./adapterTypes";
|
|
13
|
+
import { type BabysitterEvent } from "./adapterEventMapper";
|
|
14
|
+
/**
|
|
15
|
+
* Options that extend the standard HarnessInvokeOptions with fields
|
|
16
|
+
* specific to the adapters bridge.
|
|
17
|
+
*/
|
|
18
|
+
export interface AdapterBridgeOptions extends HarnessInvokeOptions {
|
|
19
|
+
/** Session ID for session resumption via adapters. */
|
|
20
|
+
sessionId?: string;
|
|
21
|
+
/** Whether to suppress interactive prompts (yolo mode). */
|
|
22
|
+
nonInteractive?: boolean;
|
|
23
|
+
/** Maximum agent turns before force-stop. */
|
|
24
|
+
maxTurns?: number;
|
|
25
|
+
/** Hook configuration forwarded to the agent. */
|
|
26
|
+
hooks?: unknown;
|
|
27
|
+
/** Skills to enable for this run. */
|
|
28
|
+
skills?: string[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Extended result that includes adapters-specific metadata on top of
|
|
32
|
+
* the standard HarnessInvokeResult.
|
|
33
|
+
*/
|
|
34
|
+
export interface AgentMuxBridgeResult extends HarnessInvokeResult {
|
|
35
|
+
/** Session ID returned by adapters (for session resumption). */
|
|
36
|
+
sessionId?: string;
|
|
37
|
+
/** Accumulated cost from cost events. */
|
|
38
|
+
totalCost: number;
|
|
39
|
+
/** All babysitter-mapped events collected during the run. */
|
|
40
|
+
events: BabysitterEvent[];
|
|
41
|
+
/** The last assistant text message accumulated from text_delta events. */
|
|
42
|
+
lastMessage: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Optional callback invoked for each mapped babysitter event during
|
|
46
|
+
* stream consumption. Useful for live governance checks, cost tracking,
|
|
47
|
+
* and webhook forwarding without waiting for the full run to complete.
|
|
48
|
+
*/
|
|
49
|
+
export type AdapterEventCallback = (event: BabysitterEvent) => void | Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Invoke a harness through adapters instead of spawning the CLI directly.
|
|
52
|
+
*
|
|
53
|
+
* The function:
|
|
54
|
+
* 1. Maps the babysitter harness name to an adapters adapter name.
|
|
55
|
+
* 2. Calls `client.run()` with the translated options.
|
|
56
|
+
* 3. Consumes the async event stream, mapping each AgentEvent to a
|
|
57
|
+
* BabysitterEvent.
|
|
58
|
+
* 4. Accumulates text deltas, cost totals, and error state.
|
|
59
|
+
* 5. Returns an AgentMuxBridgeResult compatible with HarnessInvokeResult.
|
|
60
|
+
*
|
|
61
|
+
* @param client - AgentMuxClient instance (injected, no hard dep on @adapters/core).
|
|
62
|
+
* @param harness - babysitter harness name (e.g. "claude-code", "codex").
|
|
63
|
+
* @param options - Invocation options.
|
|
64
|
+
* @param onEvent - Optional per-event callback for live processing.
|
|
65
|
+
* @returns Promise resolving to the bridge result.
|
|
66
|
+
*
|
|
67
|
+
* @throws {Error} if `harness` is "pi" / "internal" (use agent-core).
|
|
68
|
+
* @throws {Error} if the harness has no adapters adapter mapping.
|
|
69
|
+
*/
|
|
70
|
+
export declare function invokeViaAgentMux(client: AgentMuxClient, harness: string, options: AdapterBridgeOptions, onEvent?: AdapterEventCallback): Promise<AgentMuxBridgeResult>;
|
|
71
|
+
//# sourceMappingURL=adapterBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapterBridge.d.ts","sourceRoot":"","sources":["../../../src/harness/adapters/adapterBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAM9B;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAMpF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAuF/B"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* adapters integration bridge for agent-platform.
|
|
4
|
+
*
|
|
5
|
+
* Replaces the direct child-process invocation in `invoker.ts` for
|
|
6
|
+
* external harnesses by delegating to an AgentMuxClient instance. The
|
|
7
|
+
* client is injected so agent-platform never imports @adapters/core
|
|
8
|
+
* directly -- it only depends on the interfaces defined in agentMuxTypes.ts.
|
|
9
|
+
*
|
|
10
|
+
* @module harnes./adapters/adapterBridge
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.invokeViaAgentMux = invokeViaAgentMux;
|
|
14
|
+
const adapterHarnessMap_1 = require("./adapterHarnessMap");
|
|
15
|
+
const adapterEventMapper_1 = require("./adapterEventMapper");
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Bridge implementation
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
/**
|
|
20
|
+
* Invoke a harness through adapters instead of spawning the CLI directly.
|
|
21
|
+
*
|
|
22
|
+
* The function:
|
|
23
|
+
* 1. Maps the babysitter harness name to an adapters adapter name.
|
|
24
|
+
* 2. Calls `client.run()` with the translated options.
|
|
25
|
+
* 3. Consumes the async event stream, mapping each AgentEvent to a
|
|
26
|
+
* BabysitterEvent.
|
|
27
|
+
* 4. Accumulates text deltas, cost totals, and error state.
|
|
28
|
+
* 5. Returns an AgentMuxBridgeResult compatible with HarnessInvokeResult.
|
|
29
|
+
*
|
|
30
|
+
* @param client - AgentMuxClient instance (injected, no hard dep on @adapters/core).
|
|
31
|
+
* @param harness - babysitter harness name (e.g. "claude-code", "codex").
|
|
32
|
+
* @param options - Invocation options.
|
|
33
|
+
* @param onEvent - Optional per-event callback for live processing.
|
|
34
|
+
* @returns Promise resolving to the bridge result.
|
|
35
|
+
*
|
|
36
|
+
* @throws {Error} if `harness` is "pi" / "internal" (use agent-core).
|
|
37
|
+
* @throws {Error} if the harness has no adapters adapter mapping.
|
|
38
|
+
*/
|
|
39
|
+
async function invokeViaAgentMux(client, harness, options, onEvent) {
|
|
40
|
+
const adapterName = (0, adapterHarnessMap_1.mapHarnessToAmuxAdapter)(harness);
|
|
41
|
+
const startTime = Date.now();
|
|
42
|
+
const handle = client.run({
|
|
43
|
+
agent: adapterName,
|
|
44
|
+
prompt: options.prompt,
|
|
45
|
+
model: options.model,
|
|
46
|
+
cwd: options.workspace,
|
|
47
|
+
timeout: options.timeout,
|
|
48
|
+
sessionId: options.sessionId,
|
|
49
|
+
approvalMode: options.nonInteractive ? "yolo" : "prompt",
|
|
50
|
+
stream: true,
|
|
51
|
+
nonInteractive: options.nonInteractive,
|
|
52
|
+
maxTurns: options.maxTurns,
|
|
53
|
+
env: {
|
|
54
|
+
...(options.sessionId ? { AGENT_SESSION_ID: options.sessionId } : {}),
|
|
55
|
+
...options.env,
|
|
56
|
+
},
|
|
57
|
+
hooks: options.hooks,
|
|
58
|
+
skills: options.skills,
|
|
59
|
+
});
|
|
60
|
+
// Wire AbortSignal to adapters handle
|
|
61
|
+
if (options.signal) {
|
|
62
|
+
if (options.signal.aborted) {
|
|
63
|
+
handle.abort();
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
options.signal.addEventListener("abort", () => handle.abort(), {
|
|
67
|
+
once: true,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Consume the event stream
|
|
72
|
+
const collectedEvents = [];
|
|
73
|
+
let lastMessage = "";
|
|
74
|
+
let totalCost = 0;
|
|
75
|
+
let hasError = false;
|
|
76
|
+
for await (const rawEvent of handle.events) {
|
|
77
|
+
const mapped = (0, adapterEventMapper_1.mapAmuxEvent)(rawEvent);
|
|
78
|
+
if (!mapped)
|
|
79
|
+
continue;
|
|
80
|
+
collectedEvents.push(mapped);
|
|
81
|
+
// Accumulate text deltas
|
|
82
|
+
if (mapped.kind === "text_delta") {
|
|
83
|
+
const text = mapped.data["text"];
|
|
84
|
+
if (typeof text === "string") {
|
|
85
|
+
lastMessage += text;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Accumulate cost
|
|
89
|
+
if ((0, adapterEventMapper_1.isCostEvent)(mapped)) {
|
|
90
|
+
const eventCost = mapped.data["totalCost"];
|
|
91
|
+
if (typeof eventCost === "number") {
|
|
92
|
+
totalCost += eventCost;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Track errors
|
|
96
|
+
if ((0, adapterEventMapper_1.isErrorEvent)(mapped)) {
|
|
97
|
+
hasError = true;
|
|
98
|
+
}
|
|
99
|
+
// Forward to caller's live callback
|
|
100
|
+
if (onEvent) {
|
|
101
|
+
await onEvent(mapped);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const duration = Date.now() - startTime;
|
|
105
|
+
const exitCode = handle.exitCode ?? (hasError ? 1 : 0);
|
|
106
|
+
return {
|
|
107
|
+
success: exitCode === 0 && !hasError,
|
|
108
|
+
output: lastMessage.trim(),
|
|
109
|
+
exitCode,
|
|
110
|
+
duration,
|
|
111
|
+
harness,
|
|
112
|
+
sessionId: handle.sessionId,
|
|
113
|
+
totalCost,
|
|
114
|
+
events: collectedEvents,
|
|
115
|
+
lastMessage: lastMessage.trim(),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory for obtaining an AgentMuxClient instance.
|
|
3
|
+
*
|
|
4
|
+
* The package is a direct dependency, but some runtimes still cannot load the
|
|
5
|
+
* full adapters graph (for example when a required Node built-in is absent).
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentMuxClient } from "./adapterTypes";
|
|
8
|
+
/**
|
|
9
|
+
* Get or create the singleton AgentMuxClient.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getAgentMuxClient(): Promise<AgentMuxClient>;
|
|
12
|
+
/**
|
|
13
|
+
* Check whether adapters client can be created.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isAgentMuxAvailable(): Promise<boolean>;
|
|
16
|
+
/**
|
|
17
|
+
* Reset the cached client. For testing.
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare function _resetAgentMuxClientCache(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Override the adapters module for testing.
|
|
23
|
+
* Pass `undefined` to restore require-based resolution.
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export declare function _setAmuxModuleForTesting(mod: {
|
|
27
|
+
createClient: (options: Record<string, unknown>) => AgentMuxClient;
|
|
28
|
+
} | undefined): void;
|
|
29
|
+
//# sourceMappingURL=adapterClientFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapterClientFactory.d.ts","sourceRoot":"","sources":["../../../src/harness/adapters/adapterClientFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAuCrD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC,CAqB3D;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO5D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE;IAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,cAAc,CAAA;CAAE,GAAG,SAAS,GACtF,IAAI,CAGN"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Factory for obtaining an AgentMuxClient instance.
|
|
4
|
+
*
|
|
5
|
+
* The package is a direct dependency, but some runtimes still cannot load the
|
|
6
|
+
* full adapters graph (for example when a required Node built-in is absent).
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getAgentMuxClient = getAgentMuxClient;
|
|
10
|
+
exports.isAgentMuxAvailable = isAgentMuxAvailable;
|
|
11
|
+
exports._resetAgentMuxClientCache = _resetAgentMuxClientCache;
|
|
12
|
+
exports._setAmuxModuleForTesting = _setAmuxModuleForTesting;
|
|
13
|
+
const node_module_1 = require("node:module");
|
|
14
|
+
let cachedClient = null;
|
|
15
|
+
let agentMuxOverride;
|
|
16
|
+
function hasNodeSqliteBuiltin() {
|
|
17
|
+
return node_module_1.builtinModules.includes("node:sqlite") || node_module_1.builtinModules.includes("sqlite");
|
|
18
|
+
}
|
|
19
|
+
function requireAmux() {
|
|
20
|
+
if (agentMuxOverride) {
|
|
21
|
+
return agentMuxOverride;
|
|
22
|
+
}
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-assignment
|
|
24
|
+
const mod = require("@a5c-ai/adapters");
|
|
25
|
+
return mod;
|
|
26
|
+
}
|
|
27
|
+
function normalizeAmuxLoadError(error) {
|
|
28
|
+
const code = typeof error === "object" && error !== null && "code" in error
|
|
29
|
+
? String(error.code)
|
|
30
|
+
: "";
|
|
31
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
32
|
+
if (code === "ERR_UNKNOWN_BUILTIN_MODULE" ||
|
|
33
|
+
code === "ERR_MODULE_NOT_FOUND" ||
|
|
34
|
+
code === "MODULE_NOT_FOUND" ||
|
|
35
|
+
message.includes("node:sqlite")) {
|
|
36
|
+
return new Error(`adapters runtime is unavailable in this Node environment: ${message}`, { cause: error });
|
|
37
|
+
}
|
|
38
|
+
return error instanceof Error ? error : new Error(message);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get or create the singleton AgentMuxClient.
|
|
42
|
+
*/
|
|
43
|
+
function getAgentMuxClient() {
|
|
44
|
+
if (cachedClient) {
|
|
45
|
+
return Promise.resolve(cachedClient);
|
|
46
|
+
}
|
|
47
|
+
if (!agentMuxOverride && !hasNodeSqliteBuiltin()) {
|
|
48
|
+
throw normalizeAmuxLoadError(new Error("Missing required built-in module: node:sqlite"));
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
const { createClient } = requireAmux();
|
|
52
|
+
const client = createClient({
|
|
53
|
+
stream: true,
|
|
54
|
+
debug: false,
|
|
55
|
+
});
|
|
56
|
+
cachedClient = client;
|
|
57
|
+
return Promise.resolve(cachedClient);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
throw normalizeAmuxLoadError(error);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Check whether adapters client can be created.
|
|
65
|
+
*/
|
|
66
|
+
async function isAgentMuxAvailable() {
|
|
67
|
+
try {
|
|
68
|
+
await getAgentMuxClient();
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Reset the cached client. For testing.
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
function _resetAgentMuxClientCache() {
|
|
80
|
+
cachedClient = null;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Override the adapters module for testing.
|
|
84
|
+
* Pass `undefined` to restore require-based resolution.
|
|
85
|
+
* @internal
|
|
86
|
+
*/
|
|
87
|
+
function _setAmuxModuleForTesting(mod) {
|
|
88
|
+
agentMuxOverride = mod;
|
|
89
|
+
cachedClient = null;
|
|
90
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emits adapters compatible JSONL events to stdout during harness execution.
|
|
3
|
+
*
|
|
4
|
+
* Used when `--output-format adapters-events` is passed to `invoke` or
|
|
5
|
+
* `call`. Each event is a single JSON line matching the
|
|
6
|
+
* {@link AdapterAgentEvent} shape so the adapters babysitter adapter's
|
|
7
|
+
* `parseEvent()` can consume it directly.
|
|
8
|
+
*
|
|
9
|
+
* @module harness/adapters/adapterEventEmitter
|
|
10
|
+
*/
|
|
11
|
+
import type { AdapterAgentEvent } from "./adapterTypes";
|
|
12
|
+
/**
|
|
13
|
+
* Stateful emitter that writes adapters compatible JSONL events to stdout.
|
|
14
|
+
*
|
|
15
|
+
* Each `emit()` call writes one JSON line to `process.stdout`. The emitter
|
|
16
|
+
* auto-stamps every event with `runId`, `agent`, and `timestamp` so callers
|
|
17
|
+
* only need to supply the event-specific fields.
|
|
18
|
+
*/
|
|
19
|
+
export declare class AdapterEventEmitter {
|
|
20
|
+
private readonly runId;
|
|
21
|
+
private readonly agent;
|
|
22
|
+
constructor(runId: string, agent?: string);
|
|
23
|
+
/**
|
|
24
|
+
* Write a single JSONL event to stdout.
|
|
25
|
+
*
|
|
26
|
+
* Base fields (`runId`, `agent`, `timestamp`) are merged automatically.
|
|
27
|
+
* Any field in `event` overrides the base fields.
|
|
28
|
+
*/
|
|
29
|
+
emit(event: Partial<AdapterAgentEvent>): void;
|
|
30
|
+
/** Mark the beginning of a session / run. */
|
|
31
|
+
sessionStart(sessionId?: string): void;
|
|
32
|
+
/** Mark the end of a session / run. */
|
|
33
|
+
sessionEnd(exitReason: string, turnCount?: number): void;
|
|
34
|
+
/** Emit a text output chunk. */
|
|
35
|
+
textDelta(text: string): void;
|
|
36
|
+
/** Signal the start of a tool invocation. */
|
|
37
|
+
toolCallStart(toolCallId: string, toolName: string, input?: unknown): void;
|
|
38
|
+
/** Signal a tool invocation result. */
|
|
39
|
+
toolResult(toolCallId: string, toolName: string, output: unknown): void;
|
|
40
|
+
/** Emit cost / token usage information. */
|
|
41
|
+
cost(inputTokens: number, outputTokens: number, totalCost: number): void;
|
|
42
|
+
/** Signal the start of an orchestration iteration / turn. */
|
|
43
|
+
turnStart(iteration: number): void;
|
|
44
|
+
/** Signal the end of an orchestration iteration / turn. */
|
|
45
|
+
turnEnd(iteration: number): void;
|
|
46
|
+
/** Emit an error event. */
|
|
47
|
+
error(message: string, code?: string): void;
|
|
48
|
+
/** Request user approval for an action. */
|
|
49
|
+
approvalRequest(id: string, description: string): void;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=adapterEventEmitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapterEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/harness/adapters/adapterEventEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAqB;IAK/C;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAa7C,6CAA6C;IAC7C,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAQtC,uCAAuC;IACvC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAWxD,gCAAgC;IAChC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU7B,6CAA6C;IAC7C,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAS1E,uCAAuC;IACvC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAWvE,2CAA2C;IAC3C,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAgBxE,6DAA6D;IAC7D,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQlC,2DAA2D;IAC3D,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAUhC,2BAA2B;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAW3C,2CAA2C;IAC3C,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAOvD"}
|