{"version":3,"file":"agent-server.cjs","names":["#delegate","ProtocolWebSocketTransportAdapter","ProtocolSseTransportAdapter"],"sources":["../../../../src/client/stream/transport/agent-server.ts"],"sourcesContent":["/**\n * Stock `AgentServerAdapter` implementation for \"point `useStream` at a\n * single HTTP endpoint that speaks the v2 protocol\" deployments.\n *\n * Internally delegates to the appropriate built-in transport:\n *  - `new HttpAgentServerAdapter({ apiUrl, threadId })`      → SSE\n *  - `new HttpAgentServerAdapter({ apiUrl, threadId, webSocketFactory })`\n *    → WebSocket\n *\n * Keeps the user-facing import surface small: callers only ever import\n * `HttpAgentServerAdapter` from `@langchain/langgraph-sdk` instead of\n * knowing the two wire-specific class names. The class is deliberately\n * thin — it forwards every method on {@link AgentServerAdapter} to the\n * delegate it picked at construction time.\n *\n * See `plan-custom-transport.md` §4.3 for motivation.\n */\nimport type {\n  AgentServerAdapter,\n  EventStreamHandle,\n  TransportAdapter,\n} from \"../transport.js\";\nimport type {\n  Command,\n  CommandResponse,\n  ErrorResponse,\n  Message,\n  SubscribeParams,\n} from \"@langchain/protocol\";\nimport { ProtocolSseTransportAdapter } from \"./http.js\";\nimport { ProtocolWebSocketTransportAdapter } from \"./websocket.js\";\nimport type {\n  HeaderValue,\n  ProtocolRequestHook,\n  ProtocolTransportPaths,\n} from \"./types.js\";\n\nexport interface HttpAgentServerAdapterOptions {\n  apiUrl: string;\n  threadId: string;\n  /** Auth / tenant / diagnostic headers applied to every request. */\n  defaultHeaders?: Record<string, HeaderValue>;\n  /** Per-request hook for last-mile header mutation. */\n  onRequest?: ProtocolRequestHook;\n  /** Override the default `/threads/:threadId/...` protocol paths. */\n  paths?: ProtocolTransportPaths;\n  /**\n   * Optional `fetch` override, forwarded to the SSE transport. Useful\n   * for auth proxies, Next.js route handlers, or tests with injected\n   * mocks. Ignored when `webSocketFactory` is also supplied.\n   */\n  fetch?: typeof fetch;\n  /**\n   * Optional WebSocket factory. Supplying it flips the adapter into\n   * WebSocket mode — SSE is bypassed entirely.\n   */\n  webSocketFactory?: (url: string) => WebSocket;\n}\n\nexport class HttpAgentServerAdapter implements AgentServerAdapter {\n  readonly threadId: string;\n\n  readonly #delegate: TransportAdapter;\n\n  constructor(options: HttpAgentServerAdapterOptions) {\n    this.threadId = options.threadId;\n    this.#delegate =\n      options.webSocketFactory != null\n        ? new ProtocolWebSocketTransportAdapter({\n            apiUrl: options.apiUrl,\n            threadId: options.threadId,\n            defaultHeaders: options.defaultHeaders,\n            onRequest: options.onRequest,\n            paths: options.paths,\n            webSocketFactory: options.webSocketFactory,\n          })\n        : new ProtocolSseTransportAdapter({\n            apiUrl: options.apiUrl,\n            threadId: options.threadId,\n            defaultHeaders: options.defaultHeaders,\n            onRequest: options.onRequest,\n            fetch: options.fetch,\n            paths: options.paths,\n          });\n  }\n\n  open(): Promise<void> {\n    return this.#delegate.open();\n  }\n\n  send(command: Command): Promise<CommandResponse | ErrorResponse | void> {\n    return this.#delegate.send(command);\n  }\n\n  events(): AsyncIterable<Message> {\n    return this.#delegate.events();\n  }\n\n  openEventStream(params: SubscribeParams): EventStreamHandle {\n    if (this.#delegate.openEventStream == null) {\n      throw new Error(\n        \"HttpAgentServerAdapter delegate does not support openEventStream (WebSocket path).\"\n      );\n    }\n    return this.#delegate.openEventStream(params);\n  }\n\n  close(): Promise<void> {\n    return this.#delegate.close();\n  }\n}\n"],"mappings":";;;AA2DA,IAAa,yBAAb,MAAkE;CAChE;CAEA;CAEA,YAAY,SAAwC;AAClD,OAAK,WAAW,QAAQ;AACxB,QAAA,WACE,QAAQ,oBAAoB,OACxB,IAAIC,kBAAAA,kCAAkC;GACpC,QAAQ,QAAQ;GAChB,UAAU,QAAQ;GAClB,gBAAgB,QAAQ;GACxB,WAAW,QAAQ;GACnB,OAAO,QAAQ;GACf,kBAAkB,QAAQ;GAC3B,CAAC,GACF,IAAIC,aAAAA,4BAA4B;GAC9B,QAAQ,QAAQ;GAChB,UAAU,QAAQ;GAClB,gBAAgB,QAAQ;GACxB,WAAW,QAAQ;GACnB,OAAO,QAAQ;GACf,OAAO,QAAQ;GAChB,CAAC;;CAGV,OAAsB;AACpB,SAAO,MAAA,SAAe,MAAM;;CAG9B,KAAK,SAAmE;AACtE,SAAO,MAAA,SAAe,KAAK,QAAQ;;CAGrC,SAAiC;AAC/B,SAAO,MAAA,SAAe,QAAQ;;CAGhC,gBAAgB,QAA4C;AAC1D,MAAI,MAAA,SAAe,mBAAmB,KACpC,OAAM,IAAI,MACR,qFACD;AAEH,SAAO,MAAA,SAAe,gBAAgB,OAAO;;CAG/C,QAAuB;AACrB,SAAO,MAAA,SAAe,OAAO"}