/** * Shared trait catalog and package definitions. * Used by collection/new (package selector) and TraitAdmin (trait management). */ export interface TraitCategory { label: string; traits: string[]; } export const traitCatalog: TraitCategory[] = [ { label: 'Innhold & redigering', traits: ['editor', 'versioning', 'collaboration', 'translation', 'templates'] }, { label: 'Publisering & distribusjon', traits: ['publishing', 'rss', 'newsletter', 'custom_domain', 'analytics', 'embed', 'api'] }, { label: 'Lyd & video', traits: ['podcast', 'recording', 'transcription', 'tts', 'clips', 'playlist'] }, { label: 'Kommunikasjon', traits: ['chat', 'forum', 'comments', 'guest_input', 'announcements', 'polls', 'qa'] }, { label: 'Organisering', traits: ['kanban', 'calendar', 'timeline', 'table', 'gallery', 'bookmarks', 'tags'] }, { label: 'Kunnskap', traits: ['knowledge_graph', 'mindmap', 'wiki', 'glossary', 'faq', 'bibliography'] }, { label: 'Automatisering & AI', traits: ['auto_tag', 'auto_summarize', 'digest', 'bridge', 'moderation'] }, { label: 'Tilgang & fellesskap', traits: ['membership', 'roles', 'invites', 'paywall', 'directory'] }, { label: 'Ekstern integrasjon', traits: ['webhook', 'import', 'export', 'ical_sync'] }, ]; export interface Package { id: string; name: string; description: string; icon: string; traits: Record>; } export const packages: Package[] = [ { id: 'nettmagasin', name: 'Nettmagasin', description: 'Publiser artikler med RSS, kommentarer og nyhetsbrev', icon: '๐Ÿ“ฐ', traits: { editor: { preset: 'longform' }, publishing: {}, rss: {}, comments: {}, analytics: {}, custom_domain: {}, newsletter: {}, }, }, { id: 'podcaststudio', name: 'Podcaststudio', description: 'Podcast med opptak, transkripsjon og kunnskapsgraf', icon: '๐ŸŽ™๏ธ', traits: { podcast: {}, recording: {}, transcription: {}, editor: { preset: 'shownotes' }, rss: {}, analytics: {}, clips: {}, knowledge_graph: {}, mindmap: { default_depth: 2, layout: 'radial' }, }, }, { id: 'nyhetsbrev', name: 'Nyhetsbrev', description: 'Skriv og distribuer nyhetsbrev med analyse', icon: 'โœ‰๏ธ', traits: { editor: { preset: 'longform' }, newsletter: {}, analytics: {}, versioning: {}, }, }, { id: 'wiki', name: 'Wiki', description: 'Samarbeidende kunnskapsbase med versjonering', icon: '๐Ÿ“š', traits: { wiki: {}, editor: { preset: 'longform' }, collaboration: {}, versioning: {}, knowledge_graph: {}, mindmap: { default_depth: 2, layout: 'tree' }, glossary: {}, }, }, { id: 'diskusjonsklubb', name: 'Diskusjonsklubb', description: 'Forum, chat og avstemninger for en gruppe', icon: '๐Ÿ’ฌ', traits: { forum: {}, chat: {}, polls: {}, membership: {}, roles: {}, directory: {}, }, }, { id: 'kursplattform', name: 'Kursplattform', description: 'Kursinnhold med spillelister, Q&A og betaling', icon: '๐ŸŽ“', traits: { editor: { preset: 'longform' }, playlist: {}, qa: {}, membership: {}, paywall: {}, templates: {}, }, }, { id: 'moteplass', name: 'Mรธteplass', description: 'Opptak, chat, kanban og kalender for mรธter', icon: '๐Ÿค', traits: { recording: {}, chat: {}, kanban: {}, calendar: {}, auto_summarize: {}, guest_input: {}, }, }, { id: 'fotoblogg', name: 'Fotoblogg', description: 'Bildegalleri med publisering og kommentarer', icon: '๐Ÿ“ท', traits: { gallery: {}, publishing: {}, comments: {}, custom_domain: {}, rss: {}, }, }, { id: 'prosjektstyring', name: 'Prosjektstyring', description: 'Kanban, kalender og chat for teamarbeid', icon: '๐Ÿ“‹', traits: { kanban: {}, calendar: {}, chat: {}, table: {}, tags: {}, roles: {}, }, }, { id: 'forskning', name: 'ร…pen forskning', description: 'Akademisk publisering med versjonering og bibliografi', icon: '๐Ÿ”ฌ', traits: { editor: { preset: 'longform' }, versioning: {}, bibliography: {}, publishing: {}, comments: {}, collaboration: {}, api: {}, }, }, { id: 'community-radio', name: 'Community radio', description: 'Opptak, podcast, chat og avstemninger', icon: '๐Ÿ“ป', traits: { recording: {}, podcast: {}, chat: {}, polls: {}, membership: {}, clips: {}, playlist: {}, }, }, { id: 'bokmerke-vegg', name: 'Bokmerke-vegg', description: 'Kuraterte lenker med tags og kommentarer', icon: '๐Ÿ”–', traits: { bookmarks: {}, tags: {}, publishing: {}, rss: {}, comments: {}, }, }, { id: 'redaksjon', name: 'Redaksjon', description: 'Redaksjonelt arbeid med chat, kanban og kalender', icon: '๐Ÿ—ž๏ธ', traits: { chat: {}, kanban: {}, calendar: {}, editor: { preset: 'longform' }, knowledge_graph: {}, guest_input: {}, }, }, ];