feat: add emitter to agentic instance

old-agentic-v1^2
Philipp Burckhardt 2023-06-28 13:58:45 -04:00
rodzic 745759fdc7
commit 9191cfd281
2 zmienionych plików z 11 dodań i 0 usunięć

Wyświetl plik

@ -1,3 +1,4 @@
import { EventEmitter } from 'eventemitter3'
import defaultKy from 'ky'
import { SetOptional } from 'type-fest'
@ -14,6 +15,7 @@ export class Agentic {
protected _ky: types.KyInstance
protected _logger: types.Logger
protected _taskTracker: TerminalTaskTracker
protected _eventEmitter: EventEmitter
protected _openai?: types.openai.OpenAIClient
protected _anthropic?: types.anthropic.Client
@ -52,6 +54,7 @@ export class Agentic {
this._ky = opts.ky ?? defaultKy
this._logger = opts.logger ?? defaultLogger
this._taskTracker = opts.taskTracker ?? defaultTaskTracker
this._eventEmitter = new EventEmitter()
this._openaiModelDefaults = {
provider: 'openai',
@ -106,6 +109,10 @@ export class Agentic {
return this._taskTracker
}
public get eventEmitter(): EventEmitter {
return this._eventEmitter
}
public get idGeneratorFn(): types.IDGeneratorFunction {
return this._idGeneratorFn
}

Wyświetl plik

@ -34,6 +34,10 @@ export class TaskEventEmitter<
}
})
this._agentic.taskTracker.addEvent(event)
const name = `${this._task.nameForModel}:${String(taskStatus)}`
this._agentic.eventEmitter.emit(name, event)
return super.emit(taskStatus, event)
}
}