linkque-cli-v2 1.1.1 → 1.1.2
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/linkquejs.js +7 -0
- package/package.json +1 -1
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/{chunk-IAT272TH.js → chunk-B56A2RV5.js} +2 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/{chunk-TM6MTGSL.js → chunk-XGIMLCNP.js} +50 -11
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/runtime/handler/chat.js +35 -14
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/runtime/handler/clientCapability.js +1 -1
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/runtime/protocol.js +1 -1
- package/worker.js +81 -22
package/linkquejs.js
CHANGED
|
@@ -19639,6 +19639,8 @@ var LINKQUE_BASE_URL = `${LINKQUE_ENDPOINT_PROD}/api/anthropic`;
|
|
|
19639
19639
|
var LINKQUE_BASE_URL_PRE = `${LINKQUE_ENDPOINT_PRE}/api/anthropic`;
|
|
19640
19640
|
var LINKQUEGW_KNOWLEDGE_BASE_URL = LINKQUE_ENDPOINT_PROD;
|
|
19641
19641
|
var LINKQUEGW_KNOWLEDGE_BASE_URL_PRE = LINKQUE_ENDPOINT_PRE;
|
|
19642
|
+
var LINKQUEGW_EVENT_BASE_URL = LINKQUE_ENDPOINT_PROD;
|
|
19643
|
+
var LINKQUEGW_EVENT_BASE_URL_PRE = LINKQUE_ENDPOINT_PRE;
|
|
19642
19644
|
var LINKQUEGW_MCP_SIGN_ENDPOINT = `${LINKQUE_ENDPOINT_PROD}/api/mcp/signature`;
|
|
19643
19645
|
var LINKQUEGW_MCP_SIGN_ENDPOINT_PRE = `${LINKQUE_ENDPOINT_PRE}/api/mcp/signature`;
|
|
19644
19646
|
var RUN_TABLE_COLUMNS = [
|
|
@@ -20154,6 +20156,7 @@ var FUNCTION_DEFS = [
|
|
|
20154
20156
|
key: "LINKQUEGW_KNOWLEDGE_BASE_URL",
|
|
20155
20157
|
value: LINKQUEGW_KNOWLEDGE_BASE_URL
|
|
20156
20158
|
},
|
|
20159
|
+
{ key: "LINKQUEGW_EVENT_BASE_URL", value: LINKQUEGW_EVENT_BASE_URL },
|
|
20157
20160
|
{
|
|
20158
20161
|
key: "LINKQUEGW_MCP_SIGN_ENDPOINT",
|
|
20159
20162
|
value: LINKQUEGW_MCP_SIGN_ENDPOINT
|
|
@@ -20164,6 +20167,10 @@ var FUNCTION_DEFS = [
|
|
|
20164
20167
|
key: "LINKQUEGW_KNOWLEDGE_BASE_URL_PRE",
|
|
20165
20168
|
value: LINKQUEGW_KNOWLEDGE_BASE_URL_PRE
|
|
20166
20169
|
},
|
|
20170
|
+
{
|
|
20171
|
+
key: "LINKQUEGW_EVENT_BASE_URL_PRE",
|
|
20172
|
+
value: LINKQUEGW_EVENT_BASE_URL_PRE
|
|
20173
|
+
},
|
|
20167
20174
|
{
|
|
20168
20175
|
key: "LINKQUEGW_MCP_SIGN_ENDPOINT_PRE",
|
|
20169
20176
|
value: LINKQUEGW_MCP_SIGN_ENDPOINT_PRE
|
package/package.json
CHANGED
package/vendor/linkque-agent-appwrite-integrate/dist/esm/{chunk-IAT272TH.js → chunk-B56A2RV5.js}
RENAMED
|
@@ -11811,6 +11811,8 @@ function describeRuntimeEnv(env, hasRequestKey = false) {
|
|
|
11811
11811
|
lines.push(envLine("LINKQUE_BASE_URL_PRE", maskEndpoint(env.LINKQUE_BASE_URL_PRE)));
|
|
11812
11812
|
lines.push(envLine("LINKQUEGW_KNOWLEDGE_BASE_URL", maskEndpoint(env.LINKQUEGW_KNOWLEDGE_BASE_URL)));
|
|
11813
11813
|
lines.push(envLine("LINKQUEGW_KNOWLEDGE_BASE_URL_PRE", maskEndpoint(env.LINKQUEGW_KNOWLEDGE_BASE_URL_PRE)));
|
|
11814
|
+
lines.push(envLine("LINKQUEGW_EVENT_BASE_URL", maskEndpoint(env.LINKQUEGW_EVENT_BASE_URL)));
|
|
11815
|
+
lines.push(envLine("LINKQUEGW_EVENT_BASE_URL_PRE", maskEndpoint(env.LINKQUEGW_EVENT_BASE_URL_PRE)));
|
|
11814
11816
|
lines.push(envLine("LINKQUEGW_MCP_SIGN_ENDPOINT", maskEndpoint(env.LINKQUEGW_MCP_SIGN_ENDPOINT)));
|
|
11815
11817
|
lines.push(envLine("LINKQUEGW_MCP_SIGN_ENDPOINT_PRE", maskEndpoint(env.LINKQUEGW_MCP_SIGN_ENDPOINT_PRE)));
|
|
11816
11818
|
lines.push(envLine("RUN_DATABASE_ID", envValue(env, "RUN_DATABASE_ID")));
|
package/vendor/linkque-agent-appwrite-integrate/dist/esm/{chunk-TM6MTGSL.js → chunk-XGIMLCNP.js}
RENAMED
|
@@ -18342,11 +18342,7 @@ function injectResolvedViewModel(protocol, viewModel) {
|
|
|
18342
18342
|
{
|
|
18343
18343
|
version: "0.9",
|
|
18344
18344
|
datas: surfaceIds.map((surfaceId) => ({
|
|
18345
|
-
updateDataModel: {
|
|
18346
|
-
surfaceId,
|
|
18347
|
-
path: "/",
|
|
18348
|
-
value: viewModel
|
|
18349
|
-
}
|
|
18345
|
+
updateDataModel: { surfaceId, path: "/", value: viewModel }
|
|
18350
18346
|
}))
|
|
18351
18347
|
}
|
|
18352
18348
|
];
|
|
@@ -19793,6 +19789,17 @@ var REDACTED_HEADER_NAMES = /* @__PURE__ */ new Set([
|
|
|
19793
19789
|
"anthropic-api-key"
|
|
19794
19790
|
]);
|
|
19795
19791
|
var REDACTED_VALUE = "ak***";
|
|
19792
|
+
var RESPONSE_CORRELATION_HEADER_NAMES = [
|
|
19793
|
+
"alipay-trace-id",
|
|
19794
|
+
"x-trace-id",
|
|
19795
|
+
"x-traceid",
|
|
19796
|
+
"trace-id",
|
|
19797
|
+
"traceid",
|
|
19798
|
+
"eagleeye-traceid",
|
|
19799
|
+
"eagleeye-trace-id",
|
|
19800
|
+
"sofa-traceid",
|
|
19801
|
+
"sofa-trace-id"
|
|
19802
|
+
];
|
|
19796
19803
|
function redactHeader(name, value) {
|
|
19797
19804
|
return REDACTED_HEADER_NAMES.has(name.toLowerCase()) ? REDACTED_VALUE : value;
|
|
19798
19805
|
}
|
|
@@ -19849,10 +19856,37 @@ function createHttpLoggingFetch(debugLog, tag, baseFetch = globalThis.fetch) {
|
|
|
19849
19856
|
len = cl;
|
|
19850
19857
|
} catch {
|
|
19851
19858
|
}
|
|
19852
|
-
|
|
19859
|
+
const correlation = readResponseCorrelationId(resp.headers);
|
|
19860
|
+
const correlationField = correlation ? ` traceId=${correlation.value} traceHeader=${correlation.name}` : "";
|
|
19861
|
+
safeLog(debugLog, formatHttpLogLine(tag, "resp", `${method} ${targetUrl} ${resp.status} in ${elapsed}ms len=${len}${correlationField}`));
|
|
19853
19862
|
return resp;
|
|
19854
19863
|
};
|
|
19855
19864
|
}
|
|
19865
|
+
function readResponseCorrelationId(headers) {
|
|
19866
|
+
try {
|
|
19867
|
+
for (const name of RESPONSE_CORRELATION_HEADER_NAMES) {
|
|
19868
|
+
const value = headers.get(name)?.trim();
|
|
19869
|
+
if (value) {
|
|
19870
|
+
return { name, value: value.replace(/\s+/gu, " ").slice(0, 200) };
|
|
19871
|
+
}
|
|
19872
|
+
}
|
|
19873
|
+
let matched;
|
|
19874
|
+
headers.forEach((rawValue, rawName) => {
|
|
19875
|
+
if (matched || !/(?:^|[-_])trace[-_]?id$/iu.test(rawName))
|
|
19876
|
+
return;
|
|
19877
|
+
const value = rawValue.trim();
|
|
19878
|
+
if (!value)
|
|
19879
|
+
return;
|
|
19880
|
+
matched = {
|
|
19881
|
+
name: rawName,
|
|
19882
|
+
value: value.replace(/\s+/gu, " ").slice(0, 200)
|
|
19883
|
+
};
|
|
19884
|
+
});
|
|
19885
|
+
return matched;
|
|
19886
|
+
} catch {
|
|
19887
|
+
}
|
|
19888
|
+
return void 0;
|
|
19889
|
+
}
|
|
19856
19890
|
function safeLog(debugLog, line) {
|
|
19857
19891
|
try {
|
|
19858
19892
|
debugLog(line, EDebugLogScope.HTTP);
|
|
@@ -19870,7 +19904,11 @@ function errorMsg(error) {
|
|
|
19870
19904
|
// ../linkque-agent-runtime/dist/esm/core/hook/linkquegwEventHookExecutor.js
|
|
19871
19905
|
var DEFAULT_LINKQUEGW_EVENT_BASE_URL = "https://linkquegw.alipay.com";
|
|
19872
19906
|
var LINKQUEGW_AGENT_EVENT_TRIGGER_PATH = "/api/agent/event/trigger";
|
|
19873
|
-
var LINKQUEGW_EVENT_TYPE_BY_STAGE = {
|
|
19907
|
+
var LINKQUEGW_EVENT_TYPE_BY_STAGE = {
|
|
19908
|
+
[EHookStage.RUN_STARTED]: "RUN_STARTED",
|
|
19909
|
+
[EHookStage.RUN_COMPLETED]: "RUN_ENDED",
|
|
19910
|
+
[EHookStage.RUN_FAILED]: "RUN_ENDED"
|
|
19911
|
+
};
|
|
19874
19912
|
function buildLinkquegwEventBody(context) {
|
|
19875
19913
|
const eventType = LINKQUEGW_EVENT_TYPE_BY_STAGE[context.stage];
|
|
19876
19914
|
if (eventType === void 0)
|
|
@@ -19881,13 +19919,14 @@ function buildLinkquegwEventBody(context) {
|
|
|
19881
19919
|
eventType,
|
|
19882
19920
|
eventId: context.eventId,
|
|
19883
19921
|
eventTime: context.timestamp,
|
|
19884
|
-
|
|
19922
|
+
...commonParams.conversationId !== void 0 && {
|
|
19923
|
+
conversationId: commonParams.conversationId
|
|
19924
|
+
},
|
|
19885
19925
|
...commonParams.sessionId !== void 0 && {
|
|
19886
19926
|
sessionId: commonParams.sessionId
|
|
19887
19927
|
},
|
|
19888
19928
|
runId: commonParams.runId,
|
|
19889
|
-
runIndex: commonParams.runIndex
|
|
19890
|
-
traceId: commonParams.traceId ?? commonParams.runId
|
|
19929
|
+
runIndex: commonParams.runIndex
|
|
19891
19930
|
};
|
|
19892
19931
|
}
|
|
19893
19932
|
var LinkquegwEventHookExecutor = class {
|
|
@@ -19927,7 +19966,7 @@ var LinkquegwEventHookExecutor = class {
|
|
|
19927
19966
|
const startedAt = this.now();
|
|
19928
19967
|
let result = "ok";
|
|
19929
19968
|
try {
|
|
19930
|
-
const traceId =
|
|
19969
|
+
const traceId = context.commonParams.traceId ?? context.commonParams.runId;
|
|
19931
19970
|
const resp = await this.fetchImpl(`${this.baseUrl}${LINKQUEGW_AGENT_EVENT_TRIGGER_PATH}`, {
|
|
19932
19971
|
method: "POST",
|
|
19933
19972
|
headers: {
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
resolveLinkqueGatewayAuth,
|
|
18
18
|
resolveRunStorage,
|
|
19
19
|
toAgentRunMessages
|
|
20
|
-
} from "../../chunk-
|
|
20
|
+
} from "../../chunk-B56A2RV5.js";
|
|
21
21
|
import "../../chunk-MKS245OU.js";
|
|
22
22
|
import "../../chunk-YDKZZ6EH.js";
|
|
23
23
|
import "../../chunk-2NGJGNYB.js";
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
parseConversationRunRequest,
|
|
52
52
|
parseSkillFile,
|
|
53
53
|
streamToConversationEvents
|
|
54
|
-
} from "../../chunk-
|
|
54
|
+
} from "../../chunk-XGIMLCNP.js";
|
|
55
55
|
import "../../chunk-XUFLSZM4.js";
|
|
56
56
|
import "../../chunk-I64V3ICJ.js";
|
|
57
57
|
import "../../chunk-6MHDOBWO.js";
|
|
@@ -68,23 +68,39 @@ import { randomUUID as randomUUID3 } from "node:crypto";
|
|
|
68
68
|
// ../linkque-agent-runtime/dist/esm/impl/plugin/linkquegwEventPlugin.js
|
|
69
69
|
var LINKQUEGW_EVENT_PLUGIN_NAME = "linkquegw-event-plugin";
|
|
70
70
|
var LINKQUEGW_EVENT_HOOK_RESOURCE_ID = "linkquegw-event-run-started";
|
|
71
|
-
var
|
|
72
|
-
|
|
71
|
+
var LINKQUEGW_RUN_COMPLETED_HOOK_RESOURCE_ID = "linkquegw-event-run-completed";
|
|
72
|
+
var LINKQUEGW_RUN_FAILED_HOOK_RESOURCE_ID = "linkquegw-event-run-failed";
|
|
73
|
+
var DEFAULT_LINKQUEGW_EVENT_HOOKS = [
|
|
74
|
+
{
|
|
75
|
+
resourceId: LINKQUEGW_EVENT_HOOK_RESOURCE_ID,
|
|
76
|
+
stage: EHookStage.RUN_STARTED
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
resourceId: LINKQUEGW_RUN_COMPLETED_HOOK_RESOURCE_ID,
|
|
80
|
+
stage: EHookStage.RUN_COMPLETED
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
resourceId: LINKQUEGW_RUN_FAILED_HOOK_RESOURCE_ID,
|
|
84
|
+
stage: EHookStage.RUN_FAILED
|
|
85
|
+
}
|
|
86
|
+
];
|
|
87
|
+
var createLinkquegwEventHookResource = (resourceId, stage) => ({
|
|
88
|
+
resourceId,
|
|
73
89
|
resourceType: EResourceType.HOOK,
|
|
74
90
|
providerType: EResourceProviderType.LINK_QUE,
|
|
75
91
|
config: {
|
|
76
92
|
name: "LinkqueGW \u751F\u547D\u5468\u671F\u4E8B\u4EF6\u4E0A\u62A5",
|
|
77
93
|
executorName: EHookExecutorName.LinkquegwEventHookExecutor,
|
|
78
|
-
stage
|
|
94
|
+
stage,
|
|
79
95
|
hasSideEffects: true
|
|
80
96
|
}
|
|
81
97
|
});
|
|
82
98
|
var isUserTokenAuthorization = (value) => /^Bearer[\t ]+[^\s,]+$/u.test(value);
|
|
83
|
-
var
|
|
99
|
+
var isLinkquegwEventHook = (resource, stage) => {
|
|
84
100
|
if (resource.resourceType !== EResourceType.HOOK)
|
|
85
101
|
return false;
|
|
86
102
|
const hookResource = resource;
|
|
87
|
-
return hookResource.config.executorName === EHookExecutorName.LinkquegwEventHookExecutor && hookResource.config.stage ===
|
|
103
|
+
return hookResource.config.executorName === EHookExecutorName.LinkquegwEventHookExecutor && hookResource.config.stage === stage;
|
|
88
104
|
};
|
|
89
105
|
var LinkquegwEventPlugin = class {
|
|
90
106
|
name = LINKQUEGW_EVENT_PLUGIN_NAME;
|
|
@@ -113,10 +129,12 @@ var LinkquegwEventPlugin = class {
|
|
|
113
129
|
}
|
|
114
130
|
/** 自动补入 event trigger 所需 HookResource;已有同 executorName + stage 时保持原配置。 */
|
|
115
131
|
modifyAgentConfig(agentConfig) {
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
132
|
+
for (const hook of DEFAULT_LINKQUEGW_EVENT_HOOKS) {
|
|
133
|
+
const exists = agentConfig.agent.resources.some((resource) => isLinkquegwEventHook(resource, hook.stage));
|
|
134
|
+
if (!exists) {
|
|
135
|
+
agentConfig.agent.resources.push(createLinkquegwEventHookResource(hook.resourceId, hook.stage));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
120
138
|
}
|
|
121
139
|
};
|
|
122
140
|
|
|
@@ -298,6 +316,7 @@ function resolveLinkqueEndpoints(env, envSelector) {
|
|
|
298
316
|
return {
|
|
299
317
|
linkqueBaseUrl: trimEnvVar(isPre ? env.LINKQUE_BASE_URL_PRE : env.LINKQUE_BASE_URL),
|
|
300
318
|
knowledgeBaseUrl: trimEnvVar(isPre ? env.LINKQUEGW_KNOWLEDGE_BASE_URL_PRE : env.LINKQUEGW_KNOWLEDGE_BASE_URL),
|
|
319
|
+
eventBaseUrl: trimEnvVar(isPre ? env.LINKQUEGW_EVENT_BASE_URL_PRE : env.LINKQUEGW_EVENT_BASE_URL),
|
|
301
320
|
mcpSignEndpoint: trimEnvVar(isPre ? env.LINKQUEGW_MCP_SIGN_ENDPOINT_PRE : env.LINKQUEGW_MCP_SIGN_ENDPOINT)
|
|
302
321
|
};
|
|
303
322
|
}
|
|
@@ -353,10 +372,11 @@ function createAppBaseRuntime(protocol, env = process.env, ports = {}, logCtx) {
|
|
|
353
372
|
}
|
|
354
373
|
const plugins = [...ports.plugins ?? []];
|
|
355
374
|
const hasLinkquegwEventPlugin = plugins.some((plugin) => plugin.name === LINKQUEGW_EVENT_PLUGIN_NAME);
|
|
375
|
+
const eventBaseUrl = ports.eventBaseUrl ?? ports.knowledgeBaseUrl;
|
|
356
376
|
if (ports.gatewayAuthMode === "user-token" && mcpAuthHeader && !hasLinkquegwEventPlugin) {
|
|
357
377
|
plugins.push(new LinkquegwEventPlugin({
|
|
358
378
|
getUserTokenAuthorizationHeader: mcpAuthHeader,
|
|
359
|
-
...
|
|
379
|
+
...eventBaseUrl ? { baseUrl: eventBaseUrl } : {},
|
|
360
380
|
...ports.gatewayAgentId ? { agentId: ports.gatewayAgentId } : {},
|
|
361
381
|
...debugLog ? { debugLog } : {}
|
|
362
382
|
}));
|
|
@@ -1745,7 +1765,7 @@ function resolveChatDeps(env, deps, logCtx, historyOwnerId, appwriteApiKey, envS
|
|
|
1745
1765
|
chunkSize = storage.chunkSize;
|
|
1746
1766
|
}
|
|
1747
1767
|
const mcpAuthorizationHeaderProvider = async () => resolved.authorizationHeader;
|
|
1748
|
-
const { linkqueBaseUrl, knowledgeBaseUrl, mcpSignEndpoint } = resolveLinkqueEndpoints(env, envSelector);
|
|
1768
|
+
const { linkqueBaseUrl, knowledgeBaseUrl, eventBaseUrl, mcpSignEndpoint } = resolveLinkqueEndpoints(env, envSelector);
|
|
1749
1769
|
const mcpConfigResolver = createAppbaseMcpConfigResolver({
|
|
1750
1770
|
agentId: protocol.agentId,
|
|
1751
1771
|
...mcpSignEndpoint ? { signEndpoint: mcpSignEndpoint } : {}
|
|
@@ -1757,7 +1777,8 @@ function resolveChatDeps(env, deps, logCtx, historyOwnerId, appwriteApiKey, envS
|
|
|
1757
1777
|
gatewayAuthMode: resolved.mode,
|
|
1758
1778
|
gatewayAgentId: protocol.agentId,
|
|
1759
1779
|
...linkqueBaseUrl ? { linkqueBaseUrl } : {},
|
|
1760
|
-
...knowledgeBaseUrl ? { knowledgeBaseUrl } : {}
|
|
1780
|
+
...knowledgeBaseUrl ? { knowledgeBaseUrl } : {},
|
|
1781
|
+
...eventBaseUrl ? { eventBaseUrl } : {}
|
|
1761
1782
|
}, logCtx);
|
|
1762
1783
|
return {
|
|
1763
1784
|
auth: resolved.auth,
|
package/vendor/linkque-agent-appwrite-integrate/dist/esm/runtime/handler/clientCapability.js
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
runClientCapability,
|
|
4
4
|
runClientCapabilityCleanup,
|
|
5
5
|
runClientCapabilityResult
|
|
6
|
-
} from "../../chunk-
|
|
6
|
+
} from "../../chunk-B56A2RV5.js";
|
|
7
7
|
import "../../chunk-MKS245OU.js";
|
|
8
8
|
import "../../chunk-YDKZZ6EH.js";
|
|
9
9
|
import "../../chunk-2NGJGNYB.js";
|
package/worker.js
CHANGED
|
@@ -15270,11 +15270,7 @@ function injectResolvedViewModel(protocol, viewModel) {
|
|
|
15270
15270
|
{
|
|
15271
15271
|
version: "0.9",
|
|
15272
15272
|
datas: surfaceIds.map((surfaceId) => ({
|
|
15273
|
-
updateDataModel: {
|
|
15274
|
-
surfaceId,
|
|
15275
|
-
path: "/",
|
|
15276
|
-
value: viewModel
|
|
15277
|
-
}
|
|
15273
|
+
updateDataModel: { surfaceId, path: "/", value: viewModel }
|
|
15278
15274
|
}))
|
|
15279
15275
|
}
|
|
15280
15276
|
];
|
|
@@ -16884,10 +16880,37 @@ function createHttpLoggingFetch(debugLog, tag, baseFetch = globalThis.fetch) {
|
|
|
16884
16880
|
len = cl;
|
|
16885
16881
|
} catch {
|
|
16886
16882
|
}
|
|
16887
|
-
|
|
16883
|
+
const correlation = readResponseCorrelationId(resp.headers);
|
|
16884
|
+
const correlationField = correlation ? ` traceId=${correlation.value} traceHeader=${correlation.name}` : "";
|
|
16885
|
+
safeLog(debugLog, formatHttpLogLine(tag, "resp", `${method} ${targetUrl} ${resp.status} in ${elapsed}ms len=${len}${correlationField}`));
|
|
16888
16886
|
return resp;
|
|
16889
16887
|
};
|
|
16890
16888
|
}
|
|
16889
|
+
function readResponseCorrelationId(headers) {
|
|
16890
|
+
try {
|
|
16891
|
+
for (const name of RESPONSE_CORRELATION_HEADER_NAMES) {
|
|
16892
|
+
const value = headers.get(name)?.trim();
|
|
16893
|
+
if (value) {
|
|
16894
|
+
return { name, value: value.replace(/\s+/gu, " ").slice(0, 200) };
|
|
16895
|
+
}
|
|
16896
|
+
}
|
|
16897
|
+
let matched;
|
|
16898
|
+
headers.forEach((rawValue, rawName) => {
|
|
16899
|
+
if (matched || !/(?:^|[-_])trace[-_]?id$/iu.test(rawName))
|
|
16900
|
+
return;
|
|
16901
|
+
const value = rawValue.trim();
|
|
16902
|
+
if (!value)
|
|
16903
|
+
return;
|
|
16904
|
+
matched = {
|
|
16905
|
+
name: rawName,
|
|
16906
|
+
value: value.replace(/\s+/gu, " ").slice(0, 200)
|
|
16907
|
+
};
|
|
16908
|
+
});
|
|
16909
|
+
return matched;
|
|
16910
|
+
} catch {
|
|
16911
|
+
}
|
|
16912
|
+
return void 0;
|
|
16913
|
+
}
|
|
16891
16914
|
function safeLog(debugLog, line) {
|
|
16892
16915
|
try {
|
|
16893
16916
|
debugLog(line, EDebugLogScope.HTTP);
|
|
@@ -16901,7 +16924,7 @@ function errorMsg(error40) {
|
|
|
16901
16924
|
const msg = error40 instanceof Error ? error40.message : String(error40);
|
|
16902
16925
|
return msg.replace(/\s+/g, " ").slice(0, 500);
|
|
16903
16926
|
}
|
|
16904
|
-
var MAX_BODY_SUMMARY_LEN, REDACTED_HEADER_NAMES, REDACTED_VALUE;
|
|
16927
|
+
var MAX_BODY_SUMMARY_LEN, REDACTED_HEADER_NAMES, REDACTED_VALUE, RESPONSE_CORRELATION_HEADER_NAMES;
|
|
16905
16928
|
var init_httpLoggingFetch = __esm({
|
|
16906
16929
|
"../linkque-agent-runtime/dist/esm/impl/httpLoggingFetch.js"() {
|
|
16907
16930
|
"use strict";
|
|
@@ -16915,6 +16938,17 @@ var init_httpLoggingFetch = __esm({
|
|
|
16915
16938
|
"anthropic-api-key"
|
|
16916
16939
|
]);
|
|
16917
16940
|
REDACTED_VALUE = "ak***";
|
|
16941
|
+
RESPONSE_CORRELATION_HEADER_NAMES = [
|
|
16942
|
+
"alipay-trace-id",
|
|
16943
|
+
"x-trace-id",
|
|
16944
|
+
"x-traceid",
|
|
16945
|
+
"trace-id",
|
|
16946
|
+
"traceid",
|
|
16947
|
+
"eagleeye-traceid",
|
|
16948
|
+
"eagleeye-trace-id",
|
|
16949
|
+
"sofa-traceid",
|
|
16950
|
+
"sofa-trace-id"
|
|
16951
|
+
];
|
|
16918
16952
|
}
|
|
16919
16953
|
});
|
|
16920
16954
|
|
|
@@ -16929,13 +16963,14 @@ function buildLinkquegwEventBody(context2) {
|
|
|
16929
16963
|
eventType,
|
|
16930
16964
|
eventId: context2.eventId,
|
|
16931
16965
|
eventTime: context2.timestamp,
|
|
16932
|
-
|
|
16966
|
+
...commonParams.conversationId !== void 0 && {
|
|
16967
|
+
conversationId: commonParams.conversationId
|
|
16968
|
+
},
|
|
16933
16969
|
...commonParams.sessionId !== void 0 && {
|
|
16934
16970
|
sessionId: commonParams.sessionId
|
|
16935
16971
|
},
|
|
16936
16972
|
runId: commonParams.runId,
|
|
16937
|
-
runIndex: commonParams.runIndex
|
|
16938
|
-
traceId: commonParams.traceId ?? commonParams.runId
|
|
16973
|
+
runIndex: commonParams.runIndex
|
|
16939
16974
|
};
|
|
16940
16975
|
}
|
|
16941
16976
|
var DEFAULT_LINKQUEGW_EVENT_BASE_URL, LINKQUEGW_AGENT_EVENT_TRIGGER_PATH, LINKQUEGW_EVENT_TYPE_BY_STAGE, LinkquegwEventHookExecutor;
|
|
@@ -16947,7 +16982,11 @@ var init_linkquegwEventHookExecutor = __esm({
|
|
|
16947
16982
|
init_hookMetrics();
|
|
16948
16983
|
DEFAULT_LINKQUEGW_EVENT_BASE_URL = "https://linkquegw.alipay.com";
|
|
16949
16984
|
LINKQUEGW_AGENT_EVENT_TRIGGER_PATH = "/api/agent/event/trigger";
|
|
16950
|
-
LINKQUEGW_EVENT_TYPE_BY_STAGE = {
|
|
16985
|
+
LINKQUEGW_EVENT_TYPE_BY_STAGE = {
|
|
16986
|
+
[EHookStage.RUN_STARTED]: "RUN_STARTED",
|
|
16987
|
+
[EHookStage.RUN_COMPLETED]: "RUN_ENDED",
|
|
16988
|
+
[EHookStage.RUN_FAILED]: "RUN_ENDED"
|
|
16989
|
+
};
|
|
16951
16990
|
LinkquegwEventHookExecutor = class {
|
|
16952
16991
|
name = EHookExecutorName.LinkquegwEventHookExecutor;
|
|
16953
16992
|
baseUrl;
|
|
@@ -16985,7 +17024,7 @@ var init_linkquegwEventHookExecutor = __esm({
|
|
|
16985
17024
|
const startedAt = this.now();
|
|
16986
17025
|
let result = "ok";
|
|
16987
17026
|
try {
|
|
16988
|
-
const traceId =
|
|
17027
|
+
const traceId = context2.commonParams.traceId ?? context2.commonParams.runId;
|
|
16989
17028
|
const resp = await this.fetchImpl(`${this.baseUrl}${LINKQUEGW_AGENT_EVENT_TRIGGER_PATH}`, {
|
|
16990
17029
|
method: "POST",
|
|
16991
17030
|
headers: {
|
|
@@ -196985,7 +197024,7 @@ var init_examplePlugin = __esm({
|
|
|
196985
197024
|
});
|
|
196986
197025
|
|
|
196987
197026
|
// ../linkque-agent-runtime/dist/esm/impl/plugin/linkquegwEventPlugin.js
|
|
196988
|
-
var LINKQUEGW_EVENT_PLUGIN_NAME, LINKQUEGW_EVENT_HOOK_RESOURCE_ID, createLinkquegwEventHookResource, isUserTokenAuthorization,
|
|
197027
|
+
var LINKQUEGW_EVENT_PLUGIN_NAME, LINKQUEGW_EVENT_HOOK_RESOURCE_ID, LINKQUEGW_RUN_COMPLETED_HOOK_RESOURCE_ID, LINKQUEGW_RUN_FAILED_HOOK_RESOURCE_ID, DEFAULT_LINKQUEGW_EVENT_HOOKS, createLinkquegwEventHookResource, isUserTokenAuthorization, isLinkquegwEventHook, LinkquegwEventPlugin;
|
|
196989
197028
|
var init_linkquegwEventPlugin = __esm({
|
|
196990
197029
|
"../linkque-agent-runtime/dist/esm/impl/plugin/linkquegwEventPlugin.js"() {
|
|
196991
197030
|
"use strict";
|
|
@@ -196993,23 +197032,39 @@ var init_linkquegwEventPlugin = __esm({
|
|
|
196993
197032
|
init_linkquegwEventHookExecutor();
|
|
196994
197033
|
LINKQUEGW_EVENT_PLUGIN_NAME = "linkquegw-event-plugin";
|
|
196995
197034
|
LINKQUEGW_EVENT_HOOK_RESOURCE_ID = "linkquegw-event-run-started";
|
|
196996
|
-
|
|
196997
|
-
|
|
197035
|
+
LINKQUEGW_RUN_COMPLETED_HOOK_RESOURCE_ID = "linkquegw-event-run-completed";
|
|
197036
|
+
LINKQUEGW_RUN_FAILED_HOOK_RESOURCE_ID = "linkquegw-event-run-failed";
|
|
197037
|
+
DEFAULT_LINKQUEGW_EVENT_HOOKS = [
|
|
197038
|
+
{
|
|
197039
|
+
resourceId: LINKQUEGW_EVENT_HOOK_RESOURCE_ID,
|
|
197040
|
+
stage: EHookStage.RUN_STARTED
|
|
197041
|
+
},
|
|
197042
|
+
{
|
|
197043
|
+
resourceId: LINKQUEGW_RUN_COMPLETED_HOOK_RESOURCE_ID,
|
|
197044
|
+
stage: EHookStage.RUN_COMPLETED
|
|
197045
|
+
},
|
|
197046
|
+
{
|
|
197047
|
+
resourceId: LINKQUEGW_RUN_FAILED_HOOK_RESOURCE_ID,
|
|
197048
|
+
stage: EHookStage.RUN_FAILED
|
|
197049
|
+
}
|
|
197050
|
+
];
|
|
197051
|
+
createLinkquegwEventHookResource = (resourceId, stage) => ({
|
|
197052
|
+
resourceId,
|
|
196998
197053
|
resourceType: EResourceType.HOOK,
|
|
196999
197054
|
providerType: EResourceProviderType.LINK_QUE,
|
|
197000
197055
|
config: {
|
|
197001
197056
|
name: "LinkqueGW \u751F\u547D\u5468\u671F\u4E8B\u4EF6\u4E0A\u62A5",
|
|
197002
197057
|
executorName: EHookExecutorName.LinkquegwEventHookExecutor,
|
|
197003
|
-
stage
|
|
197058
|
+
stage,
|
|
197004
197059
|
hasSideEffects: true
|
|
197005
197060
|
}
|
|
197006
197061
|
});
|
|
197007
197062
|
isUserTokenAuthorization = (value) => /^Bearer[\t ]+[^\s,]+$/u.test(value);
|
|
197008
|
-
|
|
197063
|
+
isLinkquegwEventHook = (resource, stage) => {
|
|
197009
197064
|
if (resource.resourceType !== EResourceType.HOOK)
|
|
197010
197065
|
return false;
|
|
197011
197066
|
const hookResource = resource;
|
|
197012
|
-
return hookResource.config.executorName === EHookExecutorName.LinkquegwEventHookExecutor && hookResource.config.stage ===
|
|
197067
|
+
return hookResource.config.executorName === EHookExecutorName.LinkquegwEventHookExecutor && hookResource.config.stage === stage;
|
|
197013
197068
|
};
|
|
197014
197069
|
LinkquegwEventPlugin = class {
|
|
197015
197070
|
name = LINKQUEGW_EVENT_PLUGIN_NAME;
|
|
@@ -197038,10 +197093,12 @@ var init_linkquegwEventPlugin = __esm({
|
|
|
197038
197093
|
}
|
|
197039
197094
|
/** 自动补入 event trigger 所需 HookResource;已有同 executorName + stage 时保持原配置。 */
|
|
197040
197095
|
modifyAgentConfig(agentConfig) {
|
|
197041
|
-
const
|
|
197042
|
-
|
|
197043
|
-
|
|
197044
|
-
|
|
197096
|
+
for (const hook of DEFAULT_LINKQUEGW_EVENT_HOOKS) {
|
|
197097
|
+
const exists = agentConfig.agent.resources.some((resource) => isLinkquegwEventHook(resource, hook.stage));
|
|
197098
|
+
if (!exists) {
|
|
197099
|
+
agentConfig.agent.resources.push(createLinkquegwEventHookResource(hook.resourceId, hook.stage));
|
|
197100
|
+
}
|
|
197101
|
+
}
|
|
197045
197102
|
}
|
|
197046
197103
|
};
|
|
197047
197104
|
}
|
|
@@ -197053,6 +197110,8 @@ __export(plugin_exports, {
|
|
|
197053
197110
|
ExamplePlugin: () => ExamplePlugin,
|
|
197054
197111
|
LINKQUEGW_EVENT_HOOK_RESOURCE_ID: () => LINKQUEGW_EVENT_HOOK_RESOURCE_ID,
|
|
197055
197112
|
LINKQUEGW_EVENT_PLUGIN_NAME: () => LINKQUEGW_EVENT_PLUGIN_NAME,
|
|
197113
|
+
LINKQUEGW_RUN_COMPLETED_HOOK_RESOURCE_ID: () => LINKQUEGW_RUN_COMPLETED_HOOK_RESOURCE_ID,
|
|
197114
|
+
LINKQUEGW_RUN_FAILED_HOOK_RESOURCE_ID: () => LINKQUEGW_RUN_FAILED_HOOK_RESOURCE_ID,
|
|
197056
197115
|
LinkquegwEventPlugin: () => LinkquegwEventPlugin
|
|
197057
197116
|
});
|
|
197058
197117
|
var init_plugin = __esm({
|