@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,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Harness adapter interface.
|
|
3
|
+
*
|
|
4
|
+
* A "harness" is the host tool that invokes the babysitter SDK (e.g. Claude Code,
|
|
5
|
+
* Cursor, Windsurf). Each harness has its own session lifecycle, env vars, and
|
|
6
|
+
* hook input/output formats. The adapter interface abstracts these differences
|
|
7
|
+
* so the SDK core remains harness-agnostic.
|
|
8
|
+
*/
|
|
9
|
+
import type { AskUserQuestionUiContext } from "../interaction";
|
|
10
|
+
import type { PromptContext } from "@a5c-ai/babysitter-sdk";
|
|
11
|
+
/** Capabilities that a harness adapter may support. */
|
|
12
|
+
export declare enum HarnessCapability {
|
|
13
|
+
/** Harness supports programmatic (non-interactive) invocation. */
|
|
14
|
+
Programmatic = "programmatic",
|
|
15
|
+
/** Harness can bind a babysitter run to a host session. */
|
|
16
|
+
SessionBinding = "session-binding",
|
|
17
|
+
/** Harness implements the stop-hook lifecycle event. */
|
|
18
|
+
StopHook = "stop-hook",
|
|
19
|
+
/** Harness exposes an MCP (Model Context Protocol) server. */
|
|
20
|
+
Mcp = "mcp",
|
|
21
|
+
/** Harness can accept a prompt without a TTY (headless mode). */
|
|
22
|
+
HeadlessPrompt = "headless-prompt",
|
|
23
|
+
/** Harness supports concurrent effect execution (GAP-PAR-001). */
|
|
24
|
+
ConcurrentEffects = "concurrent-effects",
|
|
25
|
+
/** Harness supports async/background effects (GAP-PAR-002). */
|
|
26
|
+
BackgroundEffects = "background-effects",
|
|
27
|
+
/** Harness supports multi-harness parallel dispatch (GAP-PAR-003). */
|
|
28
|
+
MultiHarnessDispatch = "multi-harness-dispatch"
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Result of probing the local environment for a specific harness CLI.
|
|
32
|
+
*
|
|
33
|
+
* This is the **installed-discovery** result — it answers "is this CLI on
|
|
34
|
+
* PATH?" and "does config exist?". It does NOT report whether we are
|
|
35
|
+
* currently running inside this harness; use `CallerHarnessResult` /
|
|
36
|
+
* `detectCallerHarness()` for that.
|
|
37
|
+
*/
|
|
38
|
+
export interface HarnessDiscoveryResult {
|
|
39
|
+
/** Harness identifier (matches HarnessAdapter.name). */
|
|
40
|
+
name: string;
|
|
41
|
+
/** Whether the CLI binary was found on the system. */
|
|
42
|
+
installed: boolean;
|
|
43
|
+
/** Semantic version reported by the CLI, if obtainable. */
|
|
44
|
+
version?: string;
|
|
45
|
+
/** Absolute path to the CLI binary, if resolved. */
|
|
46
|
+
cliPath?: string;
|
|
47
|
+
/** Shell command used to invoke the CLI. */
|
|
48
|
+
cliCommand: string;
|
|
49
|
+
/** Whether harness-specific configuration was found on disk. */
|
|
50
|
+
configFound: boolean;
|
|
51
|
+
/** Capabilities advertised by this harness. */
|
|
52
|
+
capabilities: HarnessCapability[];
|
|
53
|
+
/** Platform identifier (e.g. "win32", "linux", "darwin"). */
|
|
54
|
+
platform: string;
|
|
55
|
+
}
|
|
56
|
+
/** Result of detecting which harness spawned the current process, if any. */
|
|
57
|
+
export interface CallerHarnessResult {
|
|
58
|
+
/** Harness identifier (matches HarnessAdapter.name). */
|
|
59
|
+
name: string;
|
|
60
|
+
/** Environment variable names that matched the active caller. */
|
|
61
|
+
matchedEnvVars: string[];
|
|
62
|
+
/** Capabilities advertised by the detected caller harness. */
|
|
63
|
+
capabilities: HarnessCapability[];
|
|
64
|
+
}
|
|
65
|
+
/** Callback invoked with each raw chunk from stdout or stderr. */
|
|
66
|
+
export type StreamingOutputCallback = (chunk: string) => void;
|
|
67
|
+
/** Callback invoked with each complete line and its source stream. */
|
|
68
|
+
export type StreamingLineCallback = (line: string, source: "stdout" | "stderr") => void;
|
|
69
|
+
/** Options for real-time streaming output capture from harness invocations. */
|
|
70
|
+
export interface StreamingOutputOptions {
|
|
71
|
+
/** Called with each stdout chunk as it arrives. */
|
|
72
|
+
onStdout?: StreamingOutputCallback;
|
|
73
|
+
/** Called with each stderr chunk as it arrives. */
|
|
74
|
+
onStderr?: StreamingOutputCallback;
|
|
75
|
+
/** Called with each complete line (from either stream) as it becomes available. */
|
|
76
|
+
onLine?: StreamingLineCallback;
|
|
77
|
+
}
|
|
78
|
+
/** Options for programmatically invoking a harness CLI. */
|
|
79
|
+
export interface HarnessInvokeOptions {
|
|
80
|
+
/** The prompt to send to the harness. */
|
|
81
|
+
prompt: string;
|
|
82
|
+
/** Working directory for the invocation. */
|
|
83
|
+
workspace?: string;
|
|
84
|
+
/** Model override (harness-specific). */
|
|
85
|
+
model?: string;
|
|
86
|
+
/** Maximum execution time in milliseconds. */
|
|
87
|
+
timeout?: number;
|
|
88
|
+
/** Whether to use RPC/structured-output mode. */
|
|
89
|
+
rpc?: boolean;
|
|
90
|
+
/** Additional environment variables passed to the child process. */
|
|
91
|
+
env?: Record<string, string>;
|
|
92
|
+
/** Real-time streaming output callbacks (GAP-SUBOBS-001). */
|
|
93
|
+
streaming?: StreamingOutputOptions;
|
|
94
|
+
/** AbortSignal to cancel the invocation and kill the child process. */
|
|
95
|
+
signal?: AbortSignal;
|
|
96
|
+
/** When true, run the child process with a minimal environment (only PATH, HOME, NODE_PATH + explicit env overrides). */
|
|
97
|
+
isolated?: boolean;
|
|
98
|
+
}
|
|
99
|
+
/** Result returned after a harness CLI invocation completes. */
|
|
100
|
+
export interface HarnessInvokeResult {
|
|
101
|
+
/** Whether the invocation completed without error. */
|
|
102
|
+
success: boolean;
|
|
103
|
+
/** Combined stdout/stderr output from the CLI. */
|
|
104
|
+
output: string;
|
|
105
|
+
/** Process exit code. */
|
|
106
|
+
exitCode: number;
|
|
107
|
+
/** Wall-clock duration of the invocation in milliseconds. */
|
|
108
|
+
duration: number;
|
|
109
|
+
/** Name of the harness that was invoked. */
|
|
110
|
+
harness: string;
|
|
111
|
+
/** GAP-PERF-004: Whether output was streamed in real-time. */
|
|
112
|
+
streamed?: boolean;
|
|
113
|
+
/** GAP-PERF-004: Number of streaming chunks emitted. */
|
|
114
|
+
streamChunkCount?: number;
|
|
115
|
+
}
|
|
116
|
+
/** Options for creating a Pi harness session (programmatic API). */
|
|
117
|
+
export interface AgentCoreSessionOptions {
|
|
118
|
+
/** Working directory for the session. */
|
|
119
|
+
workspace?: string;
|
|
120
|
+
/** Model identifier string (e.g. "claude-opus-4-5"). */
|
|
121
|
+
model?: string;
|
|
122
|
+
/** Maximum time in ms to wait for a single prompt to complete. */
|
|
123
|
+
timeout?: number;
|
|
124
|
+
/** Thinking level for the model. */
|
|
125
|
+
thinkingLevel?: "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
126
|
+
/** Built-in tool mode to expose to the model. */
|
|
127
|
+
toolsMode?: "default" | "coding" | "readonly";
|
|
128
|
+
/** Custom tool definitions to register with the session. */
|
|
129
|
+
customTools?: unknown[];
|
|
130
|
+
/** Optional extension-style UI context exposed to custom tools inside the PI loop. */
|
|
131
|
+
uiContext?: AskUserQuestionUiContext;
|
|
132
|
+
/** Replace the discovered system prompt with a custom one. */
|
|
133
|
+
systemPrompt?: string;
|
|
134
|
+
/** Append custom system prompt instructions. */
|
|
135
|
+
appendSystemPrompt?: string[];
|
|
136
|
+
/** Isolate the session from discovered extensions, skills, and AGENTS files. */
|
|
137
|
+
isolated?: boolean;
|
|
138
|
+
/** Use an in-memory session manager instead of persistent session files. */
|
|
139
|
+
ephemeral?: boolean;
|
|
140
|
+
/** Bash tool execution backend. Defaults to native/local PI execution; "secure" opts into the sandbox backend and "auto" falls back to local. */
|
|
141
|
+
bashSandbox?: "auto" | "secure" | "local";
|
|
142
|
+
/** Whether PI session compaction should be enabled for this session. */
|
|
143
|
+
enableCompaction?: boolean;
|
|
144
|
+
/** Global pi agent config directory (default: ~/.pi/agent). */
|
|
145
|
+
agentDir?: string;
|
|
146
|
+
/** Minimum delay before retrying PI session initialization after a failure. */
|
|
147
|
+
initFailureBackoffMs?: number;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Event emitted by a Pi session during prompt execution.
|
|
151
|
+
* Mirrors the AgentSessionEvent union from `@earendil-works/pi-coding-agent`.
|
|
152
|
+
*/
|
|
153
|
+
export interface AgentCoreSessionEvent {
|
|
154
|
+
type: string;
|
|
155
|
+
[key: string]: unknown;
|
|
156
|
+
}
|
|
157
|
+
/** Result of sending a prompt through a Pi session. */
|
|
158
|
+
export interface AgentCorePromptResult {
|
|
159
|
+
/** Collected text output from the agent response. */
|
|
160
|
+
output: string;
|
|
161
|
+
/** Wall-clock duration in milliseconds. */
|
|
162
|
+
duration: number;
|
|
163
|
+
/** Whether the prompt completed without error. */
|
|
164
|
+
success: boolean;
|
|
165
|
+
/** Exit code (0 = success, 1 = failure). */
|
|
166
|
+
exitCode: number;
|
|
167
|
+
/** Provider-reported token usage, when available. */
|
|
168
|
+
usage?: {
|
|
169
|
+
inputTokens: number;
|
|
170
|
+
outputTokens: number;
|
|
171
|
+
totalTokens: number;
|
|
172
|
+
provider?: string;
|
|
173
|
+
model?: string;
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
export interface SessionBindOptions {
|
|
177
|
+
sessionId: string;
|
|
178
|
+
runId: string;
|
|
179
|
+
runDir: string;
|
|
180
|
+
pluginRoot?: string;
|
|
181
|
+
stateDir?: string;
|
|
182
|
+
runsDir?: string;
|
|
183
|
+
maxIterations?: number;
|
|
184
|
+
prompt: string;
|
|
185
|
+
verbose: boolean;
|
|
186
|
+
json: boolean;
|
|
187
|
+
}
|
|
188
|
+
export interface SessionBindResult {
|
|
189
|
+
harness: string;
|
|
190
|
+
sessionId: string;
|
|
191
|
+
stateFile?: string;
|
|
192
|
+
error?: string;
|
|
193
|
+
/** When true, the error is fatal and run:create should exit non-zero. */
|
|
194
|
+
fatal?: boolean;
|
|
195
|
+
}
|
|
196
|
+
export interface HookHandlerArgs {
|
|
197
|
+
pluginRoot?: string;
|
|
198
|
+
stateDir?: string;
|
|
199
|
+
runsDir?: string;
|
|
200
|
+
json: boolean;
|
|
201
|
+
verbose?: boolean;
|
|
202
|
+
}
|
|
203
|
+
export interface HarnessInstallOptions {
|
|
204
|
+
workspace?: string;
|
|
205
|
+
json: boolean;
|
|
206
|
+
dryRun: boolean;
|
|
207
|
+
verbose: boolean;
|
|
208
|
+
}
|
|
209
|
+
export interface HarnessInstallResult {
|
|
210
|
+
harness: string;
|
|
211
|
+
dryRun?: boolean;
|
|
212
|
+
warning?: string;
|
|
213
|
+
summary?: string;
|
|
214
|
+
command?: string;
|
|
215
|
+
output?: string;
|
|
216
|
+
location?: string;
|
|
217
|
+
}
|
|
218
|
+
export interface HarnessAdapter {
|
|
219
|
+
/** Harness identifier (e.g. "claude-code") */
|
|
220
|
+
readonly name: string;
|
|
221
|
+
/** Does this harness appear to be active? (env var detection) */
|
|
222
|
+
isActive(): boolean;
|
|
223
|
+
/** Resolve session ID from CLI args / env vars / env file */
|
|
224
|
+
resolveSessionId(parsed: {
|
|
225
|
+
sessionId?: string;
|
|
226
|
+
}): string | undefined;
|
|
227
|
+
/** Resolve state directory from args / env */
|
|
228
|
+
resolveStateDir(args: {
|
|
229
|
+
stateDir?: string;
|
|
230
|
+
pluginRoot?: string;
|
|
231
|
+
}): string | undefined;
|
|
232
|
+
/** Resolve plugin root from args / env */
|
|
233
|
+
resolvePluginRoot(args: {
|
|
234
|
+
pluginRoot?: string;
|
|
235
|
+
}): string | undefined;
|
|
236
|
+
/**
|
|
237
|
+
* Whether this adapter auto-resolves session IDs from environment variables
|
|
238
|
+
* or other ambient sources. When true, explicitly passing `--session-id`
|
|
239
|
+
* is rejected as a conflict. Defaults to `false` when not implemented.
|
|
240
|
+
*/
|
|
241
|
+
autoResolvesSessionId?(): boolean;
|
|
242
|
+
/** Guidance shown when a harness-specific session ID is required but missing. */
|
|
243
|
+
getMissingSessionIdHint?(): string;
|
|
244
|
+
/** Whether this harness truthfully supports a given SDK hook entrypoint. */
|
|
245
|
+
supportsHookType?(hookType: string): boolean;
|
|
246
|
+
/** Message shown when a hook type is requested but unsupported by the harness. */
|
|
247
|
+
getUnsupportedHookMessage?(hookType: string): string;
|
|
248
|
+
/** Bind a run to the caller's session (run:create flow) */
|
|
249
|
+
bindSession(opts: SessionBindOptions): Promise<SessionBindResult>;
|
|
250
|
+
/** Handle the stop hook (decision: approve/block) */
|
|
251
|
+
handleStopHook(args: HookHandlerArgs): Promise<number>;
|
|
252
|
+
/** Handle the session-start hook (env file + state file setup) */
|
|
253
|
+
handleSessionStartHook(args: HookHandlerArgs): Promise<number>;
|
|
254
|
+
/** Find hook dispatcher path (for shell hook execution) */
|
|
255
|
+
findHookDispatcherPath(startCwd: string): string | null;
|
|
256
|
+
/** Check whether the harness CLI binary is installed and reachable. */
|
|
257
|
+
isCliInstalled?(): Promise<boolean>;
|
|
258
|
+
/** Return CLI metadata (command name, version, resolved path). */
|
|
259
|
+
getCliInfo?(): Promise<{
|
|
260
|
+
command: string;
|
|
261
|
+
version?: string;
|
|
262
|
+
path?: string;
|
|
263
|
+
}>;
|
|
264
|
+
/** List capabilities supported by this harness adapter. */
|
|
265
|
+
getCapabilities?(): HarnessCapability[];
|
|
266
|
+
/** Install the harness CLI itself. */
|
|
267
|
+
installHarness?(options: HarnessInstallOptions): Promise<HarnessInstallResult>;
|
|
268
|
+
/** Install or materialize the Babysitter plugin/extension integration for this harness. */
|
|
269
|
+
installPlugin?(options: HarnessInstallOptions): Promise<HarnessInstallResult>;
|
|
270
|
+
/**
|
|
271
|
+
* Return a PromptContext pre-configured for this harness.
|
|
272
|
+
* Centralizes harness-specific prompt configuration in the adapter itself.
|
|
273
|
+
*/
|
|
274
|
+
getPromptContext?(opts?: {
|
|
275
|
+
interactive?: boolean | undefined;
|
|
276
|
+
}): PromptContext;
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/harness/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Harness adapter interface.
|
|
4
|
+
*
|
|
5
|
+
* A "harness" is the host tool that invokes the babysitter SDK (e.g. Claude Code,
|
|
6
|
+
* Cursor, Windsurf). Each harness has its own session lifecycle, env vars, and
|
|
7
|
+
* hook input/output formats. The adapter interface abstracts these differences
|
|
8
|
+
* so the SDK core remains harness-agnostic.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.HarnessCapability = void 0;
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// Harness capability enum
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
/** Capabilities that a harness adapter may support. */
|
|
16
|
+
var HarnessCapability;
|
|
17
|
+
(function (HarnessCapability) {
|
|
18
|
+
/** Harness supports programmatic (non-interactive) invocation. */
|
|
19
|
+
HarnessCapability["Programmatic"] = "programmatic";
|
|
20
|
+
/** Harness can bind a babysitter run to a host session. */
|
|
21
|
+
HarnessCapability["SessionBinding"] = "session-binding";
|
|
22
|
+
/** Harness implements the stop-hook lifecycle event. */
|
|
23
|
+
HarnessCapability["StopHook"] = "stop-hook";
|
|
24
|
+
/** Harness exposes an MCP (Model Context Protocol) server. */
|
|
25
|
+
HarnessCapability["Mcp"] = "mcp";
|
|
26
|
+
/** Harness can accept a prompt without a TTY (headless mode). */
|
|
27
|
+
HarnessCapability["HeadlessPrompt"] = "headless-prompt";
|
|
28
|
+
/** Harness supports concurrent effect execution (GAP-PAR-001). */
|
|
29
|
+
HarnessCapability["ConcurrentEffects"] = "concurrent-effects";
|
|
30
|
+
/** Harness supports async/background effects (GAP-PAR-002). */
|
|
31
|
+
HarnessCapability["BackgroundEffects"] = "background-effects";
|
|
32
|
+
/** Harness supports multi-harness parallel dispatch (GAP-PAR-003). */
|
|
33
|
+
HarnessCapability["MultiHarnessDispatch"] = "multi-harness-dispatch";
|
|
34
|
+
})(HarnessCapability || (exports.HarnessCapability = HarnessCapability = {}));
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remote sessions via WebSocket (GAP-REMOTE-003).
|
|
3
|
+
*
|
|
4
|
+
* Provides a WebSocket session abstraction with auto-reconnect,
|
|
5
|
+
* exponential backoff, and typed message handling.
|
|
6
|
+
*/
|
|
7
|
+
export interface WebSocketSessionConfig {
|
|
8
|
+
url: string;
|
|
9
|
+
/** Base reconnect interval in ms. Default: 1000. */
|
|
10
|
+
reconnectIntervalMs?: number;
|
|
11
|
+
/** Max reconnect attempts before giving up. Default: 10. */
|
|
12
|
+
maxReconnects?: number;
|
|
13
|
+
/** Optional auth token sent in the initial handshake. */
|
|
14
|
+
authToken?: string;
|
|
15
|
+
}
|
|
16
|
+
export type WsMessageType = 'prompt' | 'response' | 'event' | 'error';
|
|
17
|
+
export interface WsMessage {
|
|
18
|
+
type: WsMessageType;
|
|
19
|
+
payload: unknown;
|
|
20
|
+
timestamp: number;
|
|
21
|
+
}
|
|
22
|
+
export type WsMessageCallback = (message: WsMessage) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Minimal WebSocket-like interface for dependency injection / testing.
|
|
25
|
+
*/
|
|
26
|
+
export interface WebSocketLike {
|
|
27
|
+
readyState: number;
|
|
28
|
+
send(data: string): void;
|
|
29
|
+
close(): void;
|
|
30
|
+
onopen: ((ev: unknown) => void) | null;
|
|
31
|
+
onclose: ((ev: unknown) => void) | null;
|
|
32
|
+
onmessage: ((ev: {
|
|
33
|
+
data: string;
|
|
34
|
+
}) => void) | null;
|
|
35
|
+
onerror: ((ev: unknown) => void) | null;
|
|
36
|
+
}
|
|
37
|
+
export type WebSocketFactory = (url: string, protocols?: string[]) => WebSocketLike;
|
|
38
|
+
export declare class WebSocketSession {
|
|
39
|
+
private ws;
|
|
40
|
+
private listeners;
|
|
41
|
+
private reconnectCount;
|
|
42
|
+
private reconnectTimer;
|
|
43
|
+
private intentionalClose;
|
|
44
|
+
private readonly url;
|
|
45
|
+
private readonly reconnectIntervalMs;
|
|
46
|
+
private readonly maxReconnects;
|
|
47
|
+
private readonly authToken;
|
|
48
|
+
private readonly wsFactory;
|
|
49
|
+
constructor(config: WebSocketSessionConfig, wsFactory: WebSocketFactory);
|
|
50
|
+
/** Open a WebSocket connection. */
|
|
51
|
+
connect(): void;
|
|
52
|
+
/** Gracefully close the connection (no auto-reconnect). */
|
|
53
|
+
disconnect(): void;
|
|
54
|
+
/** Send a typed message over the WebSocket. */
|
|
55
|
+
send(message: WsMessage): void;
|
|
56
|
+
/** Register a callback for incoming messages. */
|
|
57
|
+
onMessage(callback: WsMessageCallback): void;
|
|
58
|
+
/** Whether the underlying WebSocket is currently open. */
|
|
59
|
+
isConnected(): boolean;
|
|
60
|
+
private doConnect;
|
|
61
|
+
private scheduleReconnect;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=websocketSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocketSession.d.ts","sourceRoot":"","sources":["../../src/harness/websocketSession.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,aAAa,CAAC;AAYpF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAEjC,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,gBAAgB;IAYvE,mCAAmC;IACnC,OAAO,IAAI,IAAI;IAMf,2DAA2D;IAC3D,UAAU,IAAI,IAAI;IAYlB,+CAA+C;IAC/C,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAO9B,iDAAiD;IACjD,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAI5C,0DAA0D;IAC1D,WAAW,IAAI,OAAO;IAQtB,OAAO,CAAC,SAAS;IAgCjB,OAAO,CAAC,iBAAiB;CAU1B"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Remote sessions via WebSocket (GAP-REMOTE-003).
|
|
4
|
+
*
|
|
5
|
+
* Provides a WebSocket session abstraction with auto-reconnect,
|
|
6
|
+
* exponential backoff, and typed message handling.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.WebSocketSession = void 0;
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Constants (mirroring WebSocket readyState)
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
const WS_OPEN = 1;
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// WebSocketSession
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
class WebSocketSession {
|
|
18
|
+
ws = null;
|
|
19
|
+
listeners = [];
|
|
20
|
+
reconnectCount = 0;
|
|
21
|
+
reconnectTimer = null;
|
|
22
|
+
intentionalClose = false;
|
|
23
|
+
url;
|
|
24
|
+
reconnectIntervalMs;
|
|
25
|
+
maxReconnects;
|
|
26
|
+
authToken;
|
|
27
|
+
wsFactory;
|
|
28
|
+
constructor(config, wsFactory) {
|
|
29
|
+
this.url = config.url;
|
|
30
|
+
this.reconnectIntervalMs = config.reconnectIntervalMs ?? 1_000;
|
|
31
|
+
this.maxReconnects = config.maxReconnects ?? 10;
|
|
32
|
+
this.authToken = config.authToken;
|
|
33
|
+
this.wsFactory = wsFactory;
|
|
34
|
+
}
|
|
35
|
+
// -----------------------------------------------------------------------
|
|
36
|
+
// Public API
|
|
37
|
+
// -----------------------------------------------------------------------
|
|
38
|
+
/** Open a WebSocket connection. */
|
|
39
|
+
connect() {
|
|
40
|
+
this.intentionalClose = false;
|
|
41
|
+
this.reconnectCount = 0;
|
|
42
|
+
this.doConnect();
|
|
43
|
+
}
|
|
44
|
+
/** Gracefully close the connection (no auto-reconnect). */
|
|
45
|
+
disconnect() {
|
|
46
|
+
this.intentionalClose = true;
|
|
47
|
+
if (this.reconnectTimer) {
|
|
48
|
+
clearTimeout(this.reconnectTimer);
|
|
49
|
+
this.reconnectTimer = null;
|
|
50
|
+
}
|
|
51
|
+
if (this.ws) {
|
|
52
|
+
this.ws.close();
|
|
53
|
+
this.ws = null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** Send a typed message over the WebSocket. */
|
|
57
|
+
send(message) {
|
|
58
|
+
if (!this.ws || this.ws.readyState !== WS_OPEN) {
|
|
59
|
+
throw new Error('WebSocket is not connected');
|
|
60
|
+
}
|
|
61
|
+
this.ws.send(JSON.stringify(message));
|
|
62
|
+
}
|
|
63
|
+
/** Register a callback for incoming messages. */
|
|
64
|
+
onMessage(callback) {
|
|
65
|
+
this.listeners.push(callback);
|
|
66
|
+
}
|
|
67
|
+
/** Whether the underlying WebSocket is currently open. */
|
|
68
|
+
isConnected() {
|
|
69
|
+
return this.ws != null && this.ws.readyState === WS_OPEN;
|
|
70
|
+
}
|
|
71
|
+
// -----------------------------------------------------------------------
|
|
72
|
+
// Internal
|
|
73
|
+
// -----------------------------------------------------------------------
|
|
74
|
+
doConnect() {
|
|
75
|
+
const protocols = this.authToken ? [`auth-${this.authToken}`] : undefined;
|
|
76
|
+
const ws = this.wsFactory(this.url, protocols);
|
|
77
|
+
this.ws = ws;
|
|
78
|
+
ws.onopen = () => {
|
|
79
|
+
this.reconnectCount = 0;
|
|
80
|
+
};
|
|
81
|
+
ws.onmessage = (ev) => {
|
|
82
|
+
let msg;
|
|
83
|
+
try {
|
|
84
|
+
msg = JSON.parse(ev.data);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return; // ignore unparseable frames
|
|
88
|
+
}
|
|
89
|
+
for (const cb of this.listeners) {
|
|
90
|
+
cb(msg);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
ws.onclose = () => {
|
|
94
|
+
if (!this.intentionalClose) {
|
|
95
|
+
this.scheduleReconnect();
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
ws.onerror = () => {
|
|
99
|
+
// Error is typically followed by close — let onclose handle reconnect.
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
scheduleReconnect() {
|
|
103
|
+
if (this.reconnectCount >= this.maxReconnects) {
|
|
104
|
+
return; // give up
|
|
105
|
+
}
|
|
106
|
+
const delay = this.reconnectIntervalMs * Math.pow(2, this.reconnectCount);
|
|
107
|
+
this.reconnectCount++;
|
|
108
|
+
this.reconnectTimer = setTimeout(() => {
|
|
109
|
+
this.doConnect();
|
|
110
|
+
}, delay);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.WebSocketSession = WebSocketSession;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git Worktree Isolation (GAP-TOOLS-017).
|
|
3
|
+
*
|
|
4
|
+
* Helpers for creating, listing, and removing git worktrees
|
|
5
|
+
* to isolate concurrent agent work. Uses injectable command
|
|
6
|
+
* executor for testability.
|
|
7
|
+
*/
|
|
8
|
+
export interface WorktreeConfig {
|
|
9
|
+
baseBranch: string;
|
|
10
|
+
worktreePath: string;
|
|
11
|
+
label: string;
|
|
12
|
+
}
|
|
13
|
+
export interface WorktreeInfo {
|
|
14
|
+
worktree: string;
|
|
15
|
+
head: string;
|
|
16
|
+
branch: string;
|
|
17
|
+
bare: boolean;
|
|
18
|
+
}
|
|
19
|
+
export type ExecSyncFn = (cmd: string, opts?: {
|
|
20
|
+
cwd?: string;
|
|
21
|
+
}) => Buffer;
|
|
22
|
+
/**
|
|
23
|
+
* Create a new git worktree.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createWorktree(repoDir: string, config: WorktreeConfig, exec?: ExecSyncFn): void;
|
|
26
|
+
/**
|
|
27
|
+
* Remove a git worktree.
|
|
28
|
+
*/
|
|
29
|
+
export declare function removeWorktree(worktreePath: string, exec?: ExecSyncFn): void;
|
|
30
|
+
/**
|
|
31
|
+
* List all worktrees for a repository by parsing `git worktree list --porcelain`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function listWorktrees(repoDir: string, exec?: ExecSyncFn): WorktreeInfo[];
|
|
34
|
+
/**
|
|
35
|
+
* Check if a directory is inside a git worktree (as opposed to the main working tree).
|
|
36
|
+
*/
|
|
37
|
+
export declare function isInsideWorktree(dir: string, exec?: ExecSyncFn): boolean;
|
|
38
|
+
export declare function parsePorcelainOutput(output: string): WorktreeInfo[];
|
|
39
|
+
//# sourceMappingURL=worktreeIsolation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktreeIsolation.d.ts","sourceRoot":"","sources":["../../src/harness/worktreeIsolation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,MAAM,CAAC;AAM1E;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE,UAA4B,GACjC,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,UAA4B,GACjC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,UAA4B,GACjC,YAAY,EAAE,CAGhB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,UAA4B,GACjC,OAAO,CAST;AAMD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CA+BnE"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Git Worktree Isolation (GAP-TOOLS-017).
|
|
4
|
+
*
|
|
5
|
+
* Helpers for creating, listing, and removing git worktrees
|
|
6
|
+
* to isolate concurrent agent work. Uses injectable command
|
|
7
|
+
* executor for testability.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.createWorktree = createWorktree;
|
|
11
|
+
exports.removeWorktree = removeWorktree;
|
|
12
|
+
exports.listWorktrees = listWorktrees;
|
|
13
|
+
exports.isInsideWorktree = isInsideWorktree;
|
|
14
|
+
exports.parsePorcelainOutput = parsePorcelainOutput;
|
|
15
|
+
const node_child_process_1 = require("node:child_process");
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Public API
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
/**
|
|
20
|
+
* Create a new git worktree.
|
|
21
|
+
*/
|
|
22
|
+
function createWorktree(repoDir, config, exec = node_child_process_1.execSync) {
|
|
23
|
+
exec(`git worktree add "${config.worktreePath}" "${config.baseBranch}"`, { cwd: repoDir });
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Remove a git worktree.
|
|
27
|
+
*/
|
|
28
|
+
function removeWorktree(worktreePath, exec = node_child_process_1.execSync) {
|
|
29
|
+
exec(`git worktree remove "${worktreePath}"`);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* List all worktrees for a repository by parsing `git worktree list --porcelain`.
|
|
33
|
+
*/
|
|
34
|
+
function listWorktrees(repoDir, exec = node_child_process_1.execSync) {
|
|
35
|
+
const output = exec('git worktree list --porcelain', { cwd: repoDir }).toString('utf8');
|
|
36
|
+
return parsePorcelainOutput(output);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if a directory is inside a git worktree (as opposed to the main working tree).
|
|
40
|
+
*/
|
|
41
|
+
function isInsideWorktree(dir, exec = node_child_process_1.execSync) {
|
|
42
|
+
try {
|
|
43
|
+
const gitDir = exec('git rev-parse --git-dir', { cwd: dir }).toString('utf8').trim();
|
|
44
|
+
// A worktree's .git is a file pointing to the main repo's .git/worktrees/<name>,
|
|
45
|
+
// so the git-dir path will contain '/worktrees/' or '\\worktrees\\'.
|
|
46
|
+
return gitDir.includes('/worktrees/') || gitDir.includes('\\worktrees\\');
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
// Internal
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
function parsePorcelainOutput(output) {
|
|
56
|
+
const results = [];
|
|
57
|
+
const blocks = output.trim().split('\n\n');
|
|
58
|
+
for (const block of blocks) {
|
|
59
|
+
if (!block.trim())
|
|
60
|
+
continue;
|
|
61
|
+
const lines = block.trim().split('\n');
|
|
62
|
+
let worktree = '';
|
|
63
|
+
let head = '';
|
|
64
|
+
let branch = '';
|
|
65
|
+
let bare = false;
|
|
66
|
+
for (const line of lines) {
|
|
67
|
+
if (line.startsWith('worktree ')) {
|
|
68
|
+
worktree = line.slice('worktree '.length);
|
|
69
|
+
}
|
|
70
|
+
else if (line.startsWith('HEAD ')) {
|
|
71
|
+
head = line.slice('HEAD '.length);
|
|
72
|
+
}
|
|
73
|
+
else if (line.startsWith('branch ')) {
|
|
74
|
+
branch = line.slice('branch '.length);
|
|
75
|
+
}
|
|
76
|
+
else if (line === 'bare') {
|
|
77
|
+
bare = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (worktree) {
|
|
81
|
+
results.push({ worktree, head, branch, bare });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return results;
|
|
85
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from "./harness";
|
|
2
|
+
export * from "./runtime";
|
|
3
|
+
export * from "./api";
|
|
4
|
+
export * from "./daemon";
|
|
5
|
+
export * from "./interaction";
|
|
6
|
+
export * as anycli from "./anycli";
|
|
7
|
+
export * as cost from "./cost";
|
|
8
|
+
export * as governance from "./governance";
|
|
9
|
+
export * from "./observability";
|
|
10
|
+
export * as session from "./session";
|
|
11
|
+
export * as storage from "./storage";
|
|
12
|
+
export * as tasks from "./tasks";
|
|
13
|
+
export * as processes from "./processes";
|
|
14
|
+
export * as skills from "./skills";
|
|
15
|
+
export * as plugins from "./plugins";
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
|