{"version":3,"file":"xxmachina-components-services-message.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/message/message.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/message/xxmachina-components-services-message.ts"],"sourcesContent":["import { computed, inject, signal } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { Observable } from 'rxjs';\nimport { Message } from '@ng-atomic/common/models';\nimport { OpenAIService } from '@xxmachina/components/services/openai';\n\nexport class MESSAGES {\n  static readonly ERROR = () => ({\n    time: new Date(),\n    content: 'エラーが発生しました。正しいAPIキーを入力してください。',\n    role: 'system' as const\n  }) as Message;\n  static readonly WAITING = () => ({\n    time: new Date(),\n    text: '応答を生成中...',\n    role: 'assistant' as const\n  }) as Message;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class MessageService {\n  readonly messages = signal<Message[]>([]);\n  readonly messages$: Observable<Message[]> = toObservable(this.messages);\n  readonly latestMessage = computed(() => this.messages().at(-1) ?? null);\n  readonly latestMessage$: Observable<Message | null> = toObservable(this.latestMessage);\n  readonly openai = inject(OpenAIService);\n\n  pushMessage(message: Message): void {\n    this.messages.update(messages => [...messages, message]);\n  }\n\n  clearMessages(): void {\n    this.messages.set([]);\n  }\n\n  completeMessage(systemMessages: Message[] = []) {\n    this.openai.complete([...systemMessages, ...this.messages()]).then((completed) => {\n      this.messages.set(completed);\n    });\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAOa,QAAQ,CAAA;AACnB,IAAA,OAAgB,KAAK,GAAG,OAAO;QAC7B,IAAI,EAAE,IAAI,IAAI,EAAE;AAChB,QAAA,OAAO,EAAE,+BAA+B;AACxC,QAAA,IAAI,EAAE;AACP,KAAA,CAAY;AACb,IAAA,OAAgB,OAAO,GAAG,OAAO;QAC/B,IAAI,EAAE,IAAI,IAAI,EAAE;AAChB,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,IAAI,EAAE;AACP,KAAA,CAAY;;MAIF,cAAc,CAAA;AAChB,IAAA,QAAQ,GAAG,MAAM,CAAY,EAAE,oDAAC;AAChC,IAAA,SAAS,GAA0B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC9D,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,yDAAC;AAC9D,IAAA,cAAc,GAA+B,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;AAC7E,IAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAEvC,IAAA,WAAW,CAAC,OAAgB,EAAA;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;IACvB;IAEA,eAAe,CAAC,iBAA4B,EAAE,EAAA;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAI;AAC/E,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;AAC9B,QAAA,CAAC,CAAC;IACJ;uGAnBW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA;;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACpBlC;;AAEG;;;;"}