LobeHub/LobeChat is an open-source AI agent orchestration platform delivered as a full-stack monorepo. It provides a web SPA (Next.js), an Electron desktop application, a CLI tool, and a server backend. The system enables multi-model AI chat, agent definitions with built-in and MCP tool integration, user memory and knowledge bases, evaluation workflows, and acceptance testing. The architecture is modular with packages for model runtime, built-in tools, database (Drizzle ORM + PostgreSQL), prompts, and state management (Zustand). Key entry points include the Next.js app routes, tRPC routers for server-side logic, Hono API for agent execution and workflows, and the Electron main process for desktop features. Data flows involve user messages routed through an agent runtime that coordinates LLM providers, tool execution, and response streaming. External dependencies include PostgreSQL, Redis, S3-compatible storage, various LLM APIs, Upstash QStash for background workflows, and optional Elasticsearch for full-text search.
ts2ocaml is a CLI tool that generates OCaml and ReScript bindings from TypeScript type definitions. It parses TypeScript AST using the TypeScript compiler API (via Fable), transforms the AST into a language-agnostic internal representation, resolves types (including generics, subtyping, unions, intersections), and emits target-specific code for js_of_ocaml (.mli) or ReScript (.res/.resi). The tool is implemented in F#, compiled to JavaScript via Fable, and distributed as an npm package. It supports multiple backends via a pluggable ITarget interface, includes a comprehensive type resolver (Typer), and provides utilities for naming, text manipulation (rope), trie-based data structures, and dependency graph analysis (topological sort, SCC). The repository also ships a minimal standard library for each target to support emitted bindings. It is actively maintained with CI, frequent releases, and documentation for modeling subtyping and development setup.