mirror of
https://github.com/PR0M3TH3AN/TORCH.git
synced 2026-10-27 07:51:52 +00:00
Fix Windows-unsafe artifact filenames and enforce safe timestamp format
This commit is contained in:
1 parent
1fb668064e
commit
1e3f88e488
17 files changed
+39
No files matched your search
@@ -889,6 +889,7 @@ async function main() {
|
||||
schedulerRunState.lock_deferral = null;
|
||||
await writeRunState(runStatePath, schedulerRunState);
|
||||
const runArtifactSince = new Date().toISOString();
|
||||
const runArtifactTimestamp = ts();
|
||||
const runStartMs = Date.parse(runArtifactSince);
|
||||
const outputChunks = [];
|
||||
|
||||
@@ -904,6 +905,7 @@ async function main() {
|
||||
SCHEDULER_CADENCE: cadence,
|
||||
SCHEDULER_PROMPT_PATH: promptPath,
|
||||
SCHEDULER_MEMORY_FILE: memoryFile,
|
||||
SCHEDULER_RUN_TIMESTAMP: runArtifactTimestamp,
|
||||
};
|
||||
|
||||
if (schedulerConfig.memoryPolicy.retrieveCommand) {
|
||||
|
||||
@@ -133,6 +133,14 @@ function getMatchingArtifacts(files, { expectedPrefix, session }) {
|
||||
return files.filter((file) => file.name.startsWith(expectedPrefix));
|
||||
}
|
||||
|
||||
function findInvalidFilenameCharacters(files) {
|
||||
// Windows-invalid filename characters: <>:"/\|?*
|
||||
const invalidCharRe = /[<>:"/\\|?*]/;
|
||||
return files
|
||||
.filter((file) => invalidCharRe.test(file.name))
|
||||
.map((file) => file.name);
|
||||
}
|
||||
|
||||
async function hasValidArtifactStructure(files, artifact) {
|
||||
for (const file of files) {
|
||||
const content = await fs.readFile(file.filePath, 'utf8').catch(() => '');
|
||||
@@ -336,6 +344,11 @@ async function main() {
|
||||
continue;
|
||||
}
|
||||
|
||||
const invalidFilenames = findInvalidFilenameCharacters(matchingArtifacts);
|
||||
if (invalidFilenames.length) {
|
||||
missing.push(`${artifact.dir}: invalid filename characters for cross-platform sync in ${invalidFilenames.join(', ')}`);
|
||||
}
|
||||
|
||||
const hasValidStructure = await hasValidArtifactStructure(matchingArtifacts, artifact);
|
||||
if (!hasValidStructure) {
|
||||
missing.push(`${artifact.dir}: ${artifact.structureHint}`);
|
||||
|
||||
Reference in new issue
Block a user