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

26 lines
914 B
JavaScript

import { copyFile, mkdir, readdir, rm } from "node:fs/promises";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
const packageRoot = dirname(dirname(fileURLToPath(import.meta.url)));
const sourceRoot = join(packageRoot, "src");
const outputRoot = join(packageRoot, "dist");
const sessionReplayRoot = join(packageRoot, "..", "session-replay");
await rm(outputRoot, { force: true, recursive: true });
await mkdir(outputRoot, { recursive: true });
for (const entry of await readdir(sourceRoot, { withFileTypes: true })) {
if (
entry.isFile() &&
entry.name.endsWith(".mjs") &&
!entry.name.endsWith(".test.mjs")
) {
await copyFile(join(sourceRoot, entry.name), join(outputRoot, entry.name));
}
}
for (const contract of ["activity-contract.json", "cassette-policy.json"]) {
await copyFile(join(sessionReplayRoot, contract), join(outputRoot, contract));
}