@knn_labs/conduit-common
v0.2.0
Published
Common types and utilities for Conduit SDK clients
Readme
@knn_labs/conduit-common
Shared types and utilities for Conduit SDK clients.
Overview
This package contains common TypeScript types and utility functions used by both the Admin and Core SDK clients. It eliminates type duplication and ensures consistency across all Conduit client packages.
Installation
This package is not published to npm and is used locally within the Conduit monorepo:
{
"dependencies": {
"@knn_labs/conduit-common": "file:../Common"
}
}Included Types
Base Types
PaginatedResponse<T>- Standard paginated response formatPagedResponse<T>- Alternative paged response formatErrorResponse- Standard error response structureApiResponse<T>- Generic API response wrapperSortDirection- Sort direction enum ('asc' | 'desc')SortOptions- Sorting configurationFilterOptions- Filtering and pagination optionsDateRange- Date range specificationHttpMethod- HTTP method typesRequestOptions- Request configuration optionsUsage- Token usage trackingPerformanceMetrics- Performance measurement data
Pagination Types
PaginationParams- Basic pagination parametersSearchParams- Search with paginationTimeRangeParams- Time-based filteringBatchOperationParams- Batch operation configuration
Model Capabilities
ModelCapability- Enum of all supported model capabilitiesModelCapabilityInfo- Capability metadataModelCapabilities- Model capability definitionModelConstraints- Model-specific constraintsgetCapabilityDisplayName()- Get human-readable capability namesgetCapabilityCategory()- Get capability category
Usage
Importing Types
import type {
PaginatedResponse,
ErrorResponse,
ModelCapability
} from '@knn_labs/conduit-common';Using Model Capabilities
import { ModelCapability, getCapabilityDisplayName } from '@knn_labs/conduit-common';
// Check capability
if (capability === ModelCapability.CHAT) {
console.log('Chat model');
}
// Get display name
const displayName = getCapabilityDisplayName(ModelCapability.IMAGE_GENERATION);
// Returns: "Image Generation"Development
To build the package:
npm run buildTo watch for changes:
npm run devType Safety
When re-exporting types from this package, use export type to ensure proper TypeScript compilation:
// Correct
export type { PaginatedResponse, ErrorResponse } from '@knn_labs/conduit-common';
// Also correct for type aliases and enums
export { type SortDirection, ModelCapability } from '@knn_labs/conduit-common';