@langchain/langgraph-sdk
Version:
Client library for interacting with the LangGraph API
1 lines • 2.28 kB
Source Map (JSON)
{"version":3,"file":"extension.cjs","names":["namespaceKey","openProjectionSubscription"],"sources":["../../../src/stream/projections/extension.ts"],"sourcesContent":["/**\n * Namespace-scoped `custom:<name>` projection (stream extension).\n *\n * Opens a `custom` subscription and filters named events client-side.\n * The store retains the most-recent payload for the requested\n * transformer. Consumers that want the entire event history should use\n * the raw channel projection instead.\n */\nimport type { ProjectionSpec, ProjectionRuntime } from \"../types.js\";\nimport type { Event } from \"@langchain/protocol\";\nimport { namespaceKey } from \"../namespace.js\";\nimport { openProjectionSubscription } from \"./runtime.js\";\n\nexport function extensionProjection<T = unknown>(\n name: string,\n namespace: readonly string[]\n): ProjectionSpec<T | undefined> {\n const ns = [...namespace];\n const key = `extension|${name}|${namespaceKey(ns)}`;\n\n return {\n key,\n namespace: ns,\n initial: undefined,\n open({ thread, store }): ProjectionRuntime {\n return openProjectionSubscription({\n thread,\n channels: [`custom:${name}`],\n namespace: ns,\n resumeOnPause: true,\n onEvent(event: Event) {\n const data = event.params.data as\n | {\n name?: unknown;\n payload?: unknown;\n }\n | undefined;\n const payload =\n data?.payload != null &&\n typeof data.payload === \"object\" &&\n \"name\" in data.payload\n ? (data.payload as { name?: unknown; payload?: unknown })\n : data;\n if (payload?.name !== name) return;\n store.setValue(payload.payload as T);\n },\n });\n },\n };\n}\n"],"mappings":";;;AAaA,SAAgB,oBACd,MACA,WAC+B;CAC/B,MAAM,KAAK,CAAC,GAAG,UAAU;AAGzB,QAAO;EACL,KAHU,aAAa,KAAK,GAAGA,kBAAAA,aAAa,GAAG;EAI/C,WAAW;EACX,SAAS,KAAA;EACT,KAAK,EAAE,QAAQ,SAA4B;AACzC,UAAOC,gBAAAA,2BAA2B;IAChC;IACA,UAAU,CAAC,UAAU,OAAO;IAC5B,WAAW;IACX,eAAe;IACf,QAAQ,OAAc;KACpB,MAAM,OAAO,MAAM,OAAO;KAM1B,MAAM,UACJ,MAAM,WAAW,QACjB,OAAO,KAAK,YAAY,YACxB,UAAU,KAAK,UACV,KAAK,UACN;AACN,SAAI,SAAS,SAAS,KAAM;AAC5B,WAAM,SAAS,QAAQ,QAAa;;IAEvC,CAAC;;EAEL"}