fix(fleet): align migration preview and clean CI
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Jarvis
2026-07-16 04:10:38 -05:00
parent b7eb724c2b
commit 01d8b16474
3 changed files with 111 additions and 1 deletions

View File

@@ -1005,10 +1005,48 @@ function validateConnector(
): void {
if (!present) return;
rejectUnknownKeys(connector, new Set(['kind', 'matrix', 'discord']), 'connector', blockers);
const kind = stringValue(connector.kind);
const kind = typeof connector.kind === 'string' ? connector.kind : undefined;
if (!kind || !['tmux', 'discord', 'matrix'].includes(kind)) {
blockers.push(blocker('invalid-connector', 'connector.kind', 'Unsupported connector kind.'));
}
if (kind === 'tmux') {
if (connector.matrix !== undefined) {
blockers.push(
blocker(
'invalid-connector',
'connector.matrix',
'Tmux connector must not define Matrix connector data.',
),
);
}
if (connector.discord !== undefined) {
blockers.push(
blocker(
'invalid-connector',
'connector.discord',
'Tmux connector must not define Discord connector data.',
),
);
}
}
if (kind === 'discord' && connector.matrix !== undefined) {
blockers.push(
blocker(
'invalid-connector',
'connector.matrix',
'Discord connector must not define Matrix connector data.',
),
);
}
if (kind === 'matrix' && connector.discord !== undefined) {
blockers.push(
blocker(
'invalid-connector',
'connector.discord',
'Matrix connector must not define Discord connector data.',
),
);
}
if (kind === 'matrix' && connector.matrix === undefined) {
blockers.push(
blocker('invalid-connector', 'connector.matrix', 'Matrix connector data is required.'),