remotes.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * Remote namespaces the Session cluster calls. One parameter for one concept:
  3. * the generated surface a Session and its manager reach the Host through.
  4. *
  5. * @module @deepseek-ai/dsh-api-session-controller/client/sessions/remotes
  6. */
  7. import type { EncodedImageAttachment } from '@deepseek-ai/dsh-attachment/types'
  8. import type { ClientRemote } from '@deepseek-ai/dsh-api-gateway/client'
  9. import type { SessionId } from '@deepseek-ai/dsh-session/types'
  10. import type {
  11. SubagentCatalog, SubagentInterruptReceipt, SubagentPromptReceipt, SubagentPromptRequest,
  12. } from '@deepseek-ai/dsh-subagent/client'
  13. import type { RemoteResult } from '@deepseek-ai/dsh-typert-protocol'
  14. import type { SessionRemote } from '../transport.ts'
  15. /** Narrow Commands namespace consumed by a Client Session. */
  16. export interface SessionCommandsRemote {
  17. execute(
  18. agentId: SessionId,
  19. line: string,
  20. images: readonly EncodedImageAttachment[],
  21. signal?: AbortSignal,
  22. ): Promise<RemoteResult<object | undefined>>
  23. }
  24. /** Narrow subagent namespace consumed by a Client Session and its manager. */
  25. export interface SessionSubagentsRemote {
  26. list(parentSessionId: SessionId, signal?: AbortSignal): Promise<RemoteResult<SubagentCatalog>>
  27. prompt(
  28. request: SubagentPromptRequest,
  29. signal?: AbortSignal,
  30. ): Promise<RemoteResult<SubagentPromptReceipt>>
  31. interruptByParent(
  32. childSessionId: SessionId,
  33. parentSessionId: SessionId,
  34. mode: 'continuable',
  35. ): Promise<RemoteResult<SubagentInterruptReceipt>>
  36. }
  37. /** Generated Remote namespaces consumed by the Client Session object layer. */
  38. export interface SessionRemotes {
  39. readonly $stream: ClientRemote['$stream']
  40. readonly commands: SessionCommandsRemote
  41. readonly session: SessionRemote
  42. readonly subagents: SessionSubagentsRemote
  43. }