Skip to content

Multi language - #9

Merged
Natalia Markitantova (markitosha) merged 30 commits into
mainfrom
multi-language
Mar 16, 2026
Merged

Natalia Markitantova (markitosha) merged 30 commits into
mainfrom
multi-language

Conversation

@markitosha

Copy link
Copy Markdown
Collaborator

No description provided.

@markitosha
Natalia Markitantova (markitosha) marked this pull request as ready for review March 13, 2026 22:00
Copilot AI review requested due to automatic review settings March 13, 2026 22:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .github/workflows/sdk-examples-ci.yml
Comment thread sdk/typescript/next-auth-examples/app/api/auth/token/pkce/route.ts
Comment thread sdk/typescript/next-auth-examples/app/api/auth/token/ropc/route.ts
Comment thread sdk/typescript/next-auth-examples/app/api/auth/token/route.ts
Comment thread sdk/typescript/next-auth-examples/app/page.tsx
Comment thread sdk/typescript/next-auth-examples/app/components/CopyableField.tsx
@markitosha
Natalia Markitantova (markitosha) merged commit 668882e into main Mar 16, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants