Type-safe TypeScript clients for ClassFlow's internal modules — Approval, Communication, Identity, Registry and Skill SDK.
This monorepo hosts the five public-API client packages that ClassFlow's
backend (api/) and desktop app (desktop/) consume. They are the
"shape" contracts (types + thin HTTP / in-process clients) that decouple
plugins and external SDK consumers from server-side internals.
| Package | Purpose | npm (pending publish) |
|---|---|---|
@classflow-api/approval-client |
Approval Platform client (workflows, templates, delegations, CC, comments, attachments) | npm i @classflow-api/approval-client |
@classflow-api/communication-client |
Messaging templates + dispatch (email/sms/in-app) | npm i @classflow-api/communication-client |
@classflow-api/identity-client |
Accounts, profiles, children, invites | npm i @classflow-api/identity-client |
@classflow-api/registry-client |
Resource Registry (persons, spaces, units, sections, courses, sync) | npm i @classflow-api/registry-client |
@classflow-api/skill-sdk |
Skill manifest definition, validation, MCP/OpenAI/Anthropic adapters, HTTP client | npm i @classflow-api/skill-sdk |
packages/
├── package.json # workspace root (private)
├── pnpm-workspace.yaml
├── tsconfig.base.json
├── tsup.config.base.ts
└── packages/
├── approval-client/
├── communication-client/
├── identity-client/
├── registry-client/
└── skill-sdk/
Each sub-package emits dual ESM + CJS bundles plus .d.ts via tsup, and
ships under the MIT license.
pnpm install
pnpm -r typecheck
pnpm -r build
pnpm -r testPhase one (this repo) only prepares the source. The publish flow lives
under a separate plan and updates api/package.json + desktop/package.json
to consume the published versions instead of the file:../../packages/*
links currently in place.