kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
docs: add comments
rodzic
3bbce22209
commit
2178b7db2f
|
@ -6,6 +6,9 @@ import { BaseTask } from '@/task'
|
||||||
|
|
||||||
import { TaskEvent, TaskStatus } from './event'
|
import { TaskEvent, TaskStatus } from './event'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event emitter for task events.
|
||||||
|
*/
|
||||||
export class TaskEventEmitter<
|
export class TaskEventEmitter<
|
||||||
TInput extends types.TaskInput = void,
|
TInput extends types.TaskInput = void,
|
||||||
TOutput extends types.TaskOutput = string
|
TOutput extends types.TaskOutput = string
|
||||||
|
|
|
@ -11,10 +11,29 @@ export interface EventPayload {
|
||||||
* Data required to create a new Event object.
|
* Data required to create a new Event object.
|
||||||
*/
|
*/
|
||||||
export interface EventData<T extends EventPayload> {
|
export interface EventData<T extends EventPayload> {
|
||||||
|
/**
|
||||||
|
* Event identifier
|
||||||
|
*/
|
||||||
id?: string
|
id?: string
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event timestamp
|
||||||
|
*/
|
||||||
timestamp?: Date
|
timestamp?: Date
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Key-value pairs holding event data.
|
||||||
|
*/
|
||||||
payload?: T
|
payload?: T
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Version of the event.
|
||||||
|
*/
|
||||||
version?: number
|
version?: number
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event type.
|
||||||
|
*/
|
||||||
type?: string
|
type?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,6 +76,9 @@ export class Event<T extends EventPayload> {
|
||||||
return new Type(data)
|
return new Type(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Serializes an event into a JSON string.
|
||||||
|
*/
|
||||||
toJSON(): string {
|
toJSON(): string {
|
||||||
return JSON.stringify({
|
return JSON.stringify({
|
||||||
id: this.id,
|
id: this.id,
|
||||||
|
@ -67,6 +89,9 @@ export class Event<T extends EventPayload> {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a human-readable string representation of an event.
|
||||||
|
*/
|
||||||
toString(): string {
|
toString(): string {
|
||||||
return `Event { id: ${
|
return `Event { id: ${
|
||||||
this.id
|
this.id
|
||||||
|
@ -85,7 +110,7 @@ export interface TaskEventPayload<TInput, TOutput> extends EventPayload {
|
||||||
taskStatus: TaskStatus
|
taskStatus: TaskStatus
|
||||||
taskInputs?: TInput
|
taskInputs?: TInput
|
||||||
taskOutput?: TOutput
|
taskOutput?: TOutput
|
||||||
taskParent?: string
|
parentTaskId?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -126,7 +151,7 @@ export class TaskEvent<TInput, TOutput> extends Event<
|
||||||
return this.payload?.taskOutput ?? ''
|
return this.payload?.taskOutput ?? ''
|
||||||
}
|
}
|
||||||
|
|
||||||
get parent(): string {
|
get parentTaskId(): string {
|
||||||
return this.payload?.taskParent ?? 'root'
|
return this.payload?.parentTaskId ?? 'root'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue