agent-inspect 6.31.5 → 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 +6 -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 +61 -12
- package/packages/cli/dist/index.cjs.map +1 -1
- package/packages/cli/dist/index.mjs +61 -9
- 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 +29 -3
- package/packages/core/dist/exporters.cjs.map +1 -1
- package/packages/core/dist/exporters.mjs +31 -5
- 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;
|
|
@@ -1775,6 +1775,8 @@ var CONNECTION_PROTOCOLS = /* @__PURE__ */ new Set([
|
|
|
1775
1775
|
"amqps:"
|
|
1776
1776
|
]);
|
|
1777
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;
|
|
1778
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;
|
|
1779
1781
|
var HEX_SEGMENT = /^[0-9a-f]{12,}$/i;
|
|
1780
1782
|
var NUMERIC_SEGMENT = /^\d{5,}$/;
|
|
@@ -1798,6 +1800,28 @@ function parseRedactableUrl(value) {
|
|
|
1798
1800
|
return void 0;
|
|
1799
1801
|
}
|
|
1800
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
|
+
}
|
|
1801
1825
|
function isHttpProtocol(protocol) {
|
|
1802
1826
|
return protocol === "http:" || protocol === "https:";
|
|
1803
1827
|
}
|
|
@@ -1839,9 +1863,11 @@ function redactUrlString(value, options) {
|
|
|
1839
1863
|
identifiersMasked: false
|
|
1840
1864
|
};
|
|
1841
1865
|
if (!looksLikeUrlForRedaction(value)) return unchanged;
|
|
1842
|
-
const url = parseRedactableUrl(value);
|
|
1843
|
-
if (!url) return unchanged;
|
|
1844
1866
|
const replacement = options.replacement ?? "[REDACTED]";
|
|
1867
|
+
const url = parseRedactableUrl(value);
|
|
1868
|
+
if (!url) {
|
|
1869
|
+
return redactConnectionUserinfoFallback(value, replacement) ?? unchanged;
|
|
1870
|
+
}
|
|
1845
1871
|
const idPlaceholder = options.idPlaceholder ?? "[id]";
|
|
1846
1872
|
const http = isHttpProtocol(url.protocol);
|
|
1847
1873
|
let credentialRedacted = url.username.length > 0 || url.password.length > 0;
|
|
@@ -3539,7 +3565,7 @@ async function newestTraceMtimeMs(traceDir) {
|
|
|
3539
3565
|
}
|
|
3540
3566
|
async function loadSessionRuns(traceDir) {
|
|
3541
3567
|
try {
|
|
3542
|
-
const mod = await import('./src-
|
|
3568
|
+
const mod = await import('./src-H22KNWAZ.mjs');
|
|
3543
3569
|
const dbPath = mod.resolveIndexDbPath(traceDir);
|
|
3544
3570
|
const status = mod.indexStatus(dbPath);
|
|
3545
3571
|
if (!status.healthy) {
|
|
@@ -4062,7 +4088,7 @@ function isCredentialSensitiveKey2(key, sensitiveKeys) {
|
|
|
4062
4088
|
}
|
|
4063
4089
|
|
|
4064
4090
|
// packages/redact/src/key-value-secret.ts
|
|
4065
|
-
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,})`;
|
|
4066
4092
|
var KEY_VALUE_SECRET_PATTERN = new RegExp(
|
|
4067
4093
|
KEY_VALUE_SECRET_PATTERN_SOURCE,
|
|
4068
4094
|
"i"
|
|
@@ -4087,6 +4113,8 @@ var CONNECTION_PROTOCOLS2 = /* @__PURE__ */ new Set([
|
|
|
4087
4113
|
"amqps:"
|
|
4088
4114
|
]);
|
|
4089
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;
|
|
4090
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;
|
|
4091
4119
|
var HEX_SEGMENT2 = /^[0-9a-f]{12,}$/i;
|
|
4092
4120
|
var NUMERIC_SEGMENT2 = /^\d{5,}$/;
|
|
@@ -4110,6 +4138,28 @@ function parseRedactableUrl2(value) {
|
|
|
4110
4138
|
return void 0;
|
|
4111
4139
|
}
|
|
4112
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
|
+
}
|
|
4113
4163
|
function isHttpProtocol2(protocol) {
|
|
4114
4164
|
return protocol === "http:" || protocol === "https:";
|
|
4115
4165
|
}
|
|
@@ -4151,9 +4201,11 @@ function redactUrlString2(value, options) {
|
|
|
4151
4201
|
identifiersMasked: false
|
|
4152
4202
|
};
|
|
4153
4203
|
if (!looksLikeUrlForRedaction2(value)) return unchanged;
|
|
4154
|
-
const url = parseRedactableUrl2(value);
|
|
4155
|
-
if (!url) return unchanged;
|
|
4156
4204
|
const replacement = options.replacement ?? "[REDACTED]";
|
|
4205
|
+
const url = parseRedactableUrl2(value);
|
|
4206
|
+
if (!url) {
|
|
4207
|
+
return redactConnectionUserinfoFallback2(value, replacement) ?? unchanged;
|
|
4208
|
+
}
|
|
4157
4209
|
const idPlaceholder = options.idPlaceholder ?? "[id]";
|
|
4158
4210
|
const http = isHttpProtocol2(url.protocol);
|
|
4159
4211
|
let credentialRedacted = url.username.length > 0 || url.password.length > 0;
|
|
@@ -13339,7 +13391,7 @@ function isModuleNotFound4(e) {
|
|
|
13339
13391
|
}
|
|
13340
13392
|
async function loadIndexSqlite() {
|
|
13341
13393
|
try {
|
|
13342
|
-
return await import('./src-
|
|
13394
|
+
return await import('./src-H22KNWAZ.mjs');
|
|
13343
13395
|
} catch (e) {
|
|
13344
13396
|
if (isModuleNotFound4(e)) {
|
|
13345
13397
|
console.error(
|