@cloudbase/agent-adapter-langgraph 1.0.1-alpha.26 → 1.0.1-alpha.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -82,6 +82,12 @@ declare class LanggraphAgent extends AbstractAgent {
82
82
  }>;
83
83
  _run(subscriber: Subscriber<BaseEvent>, input: RunAgentInput): Promise<void>;
84
84
  clone(): LanggraphAgent;
85
+ /**
86
+ * Setup observability for agent execution.
87
+ * Lazy loads observability callback, restores server context from forwardedProps,
88
+ * and configures the callback for graph execution.
89
+ */
90
+ private setupObservability;
85
91
  }
86
92
 
87
93
  type PendingWrite = [string, any];
package/dist/index.d.ts CHANGED
@@ -82,6 +82,12 @@ declare class LanggraphAgent extends AbstractAgent {
82
82
  }>;
83
83
  _run(subscriber: Subscriber<BaseEvent>, input: RunAgentInput): Promise<void>;
84
84
  clone(): LanggraphAgent;
85
+ /**
86
+ * Setup observability for agent execution.
87
+ * Lazy loads observability callback, restores server context from forwardedProps,
88
+ * and configures the callback for graph execution.
89
+ */
90
+ private setupObservability;
85
91
  }
86
92
 
87
93
  type PendingWrite = [string, any];
package/dist/index.js CHANGED
@@ -120,46 +120,7 @@ var LanggraphAgent = class extends import_client.AbstractAgent {
120
120
  const { messages, runId, threadId } = input;
121
121
  const logger = this.logger.child?.({ runId, threadId }) ?? this.logger;
122
122
  logger.info?.("Run started");
123
- if (!LangChainCallbackHandler) {
124
- try {
125
- logger.debug?.("Attempting to load observability...");
126
- const obsModule = await import("@cloudbase/agent-observability/langchain");
127
- LangChainCallbackHandler = obsModule.CallbackHandler;
128
- logger.debug?.("\u2713 Observability handler loaded");
129
- } catch (e) {
130
- logger.debug?.(
131
- "\u2717 Observability not available:",
132
- e instanceof Error ? e.message : String(e)
133
- );
134
- }
135
- }
136
- this.observabilityCallback = LangChainCallbackHandler ? new LangChainCallbackHandler({
137
- adapterName: this.adapterName,
138
- logger
139
- }) : void 0;
140
- if (this.observabilityCallback && input.forwardedProps?.__agui_server_context) {
141
- try {
142
- const serverContextData = input.forwardedProps.__agui_server_context;
143
- const serverSpanContext = {
144
- traceId: serverContextData.traceId,
145
- spanId: serverContextData.spanId,
146
- traceFlags: serverContextData.traceFlags,
147
- isRemote: false
148
- };
149
- this.observabilityCallback.setExternalParentContext(serverSpanContext, {
150
- threadId: input.threadId,
151
- runId: input.runId
152
- });
153
- logger.debug?.("\u2713 Server context restored:", {
154
- traceId: serverSpanContext.traceId,
155
- spanId: serverSpanContext.spanId,
156
- threadId: input.threadId,
157
- runId: input.runId
158
- });
159
- } catch (e) {
160
- logger.debug?.("Failed to restore server context:", e);
161
- }
162
- }
123
+ await this.setupObservability(input, logger);
163
124
  const runStartedEvent = {
164
125
  type: import_client.EventType.RUN_STARTED,
165
126
  threadId,
@@ -585,6 +546,53 @@ var LanggraphAgent = class extends import_client.AbstractAgent {
585
546
  cloned.logger = logger;
586
547
  return cloned;
587
548
  }
549
+ /**
550
+ * Setup observability for agent execution.
551
+ * Lazy loads observability callback, restores server context from forwardedProps,
552
+ * and configures the callback for graph execution.
553
+ */
554
+ async setupObservability(input, logger) {
555
+ if (!LangChainCallbackHandler) {
556
+ try {
557
+ logger.debug?.("Attempting to load observability...");
558
+ const obsModule = await import("@cloudbase/agent-observability/langchain");
559
+ LangChainCallbackHandler = obsModule.CallbackHandler;
560
+ logger.debug?.("\u2713 Observability handler loaded");
561
+ } catch (e) {
562
+ logger.debug?.(
563
+ "\u2717 Observability not available:",
564
+ e instanceof Error ? e.message : String(e)
565
+ );
566
+ }
567
+ }
568
+ this.observabilityCallback = LangChainCallbackHandler ? new LangChainCallbackHandler({
569
+ adapterName: this.adapterName,
570
+ logger
571
+ }) : void 0;
572
+ if (this.observabilityCallback && input.forwardedProps?.__agui_server_context) {
573
+ try {
574
+ const serverContextData = input.forwardedProps.__agui_server_context;
575
+ const serverSpanContext = {
576
+ traceId: serverContextData.traceId,
577
+ spanId: serverContextData.spanId,
578
+ traceFlags: serverContextData.traceFlags,
579
+ isRemote: false
580
+ };
581
+ this.observabilityCallback.setExternalParentContext(serverSpanContext, {
582
+ threadId: input.threadId,
583
+ runId: input.runId
584
+ });
585
+ logger.debug?.("\u2713 Server context restored:", {
586
+ traceId: serverSpanContext.traceId,
587
+ spanId: serverSpanContext.spanId,
588
+ threadId: input.threadId,
589
+ runId: input.runId
590
+ });
591
+ } catch (e) {
592
+ logger.debug?.("Failed to restore server context:", e);
593
+ }
594
+ }
595
+ }
588
596
  };
589
597
  function aguiMessagesToLangChain(messages) {
590
598
  return messages.map((message) => {