agent-inspect 6.31.4 → 6.31.6
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/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/docs/SAFE-TRACE-SHARING.md +1 -1
- package/package.json +1 -1
- package/packages/cli/dist/{chunk-LKEPABND.mjs → chunk-YXDNWHNJ.mjs} +5 -8
- package/packages/cli/dist/chunk-YXDNWHNJ.mjs.map +1 -0
- package/packages/cli/dist/index.cjs +120 -21
- package/packages/cli/dist/index.cjs.map +1 -1
- package/packages/cli/dist/index.mjs +120 -18
- package/packages/cli/dist/index.mjs.map +1 -1
- package/packages/cli/dist/{src-4WYF5RFI.mjs → src-H22KNWAZ.mjs} +3 -3
- package/packages/cli/dist/{src-4WYF5RFI.mjs.map → src-H22KNWAZ.mjs.map} +1 -1
- package/packages/core/dist/advanced.cjs +1 -1
- package/packages/core/dist/advanced.cjs.map +1 -1
- package/packages/core/dist/advanced.mjs +9 -9
- package/packages/core/dist/checks.cjs +2 -5
- package/packages/core/dist/checks.cjs.map +1 -1
- package/packages/core/dist/checks.mjs +3 -3
- package/packages/core/dist/{chunk-2KJR6X4V.mjs → chunk-DK3OW6UI.mjs} +3 -3
- package/packages/core/dist/chunk-DK3OW6UI.mjs.map +1 -0
- package/packages/core/dist/{chunk-NY4ILMXK.mjs → chunk-EXGQLMVB.mjs} +3 -3
- package/packages/core/dist/{chunk-NY4ILMXK.mjs.map → chunk-EXGQLMVB.mjs.map} +1 -1
- package/packages/core/dist/{chunk-PKDBFBJ7.mjs → chunk-LXYPM2ZO.mjs} +5 -8
- package/packages/core/dist/{chunk-PKDBFBJ7.mjs.map → chunk-LXYPM2ZO.mjs.map} +1 -1
- package/packages/core/dist/{chunk-INE5IWLN.mjs → chunk-N5PZAI6Q.mjs} +3 -3
- package/packages/core/dist/{chunk-INE5IWLN.mjs.map → chunk-N5PZAI6Q.mjs.map} +1 -1
- package/packages/core/dist/{chunk-MTMTXTJL.mjs → chunk-VQUB3WRI.mjs} +4 -4
- package/packages/core/dist/{chunk-MTMTXTJL.mjs.map → chunk-VQUB3WRI.mjs.map} +1 -1
- package/packages/core/dist/exporters.cjs +58 -7
- package/packages/core/dist/exporters.cjs.map +1 -1
- package/packages/core/dist/exporters.mjs +60 -9
- package/packages/core/dist/exporters.mjs.map +1 -1
- package/packages/core/dist/index.cjs +1 -1
- package/packages/core/dist/index.cjs.map +1 -1
- package/packages/core/dist/index.mjs +4 -4
- package/packages/core/dist/writers.cjs +1 -1
- package/packages/core/dist/writers.cjs.map +1 -1
- package/packages/core/dist/writers.mjs +1 -1
- package/packages/cli/dist/chunk-LKEPABND.mjs.map +0 -1
- package/packages/core/dist/chunk-2KJR6X4V.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { ATTRIBUTION_CONFIDENCES, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createSafetyOversizedAttributeRule, resolveTraceDir, parseDuration, buildSessionIndex, resolveBundleRunIds, getTraceFilePath, openTrace, sha256Hex, collectTraceSchemaVersions, aggregateBundleSafeStatus, bundleFailsOnSafety, bundleRunAssetRelativePath, buildPlaceholderArtifact, EVIDENCE_HTML_FILENAME, EVIDENCE_MANIFEST_FILENAME, buildBundleMetadata, buildBundleSummaryMarkdown, buildEvidenceHtmlShell, buildEvidenceProvenanceViewHtml, EVIDENCE_FORMAT_VERSION, inferEvidenceFileRole, buildEvidenceSafetyViewHtml, buildEvidenceDiffViewHtml, buildEvidenceCircuitViewHtml, buildEvidenceOutcomesViewHtml, buildEvidenceContractsViewHtml, buildEvidenceToolsLlmViewHtml, buildEvidenceCausalFailureViewHtml, buildEvidenceTimelineViewHtml, buildEvidenceTreeViewHtml, buildEvidenceManifest, serializeEvidenceManifest, buildZipArchive, assertBundlePathContained, enrichSessionRunRecord, normalizeBundleOutputPath, sanitizeBundleRunId, defaultBundleOutputPath, runTraceChecks, assertEvidenceRelativePath, TraceDirectory, loadTraceMetadataList, loadSessionRunRecords, TraceReadError, resolveRedactionProfile, applyProfileMetadataCaps, Redactor, flattenTree, escapeHtml, safeString, compactAttributes, stableJson, escapeMarkdown, DEFAULT_REDACT_KEYS, truncateStringForProfile, stringContainsHighConfidenceCredential, isCredentialSensitiveKey, extractMetadata, filterTraces, truncateName, buildRunSummary, formatDuration, formatTimestamp, renderErrorLine, isAgentInspectTrace, defineTraceContract, filterMetasBySessionScope, evaluateTraceContract, aggregateSessionCheckResults, createBaselineRegressionRule, summarizeSemanticParity, buildEvidenceCiPackage, verifyEvidenceDirectory, diffTraceEvents, renderRunDiff, buildRunTimeline, renderTimeline, buildTraceStats, renderTraceStats, parseDurationFilter, searchTraces, formatStepLabel, buildActivitySummary, renderActivitySummaryHuman, buildRunWhatSummary, renderRunWhat, buildLocalExplanation, resolveSuiteTemplate, defaultSuiteConfigTemplate, loadSuiteConfig, validateSuiteConfig, runSuite, renderSuiteReport, analyzeCohort, renderCohortReport, gateHasThresholds, runGate, renderGateReport, persistedInspectEventsToTraceEvents, renderStepLine, getIndent, TreeBuilder, zeroKinds, validateEvent, traceEventToPersistedInspectEvent, isPersistedInspectEvent, createRunStatusRule, createStructureOrphanRule, createStructureCycleRule, createRunDurationRule, createMaxStepDurationRule, createRequireCompletedRule, createStallDetectionRule, createObservedOutcomeRule, createRunDepthRule, createToolUsageRule, createLlmUsageRule, createStructureRelationshipRule, createStructureParallelWidthRule, projectLogicalEvents, summarizeObservedOutcomes, extractOutcomesFromTraceEvents, renderObservedOutcomesMarkdown, renderObservedOutcomesHtml, DEFAULT_SUITE_ARTIFACTS_DIR, parseCohortMetricList, COHORT_METRIC_IDS, parseGateList, nanoid, isAttributionConfidence, diffRuns, manualTraceEventsToComparableRun } from './chunk-
|
|
2
|
+
import { ATTRIBUTION_CONFIDENCES, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createSafetyOversizedAttributeRule, resolveTraceDir, parseDuration, buildSessionIndex, resolveBundleRunIds, getTraceFilePath, openTrace, sha256Hex, collectTraceSchemaVersions, aggregateBundleSafeStatus, bundleFailsOnSafety, bundleRunAssetRelativePath, buildPlaceholderArtifact, EVIDENCE_HTML_FILENAME, EVIDENCE_MANIFEST_FILENAME, buildBundleMetadata, buildBundleSummaryMarkdown, buildEvidenceHtmlShell, buildEvidenceProvenanceViewHtml, EVIDENCE_FORMAT_VERSION, inferEvidenceFileRole, buildEvidenceSafetyViewHtml, buildEvidenceDiffViewHtml, buildEvidenceCircuitViewHtml, buildEvidenceOutcomesViewHtml, buildEvidenceContractsViewHtml, buildEvidenceToolsLlmViewHtml, buildEvidenceCausalFailureViewHtml, buildEvidenceTimelineViewHtml, buildEvidenceTreeViewHtml, buildEvidenceManifest, serializeEvidenceManifest, buildZipArchive, assertBundlePathContained, enrichSessionRunRecord, normalizeBundleOutputPath, sanitizeBundleRunId, defaultBundleOutputPath, runTraceChecks, assertEvidenceRelativePath, TraceDirectory, loadTraceMetadataList, loadSessionRunRecords, TraceReadError, resolveRedactionProfile, applyProfileMetadataCaps, Redactor, flattenTree, escapeHtml, safeString, compactAttributes, stableJson, escapeMarkdown, DEFAULT_REDACT_KEYS, truncateStringForProfile, stringContainsHighConfidenceCredential, isCredentialSensitiveKey, extractMetadata, filterTraces, truncateName, buildRunSummary, formatDuration, formatTimestamp, renderErrorLine, isAgentInspectTrace, defineTraceContract, filterMetasBySessionScope, evaluateTraceContract, aggregateSessionCheckResults, createBaselineRegressionRule, summarizeSemanticParity, buildEvidenceCiPackage, verifyEvidenceDirectory, diffTraceEvents, renderRunDiff, buildRunTimeline, renderTimeline, buildTraceStats, renderTraceStats, parseDurationFilter, searchTraces, formatStepLabel, buildActivitySummary, renderActivitySummaryHuman, buildRunWhatSummary, renderRunWhat, buildLocalExplanation, resolveSuiteTemplate, defaultSuiteConfigTemplate, loadSuiteConfig, validateSuiteConfig, runSuite, renderSuiteReport, analyzeCohort, renderCohortReport, gateHasThresholds, runGate, renderGateReport, persistedInspectEventsToTraceEvents, renderStepLine, getIndent, TreeBuilder, zeroKinds, validateEvent, traceEventToPersistedInspectEvent, isPersistedInspectEvent, createRunStatusRule, createStructureOrphanRule, createStructureCycleRule, createRunDurationRule, createMaxStepDurationRule, createRequireCompletedRule, createStallDetectionRule, createObservedOutcomeRule, createRunDepthRule, createToolUsageRule, createLlmUsageRule, createStructureRelationshipRule, createStructureParallelWidthRule, projectLogicalEvents, summarizeObservedOutcomes, extractOutcomesFromTraceEvents, renderObservedOutcomesMarkdown, renderObservedOutcomesHtml, DEFAULT_SUITE_ARTIFACTS_DIR, parseCohortMetricList, COHORT_METRIC_IDS, parseGateList, nanoid, isAttributionConfidence, diffRuns, manualTraceEventsToComparableRun } from './chunk-YXDNWHNJ.mjs';
|
|
3
3
|
import { realpathSync, constants as constants$1, existsSync, readFileSync } from 'fs';
|
|
4
4
|
import path19 from 'path';
|
|
5
5
|
import { fileURLToPath, pathToFileURL } from 'url';
|
|
@@ -14,7 +14,7 @@ import { createServer } from 'http';
|
|
|
14
14
|
import { createRequire } from 'module';
|
|
15
15
|
|
|
16
16
|
// package.json
|
|
17
|
-
var version = "6.31.
|
|
17
|
+
var version = "6.31.6";
|
|
18
18
|
|
|
19
19
|
// packages/cli/src/trace-dir-scale.ts
|
|
20
20
|
var TRACE_COUNT_WARN = 1e3;
|
|
@@ -1762,6 +1762,21 @@ var EXPORT_PAYLOAD_VERSION = "0.1.2";
|
|
|
1762
1762
|
|
|
1763
1763
|
// packages/core/src/safety/url-redaction.ts
|
|
1764
1764
|
var HTTP_URL = /^https?:\/\/[^\s]+$/i;
|
|
1765
|
+
var CONNECTION_PROTOCOLS = /* @__PURE__ */ new Set([
|
|
1766
|
+
"postgres:",
|
|
1767
|
+
"postgresql:",
|
|
1768
|
+
"mysql:",
|
|
1769
|
+
"mariadb:",
|
|
1770
|
+
"mongodb:",
|
|
1771
|
+
"mongodb+srv:",
|
|
1772
|
+
"redis:",
|
|
1773
|
+
"rediss:",
|
|
1774
|
+
"amqp:",
|
|
1775
|
+
"amqps:"
|
|
1776
|
+
]);
|
|
1777
|
+
var CONNECTION_URI = /^(?:postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/[^\s]+$/i;
|
|
1778
|
+
var CONNECTION_USERINFO = /^(postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/([^@/?#]+)@(.+)$/i;
|
|
1779
|
+
var CONNECTION_HAS_USERINFO = /^(?:postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/[^@/?#]+@/i;
|
|
1765
1780
|
var UUID_SEGMENT = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
1766
1781
|
var HEX_SEGMENT = /^[0-9a-f]{12,}$/i;
|
|
1767
1782
|
var NUMERIC_SEGMENT = /^\d{5,}$/;
|
|
@@ -1769,14 +1784,47 @@ var OPAQUE_SEGMENT = /^[A-Za-z0-9_-]{20,}$/;
|
|
|
1769
1784
|
function looksLikeHttpUrl(value) {
|
|
1770
1785
|
return HTTP_URL.test(value.trim());
|
|
1771
1786
|
}
|
|
1772
|
-
function
|
|
1787
|
+
function looksLikeConnectionUri(value) {
|
|
1788
|
+
return CONNECTION_URI.test(value.trim());
|
|
1789
|
+
}
|
|
1790
|
+
function looksLikeUrlForRedaction(value) {
|
|
1791
|
+
return looksLikeHttpUrl(value) || looksLikeConnectionUri(value);
|
|
1792
|
+
}
|
|
1793
|
+
function parseRedactableUrl(value) {
|
|
1773
1794
|
try {
|
|
1774
1795
|
const url = new URL(value.trim());
|
|
1775
|
-
|
|
1796
|
+
if (url.protocol === "http:" || url.protocol === "https:") return url;
|
|
1797
|
+
if (CONNECTION_PROTOCOLS.has(url.protocol)) return url;
|
|
1798
|
+
return void 0;
|
|
1776
1799
|
} catch {
|
|
1777
1800
|
return void 0;
|
|
1778
1801
|
}
|
|
1779
1802
|
}
|
|
1803
|
+
function redactConnectionUserinfoFallback(value, replacement) {
|
|
1804
|
+
const trimmed = value.trim();
|
|
1805
|
+
const match = CONNECTION_USERINFO.exec(trimmed);
|
|
1806
|
+
if (match) {
|
|
1807
|
+
const [, scheme, , rest] = match;
|
|
1808
|
+
if (scheme && rest && rest.length > 0) {
|
|
1809
|
+
return {
|
|
1810
|
+
value: `${scheme}://${rest}`,
|
|
1811
|
+
credentialRedacted: true,
|
|
1812
|
+
identifiersMasked: false
|
|
1813
|
+
};
|
|
1814
|
+
}
|
|
1815
|
+
}
|
|
1816
|
+
if (looksLikeConnectionUri(trimmed) && CONNECTION_HAS_USERINFO.test(trimmed)) {
|
|
1817
|
+
return {
|
|
1818
|
+
value: replacement,
|
|
1819
|
+
credentialRedacted: true,
|
|
1820
|
+
identifiersMasked: false
|
|
1821
|
+
};
|
|
1822
|
+
}
|
|
1823
|
+
return void 0;
|
|
1824
|
+
}
|
|
1825
|
+
function isHttpProtocol(protocol) {
|
|
1826
|
+
return protocol === "http:" || protocol === "https:";
|
|
1827
|
+
}
|
|
1780
1828
|
function isIdentifierSegment(segment) {
|
|
1781
1829
|
if (UUID_SEGMENT.test(segment)) return true;
|
|
1782
1830
|
if (HEX_SEGMENT.test(segment)) return true;
|
|
@@ -1814,15 +1862,18 @@ function redactUrlString(value, options) {
|
|
|
1814
1862
|
credentialRedacted: false,
|
|
1815
1863
|
identifiersMasked: false
|
|
1816
1864
|
};
|
|
1817
|
-
if (!
|
|
1818
|
-
const url = parseHttpUrl(value);
|
|
1819
|
-
if (!url) return unchanged;
|
|
1865
|
+
if (!looksLikeUrlForRedaction(value)) return unchanged;
|
|
1820
1866
|
const replacement = options.replacement ?? "[REDACTED]";
|
|
1867
|
+
const url = parseRedactableUrl(value);
|
|
1868
|
+
if (!url) {
|
|
1869
|
+
return redactConnectionUserinfoFallback(value, replacement) ?? unchanged;
|
|
1870
|
+
}
|
|
1821
1871
|
const idPlaceholder = options.idPlaceholder ?? "[id]";
|
|
1872
|
+
const http = isHttpProtocol(url.protocol);
|
|
1822
1873
|
let credentialRedacted = url.username.length > 0 || url.password.length > 0;
|
|
1823
1874
|
let identifiersMasked = false;
|
|
1824
1875
|
let pathname = url.pathname;
|
|
1825
|
-
if (options.maskPathIds === true) {
|
|
1876
|
+
if (http && options.maskPathIds === true) {
|
|
1826
1877
|
pathname = url.pathname.split("/").map((segment) => {
|
|
1827
1878
|
if (segment.length === 0 || !isIdentifierSegment(decodeParam(segment))) {
|
|
1828
1879
|
return segment;
|
|
@@ -3514,7 +3565,7 @@ async function newestTraceMtimeMs(traceDir) {
|
|
|
3514
3565
|
}
|
|
3515
3566
|
async function loadSessionRuns(traceDir) {
|
|
3516
3567
|
try {
|
|
3517
|
-
const mod = await import('./src-
|
|
3568
|
+
const mod = await import('./src-H22KNWAZ.mjs');
|
|
3518
3569
|
const dbPath = mod.resolveIndexDbPath(traceDir);
|
|
3519
3570
|
const status = mod.indexStatus(dbPath);
|
|
3520
3571
|
if (!status.healthy) {
|
|
@@ -4037,7 +4088,7 @@ function isCredentialSensitiveKey2(key, sensitiveKeys) {
|
|
|
4037
4088
|
}
|
|
4038
4089
|
|
|
4039
4090
|
// packages/redact/src/key-value-secret.ts
|
|
4040
|
-
var KEY_VALUE_SECRET_PATTERN_SOURCE = String.raw`\b(?:api[_-]?key|internal[_-]?token|access[_-]?token|auth[_-]?token|password|secret|token)=(?!\[(?:REDACTED(?::[^\]]*)?|HASH:[0-9a-f]{8})\](?![^\s"'
|
|
4091
|
+
var KEY_VALUE_SECRET_PATTERN_SOURCE = String.raw`\b(?:api[_-]?key|internal[_-]?token|access[_-]?token|auth[_-]?token|password|secret|token)=(?!\[(?:REDACTED(?::[^\]]*)?|HASH:[0-9a-f]{8})\](?![^\s"'\\&#?]))([^\s"'\\]{8,})`;
|
|
4041
4092
|
var KEY_VALUE_SECRET_PATTERN = new RegExp(
|
|
4042
4093
|
KEY_VALUE_SECRET_PATTERN_SOURCE,
|
|
4043
4094
|
"i"
|
|
@@ -4049,6 +4100,21 @@ function valueContainsKeyValueSecret(value) {
|
|
|
4049
4100
|
|
|
4050
4101
|
// packages/redact/src/url-redaction.ts
|
|
4051
4102
|
var HTTP_URL2 = /^https?:\/\/[^\s]+$/i;
|
|
4103
|
+
var CONNECTION_PROTOCOLS2 = /* @__PURE__ */ new Set([
|
|
4104
|
+
"postgres:",
|
|
4105
|
+
"postgresql:",
|
|
4106
|
+
"mysql:",
|
|
4107
|
+
"mariadb:",
|
|
4108
|
+
"mongodb:",
|
|
4109
|
+
"mongodb+srv:",
|
|
4110
|
+
"redis:",
|
|
4111
|
+
"rediss:",
|
|
4112
|
+
"amqp:",
|
|
4113
|
+
"amqps:"
|
|
4114
|
+
]);
|
|
4115
|
+
var CONNECTION_URI2 = /^(?:postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/[^\s]+$/i;
|
|
4116
|
+
var CONNECTION_USERINFO2 = /^(postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/([^@/?#]+)@(.+)$/i;
|
|
4117
|
+
var CONNECTION_HAS_USERINFO2 = /^(?:postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/[^@/?#]+@/i;
|
|
4052
4118
|
var UUID_SEGMENT2 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
4053
4119
|
var HEX_SEGMENT2 = /^[0-9a-f]{12,}$/i;
|
|
4054
4120
|
var NUMERIC_SEGMENT2 = /^\d{5,}$/;
|
|
@@ -4056,14 +4122,47 @@ var OPAQUE_SEGMENT2 = /^[A-Za-z0-9_-]{20,}$/;
|
|
|
4056
4122
|
function looksLikeHttpUrl2(value) {
|
|
4057
4123
|
return HTTP_URL2.test(value.trim());
|
|
4058
4124
|
}
|
|
4059
|
-
function
|
|
4125
|
+
function looksLikeConnectionUri2(value) {
|
|
4126
|
+
return CONNECTION_URI2.test(value.trim());
|
|
4127
|
+
}
|
|
4128
|
+
function looksLikeUrlForRedaction2(value) {
|
|
4129
|
+
return looksLikeHttpUrl2(value) || looksLikeConnectionUri2(value);
|
|
4130
|
+
}
|
|
4131
|
+
function parseRedactableUrl2(value) {
|
|
4060
4132
|
try {
|
|
4061
4133
|
const url = new URL(value.trim());
|
|
4062
|
-
|
|
4134
|
+
if (url.protocol === "http:" || url.protocol === "https:") return url;
|
|
4135
|
+
if (CONNECTION_PROTOCOLS2.has(url.protocol)) return url;
|
|
4136
|
+
return void 0;
|
|
4063
4137
|
} catch {
|
|
4064
4138
|
return void 0;
|
|
4065
4139
|
}
|
|
4066
4140
|
}
|
|
4141
|
+
function redactConnectionUserinfoFallback2(value, replacement) {
|
|
4142
|
+
const trimmed = value.trim();
|
|
4143
|
+
const match = CONNECTION_USERINFO2.exec(trimmed);
|
|
4144
|
+
if (match) {
|
|
4145
|
+
const [, scheme, , rest] = match;
|
|
4146
|
+
if (scheme && rest && rest.length > 0) {
|
|
4147
|
+
return {
|
|
4148
|
+
value: `${scheme}://${rest}`,
|
|
4149
|
+
credentialRedacted: true,
|
|
4150
|
+
identifiersMasked: false
|
|
4151
|
+
};
|
|
4152
|
+
}
|
|
4153
|
+
}
|
|
4154
|
+
if (looksLikeConnectionUri2(trimmed) && CONNECTION_HAS_USERINFO2.test(trimmed)) {
|
|
4155
|
+
return {
|
|
4156
|
+
value: replacement,
|
|
4157
|
+
credentialRedacted: true,
|
|
4158
|
+
identifiersMasked: false
|
|
4159
|
+
};
|
|
4160
|
+
}
|
|
4161
|
+
return void 0;
|
|
4162
|
+
}
|
|
4163
|
+
function isHttpProtocol2(protocol) {
|
|
4164
|
+
return protocol === "http:" || protocol === "https:";
|
|
4165
|
+
}
|
|
4067
4166
|
function isIdentifierSegment2(segment) {
|
|
4068
4167
|
if (UUID_SEGMENT2.test(segment)) return true;
|
|
4069
4168
|
if (HEX_SEGMENT2.test(segment)) return true;
|
|
@@ -4101,15 +4200,18 @@ function redactUrlString2(value, options) {
|
|
|
4101
4200
|
credentialRedacted: false,
|
|
4102
4201
|
identifiersMasked: false
|
|
4103
4202
|
};
|
|
4104
|
-
if (!
|
|
4105
|
-
const url = parseHttpUrl2(value);
|
|
4106
|
-
if (!url) return unchanged;
|
|
4203
|
+
if (!looksLikeUrlForRedaction2(value)) return unchanged;
|
|
4107
4204
|
const replacement = options.replacement ?? "[REDACTED]";
|
|
4205
|
+
const url = parseRedactableUrl2(value);
|
|
4206
|
+
if (!url) {
|
|
4207
|
+
return redactConnectionUserinfoFallback2(value, replacement) ?? unchanged;
|
|
4208
|
+
}
|
|
4108
4209
|
const idPlaceholder = options.idPlaceholder ?? "[id]";
|
|
4210
|
+
const http = isHttpProtocol2(url.protocol);
|
|
4109
4211
|
let credentialRedacted = url.username.length > 0 || url.password.length > 0;
|
|
4110
4212
|
let identifiersMasked = false;
|
|
4111
4213
|
let pathname = url.pathname;
|
|
4112
|
-
if (options.maskPathIds === true) {
|
|
4214
|
+
if (http && options.maskPathIds === true) {
|
|
4113
4215
|
pathname = url.pathname.split("/").map((segment) => {
|
|
4114
4216
|
if (segment.length === 0 || !isIdentifierSegment2(decodeParam2(segment))) {
|
|
4115
4217
|
return segment;
|
|
@@ -4559,7 +4661,7 @@ var Redactor2 = class {
|
|
|
4559
4661
|
return applyRule(rule, value, this.#replacement);
|
|
4560
4662
|
}
|
|
4561
4663
|
}
|
|
4562
|
-
if (typeof value === "string" &&
|
|
4664
|
+
if (typeof value === "string" && looksLikeUrlForRedaction2(value)) {
|
|
4563
4665
|
const url = redactUrlString2(value, {
|
|
4564
4666
|
sensitiveKeys: this.#sensitiveKeys,
|
|
4565
4667
|
isSensitiveValue: (candidate) => this.#detect(candidate, key, path30) !== void 0,
|
|
@@ -13289,7 +13391,7 @@ function isModuleNotFound4(e) {
|
|
|
13289
13391
|
}
|
|
13290
13392
|
async function loadIndexSqlite() {
|
|
13291
13393
|
try {
|
|
13292
|
-
return await import('./src-
|
|
13394
|
+
return await import('./src-H22KNWAZ.mjs');
|
|
13293
13395
|
} catch (e) {
|
|
13294
13396
|
if (isModuleNotFound4(e)) {
|
|
13295
13397
|
console.error(
|