| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | export class CallbackManager {
|
| | constructor(callbacks = []) {
|
| | this.callbacks = callbacks;
|
| | }
|
| |
|
| | |
| | |
| |
|
| | add(callback) {
|
| | this.callbacks.push(callback);
|
| | }
|
| |
|
| | |
| | |
| |
|
| | async handleStart(runnable, input, config) {
|
| | await Promise.all(
|
| | this.callbacks.map(cb =>
|
| | this._safeCall(() => cb.onStart(runnable, input, config))
|
| | )
|
| | );
|
| | }
|
| |
|
| | |
| | |
| |
|
| | async handleEnd(runnable, output, config) {
|
| | await Promise.all(
|
| | this.callbacks.map(cb =>
|
| | this._safeCall(() => cb.onEnd(runnable, output, config))
|
| | )
|
| | );
|
| | }
|
| |
|
| | |
| | |
| |
|
| | async handleError(runnable, error, config) {
|
| | await Promise.all(
|
| | this.callbacks.map(cb =>
|
| | this._safeCall(() => cb.onError(runnable, error, config))
|
| | )
|
| | );
|
| | }
|
| |
|
| | |
| | |
| |
|
| | async handleLLMNewToken(token, config) {
|
| | await Promise.all(
|
| | this.callbacks.map(cb =>
|
| | this._safeCall(() => cb.onLLMNewToken(token, config))
|
| | )
|
| | );
|
| | }
|
| |
|
| | |
| | |
| |
|
| | async handleChainStep(stepName, output, config) {
|
| | await Promise.all(
|
| | this.callbacks.map(cb =>
|
| | this._safeCall(() => cb.onChainStep(stepName, output, config))
|
| | )
|
| | );
|
| | }
|
| |
|
| | |
| | |
| |
|
| | async _safeCall(fn) {
|
| | try {
|
| | await fn();
|
| | } catch (error) {
|
| | console.error('Callback error:', error);
|
| |
|
| | }
|
| | }
|
| | }
|
| |
|
| | export default CallbackManager;
|
| |
|