feat: HLS streaming, transcripts, agent course generation & landing-page course previews (#663)

New features:
- HLS video encoding/streaming (hls routes, hls-encoder) and a media
  transcripts pipeline (transcripts route + media-transcript queries)
- AI assistant chat vs. run model: agent-course-generation worker/queue,
  run-monitor pane, chat-changes card, content ask-ai bar
- Per-theme course-page previews across org landing-page themes (bold,
  classic, corporate, editorial, etc.) with a shared course token/component set
- View-as-student mode and login-link / link-invite invite flows

Refactor:
- Extract packages/core consolidating config (env, storage, dashboard-url),
  services and utils previously duplicated under apps/api/src/config
- Remove legacy agent service modules (chat-tools, chat-context,
  context-window, document, fetch-url, lesson-content)
- Relax Cross-Origin-Resource-Policy to allow cross-origin media embedding
- Add format script to tenant-router so turbo run format covers it
This commit is contained in:
Rotimi Best
2026-06-07 18:43:05 +01:00
committed by GitHub
parent a2e70779a0
commit d5b07d356e
496 changed files with 19050 additions and 8312 deletions
+27 -11
View File
@@ -15,18 +15,24 @@ import { RootProvider } from 'fumadocs-ui/provider/react-router';
import { NotFound } from '@/components/not-found';
import './app.css';
const DEFAULT_META_TITLE =
'ClassroomIO Docs | Customer, Partner, and Employee Education';
const DEFAULT_META_DESCRIPTION =
'Learn how to create customer academies, partner certification programs, and employee training workflows in ClassroomIO.';
const DEFAULT_OG_IMAGE_URL = 'https://brand.cdn.clsrio.com/og/classroomio-opengraph.png';
const DEFAULT_OG_IMAGE_ALT = 'ClassroomIO documentation for customer, partner, and employee education';
export const links: LinksFunction = () => [
{ rel: 'icon', href: '/docs/favicon.ico' }
];
export const meta: MetaFunction = () => [
{
title: 'ClassroomIO | The Open Source Learning Management System for Companies'
title: DEFAULT_META_TITLE
},
{
name: 'description',
content:
'A flexible, user-friendly platform for creating, managing, and delivering courses for companies and training organisations'
content: DEFAULT_META_DESCRIPTION
},
{
property: 'og:url',
@@ -38,12 +44,19 @@ export const meta: MetaFunction = () => [
},
{
property: 'og:title',
content: 'ClassroomIO | The Open Source Learning Management System for Companies'
content: DEFAULT_META_TITLE
},
{
property: 'og:description',
content:
'A flexible, user-friendly platform for creating, managing, and delivering courses for companies and training organisations'
content: DEFAULT_META_DESCRIPTION
},
{
property: 'og:image',
content: DEFAULT_OG_IMAGE_URL
},
{
property: 'og:image:alt',
content: DEFAULT_OG_IMAGE_ALT
},
{
property: 'og:image:type',
@@ -59,7 +72,7 @@ export const meta: MetaFunction = () => [
},
{
property: 'og:image:secure_url',
content: 'https://brand.cdn.clsrio.com/og/classroomio-og.png'
content: DEFAULT_OG_IMAGE_URL
},
{
name: 'twitter:card',
@@ -75,12 +88,11 @@ export const meta: MetaFunction = () => [
},
{
name: 'twitter:title',
content: 'ClassroomIO | The Open Source Learning Management System for Companies'
content: DEFAULT_META_TITLE
},
{
name: 'twitter:description',
content:
'A flexible, user-friendly platform for creating, managing, and delivering courses for companies and training organisations'
content: DEFAULT_META_DESCRIPTION
},
{
name: 'twitter:creator',
@@ -88,7 +100,11 @@ export const meta: MetaFunction = () => [
},
{
name: 'twitter:image',
content: 'https://brand.cdn.clsrio.com/og/classroomio-og.png'
content: DEFAULT_OG_IMAGE_URL
},
{
name: 'twitter:image:alt',
content: DEFAULT_OG_IMAGE_ALT
}
];