@wearesage/schema
Version:
A flexible schema definition and validation system for TypeScript with multi-database support
52 lines (49 loc) • 1.14 kB
text/typescript
/**
* Space Type Definitions
* Defines the different types of spaces in the SAGE ecosystem
*/
export enum SpaceType {
CONVERSATION = 'conversation',
TOPIC = 'topic',
PROJECT = 'project',
TEAM = 'team',
USER = 'user',
CODE = 'code',
KNOWLEDGE = 'knowledge'
}
export type SpaceTypeString = keyof typeof SpaceType | string;
// Helper type for space-specific properties
export interface SpaceTypeConfig {
[SpaceType.CONVERSATION]: {
model: string;
temperature: number;
conversationType: 'chat' | 'task' | 'brainstorm' | 'debug' | 'research';
};
[SpaceType.TOPIC]: {
keywords: string[];
importanceScore: number;
};
[SpaceType.PROJECT]: {
status: 'planning' | 'active' | 'paused' | 'completed';
deadline?: Date;
};
[SpaceType.TEAM]: {
memberCount: number;
visibility: 'public' | 'private' | 'invite-only';
};
[SpaceType.USER]: {
profile: {
displayName: string;
bio?: string;
};
};
[SpaceType.CODE]: {
repository: string;
language: string;
branch?: string;
};
[SpaceType.KNOWLEDGE]: {
domain: string;
confidence: number;
};
}