import assert from "node:assert/strict"; import { readFileSync } from "node:fs"; import { fileURLToPath } from "node:url"; function read(relativePath) { return readFileSync(fileURLToPath(new URL(relativePath, import.meta.url)), "utf8"); } const connector = read("../src/features/files/FileConnectorSettingsPanel.tsx"); const integrity = read("../src/features/files/FileIntegrityPanel.tsx"); const filesApi = read("../src/api/files.ts"); const filesPage = read("../src/features/files/FilesPage.tsx"); const moduleSource = read("../src/module.ts"); const styles = read("../src/styles/file-manager.css"); const migration = read("../../docs/INTERFACE_PATTERN_MIGRATION.md"); assert.match(connector, /ActionBlockerHint,[\s\S]*AdvancedOptionsPanel,[\s\S]*DocumentationHelpLink/); assert.match(connector, /ConnectionTree,[\s\S]*ConfirmDialog,[\s\S]*Dialog,[\s\S]*LoadingFrame/); assert.match(connector, /topicId: "files\.governed-connectors-and-provenance"/); assert.match(connector, /documentation=\{CONNECTOR_DOCUMENTATION\}/); assert.match(connector, /disabledReason=\{profileSaveDisabledReason\}/); assert.match(connector, /disabledReason=\{credentialSaveDisabledReason\}/); assert.match(connector, /disabledReason: mutationBlocker/); assert.match(connector, /