diff --git a/src/lib/actions/sandbox/rebuild-dcode-artifact-drift.test.ts b/src/lib/actions/sandbox/rebuild-dcode-artifact-drift.test.ts index 5802553222c..2f424256950 100644 --- a/src/lib/actions/sandbox/rebuild-dcode-artifact-drift.test.ts +++ b/src/lib/actions/sandbox/rebuild-dcode-artifact-drift.test.ts @@ -5,7 +5,7 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { configureDcodeSession, makeDcodeSandboxEntry, -} from "../../../../test/helpers/rebuild-dcode-flow-support"; +} from "../../../../test/helpers/rebuild-dcode-flow-helpers"; import { expectNoSandboxDelete } from "../../../../test/helpers/rebuild-delete-assertions"; import { createRebuildFlowHarness, diff --git a/src/lib/actions/sandbox/rebuild-dcode-base-image-lease.test.ts b/src/lib/actions/sandbox/rebuild-dcode-base-image-lease.test.ts index d2111e96115..47b70b437d5 100644 --- a/src/lib/actions/sandbox/rebuild-dcode-base-image-lease.test.ts +++ b/src/lib/actions/sandbox/rebuild-dcode-base-image-lease.test.ts @@ -5,7 +5,7 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { configureDcodeSession, makeDcodeSandboxEntry, -} from "../../../../test/helpers/rebuild-dcode-flow-support"; +} from "../../../../test/helpers/rebuild-dcode-flow-helpers"; import { createRebuildFlowHarness, resetRebuildFlowTestEnvironment, diff --git a/src/lib/actions/sandbox/rebuild-dcode-mutation-edge.test.ts b/src/lib/actions/sandbox/rebuild-dcode-mutation-edge.test.ts index 5926f651f9a..7d2e7f2a45b 100644 --- a/src/lib/actions/sandbox/rebuild-dcode-mutation-edge.test.ts +++ b/src/lib/actions/sandbox/rebuild-dcode-mutation-edge.test.ts @@ -5,7 +5,7 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { configureDcodeSession, makeDcodeSandboxEntry, -} from "../../../../test/helpers/rebuild-dcode-flow-support"; +} from "../../../../test/helpers/rebuild-dcode-flow-helpers"; import { expectNoSandboxDelete } from "../../../../test/helpers/rebuild-delete-assertions"; import { createRebuildFlowHarness, diff --git a/src/lib/actions/sandbox/rebuild-dcode-pre-delete-drift.test.ts b/src/lib/actions/sandbox/rebuild-dcode-pre-delete-drift.test.ts index 5c2b1848dea..f456f1fd2dc 100644 --- a/src/lib/actions/sandbox/rebuild-dcode-pre-delete-drift.test.ts +++ b/src/lib/actions/sandbox/rebuild-dcode-pre-delete-drift.test.ts @@ -6,7 +6,7 @@ import { configureDcodeSession, expectNoDcodeMutation, makeDcodeSandboxEntry, -} from "../../../../test/helpers/rebuild-dcode-flow-support"; +} from "../../../../test/helpers/rebuild-dcode-flow-helpers"; import { expectNoSandboxDelete } from "../../../../test/helpers/rebuild-delete-assertions"; import { createRebuildFlowHarness, diff --git a/src/lib/actions/sandbox/rebuild-dcode-preflight.test.ts b/src/lib/actions/sandbox/rebuild-dcode-preflight.test.ts index 1a4dc190d9b..e49b04b0775 100644 --- a/src/lib/actions/sandbox/rebuild-dcode-preflight.test.ts +++ b/src/lib/actions/sandbox/rebuild-dcode-preflight.test.ts @@ -6,7 +6,7 @@ import { configureDcodeSession, expectNoDcodeMutation, makeDcodeSandboxEntry, -} from "../../../../test/helpers/rebuild-dcode-flow-support"; +} from "../../../../test/helpers/rebuild-dcode-flow-helpers"; import { createRebuildFlowHarness, resetRebuildFlowTestEnvironment, diff --git a/src/lib/actions/sandbox/rebuild-dcode-recovery.test.ts b/src/lib/actions/sandbox/rebuild-dcode-recovery.test.ts index dac36d5609c..c0ef00b510f 100644 --- a/src/lib/actions/sandbox/rebuild-dcode-recovery.test.ts +++ b/src/lib/actions/sandbox/rebuild-dcode-recovery.test.ts @@ -5,7 +5,7 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { configureDcodeSession, makeDcodeSandboxEntry, -} from "../../../../test/helpers/rebuild-dcode-flow-support"; +} from "../../../../test/helpers/rebuild-dcode-flow-helpers"; import { createRebuildFlowHarness, makePreparedRecoveryManifest, diff --git a/src/lib/actions/sandbox/snapshot-restore-test-fixture.ts b/src/lib/actions/sandbox/snapshot-restore-test-fixture.ts index 4124d9fd4a0..155f1330c14 100644 --- a/src/lib/actions/sandbox/snapshot-restore-test-fixture.ts +++ b/src/lib/actions/sandbox/snapshot-restore-test-fixture.ts @@ -4,6 +4,7 @@ import { vi } from "vitest"; import { resolveTestAgentBaselinePolicy } from "../../../../test/support/snapshot-policy-test-fixture"; import type { SandboxWorkloadReceipt } from "../../state/registry/types"; +import { dcodeProbeOutput } from "./dcode-probe-test-fixture"; import { SANDBOX_EXEC_STARTED_MARKER } from "./sandbox-exec-output"; import type { SnapshotStreamSandboxCreateMock } from "./snapshot-create-stream-test-types"; @@ -54,11 +55,7 @@ export type SandboxRecord = { hermesDashboardInternalPort?: number | null; hermesDashboardTui?: boolean; }; -export type DcodeProbeState = "active" | "idle" | "unverifiable" | "no-runtime"; - -export function dcodeProbeOutput(state: DcodeProbeState, extra = ""): string { - return `${SANDBOX_EXEC_STARTED_MARKER}\nNEMOCLAW_DCODE_PROBE=${state}\n${extra}`; -} +export { type DcodeProbeState, dcodeProbeOutput } from "./dcode-probe-test-fixture"; export function captureOpenshellStreams( args: string[], diff --git a/test/helpers/rebuild-dcode-flow-support.ts b/test/helpers/rebuild-dcode-flow-support.ts deleted file mode 100644 index 0a24c392d0d..00000000000 --- a/test/helpers/rebuild-dcode-flow-support.ts +++ /dev/null @@ -1,49 +0,0 @@ -// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 - -import { expect } from "vitest"; - -import { expectNoSandboxDelete } from "./rebuild-delete-assertions"; -import { type RebuildFlowHarness } from "./rebuild-flow-harness"; - -export function makeDcodeSandboxEntry(): Record { - return { - name: "alpha", - agent: "langchain-deepagents-code", - agentVersion: "0.1.12", - nemoclawVersion: "0.0.72", - provider: "compatible-endpoint", - model: "nvidia/nemotron-3-super-120b-a12b", - endpointUrl: "https://inference-api.nvidia.com/v1", - credentialEnv: "COMPATIBLE_API_KEY", - preferredInferenceApi: "openai-completions", - nimContainer: null, - policies: [], - dashboardPort: 0, - gatewayName: "nemoclaw", - gatewayPort: 8080, - gpuEnabled: false, - sandboxGpuEnabled: false, - sandboxGpuMode: "0", - }; -} - -export function configureDcodeSession(harness: RebuildFlowHarness): void { - Object.assign(harness.session, { - agent: "langchain-deepagents-code", - provider: "compatible-endpoint", - model: "nvidia/nemotron-3-super-120b-a12b", - endpointUrl: "https://inference-api.nvidia.com/v1", - credentialEnv: "COMPATIBLE_API_KEY", - preferredInferenceApi: "openai-completions", - gpuPassthrough: false, - }); -} - -export function expectNoDcodeMutation(harness: RebuildFlowHarness): void { - expect(harness.openShieldsSpy).not.toHaveBeenCalled(); - expect(harness.backupSandboxStateSpy).not.toHaveBeenCalled(); - expectNoSandboxDelete(harness.runOpenshellSpy); - expect(harness.removeSandboxRegistryEntrySpy).not.toHaveBeenCalled(); - expect(harness.onboardSpy).not.toHaveBeenCalled(); -}