transform_card
Transform Adaptive Cards by upgrading or downgrading versions, applying host-specific constraints, or flattening nested structures for compatibility across platforms.
Instructions
Transform an Adaptive Card: upgrade/downgrade version, apply host-specific constraints, or flatten nesting.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| card | Yes | The Adaptive Card JSON object or cardId to transform | |
| transform | Yes | The type of transformation to apply | |
| targetVersion | No | Target version for upgrade/downgrade (e.g., "1.3", "1.5", "1.6") | |
| targetHost | No | Target host |
Implementation Reference
- Main handler function for the 'transform_card' tool, which dispatches to sub-functions based on the requested transform type.
export function handleTransformCard(input: TransformCardInput): TransformCardOutput { const { card, transform, targetVersion, targetHost } = input; const result = JSON.parse(JSON.stringify(card)) as Record<string, unknown>; const changes: string[] = []; const warnings: string[] = []; switch (transform) { case "upgrade-version": upgradeVersion(result, targetVersion || "1.6", changes, warnings); break; case "downgrade-version": downgradeVersion(result, targetVersion || "1.3", changes, warnings); break; case "apply-host-config": applyHostConfig(result, targetHost || "teams", changes, warnings); break; case "flatten": flattenCard(result, changes, warnings); break; } return { card: result, changes, warnings }; }