1+ import AdminForthAgent from '@adminforth/agent' ;
2+ import { getLocalizedPlaceholderMessages } from './resources/agent_resources/placeholderMessages' ;
3+ import OpenAIAudioAdapter from '@adminforth/audio-adapter-openai'
4+ import CompletionAdapterOpenAIResponses from '@adminforth/completion-adapter-openai-responses' ;
5+
6+ const openAiApiKey = process . env . OPENAI_API_KEY as string ;
7+
8+ const createCompletionAdapter = (
9+ model : string ,
10+ effort : 'low' | 'medium' | 'xhigh' ,
11+ ) => new CompletionAdapterOpenAIResponses ( {
12+ openAiApiKey,
13+ model,
14+ extraRequestBodyParameters : {
15+ reasoning : {
16+ effort,
17+ } ,
18+ } ,
19+ } ) ;
20+
21+ const balancedCompletionAdapter = createCompletionAdapter ( 'gpt-5.4-mini' , 'medium' ) ;
22+ const fastCompletionAdapter = createCompletionAdapter ( 'gpt-5.4-mini' , 'low' ) ;
23+ const smartThinkingCompletionAdapter = createCompletionAdapter ( 'gpt-5.4' , 'xhigh' ) ;
24+
25+ export const adminForthAgent = new AdminForthAgent ( {
26+ audioAdapter : new OpenAIAudioAdapter ( {
27+ apiKey : openAiApiKey ,
28+ defaultVoice : 'alloy' ,
29+ defaultSpeed : 1.25 ,
30+ } ) ,
31+ placeholderMessages : async ( { httpExtra } : any ) => getLocalizedPlaceholderMessages ( {
32+ completionAdapter : fastCompletionAdapter as any ,
33+ httpExtra,
34+ } ) ,
35+ modes : [
36+ {
37+ name : 'Balanced' ,
38+ completionAdapter : balancedCompletionAdapter ,
39+ } ,
40+ {
41+ name : 'Fast' ,
42+ completionAdapter : fastCompletionAdapter ,
43+ } ,
44+ {
45+ name : 'Smart Thinking' ,
46+ completionAdapter : smartThinkingCompletionAdapter ,
47+ } ,
48+ ] ,
49+ maxTokens : 10000 ,
50+ sessionResource : {
51+ resourceId : 'sessions' ,
52+ idField : 'id' ,
53+ titleField : 'title' ,
54+ turnsField : 'turns' ,
55+ askerIdField : 'asker_id' ,
56+ createdAtField : 'created_at' ,
57+ } ,
58+ turnResource : {
59+ resourceId : 'turns' ,
60+ idField : 'id' ,
61+ sessionIdField : 'session_id' ,
62+ createdAtField : 'created_at' ,
63+ promptField : 'prompt' ,
64+ responseField : 'response' ,
65+ } ,
66+ checkpointResource : {
67+ resourceId : 'agent_checkpoints' ,
68+ idField : 'id' ,
69+ threadIdField : 'thread_id' ,
70+ checkpointNamespaceField : 'checkpoint_namespace' ,
71+ checkpointIdField : 'checkpoint_id' ,
72+ parentCheckpointIdField : 'parent_checkpoint_id' ,
73+ rowKindField : 'row_kind' ,
74+ taskIdField : 'task_id' ,
75+ sequenceField : 'sequence' ,
76+ createdAtField : 'created_at' ,
77+ checkpointPayloadField : 'checkpoint_payload' ,
78+ metadataPayloadField : 'metadata_payload' ,
79+ writesPayloadField : 'writes_payload' ,
80+ schemaVersionField : 'schema_version' ,
81+ } ,
82+ stickByDefault : true ,
83+ } )
0 commit comments