responseMessage.d.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { Result, Task, McpError } from '../types.js';
  2. /**
  3. * Base message type
  4. */
  5. export interface BaseResponseMessage {
  6. type: string;
  7. }
  8. /**
  9. * Task status update message
  10. */
  11. export interface TaskStatusMessage extends BaseResponseMessage {
  12. type: 'taskStatus';
  13. task: Task;
  14. }
  15. /**
  16. * Task created message (first message for task-augmented requests)
  17. */
  18. export interface TaskCreatedMessage extends BaseResponseMessage {
  19. type: 'taskCreated';
  20. task: Task;
  21. }
  22. /**
  23. * Final result message (terminal)
  24. */
  25. export interface ResultMessage<T extends Result> extends BaseResponseMessage {
  26. type: 'result';
  27. result: T;
  28. }
  29. /**
  30. * Error message (terminal)
  31. */
  32. export interface ErrorMessage extends BaseResponseMessage {
  33. type: 'error';
  34. error: McpError;
  35. }
  36. /**
  37. * Union type representing all possible messages that can be yielded during request processing.
  38. * Note: Progress notifications are handled through the existing onprogress callback mechanism.
  39. * Side-channeled messages (server requests/notifications) are handled through registered handlers.
  40. */
  41. export type ResponseMessage<T extends Result> = TaskStatusMessage | TaskCreatedMessage | ResultMessage<T> | ErrorMessage;
  42. export type AsyncGeneratorValue<T> = T extends AsyncGenerator<infer U> ? U : never;
  43. export declare function toArrayAsync<T extends AsyncGenerator<unknown>>(it: T): Promise<AsyncGeneratorValue<T>[]>;
  44. export declare function takeResult<T extends Result, U extends AsyncGenerator<ResponseMessage<T>>>(it: U): Promise<T>;
  45. //# sourceMappingURL=responseMessage.d.ts.map