Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
66 lines
2.0 KiB
JavaScript
66 lines
2.0 KiB
JavaScript
import { realpathSync } from "node:fs";
|
|
import { resolve } from "node:path";
|
|
import {
|
|
assertForbiddenPathAbsent as assertForbiddenPathAbsentCore,
|
|
resolveRecordScenarioProject as resolveRecordScenarioProjectCore,
|
|
seedRecordingUserProject as seedRecordingUserProjectCore,
|
|
verifyRecordedProjectBindingArtifacts as verifyRecordedProjectBindingArtifactsCore
|
|
} from "../../../packages/agent/session-replay-runner/src/recording.mjs";
|
|
import {
|
|
cassettePolicy,
|
|
parseActivityEvents,
|
|
portableReplayCWDToken,
|
|
resolveAgentSessionReplayProjectRoot
|
|
} from "./cassette.mjs";
|
|
|
|
export { resolveAgentSessionReplayProjectRoot };
|
|
|
|
const activityEventsName = cassettePolicy.files.activityEvents.path;
|
|
const checkpointPlanName = cassettePolicy.files.checkpointPlan.path;
|
|
const expectedStateName = cassettePolicy.files.expectedState.path;
|
|
const initialStateName = cassettePolicy.files.initialState.path;
|
|
|
|
function canonicalizeProjectPath(path) {
|
|
const absolute = resolve(String(path ?? "").trim());
|
|
if (!absolute) return absolute;
|
|
try {
|
|
return realpathSync(absolute);
|
|
} catch {
|
|
return absolute;
|
|
}
|
|
}
|
|
|
|
export function resolveRecordScenarioProject(project, replayCWD) {
|
|
return resolveRecordScenarioProjectCore(project, replayCWD, {
|
|
canonicalizePath: canonicalizeProjectPath,
|
|
portableReplayCWDToken
|
|
});
|
|
}
|
|
|
|
export async function seedRecordingUserProject(databasePath, project) {
|
|
return seedRecordingUserProjectCore(databasePath, project, {
|
|
canonicalizePath: canonicalizeProjectPath
|
|
});
|
|
}
|
|
|
|
export async function verifyRecordedProjectBindingArtifacts(
|
|
recordingDirectory,
|
|
portableProjectPath
|
|
) {
|
|
return verifyRecordedProjectBindingArtifactsCore(
|
|
recordingDirectory,
|
|
portableProjectPath,
|
|
{
|
|
activityEventsPath: activityEventsName,
|
|
checkpointPlanPath: checkpointPlanName,
|
|
expectedStatePath: expectedStateName,
|
|
initialStatePath: initialStateName,
|
|
parseActivityEvents
|
|
}
|
|
);
|
|
}
|
|
|
|
export async function assertForbiddenPathAbsent(path, scenarioId) {
|
|
return assertForbiddenPathAbsentCore(path, scenarioId);
|
|
}
|