-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathai.interface.ts
More file actions
84 lines (78 loc) · 2.1 KB
/
ai.interface.ts
File metadata and controls
84 lines (78 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// Copyright The Linux Foundation and each contributor to LFX.
// SPDX-License-Identifier: MIT
import { MeetingType } from '../enums';
/**
* Request interface for AI agenda generation
*/
export interface GenerateAgendaRequest {
/** Type of meeting for agenda generation */
meetingType: MeetingType;
/** Meeting title */
title: string;
/** Name of the project for contextualized agenda */
projectName: string;
/** Additional context or specific requirements */
context?: string;
/** Maximum characters allowed for the generated agenda */
maxCharacters?: number;
}
/**
* Response interface for AI agenda generation
*/
export interface GenerateAgendaResponse {
/** Generated agenda content in markdown format */
agenda: string;
/** AI-estimated duration in minutes (30-240 range) */
estimatedDuration: number;
}
/**
* OpenAI chat message interface
*/
export interface OpenAIChatMessage {
/** Role of the message sender */
role: 'system' | 'user' | 'assistant';
/** Content of the message */
content: string;
}
/**
* OpenAI chat completion request interface
*/
export interface OpenAIChatRequest {
/** Model identifier */
model: string;
/** Array of chat messages */
messages: OpenAIChatMessage[];
/** Maximum tokens to generate */
max_tokens?: number;
/** Sampling temperature for response variability */
temperature?: number;
/** Response format specification */
response_format?: {
/** Type of response format */
type: 'text' | 'json_object' | 'json_schema';
/** JSON schema definition when type is json_schema */
json_schema?: {
/** Schema name */
name: string;
/** Schema description */
description?: string;
/** JSON schema definition */
schema: Record<string, any>;
};
/** Strict mode for JSON schema validation */
strict?: boolean;
};
}
/**
* OpenAI chat completion response interface
*/
export interface OpenAIChatResponse {
/** Array of response choices */
choices: Array<{
/** Generated message */
message: {
/** Content of the generated message */
content: string;
};
}>;
}