@lakphy/local-router 0.1.1 → 0.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/dist/cli.js +21 -5
- package/dist/entry.js +21 -5
- package/dist/web/assets/index-CSD009q8.js +190 -0
- package/dist/web/assets/index-MPUGUNQ3.css +2 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/index-DhSFvTxf.css +0 -2
- package/dist/web/assets/index-oFvRLXdc.js +0 -190
package/dist/cli.js
CHANGED
|
@@ -10826,6 +10826,7 @@ async function buildLogEventDetail(id, parsed, location, context) {
|
|
|
10826
10826
|
},
|
|
10827
10827
|
upstream: {
|
|
10828
10828
|
targetUrl: maskedEvent.target_url,
|
|
10829
|
+
proxyUrl: maskedEvent.proxy_url ?? null,
|
|
10829
10830
|
providerRequestId: maskedEvent.provider_request_id,
|
|
10830
10831
|
errorType: maskedEvent.error_type,
|
|
10831
10832
|
errorMessage: maskedEvent.error_message,
|
|
@@ -11661,6 +11662,20 @@ function extractProviderRequestId(headers) {
|
|
|
11661
11662
|
}
|
|
11662
11663
|
return null;
|
|
11663
11664
|
}
|
|
11665
|
+
function maskUrlCredentials(rawUrl) {
|
|
11666
|
+
try {
|
|
11667
|
+
const parsed = new URL(rawUrl);
|
|
11668
|
+
if (!parsed.username && !parsed.password)
|
|
11669
|
+
return rawUrl;
|
|
11670
|
+
if (parsed.username)
|
|
11671
|
+
parsed.username = "****";
|
|
11672
|
+
if (parsed.password)
|
|
11673
|
+
parsed.password = "****";
|
|
11674
|
+
return parsed.toString();
|
|
11675
|
+
} catch {
|
|
11676
|
+
return rawUrl;
|
|
11677
|
+
}
|
|
11678
|
+
}
|
|
11664
11679
|
|
|
11665
11680
|
// src/openapi.ts
|
|
11666
11681
|
var openAPISpec = {
|
|
@@ -12813,7 +12828,7 @@ function buildResponseHeaders(upstream) {
|
|
|
12813
12828
|
});
|
|
12814
12829
|
return headers;
|
|
12815
12830
|
}
|
|
12816
|
-
function buildLogEvent(logMeta, targetUrl, tsEnd, overrides) {
|
|
12831
|
+
function buildLogEvent(logMeta, targetUrl, proxyUrl, tsEnd, overrides) {
|
|
12817
12832
|
return {
|
|
12818
12833
|
request_id: logMeta.requestId,
|
|
12819
12834
|
ts_start: new Date(logMeta.tsStart).toISOString(),
|
|
@@ -12826,7 +12841,8 @@ function buildLogEvent(logMeta, targetUrl, tsEnd, overrides) {
|
|
|
12826
12841
|
provider: logMeta.provider,
|
|
12827
12842
|
model_in: logMeta.modelIn,
|
|
12828
12843
|
model_out: logMeta.modelOut,
|
|
12829
|
-
target_url: targetUrl,
|
|
12844
|
+
target_url: maskUrlCredentials(targetUrl),
|
|
12845
|
+
proxy_url: proxyUrl ? maskUrlCredentials(proxyUrl) : null,
|
|
12830
12846
|
is_stream: logMeta.isStream,
|
|
12831
12847
|
upstream_status: 0,
|
|
12832
12848
|
content_type_req: logMeta.contentTypeReq,
|
|
@@ -12883,7 +12899,7 @@ async function proxyRequest(c2, options) {
|
|
|
12883
12899
|
});
|
|
12884
12900
|
} catch (err) {
|
|
12885
12901
|
if (shouldLog) {
|
|
12886
|
-
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, Date.now(), {
|
|
12902
|
+
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, proxy, Date.now(), {
|
|
12887
12903
|
error_type: err instanceof Error ? err.constructor.name : "UnknownError",
|
|
12888
12904
|
error_message: err instanceof Error ? err.message : String(err),
|
|
12889
12905
|
...requestBody !== undefined && { request_body: requestBody }
|
|
@@ -12923,7 +12939,7 @@ async function proxyRequest(c2, options) {
|
|
|
12923
12939
|
});
|
|
12924
12940
|
console.error("[logger] \u6D41\u5F0F\u65E5\u5FD7\u5904\u7406\u5931\u8D25:", err);
|
|
12925
12941
|
} finally {
|
|
12926
|
-
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, Date.now(), {
|
|
12942
|
+
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, proxy, Date.now(), {
|
|
12927
12943
|
upstream_status: upstreamRes.status,
|
|
12928
12944
|
content_type_res: contentTypeRes,
|
|
12929
12945
|
response_headers: responseHeaders,
|
|
@@ -12954,7 +12970,7 @@ async function proxyRequest(c2, options) {
|
|
|
12954
12970
|
if (logger?.bodyPolicy !== "off") {
|
|
12955
12971
|
eventOverrides.response_body = responseText;
|
|
12956
12972
|
}
|
|
12957
|
-
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, Date.now(), eventOverrides));
|
|
12973
|
+
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, proxy, Date.now(), eventOverrides));
|
|
12958
12974
|
return new Response(responseText, {
|
|
12959
12975
|
status: upstreamRes.status,
|
|
12960
12976
|
headers: responseHeaders
|
package/dist/entry.js
CHANGED
|
@@ -10810,6 +10810,7 @@ async function buildLogEventDetail(id, parsed, location, context) {
|
|
|
10810
10810
|
},
|
|
10811
10811
|
upstream: {
|
|
10812
10812
|
targetUrl: maskedEvent.target_url,
|
|
10813
|
+
proxyUrl: maskedEvent.proxy_url ?? null,
|
|
10813
10814
|
providerRequestId: maskedEvent.provider_request_id,
|
|
10814
10815
|
errorType: maskedEvent.error_type,
|
|
10815
10816
|
errorMessage: maskedEvent.error_message,
|
|
@@ -11645,6 +11646,20 @@ function extractProviderRequestId(headers) {
|
|
|
11645
11646
|
}
|
|
11646
11647
|
return null;
|
|
11647
11648
|
}
|
|
11649
|
+
function maskUrlCredentials(rawUrl) {
|
|
11650
|
+
try {
|
|
11651
|
+
const parsed = new URL(rawUrl);
|
|
11652
|
+
if (!parsed.username && !parsed.password)
|
|
11653
|
+
return rawUrl;
|
|
11654
|
+
if (parsed.username)
|
|
11655
|
+
parsed.username = "****";
|
|
11656
|
+
if (parsed.password)
|
|
11657
|
+
parsed.password = "****";
|
|
11658
|
+
return parsed.toString();
|
|
11659
|
+
} catch {
|
|
11660
|
+
return rawUrl;
|
|
11661
|
+
}
|
|
11662
|
+
}
|
|
11648
11663
|
|
|
11649
11664
|
// src/openapi.ts
|
|
11650
11665
|
var openAPISpec = {
|
|
@@ -12797,7 +12812,7 @@ function buildResponseHeaders(upstream) {
|
|
|
12797
12812
|
});
|
|
12798
12813
|
return headers;
|
|
12799
12814
|
}
|
|
12800
|
-
function buildLogEvent(logMeta, targetUrl, tsEnd, overrides) {
|
|
12815
|
+
function buildLogEvent(logMeta, targetUrl, proxyUrl, tsEnd, overrides) {
|
|
12801
12816
|
return {
|
|
12802
12817
|
request_id: logMeta.requestId,
|
|
12803
12818
|
ts_start: new Date(logMeta.tsStart).toISOString(),
|
|
@@ -12810,7 +12825,8 @@ function buildLogEvent(logMeta, targetUrl, tsEnd, overrides) {
|
|
|
12810
12825
|
provider: logMeta.provider,
|
|
12811
12826
|
model_in: logMeta.modelIn,
|
|
12812
12827
|
model_out: logMeta.modelOut,
|
|
12813
|
-
target_url: targetUrl,
|
|
12828
|
+
target_url: maskUrlCredentials(targetUrl),
|
|
12829
|
+
proxy_url: proxyUrl ? maskUrlCredentials(proxyUrl) : null,
|
|
12814
12830
|
is_stream: logMeta.isStream,
|
|
12815
12831
|
upstream_status: 0,
|
|
12816
12832
|
content_type_req: logMeta.contentTypeReq,
|
|
@@ -12867,7 +12883,7 @@ async function proxyRequest(c2, options) {
|
|
|
12867
12883
|
});
|
|
12868
12884
|
} catch (err) {
|
|
12869
12885
|
if (shouldLog) {
|
|
12870
|
-
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, Date.now(), {
|
|
12886
|
+
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, proxy, Date.now(), {
|
|
12871
12887
|
error_type: err instanceof Error ? err.constructor.name : "UnknownError",
|
|
12872
12888
|
error_message: err instanceof Error ? err.message : String(err),
|
|
12873
12889
|
...requestBody !== undefined && { request_body: requestBody }
|
|
@@ -12907,7 +12923,7 @@ async function proxyRequest(c2, options) {
|
|
|
12907
12923
|
});
|
|
12908
12924
|
console.error("[logger] \u6D41\u5F0F\u65E5\u5FD7\u5904\u7406\u5931\u8D25:", err);
|
|
12909
12925
|
} finally {
|
|
12910
|
-
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, Date.now(), {
|
|
12926
|
+
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, proxy, Date.now(), {
|
|
12911
12927
|
upstream_status: upstreamRes.status,
|
|
12912
12928
|
content_type_res: contentTypeRes,
|
|
12913
12929
|
response_headers: responseHeaders,
|
|
@@ -12938,7 +12954,7 @@ async function proxyRequest(c2, options) {
|
|
|
12938
12954
|
if (logger?.bodyPolicy !== "off") {
|
|
12939
12955
|
eventOverrides.response_body = responseText;
|
|
12940
12956
|
}
|
|
12941
|
-
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, Date.now(), eventOverrides));
|
|
12957
|
+
logger?.writeEvent(buildLogEvent(logMeta, options.targetUrl, proxy, Date.now(), eventOverrides));
|
|
12942
12958
|
return new Response(responseText, {
|
|
12943
12959
|
status: upstreamRes.status,
|
|
12944
12960
|
headers: responseHeaders
|