Skip to content

Commit 6331d94

Browse files
chore: packages update
1 parent ce5efb2 commit 6331d94

File tree

19 files changed

+3112
-5775
lines changed

19 files changed

+3112
-5775
lines changed

apps/api/src/app/chat/agents/currency/get-currency.agent.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { Injectable } from '@nestjs/common';
2-
import { AssistantCreateParams } from 'openai/resources/beta';
2+
import { FunctionTool } from 'openai/resources/beta';
33
import { AgentBase, AgentData, AgentService } from '@boldare/openai-assistant';
44
import { CurrencyService } from './currency.service';
55

66
@Injectable()
77
export class GetCurrencyAgent extends AgentBase {
8-
override definition: AssistantCreateParams.AssistantToolsFunction = {
8+
override definition: FunctionTool = {
99
type: 'function',
1010
function: {
1111
name: this.constructor.name,

apps/api/src/app/chat/agents/pokemon/get-pokemon-list.agent.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { Injectable } from '@nestjs/common';
2-
import { AssistantCreateParams } from 'openai/resources/beta';
32
import { AgentBase, AgentService } from '@boldare/openai-assistant';
43
import { PokemonService } from './pokemon.service';
4+
import { FunctionTool } from 'openai/resources/beta';
55

66
@Injectable()
77
export class GetPokemonListAgent extends AgentBase {
8-
override definition: AssistantCreateParams.AssistantToolsFunction = {
8+
override definition: FunctionTool = {
99
type: 'function',
1010
function: {
1111
name: this.constructor.name,

apps/api/src/app/chat/agents/pokemon/get-pokemon-stats.agent.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { Injectable } from '@nestjs/common';
2-
import { AssistantCreateParams } from 'openai/resources/beta';
2+
import { FunctionTool } from 'openai/resources/beta';
33
import { AgentBase, AgentData, AgentService } from '@boldare/openai-assistant';
44
import { PokemonService } from './pokemon.service';
55

66
@Injectable()
77
export class GetPokemonStatsAgent extends AgentBase {
8-
override definition: AssistantCreateParams.AssistantToolsFunction = {
8+
override definition: FunctionTool = {
99
type: 'function',
1010
function: {
1111
name: this.constructor.name,

apps/api/src/app/chat/agents/weather/get-current-weather.agent.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { Injectable } from '@nestjs/common';
2-
import { AssistantCreateParams } from 'openai/resources/beta';
2+
import { FunctionTool } from 'openai/resources/beta';
33
import { AgentBase, AgentData, AgentService } from '@boldare/openai-assistant';
44
import { WeatherService } from './weather.service';
55

66
@Injectable()
77
export class GetCurrentWeatherAgent extends AgentBase {
8-
override definition: AssistantCreateParams.AssistantToolsFunction = {
8+
override definition: FunctionTool = {
99
type: 'function',
1010
function: {
1111
name: this.constructor.name,

apps/spa/src/app/components/chat/chat-audio/chat-audio.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, Input, OnInit } from '@angular/core';
22
import { ChatClientService } from '../../../modules/+chat/shared/chat-client.service';
3-
import { Message, SpeechVoice } from '../../../modules/+chat/shared/chat.model';
3+
import { ChatMessage, SpeechVoice } from '../../../modules/+chat/shared/chat.model';
44
import { environment } from '../../../../environments/environment';
55
import { MatIconModule } from '@angular/material/icon';
66
import { delay } from 'rxjs';
@@ -15,7 +15,7 @@ import { NgClass } from '@angular/common';
1515
styleUrl: './chat-audio.component.scss',
1616
})
1717
export class ChatAudioComponent implements OnInit {
18-
@Input() message!: Message;
18+
@Input() message!: ChatMessage;
1919
isAudioEnabled = environment.isAudioEnabled;
2020
isStarted = false;
2121
audio = new Audio();

apps/spa/src/app/components/chat/chat-message/chat-message.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Component, HostBinding, Input } from '@angular/core';
2-
import { ChatRole, Message } from '../../../modules/+chat/shared/chat.model';
2+
import { ChatRole, ChatMessage } from '../../../modules/+chat/shared/chat.model';
33
import { MarkdownComponent } from 'ngx-markdown';
44
import { ChatAudioComponent } from '../chat-audio/chat-audio.component';
55
import { NgClass } from '@angular/common';
@@ -18,7 +18,7 @@ import { ChatAvatarComponent } from '../chat-avatar/chat-avatar.component';
1818
],
1919
})
2020
export class ChatMessageComponent {
21-
@Input() message!: Message;
21+
@Input() message!: ChatMessage;
2222
@Input() class = '';
2323
chatRole = ChatRole;
2424

apps/spa/src/app/components/chat/chat-messages/chat-messages.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
SimpleChanges,
1111
ViewChildren,
1212
} from '@angular/core';
13-
import { Message } from '../../../modules/+chat/shared/chat.model';
13+
import { ChatMessage } from '../../../modules/+chat/shared/chat.model';
1414
import { ChatMessageComponent } from '../chat-message/chat-message.component';
1515
import { ChatTypingComponent } from '../chat-typing/chat-typing.component';
1616
import { ChatContentComponent } from '../chat-content/chat-content.component';
@@ -29,7 +29,7 @@ import { ChatTipsComponent } from '../chat-tips/chat-tips.component';
2929
],
3030
})
3131
export class ChatMessagesComponent implements AfterViewInit, OnChanges {
32-
@Input() messages: Message[] = [];
32+
@Input() messages: ChatMessage[] = [];
3333
@Input() isTyping = false;
3434
@Input() tips: string[] = [];
3535
@Output() tipSelected$ = new EventEmitter<string>();

apps/spa/src/app/modules/+chat/shared/chat.model.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export enum ChatRole {
88
System = 'system',
99
}
1010

11-
export interface Message {
11+
export interface ChatMessage {
1212
metadata?: Record<string, unknown>;
1313
content: string;
1414
role: ChatRole;
@@ -19,7 +19,7 @@ export enum ChatEvents {
1919
MessageReceived = 'message_received',
2020
}
2121

22-
export enum MessageStatus {
22+
export enum ChatMessageStatus {
2323
Invisible = 'invisible',
2424
}
2525

apps/spa/src/app/modules/+chat/shared/chat.service.ts

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,23 @@ import {
99
take,
1010
tap,
1111
} from 'rxjs';
12-
import { ChatRole, Message, MessageStatus } from './chat.model';
12+
import { ChatRole, ChatMessage, ChatMessageStatus } from './chat.model';
1313
import { ChatGatewayService } from './chat-gateway.service';
1414
import { ChatClientService } from './chat-client.service';
1515
import { ThreadService } from './thread.service';
1616
import { ChatFilesService } from './chat-files.service';
1717
import { environment } from '../../../../environments/environment';
1818
import { OpenAiFile, GetThreadResponseDto } from '@boldare/openai-assistant';
19-
import { Threads } from 'openai/resources/beta';
20-
import MessageContentText = Threads.MessageContentText;
21-
import { ThreadMessage } from 'openai/resources/beta/threads';
19+
import { Message } from 'openai/resources/beta/threads/messages';
20+
import { TextContentBlock } from 'openai/resources/beta/threads/messages/messages';
21+
2222

2323
@Injectable({ providedIn: 'root' })
2424
export class ChatService {
2525
isLoading$ = new BehaviorSubject<boolean>(false);
2626
isVisible$ = new BehaviorSubject<boolean>(environment.isAutoOpen);
2727
isTyping$ = new BehaviorSubject<boolean>(false);
28-
messages$ = new BehaviorSubject<Message[]>([]);
28+
messages$ = new BehaviorSubject<ChatMessage[]>([]);
2929

3030
constructor(
3131
private readonly chatGatewayService: ChatGatewayService,
@@ -40,24 +40,28 @@ export class ChatService {
4040
this.watchVisibility();
4141
}
4242

43-
isMessageInvisible(message: ThreadMessage): boolean {
43+
isMessageInvisible(message: Message): boolean {
4444
const metadata = message.metadata as Record<string, unknown>;
45-
return metadata?.['status'] === MessageStatus.Invisible;
45+
return metadata?.['status'] === ChatMessageStatus.Invisible;
4646
}
4747

48-
isTextMessage(message: ThreadMessage): boolean {
48+
isTextMessage(message: Message): boolean {
4949
return message.content?.[0]?.type === 'text';
5050
}
5151

52-
parseMessages(thread: GetThreadResponseDto): Message[] {
52+
parseMessages(thread: GetThreadResponseDto): ChatMessage[] {
53+
if (!thread.messages) {
54+
return [];
55+
}
56+
5357
return thread.messages
5458
.reverse()
5559
.filter(
5660
message =>
5761
this.isTextMessage(message) && !this.isMessageInvisible(message),
5862
)
5963
.map(message => ({
60-
content: (message.content[0] as MessageContentText).text.value,
64+
content: (message.content[0] as TextContentBlock).text.value,
6165
role: message.role as ChatRole,
6266
}));
6367
}
@@ -92,7 +96,7 @@ export class ChatService {
9296
this.messages$.next([]);
9397
}
9498

95-
addMessage(message: Message): void {
99+
addMessage(message: ChatMessage): void {
96100
this.messages$.next([...this.messages$.value, message]);
97101
}
98102

apps/spa/src/app/modules/+chat/shared/thread.service.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Injectable } from '@angular/core';
2-
import { BehaviorSubject, Observable, Subject, take, tap } from 'rxjs';
2+
import { BehaviorSubject, catchError, Observable, Subject, take, tap } from 'rxjs';
33
import { environment } from '../../../../environments/environment';
44
import { ThreadClientService } from './thread-client.service';
55
import { ConfigurationFormService } from '../../+configuration/shared/configuration-form.service';
@@ -43,6 +43,11 @@ export class ThreadService {
4343
}
4444

4545
getThread(id: string): Observable<GetThreadResponseDto> {
46-
return this.threadClientService.getThread(id).pipe(take(1));
46+
return this.threadClientService
47+
.getThread(id)
48+
.pipe(
49+
take(1),
50+
catchError(() => this.start()),
51+
);
4752
}
4853
}

0 commit comments

Comments
 (0)