agent-hitch 0.2.9 → 0.2.11
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 +208 -138
- package/README.zh-CN.md +195 -120
- package/dist/scripts/canary-native-training.js +221 -0
- package/dist/scripts/canary-native-training.js.map +1 -0
- package/dist/scripts/canary-remote-training.js +246 -0
- package/dist/scripts/canary-remote-training.js.map +1 -0
- package/dist/scripts/canary-remote-verifier.js +124 -0
- package/dist/scripts/canary-remote-verifier.js.map +1 -0
- package/dist/scripts/canary-worker-host.js +113 -0
- package/dist/scripts/canary-worker-host.js.map +1 -0
- package/dist/scripts/canary-worker-peer.js +188 -0
- package/dist/scripts/canary-worker-peer.js.map +1 -0
- package/dist/scripts/check-architecture.js +4 -3
- package/dist/scripts/check-architecture.js.map +1 -1
- package/dist/src/adapters/catalog.js +2 -1
- package/dist/src/adapters/catalog.js.map +1 -1
- package/dist/src/adapters/providers/codex.js +65 -2
- package/dist/src/adapters/providers/codex.js.map +1 -1
- package/dist/src/adapters/providers/model-call.js +17 -1
- package/dist/src/adapters/providers/model-call.js.map +1 -1
- package/dist/src/adapters/providers/training-tool.js +29 -0
- package/dist/src/adapters/providers/training-tool.js.map +1 -0
- package/dist/src/artifacts/index.js +1 -1
- package/dist/src/artifacts/index.js.map +1 -1
- package/dist/src/artifacts/store.js +15 -10
- package/dist/src/artifacts/store.js.map +1 -1
- package/dist/src/backends/harbor/backend.js +24 -15
- package/dist/src/backends/harbor/backend.js.map +1 -1
- package/dist/src/backends/harbor/bridge-environment.js +12 -0
- package/dist/src/backends/harbor/bridge-environment.js.map +1 -0
- package/dist/src/backends/harbor/environment-config.js +2 -2
- package/dist/src/backends/harbor/environment-config.js.map +1 -1
- package/dist/src/backends/harbor/host-credential-helper.js +81 -0
- package/dist/src/backends/harbor/host-credential-helper.js.map +1 -0
- package/dist/src/backends/harbor/index.js +3 -0
- package/dist/src/backends/harbor/index.js.map +1 -1
- package/dist/src/backends/harbor/model-proxy-config.js +18 -1
- package/dist/src/backends/harbor/model-proxy-config.js.map +1 -1
- package/dist/src/backends/harbor/observation.js +61 -0
- package/dist/src/backends/harbor/observation.js.map +1 -0
- package/dist/src/backends/harbor/portable-regrade.js +150 -0
- package/dist/src/backends/harbor/portable-regrade.js.map +1 -0
- package/dist/src/backends/harbor/process.js +26 -5
- package/dist/src/backends/harbor/process.js.map +1 -1
- package/dist/src/backends/harbor/regrade.js +4 -1
- package/dist/src/backends/harbor/regrade.js.map +1 -1
- package/dist/src/backends/harbor/supervisor.js +22 -0
- package/dist/src/backends/harbor/supervisor.js.map +1 -1
- package/dist/src/backends/harbor/tools.js +2 -0
- package/dist/src/backends/harbor/tools.js.map +1 -1
- package/dist/src/backends/index.js +3 -0
- package/dist/src/backends/index.js.map +1 -1
- package/dist/src/cli/arguments.js +33 -0
- package/dist/src/cli/arguments.js.map +1 -1
- package/dist/src/cli/commands/capabilities.js +15 -1
- package/dist/src/cli/commands/capabilities.js.map +1 -1
- package/dist/src/cli/commands/daemon.js +19 -0
- package/dist/src/cli/commands/daemon.js.map +1 -1
- package/dist/src/cli/commands/eval.js +38 -10
- package/dist/src/cli/commands/eval.js.map +1 -1
- package/dist/src/cli/commands/local.js +130 -0
- package/dist/src/cli/commands/local.js.map +1 -0
- package/dist/src/cli/commands/model-node.js +26 -0
- package/dist/src/cli/commands/model-node.js.map +1 -0
- package/dist/src/cli/commands/models.js +72 -0
- package/dist/src/cli/commands/models.js.map +1 -0
- package/dist/src/cli/commands/run.js +36 -1
- package/dist/src/cli/commands/run.js.map +1 -1
- package/dist/src/cli/commands/training.js +32 -0
- package/dist/src/cli/commands/training.js.map +1 -0
- package/dist/src/cli/commands/verifier.js +54 -3
- package/dist/src/cli/commands/verifier.js.map +1 -1
- package/dist/src/cli/commands/worker.js +30 -2
- package/dist/src/cli/commands/worker.js.map +1 -1
- package/dist/src/cli/main.js +8 -0
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/output.js +26 -2
- package/dist/src/cli/output.js.map +1 -1
- package/dist/src/control-plane/eval-records.js +2 -0
- package/dist/src/control-plane/eval-records.js.map +1 -1
- package/dist/src/control-plane/eval-recovery.js +7 -1
- package/dist/src/control-plane/eval-recovery.js.map +1 -1
- package/dist/src/control-plane/eval-scheduler.js +24 -50
- package/dist/src/control-plane/eval-scheduler.js.map +1 -1
- package/dist/src/control-plane/eval-submission-persist.js +30 -0
- package/dist/src/control-plane/eval-submission-persist.js.map +1 -0
- package/dist/src/control-plane/execution-observation-contract.js +60 -0
- package/dist/src/control-plane/execution-observation-contract.js.map +1 -0
- package/dist/src/control-plane/index.js +10 -0
- package/dist/src/control-plane/index.js.map +1 -1
- package/dist/src/control-plane/inference-manager.js +357 -0
- package/dist/src/control-plane/inference-manager.js.map +1 -0
- package/dist/src/control-plane/managed-gateway-receipt.js +26 -0
- package/dist/src/control-plane/managed-gateway-receipt.js.map +1 -0
- package/dist/src/control-plane/managed-service-recovery.js +158 -0
- package/dist/src/control-plane/managed-service-recovery.js.map +1 -0
- package/dist/src/control-plane/model-capture-planning.js +15 -1
- package/dist/src/control-plane/model-capture-planning.js.map +1 -1
- package/dist/src/control-plane/ordered-eval-control.js +221 -0
- package/dist/src/control-plane/ordered-eval-control.js.map +1 -0
- package/dist/src/control-plane/remote-backend-result.js +18 -0
- package/dist/src/control-plane/remote-backend-result.js.map +1 -0
- package/dist/src/control-plane/remote-execution-lease.js +15 -0
- package/dist/src/control-plane/remote-execution-lease.js.map +1 -0
- package/dist/src/control-plane/remote-execution-observation.js +108 -0
- package/dist/src/control-plane/remote-execution-observation.js.map +1 -0
- package/dist/src/control-plane/remote-model-routes.js +107 -0
- package/dist/src/control-plane/remote-model-routes.js.map +1 -0
- package/dist/src/control-plane/remote-observation-reporter.js +37 -0
- package/dist/src/control-plane/remote-observation-reporter.js.map +1 -0
- package/dist/src/control-plane/remote-offer-contract.js +48 -0
- package/dist/src/control-plane/remote-offer-contract.js.map +1 -0
- package/dist/src/control-plane/remote-rerun-journal.js +61 -0
- package/dist/src/control-plane/remote-rerun-journal.js.map +1 -0
- package/dist/src/control-plane/remote-result-transport.js +55 -9
- package/dist/src/control-plane/remote-result-transport.js.map +1 -1
- package/dist/src/control-plane/remote-verifier-import.js +52 -0
- package/dist/src/control-plane/remote-verifier-import.js.map +1 -0
- package/dist/src/control-plane/remote-verifier-result.js +61 -0
- package/dist/src/control-plane/remote-verifier-result.js.map +1 -0
- package/dist/src/control-plane/remote-verifier-source-transport.js +68 -0
- package/dist/src/control-plane/remote-verifier-source-transport.js.map +1 -0
- package/dist/src/control-plane/remote-work-coordinator.js +103 -47
- package/dist/src/control-plane/remote-work-coordinator.js.map +1 -1
- package/dist/src/control-plane/remote-work-inputs.js +26 -5
- package/dist/src/control-plane/remote-work-inputs.js.map +1 -1
- package/dist/src/control-plane/remote-work-recovery.js +123 -34
- package/dist/src/control-plane/remote-work-recovery.js.map +1 -1
- package/dist/src/control-plane/remote-worker-artifacts.js +10 -7
- package/dist/src/control-plane/remote-worker-artifacts.js.map +1 -1
- package/dist/src/control-plane/remote-worker-cleanup.js +104 -0
- package/dist/src/control-plane/remote-worker-cleanup.js.map +1 -0
- package/dist/src/control-plane/remote-worker-client.js +156 -14
- package/dist/src/control-plane/remote-worker-client.js.map +1 -1
- package/dist/src/control-plane/remote-worker-codecs.js +160 -0
- package/dist/src/control-plane/remote-worker-codecs.js.map +1 -0
- package/dist/src/control-plane/remote-worker-generation-recovery.js +67 -0
- package/dist/src/control-plane/remote-worker-generation-recovery.js.map +1 -0
- package/dist/src/control-plane/remote-worker-ownership.js +51 -0
- package/dist/src/control-plane/remote-worker-ownership.js.map +1 -0
- package/dist/src/control-plane/remote-worker-protocol.js +85 -119
- package/dist/src/control-plane/remote-worker-protocol.js.map +1 -1
- package/dist/src/control-plane/remote-worker-runner.js +95 -18
- package/dist/src/control-plane/remote-worker-runner.js.map +1 -1
- package/dist/src/control-plane/remote-workers.js +33 -5
- package/dist/src/control-plane/remote-workers.js.map +1 -1
- package/dist/src/control-plane/rerun-recovery.js +89 -0
- package/dist/src/control-plane/rerun-recovery.js.map +1 -0
- package/dist/src/control-plane/rerun-scheduler.js +70 -96
- package/dist/src/control-plane/rerun-scheduler.js.map +1 -1
- package/dist/src/control-plane/rerun-source.js +57 -0
- package/dist/src/control-plane/rerun-source.js.map +1 -0
- package/dist/src/control-plane/worker-model-relay.js +76 -0
- package/dist/src/control-plane/worker-model-relay.js.map +1 -0
- package/dist/src/controller-runtime/hash.js +3 -0
- package/dist/src/controller-runtime/hash.js.map +1 -1
- package/dist/src/controller-runtime/index.js +2 -0
- package/dist/src/controller-runtime/index.js.map +1 -1
- package/dist/src/controller-runtime/observation.js +29 -0
- package/dist/src/controller-runtime/observation.js.map +1 -0
- package/dist/src/controller-runtime/resident.js +22 -0
- package/dist/src/controller-runtime/resident.js.map +1 -0
- package/dist/src/daemon/client.js +34 -1
- package/dist/src/daemon/client.js.map +1 -1
- package/dist/src/daemon/execution-observation.js +38 -0
- package/dist/src/daemon/execution-observation.js.map +1 -0
- package/dist/src/daemon/http.js +57 -0
- package/dist/src/daemon/http.js.map +1 -0
- package/dist/src/daemon/inference-prepare.js +47 -0
- package/dist/src/daemon/inference-prepare.js.map +1 -0
- package/dist/src/daemon/scheduler.js +4 -1
- package/dist/src/daemon/scheduler.js.map +1 -1
- package/dist/src/daemon/server.js +80 -82
- package/dist/src/daemon/server.js.map +1 -1
- package/dist/src/daemon/worker-observation.js +34 -0
- package/dist/src/daemon/worker-observation.js.map +1 -0
- package/dist/src/daemon/worker-ownership.js +71 -0
- package/dist/src/daemon/worker-ownership.js.map +1 -0
- package/dist/src/daemon/worker-routes.js +83 -15
- package/dist/src/daemon/worker-routes.js.map +1 -1
- package/dist/src/domain/execution-observation.js +2 -0
- package/dist/src/domain/execution-observation.js.map +1 -0
- package/dist/src/domain/index.js +1 -0
- package/dist/src/domain/index.js.map +1 -1
- package/dist/src/domain/inference.js +2 -0
- package/dist/src/domain/inference.js.map +1 -0
- package/dist/src/domain/runs.js.map +1 -1
- package/dist/src/domain/training.js +2 -0
- package/dist/src/domain/training.js.map +1 -0
- package/dist/src/domain/validation.js +11 -0
- package/dist/src/domain/validation.js.map +1 -1
- package/dist/src/domain/verifier-source.js +2 -0
- package/dist/src/domain/verifier-source.js.map +1 -0
- package/dist/src/domain/worker-recovery.js +2 -0
- package/dist/src/domain/worker-recovery.js.map +1 -0
- package/dist/src/evals/eval-logical-plan.js +8 -1
- package/dist/src/evals/eval-logical-plan.js.map +1 -1
- package/dist/src/evals/execution-leases.js +15 -2
- package/dist/src/evals/execution-leases.js.map +1 -1
- package/dist/src/evals/execution-plan.js +11 -1
- package/dist/src/evals/execution-plan.js.map +1 -1
- package/dist/src/evals/harbor-bridge-error.js +8 -0
- package/dist/src/evals/harbor-bridge-error.js.map +1 -1
- package/dist/src/evals/index.js +20 -0
- package/dist/src/evals/index.js.map +1 -1
- package/dist/src/evals/model-capture-plan.js +12 -0
- package/dist/src/evals/model-capture-plan.js.map +1 -1
- package/dist/src/evals/model-capture-runtime.js +25 -0
- package/dist/src/evals/model-capture-runtime.js.map +1 -1
- package/dist/src/evals/physical-work-plan.js +57 -0
- package/dist/src/evals/physical-work-plan.js.map +1 -0
- package/dist/src/evals/preparation-rerun.js +6 -0
- package/dist/src/evals/preparation-rerun.js.map +1 -1
- package/dist/src/evals/recovery.js +8 -1
- package/dist/src/evals/recovery.js.map +1 -1
- package/dist/src/evals/regrade-evidence.js +4 -4
- package/dist/src/evals/regrade-evidence.js.map +1 -1
- package/dist/src/evals/remote-execution-ownership.js +50 -0
- package/dist/src/evals/remote-execution-ownership.js.map +1 -0
- package/dist/src/evals/remote-infrastructure-retry.js +2 -0
- package/dist/src/evals/remote-infrastructure-retry.js.map +1 -1
- package/dist/src/evals/remote-lease-release.js +58 -0
- package/dist/src/evals/remote-lease-release.js.map +1 -0
- package/dist/src/evals/remote-rerun-execution.js +85 -0
- package/dist/src/evals/remote-rerun-execution.js.map +1 -0
- package/dist/src/evals/remote-trial.js +6 -0
- package/dist/src/evals/remote-trial.js.map +1 -0
- package/dist/src/evals/remote-verifier-assessment.js +85 -0
- package/dist/src/evals/remote-verifier-assessment.js.map +1 -0
- package/dist/src/evals/remote-verifier-contract.js +43 -0
- package/dist/src/evals/remote-verifier-contract.js.map +1 -0
- package/dist/src/evals/remote-verifier-execution.js +105 -0
- package/dist/src/evals/remote-verifier-execution.js.map +1 -0
- package/dist/src/evals/remote-verifier-journal.js +21 -0
- package/dist/src/evals/remote-verifier-journal.js.map +1 -0
- package/dist/src/evals/remote-verifier-outcome.js +51 -0
- package/dist/src/evals/remote-verifier-outcome.js.map +1 -0
- package/dist/src/evals/remote-verifier-rerun.js +134 -0
- package/dist/src/evals/remote-verifier-rerun.js.map +1 -0
- package/dist/src/evals/remote-verifier-selection.js +61 -0
- package/dist/src/evals/remote-verifier-selection.js.map +1 -0
- package/dist/src/evals/remote-verifier-source.js +33 -0
- package/dist/src/evals/remote-verifier-source.js.map +1 -0
- package/dist/src/evals/remote-worker-cleanup.js +46 -0
- package/dist/src/evals/remote-worker-cleanup.js.map +1 -0
- package/dist/src/evals/request.js +58 -1
- package/dist/src/evals/request.js.map +1 -1
- package/dist/src/evals/rerun-completion.js +39 -0
- package/dist/src/evals/rerun-completion.js.map +1 -0
- package/dist/src/evals/rerun-resume.js +70 -0
- package/dist/src/evals/rerun-resume.js.map +1 -0
- package/dist/src/evals/rerun-state.js +25 -0
- package/dist/src/evals/rerun-state.js.map +1 -0
- package/dist/src/evals/rerun-types.js.map +1 -1
- package/dist/src/evals/rerun.js +90 -46
- package/dist/src/evals/rerun.js.map +1 -1
- package/dist/src/evals/service.js +59 -5
- package/dist/src/evals/service.js.map +1 -1
- package/dist/src/evals/verifier-artifacts.js +98 -153
- package/dist/src/evals/verifier-artifacts.js.map +1 -1
- package/dist/src/evals/verifier-diagnostic-repair.js +276 -0
- package/dist/src/evals/verifier-diagnostic-repair.js.map +1 -0
- package/dist/src/evals/verifier-only-rerun.js +2 -16
- package/dist/src/evals/verifier-only-rerun.js.map +1 -1
- package/dist/src/evals/verifier-rerun-result.js +24 -0
- package/dist/src/evals/verifier-rerun-result.js.map +1 -0
- package/dist/src/evals/verifier-source-import.js +48 -0
- package/dist/src/evals/verifier-source-import.js.map +1 -0
- package/dist/src/evals/verifier-source.js +139 -0
- package/dist/src/evals/verifier-source.js.map +1 -0
- package/dist/src/foundation/base64.js +19 -0
- package/dist/src/foundation/base64.js.map +1 -0
- package/dist/src/foundation/config.js +10 -0
- package/dist/src/foundation/config.js.map +1 -1
- package/dist/src/foundation/credential-redaction.js +22 -9
- package/dist/src/foundation/credential-redaction.js.map +1 -1
- package/dist/src/foundation/index.js +1 -0
- package/dist/src/foundation/index.js.map +1 -1
- package/dist/src/foundation/process-identity.js +13 -9
- package/dist/src/foundation/process-identity.js.map +1 -1
- package/dist/src/inference/daemon-capacity.js +41 -0
- package/dist/src/inference/daemon-capacity.js.map +1 -0
- package/dist/src/inference/device-reservation.js +58 -0
- package/dist/src/inference/device-reservation.js.map +1 -0
- package/dist/src/inference/doctor.js +95 -0
- package/dist/src/inference/doctor.js.map +1 -0
- package/dist/src/inference/generation-recovery.js +83 -0
- package/dist/src/inference/generation-recovery.js.map +1 -0
- package/dist/src/inference/index.js +24 -0
- package/dist/src/inference/index.js.map +1 -0
- package/dist/src/inference/lock.js +331 -0
- package/dist/src/inference/lock.js.map +1 -0
- package/dist/src/inference/managed-launcher.js +35 -0
- package/dist/src/inference/managed-launcher.js.map +1 -0
- package/dist/src/inference/manifest.js +262 -0
- package/dist/src/inference/manifest.js.map +1 -0
- package/dist/src/inference/materialize.js +66 -0
- package/dist/src/inference/materialize.js.map +1 -0
- package/dist/src/inference/model-location.js +34 -0
- package/dist/src/inference/model-location.js.map +1 -0
- package/dist/src/inference/model-store.js +439 -0
- package/dist/src/inference/model-store.js.map +1 -0
- package/dist/src/inference/node-client.js +167 -0
- package/dist/src/inference/node-client.js.map +1 -0
- package/dist/src/inference/node-registry.js +79 -0
- package/dist/src/inference/node-registry.js.map +1 -0
- package/dist/src/inference/observation.js +79 -0
- package/dist/src/inference/observation.js.map +1 -0
- package/dist/src/inference/preflight.js +132 -0
- package/dist/src/inference/preflight.js.map +1 -0
- package/dist/src/inference/process-sglang.js +169 -0
- package/dist/src/inference/process-sglang.js.map +1 -0
- package/dist/src/inference/protocol-probe.js +29 -0
- package/dist/src/inference/protocol-probe.js.map +1 -0
- package/dist/src/inference/remote-model-store.js +24 -0
- package/dist/src/inference/remote-model-store.js.map +1 -0
- package/dist/src/inference/runtime-catalog.js +41 -0
- package/dist/src/inference/runtime-catalog.js.map +1 -0
- package/dist/src/inference/runtime-store.js +93 -0
- package/dist/src/inference/runtime-store.js.map +1 -0
- package/dist/src/inference/service-attachment.js +46 -0
- package/dist/src/inference/service-attachment.js.map +1 -0
- package/dist/src/inference/service-inspection.js +38 -0
- package/dist/src/inference/service-inspection.js.map +1 -0
- package/dist/src/inference/sglang.js +279 -0
- package/dist/src/inference/sglang.js.map +1 -0
- package/dist/src/inference/supervisor.js +460 -0
- package/dist/src/inference/supervisor.js.map +1 -0
- package/dist/src/model-access/environment.js +28 -0
- package/dist/src/model-access/environment.js.map +1 -0
- package/dist/src/model-access/index.js +4 -0
- package/dist/src/model-access/index.js.map +1 -1
- package/dist/src/model-access/local-gateway-request.js +139 -0
- package/dist/src/model-access/local-gateway-request.js.map +1 -0
- package/dist/src/model-access/local-gateway.js +323 -0
- package/dist/src/model-access/local-gateway.js.map +1 -0
- package/dist/src/model-access/proxy.js +90 -5
- package/dist/src/model-access/proxy.js.map +1 -1
- package/dist/src/model-access/remote-model.js +58 -0
- package/dist/src/model-access/remote-model.js.map +1 -0
- package/dist/src/model-access/training.js +115 -0
- package/dist/src/model-access/training.js.map +1 -0
- package/dist/src/runs/adapter-process.js +2 -2
- package/dist/src/runs/adapter-process.js.map +1 -1
- package/dist/src/runs/executor-types.js +2 -0
- package/dist/src/runs/executor-types.js.map +1 -0
- package/dist/src/runs/executor.js +54 -34
- package/dist/src/runs/executor.js.map +1 -1
- package/dist/src/runs/index.js +4 -2
- package/dist/src/runs/index.js.map +1 -1
- package/dist/src/runs/local-inference-environment.js +59 -0
- package/dist/src/runs/local-inference-environment.js.map +1 -0
- package/dist/src/runs/local-inference-run.js +53 -0
- package/dist/src/runs/local-inference-run.js.map +1 -0
- package/dist/src/runs/outcome.js +22 -0
- package/dist/src/runs/outcome.js.map +1 -1
- package/dist/src/runs/records.js +9 -0
- package/dist/src/runs/records.js.map +1 -1
- package/dist/src/runs/request.js +58 -3
- package/dist/src/runs/request.js.map +1 -1
- package/dist/src/runs/training-evidence.js +22 -0
- package/dist/src/runs/training-evidence.js.map +1 -0
- package/dist/src/runs/training-runtime.js +20 -0
- package/dist/src/runs/training-runtime.js.map +1 -0
- package/dist/src/runs/verifier-diagnostic-storage.js +237 -0
- package/dist/src/runs/verifier-diagnostic-storage.js.map +1 -0
- package/dist/src/runs/verifier-diagnostic-supplement.js +228 -0
- package/dist/src/runs/verifier-diagnostic-supplement.js.map +1 -0
- package/dist/src/runs/verifier-evidence.js +119 -118
- package/dist/src/runs/verifier-evidence.js.map +1 -1
- package/dist/src/trajectories/providers/deepseek.js +52 -38
- package/dist/src/trajectories/providers/deepseek.js.map +1 -1
- package/dist/src/trajectories/store.js +17 -0
- package/dist/src/trajectories/store.js.map +1 -1
- package/dist/src/workers/execution-observation.js +32 -0
- package/dist/src/workers/execution-observation.js.map +1 -0
- package/dist/src/workers/index.js +2 -0
- package/dist/src/workers/index.js.map +1 -1
- package/dist/src/workers/remote-harbor-ownership.js +266 -0
- package/dist/src/workers/remote-harbor-ownership.js.map +1 -0
- package/dist/src/workers/remote-harbor-verifier.js +76 -0
- package/dist/src/workers/remote-harbor-verifier.js.map +1 -0
- package/dist/src/workers/remote-harbor-work-spec.js +66 -10
- package/dist/src/workers/remote-harbor-work-spec.js.map +1 -1
- package/dist/src/workers/remote-harbor-worker.js +56 -49
- package/dist/src/workers/remote-harbor-worker.js.map +1 -1
- package/dist/src/workers/remote-worker-host.js +33 -0
- package/dist/src/workers/remote-worker-host.js.map +1 -0
- package/docs/local-model-inference-spec.zh-CN.md +666 -0
- package/docs/schemas/controller-runtime-observation.schema.json +21 -0
- package/docs/schemas/eval-execution-plan.schema.json +1 -0
- package/docs/schemas/eval-request.schema.json +3 -1
- package/docs/schemas/execution-lease.schema.json +95 -1
- package/docs/schemas/execution-provider-status.schema.json +162 -28
- package/docs/schemas/inference-execution-evidence.schema.json +487 -0
- package/docs/schemas/inference-lock.schema.json +487 -0
- package/docs/schemas/inference-runtime-manifest.schema.json +156 -0
- package/docs/schemas/inference-service-record.schema.json +227 -0
- package/docs/schemas/local-inference-selection.schema.json +98 -0
- package/docs/schemas/local-model-manifest.schema.json +43 -0
- package/docs/schemas/model-node-binding.schema.json +34 -0
- package/docs/schemas/model-node-generation-release.schema.json +46 -0
- package/docs/schemas/ordered-eval-control.schema.json +39 -0
- package/docs/schemas/remote-execution-lease-grant.schema.json +45 -0
- package/docs/schemas/remote-harbor-work-spec.schema.json +325 -0
- package/docs/schemas/remote-model-binding.schema.json +21 -0
- package/docs/schemas/remote-physical-execution.schema.json +108 -0
- package/docs/schemas/remote-result-envelope.schema.json +9 -3
- package/docs/schemas/remote-tree-envelope.schema.json +17 -3
- package/docs/schemas/remote-verifier-result.schema.json +203 -0
- package/docs/schemas/remote-verifier-source.schema.json +52 -0
- package/docs/schemas/remote-verifier-work.schema.json +125 -0
- package/docs/schemas/remote-work-offer.schema.json +170 -34
- package/docs/schemas/remote-worker-execution-admission.schema.json +214 -0
- package/docs/schemas/remote-worker-generation-cleanup.schema.json +199 -0
- package/docs/schemas/remote-worker-registration.schema.json +226 -25
- package/docs/schemas/run-manifest.schema.json +211 -44
- package/docs/schemas/run-request.schema.json +2 -1
- package/docs/schemas/training-external-binding.schema.json +26 -0
- package/docs/schemas/verifier-diagnostic-page.schema.json +97 -0
- package/integrations/harbor/hitch_harbor_agent.py +241 -13
- package/integrations/harbor/hitch_harbor_environment.py +22 -1
- package/integrations/harbor/hitch_host_credentials.py +354 -0
- package/integrations/harbor/hitch_private_exec.py +150 -0
- package/integrations/model-call/cli.js +13 -5
- package/integrations/training-tool/cli.js +72 -0
- package/package.json +8 -2
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { HitchError, safeDiagnosticMessage } from "../foundation/index.js";
|
|
2
2
|
import { ResourceLedger } from "./resources.js";
|
|
3
|
+
import { RemoteObservationReporter } from "./remote-observation-reporter.js";
|
|
4
|
+
import { RemoteWorkerGenerationRecovery } from "./remote-worker-generation-recovery.js";
|
|
3
5
|
const REQUIRED_INPUTS = new Set(["work-spec", "harness-artifact", "controller-runtime", "task-input"]);
|
|
4
6
|
export class RemoteWorkerRunner {
|
|
5
7
|
client;
|
|
@@ -15,17 +17,21 @@ export class RemoteWorkerRunner {
|
|
|
15
17
|
jobs = new Map();
|
|
16
18
|
handled = 0;
|
|
17
19
|
lastHeartbeat = 0;
|
|
20
|
+
observations;
|
|
21
|
+
generationRecovery;
|
|
18
22
|
constructor(options) {
|
|
19
23
|
this.client = options.client;
|
|
20
24
|
this.execute = options.execute;
|
|
21
|
-
this.signal = options.signal;
|
|
25
|
+
this.signal = options.signal ? AbortSignal.any([options.signal, this.client.fencedSignal]) : this.client.fencedSignal;
|
|
22
26
|
this.once = options.once ?? false;
|
|
23
27
|
this.pollIntervalMs = interval(options.pollIntervalMs ?? 1_000, "poll");
|
|
24
28
|
this.heartbeatIntervalMs = interval(options.heartbeatIntervalMs ?? 10_000, "heartbeat");
|
|
25
29
|
this.retryIntervalMs = interval(options.retryIntervalMs ?? 1_000, "retry");
|
|
26
30
|
this.onError = options.onError ?? (() => undefined);
|
|
27
|
-
this.releaseUnknown = options.releaseUnknown
|
|
31
|
+
this.releaseUnknown = options.releaseUnknown;
|
|
28
32
|
this.ledger = new ResourceLedger(options.capacity);
|
|
33
|
+
this.observations = options.executionObserver ? new RemoteObservationReporter(this.client, options.executionObserver, this.onError) : undefined;
|
|
34
|
+
this.generationRecovery = options.releasePreviousGeneration ? new RemoteWorkerGenerationRecovery(this.client, options.releasePreviousGeneration, this.signal, this.retryIntervalMs, this.onError, () => { this.handled++; }) : undefined;
|
|
29
35
|
}
|
|
30
36
|
async run() {
|
|
31
37
|
while (!this.signal?.aborted) {
|
|
@@ -35,22 +41,48 @@ export class RemoteWorkerRunner {
|
|
|
35
41
|
catch (error) {
|
|
36
42
|
this.onError(error);
|
|
37
43
|
}
|
|
38
|
-
if (this.once && this.handled > 0 && this.jobs.size === 0)
|
|
44
|
+
if (this.once && this.handled > 0 && this.jobs.size === 0 && this.generationRecovery?.idle !== false) {
|
|
45
|
+
await this.observations?.stop();
|
|
46
|
+
this.client.fencedSignal.throwIfAborted();
|
|
39
47
|
return;
|
|
48
|
+
}
|
|
40
49
|
await delay(this.pollIntervalMs, this.signal);
|
|
41
50
|
}
|
|
42
51
|
for (const job of this.jobs.values())
|
|
43
52
|
job.controller.abort(this.signal?.reason);
|
|
53
|
+
await this.observations?.stop();
|
|
54
|
+
await this.generationRecovery?.stop();
|
|
44
55
|
await Promise.allSettled([...this.jobs.values()].map((job) => job.promise));
|
|
56
|
+
for (const job of this.jobs.values()) {
|
|
57
|
+
// Stop and clean our own execution even when the controller no longer
|
|
58
|
+
// accepts this generation. A local cleanup is not a remote release receipt.
|
|
59
|
+
if (!job.executionSettled)
|
|
60
|
+
continue;
|
|
61
|
+
try {
|
|
62
|
+
if (!job.cleaned) {
|
|
63
|
+
await job.cleanup?.();
|
|
64
|
+
job.cleaned = true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
this.onError(error);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
this.client.fencedSignal.throwIfAborted();
|
|
45
72
|
}
|
|
46
73
|
async tick() {
|
|
74
|
+
this.observations?.tick();
|
|
47
75
|
const offers = await this.client.listOffers();
|
|
76
|
+
this.generationRecovery?.tick(offers);
|
|
48
77
|
const visible = new Map(offers.map((offer) => [offer.offer_id, offer]));
|
|
49
78
|
const released = new Set();
|
|
50
79
|
for (const job of this.jobs.values()) {
|
|
51
80
|
const current = visible.get(job.offer.offer_id);
|
|
52
|
-
if (!current)
|
|
81
|
+
if (!current) {
|
|
82
|
+
if (job.releaseSentAt)
|
|
83
|
+
await this.releaseJob(job);
|
|
53
84
|
continue;
|
|
85
|
+
}
|
|
54
86
|
job.offer = current;
|
|
55
87
|
if (current.state === "cancel-requested")
|
|
56
88
|
job.controller.abort(new Error("remote work cancellation requested"));
|
|
@@ -62,11 +94,25 @@ export class RemoteWorkerRunner {
|
|
|
62
94
|
for (const offer of offers) {
|
|
63
95
|
if (this.jobs.has(offer.offer_id) || released.has(offer.offer_id))
|
|
64
96
|
continue;
|
|
97
|
+
// Older generations remain visible for accounting, but cannot be cleaned
|
|
98
|
+
// or acknowledged through this generation's v1 receipt authority.
|
|
99
|
+
if (offer.generation !== this.client.generation)
|
|
100
|
+
continue;
|
|
65
101
|
if (offer.state === "release-requested" || offer.state === "cancel-requested") {
|
|
66
|
-
|
|
102
|
+
// Durable cancellation before acceptance fences any later accept. Such
|
|
103
|
+
// an offer never authorized an executor, even if no local record exists.
|
|
104
|
+
if (offer.state !== "cancel-requested" || offer.accepted_at)
|
|
105
|
+
await this.cleanUnknown(offer);
|
|
67
106
|
await this.client.release(offer);
|
|
68
107
|
this.handled += 1;
|
|
69
108
|
}
|
|
109
|
+
else if (offer.state === "accepted" && this.releaseUnknown) {
|
|
110
|
+
await this.cleanUnknown(offer);
|
|
111
|
+
const artifact = await this.client.uploadArtifact(offer, "diagnostic", Buffer.from(`${JSON.stringify({
|
|
112
|
+
schema_version: "1", code: "remote_worker_interrupted", at: new Date().toISOString(),
|
|
113
|
+
})}\n`));
|
|
114
|
+
await this.client.complete(offer, "failed", [artifact]);
|
|
115
|
+
}
|
|
70
116
|
else if (offer.state === "offered" && (!this.once || this.handled === 0)) {
|
|
71
117
|
this.startOffer(offer);
|
|
72
118
|
}
|
|
@@ -87,7 +133,8 @@ export class RemoteWorkerRunner {
|
|
|
87
133
|
return;
|
|
88
134
|
const controller = new AbortController();
|
|
89
135
|
const job = {
|
|
90
|
-
offer, controller,
|
|
136
|
+
offer, controller, signal: this.signal ? AbortSignal.any([controller.signal, this.signal]) : controller.signal,
|
|
137
|
+
allocation, accepted: false, settled: false, executionSettled: false, cleaned: false, cleanup: undefined,
|
|
91
138
|
promise: Promise.resolve(),
|
|
92
139
|
};
|
|
93
140
|
this.jobs.set(offer.offer_id, job);
|
|
@@ -99,8 +146,10 @@ export class RemoteWorkerRunner {
|
|
|
99
146
|
}
|
|
100
147
|
async runOffer(job) {
|
|
101
148
|
let inputs;
|
|
149
|
+
let ownership;
|
|
102
150
|
try {
|
|
103
151
|
inputs = await this.downloadInputs(job.offer);
|
|
152
|
+
ownership = await this.execute.prepare?.(job.offer) || undefined;
|
|
104
153
|
}
|
|
105
154
|
catch (error) {
|
|
106
155
|
await this.client.reject(job.offer, rejectionCode(error));
|
|
@@ -108,7 +157,8 @@ export class RemoteWorkerRunner {
|
|
|
108
157
|
this.finishJob(job);
|
|
109
158
|
return;
|
|
110
159
|
}
|
|
111
|
-
const
|
|
160
|
+
const acceptanceTime = new Date().toISOString();
|
|
161
|
+
const accepted = await retry(() => this.client.accept(job.offer, ownership, acceptanceTime), this.retryIntervalMs, job.signal);
|
|
112
162
|
if (accepted.state !== "accepted") {
|
|
113
163
|
this.handled += 1;
|
|
114
164
|
this.finishJob(job);
|
|
@@ -116,13 +166,21 @@ export class RemoteWorkerRunner {
|
|
|
116
166
|
}
|
|
117
167
|
job.offer = accepted;
|
|
118
168
|
job.accepted = true;
|
|
119
|
-
|
|
120
|
-
const credentials = new Map(Object.entries((await retry(() => this.client.credentials(job.offer), this.retryIntervalMs, job.controller.signal)).credentials));
|
|
169
|
+
const credentials = new Map();
|
|
121
170
|
let sequence = 0;
|
|
122
|
-
const emit = (type, payload) =>
|
|
171
|
+
const emit = (type, payload) => {
|
|
172
|
+
const eventSequence = ++sequence, sentAt = new Date().toISOString();
|
|
173
|
+
return retry(() => this.client.emit(job.offer, eventSequence, type, payload, sentAt), this.retryIntervalMs, job.signal);
|
|
174
|
+
};
|
|
123
175
|
let result;
|
|
124
176
|
try {
|
|
125
|
-
|
|
177
|
+
await this.heartbeat();
|
|
178
|
+
for (const [name, value] of Object.entries((await retry(() => this.client.credentials(job.offer), this.retryIntervalMs, job.signal)).credentials))
|
|
179
|
+
credentials.set(name, value);
|
|
180
|
+
result = await this.execute({ offer: job.offer, inputs, credentials, signal: job.signal, emit,
|
|
181
|
+
...(ownership ? { ownership, authorizeProcess: identity => retry(() => this.client.authorizeProcess(job.offer, ownership, identity), this.retryIntervalMs, job.signal) } : {}),
|
|
182
|
+
readExecutionLease: signal => this.client.executionLease(job.offer, AbortSignal.any([signal, job.signal])),
|
|
183
|
+
relayModel: (runId, operation, body, signal) => this.client.relayModel(job.offer, runId, operation, body, AbortSignal.any([signal, job.signal])) });
|
|
126
184
|
validateResult(result);
|
|
127
185
|
job.cleanup = result.release;
|
|
128
186
|
}
|
|
@@ -130,40 +188,59 @@ export class RemoteWorkerRunner {
|
|
|
130
188
|
// Executor setup can fail before it has a chance to return its normal
|
|
131
189
|
// release callback. Keep the offer releasable through the same
|
|
132
190
|
// ownership-fenced recovery path used after a worker restart.
|
|
133
|
-
job.cleanup = () => this.
|
|
191
|
+
job.cleanup = () => this.cleanUnknown(job.offer);
|
|
134
192
|
result = {
|
|
135
|
-
status: job.
|
|
193
|
+
status: job.signal.aborted ? "cancelled" : "failed",
|
|
136
194
|
artifacts: [{ kind: "diagnostic", body: diagnostic(error, [...credentials.values()]) }],
|
|
137
195
|
};
|
|
138
196
|
}
|
|
139
197
|
finally {
|
|
140
198
|
credentials.clear();
|
|
199
|
+
job.executionSettled = true;
|
|
141
200
|
}
|
|
142
201
|
const artifacts = [];
|
|
143
202
|
for (const artifact of result.artifacts ?? []) {
|
|
144
203
|
artifacts.push(await retry(() => this.client.uploadArtifact(job.offer, artifact.kind, artifact.body), this.retryIntervalMs, this.signal));
|
|
145
204
|
}
|
|
146
|
-
|
|
205
|
+
const completionTime = new Date().toISOString();
|
|
206
|
+
job.offer = await retry(() => this.client.complete(job.offer, result.status, artifacts, completionTime), this.retryIntervalMs, this.signal);
|
|
147
207
|
job.settled = true;
|
|
148
208
|
await this.heartbeat();
|
|
149
209
|
}
|
|
150
210
|
async downloadInputs(offer) {
|
|
151
211
|
const refs = offer.inputs ?? [];
|
|
152
|
-
|
|
153
|
-
|
|
212
|
+
const verifier = refs.some(ref => ref.kind === "verifier-source" || ref.kind === "verifier-runtime");
|
|
213
|
+
const expected = verifier ? new Set([...REQUIRED_INPUTS, "verifier-source", "verifier-runtime"]) : REQUIRED_INPUTS;
|
|
214
|
+
if (refs.length !== expected.size || refs.some((ref) => !expected.has(ref.kind))
|
|
215
|
+
|| new Set(refs.map((ref) => ref.kind)).size !== expected.size)
|
|
154
216
|
throw runnerError("remote work offer is missing required inputs");
|
|
155
217
|
const inputs = new Map();
|
|
156
218
|
for (const ref of refs)
|
|
157
219
|
inputs.set(ref.kind, await this.client.downloadInput(offer, ref));
|
|
220
|
+
const spec = JSON.parse(inputs.get("work-spec").toString());
|
|
221
|
+
if (verifier ? spec?.schema_version !== "2" || !spec.verifier_only || spec.physical_execution?.kind !== "verifier-only"
|
|
222
|
+
: spec?.verifier_only !== undefined || spec?.physical_execution?.kind === "verifier-only")
|
|
223
|
+
throw runnerError("remote verifier input set differs from its scoring contract");
|
|
158
224
|
return inputs;
|
|
159
225
|
}
|
|
160
226
|
async releaseJob(job) {
|
|
161
|
-
|
|
162
|
-
|
|
227
|
+
if (!job.settled)
|
|
228
|
+
throw runnerError("remote work cannot release before executor settlement");
|
|
229
|
+
if (!job.cleaned) {
|
|
230
|
+
await job.cleanup?.();
|
|
231
|
+
job.cleaned = true;
|
|
232
|
+
}
|
|
233
|
+
job.releaseSentAt ??= new Date().toISOString();
|
|
234
|
+
job.offer = await this.client.release(job.offer, job.releaseSentAt);
|
|
163
235
|
this.handled += 1;
|
|
164
236
|
this.finishJob(job);
|
|
165
237
|
await this.heartbeat();
|
|
166
238
|
}
|
|
239
|
+
async cleanUnknown(offer) {
|
|
240
|
+
if (!this.releaseUnknown)
|
|
241
|
+
throw runnerError("worker has no recovery cleanup implementation; release cannot be acknowledged");
|
|
242
|
+
await this.releaseUnknown(offer);
|
|
243
|
+
}
|
|
167
244
|
finishJob(job) {
|
|
168
245
|
job.allocation.release();
|
|
169
246
|
this.jobs.delete(job.offer.offer_id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-worker-runner.js","sourceRoot":"","sources":["../../../src/control-plane/remote-worker-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-worker-runner.js","sourceRoot":"","sources":["../../../src/control-plane/remote-worker-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,14 +44,18 @@ export class RemoteWorkerRegistry {
|
|
|
44
44
|
return { worker: publicRecord(persisted), token };
|
|
45
45
|
}
|
|
46
46
|
async authenticate(workerId, token) {
|
|
47
|
+
return await this.authenticatedGeneration(workerId, token) !== null;
|
|
48
|
+
}
|
|
49
|
+
/** Return the generation attested by this exact bearer, not a later request-body claim. */
|
|
50
|
+
async authenticatedGeneration(workerId, token) {
|
|
47
51
|
if (!WORKER_ID.test(workerId) || !/^[a-f0-9]{64}$/.test(token))
|
|
48
|
-
return
|
|
52
|
+
return null;
|
|
49
53
|
const record = await this.readPersisted(workerId);
|
|
50
54
|
if (!record || record.revoked_at)
|
|
51
|
-
return
|
|
55
|
+
return null;
|
|
52
56
|
const supplied = Buffer.from(sha256Bytes(token));
|
|
53
57
|
const expected = Buffer.from(record.token_hash);
|
|
54
|
-
return supplied.length === expected.length && timingSafeEqual(supplied, expected);
|
|
58
|
+
return supplied.length === expected.length && timingSafeEqual(supplied, expected) ? record.generation : null;
|
|
55
59
|
}
|
|
56
60
|
async heartbeat(workerId, value) {
|
|
57
61
|
if (!WORKER_ID.test(workerId))
|
|
@@ -94,6 +98,22 @@ export class RemoteWorkerRegistry {
|
|
|
94
98
|
if (generation !== current.generation)
|
|
95
99
|
throw new HitchError("remote worker generation is stale", { code: "worker_generation_mismatch", exitCode: 12 });
|
|
96
100
|
}
|
|
101
|
+
/** Serialize a short publication with credential rotation/revocation. Never hold this lock while receiving a body or running work. */
|
|
102
|
+
async withGeneration(workerId, generation, publish) {
|
|
103
|
+
if (!WORKER_ID.test(workerId) || !Number.isSafeInteger(generation) || generation < 1)
|
|
104
|
+
throw invalidWorker("remote worker publication identity is invalid");
|
|
105
|
+
return withFileLock(this.locks, workerId, async () => {
|
|
106
|
+
const current = await this.requirePersisted(workerId);
|
|
107
|
+
if (current.revoked_at)
|
|
108
|
+
throw new HitchError("remote worker identity is revoked", { code: "worker_revoked", exitCode: 11 });
|
|
109
|
+
if (current.generation !== generation)
|
|
110
|
+
throw new HitchError("remote worker generation is stale", { code: "worker_generation_mismatch", exitCode: 12 });
|
|
111
|
+
if (withLiveness(current, Date.now(), this.heartbeatTtlMs).worker.status !== "ready") {
|
|
112
|
+
throw new HitchError("remote worker is unavailable", { code: "worker_unavailable", exitCode: 10 });
|
|
113
|
+
}
|
|
114
|
+
return publish();
|
|
115
|
+
}, { timeoutCode: "worker_record_locked", timeoutExitCode: 12 });
|
|
116
|
+
}
|
|
97
117
|
async revoke(workerId) {
|
|
98
118
|
if (!WORKER_ID.test(workerId))
|
|
99
119
|
throw invalidWorker("remote worker id is invalid");
|
|
@@ -310,9 +330,17 @@ function parseBackends(value) {
|
|
|
310
330
|
return result;
|
|
311
331
|
}
|
|
312
332
|
function parseFeatures(value) {
|
|
313
|
-
const
|
|
314
|
-
|
|
333
|
+
const booleans = ["docker", "buildkit", "model_proxy", "isolated_same_task_attempts"];
|
|
334
|
+
const bindings = ["training_external_binding", "managed_model_node"];
|
|
335
|
+
const features = exact(value, [...booleans, ...bindings, "physical_work", "execution_observation", "verifier_source", "verifier_only"], "remote worker features");
|
|
336
|
+
if (booleans.some(key => typeof features[key] !== "boolean")
|
|
337
|
+
|| features.physical_work !== undefined && (features.physical_work !== "2" || !features.docker)
|
|
338
|
+
|| features.execution_observation !== undefined && features.execution_observation !== "2"
|
|
339
|
+
|| features.verifier_source !== undefined && (features.verifier_source !== "2" || !features.docker)
|
|
340
|
+
|| features.verifier_only !== undefined && (features.verifier_only !== "2" || !features.docker || features.physical_work !== "2")
|
|
341
|
+
|| bindings.some(key => features[key] !== undefined && (features[key] !== "2" || !features.docker || !features.model_proxy))) {
|
|
315
342
|
throw invalidWorker("remote worker features are invalid");
|
|
343
|
+
}
|
|
316
344
|
return features;
|
|
317
345
|
}
|
|
318
346
|
function withLiveness(record, now, ttl) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-workers.js","sourceRoot":"","sources":["../../../src/control-plane/remote-workers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAS7B,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjI,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,SAAS,GAAG,mCAAmC,CAAC;AACtD,MAAM,QAAQ,GAAG,sBAAsB,CAAC;AACxC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAWxC,MAAM,OAAO,oBAAoB;IACd,IAAI,CAAS;IACb,SAAS,CAAS;IAClB,KAAK,CAAS;IACd,cAAc,CAAS;IAExC,YAAY,KAAgD;QAC1D,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,KAAK,CAAC,cAAc,IAAI,wBAAwB,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK;YAAE,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;QAC7G,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,MAAM,YAAY,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ;mBAC9D,QAAQ,CAAC,MAAM,CAAC,mBAAmB,KAAK,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,UAAU,CAAC,0CAA0C,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACtH,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACrE,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,KAAa;QAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,KAAc;QAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,MAAM,aAAa,CAAC,6BAA6B,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,OAAO,CAAC,UAAU;gBAAE,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5H,IAAI,SAAS,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;gBAAE,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACjK,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,uDAAuD,CAAC,CAAC;YAChI,MAAM,IAAI,GAA4B;gBACpC,GAAG,OAAO;gBACV,MAAM,EAAE;oBACN,GAAG,OAAO,CAAC,MAAM;oBACjB,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oBAChE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE;iBACzE;gBACD,eAAe,EAAE;oBACf,GAAG,OAAO,CAAC,eAAe;oBAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE;oBACjF,YAAY,EAAE,SAAS,CAAC,OAAO;iBAChC;gBACD,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,YAAY,EAAE,SAAS,CAAC,OAAO;aAChC,CAAC;YACF,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,QAAgB,EAAE,UAAkB;QACpE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC;YAAE,MAAM,aAAa,CAAC,6CAA6C,CAAC,CAAC;QACzJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,UAAU;YAAE,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5H,IAAI,UAAU,KAAK,OAAO,CAAC,UAAU;YAAE,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,MAAM,aAAa,CAAC,6BAA6B,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,OAAO,CAAC,UAAU;gBAAE,OAAO,OAAO,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,GAA4B;gBACpC,GAAG,OAAO;gBACV,UAAU,EAAE,OAAO,CAAC,UAAU,GAAG,CAAC;gBAClC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE;gBAChD,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE;gBACzF,aAAa,EAAE,EAAE;gBACjB,UAAU,EAAE,GAAG;gBACf,YAAY,EAAE,GAAG;aAClB,CAAC;YACF,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,QAAgB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,MAAM,aAAa,CAAC,6BAA6B,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QACzB,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,GAAiC,EAAE,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3G,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7F,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,UAAU,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IACvD,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,OAAO,QAAQ,CAAiB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9I,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,UAAU,CAAC,4BAA4B,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QACrH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAClM,IAAI,MAAM,CAAC,cAAc,KAAK,GAAG,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;WACzG,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAAE,MAAM,aAAa,CAAC,gDAAgD,CAAC,CAAC;IAClJ,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAC;IACvF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,CAAC;QAAE,MAAM,aAAa,CAAC,wCAAwC,CAAC,CAAC;IAC9L,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,OAAO;QACL,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAkB;QACrF,mBAAmB,EAAE,MAAM,CAAC,mBAA6B,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;QACxF,eAAe,EAAE,WAAwC,EAAE,QAAQ;KACpE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAC5I,IAAI,MAAM,CAAC,cAAc,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,IAAK,MAAM,CAAC,UAAqB,GAAG,CAAC;WAC7G,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;WAC3E,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;WAClF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5G,MAAM,aAAa,CAAC,oCAAoC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC1D,OAAO;QACL,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,UAAoB;QAC5D,MAAM,EAAE,MAAM,CAAC,MAA2C;QAC1D,SAAS,EAAE,sBAAsB,CAAC,MAAM,CAAC,SAA6B,EAAE,mCAAmC,CAAC;QAC5G,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,aAAa,CAAC,4CAA4C,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,+BAA+B,CAAC,CAAC;QACnF,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;eACnE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,IAAK,KAAK,CAAC,KAAgB,GAAG,CAAC;YAAE,MAAM,aAAa,CAAC,0CAA0C,CAAC,CAAC;QACxI,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAe,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM;QAAE,MAAM,aAAa,CAAC,+CAA+C,CAAC,CAAC;IAChJ,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,YAAwC,EAAE,SAA6B,EAAE,QAAwC,EAAE,GAAW;IACrJ,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC;IACzB,MAAM,MAAM,GAAsB;QAChC,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO;QACxG,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;QACrD,YAAY,EAAE;YACZ,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS;YAC3F,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,2BAA2B,EAAE,YAAY,CAAC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,EAAE,IAAI;SAC7F;QACD,QAAQ,EAAE,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE;KAClD,CAAC;IACF,MAAM,cAAc,GAA8B;QAChD,cAAc,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS;QACvF,mBAAmB,EAAE,YAAY,CAAC,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS;QAC3G,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAChE,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,GAAG;KAC/H,CAAC;IACF,OAAO;QACL,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc;QACzG,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,GAAG,EAAE,YAAY,EAAE,GAAG;KAC3G,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,yBAAyB,CAAC,CAAC;IACpM,IAAI,MAAM,CAAC,cAAc,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,IAAK,MAAM,CAAC,UAAqB,GAAG,CAAC;WAC7G,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;WACzF,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC;WAC7E,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,MAAM,aAAa,CAAC,6CAA6C,CAAC,CAAC;IAC/I,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,mBAAmB,KAAK,QAAQ,CAAC,mBAAmB;WAC9I,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,MAAM,aAAa,CAAC,gDAAgD,CAAC,CAAC;IACtK,OAAO;QACL,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,UAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ;QAC/F,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,UAAgC;QAChF,aAAa,EAAE,MAAM,CAAC,aAAuB,EAAE,YAAY,EAAE,MAAM,CAAC,YAAsB;QAC1F,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAoB,EAAE,CAAC;KACxF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,4BAA4B,CAAC,CAAC;IACpK,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,QAAQ,CAAC,EAAE,+BAA+B,CAAC,CAAC;IACxK,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACnI,MAAM,YAAY,GAAG,6BAA6B,CAAC;QACjD,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QAC7F,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS;QAClF,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACjH,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,2BAA2B,EAAE,YAAY,CAAC,2BAA2B,EAAE;QACtI,eAAe,EAAE,YAAY,CAAC,eAAe;QAC7C,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE;KAC1H,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI;QAAE,MAAM,aAAa,CAAC,8CAA8C,CAAC,CAAC;IAC/K,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC,SAA6B,EAAE,sCAAsC,CAAC,CAAC;IACzH,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,8CAA8C,CAAC,CAAC;IAC3G,OAAO;QACL,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ;QACvF,MAAM,EAAE,MAAM,CAAC,MAAqC,EAAE,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;QAC3G,YAAY,EAAE;YACZ,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,2BAA2B,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS;YAC1G,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,2BAA2B,EAAE,YAAY,CAAC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,EAAE,IAAI;SAC5I,EAAE,QAAQ,EAAE,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACxM,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC9G,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,CAAC,KAAyB,EAAE,oCAAoC,CAAC,CAAC;IAC/G,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,WAA+B,EAAE,0CAA0C,CAAC,CAAC;IACjI,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,gEAAgE,CAAC,CAAC;IACnG,MAAM,YAAY,GAAG,6BAA6B,CAAC;QACjD,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QAC7F,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACvG,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC;QACrD,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;KACpF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC,SAA6B,EAAE,wCAAwC,CAAC,CAAC;IAC3H,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,gDAAgD,CAAC,CAAC;IAC7G,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC;QAAE,MAAM,aAAa,CAAC,sCAAsC,CAAC,CAAC;IACrL,OAAO;QACL,cAAc,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS;QACvF,mBAAmB,EAAE,YAAY,CAAC,mBAAmB,EAAE,MAAM,EAAE,MAAM,CAAC,MAA6C;QACnH,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ;QACnG,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAsB;KACzJ,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,qBAAqB,EAAE,aAAa,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACzG,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,CAAC,KAAyB,EAAE,8BAA8B,CAAC,CAAC;IACzG,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,mBAAuC,EAAE,iCAAiC,CAAC,CAAC;IAC7H,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,WAA+B,EAAE,oCAAoC,CAAC,CAAC;IAC3H,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;QAAE,IAAI,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;YAAE,MAAM,aAAa,CAAC,8CAA8C,CAAC,CAAC;IAClN,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,aAAa,CAAC,oCAAoC,CAAC,CAAC;IAC3G,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,uBAAuB,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,MAAM,aAAa,CAAC,kCAAkC,CAAC,CAAC;QACnH,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAiB,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM;QAAE,MAAM,aAAa,CAAC,uCAAuC,CAAC,CAAC;IAClI,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,6BAA6B,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC9H,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC;QAAE,MAAM,aAAa,CAAC,oCAAoC,CAAC,CAAC;IACnI,OAAO,QAA6D,CAAC;AACvE,CAAC;AAED,SAAS,YAAY,CAAC,MAA+B,EAAE,GAAW,EAAE,GAAW;IAC7E,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG;QAAE,OAAO,MAAM,CAAC;IACrF,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;AAC/I,CAAC;AAED,SAAS,YAAY,CAAC,MAA+B;IACnD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;IACtD,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,KAAK,CAAC,KAAc,EAAE,IAAc,EAAE,KAAa;IAC1D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,aAAa,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;IACnH,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAE,MAAM,aAAa,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;IAC/G,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,KAAa;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAAE,MAAM,aAAa,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;IACnH,MAAM,MAAM,GAAG,CAAC,GAAG,KAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM;QAAE,MAAM,aAAa,CAAC,GAAG,KAAK,iBAAiB,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAuB,EAAE,KAAuB,EAAE,OAAe;IACrF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;QAAE,IAAI,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;YAAE,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;AACpI,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC;AAC/G,CAAC;AAED,SAAS,IAAI;IACX,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,QAAQ,CAAC,IAAsB,EAAE,KAAuB;IAC/D,MAAM,MAAM,GAAqB;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU;QAC9C,YAAY,EAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;QACpD,eAAe,EAAE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe;QAC7D,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;KAClD,CAAC;IACF,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACrI,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS;QAAE,MAAM,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC;IAC5L,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,SAA2B,EAAE,KAA6B,IAAY,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE5H,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AACnF,CAAC"}
|
|
1
|
+
{"version":3,"file":"remote-workers.js","sourceRoot":"","sources":["../../../src/control-plane/remote-workers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { readdir } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { EvalEventSink, assertRemoteRerunQuiescent, loadEvalResumeState, readExecutionLeases, readRemoteRerunCompletion, restoreRemoteRerunSelection } from "../evals/index.js";
|
|
4
|
+
import { HitchError, atomicWriteJSON, readJSON } from "../foundation/index.js";
|
|
5
|
+
import { parsePersistedSubmission } from "./rerun-submission.js";
|
|
6
|
+
import { orderedEvalCancelled } from "./ordered-eval-control.js";
|
|
7
|
+
export async function recoverPersistedReruns(input) {
|
|
8
|
+
for (const evalEntry of await readdir(input.rerunsRoot, { withFileTypes: true })) {
|
|
9
|
+
if (!evalEntry.isDirectory() || !/^eval_[a-f0-9]{32}$/.test(evalEntry.name))
|
|
10
|
+
continue;
|
|
11
|
+
const evalDirectory = path.join(input.rerunsRoot, evalEntry.name), reruns = path.join(evalDirectory, "reruns");
|
|
12
|
+
let entries;
|
|
13
|
+
try {
|
|
14
|
+
entries = await readdir(reruns, { withFileTypes: true });
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (error.code === "ENOENT")
|
|
18
|
+
continue;
|
|
19
|
+
throw error;
|
|
20
|
+
}
|
|
21
|
+
for (const entry of entries) {
|
|
22
|
+
if (!entry.isDirectory() || !/^rerun_[a-f0-9]{32}$/.test(entry.name))
|
|
23
|
+
continue;
|
|
24
|
+
const directory = path.join(reruns, entry.name), evalId = evalEntry.name;
|
|
25
|
+
const state = await readJSON(path.join(directory, "state.json"), null);
|
|
26
|
+
const submission = await readJSON(path.join(directory, "submission.json"), null);
|
|
27
|
+
if (!state || !submission || !["queued", "running", "completed"].includes(String(state.status)))
|
|
28
|
+
continue;
|
|
29
|
+
const parsed = parsePersistedSubmission(submission, evalId, entry.name);
|
|
30
|
+
assertRerunStateIdentity(state, evalId, entry.name);
|
|
31
|
+
const identity = { evalId, rerunId: entry.name, rerunType: parsed.rerun_type, directory };
|
|
32
|
+
try {
|
|
33
|
+
const cancelled = !!await readJSON(path.join(directory, "cancellation.json"), null)
|
|
34
|
+
|| await orderedEvalCancelled(input.root, evalId, entry.name);
|
|
35
|
+
if (cancelled)
|
|
36
|
+
await atomicWriteJSON(path.join(directory, "cancellation.json"), { schema_version: "1", eval_id: evalId, rerun_id: entry.name });
|
|
37
|
+
const pending = await readRemoteRerunCompletion(directory, evalId, entry.name);
|
|
38
|
+
if (pending && ["running", "completed"].includes(String(state.status))) {
|
|
39
|
+
if (!["candidate-restart", "verifier-only"].includes(parsed.rerun_type))
|
|
40
|
+
throw ambiguous();
|
|
41
|
+
const source = await input.loadSource(evalId, "collect-only");
|
|
42
|
+
if (source.execution.provider === input.localProvider)
|
|
43
|
+
throw ambiguous();
|
|
44
|
+
await assertRemoteRerunQuiescent(evalDirectory, source.execution.provider);
|
|
45
|
+
await input.complete(identity, pending.result, pending.source_result_digest);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (state.status === "completed")
|
|
49
|
+
continue;
|
|
50
|
+
let source;
|
|
51
|
+
if (state.status === "running") {
|
|
52
|
+
if (!["candidate-restart", "verifier-only"].includes(parsed.rerun_type) || !input.remoteWork)
|
|
53
|
+
throw ambiguous();
|
|
54
|
+
source = await input.loadSource(evalId, "collect-only");
|
|
55
|
+
if (source.execution.provider === input.localProvider)
|
|
56
|
+
throw ambiguous();
|
|
57
|
+
const frozen = await loadEvalResumeState(evalDirectory);
|
|
58
|
+
await restoreRemoteRerunSelection({ directory, evalId, rerunId: entry.name, selector: parsed.selector,
|
|
59
|
+
tasks: [...new Set(frozen.executionPlan.slots.map(slot => slot.task_id))], attempts: source.request.attempts, progress: frozen.progress, rerunType: parsed.rerun_type,
|
|
60
|
+
...(parsed.verifier_runtime_id ? { verifierRuntimeId: parsed.verifier_runtime_id } : {}) });
|
|
61
|
+
const sink = new EvalEventSink(directory, evalId, input.onEvent);
|
|
62
|
+
await sink.open();
|
|
63
|
+
const recovered = await input.remoteWork.recoverEvalLeases({ evalId, evalDirectory, leases: await readExecutionLeases(evalDirectory),
|
|
64
|
+
cancelRequested: cancelled, emit: event => sink.emit({ ...event, rerun_id: entry.name }) }).finally(() => sink.close());
|
|
65
|
+
if (recovered.status !== "resumable")
|
|
66
|
+
throw new HitchError(recovered.message ?? "remote lease recovery is ambiguous", { code: recovered.code ?? "execution_state_ambiguous", exitCode: 12 });
|
|
67
|
+
await assertRemoteRerunQuiescent(evalDirectory, source.execution.provider);
|
|
68
|
+
}
|
|
69
|
+
else if (!cancelled)
|
|
70
|
+
source = await input.loadSource(evalId, parsed.rerun_type);
|
|
71
|
+
if (cancelled) {
|
|
72
|
+
await atomicWriteJSON(path.join(directory, "state.json"), { ...state, status: "cancelled", updated_at: new Date().toISOString(), completed_at: new Date().toISOString() });
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
await input.enqueue(identity, parsed, source, state.status === "running");
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
await input.fail(identity, error instanceof HitchError ? error.code : "execution_state_ambiguous", state.status === "running" ? "interrupted rerun could not reconcile its frozen selection or execution leases" : "queued rerun could not restore its source or provider");
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export function assertRerunStateIdentity(state, evalId, rerunId) {
|
|
84
|
+
if (state.schema_version !== "1" || state.eval_id !== evalId || state.rerun_id !== rerunId
|
|
85
|
+
|| typeof state.status !== "string" || !["queued", "running", "completed", "failed", "cancelled"].includes(state.status))
|
|
86
|
+
throw new TypeError("eval rerun state identity is invalid");
|
|
87
|
+
}
|
|
88
|
+
function ambiguous() { return new HitchError("daemon restarted while rerun execution state was ambiguous", { code: "execution_state_ambiguous", exitCode: 12 }); }
|
|
89
|
+
//# sourceMappingURL=rerun-recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rerun-recovery.js","sourceRoot":"","sources":["../../../src/control-plane/rerun-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhL,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAIjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKjE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAO5C;IACC,KAAK,MAAM,SAAS,IAAI,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,SAAS;QACtF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC/G,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YAAC,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAC/E,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACjE,MAAM,KAAK,CAAC;QACd,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,IAAc,CAAC;YACnF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAiC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;YACvG,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAiC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC;YACjH,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAAE,SAAS;YAC1G,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACxE,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;YAC1F,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,IAAI,CAAC;uBAC9E,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChE,IAAI,SAAS;oBAAE,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChJ,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/E,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;oBACvE,IAAI,CAAC,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;wBAAE,MAAM,SAAS,EAAE,CAAC;oBAC3F,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;oBAC9D,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,CAAC,aAAa;wBAAE,MAAM,SAAS,EAAE,CAAC;oBACzE,MAAM,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC3E,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;oBAC7E,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;oBAAE,SAAS;gBAC3C,IAAI,MAAc,CAAC;gBACnB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;wBAAE,MAAM,SAAS,EAAE,CAAC;oBAChH,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;oBACxD,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,CAAC,aAAa;wBAAE,MAAM,SAAS,EAAE,CAAC;oBACzE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC,CAAC;oBACxD,MAAM,2BAA2B,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACnG,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU;wBACrK,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC9F,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC,aAAa,CAAC;wBAClI,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC1H,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW;wBAAE,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC,OAAO,IAAI,oCAAoC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,2BAA2B,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC7L,MAAM,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC7E,CAAC;qBAAM,IAAI,CAAC,SAAS;oBAAE,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBAClF,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC3K,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAO,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAC7E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,EAC/F,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,gFAAgF,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC;YAC7K,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAA8B,EAAE,MAAc,EAAE,OAAe;IACtG,IAAI,KAAK,CAAC,cAAc,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO;WACrF,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;AAC1L,CAAC;AACD,SAAS,SAAS,KAAiB,OAAO,IAAI,UAAU,CAAC,4DAA4D,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC"}
|