@cloudbase/agent-server 1.0.1-alpha.25-2 → 1.0.1-alpha.26
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 +74 -27
- package/package.json +8 -5
package/dist/index.js
CHANGED
|
@@ -391,21 +391,28 @@ var ErrorCode = {
|
|
|
391
391
|
// src/agui/sendMessageAGUI/server.ts
|
|
392
392
|
var startObservation;
|
|
393
393
|
var setupObservability;
|
|
394
|
-
var
|
|
394
|
+
var processTraceContextFromHeaders;
|
|
395
|
+
var observabilityLoadingPromise = null;
|
|
395
396
|
async function loadObservability() {
|
|
396
|
-
if (
|
|
397
|
-
|
|
397
|
+
if (startObservation) {
|
|
398
|
+
return true;
|
|
399
|
+
}
|
|
400
|
+
if (observabilityLoadingPromise) {
|
|
401
|
+
return observabilityLoadingPromise;
|
|
402
|
+
}
|
|
403
|
+
observabilityLoadingPromise = (async () => {
|
|
398
404
|
try {
|
|
399
405
|
const obs = await import("@cloudbase/agent-observability");
|
|
400
406
|
const obsServer = await import("@cloudbase/agent-observability/server");
|
|
401
407
|
startObservation = obs.startObservation;
|
|
408
|
+
processTraceContextFromHeaders = obs.processTraceContextFromHeaders;
|
|
402
409
|
setupObservability = obsServer.setupObservability;
|
|
403
410
|
return true;
|
|
404
411
|
} catch (e) {
|
|
405
412
|
return false;
|
|
406
413
|
}
|
|
407
|
-
}
|
|
408
|
-
return
|
|
414
|
+
})();
|
|
415
|
+
return observabilityLoadingPromise;
|
|
409
416
|
}
|
|
410
417
|
async function ensureObservabilityReady() {
|
|
411
418
|
if (!setupObservability) return false;
|
|
@@ -427,7 +434,7 @@ function createServerAdapter2(createAgent, options) {
|
|
|
427
434
|
const { logger: parentLogger = import_agent_shared2.noopLogger } = options ?? {};
|
|
428
435
|
const adapterLogger = ((_a = parentLogger.child) == null ? void 0 : _a.call(parentLogger, { component: "sendMessageAGUI" })) ?? parentLogger;
|
|
429
436
|
return (0, import_server3.createServerAdapter)(async (request) => {
|
|
430
|
-
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
437
|
+
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
431
438
|
const requestId = getOrGenerateRequestId(request.headers, "agui");
|
|
432
439
|
const logger = ((_a2 = adapterLogger.child) == null ? void 0 : _a2.call(adapterLogger, { requestId })) ?? adapterLogger;
|
|
433
440
|
(_b = logger.info) == null ? void 0 : _b.call(logger, "Request received");
|
|
@@ -514,20 +521,48 @@ function createServerAdapter2(createAgent, options) {
|
|
|
514
521
|
try {
|
|
515
522
|
const isReady = await ensureObservabilityReady();
|
|
516
523
|
if (isReady) {
|
|
517
|
-
|
|
518
|
-
"
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
524
|
+
const spanAttributes = {
|
|
525
|
+
"http.method": request.method,
|
|
526
|
+
"http.url": request.url,
|
|
527
|
+
"http.host": request.headers.get("host") || "unknown",
|
|
528
|
+
"http.user_agent": request.headers.get("user-agent") || "unknown",
|
|
529
|
+
"agui.thread_id": inputRes.result.threadId,
|
|
530
|
+
"agui.run_id": inputRes.result.runId,
|
|
531
|
+
"agui.request_id": requestId
|
|
532
|
+
};
|
|
533
|
+
if (processTraceContextFromHeaders) {
|
|
534
|
+
try {
|
|
535
|
+
const traceContext = processTraceContextFromHeaders(
|
|
536
|
+
request.headers,
|
|
537
|
+
logger
|
|
538
|
+
);
|
|
539
|
+
if (traceContext.isInherited) {
|
|
540
|
+
Object.assign(spanAttributes, traceContext.spanAttributes);
|
|
541
|
+
}
|
|
542
|
+
serverSpan = startObservation(
|
|
543
|
+
"AG-UI.Server",
|
|
544
|
+
spanAttributes,
|
|
545
|
+
{
|
|
546
|
+
asType: "chain",
|
|
547
|
+
links: traceContext.links.length > 0 ? traceContext.links : void 0
|
|
548
|
+
}
|
|
549
|
+
);
|
|
550
|
+
} catch (e) {
|
|
551
|
+
(_i = logger.debug) == null ? void 0 : _i.call(logger, "Failed to process external trace context:", e);
|
|
552
|
+
serverSpan = startObservation(
|
|
553
|
+
"AG-UI.Server",
|
|
554
|
+
spanAttributes,
|
|
555
|
+
{ asType: "chain" }
|
|
556
|
+
);
|
|
557
|
+
}
|
|
558
|
+
} else {
|
|
559
|
+
serverSpan = startObservation(
|
|
560
|
+
"AG-UI.Server",
|
|
561
|
+
spanAttributes,
|
|
562
|
+
{ asType: "chain" }
|
|
563
|
+
);
|
|
564
|
+
}
|
|
565
|
+
const spanContext = (_k = (_j = serverSpan == null ? void 0 : serverSpan.otelSpan) == null ? void 0 : _j.spanContext) == null ? void 0 : _k.call(_j);
|
|
531
566
|
if ((spanContext == null ? void 0 : spanContext.traceId) && (spanContext == null ? void 0 : spanContext.spanId)) {
|
|
532
567
|
serverContextData = {
|
|
533
568
|
traceId: spanContext.traceId,
|
|
@@ -541,7 +576,7 @@ function createServerAdapter2(createAgent, options) {
|
|
|
541
576
|
}
|
|
542
577
|
}
|
|
543
578
|
} catch (e) {
|
|
544
|
-
(
|
|
579
|
+
(_l = logger.debug) == null ? void 0 : _l.call(logger, "Failed to create server span:", e);
|
|
545
580
|
}
|
|
546
581
|
}
|
|
547
582
|
let cleanupCalled = false;
|
|
@@ -564,7 +599,7 @@ function createServerAdapter2(createAgent, options) {
|
|
|
564
599
|
);
|
|
565
600
|
if ("error" in eventsResult) {
|
|
566
601
|
const { error } = eventsResult;
|
|
567
|
-
(
|
|
602
|
+
(_m = logger.error) == null ? void 0 : _m.call(logger, { err: error }, "Run agent failed");
|
|
568
603
|
if (serverSpan) {
|
|
569
604
|
try {
|
|
570
605
|
serverSpan.otelSpan.setStatus({
|
|
@@ -576,7 +611,7 @@ function createServerAdapter2(createAgent, options) {
|
|
|
576
611
|
serverSpan.otelSpan.setAttribute("error.message", error instanceof Error ? error.message : String(error));
|
|
577
612
|
serverSpan.end();
|
|
578
613
|
} catch (e) {
|
|
579
|
-
(
|
|
614
|
+
(_n = logger.debug) == null ? void 0 : _n.call(logger, "Failed to update server span with error status:", e);
|
|
580
615
|
}
|
|
581
616
|
}
|
|
582
617
|
const errorCode = (0, import_agent_shared3.isErrorWithCode)(error) ? error.code : ErrorCode.INTERNAL_ERROR;
|
|
@@ -879,12 +914,24 @@ var import_cors = __toESM(require("cors"));
|
|
|
879
914
|
var import_async_hooks = require("async_hooks");
|
|
880
915
|
var import_server8 = require("@whatwg-node/server");
|
|
881
916
|
var DefaultFetchAPI = __toESM(require("@whatwg-node/fetch"));
|
|
917
|
+
var observabilitySetupPromise = null;
|
|
918
|
+
var observabilitySetupComplete = false;
|
|
882
919
|
async function setupObservabilityIfAvailable(configs) {
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
await setupObservability2(configs);
|
|
886
|
-
} catch (error) {
|
|
920
|
+
if (observabilitySetupComplete) {
|
|
921
|
+
return;
|
|
887
922
|
}
|
|
923
|
+
if (observabilitySetupPromise) {
|
|
924
|
+
return observabilitySetupPromise;
|
|
925
|
+
}
|
|
926
|
+
observabilitySetupPromise = (async () => {
|
|
927
|
+
try {
|
|
928
|
+
const { setupObservability: setupObservability2 } = await import("@cloudbase/agent-observability/server");
|
|
929
|
+
await setupObservability2(configs);
|
|
930
|
+
observabilitySetupComplete = true;
|
|
931
|
+
} catch (error) {
|
|
932
|
+
}
|
|
933
|
+
})();
|
|
934
|
+
return observabilitySetupPromise;
|
|
888
935
|
}
|
|
889
936
|
var preparedAgentStorage = new import_async_hooks.AsyncLocalStorage();
|
|
890
937
|
function agentCloneFn() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/agent-server",
|
|
3
|
-
"version": "1.0.1-alpha.
|
|
3
|
+
"version": "1.0.1-alpha.26",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/",
|
|
@@ -20,13 +20,16 @@
|
|
|
20
20
|
"express": "^5.1.0",
|
|
21
21
|
"openai": "6.3.0",
|
|
22
22
|
"uuid": "^10.0.0",
|
|
23
|
-
"@cloudbase/agent-shared": "^1.0.1-alpha.
|
|
23
|
+
"@cloudbase/agent-shared": "^1.0.1-alpha.26"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"zod": "^3.25.0 || ^4.0.0"
|
|
26
|
+
"zod": "^3.25.0 || ^4.0.0",
|
|
27
|
+
"@cloudbase/agent-observability": "1.0.1-alpha.26"
|
|
27
28
|
},
|
|
28
|
-
"
|
|
29
|
-
"@cloudbase/agent-observability":
|
|
29
|
+
"peerDependenciesMeta": {
|
|
30
|
+
"@cloudbase/agent-observability": {
|
|
31
|
+
"optional": true
|
|
32
|
+
}
|
|
30
33
|
},
|
|
31
34
|
"devDependencies": {
|
|
32
35
|
"@types/cors": "^2.8.19",
|