@cloudbase/agent-adapter-langgraph 1.0.1-alpha.10 → 1.0.1-alpha.11
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.js
CHANGED
|
@@ -2042,7 +2042,7 @@ var langchain_exports = {};
|
|
|
2042
2042
|
__export(langchain_exports, {
|
|
2043
2043
|
CallbackHandler: () => CallbackHandler
|
|
2044
2044
|
});
|
|
2045
|
-
var import_base, import_messages, CallbackHandler;
|
|
2045
|
+
var import_base, import_messages, import_agent_shared, CallbackHandler;
|
|
2046
2046
|
var init_langchain = __esm({
|
|
2047
2047
|
"../../observability/dist/langchain.mjs"() {
|
|
2048
2048
|
"use strict";
|
|
@@ -2050,6 +2050,7 @@ var init_langchain = __esm({
|
|
|
2050
2050
|
init_chunk_NFEGQTCC();
|
|
2051
2051
|
import_base = require("@langchain/core/callbacks/base");
|
|
2052
2052
|
import_messages = require("@langchain/core/messages");
|
|
2053
|
+
import_agent_shared = require("@cloudbase/agent-shared");
|
|
2053
2054
|
init_src();
|
|
2054
2055
|
CallbackHandler = class extends import_base.BaseCallbackHandler {
|
|
2055
2056
|
constructor(params) {
|
|
@@ -2068,17 +2069,17 @@ var init_langchain = __esm({
|
|
|
2068
2069
|
__publicField(this, "externalParentSpanContext");
|
|
2069
2070
|
// Adapter name for ROOT span prefix
|
|
2070
2071
|
__publicField(this, "adapterName");
|
|
2072
|
+
// Logger for debug output (defaults to noopLogger for silent operation)
|
|
2073
|
+
__publicField(this, "logger");
|
|
2071
2074
|
this.sessionId = params?.sessionId;
|
|
2072
2075
|
this.userId = params?.userId;
|
|
2073
2076
|
this.tags = params?.tags ?? [];
|
|
2074
2077
|
this.traceMetadata = params?.traceMetadata;
|
|
2075
2078
|
this.version = params?.version;
|
|
2076
2079
|
this.adapterName = params?.adapterName;
|
|
2080
|
+
this.logger = params?.logger ?? import_agent_shared.noopLogger;
|
|
2077
2081
|
this.promptToParentRunMap = /* @__PURE__ */ new Map();
|
|
2078
2082
|
}
|
|
2079
|
-
get logger() {
|
|
2080
|
-
return console;
|
|
2081
|
-
}
|
|
2082
2083
|
/**
|
|
2083
2084
|
* Set external parent SpanContext from AG-UI.Server span.
|
|
2084
2085
|
* This allows the CallbackHandler to link LangChain/LangGraph spans
|
|
@@ -2092,13 +2093,13 @@ var init_langchain = __esm({
|
|
|
2092
2093
|
}
|
|
2093
2094
|
async handleLLMNewToken(token, _idx, runId, _parentRunId, _tags, _fields) {
|
|
2094
2095
|
if (runId && !(runId in this.completionStartTimes)) {
|
|
2095
|
-
this.logger.debug(`LLM first streaming token: ${runId}`);
|
|
2096
|
+
this.logger.debug?.(`LLM first streaming token: ${runId}`);
|
|
2096
2097
|
this.completionStartTimes[runId] = /* @__PURE__ */ new Date();
|
|
2097
2098
|
}
|
|
2098
2099
|
}
|
|
2099
2100
|
async handleChainStart(chain, inputs, runId, parentRunId, tags, metadata, runType, name) {
|
|
2100
2101
|
try {
|
|
2101
|
-
this.logger.debug(`Chain start with Id: ${runId}`);
|
|
2102
|
+
this.logger.debug?.(`Chain start with Id: ${runId}`);
|
|
2102
2103
|
const runName = name ?? chain.id.at(-1)?.toString() ?? "Langchain Run";
|
|
2103
2104
|
this.registerPromptInfo(parentRunId, metadata);
|
|
2104
2105
|
let finalInput = inputs;
|
|
@@ -2135,12 +2136,12 @@ var init_langchain = __esm({
|
|
|
2135
2136
|
});
|
|
2136
2137
|
}
|
|
2137
2138
|
} catch (e) {
|
|
2138
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2139
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2139
2140
|
}
|
|
2140
2141
|
}
|
|
2141
2142
|
async handleAgentAction(action, runId, parentRunId) {
|
|
2142
2143
|
try {
|
|
2143
|
-
this.logger.debug(`Agent action ${action.tool} with ID: ${runId}`);
|
|
2144
|
+
this.logger.debug?.(`Agent action ${action.tool} with ID: ${runId}`);
|
|
2144
2145
|
this.startAndRegisterObservation({
|
|
2145
2146
|
runId,
|
|
2146
2147
|
parentRunId,
|
|
@@ -2151,23 +2152,23 @@ var init_langchain = __esm({
|
|
|
2151
2152
|
asType: "tool"
|
|
2152
2153
|
});
|
|
2153
2154
|
} catch (e) {
|
|
2154
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2155
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2155
2156
|
}
|
|
2156
2157
|
}
|
|
2157
2158
|
async handleAgentEnd(action, runId, _parentRunId) {
|
|
2158
2159
|
try {
|
|
2159
|
-
this.logger.debug(`Agent finish with ID: ${runId}`);
|
|
2160
|
+
this.logger.debug?.(`Agent finish with ID: ${runId}`);
|
|
2160
2161
|
this.handleObservationEnd({
|
|
2161
2162
|
runId,
|
|
2162
2163
|
attributes: { output: action }
|
|
2163
2164
|
});
|
|
2164
2165
|
} catch (e) {
|
|
2165
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2166
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2166
2167
|
}
|
|
2167
2168
|
}
|
|
2168
2169
|
async handleChainError(err, runId, _parentRunId) {
|
|
2169
2170
|
try {
|
|
2170
|
-
this.logger.debug(`Chain error: ${err} with ID: ${runId}`);
|
|
2171
|
+
this.logger.debug?.(`Chain error: ${err} with ID: ${runId}`);
|
|
2171
2172
|
this.handleObservationEnd({
|
|
2172
2173
|
runId,
|
|
2173
2174
|
attributes: {
|
|
@@ -2176,11 +2177,11 @@ var init_langchain = __esm({
|
|
|
2176
2177
|
}
|
|
2177
2178
|
});
|
|
2178
2179
|
} catch (e) {
|
|
2179
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2180
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2180
2181
|
}
|
|
2181
2182
|
}
|
|
2182
2183
|
async handleGenerationStart(llm, messages, runId, parentRunId, extraParams, tags, metadata, name) {
|
|
2183
|
-
this.logger.debug(
|
|
2184
|
+
this.logger.debug?.(
|
|
2184
2185
|
`Generation start with ID: ${runId} and parentRunId ${parentRunId}`
|
|
2185
2186
|
);
|
|
2186
2187
|
const runName = name ?? llm.id.at(-1)?.toString() ?? "Langchain Generation";
|
|
@@ -2226,7 +2227,7 @@ var init_langchain = __esm({
|
|
|
2226
2227
|
}
|
|
2227
2228
|
async handleChatModelStart(llm, messages, runId, parentRunId, extraParams, tags, metadata, name) {
|
|
2228
2229
|
try {
|
|
2229
|
-
this.logger.debug(`Chat model start with ID: ${runId}`);
|
|
2230
|
+
this.logger.debug?.(`Chat model start with ID: ${runId}`);
|
|
2230
2231
|
const prompts = messages.flatMap(
|
|
2231
2232
|
(message) => message.map((m) => this.extractChatMessageContent(m))
|
|
2232
2233
|
);
|
|
@@ -2241,12 +2242,12 @@ var init_langchain = __esm({
|
|
|
2241
2242
|
name
|
|
2242
2243
|
);
|
|
2243
2244
|
} catch (e) {
|
|
2244
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2245
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2245
2246
|
}
|
|
2246
2247
|
}
|
|
2247
2248
|
async handleChainEnd(outputs, runId, _parentRunId) {
|
|
2248
2249
|
try {
|
|
2249
|
-
this.logger.debug(`Chain end with ID: ${runId}`);
|
|
2250
|
+
this.logger.debug?.(`Chain end with ID: ${runId}`);
|
|
2250
2251
|
let finalOutput = outputs;
|
|
2251
2252
|
if (typeof outputs === "object" && "output" in outputs && typeof outputs["output"] === "string") {
|
|
2252
2253
|
finalOutput = outputs["output"];
|
|
@@ -2265,12 +2266,12 @@ var init_langchain = __esm({
|
|
|
2265
2266
|
});
|
|
2266
2267
|
this.deregisterPromptInfo(runId);
|
|
2267
2268
|
} catch (e) {
|
|
2268
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2269
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2269
2270
|
}
|
|
2270
2271
|
}
|
|
2271
2272
|
async handleLLMStart(llm, prompts, runId, parentRunId, extraParams, tags, metadata, name) {
|
|
2272
2273
|
try {
|
|
2273
|
-
this.logger.debug(`LLM start with ID: ${runId}`);
|
|
2274
|
+
this.logger.debug?.(`LLM start with ID: ${runId}`);
|
|
2274
2275
|
this.handleGenerationStart(
|
|
2275
2276
|
llm,
|
|
2276
2277
|
prompts,
|
|
@@ -2282,12 +2283,12 @@ var init_langchain = __esm({
|
|
|
2282
2283
|
name
|
|
2283
2284
|
);
|
|
2284
2285
|
} catch (e) {
|
|
2285
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2286
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2286
2287
|
}
|
|
2287
2288
|
}
|
|
2288
2289
|
async handleToolStart(tool, input, runId, parentRunId, tags, metadata, name) {
|
|
2289
2290
|
try {
|
|
2290
|
-
this.logger.debug(`Tool start with ID: ${runId}`);
|
|
2291
|
+
this.logger.debug?.(`Tool start with ID: ${runId}`);
|
|
2291
2292
|
this.startAndRegisterObservation({
|
|
2292
2293
|
runId,
|
|
2293
2294
|
parentRunId,
|
|
@@ -2300,12 +2301,12 @@ var init_langchain = __esm({
|
|
|
2300
2301
|
asType: "tool"
|
|
2301
2302
|
});
|
|
2302
2303
|
} catch (e) {
|
|
2303
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2304
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2304
2305
|
}
|
|
2305
2306
|
}
|
|
2306
2307
|
async handleRetrieverStart(retriever, query, runId, parentRunId, tags, metadata, name) {
|
|
2307
2308
|
try {
|
|
2308
|
-
this.logger.debug(`Retriever start with ID: ${runId}`);
|
|
2309
|
+
this.logger.debug?.(`Retriever start with ID: ${runId}`);
|
|
2309
2310
|
this.startAndRegisterObservation({
|
|
2310
2311
|
runId,
|
|
2311
2312
|
parentRunId,
|
|
@@ -2318,12 +2319,12 @@ var init_langchain = __esm({
|
|
|
2318
2319
|
asType: "span"
|
|
2319
2320
|
});
|
|
2320
2321
|
} catch (e) {
|
|
2321
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2322
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2322
2323
|
}
|
|
2323
2324
|
}
|
|
2324
2325
|
async handleRetrieverEnd(documents, runId, _parentRunId) {
|
|
2325
2326
|
try {
|
|
2326
|
-
this.logger.debug(`Retriever end with ID: ${runId}`);
|
|
2327
|
+
this.logger.debug?.(`Retriever end with ID: ${runId}`);
|
|
2327
2328
|
this.handleObservationEnd({
|
|
2328
2329
|
runId,
|
|
2329
2330
|
attributes: {
|
|
@@ -2331,12 +2332,12 @@ var init_langchain = __esm({
|
|
|
2331
2332
|
}
|
|
2332
2333
|
});
|
|
2333
2334
|
} catch (e) {
|
|
2334
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2335
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2335
2336
|
}
|
|
2336
2337
|
}
|
|
2337
2338
|
async handleRetrieverError(err, runId, _parentRunId) {
|
|
2338
2339
|
try {
|
|
2339
|
-
this.logger.debug(`Retriever error: ${err} with ID: ${runId}`);
|
|
2340
|
+
this.logger.debug?.(`Retriever error: ${err} with ID: ${runId}`);
|
|
2340
2341
|
this.handleObservationEnd({
|
|
2341
2342
|
runId,
|
|
2342
2343
|
attributes: {
|
|
@@ -2345,23 +2346,23 @@ var init_langchain = __esm({
|
|
|
2345
2346
|
}
|
|
2346
2347
|
});
|
|
2347
2348
|
} catch (e) {
|
|
2348
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2349
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2349
2350
|
}
|
|
2350
2351
|
}
|
|
2351
2352
|
async handleToolEnd(output, runId, _parentRunId) {
|
|
2352
2353
|
try {
|
|
2353
|
-
this.logger.debug(`Tool end with ID: ${runId}`);
|
|
2354
|
+
this.logger.debug?.(`Tool end with ID: ${runId}`);
|
|
2354
2355
|
this.handleObservationEnd({
|
|
2355
2356
|
runId,
|
|
2356
2357
|
attributes: { output }
|
|
2357
2358
|
});
|
|
2358
2359
|
} catch (e) {
|
|
2359
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2360
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2360
2361
|
}
|
|
2361
2362
|
}
|
|
2362
2363
|
async handleToolError(err, runId, _parentRunId) {
|
|
2363
2364
|
try {
|
|
2364
|
-
this.logger.debug(`Tool error ${err} with ID: ${runId}`);
|
|
2365
|
+
this.logger.debug?.(`Tool error ${err} with ID: ${runId}`);
|
|
2365
2366
|
this.handleObservationEnd({
|
|
2366
2367
|
runId,
|
|
2367
2368
|
attributes: {
|
|
@@ -2370,12 +2371,12 @@ var init_langchain = __esm({
|
|
|
2370
2371
|
}
|
|
2371
2372
|
});
|
|
2372
2373
|
} catch (e) {
|
|
2373
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2374
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2374
2375
|
}
|
|
2375
2376
|
}
|
|
2376
2377
|
async handleLLMEnd(output, runId, _parentRunId) {
|
|
2377
2378
|
try {
|
|
2378
|
-
this.logger.debug(`LLM end with ID: ${runId}`);
|
|
2379
|
+
this.logger.debug?.(`LLM end with ID: ${runId}`);
|
|
2379
2380
|
const lastResponse = output.generations[output.generations.length - 1][output.generations[output.generations.length - 1].length - 1];
|
|
2380
2381
|
const llmUsage = this.extractUsageMetadata(lastResponse) ?? output.llmOutput?.["tokenUsage"];
|
|
2381
2382
|
const modelName = this.extractModelNameFromMetadata(lastResponse);
|
|
@@ -2420,12 +2421,12 @@ var init_langchain = __esm({
|
|
|
2420
2421
|
delete this.completionStartTimes[runId];
|
|
2421
2422
|
}
|
|
2422
2423
|
} catch (e) {
|
|
2423
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2424
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2424
2425
|
}
|
|
2425
2426
|
}
|
|
2426
2427
|
async handleLLMError(err, runId, _parentRunId) {
|
|
2427
2428
|
try {
|
|
2428
|
-
this.logger.debug(`LLM error ${err} with ID: ${runId}`);
|
|
2429
|
+
this.logger.debug?.(`LLM error ${err} with ID: ${runId}`);
|
|
2429
2430
|
this.handleObservationEnd({
|
|
2430
2431
|
runId,
|
|
2431
2432
|
attributes: {
|
|
@@ -2434,7 +2435,7 @@ var init_langchain = __esm({
|
|
|
2434
2435
|
}
|
|
2435
2436
|
});
|
|
2436
2437
|
} catch (e) {
|
|
2437
|
-
this.logger.debug(e instanceof Error ? e.message : String(e));
|
|
2438
|
+
this.logger.debug?.(e instanceof Error ? e.message : String(e));
|
|
2438
2439
|
}
|
|
2439
2440
|
}
|
|
2440
2441
|
registerPromptInfo(parentRunId, metadata) {
|
|
@@ -2479,7 +2480,7 @@ var init_langchain = __esm({
|
|
|
2479
2480
|
const { runId, attributes = {} } = params;
|
|
2480
2481
|
const observation = this.runMap.get(runId);
|
|
2481
2482
|
if (!observation) {
|
|
2482
|
-
this.logger.warn("Observation not found in runMap. Skipping operation.");
|
|
2483
|
+
this.logger.warn?.("Observation not found in runMap. Skipping operation.");
|
|
2483
2484
|
return;
|
|
2484
2485
|
}
|
|
2485
2486
|
observation.update(attributes).end();
|
|
@@ -2513,7 +2514,7 @@ var init_langchain = __esm({
|
|
|
2513
2514
|
const usageMetadata = "message" in generation && (import_messages.AIMessage.isInstance(generation["message"]) || import_messages.AIMessageChunk.isInstance(generation["message"])) ? generation["message"].usage_metadata : void 0;
|
|
2514
2515
|
return usageMetadata;
|
|
2515
2516
|
} catch (err) {
|
|
2516
|
-
this.logger.debug(`Error extracting usage metadata: ${err}`);
|
|
2517
|
+
this.logger.debug?.(`Error extracting usage metadata: ${err}`);
|
|
2517
2518
|
return;
|
|
2518
2519
|
}
|
|
2519
2520
|
}
|
|
@@ -2579,8 +2580,8 @@ __export(index_exports, {
|
|
|
2579
2580
|
LanggraphAgent: () => LanggraphAgent,
|
|
2580
2581
|
TDAISaver: () => TDAISaver,
|
|
2581
2582
|
TDAIStore: () => TDAIStore,
|
|
2582
|
-
createConsoleLogger: () =>
|
|
2583
|
-
noopLogger: () =>
|
|
2583
|
+
createConsoleLogger: () => import_agent_shared3.createConsoleLogger,
|
|
2584
|
+
noopLogger: () => import_agent_shared3.noopLogger
|
|
2584
2585
|
});
|
|
2585
2586
|
module.exports = __toCommonJS(index_exports);
|
|
2586
2587
|
|
|
@@ -2637,7 +2638,7 @@ function convertJsonSchemaToZodSchema(jsonSchema, required) {
|
|
|
2637
2638
|
}
|
|
2638
2639
|
|
|
2639
2640
|
// src/agent.ts
|
|
2640
|
-
var
|
|
2641
|
+
var import_agent_shared2 = require("@cloudbase/agent-shared");
|
|
2641
2642
|
var LangChainCallbackHandler;
|
|
2642
2643
|
var observabilityLoadAttempted = false;
|
|
2643
2644
|
var ClientPropertiesAnnotation = import_langgraph.Annotation.Root({
|
|
@@ -2652,7 +2653,7 @@ var LanggraphAgent = class extends import_client.AbstractAgent {
|
|
|
2652
2653
|
super(agentConfig);
|
|
2653
2654
|
this.compiledWorkflow = agentConfig.compiledWorkflow;
|
|
2654
2655
|
this.adapterName = agentConfig.adapterName || "LangGraph";
|
|
2655
|
-
const baseLogger = agentConfig.logger ??
|
|
2656
|
+
const baseLogger = agentConfig.logger ?? import_agent_shared2.noopLogger;
|
|
2656
2657
|
this.logger = baseLogger.child?.({ component: "langgraph-agent" }) ?? baseLogger;
|
|
2657
2658
|
}
|
|
2658
2659
|
run(input) {
|
|
@@ -2672,7 +2673,9 @@ var LanggraphAgent = class extends import_client.AbstractAgent {
|
|
|
2672
2673
|
LangChainCallbackHandler = obsModule.CallbackHandler;
|
|
2673
2674
|
if (LangChainCallbackHandler) {
|
|
2674
2675
|
this.observabilityCallback = new LangChainCallbackHandler({
|
|
2675
|
-
adapterName: this.adapterName
|
|
2676
|
+
adapterName: this.adapterName,
|
|
2677
|
+
logger
|
|
2678
|
+
// Reuse the run-specific logger with context
|
|
2676
2679
|
});
|
|
2677
2680
|
logger.debug?.("\u2713 Observability callback created");
|
|
2678
2681
|
}
|
|
@@ -3142,7 +3145,7 @@ var LanggraphAgent = class extends import_client.AbstractAgent {
|
|
|
3142
3145
|
{ err: error, eventCount, toolCallCount, textChunkCount },
|
|
3143
3146
|
"Error during stream processing"
|
|
3144
3147
|
);
|
|
3145
|
-
const errorCode = (0,
|
|
3148
|
+
const errorCode = (0, import_agent_shared2.isErrorWithCode)(error) ? error.code : "INTERNAL_ERROR";
|
|
3146
3149
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
3147
3150
|
subscriber.next({
|
|
3148
3151
|
type: import_client.EventType.RUN_ERROR,
|
|
@@ -3901,7 +3904,7 @@ var TDAIStore = class extends import_langgraph3.BaseStore {
|
|
|
3901
3904
|
};
|
|
3902
3905
|
|
|
3903
3906
|
// src/index.ts
|
|
3904
|
-
var
|
|
3907
|
+
var import_agent_shared3 = require("@cloudbase/agent-shared");
|
|
3905
3908
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3906
3909
|
0 && (module.exports = {
|
|
3907
3910
|
ClientPropertiesAnnotation,
|