Files
agent-radar 2ed3415fb7
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
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

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);
}