kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
feat: add emitter to agentic instance
rodzic
745759fdc7
commit
9191cfd281
|
@ -1,3 +1,4 @@
|
||||||
|
import { EventEmitter } from 'eventemitter3'
|
||||||
import defaultKy from 'ky'
|
import defaultKy from 'ky'
|
||||||
import { SetOptional } from 'type-fest'
|
import { SetOptional } from 'type-fest'
|
||||||
|
|
||||||
|
@ -14,6 +15,7 @@ export class Agentic {
|
||||||
protected _ky: types.KyInstance
|
protected _ky: types.KyInstance
|
||||||
protected _logger: types.Logger
|
protected _logger: types.Logger
|
||||||
protected _taskTracker: TerminalTaskTracker
|
protected _taskTracker: TerminalTaskTracker
|
||||||
|
protected _eventEmitter: EventEmitter
|
||||||
|
|
||||||
protected _openai?: types.openai.OpenAIClient
|
protected _openai?: types.openai.OpenAIClient
|
||||||
protected _anthropic?: types.anthropic.Client
|
protected _anthropic?: types.anthropic.Client
|
||||||
|
@ -52,6 +54,7 @@ export class Agentic {
|
||||||
this._ky = opts.ky ?? defaultKy
|
this._ky = opts.ky ?? defaultKy
|
||||||
this._logger = opts.logger ?? defaultLogger
|
this._logger = opts.logger ?? defaultLogger
|
||||||
this._taskTracker = opts.taskTracker ?? defaultTaskTracker
|
this._taskTracker = opts.taskTracker ?? defaultTaskTracker
|
||||||
|
this._eventEmitter = new EventEmitter()
|
||||||
|
|
||||||
this._openaiModelDefaults = {
|
this._openaiModelDefaults = {
|
||||||
provider: 'openai',
|
provider: 'openai',
|
||||||
|
@ -106,6 +109,10 @@ export class Agentic {
|
||||||
return this._taskTracker
|
return this._taskTracker
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get eventEmitter(): EventEmitter {
|
||||||
|
return this._eventEmitter
|
||||||
|
}
|
||||||
|
|
||||||
public get idGeneratorFn(): types.IDGeneratorFunction {
|
public get idGeneratorFn(): types.IDGeneratorFunction {
|
||||||
return this._idGeneratorFn
|
return this._idGeneratorFn
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,10 @@ export class TaskEventEmitter<
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this._agentic.taskTracker.addEvent(event)
|
this._agentic.taskTracker.addEvent(event)
|
||||||
|
|
||||||
|
const name = `${this._task.nameForModel}:${String(taskStatus)}`
|
||||||
|
this._agentic.eventEmitter.emit(name, event)
|
||||||
|
|
||||||
return super.emit(taskStatus, event)
|
return super.emit(taskStatus, event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue