back to features

SDK Type Safety

End-to-end TypeScript types across the entire platform - APIs, ability templates, reports, configurations, and events are all fully typed for static verification before shipping.

The ChatBotKit SDKs are built TypeScript-first from the ground up. Every API surface, ability template, report structure, configuration object, and streaming event is fully typed end to end. Your editor and CI pipeline catch mistakes at compile time so nothing ships without static verification.

This is not limited to API requests and responses. Ability templates carry typed input schemas. Report payloads are typed. Bot configurations, dataset records, skillset definitions, integration setups, and webhook events all have first-class TypeScript types. If the platform exposes it, the SDK types it.

Key Features

  • Full types for every API resource - Bots, datasets, skillsets, conversations, contacts, secrets, files, integrations, and all sub-resources are fully typed with request and response shapes.
  • Typed ability templates - Ability input parameters, output schemas, and configuration options are statically checked so template misconfigurations are caught before deployment.
  • Typed reports and analytics - Usage reports, performance analytics, and event monitoring payloads all carry typed structures.
  • Typed streaming events - Every streaming event (token, tool call, message, error) is narrowed by TypeScript so you always know the exact payload shape.
  • Typed configuration objects - Bot backstories, model parameters, integration setups, and webhook payloads are all defined with strict types.
  • IDE auto-completion everywhere - Discover available methods, parameters, options, and enum values without leaving your editor.
  • Compile-time error detection - Catch typos, missing required fields, incorrect parameter types, and invalid enum values before you deploy.
  • Cross-platform support - Works across Node.js, Deno, Bun, edge runtimes (Cloudflare Workers, Vercel Edge), and browsers with ESM and CJS dual publishing.

What This Means in Practice

Every interaction with the platform can be statically verified. When you create a bot, the compiler enforces which fields are required and what types they accept. When you define an ability template, the input schema is checked against the handler signature. When you consume a streaming response, each event type narrows to its specific payload shape.

This end-to-end type coverage means your CI pipeline can catch integration errors, misconfigured templates, and incorrect API usage before any code reaches production. You ship faster because you spend less time debugging runtime issues that the type system already prevents.