@the-open-engine/zeroshot 6.30.2 → 6.31.1
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/cli/index.js +1 -2
- package/lib/agent-cli-provider/adapters/acp.d.ts.map +1 -1
- package/lib/agent-cli-provider/adapters/acp.js +7 -11
- package/lib/agent-cli-provider/adapters/acp.js.map +1 -1
- package/lib/agent-cli-provider/adapters/omp-policy.d.ts +4 -0
- package/lib/agent-cli-provider/adapters/omp-policy.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/omp-policy.js +47 -0
- package/lib/agent-cli-provider/adapters/omp-policy.js.map +1 -0
- package/lib/agent-cli-provider/adapters/omp.d.ts.map +1 -1
- package/lib/agent-cli-provider/adapters/omp.js +8 -158
- package/lib/agent-cli-provider/adapters/omp.js.map +1 -1
- package/lib/agent-cli-provider/adapters/pi.d.ts.map +1 -1
- package/lib/agent-cli-provider/adapters/pi.js +12 -124
- package/lib/agent-cli-provider/adapters/pi.js.map +1 -1
- package/lib/agent-cli-provider/assistant-stream.d.ts +27 -0
- package/lib/agent-cli-provider/assistant-stream.d.ts.map +1 -0
- package/lib/agent-cli-provider/assistant-stream.js +119 -0
- package/lib/agent-cli-provider/assistant-stream.js.map +1 -0
- package/lib/agent-cli-provider/contract-actions.d.ts.map +1 -1
- package/lib/agent-cli-provider/contract-actions.js +42 -1
- package/lib/agent-cli-provider/contract-actions.js.map +1 -1
- package/lib/agent-cli-provider/contract-invoke.d.ts.map +1 -1
- package/lib/agent-cli-provider/contract-invoke.js +68 -38
- package/lib/agent-cli-provider/contract-invoke.js.map +1 -1
- package/lib/agent-cli-provider/contract-support.d.ts +5 -6
- package/lib/agent-cli-provider/contract-support.d.ts.map +1 -1
- package/lib/agent-cli-provider/contract-support.js +99 -6
- package/lib/agent-cli-provider/contract-support.js.map +1 -1
- package/lib/agent-cli-provider/index.d.ts +8 -6
- package/lib/agent-cli-provider/index.d.ts.map +1 -1
- package/lib/agent-cli-provider/index.js +34 -10
- package/lib/agent-cli-provider/index.js.map +1 -1
- package/lib/agent-cli-provider/omp/auth-policy.d.ts +31 -0
- package/lib/agent-cli-provider/omp/auth-policy.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/auth-policy.js +98 -0
- package/lib/agent-cli-provider/omp/auth-policy.js.map +1 -0
- package/lib/agent-cli-provider/{omp-release.d.ts → omp/release.d.ts} +1 -1
- package/lib/agent-cli-provider/omp/release.d.ts.map +1 -0
- package/lib/agent-cli-provider/{omp-release.js → omp/release.js} +1 -1
- package/lib/agent-cli-provider/omp/release.js.map +1 -0
- package/lib/agent-cli-provider/{omp-rpc-bounds.d.ts → omp/rpc-bounds.d.ts} +1 -1
- package/lib/agent-cli-provider/omp/rpc-bounds.d.ts.map +1 -0
- package/lib/agent-cli-provider/{omp-rpc-bounds.js → omp/rpc-bounds.js} +1 -1
- package/lib/agent-cli-provider/omp/rpc-bounds.js.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-driver-channel.d.ts +19 -0
- package/lib/agent-cli-provider/omp/rpc-driver-channel.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-driver-channel.js +109 -0
- package/lib/agent-cli-provider/omp/rpc-driver-channel.js.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-driver-dispatch.d.ts +27 -0
- package/lib/agent-cli-provider/omp/rpc-driver-dispatch.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-driver-dispatch.js +135 -0
- package/lib/agent-cli-provider/omp/rpc-driver-dispatch.js.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-driver-runner.d.ts +3 -0
- package/lib/agent-cli-provider/omp/rpc-driver-runner.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-driver-runner.js +205 -0
- package/lib/agent-cli-provider/omp/rpc-driver-runner.js.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-driver-state.d.ts +80 -0
- package/lib/agent-cli-provider/omp/rpc-driver-state.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-driver-state.js +86 -0
- package/lib/agent-cli-provider/omp/rpc-driver-state.js.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-driver.d.ts +3 -0
- package/lib/agent-cli-provider/omp/rpc-driver.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-driver.js +6 -0
- package/lib/agent-cli-provider/omp/rpc-driver.js.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-event-lines.d.ts +8 -0
- package/lib/agent-cli-provider/omp/rpc-event-lines.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-event-lines.js +59 -0
- package/lib/agent-cli-provider/omp/rpc-event-lines.js.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-events.d.ts +16 -0
- package/lib/agent-cli-provider/omp/rpc-events.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-events.js +115 -0
- package/lib/agent-cli-provider/omp/rpc-events.js.map +1 -0
- package/lib/agent-cli-provider/{omp-rpc-protocol.d.ts → omp/rpc-protocol-contract.d.ts} +1 -13
- package/lib/agent-cli-provider/omp/rpc-protocol-contract.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-protocol-contract.js +54 -0
- package/lib/agent-cli-provider/omp/rpc-protocol-contract.js.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-protocol.d.ts +15 -0
- package/lib/agent-cli-provider/omp/rpc-protocol.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/rpc-protocol.js +208 -0
- package/lib/agent-cli-provider/omp/rpc-protocol.js.map +1 -0
- package/lib/agent-cli-provider/{omp-rpc-session.d.ts → omp/rpc-session.d.ts} +1 -1
- package/lib/agent-cli-provider/omp/rpc-session.d.ts.map +1 -0
- package/lib/agent-cli-provider/{omp-rpc-session.js → omp/rpc-session.js} +1 -1
- package/lib/agent-cli-provider/omp/rpc-session.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-contract.d.ts +34 -0
- package/lib/agent-cli-provider/omp/sdk-contract.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-contract.js +81 -0
- package/lib/agent-cli-provider/omp/sdk-contract.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-credentials.d.ts +6 -0
- package/lib/agent-cli-provider/omp/sdk-process-credentials.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-credentials.js +44 -0
- package/lib/agent-cli-provider/omp/sdk-process-credentials.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-error.d.ts +5 -0
- package/lib/agent-cli-provider/omp/sdk-process-error.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-error.js +13 -0
- package/lib/agent-cli-provider/omp/sdk-process-error.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-io.d.ts +18 -0
- package/lib/agent-cli-provider/omp/sdk-process-io.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-io.js +80 -0
- package/lib/agent-cli-provider/omp/sdk-process-io.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-private-runtime.d.ts +51 -0
- package/lib/agent-cli-provider/omp/sdk-process-private-runtime.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-private-runtime.js +154 -0
- package/lib/agent-cli-provider/omp/sdk-process-private-runtime.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-result.d.ts +26 -0
- package/lib/agent-cli-provider/omp/sdk-process-result.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-result.js +117 -0
- package/lib/agent-cli-provider/omp/sdk-process-result.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-runner.d.ts +7 -0
- package/lib/agent-cli-provider/omp/sdk-process-runner.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-process-runner.js +204 -0
- package/lib/agent-cli-provider/omp/sdk-process-runner.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-collector.d.ts +3 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-collector.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-collector.js +145 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-collector.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-frame.d.ts +4 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-frame.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-frame.js +183 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-frame.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-request.d.ts +8 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-request.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-request.js +170 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-request.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-result.d.ts +5 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-result.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-result.js +74 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-result.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-types.d.ts +94 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-types.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-types.js +54 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-types.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-value.d.ts +18 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-value.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-value.js +229 -0
- package/lib/agent-cli-provider/omp/sdk-protocol-value.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol.d.ts +7 -0
- package/lib/agent-cli-provider/omp/sdk-protocol.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-protocol.js +28 -0
- package/lib/agent-cli-provider/omp/sdk-protocol.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-runtime.d.ts +29 -0
- package/lib/agent-cli-provider/omp/sdk-runtime.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-runtime.js +110 -0
- package/lib/agent-cli-provider/omp/sdk-runtime.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-auth.d.ts +3 -0
- package/lib/agent-cli-provider/omp/sdk-settings-auth.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-auth.js +86 -0
- package/lib/agent-cli-provider/omp/sdk-settings-auth.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-constants.d.ts +26 -0
- package/lib/agent-cli-provider/omp/sdk-settings-constants.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-constants.js +148 -0
- package/lib/agent-cli-provider/omp/sdk-settings-constants.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-model-fields.d.ts +5 -0
- package/lib/agent-cli-provider/omp/sdk-settings-model-fields.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-model-fields.js +198 -0
- package/lib/agent-cli-provider/omp/sdk-settings-model-fields.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-model.d.ts +4 -0
- package/lib/agent-cli-provider/omp/sdk-settings-model.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-model.js +163 -0
- package/lib/agent-cli-provider/omp/sdk-settings-model.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-normalize.d.ts +18 -0
- package/lib/agent-cli-provider/omp/sdk-settings-normalize.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-normalize.js +148 -0
- package/lib/agent-cli-provider/omp/sdk-settings-normalize.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-selector.d.ts +3 -0
- package/lib/agent-cli-provider/omp/sdk-settings-selector.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-selector.js +22 -0
- package/lib/agent-cli-provider/omp/sdk-settings-selector.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-types.d.ts +68 -0
- package/lib/agent-cli-provider/omp/sdk-settings-types.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-types.js +19 -0
- package/lib/agent-cli-provider/omp/sdk-settings-types.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-values.d.ts +14 -0
- package/lib/agent-cli-provider/omp/sdk-settings-values.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings-values.js +112 -0
- package/lib/agent-cli-provider/omp/sdk-settings-values.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings.d.ts +5 -0
- package/lib/agent-cli-provider/omp/sdk-settings.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-settings.js +16 -0
- package/lib/agent-cli-provider/omp/sdk-settings.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-context.d.ts +11 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-context.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-context.js +171 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-context.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-credentials.d.ts +5 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-credentials.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-credentials.js +94 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-credentials.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-execute.d.ts +5 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-execute.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-execute.js +175 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-execute.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-output.d.ts +5 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-output.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-output.js +216 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-output.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-runtime.d.ts +11 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-runtime.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-runtime.js +265 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-runtime.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-types.d.ts +148 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-types.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-types.js +84 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar-types.js.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar.d.ts +4 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar.d.ts.map +1 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar.js +9 -0
- package/lib/agent-cli-provider/omp/sdk-sidecar.js.map +1 -0
- package/lib/agent-cli-provider/process-runner.d.ts +1 -0
- package/lib/agent-cli-provider/process-runner.d.ts.map +1 -1
- package/lib/agent-cli-provider/process-runner.js +19 -6
- package/lib/agent-cli-provider/process-runner.js.map +1 -1
- package/lib/agent-cli-provider/provider-registry.d.ts +18 -4
- package/lib/agent-cli-provider/provider-registry.d.ts.map +1 -1
- package/lib/agent-cli-provider/provider-registry.js +21 -7
- package/lib/agent-cli-provider/provider-registry.js.map +1 -1
- package/lib/agent-cli-provider/single-agent-runtime.d.ts +10 -1
- package/lib/agent-cli-provider/single-agent-runtime.d.ts.map +1 -1
- package/lib/agent-cli-provider/single-agent-runtime.js +378 -11
- package/lib/agent-cli-provider/single-agent-runtime.js.map +1 -1
- package/lib/agent-cli-provider/types.d.ts +110 -2
- package/lib/agent-cli-provider/types.d.ts.map +1 -1
- package/lib/agent-cli-provider/types.js.map +1 -1
- package/npm-shrinkwrap.json +18116 -0
- package/package.json +16 -3
- package/scripts/omp/bun-ffi.d.ts +28 -0
- package/scripts/omp/host-supervisor-cleanup.ts +100 -0
- package/scripts/omp/host-supervisor-launch.ts +38 -0
- package/scripts/omp/host-supervisor-native.ts +181 -0
- package/scripts/omp/host-supervisor-tracker.ts +258 -0
- package/scripts/omp/host-supervisor.ts +298 -0
- package/scripts/omp/promise-gate.ts +13 -0
- package/scripts/omp/runtime-identities.js +283 -0
- package/scripts/omp/runtime-lock.js +232 -0
- package/scripts/omp/runtime-release.js +105 -0
- package/scripts/omp/runtime.js +33 -0
- package/scripts/omp/sidecar.ts +124 -0
- package/scripts/opcore-introduced-check.js +5 -0
- package/scripts/release-preflight.js +19 -0
- package/src/agent-cli-provider/adapters/acp.ts +18 -17
- package/src/agent-cli-provider/adapters/omp-policy.ts +45 -0
- package/src/agent-cli-provider/adapters/omp.ts +9 -155
- package/src/agent-cli-provider/adapters/pi.ts +15 -145
- package/src/agent-cli-provider/assistant-stream.ts +155 -0
- package/src/agent-cli-provider/contract-actions.ts +14 -2
- package/src/agent-cli-provider/contract-invoke.ts +77 -40
- package/src/agent-cli-provider/contract-support.ts +83 -12
- package/src/agent-cli-provider/index.ts +60 -5
- package/src/agent-cli-provider/omp/auth-policy.ts +126 -0
- package/src/agent-cli-provider/omp/rpc-driver-channel.ts +144 -0
- package/src/agent-cli-provider/omp/rpc-driver-dispatch.ts +177 -0
- package/src/agent-cli-provider/omp/rpc-driver-runner.ts +199 -0
- package/src/agent-cli-provider/omp/rpc-driver-state.ts +165 -0
- package/src/agent-cli-provider/omp/rpc-driver.ts +8 -0
- package/src/agent-cli-provider/omp/rpc-event-lines.ts +58 -0
- package/src/agent-cli-provider/omp/rpc-events.ts +154 -0
- package/src/agent-cli-provider/omp/rpc-protocol-contract.ts +77 -0
- package/src/agent-cli-provider/{omp-rpc-protocol.ts → omp/rpc-protocol.ts} +9 -111
- package/src/agent-cli-provider/omp/sdk-contract.ts +123 -0
- package/src/agent-cli-provider/omp/sdk-process-credentials.ts +55 -0
- package/src/agent-cli-provider/omp/sdk-process-error.ts +9 -0
- package/src/agent-cli-provider/omp/sdk-process-io.ts +92 -0
- package/src/agent-cli-provider/omp/sdk-process-private-runtime.ts +249 -0
- package/src/agent-cli-provider/omp/sdk-process-result.ts +181 -0
- package/src/agent-cli-provider/omp/sdk-process-runner.ts +281 -0
- package/src/agent-cli-provider/omp/sdk-protocol-collector.ts +140 -0
- package/src/agent-cli-provider/omp/sdk-protocol-frame.ts +260 -0
- package/src/agent-cli-provider/omp/sdk-protocol-request.ts +181 -0
- package/src/agent-cli-provider/omp/sdk-protocol-result.ts +80 -0
- package/src/agent-cli-provider/omp/sdk-protocol-types.ts +156 -0
- package/src/agent-cli-provider/omp/sdk-protocol-value.ts +234 -0
- package/src/agent-cli-provider/omp/sdk-protocol.ts +46 -0
- package/src/agent-cli-provider/omp/sdk-runtime.ts +159 -0
- package/src/agent-cli-provider/omp/sdk-settings-auth.ts +78 -0
- package/src/agent-cli-provider/omp/sdk-settings-constants.ts +147 -0
- package/src/agent-cli-provider/omp/sdk-settings-model-fields.ts +233 -0
- package/src/agent-cli-provider/omp/sdk-settings-model.ts +238 -0
- package/src/agent-cli-provider/omp/sdk-settings-normalize.ts +242 -0
- package/src/agent-cli-provider/omp/sdk-settings-selector.ts +28 -0
- package/src/agent-cli-provider/omp/sdk-settings-types.ts +88 -0
- package/src/agent-cli-provider/omp/sdk-settings-values.ts +118 -0
- package/src/agent-cli-provider/omp/sdk-settings.ts +33 -0
- package/src/agent-cli-provider/omp/sdk-sidecar-context.ts +199 -0
- package/src/agent-cli-provider/omp/sdk-sidecar-credentials.ts +100 -0
- package/src/agent-cli-provider/omp/sdk-sidecar-execute.ts +201 -0
- package/src/agent-cli-provider/omp/sdk-sidecar-output.ts +235 -0
- package/src/agent-cli-provider/omp/sdk-sidecar-runtime.ts +244 -0
- package/src/agent-cli-provider/omp/sdk-sidecar-types.ts +173 -0
- package/src/agent-cli-provider/omp/sdk-sidecar.ts +3 -0
- package/src/agent-cli-provider/process-runner.ts +22 -8
- package/src/agent-cli-provider/provider-registry.ts +29 -10
- package/src/agent-cli-provider/single-agent-runtime.ts +444 -18
- package/src/agent-cli-provider/types.ts +131 -3
- package/src/command-cleanup-ownership.js +15 -0
- package/task-lib/omp-sdk-runtime.js +8 -0
- package/task-lib/runner.js +121 -40
- package/task-lib/sdk-watcher.js +154 -0
- package/cli/lib/first-run.js +0 -223
- package/lib/agent-cli-provider/omp-release.d.ts.map +0 -1
- package/lib/agent-cli-provider/omp-release.js.map +0 -1
- package/lib/agent-cli-provider/omp-rpc-bounds.d.ts.map +0 -1
- package/lib/agent-cli-provider/omp-rpc-bounds.js.map +0 -1
- package/lib/agent-cli-provider/omp-rpc-driver.d.ts +0 -40
- package/lib/agent-cli-provider/omp-rpc-driver.d.ts.map +0 -1
- package/lib/agent-cli-provider/omp-rpc-driver.js +0 -519
- package/lib/agent-cli-provider/omp-rpc-driver.js.map +0 -1
- package/lib/agent-cli-provider/omp-rpc-events.d.ts +0 -28
- package/lib/agent-cli-provider/omp-rpc-events.d.ts.map +0 -1
- package/lib/agent-cli-provider/omp-rpc-events.js +0 -264
- package/lib/agent-cli-provider/omp-rpc-events.js.map +0 -1
- package/lib/agent-cli-provider/omp-rpc-protocol.d.ts.map +0 -1
- package/lib/agent-cli-provider/omp-rpc-protocol.js +0 -272
- package/lib/agent-cli-provider/omp-rpc-protocol.js.map +0 -1
- package/lib/agent-cli-provider/omp-rpc-session.d.ts.map +0 -1
- package/lib/agent-cli-provider/omp-rpc-session.js.map +0 -1
- package/src/agent-cli-provider/omp-rpc-driver.ts +0 -639
- package/src/agent-cli-provider/omp-rpc-events.ts +0 -318
- /package/src/agent-cli-provider/{omp-release.ts → omp/release.ts} +0 -0
- /package/src/agent-cli-provider/{omp-rpc-bounds.ts → omp/rpc-bounds.ts} +0 -0
- /package/src/agent-cli-provider/{omp-rpc-session.ts → omp/rpc-session.ts} +0 -0
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.OmpRpcFrameDecoder = void 0;
|
|
18
|
+
const json_1 = require("../json");
|
|
19
|
+
const rpc_protocol_contract_1 = require("./rpc-protocol-contract");
|
|
20
|
+
__exportStar(require("./rpc-protocol-contract"), exports);
|
|
21
|
+
const STRICT_BASE64_PATTERN = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
|
|
22
|
+
function decodeStrictBase64(data) {
|
|
23
|
+
if (typeof data !== 'string' || data.length === 0 || !STRICT_BASE64_PATTERN.test(data)) {
|
|
24
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('invalid-chunk-data', "rpc_chunk 'data' must be a non-empty, canonically-padded base64 string.");
|
|
25
|
+
}
|
|
26
|
+
const bytes = Buffer.from(data, 'base64');
|
|
27
|
+
if (bytes.toString('base64') !== data) {
|
|
28
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('invalid-chunk-data', "rpc_chunk 'data' failed a base64 round-trip check (non-canonical encoding).");
|
|
29
|
+
}
|
|
30
|
+
return bytes;
|
|
31
|
+
}
|
|
32
|
+
function decodeStrictUtf8(bytes) {
|
|
33
|
+
try {
|
|
34
|
+
return new TextDecoder('utf-8', { fatal: true }).decode(bytes);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('invalid-utf8-in-reassembled-frame', 'Reassembled rpc_chunk sequence is not valid UTF-8.');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function toPhysicalFrame(record) {
|
|
41
|
+
const type = (0, json_1.getString)(record, 'type');
|
|
42
|
+
if (type === null) {
|
|
43
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('malformed-physical-frame', "Physical frame is missing a string 'type' field.");
|
|
44
|
+
}
|
|
45
|
+
return { ...record, type };
|
|
46
|
+
}
|
|
47
|
+
function toReassembledFrame(record, chunkId) {
|
|
48
|
+
const type = (0, json_1.getString)(record, 'type');
|
|
49
|
+
if (type === null) {
|
|
50
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('malformed-json-in-reassembled-frame', `rpc_chunk sequence "${chunkId}" reassembled into an object missing a string 'type' field.`);
|
|
51
|
+
}
|
|
52
|
+
return { ...record, type };
|
|
53
|
+
}
|
|
54
|
+
function readChunkMetadata(parsed, limits) {
|
|
55
|
+
const chunkId = (0, json_1.getString)(parsed, 'chunkId');
|
|
56
|
+
if (chunkId === null || chunkId.length === 0 || chunkId.length > 128) {
|
|
57
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('invalid-chunk-metadata', "rpc_chunk 'chunkId' must be a non-empty string of at most 128 characters.");
|
|
58
|
+
}
|
|
59
|
+
const index = (0, json_1.getNumber)(parsed, 'index');
|
|
60
|
+
const count = (0, json_1.getNumber)(parsed, 'count');
|
|
61
|
+
const byteLength = (0, json_1.getNumber)(parsed, 'byteLength');
|
|
62
|
+
if (index === null ||
|
|
63
|
+
!Number.isSafeInteger(index) ||
|
|
64
|
+
index < 0 ||
|
|
65
|
+
count === null ||
|
|
66
|
+
!Number.isSafeInteger(count) ||
|
|
67
|
+
count < 2 ||
|
|
68
|
+
count > limits.maxChunksPerFrame ||
|
|
69
|
+
index >= count ||
|
|
70
|
+
byteLength === null ||
|
|
71
|
+
!Number.isSafeInteger(byteLength) ||
|
|
72
|
+
byteLength <= 0 ||
|
|
73
|
+
byteLength > limits.maxReassembledFrameBytes) {
|
|
74
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('invalid-chunk-metadata', "rpc_chunk has invalid 'index'/'count'/'byteLength' metadata.");
|
|
75
|
+
}
|
|
76
|
+
return { chunkId, index, count, byteLength };
|
|
77
|
+
}
|
|
78
|
+
class OmpRpcFrameDecoder {
|
|
79
|
+
limits;
|
|
80
|
+
buffer;
|
|
81
|
+
finished;
|
|
82
|
+
pendingReassemblies;
|
|
83
|
+
inflightReassemblyBytes;
|
|
84
|
+
constructor(limits) {
|
|
85
|
+
this.limits = limits;
|
|
86
|
+
this.buffer = Buffer.alloc(0);
|
|
87
|
+
this.finished = false;
|
|
88
|
+
this.pendingReassemblies = new Map();
|
|
89
|
+
this.inflightReassemblyBytes = 0;
|
|
90
|
+
}
|
|
91
|
+
// `negotiatedV2` defaults to true so callers that don't care about pre-negotiation gating
|
|
92
|
+
// (e.g. the fixture-replay tests below) see unchanged behavior; the RPC driver passes its
|
|
93
|
+
// live negotiation state so a bare `rpc_chunk` physical frame is rejected before negotiation
|
|
94
|
+
// succeeds, even though the decoder would otherwise buffer it silently pending reassembly.
|
|
95
|
+
push(chunk, negotiatedV2 = true) {
|
|
96
|
+
if (this.finished) {
|
|
97
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('decoder-finished', 'push() called after finish().');
|
|
98
|
+
}
|
|
99
|
+
this.buffer = Buffer.concat([this.buffer, Buffer.from(chunk)]);
|
|
100
|
+
const frames = [];
|
|
101
|
+
for (;;) {
|
|
102
|
+
const newlineIndex = this.buffer.indexOf(0x0a);
|
|
103
|
+
if (newlineIndex === -1) {
|
|
104
|
+
if (this.buffer.byteLength > this.limits.maxPhysicalFrameBytes) {
|
|
105
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('physical-frame-too-large', `Buffered physical frame exceeds the ${this.limits.maxPhysicalFrameBytes}-byte limit without a terminating newline.`);
|
|
106
|
+
}
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
const lineBytes = this.buffer.subarray(0, newlineIndex);
|
|
110
|
+
this.buffer = this.buffer.subarray(newlineIndex + 1);
|
|
111
|
+
if (lineBytes.byteLength + 1 > this.limits.maxPhysicalFrameBytes) {
|
|
112
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('physical-frame-too-large', `Physical frame of ${lineBytes.byteLength + 1} bytes exceeds the ${this.limits.maxPhysicalFrameBytes}-byte limit.`);
|
|
113
|
+
}
|
|
114
|
+
const frame = this.consumeLine(lineBytes, negotiatedV2);
|
|
115
|
+
if (frame !== null)
|
|
116
|
+
frames.push(frame);
|
|
117
|
+
}
|
|
118
|
+
return frames;
|
|
119
|
+
}
|
|
120
|
+
finish() {
|
|
121
|
+
this.finished = true;
|
|
122
|
+
if (this.buffer.byteLength > 0) {
|
|
123
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('incomplete-physical-frame', 'Stream ended with an unterminated physical frame (no trailing newline).');
|
|
124
|
+
}
|
|
125
|
+
if (this.pendingReassemblies.size > 0) {
|
|
126
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('incomplete-chunk-sequence', 'Stream ended with an incomplete rpc_chunk sequence still pending.');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
consumeLine(lineBytes, negotiatedV2) {
|
|
130
|
+
let value;
|
|
131
|
+
try {
|
|
132
|
+
value = JSON.parse(lineBytes.toString('utf8'));
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('malformed-physical-frame', 'Physical frame is not valid JSON.');
|
|
136
|
+
}
|
|
137
|
+
if (!(0, json_1.isRecord)(value)) {
|
|
138
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('malformed-physical-frame', 'Physical frame must be a JSON object.');
|
|
139
|
+
}
|
|
140
|
+
const type = (0, json_1.getString)(value, 'type');
|
|
141
|
+
(0, rpc_protocol_contract_1.assertNoPreNegotiationRpcChunk)(type ?? '', negotiatedV2);
|
|
142
|
+
if (type !== 'rpc_chunk') {
|
|
143
|
+
if (this.pendingReassemblies.size > 0) {
|
|
144
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('interrupted-chunk-sequence', 'A non-chunk frame arrived while an rpc_chunk sequence was pending.');
|
|
145
|
+
}
|
|
146
|
+
return toPhysicalFrame(value);
|
|
147
|
+
}
|
|
148
|
+
return this.consumeChunk(value);
|
|
149
|
+
}
|
|
150
|
+
consumeChunk(parsed) {
|
|
151
|
+
const metadata = readChunkMetadata(parsed, this.limits);
|
|
152
|
+
const bytes = decodeStrictBase64(parsed.data);
|
|
153
|
+
let pending = this.pendingReassemblies.get(metadata.chunkId);
|
|
154
|
+
if (pending === undefined) {
|
|
155
|
+
if (metadata.index !== 0) {
|
|
156
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('chunk-sequence-must-start-at-zero', `rpc_chunk sequence "${metadata.chunkId}" must begin at index 0.`);
|
|
157
|
+
}
|
|
158
|
+
if (this.pendingReassemblies.size >= this.limits.maxConcurrentReassemblies) {
|
|
159
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('interleaved-chunk-sequence', `Starting rpc_chunk sequence "${metadata.chunkId}" would exceed the concurrent-reassembly limit of ${this.limits.maxConcurrentReassemblies}.`);
|
|
160
|
+
}
|
|
161
|
+
pending = {
|
|
162
|
+
chunkId: metadata.chunkId,
|
|
163
|
+
count: metadata.count,
|
|
164
|
+
byteLength: metadata.byteLength,
|
|
165
|
+
nextIndex: 0,
|
|
166
|
+
chunks: [],
|
|
167
|
+
receivedBytes: 0,
|
|
168
|
+
};
|
|
169
|
+
this.pendingReassemblies.set(metadata.chunkId, pending);
|
|
170
|
+
}
|
|
171
|
+
else if (pending.count !== metadata.count ||
|
|
172
|
+
pending.byteLength !== metadata.byteLength ||
|
|
173
|
+
pending.nextIndex !== metadata.index) {
|
|
174
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('chunk-sequence-mismatch', `rpc_chunk sequence "${metadata.chunkId}" metadata or ordering does not match the tracked sequence.`);
|
|
175
|
+
}
|
|
176
|
+
pending.chunks.push(bytes);
|
|
177
|
+
pending.receivedBytes += bytes.byteLength;
|
|
178
|
+
this.inflightReassemblyBytes += bytes.byteLength;
|
|
179
|
+
if (this.inflightReassemblyBytes > this.limits.maxInflightReassemblyBytes) {
|
|
180
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('inflight-reassembly-bytes-exceeded', `Total in-flight rpc_chunk reassembly bytes exceed the ${this.limits.maxInflightReassemblyBytes}-byte limit.`);
|
|
181
|
+
}
|
|
182
|
+
if (pending.receivedBytes > pending.byteLength) {
|
|
183
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('chunk-sequence-exceeds-declared-length', `rpc_chunk sequence "${metadata.chunkId}" received more bytes than its declared byteLength.`);
|
|
184
|
+
}
|
|
185
|
+
pending.nextIndex += 1;
|
|
186
|
+
if (pending.nextIndex < pending.count)
|
|
187
|
+
return null;
|
|
188
|
+
this.pendingReassemblies.delete(metadata.chunkId);
|
|
189
|
+
this.inflightReassemblyBytes -= pending.receivedBytes;
|
|
190
|
+
if (pending.receivedBytes !== pending.byteLength) {
|
|
191
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('chunk-sequence-length-mismatch', `rpc_chunk sequence "${metadata.chunkId}" completed with ${pending.receivedBytes} bytes but declared ${pending.byteLength}.`);
|
|
192
|
+
}
|
|
193
|
+
const decodedText = decodeStrictUtf8(Buffer.concat(pending.chunks));
|
|
194
|
+
let reassembled;
|
|
195
|
+
try {
|
|
196
|
+
reassembled = JSON.parse(decodedText);
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('malformed-json-in-reassembled-frame', `rpc_chunk sequence "${metadata.chunkId}" reassembled into invalid JSON.`);
|
|
200
|
+
}
|
|
201
|
+
if (!(0, json_1.isRecord)(reassembled)) {
|
|
202
|
+
throw new rpc_protocol_contract_1.OmpRpcProtocolError('non-object-reassembled-frame', `rpc_chunk sequence "${metadata.chunkId}" reassembled into a non-object JSON value.`);
|
|
203
|
+
}
|
|
204
|
+
return toReassembledFrame(reassembled, metadata.chunkId);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
exports.OmpRpcFrameDecoder = OmpRpcFrameDecoder;
|
|
208
|
+
//# sourceMappingURL=rpc-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-protocol.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/rpc-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-session.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/rpc-session.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAA;CAAE,GACpE;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC,CAAC"}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
// (`--no-session`); `fresh`/`resume` carry a verified partition (and, for resume, a verified
|
|
4
4
|
// session file) allocated and checked by the JS task-lib layer — never a raw, unverified path.
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
//# sourceMappingURL=
|
|
6
|
+
//# sourceMappingURL=rpc-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-session.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/rpc-session.ts"],"names":[],"mappings":";AAAA,kGAAkG;AAClG,6FAA6F;AAC7F,+FAA+F"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { OmpSdkErrorCategory } from './sdk-protocol';
|
|
2
|
+
import type { ProcessResult } from '../process-runner';
|
|
3
|
+
import type { ErrorClassification } from '../types';
|
|
4
|
+
export type ContractOmpSdkTerminal = {
|
|
5
|
+
readonly type: 'result';
|
|
6
|
+
readonly frame: Readonly<Record<string, unknown>>;
|
|
7
|
+
readonly event: Readonly<Record<string, unknown>> & {
|
|
8
|
+
readonly type: 'result';
|
|
9
|
+
readonly success: boolean;
|
|
10
|
+
};
|
|
11
|
+
} | {
|
|
12
|
+
readonly type: 'error';
|
|
13
|
+
readonly frame: Readonly<Record<string, unknown>> & {
|
|
14
|
+
readonly error: {
|
|
15
|
+
readonly category: OmpSdkErrorCategory;
|
|
16
|
+
readonly retryable: boolean;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export interface ContractOmpSdkProcessResult extends ProcessResult {
|
|
21
|
+
readonly terminal: ContractOmpSdkTerminal;
|
|
22
|
+
readonly progress: readonly unknown[];
|
|
23
|
+
readonly diagnosticStderr: string;
|
|
24
|
+
readonly cleanupAttestation: Readonly<Record<string, unknown>>;
|
|
25
|
+
}
|
|
26
|
+
export declare function isOmpSdkErrorCategory(value: unknown): value is OmpSdkErrorCategory;
|
|
27
|
+
export declare function isContractOmpSdkTerminal(value: unknown): value is ContractOmpSdkTerminal;
|
|
28
|
+
export declare function isContractOmpSdkProcessResult(result: ProcessResult): result is ContractOmpSdkProcessResult;
|
|
29
|
+
export type OmpSdkErrorClassification = ErrorClassification & {
|
|
30
|
+
readonly category: OmpSdkErrorCategory;
|
|
31
|
+
};
|
|
32
|
+
export declare function ompSdkFailureClassification(result: ContractOmpSdkProcessResult): OmpSdkErrorClassification | null;
|
|
33
|
+
export declare function invokeEvidence(result: ProcessResult, timeoutMs: number | undefined): Record<string, unknown>;
|
|
34
|
+
//# sourceMappingURL=sdk-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-contract.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/sdk-contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,sBAAsB,GAC9B;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;QAClD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;QAClD,QAAQ,CAAC,KAAK,EAAE;YACd,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;YACvC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;SAC7B,CAAC;KACH,CAAC;CACH,CAAC;AAEN,MAAM,WAAW,2BAA4B,SAAQ,aAAa;IAChE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAiBlF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAgBxF;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,aAAa,GACpB,MAAM,IAAI,2BAA2B,CAWvC;AAED,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,GAAG;IAC5D,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;CACxC,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,2BAA2B,GAClC,yBAAyB,GAAG,IAAI,CAalC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isOmpSdkErrorCategory = isOmpSdkErrorCategory;
|
|
4
|
+
exports.isContractOmpSdkTerminal = isContractOmpSdkTerminal;
|
|
5
|
+
exports.isContractOmpSdkProcessResult = isContractOmpSdkProcessResult;
|
|
6
|
+
exports.ompSdkFailureClassification = ompSdkFailureClassification;
|
|
7
|
+
exports.invokeEvidence = invokeEvidence;
|
|
8
|
+
const json_1 = require("../json");
|
|
9
|
+
function isOmpSdkErrorCategory(value) {
|
|
10
|
+
switch (value) {
|
|
11
|
+
case 'request':
|
|
12
|
+
case 'model':
|
|
13
|
+
case 'auth':
|
|
14
|
+
case 'rate-limit':
|
|
15
|
+
case 'timeout':
|
|
16
|
+
case 'provider':
|
|
17
|
+
case 'schema':
|
|
18
|
+
case 'cancelled':
|
|
19
|
+
case 'sdk':
|
|
20
|
+
case 'cleanup':
|
|
21
|
+
case 'internal':
|
|
22
|
+
return true;
|
|
23
|
+
default:
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function isContractOmpSdkTerminal(value) {
|
|
28
|
+
if (!(0, json_1.isRecord)(value) || !(0, json_1.isRecord)(value.frame) || value.frame.type !== value.type) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (value.type === 'result') {
|
|
32
|
+
return ((0, json_1.isRecord)(value.event) &&
|
|
33
|
+
value.event.type === 'result' &&
|
|
34
|
+
typeof value.event.success === 'boolean');
|
|
35
|
+
}
|
|
36
|
+
if (value.type !== 'error' || !(0, json_1.isRecord)(value.frame.error))
|
|
37
|
+
return false;
|
|
38
|
+
return (isOmpSdkErrorCategory(value.frame.error.category) &&
|
|
39
|
+
typeof value.frame.error.retryable === 'boolean');
|
|
40
|
+
}
|
|
41
|
+
function isContractOmpSdkProcessResult(result) {
|
|
42
|
+
return ('terminal' in result &&
|
|
43
|
+
isContractOmpSdkTerminal(result.terminal) &&
|
|
44
|
+
'progress' in result &&
|
|
45
|
+
Array.isArray(result.progress) &&
|
|
46
|
+
'diagnosticStderr' in result &&
|
|
47
|
+
typeof result.diagnosticStderr === 'string' &&
|
|
48
|
+
'cleanupAttestation' in result &&
|
|
49
|
+
(0, json_1.isRecord)(result.cleanupAttestation));
|
|
50
|
+
}
|
|
51
|
+
function ompSdkFailureClassification(result) {
|
|
52
|
+
if (result.terminal.type !== 'error')
|
|
53
|
+
return null;
|
|
54
|
+
const { category, retryable } = result.terminal.frame.error;
|
|
55
|
+
return {
|
|
56
|
+
category,
|
|
57
|
+
retryable,
|
|
58
|
+
kind: category === 'cancelled'
|
|
59
|
+
? 'cancelled'
|
|
60
|
+
: retryable
|
|
61
|
+
? 'unknown-retryable'
|
|
62
|
+
: 'permanent-pattern',
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function invokeEvidence(result, timeoutMs) {
|
|
66
|
+
const sdkResult = isContractOmpSdkProcessResult(result) ? result : null;
|
|
67
|
+
return {
|
|
68
|
+
exitCode: result.exitCode,
|
|
69
|
+
signal: result.signal,
|
|
70
|
+
durationMs: result.durationMs,
|
|
71
|
+
timedOut: result.timedOut ?? false,
|
|
72
|
+
timeoutMs: result.timeoutMs ?? timeoutMs ?? null,
|
|
73
|
+
...(sdkResult === null
|
|
74
|
+
? {}
|
|
75
|
+
: {
|
|
76
|
+
terminal: sdkResult.terminal.frame,
|
|
77
|
+
cleanupAttestation: sdkResult.cleanupAttestation,
|
|
78
|
+
}),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=sdk-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-contract.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/sdk-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function credentialPayload(names: readonly string[], source: Readonly<Record<string, string | undefined>>): {
|
|
2
|
+
readonly payload: Buffer;
|
|
3
|
+
readonly secretValues: readonly string[];
|
|
4
|
+
};
|
|
5
|
+
export declare function redactDiagnostic(value: string, secrets: readonly string[]): string;
|
|
6
|
+
//# sourceMappingURL=sdk-process-credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-process-credentials.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/sdk-process-credentials.ts"],"names":[],"mappings":"AAQA,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GACnD;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAmCxE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMlF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.credentialPayload = credentialPayload;
|
|
4
|
+
exports.redactDiagnostic = redactDiagnostic;
|
|
5
|
+
const sdk_protocol_1 = require("./sdk-protocol");
|
|
6
|
+
const sdk_process_error_1 = require("./sdk-process-error");
|
|
7
|
+
const CREDENTIAL_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
8
|
+
const MAX_CREDENTIAL_COUNT = 32;
|
|
9
|
+
const MAX_CREDENTIAL_NAME_BYTES = 128;
|
|
10
|
+
const MAX_CREDENTIAL_VALUE_BYTES = 16 * 1024;
|
|
11
|
+
function credentialPayload(names, source) {
|
|
12
|
+
if (names.length > MAX_CREDENTIAL_COUNT || new Set(names).size !== names.length) {
|
|
13
|
+
throw new sdk_process_error_1.OmpSdkProcessRunnerError('credential-error', 'OMP SDK credential name set is invalid.');
|
|
14
|
+
}
|
|
15
|
+
const values = {};
|
|
16
|
+
const secretValues = [];
|
|
17
|
+
for (const name of names) {
|
|
18
|
+
const value = source[name];
|
|
19
|
+
if (!CREDENTIAL_NAME.test(name) ||
|
|
20
|
+
Buffer.byteLength(name) > MAX_CREDENTIAL_NAME_BYTES ||
|
|
21
|
+
typeof value !== 'string' ||
|
|
22
|
+
value.length === 0 ||
|
|
23
|
+
Buffer.byteLength(value) > MAX_CREDENTIAL_VALUE_BYTES) {
|
|
24
|
+
throw new sdk_process_error_1.OmpSdkProcessRunnerError('credential-error', `OMP SDK credential ${name} is missing or invalid.`);
|
|
25
|
+
}
|
|
26
|
+
values[name] = value;
|
|
27
|
+
secretValues.push(value);
|
|
28
|
+
}
|
|
29
|
+
const payload = Buffer.from(JSON.stringify({ protocolVersion: 1, values }), 'utf8');
|
|
30
|
+
if (payload.byteLength > sdk_protocol_1.OMP_SDK_MAX_CREDENTIAL_BYTES) {
|
|
31
|
+
payload.fill(0);
|
|
32
|
+
throw new sdk_process_error_1.OmpSdkProcessRunnerError('credential-error', 'OMP SDK credential document is oversized.');
|
|
33
|
+
}
|
|
34
|
+
return { payload, secretValues };
|
|
35
|
+
}
|
|
36
|
+
function redactDiagnostic(value, secrets) {
|
|
37
|
+
let redacted = value;
|
|
38
|
+
for (const secret of secrets) {
|
|
39
|
+
if (secret.length > 0)
|
|
40
|
+
redacted = redacted.split(secret).join('[REDACTED]');
|
|
41
|
+
}
|
|
42
|
+
return redacted;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=sdk-process-credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-process-credentials.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/sdk-process-credentials.ts"],"names":[],"mappings":";;AAQA,8CAsCC;AAED,4CAMC;AAtDD,iDAA8D;AAC9D,2DAA+D;AAE/D,MAAM,eAAe,GAAG,0BAA0B,CAAC;AACnD,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,SAAgB,iBAAiB,CAC/B,KAAwB,EACxB,MAAoD;IAEpD,IAAI,KAAK,CAAC,MAAM,GAAG,oBAAoB,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAChF,MAAM,IAAI,4CAAwB,CAChC,kBAAkB,EAClB,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IACE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,yBAAyB;YACnD,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,0BAA0B,EACrD,CAAC;YACD,MAAM,IAAI,4CAAwB,CAChC,kBAAkB,EAClB,sBAAsB,IAAI,yBAAyB,CACpD,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACrB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACpF,IAAI,OAAO,CAAC,UAAU,GAAG,2CAA4B,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,IAAI,4CAAwB,CAChC,kBAAkB,EAClB,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACnC,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAa,EAAE,OAA0B;IACxE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare class OmpSdkProcessRunnerError extends Error {
|
|
2
|
+
readonly code: 'cleanup-error' | 'containment-error' | 'credential-error' | 'protocol-error';
|
|
3
|
+
constructor(code: OmpSdkProcessRunnerError['code'], message: string, options?: ErrorOptions);
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=sdk-process-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-process-error.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/sdk-process-error.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;gBAEjF,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAK5F"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OmpSdkProcessRunnerError = void 0;
|
|
4
|
+
class OmpSdkProcessRunnerError extends Error {
|
|
5
|
+
code;
|
|
6
|
+
constructor(code, message, options) {
|
|
7
|
+
super(message, options);
|
|
8
|
+
this.name = 'OmpSdkProcessRunnerError';
|
|
9
|
+
this.code = code;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.OmpSdkProcessRunnerError = OmpSdkProcessRunnerError;
|
|
13
|
+
//# sourceMappingURL=sdk-process-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-process-error.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/sdk-process-error.ts"],"names":[],"mappings":";;;AAAA,MAAa,wBAAyB,SAAQ,KAAK;IACxC,IAAI,CAAgF;IAE7F,YAAY,IAAsC,EAAE,OAAe,EAAE,OAAsB;QACzF,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AARD,4DAQC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ChildProcess } from 'node:child_process';
|
|
2
|
+
import { Writable } from 'node:stream';
|
|
3
|
+
import { type OmpSdkCollectedTerminal, type OmpSdkSidecarRequest } from './sdk-protocol';
|
|
4
|
+
export declare const MAX_STDERR_BYTES: number;
|
|
5
|
+
export declare const DEFAULT_TERMINATION_GRACE_MS = 250;
|
|
6
|
+
export declare const DEFAULT_REAP_TIMEOUT_MS = 2000;
|
|
7
|
+
export interface ChildOutcome {
|
|
8
|
+
readonly exitCode: number | null;
|
|
9
|
+
readonly signal: NodeJS.Signals | null;
|
|
10
|
+
readonly spawnError?: Error;
|
|
11
|
+
}
|
|
12
|
+
export declare function cancelledTerminal(request: OmpSdkSidecarRequest): OmpSdkCollectedTerminal;
|
|
13
|
+
export declare function childClose(child: ChildProcess): Promise<ChildOutcome>;
|
|
14
|
+
export declare function credentialWriter(child: ChildProcess): Writable;
|
|
15
|
+
export declare function writeCredentials(channel: Writable, payload: Buffer): Promise<void>;
|
|
16
|
+
export declare function duration(value: number | undefined, fallback: number): number;
|
|
17
|
+
export declare function testIdentityCapArgument(): readonly string[];
|
|
18
|
+
//# sourceMappingURL=sdk-process-io.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-process-io.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/sdk-process-io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AAGxB,eAAO,MAAM,gBAAgB,QAAY,CAAC;AAC1C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,uBAAuB,CAWxF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAWrE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,CAY9D;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,uBAAuB,IAAI,SAAS,MAAM,EAAE,CAW3D"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_REAP_TIMEOUT_MS = exports.DEFAULT_TERMINATION_GRACE_MS = exports.MAX_STDERR_BYTES = void 0;
|
|
4
|
+
exports.cancelledTerminal = cancelledTerminal;
|
|
5
|
+
exports.childClose = childClose;
|
|
6
|
+
exports.credentialWriter = credentialWriter;
|
|
7
|
+
exports.writeCredentials = writeCredentials;
|
|
8
|
+
exports.duration = duration;
|
|
9
|
+
exports.testIdentityCapArgument = testIdentityCapArgument;
|
|
10
|
+
const node_stream_1 = require("node:stream");
|
|
11
|
+
const sdk_protocol_1 = require("./sdk-protocol");
|
|
12
|
+
const sdk_process_private_runtime_1 = require("./sdk-process-private-runtime");
|
|
13
|
+
exports.MAX_STDERR_BYTES = 64 * 1024;
|
|
14
|
+
exports.DEFAULT_TERMINATION_GRACE_MS = 250;
|
|
15
|
+
exports.DEFAULT_REAP_TIMEOUT_MS = 2_000;
|
|
16
|
+
const TEST_IDENTITY_CAP_ENV = 'ZEROSHOT_OMP_TEST_IDENTITY_CAP';
|
|
17
|
+
function cancelledTerminal(request) {
|
|
18
|
+
const frame = (0, sdk_protocol_1.parseOmpSdkProtocolFrame)({
|
|
19
|
+
protocolVersion: 1,
|
|
20
|
+
type: 'error',
|
|
21
|
+
runId: request.runId,
|
|
22
|
+
backend: { id: 'omp-sdk', version: sdk_protocol_1.OMP_SDK_BACKEND_VERSION },
|
|
23
|
+
runtime: { name: 'bun', version: sdk_protocol_1.OMP_SDK_BUN_VERSION },
|
|
24
|
+
error: { code: 'cancelled', category: 'cancelled', retryable: false, redacted: true },
|
|
25
|
+
});
|
|
26
|
+
if (frame.type !== 'error')
|
|
27
|
+
throw new Error('cancelled terminal construction failed');
|
|
28
|
+
return { type: 'error', frame };
|
|
29
|
+
}
|
|
30
|
+
function childClose(child) {
|
|
31
|
+
return new Promise((resolveClose) => {
|
|
32
|
+
const spawned = child.pid !== undefined;
|
|
33
|
+
let spawnError;
|
|
34
|
+
child.once('error', (error) => {
|
|
35
|
+
if (!spawned)
|
|
36
|
+
spawnError = error;
|
|
37
|
+
});
|
|
38
|
+
child.once('close', (exitCode, signal) => {
|
|
39
|
+
resolveClose({ exitCode, signal, ...(spawnError === undefined ? {} : { spawnError }) });
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function credentialWriter(child) {
|
|
44
|
+
const channel = child.stdio[3];
|
|
45
|
+
if (!(channel instanceof node_stream_1.Writable)) {
|
|
46
|
+
throw new sdk_process_private_runtime_1.OmpSdkProcessRunnerError('protocol-error', 'OMP SDK credential channel was not created.');
|
|
47
|
+
}
|
|
48
|
+
channel.on('error', () => {
|
|
49
|
+
// Keep late peer-reset errors observed after the one-shot write callback from becoming uncaught.
|
|
50
|
+
});
|
|
51
|
+
return channel;
|
|
52
|
+
}
|
|
53
|
+
async function writeCredentials(channel, payload) {
|
|
54
|
+
try {
|
|
55
|
+
await new Promise((resolveWrite, rejectWrite) => {
|
|
56
|
+
channel.once('error', rejectWrite);
|
|
57
|
+
channel.end(payload, () => {
|
|
58
|
+
channel.removeListener('error', rejectWrite);
|
|
59
|
+
resolveWrite();
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
payload.fill(0);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function duration(value, fallback) {
|
|
68
|
+
return value !== undefined && Number.isFinite(value) && value >= 0 ? value : fallback;
|
|
69
|
+
}
|
|
70
|
+
function testIdentityCapArgument() {
|
|
71
|
+
const source = process.env.NODE_ENV === 'test' ? process.env[TEST_IDENTITY_CAP_ENV] : undefined;
|
|
72
|
+
if (source === undefined)
|
|
73
|
+
return [];
|
|
74
|
+
const cap = Number(source);
|
|
75
|
+
if (!Number.isSafeInteger(cap) || cap < 8 || cap > 4_096) {
|
|
76
|
+
throw new sdk_process_private_runtime_1.OmpSdkProcessRunnerError('protocol-error', 'OMP SDK private test identity cap is invalid.');
|
|
77
|
+
}
|
|
78
|
+
return [String(cap)];
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=sdk-process-io.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-process-io.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/omp/sdk-process-io.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type OmpSdkCollectedTerminal, type OmpSdkProtocolProgressFrame } from './sdk-protocol';
|
|
2
|
+
import type { PreparedSingleAgentProviderCommand } from '../single-agent-runtime';
|
|
3
|
+
import type { OmpSdkCleanupAttestation, OmpSdkContainmentRequirement, OmpSdkExecutionIdentity, OmpSdkSemanticIdentity, PreparedEnvironmentPolicy, PreparedPrivateArtifacts, PreparedProviderInvoke } from '../types';
|
|
4
|
+
import type { ProcessResult, ProcessRunnerOptions } from '../process-runner';
|
|
5
|
+
export { credentialPayload, redactDiagnostic } from './sdk-process-credentials';
|
|
6
|
+
export { OmpSdkProcessRunnerError } from './sdk-process-error';
|
|
7
|
+
export interface OmpSdkPreparedInvocation extends PreparedSingleAgentProviderCommand {
|
|
8
|
+
readonly invoke: PreparedProviderInvoke & {
|
|
9
|
+
readonly lane: 'spawn';
|
|
10
|
+
readonly parser: 'omp-sdk-ndjson';
|
|
11
|
+
readonly ptyEligible: false;
|
|
12
|
+
readonly strictTerminal: true;
|
|
13
|
+
};
|
|
14
|
+
readonly environmentPolicy: PreparedEnvironmentPolicy;
|
|
15
|
+
readonly credentialNames: readonly string[];
|
|
16
|
+
readonly privateArtifacts: PreparedPrivateArtifacts;
|
|
17
|
+
readonly containmentRequirement: OmpSdkContainmentRequirement;
|
|
18
|
+
readonly executionIdentity: OmpSdkExecutionIdentity;
|
|
19
|
+
readonly semanticIdentity: OmpSdkSemanticIdentity;
|
|
20
|
+
}
|
|
21
|
+
export interface OmpSdkProcessRunnerOptions extends ProcessRunnerOptions {
|
|
22
|
+
readonly onProgress?: (frame: OmpSdkProtocolProgressFrame) => void;
|
|
23
|
+
readonly reapTimeoutMs?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface OmpSdkProcessResult extends ProcessResult {
|
|
26
|
+
readonly terminal: OmpSdkCollectedTerminal;
|
|
27
|
+
readonly progress: readonly OmpSdkProtocolProgressFrame[];
|
|
28
|
+
readonly diagnosticStderr: string;
|
|
29
|
+
readonly cleanupAttestation: OmpSdkCleanupAttestation;
|
|
30
|
+
}
|
|
31
|
+
export interface OmpSdkRunningProcess {
|
|
32
|
+
readonly pid: number;
|
|
33
|
+
readonly result: Promise<OmpSdkProcessResult>;
|
|
34
|
+
cancel(): void;
|
|
35
|
+
}
|
|
36
|
+
export interface PrivateRuntime {
|
|
37
|
+
readonly root: string;
|
|
38
|
+
readonly requestPath: string;
|
|
39
|
+
readonly home: string;
|
|
40
|
+
readonly xdgConfig: string;
|
|
41
|
+
readonly xdgCache: string;
|
|
42
|
+
readonly xdgData: string;
|
|
43
|
+
readonly xdgState: string;
|
|
44
|
+
readonly piDirectory: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function assertPrepared(prepared: PreparedSingleAgentProviderCommand): asserts prepared is OmpSdkPreparedInvocation;
|
|
47
|
+
export declare function assertHostContainment(requirement: OmpSdkContainmentRequirement): void;
|
|
48
|
+
export declare function makePrivateRuntime(artifacts: PreparedPrivateArtifacts): Promise<PrivateRuntime>;
|
|
49
|
+
export declare function removePrivateRoot(runtime: PrivateRuntime): Promise<void>;
|
|
50
|
+
export declare function childEnvironment(policy: PreparedEnvironmentPolicy, runtime: PrivateRuntime): NodeJS.ProcessEnv;
|
|
51
|
+
//# sourceMappingURL=sdk-process-private-runtime.d.ts.map
|