Puter is a full-stack, self-hosted 'internet computer' — a browser-based desktop environment (file manager, app launcher, AI services, static-site hosting, serverless workers) backed by a Node.js kernel. The repo is a monorepo of five interlocking sub-packages: a TypeScript backend kernel (`src/backend`), a browser GUI (`src/gui`), a published JavaScript SDK (`src/puter-js`), a CLI (`src/cli`), and a Cloudflare-Worker port (`src/worker`) plus an MCP connector (`src/mcp-connector`). The kernel is the centerpiece: it layers clients (MySQL/Postgres/SQLite, DynamoDB, S3, Redis, email, alarms), stores (user, app, FS entry, session, share, permission, group, KV, OIDC, notification, subdomain), services (auth, FS, metering, permission, ACL, broadcast, notification, OIDC, app-icon, health), controllers (REST + WebDAV + WISP + Peer endpoints), and drivers (AI chat/TTS/STT/image/video/OCR, KV, apps, subdomains, notifications, workers) behind a custom `PuterServer` that wires them together with ordered peer-dependency construction. Configuration is a three-tier deep-merge (config.default.json → config.json → PUTER_CONFIG_PATH) computed at startup. The backend is well-tested with vitest unit, integration, and benchmark suites; the SDK ships with Playwright e2e tests. The GUI is a large, jQuery-based desktop UI with its own webpack build and a component system. Notable engineering: a type-safe permission/ACL system with rewriters and implicators, a metering/subscription model in microcents, a multi-engine database abstraction with ordered migrations, a driver pattern with per-operation cost tables, a token v1→v2 silent-migration path, a reauth coordinator with shared in-flight promises, and a worker-types package that provides template-literal route-param inference for the worker runtime. The codebase is actively maintained (June 2026), uses current Node 24 / TypeScript 5.9 / Express 5 tooling, and has CI for backend tests, docs builds, release-please, and Docker image publishing.
This is the Cisco Webex JavaScript SDK, a large monorepo providing client libraries for integrating with Webex collaboration services including messaging, meetings, calling, contact center, and device management. The SDK is organized into multiple packages under `packages/@webex/` and `packages/`, with a plugin-based architecture built on a core framework (`webex-core`) that provides HTTP interceptors, storage adapters, eventing, and batcher patterns. The codebase is predominantly JavaScript with increasing TypeScript adoption in newer packages. It includes extensive unit and integration tests, sample applications, and a browser extension bridge for secure cross-context messaging. While the SDK is actively maintained and used in production, it exhibits some technical drift due to legacy packages, mixed test runners (Mocha, Jest, Karma, Playwright), and outdated tooling references (e.g., Node 10 in CI scripts). The architecture is modular and many components (interceptors, batchers, rate limiters, state machines) are well-crafted and potentially reusable in other projects.