ReactiveX/rxjs · error · Error

Canonical Skill content must contain only regular files and

Error message

Canonical Skill content must contain only regular files and directories: ${absolutePath}

What it means

Error "Canonical Skill content must contain only regular files and directories: ${absolutePath}" thrown in ReactiveX/rxjs.

Source

Thrown at packages/migrate/src/skill-integrity.ts:71

    expected.packageVersion === actual.packageVersion &&
    expected.digestAlgorithm === actual.digestAlgorithm &&
    expected.digest === actual.digest &&
    JSON.stringify(expected.files) === JSON.stringify(actual.files)
  );
}

async function collectFiles(root: string, directory: string): Promise<string[]> {
  const entries = await readdir(directory, { withFileTypes: true });
  const result: string[] = [];
  for (const entry of entries.sort((left, right) => left.name.localeCompare(right.name))) {
    const absolutePath = resolve(directory, entry.name);
    const localPath = relative(root, absolutePath).replaceAll(sep, '/');
    if (localPath === skillProvenanceFileName) continue;
    const stats = await lstat(absolutePath);
    if (stats.isSymbolicLink()) throw new Error(`Canonical Skill content must not contain symbolic links: ${absolutePath}`);
    if (stats.isDirectory()) result.push(...(await collectFiles(root, absolutePath)));
    else if (stats.isFile()) result.push(localPath);
    else throw new Error(`Canonical Skill content must contain only regular files and directories: ${absolutePath}`);
  }
  return result.sort();
}

function assertContained(root: string, candidate: string): void {
  const localPath = relative(root, candidate);
  if (localPath === '' || (localPath !== '..' && !localPath.startsWith(`..${sep}`))) return;
  throw new Error(`Skill content resolves outside its canonical root: ${candidate}`);
}

View on GitHub (pinned to 54796b38a5)

When it happens

Trigger: Thrown at packages/migrate/src/skill-integrity.ts:71 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ReactiveX/rxjs@54796b38a5 (2026-08-28). Data as JSON: /api/errors/0ea10501b734c02b. Report an issue: GitHub.