( builtinTriggers: TriggerOverviewEntry[], externalTriggers: TriggerOverviewEntry[] )
| 828 | * Serialize a triggers.md overview for VFS components/triggers/triggers.md |
| 829 | */ |
| 830 | export function serializeTriggerOverview( |
| 831 | builtinTriggers: TriggerOverviewEntry[], |
| 832 | externalTriggers: TriggerOverviewEntry[] |
| 833 | ): string { |
| 834 | const lines: string[] = ['# Triggers', ''] |
| 835 | |
| 836 | lines.push('## Built-in Triggers', '') |
| 837 | lines.push('| ID | Name | Description |') |
| 838 | lines.push('|----|------|-------------|') |
| 839 | for (const t of builtinTriggers) { |
| 840 | lines.push(`| ${t.id} | ${t.name} | ${t.description} |`) |
| 841 | } |
| 842 | |
| 843 | lines.push('') |
| 844 | lines.push('## External Triggers', '') |
| 845 | lines.push('| Provider | ID | Name | Description |') |
| 846 | lines.push('|----------|----|------|-------------|') |
| 847 | for (const t of externalTriggers) { |
| 848 | lines.push(`| ${t.provider} | ${t.id} | ${t.name} | ${t.description} |`) |
| 849 | } |
| 850 | |
| 851 | lines.push('') |
| 852 | return lines.join('\n') |
| 853 | } |
| 854 | |
| 855 | /** |
| 856 | * Serialize job metadata for VFS jobs/{id}/meta.json |
no test coverage detected