@a5c-ai/agent-platform 5.0.1-staging.b436b3b3e611
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -0
- package/dist/anycli/cache.d.ts +45 -0
- package/dist/anycli/cache.d.ts.map +1 -0
- package/dist/anycli/cache.js +118 -0
- package/dist/anycli/index.d.ts +10 -0
- package/dist/anycli/index.d.ts.map +1 -0
- package/dist/anycli/index.js +25 -0
- package/dist/anycli/types.d.ts +32 -0
- package/dist/anycli/types.d.ts.map +1 -0
- package/dist/anycli/types.js +9 -0
- package/dist/api/breakpoints.d.ts +93 -0
- package/dist/api/breakpoints.d.ts.map +1 -0
- package/dist/api/breakpoints.js +334 -0
- package/dist/api/effects.d.ts +14 -0
- package/dist/api/effects.d.ts.map +1 -0
- package/dist/api/effects.js +306 -0
- package/dist/api/effectsTypes.d.ts +79 -0
- package/dist/api/effectsTypes.d.ts.map +1 -0
- package/dist/api/effectsTypes.js +6 -0
- package/dist/api/eventStream.d.ts +34 -0
- package/dist/api/eventStream.d.ts.map +1 -0
- package/dist/api/eventStream.js +126 -0
- package/dist/api/index.d.ts +10 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +27 -0
- package/dist/api/runs.d.ts +85 -0
- package/dist/api/runs.d.ts.map +1 -0
- package/dist/api/runs.js +247 -0
- package/dist/api/utils.d.ts +28 -0
- package/dist/api/utils.d.ts.map +1 -0
- package/dist/api/utils.js +74 -0
- package/dist/breakpoints/approvalChains.d.ts +68 -0
- package/dist/breakpoints/approvalChains.d.ts.map +1 -0
- package/dist/breakpoints/approvalChains.js +111 -0
- package/dist/breakpoints/delegation.d.ts +42 -0
- package/dist/breakpoints/delegation.d.ts.map +1 -0
- package/dist/breakpoints/delegation.js +199 -0
- package/dist/breakpoints/delegationTypes.d.ts +46 -0
- package/dist/breakpoints/delegationTypes.d.ts.map +1 -0
- package/dist/breakpoints/delegationTypes.js +10 -0
- package/dist/breakpoints/postures.d.ts +28 -0
- package/dist/breakpoints/postures.d.ts.map +1 -0
- package/dist/breakpoints/postures.js +100 -0
- package/dist/cli/amuxEventsFormatter.d.ts +26 -0
- package/dist/cli/amuxEventsFormatter.d.ts.map +1 -0
- package/dist/cli/amuxEventsFormatter.js +86 -0
- package/dist/cli/args/argFlags.d.ts +6 -0
- package/dist/cli/args/argFlags.d.ts.map +1 -0
- package/dist/cli/args/argFlags.js +72 -0
- package/dist/cli/args/argPositionals.d.ts +3 -0
- package/dist/cli/args/argPositionals.d.ts.map +1 -0
- package/dist/cli/args/argPositionals.js +18 -0
- package/dist/cli/args/index.d.ts +4 -0
- package/dist/cli/args/index.d.ts.map +1 -0
- package/dist/cli/args/index.js +75 -0
- package/dist/cli/args/types.d.ts +13 -0
- package/dist/cli/args/types.d.ts.map +1 -0
- package/dist/cli/args/types.js +2 -0
- package/dist/cli/commands/daemon.d.ts +31 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -0
- package/dist/cli/commands/daemon.js +156 -0
- package/dist/cli/commands/harness/createRun.d.ts +3 -0
- package/dist/cli/commands/harness/createRun.d.ts.map +1 -0
- package/dist/cli/commands/harness/createRun.js +8 -0
- package/dist/cli/commands/harness/resumeRun.d.ts +20 -0
- package/dist/cli/commands/harness/resumeRun.d.ts.map +1 -0
- package/dist/cli/commands/harness/resumeRun.js +341 -0
- package/dist/cli/commands/jsonlInteractive.d.ts +35 -0
- package/dist/cli/commands/jsonlInteractive.d.ts.map +1 -0
- package/dist/cli/commands/jsonlInteractive.js +302 -0
- package/dist/cli/commands/mcpServe.d.ts +18 -0
- package/dist/cli/commands/mcpServe.d.ts.map +1 -0
- package/dist/cli/commands/mcpServe.js +59 -0
- package/dist/cli/commands/session/history.d.ts +14 -0
- package/dist/cli/commands/session/history.d.ts.map +1 -0
- package/dist/cli/commands/session/history.js +100 -0
- package/dist/cli/commands/tui.d.ts +23 -0
- package/dist/cli/commands/tui.d.ts.map +1 -0
- package/dist/cli/commands/tui.js +183 -0
- package/dist/cli/dispatch.d.ts +4 -0
- package/dist/cli/dispatch.d.ts.map +1 -0
- package/dist/cli/dispatch.js +332 -0
- package/dist/cli/main.d.ts +7 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +41 -0
- package/dist/cli/program.d.ts +7 -0
- package/dist/cli/program.d.ts.map +1 -0
- package/dist/cli/program.js +8 -0
- package/dist/cli/ui.d.ts +9 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/ui.js +125 -0
- package/dist/compression/compaction.d.ts +82 -0
- package/dist/compression/compaction.d.ts.map +1 -0
- package/dist/compression/compaction.js +310 -0
- package/dist/cost/claudeCodeParser.d.ts +81 -0
- package/dist/cost/claudeCodeParser.d.ts.map +1 -0
- package/dist/cost/claudeCodeParser.js +232 -0
- package/dist/cost/collector.d.ts +42 -0
- package/dist/cost/collector.d.ts.map +1 -0
- package/dist/cost/collector.js +105 -0
- package/dist/cost/effectCost.d.ts +23 -0
- package/dist/cost/effectCost.d.ts.map +1 -0
- package/dist/cost/effectCost.js +26 -0
- package/dist/cost/index.d.ts +7 -0
- package/dist/cost/index.d.ts.map +1 -0
- package/dist/cost/index.js +28 -0
- package/dist/cost/journal.d.ts +40 -0
- package/dist/cost/journal.d.ts.map +1 -0
- package/dist/cost/journal.js +137 -0
- package/dist/cost/types.d.ts +164 -0
- package/dist/cost/types.d.ts.map +1 -0
- package/dist/cost/types.js +228 -0
- package/dist/daemon/automationExecutor.d.ts +16 -0
- package/dist/daemon/automationExecutor.d.ts.map +1 -0
- package/dist/daemon/automationExecutor.js +222 -0
- package/dist/daemon/config.d.ts +8 -0
- package/dist/daemon/config.d.ts.map +1 -0
- package/dist/daemon/config.js +209 -0
- package/dist/daemon/daemonLog.d.ts +13 -0
- package/dist/daemon/daemonLog.d.ts.map +1 -0
- package/dist/daemon/daemonLog.js +64 -0
- package/dist/daemon/fileWatcher.d.ts +9 -0
- package/dist/daemon/fileWatcher.d.ts.map +1 -0
- package/dist/daemon/fileWatcher.js +141 -0
- package/dist/daemon/index.d.ts +7 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +21 -0
- package/dist/daemon/lifecycle.d.ts +12 -0
- package/dist/daemon/lifecycle.d.ts.map +1 -0
- package/dist/daemon/lifecycle.js +257 -0
- package/dist/daemon/loop.d.ts +21 -0
- package/dist/daemon/loop.d.ts.map +1 -0
- package/dist/daemon/loop.js +196 -0
- package/dist/daemon/timerScheduler.d.ts +13 -0
- package/dist/daemon/timerScheduler.d.ts.map +1 -0
- package/dist/daemon/timerScheduler.js +122 -0
- package/dist/daemon/types.d.ts +93 -0
- package/dist/daemon/types.d.ts.map +1 -0
- package/dist/daemon/types.js +25 -0
- package/dist/daemon/webhookListener.d.ts +6 -0
- package/dist/daemon/webhookListener.d.ts.map +1 -0
- package/dist/daemon/webhookListener.js +110 -0
- package/dist/governance/authority.d.ts +68 -0
- package/dist/governance/authority.d.ts.map +1 -0
- package/dist/governance/authority.js +136 -0
- package/dist/governance/bridge.d.ts +17 -0
- package/dist/governance/bridge.d.ts.map +1 -0
- package/dist/governance/bridge.js +46 -0
- package/dist/governance/builtins.d.ts +25 -0
- package/dist/governance/builtins.d.ts.map +1 -0
- package/dist/governance/builtins.js +67 -0
- package/dist/governance/categories.d.ts +58 -0
- package/dist/governance/categories.d.ts.map +1 -0
- package/dist/governance/categories.js +120 -0
- package/dist/governance/decisionTrail.d.ts +60 -0
- package/dist/governance/decisionTrail.d.ts.map +1 -0
- package/dist/governance/decisionTrail.js +68 -0
- package/dist/governance/engine.d.ts +20 -0
- package/dist/governance/engine.d.ts.map +1 -0
- package/dist/governance/engine.js +124 -0
- package/dist/governance/index.d.ts +20 -0
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/index.js +75 -0
- package/dist/governance/logging.d.ts +18 -0
- package/dist/governance/logging.d.ts.map +1 -0
- package/dist/governance/logging.js +83 -0
- package/dist/governance/mandate.d.ts +83 -0
- package/dist/governance/mandate.d.ts.map +1 -0
- package/dist/governance/mandate.js +180 -0
- package/dist/governance/permissionEvents.d.ts +51 -0
- package/dist/governance/permissionEvents.d.ts.map +1 -0
- package/dist/governance/permissionEvents.js +52 -0
- package/dist/governance/permissionPropagation.d.ts +18 -0
- package/dist/governance/permissionPropagation.d.ts.map +1 -0
- package/dist/governance/permissionPropagation.js +58 -0
- package/dist/governance/postureBridge.d.ts +17 -0
- package/dist/governance/postureBridge.d.ts.map +1 -0
- package/dist/governance/postureBridge.js +117 -0
- package/dist/governance/sandboxBridge.d.ts +49 -0
- package/dist/governance/sandboxBridge.d.ts.map +1 -0
- package/dist/governance/sandboxBridge.js +77 -0
- package/dist/governance/sandboxPolicy.d.ts +51 -0
- package/dist/governance/sandboxPolicy.d.ts.map +1 -0
- package/dist/governance/sandboxPolicy.js +177 -0
- package/dist/governance/types.d.ts +3 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/governance/types.js +5 -0
- package/dist/harness/amux/amuxBridge.d.ts +71 -0
- package/dist/harness/amux/amuxBridge.d.ts.map +1 -0
- package/dist/harness/amux/amuxBridge.js +117 -0
- package/dist/harness/amux/amuxClientFactory.d.ts +29 -0
- package/dist/harness/amux/amuxClientFactory.d.ts.map +1 -0
- package/dist/harness/amux/amuxClientFactory.js +90 -0
- package/dist/harness/amux/amuxEventEmitter.d.ts +51 -0
- package/dist/harness/amux/amuxEventEmitter.d.ts.map +1 -0
- package/dist/harness/amux/amuxEventEmitter.js +143 -0
- package/dist/harness/amux/amuxEventMapper.d.ts +58 -0
- package/dist/harness/amux/amuxEventMapper.d.ts.map +1 -0
- package/dist/harness/amux/amuxEventMapper.js +92 -0
- package/dist/harness/amux/amuxHarnessMap.d.ts +25 -0
- package/dist/harness/amux/amuxHarnessMap.d.ts.map +1 -0
- package/dist/harness/amux/amuxHarnessMap.js +55 -0
- package/dist/harness/amux/amuxStdinReader.d.ts +45 -0
- package/dist/harness/amux/amuxStdinReader.d.ts.map +1 -0
- package/dist/harness/amux/amuxStdinReader.js +106 -0
- package/dist/harness/amux/amuxTypes.d.ts +122 -0
- package/dist/harness/amux/amuxTypes.d.ts.map +1 -0
- package/dist/harness/amux/amuxTypes.js +11 -0
- package/dist/harness/amux/index.d.ts +17 -0
- package/dist/harness/amux/index.d.ts.map +1 -0
- package/dist/harness/amux/index.js +34 -0
- package/dist/harness/backgroundTracker.d.ts +64 -0
- package/dist/harness/backgroundTracker.d.ts.map +1 -0
- package/dist/harness/backgroundTracker.js +107 -0
- package/dist/harness/builtInHarness.d.ts +3 -0
- package/dist/harness/builtInHarness.d.ts.map +1 -0
- package/dist/harness/builtInHarness.js +18 -0
- package/dist/harness/capabilityRouter.d.ts +76 -0
- package/dist/harness/capabilityRouter.d.ts.map +1 -0
- package/dist/harness/capabilityRouter.js +176 -0
- package/dist/harness/fallbackChains.d.ts +42 -0
- package/dist/harness/fallbackChains.d.ts.map +1 -0
- package/dist/harness/fallbackChains.js +69 -0
- package/dist/harness/hostContract.d.ts +63 -0
- package/dist/harness/hostContract.d.ts.map +1 -0
- package/dist/harness/hostContract.js +136 -0
- package/dist/harness/index.d.ts +10 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +66 -0
- package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
- package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
- package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
- package/dist/harness/internal/createRun/index.d.ts +25 -0
- package/dist/harness/internal/createRun/index.d.ts.map +1 -0
- package/dist/harness/internal/createRun/index.js +137 -0
- package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
- package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/constants.js +13 -0
- package/dist/harness/internal/createRun/orchestration/effects.d.ts +43 -0
- package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/effects.js +490 -0
- package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +20 -0
- package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +79 -0
- package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
- package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/externalPhase.js +319 -0
- package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
- package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +104 -0
- package/dist/harness/internal/createRun/orchestration/index.d.ts +14 -0
- package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/index.js +36 -0
- package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
- package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/internalPhase.js +464 -0
- package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +26 -0
- package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/internalTools.js +262 -0
- package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
- package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
- package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
- package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
- package/dist/harness/internal/createRun/orchestration/types.d.ts +46 -0
- package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/types.js +2 -0
- package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
- package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
- package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
- package/dist/harness/internal/createRun/output.d.ts +38 -0
- package/dist/harness/internal/createRun/output.d.ts.map +1 -0
- package/dist/harness/internal/createRun/output.js +415 -0
- package/dist/harness/internal/createRun/pi.d.ts +34 -0
- package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
- package/dist/harness/internal/createRun/pi.js +216 -0
- package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
- package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/agentOutput.js +113 -0
- package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
- package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/delegation.js +176 -0
- package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
- package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/external.js +139 -0
- package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
- package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/index.js +24 -0
- package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
- package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
- package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
- package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/phase.js +361 -0
- package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
- package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -0
- package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
- package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
- package/dist/harness/internal/createRun/planProcess/prompts.d.ts +20 -0
- package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/prompts.js +208 -0
- package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
- package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/recovery.js +188 -0
- package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts +2 -0
- package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/recovery.test.js +68 -0
- package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
- package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
- package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
- package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
- package/dist/harness/internal/createRun/planProcess/validation.d.ts +2 -0
- package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/validation.js +212 -0
- package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +11 -0
- package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/validationSource.js +328 -0
- package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
- package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
- package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
- package/dist/harness/internal/createRun/prompts.d.ts +49 -0
- package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
- package/dist/harness/internal/createRun/prompts.js +307 -0
- package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
- package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
- package/dist/harness/internal/createRun/resumeState.js +133 -0
- package/dist/harness/internal/createRun/utils.d.ts +182 -0
- package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
- package/dist/harness/internal/createRun/utils.js +133 -0
- package/dist/harness/internal.d.ts +13 -0
- package/dist/harness/internal.d.ts.map +1 -0
- package/dist/harness/internal.js +149 -0
- package/dist/harness/invoker/launch.d.ts +20 -0
- package/dist/harness/invoker/launch.d.ts.map +1 -0
- package/dist/harness/invoker/launch.js +23 -0
- package/dist/harness/invoker/processControl.d.ts +11 -0
- package/dist/harness/invoker/processControl.d.ts.map +1 -0
- package/dist/harness/invoker/processControl.js +50 -0
- package/dist/harness/invoker.d.ts +43 -0
- package/dist/harness/invoker.d.ts.map +1 -0
- package/dist/harness/invoker.js +210 -0
- package/dist/harness/modeSelector.d.ts +50 -0
- package/dist/harness/modeSelector.d.ts.map +1 -0
- package/dist/harness/modeSelector.js +124 -0
- package/dist/harness/modelSelection.d.ts +37 -0
- package/dist/harness/modelSelection.d.ts.map +1 -0
- package/dist/harness/modelSelection.js +81 -0
- package/dist/harness/operatorCommands.d.ts +38 -0
- package/dist/harness/operatorCommands.d.ts.map +1 -0
- package/dist/harness/operatorCommands.js +118 -0
- package/dist/harness/piSecureSandbox.d.ts +8 -0
- package/dist/harness/piSecureSandbox.d.ts.map +1 -0
- package/dist/harness/piSecureSandbox.js +366 -0
- package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
- package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
- package/dist/harness/piSecureSandboxTypes.js +6 -0
- package/dist/harness/piWrapper/compaction.d.ts +13 -0
- package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
- package/dist/harness/piWrapper/compaction.js +38 -0
- package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
- package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
- package/dist/harness/piWrapper/instructionPrompts.js +97 -0
- package/dist/harness/piWrapper/moduleSupport.d.ts +77 -0
- package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
- package/dist/harness/piWrapper/moduleSupport.js +204 -0
- package/dist/harness/piWrapper.d.ts +80 -0
- package/dist/harness/piWrapper.d.ts.map +1 -0
- package/dist/harness/piWrapper.js +389 -0
- package/dist/harness/piWrapper.test.d.ts +2 -0
- package/dist/harness/piWrapper.test.d.ts.map +1 -0
- package/dist/harness/piWrapper.test.js +193 -0
- package/dist/harness/planMode.d.ts +68 -0
- package/dist/harness/planMode.d.ts.map +1 -0
- package/dist/harness/planMode.js +145 -0
- package/dist/harness/selectionPolicies.d.ts +29 -0
- package/dist/harness/selectionPolicies.d.ts.map +1 -0
- package/dist/harness/selectionPolicies.js +165 -0
- package/dist/harness/types.d.ts +266 -0
- package/dist/harness/types.d.ts.map +1 -0
- package/dist/harness/types.js +34 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/interaction/askUserQuestion/core.d.ts +8 -0
- package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
- package/dist/interaction/askUserQuestion/core.js +112 -0
- package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
- package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
- package/dist/interaction/askUserQuestion/terminal.js +128 -0
- package/dist/interaction/askUserQuestion.d.ts +10 -0
- package/dist/interaction/askUserQuestion.d.ts.map +1 -0
- package/dist/interaction/askUserQuestion.js +295 -0
- package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
- package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
- package/dist/interaction/askUserQuestionTypes.js +6 -0
- package/dist/interaction/index.d.ts +4 -0
- package/dist/interaction/index.d.ts.map +1 -0
- package/dist/interaction/index.js +20 -0
- package/dist/interaction/interactionRouter.d.ts +25 -0
- package/dist/interaction/interactionRouter.d.ts.map +1 -0
- package/dist/interaction/interactionRouter.js +55 -0
- package/dist/mcp/channels/allowlist.d.ts +19 -0
- package/dist/mcp/channels/allowlist.d.ts.map +1 -0
- package/dist/mcp/channels/allowlist.js +140 -0
- package/dist/mcp/channels/channelManager.d.ts +64 -0
- package/dist/mcp/channels/channelManager.d.ts.map +1 -0
- package/dist/mcp/channels/channelManager.js +137 -0
- package/dist/mcp/channels/inboundQueue.d.ts +47 -0
- package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
- package/dist/mcp/channels/inboundQueue.js +96 -0
- package/dist/mcp/channels/index.d.ts +17 -0
- package/dist/mcp/channels/index.d.ts.map +1 -0
- package/dist/mcp/channels/index.js +39 -0
- package/dist/mcp/channels/outbound.d.ts +33 -0
- package/dist/mcp/channels/outbound.d.ts.map +1 -0
- package/dist/mcp/channels/outbound.js +94 -0
- package/dist/mcp/channels/permissionRelay.d.ts +62 -0
- package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
- package/dist/mcp/channels/permissionRelay.js +159 -0
- package/dist/mcp/channels/types.d.ts +135 -0
- package/dist/mcp/channels/types.d.ts.map +1 -0
- package/dist/mcp/channels/types.js +16 -0
- package/dist/mcp/client/config.d.ts +28 -0
- package/dist/mcp/client/config.d.ts.map +1 -0
- package/dist/mcp/client/config.js +142 -0
- package/dist/mcp/client/executor.d.ts +30 -0
- package/dist/mcp/client/executor.d.ts.map +1 -0
- package/dist/mcp/client/executor.js +60 -0
- package/dist/mcp/client/index.d.ts +12 -0
- package/dist/mcp/client/index.d.ts.map +1 -0
- package/dist/mcp/client/index.js +27 -0
- package/dist/mcp/client/manager.d.ts +74 -0
- package/dist/mcp/client/manager.d.ts.map +1 -0
- package/dist/mcp/client/manager.js +214 -0
- package/dist/mcp/client/toolRegistry.d.ts +50 -0
- package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
- package/dist/mcp/client/toolRegistry.js +118 -0
- package/dist/mcp/client/types.d.ts +96 -0
- package/dist/mcp/client/types.d.ts.map +1 -0
- package/dist/mcp/client/types.js +15 -0
- package/dist/mcp/transport/index.d.ts +9 -0
- package/dist/mcp/transport/index.d.ts.map +1 -0
- package/dist/mcp/transport/index.js +13 -0
- package/dist/mcp/transport/session.d.ts +18 -0
- package/dist/mcp/transport/session.d.ts.map +1 -0
- package/dist/mcp/transport/session.js +78 -0
- package/dist/mcp/transport/types.d.ts +19 -0
- package/dist/mcp/transport/types.d.ts.map +1 -0
- package/dist/mcp/transport/types.js +7 -0
- package/dist/mcp/transport/websocket.d.ts +41 -0
- package/dist/mcp/transport/websocket.d.ts.map +1 -0
- package/dist/mcp/transport/websocket.js +271 -0
- package/dist/observability/health.d.ts +19 -0
- package/dist/observability/health.d.ts.map +1 -0
- package/dist/observability/health.js +129 -0
- package/dist/observability/index.d.ts +7 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +22 -0
- package/dist/observability/runStatus.d.ts +44 -0
- package/dist/observability/runStatus.d.ts.map +1 -0
- package/dist/observability/runStatus.js +169 -0
- package/dist/observability/timeline.d.ts +11 -0
- package/dist/observability/timeline.d.ts.map +1 -0
- package/dist/observability/timeline.js +176 -0
- package/dist/observability/types.d.ts +62 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +8 -0
- package/dist/observability/webhooks.d.ts +68 -0
- package/dist/observability/webhooks.d.ts.map +1 -0
- package/dist/observability/webhooks.js +132 -0
- package/dist/prompts/commandTemplates.d.ts +3 -0
- package/dist/prompts/commandTemplates.d.ts.map +1 -0
- package/dist/prompts/commandTemplates.js +238 -0
- package/dist/runtime/index.d.ts +3 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +28 -0
- package/dist/seams/contract.d.ts +55 -0
- package/dist/seams/contract.d.ts.map +1 -0
- package/dist/seams/contract.js +120 -0
- package/dist/seams/contract.test.d.ts +2 -0
- package/dist/seams/contract.test.d.ts.map +1 -0
- package/dist/seams/contract.test.js +96 -0
- package/dist/seams/index.d.ts +3 -0
- package/dist/seams/index.d.ts.map +1 -0
- package/dist/seams/index.js +8 -0
- package/dist/session/context.d.ts +22 -0
- package/dist/session/context.d.ts.map +1 -0
- package/dist/session/context.js +113 -0
- package/dist/session/continuityState.d.ts +39 -0
- package/dist/session/continuityState.d.ts.map +1 -0
- package/dist/session/continuityState.js +164 -0
- package/dist/session/cost.d.ts +63 -0
- package/dist/session/cost.d.ts.map +1 -0
- package/dist/session/cost.js +194 -0
- package/dist/session/discovery.d.ts +22 -0
- package/dist/session/discovery.d.ts.map +1 -0
- package/dist/session/discovery.js +35 -0
- package/dist/session/history.d.ts +30 -0
- package/dist/session/history.d.ts.map +1 -0
- package/dist/session/history.js +143 -0
- package/dist/session/index.d.ts +7 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +70 -0
- package/dist/session/memoryExtraction.d.ts +65 -0
- package/dist/session/memoryExtraction.d.ts.map +1 -0
- package/dist/session/memoryExtraction.js +201 -0
- package/dist/session/parse.d.ts +45 -0
- package/dist/session/parse.d.ts.map +1 -0
- package/dist/session/parse.js +170 -0
- package/dist/session/persistence.d.ts +46 -0
- package/dist/session/persistence.d.ts.map +1 -0
- package/dist/session/persistence.js +180 -0
- package/dist/session/types.d.ts +267 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +45 -0
- package/dist/session/write.d.ts +61 -0
- package/dist/session/write.d.ts.map +1 -0
- package/dist/session/write.js +213 -0
- package/dist/storage/atomic.d.ts +2 -0
- package/dist/storage/atomic.d.ts.map +1 -0
- package/dist/storage/atomic.js +54 -0
- package/dist/storage/clock.d.ts +2 -0
- package/dist/storage/clock.d.ts.map +1 -0
- package/dist/storage/clock.js +6 -0
- package/dist/storage/index.d.ts +7 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +9 -0
- package/dist/storage/journalWatcher.d.ts +24 -0
- package/dist/storage/journalWatcher.d.ts.map +1 -0
- package/dist/storage/journalWatcher.js +172 -0
- package/dist/storage/paths.d.ts +5 -0
- package/dist/storage/paths.d.ts.map +1 -0
- package/dist/storage/paths.js +26 -0
- package/dist/storage/snapshotState.d.ts +10 -0
- package/dist/storage/snapshotState.d.ts.map +1 -0
- package/dist/storage/snapshotState.js +15 -0
- package/dist/storage/storeTaskArtifacts.d.ts +6 -0
- package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
- package/dist/storage/storeTaskArtifacts.js +55 -0
- package/dist/storage/types.d.ts +21 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +2 -0
- package/dist/tasks/crud.d.ts +33 -0
- package/dist/tasks/crud.d.ts.map +1 -0
- package/dist/tasks/crud.js +150 -0
- package/dist/tasks/index.d.ts +2 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/index.js +9 -0
- package/package.json +141 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mapping from babysitter harness identifiers to agent-mux adapter names.
|
|
3
|
+
*
|
|
4
|
+
* Pi is intentionally excluded -- it uses agent-core directly rather than
|
|
5
|
+
* the agent-mux subprocess model.
|
|
6
|
+
*
|
|
7
|
+
* @module harness/amux/amuxHarnessMap
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Maps agent-platform harness names to the
|
|
11
|
+
* corresponding agent-mux adapter identifier.
|
|
12
|
+
*/
|
|
13
|
+
export declare const HARNESS_TO_AMUX_ADAPTER: Readonly<Record<string, string>>;
|
|
14
|
+
/**
|
|
15
|
+
* Resolve a babysitter harness name to an agent-mux adapter name.
|
|
16
|
+
*
|
|
17
|
+
* @throws {Error} if `harness` is "pi" (Pi uses agent-core, not agent-mux)
|
|
18
|
+
* or if the harness has no known mapping.
|
|
19
|
+
*/
|
|
20
|
+
export declare function mapHarnessToAmuxAdapter(harness: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Check whether a harness name has a corresponding agent-mux adapter.
|
|
23
|
+
*/
|
|
24
|
+
export declare function hasAmuxAdapter(harness: string): boolean;
|
|
25
|
+
//# sourceMappingURL=amuxHarnessMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amuxHarnessMap.d.ts","sourceRoot":"","sources":["../../../src/harness/amux/amuxHarnessMap.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWpE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAe/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGvD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HARNESS_TO_AMUX_ADAPTER = void 0;
|
|
4
|
+
exports.mapHarnessToAmuxAdapter = mapHarnessToAmuxAdapter;
|
|
5
|
+
exports.hasAmuxAdapter = hasAmuxAdapter;
|
|
6
|
+
const builtInHarness_1 = require("../builtInHarness");
|
|
7
|
+
/**
|
|
8
|
+
* Mapping from babysitter harness identifiers to agent-mux adapter names.
|
|
9
|
+
*
|
|
10
|
+
* Pi is intentionally excluded -- it uses agent-core directly rather than
|
|
11
|
+
* the agent-mux subprocess model.
|
|
12
|
+
*
|
|
13
|
+
* @module harness/amux/amuxHarnessMap
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Maps agent-platform harness names to the
|
|
17
|
+
* corresponding agent-mux adapter identifier.
|
|
18
|
+
*/
|
|
19
|
+
exports.HARNESS_TO_AMUX_ADAPTER = {
|
|
20
|
+
"claude-code": "claude",
|
|
21
|
+
"codex": "codex",
|
|
22
|
+
"gemini-cli": "gemini",
|
|
23
|
+
"github-copilot": "copilot",
|
|
24
|
+
"cursor": "cursor",
|
|
25
|
+
"opencode": "opencode",
|
|
26
|
+
"openclaw": "openclaw",
|
|
27
|
+
"oh-my-pi": "omp",
|
|
28
|
+
"hermes": "hermes",
|
|
29
|
+
// Pi is NOT here -- uses agent-core directly.
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Resolve a babysitter harness name to an agent-mux adapter name.
|
|
33
|
+
*
|
|
34
|
+
* @throws {Error} if `harness` is "pi" (Pi uses agent-core, not agent-mux)
|
|
35
|
+
* or if the harness has no known mapping.
|
|
36
|
+
*/
|
|
37
|
+
function mapHarnessToAmuxAdapter(harness) {
|
|
38
|
+
const normalizedHarness = (0, builtInHarness_1.normalizeBuiltInHarnessName)(harness);
|
|
39
|
+
if (normalizedHarness === "pi" || normalizedHarness === "agent-core") {
|
|
40
|
+
throw new Error(`Harness "${harness}" uses agent-core and cannot be invoked via agent-mux.`);
|
|
41
|
+
}
|
|
42
|
+
const adapter = exports.HARNESS_TO_AMUX_ADAPTER[normalizedHarness];
|
|
43
|
+
if (!adapter) {
|
|
44
|
+
throw new Error(`No agent-mux adapter mapping for harness "${harness}". ` +
|
|
45
|
+
`Known mappings: ${Object.keys(exports.HARNESS_TO_AMUX_ADAPTER).join(", ")}`);
|
|
46
|
+
}
|
|
47
|
+
return adapter;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check whether a harness name has a corresponding agent-mux adapter.
|
|
51
|
+
*/
|
|
52
|
+
function hasAmuxAdapter(harness) {
|
|
53
|
+
const normalizedHarness = (0, builtInHarness_1.normalizeBuiltInHarnessName)(harness);
|
|
54
|
+
return normalizedHarness in exports.HARNESS_TO_AMUX_ADAPTER;
|
|
55
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read agent-mux interaction responses from stdin.
|
|
3
|
+
*
|
|
4
|
+
* When agent-platform runs under agent-mux with `--output-format amux-events`,
|
|
5
|
+
* the mux adapter may write JSONL interaction events to stdin (e.g.
|
|
6
|
+
* `approval_response`, `input_response`). This module provides an
|
|
7
|
+
* async-iterable reader that parses those events.
|
|
8
|
+
*
|
|
9
|
+
* @module harness/amux/amuxStdinReader
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* An interaction event received on stdin from agent-mux.
|
|
13
|
+
*
|
|
14
|
+
* Known types:
|
|
15
|
+
* - `approval_response` -- response to an `approval_request` event
|
|
16
|
+
* - `input_response` -- response to an `input_required` event
|
|
17
|
+
*/
|
|
18
|
+
export interface AmuxInteractionEvent {
|
|
19
|
+
/** Event type discriminator. */
|
|
20
|
+
type: string;
|
|
21
|
+
/** Interaction ID this response corresponds to. */
|
|
22
|
+
id: string;
|
|
23
|
+
/** The response payload (varies by type). */
|
|
24
|
+
response: unknown;
|
|
25
|
+
/** Whether the action was approved (for approval_response). */
|
|
26
|
+
approved?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create an async-iterable that yields interaction events parsed from stdin.
|
|
30
|
+
*
|
|
31
|
+
* Each line on stdin is expected to be a JSON object with at least a `type`
|
|
32
|
+
* and `id` field. Non-JSON lines and parse errors are silently ignored (they
|
|
33
|
+
* may be noise from the host terminal).
|
|
34
|
+
*
|
|
35
|
+
* The iterable ends when stdin is closed (EOF).
|
|
36
|
+
*/
|
|
37
|
+
export declare function createAmuxStdinReader(): AsyncIterable<AmuxInteractionEvent>;
|
|
38
|
+
/**
|
|
39
|
+
* Wait for a single interaction response matching `interactionId`.
|
|
40
|
+
*
|
|
41
|
+
* Consumes events from the reader until a matching response is found or
|
|
42
|
+
* the stream ends. Returns `null` if the stream ends without a match.
|
|
43
|
+
*/
|
|
44
|
+
export declare function waitForInteractionResponse(reader: AsyncIterable<AmuxInteractionEvent>, interactionId: string): Promise<AmuxInteractionEvent | null>;
|
|
45
|
+
//# sourceMappingURL=amuxStdinReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amuxStdinReader.d.ts","sourceRoot":"","sources":["../../../src/harness/amux/amuxStdinReader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAkC3E;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC3C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAOtC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Read agent-mux interaction responses from stdin.
|
|
4
|
+
*
|
|
5
|
+
* When agent-platform runs under agent-mux with `--output-format amux-events`,
|
|
6
|
+
* the mux adapter may write JSONL interaction events to stdin (e.g.
|
|
7
|
+
* `approval_response`, `input_response`). This module provides an
|
|
8
|
+
* async-iterable reader that parses those events.
|
|
9
|
+
*
|
|
10
|
+
* @module harness/amux/amuxStdinReader
|
|
11
|
+
*/
|
|
12
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
15
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
16
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(o, k2, desc);
|
|
19
|
+
}) : (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
o[k2] = m[k];
|
|
22
|
+
}));
|
|
23
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
+
}) : function(o, v) {
|
|
26
|
+
o["default"] = v;
|
|
27
|
+
});
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
exports.createAmuxStdinReader = createAmuxStdinReader;
|
|
47
|
+
exports.waitForInteractionResponse = waitForInteractionResponse;
|
|
48
|
+
const readline = __importStar(require("node:readline"));
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
// Reader implementation
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
/**
|
|
53
|
+
* Create an async-iterable that yields interaction events parsed from stdin.
|
|
54
|
+
*
|
|
55
|
+
* Each line on stdin is expected to be a JSON object with at least a `type`
|
|
56
|
+
* and `id` field. Non-JSON lines and parse errors are silently ignored (they
|
|
57
|
+
* may be noise from the host terminal).
|
|
58
|
+
*
|
|
59
|
+
* The iterable ends when stdin is closed (EOF).
|
|
60
|
+
*/
|
|
61
|
+
function createAmuxStdinReader() {
|
|
62
|
+
const rl = readline.createInterface({
|
|
63
|
+
input: process.stdin,
|
|
64
|
+
crlfDelay: Infinity,
|
|
65
|
+
});
|
|
66
|
+
// Build an AsyncGenerator so callers can `for await ... of` the stream.
|
|
67
|
+
async function* generate() {
|
|
68
|
+
for await (const line of rl) {
|
|
69
|
+
const trimmed = line.trim();
|
|
70
|
+
if (!trimmed)
|
|
71
|
+
continue;
|
|
72
|
+
let parsed;
|
|
73
|
+
try {
|
|
74
|
+
parsed = JSON.parse(trimmed);
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Not JSON -- skip
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (typeof parsed["type"] !== "string" || typeof parsed["id"] !== "string") {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
yield {
|
|
84
|
+
type: parsed["type"],
|
|
85
|
+
id: parsed["id"],
|
|
86
|
+
response: parsed["response"],
|
|
87
|
+
approved: typeof parsed["approved"] === "boolean" ? parsed["approved"] : undefined,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return generate();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Wait for a single interaction response matching `interactionId`.
|
|
95
|
+
*
|
|
96
|
+
* Consumes events from the reader until a matching response is found or
|
|
97
|
+
* the stream ends. Returns `null` if the stream ends without a match.
|
|
98
|
+
*/
|
|
99
|
+
async function waitForInteractionResponse(reader, interactionId) {
|
|
100
|
+
for await (const event of reader) {
|
|
101
|
+
if (event.id === interactionId) {
|
|
102
|
+
return event;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agent-mux type adapters for agent-platform.
|
|
3
|
+
*
|
|
4
|
+
* Keeps a structural compatibility layer for the subset of agent-mux surface
|
|
5
|
+
* that agent-platform consumes, without requiring TypeScript to resolve the
|
|
6
|
+
* full @a5c-ai/agent-mux package during agent-platform compilation.
|
|
7
|
+
*
|
|
8
|
+
* @module harness/amux/amuxTypes
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Options accepted by AmuxClient.run().
|
|
12
|
+
*/
|
|
13
|
+
export interface AmuxRunOptions {
|
|
14
|
+
agent: string;
|
|
15
|
+
prompt: string;
|
|
16
|
+
model?: string;
|
|
17
|
+
cwd?: string;
|
|
18
|
+
sessionId?: string;
|
|
19
|
+
timeout?: number;
|
|
20
|
+
approvalMode?: string;
|
|
21
|
+
stream?: boolean;
|
|
22
|
+
nonInteractive?: boolean;
|
|
23
|
+
maxTurns?: number;
|
|
24
|
+
env?: Record<string, string>;
|
|
25
|
+
skills?: string[];
|
|
26
|
+
/** Hook configuration forwarded to the agent. */
|
|
27
|
+
hooks?: unknown;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Adapter interface for the RunHandle returned by AgentMuxClient.run().
|
|
31
|
+
*
|
|
32
|
+
* The real run handle is simultaneously an AsyncIterable<AgentEvent>,
|
|
33
|
+
* an EventEmitter, and a thenable (Promise<RunResult>). agent-platform
|
|
34
|
+
* only needs the event stream, session metadata, and abort control.
|
|
35
|
+
*/
|
|
36
|
+
export interface AmuxRunHandle {
|
|
37
|
+
/** Async-iterable stream of normalised agent events. */
|
|
38
|
+
events: AsyncIterable<AmuxAgentEvent>;
|
|
39
|
+
/** Channel for responding to interactive requests (approvals, inputs). */
|
|
40
|
+
interactions: AmuxInteractionChannel;
|
|
41
|
+
/** Session ID allocated or resumed by agent-mux. */
|
|
42
|
+
sessionId?: string;
|
|
43
|
+
/** Process exit code (set after the event stream ends). */
|
|
44
|
+
exitCode?: number;
|
|
45
|
+
/** Abort the running agent process. */
|
|
46
|
+
abort(): void;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Canonical agent event emitted by agent-mux adapters.
|
|
50
|
+
*
|
|
51
|
+
* The real type uses `timestamp: number` (Unix epoch ms); this adapter keeps
|
|
52
|
+
* `string` (ISO-8601) for backward compat with babysitter event mappers. The
|
|
53
|
+
* bridge and tests rely on structural compatibility only.
|
|
54
|
+
*/
|
|
55
|
+
export interface AmuxAgentEvent {
|
|
56
|
+
/** Event type discriminator. */
|
|
57
|
+
type: string;
|
|
58
|
+
/** Run identifier assigned by agent-mux. */
|
|
59
|
+
runId: string;
|
|
60
|
+
/** Adapter/agent name that produced the event. */
|
|
61
|
+
agent: string;
|
|
62
|
+
/** ISO-8601 timestamp. */
|
|
63
|
+
timestamp: string;
|
|
64
|
+
/** Arbitrary additional fields (schema depends on `type`). */
|
|
65
|
+
[key: string]: unknown;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Channel for responding to interactive events during a run.
|
|
69
|
+
*
|
|
70
|
+
* Simplified from the real MuxInteractionChannel — agent-platform
|
|
71
|
+
* only uses the basic respond-by-ID pattern.
|
|
72
|
+
*/
|
|
73
|
+
export interface AmuxInteractionChannel {
|
|
74
|
+
/** Respond to an interactive request by its ID. */
|
|
75
|
+
respond(id: string, response: unknown): Promise<void>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Programmatic client for invoking agents via agent-mux.
|
|
79
|
+
*
|
|
80
|
+
* This is the subset of the real client that agent-platform depends on.
|
|
81
|
+
* The concrete agent-mux client has many more methods (adapters, models,
|
|
82
|
+
* sessions, config, auth, profiles, plugins, detectHost).
|
|
83
|
+
*/
|
|
84
|
+
export interface AmuxClient {
|
|
85
|
+
/** Start an agent run and return a handle for streaming events. */
|
|
86
|
+
run(options: AmuxRunOptions): AmuxRunHandle;
|
|
87
|
+
}
|
|
88
|
+
/** Metadata about an agent-mux adapter. Re-uses canonical AdapterRegistry. */
|
|
89
|
+
export interface AmuxAdapterInfo {
|
|
90
|
+
/** Adapter identifier (e.g. "claude", "codex"). */
|
|
91
|
+
agent: string;
|
|
92
|
+
/** Human-readable display name. */
|
|
93
|
+
displayName: string;
|
|
94
|
+
}
|
|
95
|
+
/** Result of checking whether an adapter's CLI is installed. */
|
|
96
|
+
export interface AmuxAdapterInstallationCheck {
|
|
97
|
+
/** Whether the CLI binary is found on PATH. */
|
|
98
|
+
installed: boolean;
|
|
99
|
+
/** Detected version, if available. */
|
|
100
|
+
version?: string;
|
|
101
|
+
}
|
|
102
|
+
/** Result of checking adapter authentication state. */
|
|
103
|
+
export interface AmuxAuthCheck {
|
|
104
|
+
/** Auth state discriminator. */
|
|
105
|
+
state: "authenticated" | "unauthenticated" | "unknown";
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Extended client interface that exposes adapter discovery.
|
|
109
|
+
*
|
|
110
|
+
* Maps to the real client which has `.adapters` and `.auth`
|
|
111
|
+
* sub-managers.
|
|
112
|
+
*/
|
|
113
|
+
export interface AmuxClientWithDiscovery extends AmuxClient {
|
|
114
|
+
adapters: {
|
|
115
|
+
list(): AmuxAdapterInfo[];
|
|
116
|
+
detectInstallation(agent: string): Promise<AmuxAdapterInstallationCheck>;
|
|
117
|
+
};
|
|
118
|
+
auth: {
|
|
119
|
+
check(agent: string): Promise<AmuxAuthCheck>;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=amuxTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amuxTypes.d.ts","sourceRoot":"","sources":["../../../src/harness/amux/amuxTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACtC,0EAA0E;IAC1E,YAAY,EAAE,sBAAsB,CAAC;IACrC,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,IAAI,IAAI,CAAC;CACf;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAAC;CAC7C;AAMD,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,gEAAgE;AAChE,MAAM,WAAW,4BAA4B;IAC3C,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,KAAK,EAAE,eAAe,GAAG,iBAAiB,GAAG,SAAS,CAAC;CACxD;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAwB,SAAQ,UAAU;IACzD,QAAQ,EAAE;QACR,IAAI,IAAI,eAAe,EAAE,CAAC;QAC1B,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;KAC1E,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;KAC9C,CAAC;CACH"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* agent-mux type adapters for agent-platform.
|
|
4
|
+
*
|
|
5
|
+
* Keeps a structural compatibility layer for the subset of agent-mux surface
|
|
6
|
+
* that agent-platform consumes, without requiring TypeScript to resolve the
|
|
7
|
+
* full @a5c-ai/agent-mux package during agent-platform compilation.
|
|
8
|
+
*
|
|
9
|
+
* @module harness/amux/amuxTypes
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agent-mux integration bridge for agent-platform.
|
|
3
|
+
*
|
|
4
|
+
* This module provides an alternative invocation path that delegates to
|
|
5
|
+
* an AmuxClient rather than spawning harness CLIs directly. The existing
|
|
6
|
+
* invoker.ts is preserved as a fallback.
|
|
7
|
+
*
|
|
8
|
+
* @module harness/amux
|
|
9
|
+
*/
|
|
10
|
+
export type { AmuxRunOptions, AmuxRunHandle, AmuxAgentEvent, AmuxInteractionChannel, AmuxClient, AmuxAdapterInfo, AmuxAdapterInstallationCheck, AmuxAuthCheck, AmuxClientWithDiscovery, } from "./amuxTypes";
|
|
11
|
+
export { HARNESS_TO_AMUX_ADAPTER, mapHarnessToAmuxAdapter, hasAmuxAdapter, } from "./amuxHarnessMap";
|
|
12
|
+
export { mapAmuxEvent, isToolEvent, isCostEvent, isInteractiveEvent, isErrorEvent, isSessionLifecycleEvent, type BabysitterEvent, type BabysitterEventKind, } from "./amuxEventMapper";
|
|
13
|
+
export { invokeViaAgentMux, type AmuxBridgeOptions, type AmuxBridgeResult, type AmuxEventCallback, } from "./amuxBridge";
|
|
14
|
+
export { getAmuxClient, isAmuxAvailable, _resetAmuxClientCache, } from "./amuxClientFactory";
|
|
15
|
+
export { AmuxEventEmitter } from "./amuxEventEmitter";
|
|
16
|
+
export { createAmuxStdinReader, waitForInteractionResponse, type AmuxInteractionEvent, } from "./amuxStdinReader";
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/harness/amux/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,eAAe,EACf,4BAA4B,EAC5B,aAAa,EACb,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* agent-mux integration bridge for agent-platform.
|
|
4
|
+
*
|
|
5
|
+
* This module provides an alternative invocation path that delegates to
|
|
6
|
+
* an AmuxClient rather than spawning harness CLIs directly. The existing
|
|
7
|
+
* invoker.ts is preserved as a fallback.
|
|
8
|
+
*
|
|
9
|
+
* @module harness/amux
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.waitForInteractionResponse = exports.createAmuxStdinReader = exports.AmuxEventEmitter = exports._resetAmuxClientCache = exports.isAmuxAvailable = exports.getAmuxClient = exports.invokeViaAgentMux = exports.isSessionLifecycleEvent = exports.isErrorEvent = exports.isInteractiveEvent = exports.isCostEvent = exports.isToolEvent = exports.mapAmuxEvent = exports.hasAmuxAdapter = exports.mapHarnessToAmuxAdapter = exports.HARNESS_TO_AMUX_ADAPTER = void 0;
|
|
13
|
+
var amuxHarnessMap_1 = require("./amuxHarnessMap");
|
|
14
|
+
Object.defineProperty(exports, "HARNESS_TO_AMUX_ADAPTER", { enumerable: true, get: function () { return amuxHarnessMap_1.HARNESS_TO_AMUX_ADAPTER; } });
|
|
15
|
+
Object.defineProperty(exports, "mapHarnessToAmuxAdapter", { enumerable: true, get: function () { return amuxHarnessMap_1.mapHarnessToAmuxAdapter; } });
|
|
16
|
+
Object.defineProperty(exports, "hasAmuxAdapter", { enumerable: true, get: function () { return amuxHarnessMap_1.hasAmuxAdapter; } });
|
|
17
|
+
var amuxEventMapper_1 = require("./amuxEventMapper");
|
|
18
|
+
Object.defineProperty(exports, "mapAmuxEvent", { enumerable: true, get: function () { return amuxEventMapper_1.mapAmuxEvent; } });
|
|
19
|
+
Object.defineProperty(exports, "isToolEvent", { enumerable: true, get: function () { return amuxEventMapper_1.isToolEvent; } });
|
|
20
|
+
Object.defineProperty(exports, "isCostEvent", { enumerable: true, get: function () { return amuxEventMapper_1.isCostEvent; } });
|
|
21
|
+
Object.defineProperty(exports, "isInteractiveEvent", { enumerable: true, get: function () { return amuxEventMapper_1.isInteractiveEvent; } });
|
|
22
|
+
Object.defineProperty(exports, "isErrorEvent", { enumerable: true, get: function () { return amuxEventMapper_1.isErrorEvent; } });
|
|
23
|
+
Object.defineProperty(exports, "isSessionLifecycleEvent", { enumerable: true, get: function () { return amuxEventMapper_1.isSessionLifecycleEvent; } });
|
|
24
|
+
var amuxBridge_1 = require("./amuxBridge");
|
|
25
|
+
Object.defineProperty(exports, "invokeViaAgentMux", { enumerable: true, get: function () { return amuxBridge_1.invokeViaAgentMux; } });
|
|
26
|
+
var amuxClientFactory_1 = require("./amuxClientFactory");
|
|
27
|
+
Object.defineProperty(exports, "getAmuxClient", { enumerable: true, get: function () { return amuxClientFactory_1.getAmuxClient; } });
|
|
28
|
+
Object.defineProperty(exports, "isAmuxAvailable", { enumerable: true, get: function () { return amuxClientFactory_1.isAmuxAvailable; } });
|
|
29
|
+
Object.defineProperty(exports, "_resetAmuxClientCache", { enumerable: true, get: function () { return amuxClientFactory_1._resetAmuxClientCache; } });
|
|
30
|
+
var amuxEventEmitter_1 = require("./amuxEventEmitter");
|
|
31
|
+
Object.defineProperty(exports, "AmuxEventEmitter", { enumerable: true, get: function () { return amuxEventEmitter_1.AmuxEventEmitter; } });
|
|
32
|
+
var amuxStdinReader_1 = require("./amuxStdinReader");
|
|
33
|
+
Object.defineProperty(exports, "createAmuxStdinReader", { enumerable: true, get: function () { return amuxStdinReader_1.createAmuxStdinReader; } });
|
|
34
|
+
Object.defineProperty(exports, "waitForInteractionResponse", { enumerable: true, get: function () { return amuxStdinReader_1.waitForInteractionResponse; } });
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export interface BackgroundEffectEntry {
|
|
2
|
+
effectId: string;
|
|
3
|
+
invocationKey: string;
|
|
4
|
+
kind: string;
|
|
5
|
+
dispatchedAt: string;
|
|
6
|
+
pollIntervalMs: number;
|
|
7
|
+
timeoutMs?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface BackgroundEffectStatus {
|
|
10
|
+
effectId: string;
|
|
11
|
+
state: "running" | "completed" | "error" | "timed_out";
|
|
12
|
+
lastPolledAt: string;
|
|
13
|
+
}
|
|
14
|
+
interface CompletedEntry {
|
|
15
|
+
effectId: string;
|
|
16
|
+
result?: {
|
|
17
|
+
status: string;
|
|
18
|
+
value?: unknown;
|
|
19
|
+
error?: unknown;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Tracks background effects that have been dispatched but not yet resolved.
|
|
24
|
+
* Supports polling, timeout checking, and collecting completed results.
|
|
25
|
+
*/
|
|
26
|
+
export declare class BackgroundEffectTracker {
|
|
27
|
+
private readonly effects;
|
|
28
|
+
/**
|
|
29
|
+
* Start tracking a dispatched background effect.
|
|
30
|
+
*/
|
|
31
|
+
track(entry: BackgroundEffectEntry): void;
|
|
32
|
+
/**
|
|
33
|
+
* Get all currently tracked (non-completed) effects.
|
|
34
|
+
*/
|
|
35
|
+
getAll(): BackgroundEffectEntry[];
|
|
36
|
+
/**
|
|
37
|
+
* Get a tracked effect by effectId, or undefined if not found.
|
|
38
|
+
*/
|
|
39
|
+
get(effectId: string): BackgroundEffectEntry | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Poll a background effect's status. Updates lastPolledAt.
|
|
42
|
+
* Throws if the effectId is not tracked.
|
|
43
|
+
*/
|
|
44
|
+
poll(effectId: string): BackgroundEffectStatus;
|
|
45
|
+
/**
|
|
46
|
+
* Mark a background effect as completed with a result.
|
|
47
|
+
*/
|
|
48
|
+
markCompleted(effectId: string, result: {
|
|
49
|
+
status: string;
|
|
50
|
+
value?: unknown;
|
|
51
|
+
error?: unknown;
|
|
52
|
+
}): void;
|
|
53
|
+
/**
|
|
54
|
+
* Collect and remove all completed effects from the tracker.
|
|
55
|
+
*/
|
|
56
|
+
collectCompleted(): CompletedEntry[];
|
|
57
|
+
/**
|
|
58
|
+
* Check all tracked effects for timeout. Effects that have exceeded their
|
|
59
|
+
* timeoutMs are marked as completed with an error.
|
|
60
|
+
*/
|
|
61
|
+
checkTimeouts(): void;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=backgroundTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backgroundTracker.d.ts","sourceRoot":"","sources":["../../src/harness/backgroundTracker.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;IACvD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH;AAaD;;;GAGG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAE5D;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAOzC;;OAEG;IACH,MAAM,IAAI,qBAAqB,EAAE;IAUjC;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAMxD;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB;IAgB9C;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IASnG;;OAEG;IACH,gBAAgB,IAAI,cAAc,EAAE;IAgBpC;;;OAGG;IACH,aAAa,IAAI,IAAI;CAmBtB"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BackgroundEffectTracker = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Tracks background effects that have been dispatched but not yet resolved.
|
|
6
|
+
* Supports polling, timeout checking, and collecting completed results.
|
|
7
|
+
*/
|
|
8
|
+
class BackgroundEffectTracker {
|
|
9
|
+
effects = new Map();
|
|
10
|
+
/**
|
|
11
|
+
* Start tracking a dispatched background effect.
|
|
12
|
+
*/
|
|
13
|
+
track(entry) {
|
|
14
|
+
this.effects.set(entry.effectId, {
|
|
15
|
+
entry,
|
|
16
|
+
completed: false,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get all currently tracked (non-completed) effects.
|
|
21
|
+
*/
|
|
22
|
+
getAll() {
|
|
23
|
+
const result = [];
|
|
24
|
+
for (const tracked of this.effects.values()) {
|
|
25
|
+
if (!tracked.completed) {
|
|
26
|
+
result.push(tracked.entry);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get a tracked effect by effectId, or undefined if not found.
|
|
33
|
+
*/
|
|
34
|
+
get(effectId) {
|
|
35
|
+
const tracked = this.effects.get(effectId);
|
|
36
|
+
if (!tracked || tracked.completed)
|
|
37
|
+
return undefined;
|
|
38
|
+
return tracked.entry;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Poll a background effect's status. Updates lastPolledAt.
|
|
42
|
+
* Throws if the effectId is not tracked.
|
|
43
|
+
*/
|
|
44
|
+
poll(effectId) {
|
|
45
|
+
const tracked = this.effects.get(effectId);
|
|
46
|
+
if (!tracked) {
|
|
47
|
+
throw new Error(`Background effect not found: ${effectId}`);
|
|
48
|
+
}
|
|
49
|
+
const now = new Date().toISOString();
|
|
50
|
+
tracked.lastPolledAt = now;
|
|
51
|
+
return {
|
|
52
|
+
effectId,
|
|
53
|
+
state: tracked.completed ? "completed" : "running",
|
|
54
|
+
lastPolledAt: now,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Mark a background effect as completed with a result.
|
|
59
|
+
*/
|
|
60
|
+
markCompleted(effectId, result) {
|
|
61
|
+
const tracked = this.effects.get(effectId);
|
|
62
|
+
if (!tracked) {
|
|
63
|
+
throw new Error(`Background effect not found: ${effectId}`);
|
|
64
|
+
}
|
|
65
|
+
tracked.completed = true;
|
|
66
|
+
tracked.result = result;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Collect and remove all completed effects from the tracker.
|
|
70
|
+
*/
|
|
71
|
+
collectCompleted() {
|
|
72
|
+
const completed = [];
|
|
73
|
+
for (const [id, tracked] of this.effects.entries()) {
|
|
74
|
+
if (tracked.completed) {
|
|
75
|
+
completed.push({
|
|
76
|
+
effectId: id,
|
|
77
|
+
result: tracked.result,
|
|
78
|
+
});
|
|
79
|
+
this.effects.delete(id);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return completed;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Check all tracked effects for timeout. Effects that have exceeded their
|
|
86
|
+
* timeoutMs are marked as completed with an error.
|
|
87
|
+
*/
|
|
88
|
+
checkTimeouts() {
|
|
89
|
+
const now = Date.now();
|
|
90
|
+
for (const tracked of this.effects.values()) {
|
|
91
|
+
if (tracked.completed)
|
|
92
|
+
continue;
|
|
93
|
+
const timeoutMs = tracked.entry.timeoutMs;
|
|
94
|
+
if (timeoutMs === undefined)
|
|
95
|
+
continue;
|
|
96
|
+
const dispatched = new Date(tracked.entry.dispatchedAt).getTime();
|
|
97
|
+
if (now - dispatched >= timeoutMs) {
|
|
98
|
+
tracked.completed = true;
|
|
99
|
+
tracked.result = {
|
|
100
|
+
status: "error",
|
|
101
|
+
error: `Background effect '${tracked.entry.effectId}' timed out after ${timeoutMs}ms`,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.BackgroundEffectTracker = BackgroundEffectTracker;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtInHarness.d.ts","sourceRoot":"","sources":["../../src/harness/builtInHarness.ts"],"names":[],"mappings":"AAIA,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMvE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGjE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeBuiltInHarnessName = normalizeBuiltInHarnessName;
|
|
4
|
+
exports.isBuiltInHarnessName = isBuiltInHarnessName;
|
|
5
|
+
const BUILT_IN_HARNESS_ALIASES = {
|
|
6
|
+
internal: "agent-core",
|
|
7
|
+
};
|
|
8
|
+
function normalizeBuiltInHarnessName(harnessName) {
|
|
9
|
+
const normalized = harnessName.trim();
|
|
10
|
+
if (!normalized) {
|
|
11
|
+
return normalized;
|
|
12
|
+
}
|
|
13
|
+
return BUILT_IN_HARNESS_ALIASES[normalized] ?? normalized;
|
|
14
|
+
}
|
|
15
|
+
function isBuiltInHarnessName(harnessName) {
|
|
16
|
+
const normalized = normalizeBuiltInHarnessName(harnessName);
|
|
17
|
+
return normalized === "agent-core" || normalized === "oh-my-pi";
|
|
18
|
+
}
|