Multi language - #9
Merged
Merged
Conversation
…ariables and example components
…ment with error handling
… send, and delete functionalities
…n endpoint mapping
…ient creation logic
…rdings and transcribe modules
…nts and configurations
…ling and updating connection methods
…nt initialization
Natalia Markitantova (markitosha)
marked this pull request as ready for review
March 13, 2026 22:00
Copilot started reviewing on behalf of
Natalia Markitantova (markitosha)
March 13, 2026 22:00
View session
Contributor
There was a problem hiding this comment.
Pull request overview
This PR restructures the repository into a set of self-contained Corti example applications across multiple languages/frameworks, replacing the previous single Next.js “hackathon” example with dedicated TypeScript (Next.js + Express) and .NET sample projects, plus Postman assets and CI.
Changes:
- Removes the previous Next.js demo app and its API/example pages under
src/. - Adds TypeScript examples: a Next.js auth-flows UI (
next-auth-examples) and an Express Web API (express-web-api). - Adds a .NET Web API example plus shared Postman environments/globals and a PR-only CI workflow for examples.
Reviewed changes
Copilot reviewed 116 out of 133 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| src/common/useInteraction.ts | Removed legacy Next.js interaction hook (old demo app removed). |
| src/common/JsonComponents.tsx | Removed legacy JSON rendering helper (old demo app removed). |
| src/common/AuthContext.tsx | Removed legacy auth context/provider (old demo app removed). |
| src/app/page.tsx | Removed legacy home/auth flow UI (old demo app removed). |
| src/app/layout.tsx | Removed legacy app layout/provider wiring (old demo app removed). |
| src/app/globals.css | Removed legacy global styles (old demo app removed). |
| src/app/examples/transcripts/page.tsx | Removed legacy transcripts example page. |
| src/app/examples/transcribe/page.tsx | Removed legacy transcribe WS example page. |
| src/app/examples/templates/page.tsx | Removed legacy templates example page. |
| src/app/examples/stream/page.tsx | Removed legacy stream WS example page. |
| src/app/examples/records/page.tsx | Removed legacy recordings example page. |
| src/app/examples/interactions/page.tsx | Removed legacy interactions example page. |
| src/app/examples/facts/page.tsx | Removed legacy facts example page. |
| src/app/examples/documents/page.tsx | Removed legacy documents example page. |
| src/app/callback/page.tsx | Removed legacy auth callback page. |
| src/app/api/frontend-endpoints/auth-cred/route.ts | Removed legacy frontend auth credential endpoint. |
| src/app/api/frontend-endpoints/auth-code/route.ts | Removed legacy auth-code exchange endpoint. |
| src/app/api/frontend-endpoints/auth-code-refresh/route.ts | Removed legacy auth-code refresh endpoint. |
| src/app/api/examples/transcripts/route.ts | Removed legacy transcripts API example endpoint. |
| src/app/api/examples/templates/route.ts | Removed legacy templates API example endpoint. |
| src/app/api/examples/records/route.ts | Removed legacy recordings API example endpoint. |
| src/app/api/examples/interactions/route.ts | Removed legacy interactions API example endpoint. |
| src/app/api/examples/facts/route.ts | Removed legacy facts API example endpoint. |
| src/app/api/examples/documents/route.ts | Removed legacy documents API example endpoint. |
| src/app/api/examples/corti-docs/interaction/route.js | Removed legacy “corti-docs” interaction example endpoint. |
| src/app/api/examples/corti-docs/full/route.js | Removed legacy “corti-docs” full-flow example endpoint. |
| src/app/api/examples/auth/route.ts | Removed legacy auth comparison example endpoint. |
| postcss.config.mjs | Removed root PostCSS config (old root Next app removed). |
| eslint.config.mjs | Removed root ESLint config (old root Next app removed). |
| .env.example | Removed root env example (old root Next app removed). |
| README.md | Updates repository README to describe the new multi-project structure. |
| .gitignore | Expands ignore rules (IDE, dist, .NET build outputs, local props). |
| .github/workflows/sdk-examples-ci.yml | Adds PR CI for example subprojects (paths-filtered jobs). |
| sdk/typescript/README.md | Adds TypeScript examples index README. |
| sdk/typescript/next-auth-examples/tsconfig.json | Updates TS config for the Next auth example app. |
| sdk/typescript/next-auth-examples/package.json | Defines dependencies/scripts for the Next auth example app. |
| sdk/typescript/next-auth-examples/package-lock.json | Locks dependencies for the Next auth example app. |
| sdk/typescript/next-auth-examples/next.config.ts | Adds Next config for the Next auth example app. |
| sdk/typescript/next-auth-examples/postcss.config.mjs | Adds PostCSS config for Tailwind in the Next auth example app. |
| sdk/typescript/next-auth-examples/biome.json | Adds Biome config for the Next auth example app. |
| sdk/typescript/next-auth-examples/.gitignore | Adds project-local ignore rules for the Next auth example app. |
| sdk/typescript/next-auth-examples/README.md | Documents the Next auth example app and security guidance. |
| sdk/typescript/next-auth-examples/app/layout.tsx | Root layout for Next auth example app. |
| sdk/typescript/next-auth-examples/app/page.tsx | Main UI implementing four auth flows + interactions fetch. |
| sdk/typescript/next-auth-examples/app/globals.css | Tailwind import for the Next auth example app. |
| sdk/typescript/next-auth-examples/app/lib/constants.ts | Shared UI copy/constants + initial form state. |
| sdk/typescript/next-auth-examples/app/lib/types.ts | Shared types for token responses and form state. |
| sdk/typescript/next-auth-examples/app/lib/tokenRequest.ts | Client helper for calling token API routes. |
| sdk/typescript/next-auth-examples/app/lib/useInteractionsList.ts | Client hook to fetch interactions using an access token. |
| sdk/typescript/next-auth-examples/app/lib/utils.ts | Utility helpers (masking, JSON parsing, error status). |
| sdk/typescript/next-auth-examples/app/api/auth/token/route.ts | API route for client-credentials token exchange. |
| sdk/typescript/next-auth-examples/app/api/auth/token/ropc/route.ts | API route for ROPC token exchange. |
| sdk/typescript/next-auth-examples/app/api/auth/token/authcode/route.ts | API route for auth-code token exchange. |
| sdk/typescript/next-auth-examples/app/api/auth/token/pkce/route.ts | API route for PKCE token exchange. |
| sdk/typescript/next-auth-examples/app/components/Button.tsx | Shared button component for the Next auth example app. |
| sdk/typescript/next-auth-examples/app/components/BackButton.tsx | Back navigation component for the Next auth example app. |
| sdk/typescript/next-auth-examples/app/components/FormField.tsx | Labeled input component used by auth forms. |
| sdk/typescript/next-auth-examples/app/components/CopyableField.tsx | Copy-to-clipboard field for tokens/codes. |
| sdk/typescript/next-auth-examples/app/components/WarningBanner.tsx | Security warning banner. |
| sdk/typescript/next-auth-examples/app/components/IntroView.tsx | Flow selection view. |
| sdk/typescript/next-auth-examples/app/components/SuccessView.tsx | Success screen showing token + interactions list preview. |
| sdk/typescript/next-auth-examples/app/components/ClientCredentialsForm.tsx | UI form for client-credentials flow. |
| sdk/typescript/next-auth-examples/app/components/RopcCredentialsForm.tsx | UI form for ROPC flow. |
| sdk/typescript/next-auth-examples/app/components/AuthCodeCredentialsForm.tsx | UI form for auth-code flow. |
| sdk/typescript/next-auth-examples/app/components/PkceCredentialsForm.tsx | UI form for PKCE flow. |
| sdk/typescript/next-auth-examples/app/components/AuthCodeReceivedView.tsx | UI for displaying received code and proceeding with exchange. |
| sdk/typescript/next-auth-examples/public/file.svg | Static asset for Next auth example app. |
| sdk/typescript/next-auth-examples/public/globe.svg | Static asset for Next auth example app. |
| sdk/typescript/next-auth-examples/public/next.svg | Static asset for Next auth example app. |
| sdk/typescript/next-auth-examples/public/vercel.svg | Static asset for Next auth example app. |
| sdk/typescript/next-auth-examples/public/window.svg | Static asset for Next auth example app. |
| sdk/typescript/express-web-api/package.json | Defines dependencies/scripts for Express Web API example. |
| sdk/typescript/express-web-api/package-lock.json | Locks dependencies for Express Web API example. |
| sdk/typescript/express-web-api/tsconfig.json | TS build configuration for Express Web API example. |
| sdk/typescript/express-web-api/biome.json | Biome config for Express Web API example. |
| sdk/typescript/express-web-api/README.md | Documents Express Web API endpoints and setup. |
| sdk/typescript/express-web-api/.env.example | Example env config for Express Web API credentials. |
| sdk/typescript/express-web-api/src/index.ts | Express server bootstrap and route registration. |
| sdk/typescript/express-web-api/src/routes/index.ts | Central route registry. |
| sdk/typescript/express-web-api/src/routes/interactions.ts | Interactions CRUD/list example endpoint. |
| sdk/typescript/express-web-api/src/routes/recordings.ts | Recordings list/upload/get/delete example endpoint. |
| sdk/typescript/express-web-api/src/routes/transcripts.ts | Transcripts list/create/get/delete example endpoint. |
| sdk/typescript/express-web-api/src/routes/facts.ts | Facts list/create/update/batch/extract example endpoint. |
| sdk/typescript/express-web-api/src/routes/codes.ts | Codes prediction example endpoint. |
| sdk/typescript/express-web-api/src/routes/templates.ts | Templates list/sections/get example endpoint. |
| sdk/typescript/express-web-api/src/routes/agents.ts | Agents list/create/message/task/context example endpoint. |
| sdk/typescript/express-web-api/src/routes/documents.ts | Documents list/create/get/update/delete example endpoint. |
| sdk/typescript/express-web-api/src/routes/stream.ts | Stream WebSocket example endpoint. |
| sdk/typescript/express-web-api/src/routes/transcribe.ts | Transcribe WebSocket example endpoint. |
| sdk/typescript/express-web-api/src/routes/clientVariants.ts | Exercises multiple CortiClient auth/env construction variants. |
| sdk/typescript/express-web-api/src/lib/asyncHandler.ts | Async handler wrapper for Express. |
| sdk/typescript/express-web-api/src/lib/corti.ts | Centralized Corti config/client helpers + error shaping. |
| sdk/typescript/express-web-api/src/lib/sample.ts | Sample file path resolution helper. |
| sdk/typescript/express-web-api/sample/trouble-breathing.mp3 | Audio sample used by Express example endpoints. |
| sdk/postman/README.md | Instructions for using Postman with the example APIs. |
| sdk/postman/globals/workspace.postman_globals.json | Workspace globals export. |
| sdk/postman/environments/JS.postman_environment.json | Postman environment for Express example host. |
| sdk/postman/environments/DotNet.postman_environment.json | Postman environment for .NET example host. |
| sdk/postman/environments/DotNet-Docker.postman_environment.json | Postman environment for .NET Docker host. |
| sdk/dotnet/.editorconfig | Adds .NET coding conventions for the .NET examples. |
| sdk/dotnet/web-api/Corti.Sdk.Examples.Api.csproj | New .NET Web API project file and package/project reference switching. |
| sdk/dotnet/web-api/Program.cs | ASP.NET Core minimal host bootstrapping + endpoint mapping. |
| sdk/dotnet/web-api/CortiHelpers.cs | Shared helper for config parsing, client creation, sample resolution, error shaping. |
| sdk/dotnet/web-api/appsettings.json | Base .NET logging and hosting config. |
| sdk/dotnet/web-api/appsettings.Development.json | Dev logging config. |
| sdk/dotnet/web-api/Properties/launchSettings.json | Local launch profiles and env scaffolding. |
| sdk/dotnet/web-api/Dockerfile | Docker build/run setup for the .NET example. |
| sdk/dotnet/web-api/.dockerignore | Docker ignore patterns (including secrets/local files). |
| sdk/dotnet/web-api/Directory.Build.props | Optional import for local SDK override props. |
| sdk/dotnet/web-api/local.Corti.props.example | Example local SDK override file (gitignored when copied). |
| sdk/dotnet/web-api/README.md | Documents .NET Web API endpoints and setup. |
| sdk/dotnet/web-api/Corti.Sdk.Examples.Api.http | HTTP scratch file for local testing. |
| sdk/dotnet/web-api/sample/trouble-breathing.mp3 | Audio sample used by .NET example endpoints. |
| sdk/dotnet/web-api/Endpoints/InteractionsEndpoint.cs | Interactions example endpoint. |
| sdk/dotnet/web-api/Endpoints/RecordingsEndpoint.cs | Recordings example endpoint. |
| sdk/dotnet/web-api/Endpoints/TranscriptsEndpoint.cs | Transcripts example endpoint. |
| sdk/dotnet/web-api/Endpoints/FactsEndpoint.cs | Facts example endpoint. |
| sdk/dotnet/web-api/Endpoints/CodesEndpoint.cs | Codes prediction example endpoint. |
| sdk/dotnet/web-api/Endpoints/TemplatesEndpoint.cs | Templates example endpoint. |
| sdk/dotnet/web-api/Endpoints/AgentsEndpoint.cs | Agents example endpoint. |
| sdk/dotnet/web-api/Endpoints/DocumentsEndpoint.cs | Documents example endpoint. |
| sdk/dotnet/web-api/Endpoints/StreamEndpoint.cs | Stream WebSocket example endpoint. |
| sdk/dotnet/web-api/Endpoints/TranscribeEndpoint.cs | Transcribe WebSocket example endpoint. |
| sdk/dotnet/web-api/Endpoints/ClientVariantsEndpoint.cs | Exercises multiple CortiClient variants in .NET. |
Files not reviewed (2)
- sdk/typescript/express-web-api/package-lock.json: Language not supported
- sdk/typescript/next-auth-examples/package-lock.json: Language not supported
Comments suppressed due to low confidence (2)
sdk/typescript/next-auth-examples/package.json:18
- Dependency versions here look potentially invalid/unreleased based on common published versions (e.g.
next:16.1.6,react:19.2.3). If these aren’t actually published, installs/builds will fail; consider pinning to known released versions or adding a note/constraint explaining the required prerelease channel.
sdk/typescript/next-auth-examples/tsconfig.json:23 - tsconfig.json defines a path alias ("paths": {"@/": ["./"]}) but does not set "baseUrl". TypeScript requires "baseUrl" when using "paths", otherwise compilation fails (TS5090). Add a baseUrl (typically ".") or remove the alias mapping.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Juozas (juozaspeleckas)
approved these changes
Mar 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.