agent-inspect 6.29.4 → 6.29.5
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 +11 -0
- package/README.md +1 -1
- package/docs/LIMITATIONS.md +1 -1
- package/docs/TRACE-CONTRACTS.md +1 -1
- package/package.json +1 -1
- package/packages/cli/dist/{chunk-FJRUJSST.mjs → chunk-XWQEHKGB.mjs} +41 -29
- package/packages/cli/dist/chunk-XWQEHKGB.mjs.map +1 -0
- package/packages/cli/dist/index.cjs +194 -70
- package/packages/cli/dist/index.cjs.map +1 -1
- package/packages/cli/dist/index.mjs +146 -43
- package/packages/cli/dist/index.mjs.map +1 -1
- package/packages/cli/dist/{src-GZQVDREP.mjs → src-XNC4EUN3.mjs} +3 -3
- package/packages/cli/dist/{src-GZQVDREP.mjs.map → src-XNC4EUN3.mjs.map} +1 -1
- package/packages/core/dist/advanced.cjs +20 -9
- package/packages/core/dist/advanced.cjs.map +1 -1
- package/packages/core/dist/advanced.d.cts +10 -10
- package/packages/core/dist/advanced.d.ts +10 -10
- package/packages/core/dist/advanced.mjs +15 -14
- package/packages/core/dist/advanced.mjs.map +1 -1
- package/packages/core/dist/checks.cjs +45 -31
- package/packages/core/dist/checks.cjs.map +1 -1
- package/packages/core/dist/checks.d.cts +7 -7
- package/packages/core/dist/checks.d.ts +7 -7
- package/packages/core/dist/checks.mjs +5 -5
- package/packages/core/dist/{chunk-7LSVGXCN.mjs → chunk-26YJSETN.mjs} +3 -3
- package/packages/core/dist/{chunk-7LSVGXCN.mjs.map → chunk-26YJSETN.mjs.map} +1 -1
- package/packages/core/dist/{chunk-5M4QUYFH.mjs → chunk-BGF5JDJN.mjs} +3 -3
- package/packages/core/dist/{chunk-5M4QUYFH.mjs.map → chunk-BGF5JDJN.mjs.map} +1 -1
- package/packages/core/dist/{chunk-3I6KX32E.mjs → chunk-EE5Z2GQ3.mjs} +20 -12
- package/packages/core/dist/chunk-EE5Z2GQ3.mjs.map +1 -0
- package/packages/core/dist/{chunk-FKVCTIP6.mjs → chunk-KWBO36PH.mjs} +4 -4
- package/packages/core/dist/{chunk-FKVCTIP6.mjs.map → chunk-KWBO36PH.mjs.map} +1 -1
- package/packages/core/dist/{chunk-BMRK6XHO.mjs → chunk-PBNBQRXV.mjs} +4 -4
- package/packages/core/dist/{chunk-BMRK6XHO.mjs.map → chunk-PBNBQRXV.mjs.map} +1 -1
- package/packages/core/dist/{chunk-KNRY24RS.mjs → chunk-Q5SLKV2Y.mjs} +3 -3
- package/packages/core/dist/{chunk-KNRY24RS.mjs.map → chunk-Q5SLKV2Y.mjs.map} +1 -1
- package/packages/core/dist/{chunk-XPDNO3KH.mjs → chunk-TU47EKKS.mjs} +29 -34
- package/packages/core/dist/chunk-TU47EKKS.mjs.map +1 -0
- package/packages/core/dist/{chunk-AT7TICCQ.mjs → chunk-WN5PT4GV.mjs} +4 -4
- package/packages/core/dist/{chunk-AT7TICCQ.mjs.map → chunk-WN5PT4GV.mjs.map} +1 -1
- package/packages/core/dist/{chunk-DZBNXCLA.mjs → chunk-ZFJ2ICTC.mjs} +5 -5
- package/packages/core/dist/{chunk-DZBNXCLA.mjs.map → chunk-ZFJ2ICTC.mjs.map} +1 -1
- package/packages/core/dist/{context-B8zzsmjX.d.ts → context-B7DqUmsJ.d.ts} +3 -3
- package/packages/core/dist/{context-BhaVHtOT.d.cts → context-rR_jW9TH.d.cts} +3 -3
- package/packages/core/dist/diff.d.cts +3 -3
- package/packages/core/dist/diff.d.ts +3 -3
- package/packages/core/dist/exporters.d.cts +3 -3
- package/packages/core/dist/exporters.d.ts +3 -3
- package/packages/core/dist/exporters.mjs +5 -5
- package/packages/core/dist/{index-BT3KcO6-.d.cts → index-Cdww9h50.d.cts} +2 -2
- package/packages/core/dist/{index-BaQ48jrq.d.cts → index-DKv7esIo.d.cts} +4 -4
- package/packages/core/dist/{index-CrnEOoRu.d.ts → index-DvSbXNot.d.ts} +4 -4
- package/packages/core/dist/{index-reskZCVW.d.ts → index-xUbdpcrP.d.ts} +2 -2
- package/packages/core/dist/index.cjs +11 -9
- package/packages/core/dist/index.cjs.map +1 -1
- package/packages/core/dist/index.d.cts +6 -6
- package/packages/core/dist/index.d.ts +6 -6
- package/packages/core/dist/index.mjs +6 -6
- package/packages/core/dist/{inspect-event-CDqjcrG_.d.cts → inspect-event-ClM5Z8om.d.cts} +6 -1
- package/packages/core/dist/{inspect-event-CDqjcrG_.d.ts → inspect-event-ClM5Z8om.d.ts} +6 -1
- package/packages/core/dist/{log-config-DcjV8ZjF.d.cts → log-config-CyRGaaWd.d.cts} +1 -1
- package/packages/core/dist/{log-config-N_c5AE09.d.ts → log-config-DAV_sR9A.d.ts} +1 -1
- package/packages/core/dist/logs.d.cts +3 -3
- package/packages/core/dist/logs.d.ts +3 -3
- package/packages/core/dist/{persisted-inspect-event-BMwvGIB8.d.ts → persisted-inspect-event-DG02LhEP.d.ts} +1 -1
- package/packages/core/dist/{persisted-inspect-event-DPaCiars.d.cts → persisted-inspect-event-q2ViiBW6.d.cts} +1 -1
- package/packages/core/dist/persisted.cjs +11 -9
- package/packages/core/dist/persisted.cjs.map +1 -1
- package/packages/core/dist/persisted.d.cts +5 -5
- package/packages/core/dist/persisted.d.ts +5 -5
- package/packages/core/dist/persisted.mjs +3 -3
- package/packages/core/dist/readers.cjs +11 -9
- package/packages/core/dist/readers.cjs.map +1 -1
- package/packages/core/dist/readers.d.cts +3 -3
- package/packages/core/dist/readers.d.ts +3 -3
- package/packages/core/dist/readers.mjs +4 -4
- package/packages/core/dist/{types-C5Y8Idle.d.ts → types-BX1EPji1.d.ts} +1 -1
- package/packages/core/dist/{types-BSzhK7Z1.d.cts → types-bwL8cBv5.d.cts} +1 -1
- package/packages/core/dist/writers.cjs +11 -9
- package/packages/core/dist/writers.cjs.map +1 -1
- package/packages/core/dist/writers.d.cts +2 -2
- package/packages/core/dist/writers.d.ts +2 -2
- package/packages/core/dist/writers.mjs +3 -3
- package/packages/cli/dist/chunk-FJRUJSST.mjs.map +0 -1
- package/packages/core/dist/chunk-3I6KX32E.mjs.map +0 -1
- package/packages/core/dist/chunk-XPDNO3KH.mjs.map +0 -1
|
@@ -10,6 +10,23 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
10
10
|
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
11
11
|
var os__default = /*#__PURE__*/_interopDefault(os);
|
|
12
12
|
|
|
13
|
+
// packages/core/src/types/inspect-event.ts
|
|
14
|
+
var ATTRIBUTION_CONFIDENCES = [
|
|
15
|
+
"unknown",
|
|
16
|
+
"heuristic",
|
|
17
|
+
"correlated",
|
|
18
|
+
"explicit"
|
|
19
|
+
];
|
|
20
|
+
function isAttributionConfidence(value) {
|
|
21
|
+
return typeof value === "string" && ATTRIBUTION_CONFIDENCES.includes(value);
|
|
22
|
+
}
|
|
23
|
+
var ATTRIBUTION_CONFIDENCE_RANK = {
|
|
24
|
+
unknown: 0,
|
|
25
|
+
heuristic: 1,
|
|
26
|
+
correlated: 2,
|
|
27
|
+
explicit: 3
|
|
28
|
+
};
|
|
29
|
+
|
|
13
30
|
// packages/core/src/diagnostics/programmatic.ts
|
|
14
31
|
var PROGRAMMATIC_DIAGNOSTIC_SPECS = Object.freeze({
|
|
15
32
|
AI_TRACE_INPUT_INVALID: {
|
|
@@ -2021,16 +2038,6 @@ function eventTime2(event) {
|
|
|
2021
2038
|
function sortByTime2(events) {
|
|
2022
2039
|
return [...events].sort((a, b) => eventTime2(a).localeCompare(eventTime2(b)));
|
|
2023
2040
|
}
|
|
2024
|
-
function hasIdempotencyEvidence2(event) {
|
|
2025
|
-
const workflow = workflowFor2(event);
|
|
2026
|
-
if (typeof workflow.idempotencyKey === "string" && workflow.idempotencyKey.trim() !== "") {
|
|
2027
|
-
return true;
|
|
2028
|
-
}
|
|
2029
|
-
const attrs2 = event.attributes ?? {};
|
|
2030
|
-
if (attrs2.noSideEffect === true) return true;
|
|
2031
|
-
if (attrs2.sideEffect === false) return true;
|
|
2032
|
-
return false;
|
|
2033
|
-
}
|
|
2034
2041
|
function errorCodeOf(event) {
|
|
2035
2042
|
if (typeof event.error?.code === "string" && event.error.code.trim() !== "") {
|
|
2036
2043
|
return event.error.code.trim();
|
|
@@ -2287,13 +2294,13 @@ function evaluateRecoveryOperations(events, operations) {
|
|
|
2287
2294
|
}
|
|
2288
2295
|
if (sideEffectClass === "write") {
|
|
2289
2296
|
for (const event of ordered) {
|
|
2290
|
-
if (isUnevaluableWriteCompletion(event)
|
|
2297
|
+
if (isUnevaluableWriteCompletion(event)) {
|
|
2291
2298
|
findings.push(
|
|
2292
2299
|
fail3(
|
|
2293
2300
|
"contract.retry.operations.write-completion-unevaluable",
|
|
2294
|
-
`Write tool ${operation.tool} has timeout/unknown completion
|
|
2301
|
+
`Write tool ${operation.tool} has timeout/unknown/running completion that cannot be verified as an authoritative write result.`,
|
|
2295
2302
|
[eventEvidence2(event)],
|
|
2296
|
-
"
|
|
2303
|
+
"authoritative write completion observation",
|
|
2297
2304
|
{
|
|
2298
2305
|
code: "AI_CHECK_RECOVERY_WRITE_COMPLETION_UNAVAILABLE",
|
|
2299
2306
|
status: event.status
|
|
@@ -2437,7 +2444,7 @@ function evaluateRecoveryOperations(events, operations) {
|
|
|
2437
2444
|
if (dependency?.consumerKind === "LLM") {
|
|
2438
2445
|
const successForDependency = latest?.status === "ok" ? latest : identityUnavailable ? void 0 : lastOk;
|
|
2439
2446
|
if (successForDependency) {
|
|
2440
|
-
if (sideEffectClass === "write" && isUnevaluableWriteCompletion(successForDependency)
|
|
2447
|
+
if (sideEffectClass === "write" && isUnevaluableWriteCompletion(successForDependency)) {
|
|
2441
2448
|
findings.push(
|
|
2442
2449
|
fail3(
|
|
2443
2450
|
"contract.retry.operations.successful-result-dependency",
|
|
@@ -3489,12 +3496,7 @@ var STATUS_RANK = {
|
|
|
3489
3496
|
warning: 1,
|
|
3490
3497
|
pass: 2
|
|
3491
3498
|
};
|
|
3492
|
-
var CONFIDENCE_RANK =
|
|
3493
|
-
unknown: 0,
|
|
3494
|
-
heuristic: 1,
|
|
3495
|
-
correlated: 2,
|
|
3496
|
-
explicit: 3
|
|
3497
|
-
};
|
|
3499
|
+
var CONFIDENCE_RANK = ATTRIBUTION_CONFIDENCE_RANK;
|
|
3498
3500
|
var DEFAULT_SENSITIVE_KEYS = DEFAULT_CREDENTIAL_SENSITIVE_KEYS;
|
|
3499
3501
|
var DEFAULT_RAW_CONTENT_KEYS = [
|
|
3500
3502
|
"body",
|
|
@@ -4763,6 +4765,12 @@ function createStructureCycleRule() {
|
|
|
4763
4765
|
};
|
|
4764
4766
|
}
|
|
4765
4767
|
function createStructureRelationshipRule(options = {}) {
|
|
4768
|
+
if (options.minConfidence !== void 0 && !isAttributionConfidence(options.minConfidence)) {
|
|
4769
|
+
throw new TypeError(
|
|
4770
|
+
`createStructureRelationshipRule: minConfidence must be one of: ${ATTRIBUTION_CONFIDENCES.join(", ")}.`
|
|
4771
|
+
);
|
|
4772
|
+
}
|
|
4773
|
+
const minConfidence = options.minConfidence;
|
|
4766
4774
|
return {
|
|
4767
4775
|
id: "structure.relationship",
|
|
4768
4776
|
category: "structure",
|
|
@@ -4770,18 +4778,21 @@ function createStructureRelationshipRule(options = {}) {
|
|
|
4770
4778
|
evaluate(context) {
|
|
4771
4779
|
const byId = eventMap(semanticEvents(context));
|
|
4772
4780
|
const findings = [];
|
|
4773
|
-
const minConfidence = options.minConfidence;
|
|
4774
4781
|
for (const event of semanticEvents(context)) {
|
|
4775
|
-
if (minConfidence
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
|
|
4782
|
+
if (minConfidence) {
|
|
4783
|
+
const eventRank = CONFIDENCE_RANK[event.confidence] ?? CONFIDENCE_RANK.unknown;
|
|
4784
|
+
const minRank = CONFIDENCE_RANK[minConfidence];
|
|
4785
|
+
if (eventRank < minRank) {
|
|
4786
|
+
findings.push(
|
|
4787
|
+
failFinding(
|
|
4788
|
+
"structure.relationship",
|
|
4789
|
+
`Event confidence ${event.confidence} is below ${minConfidence}.`,
|
|
4790
|
+
[eventEvidence3(event, "confidence")],
|
|
4791
|
+
{ minConfidence },
|
|
4792
|
+
event.confidence
|
|
4793
|
+
)
|
|
4794
|
+
);
|
|
4795
|
+
}
|
|
4785
4796
|
}
|
|
4786
4797
|
if (!event.parentId) continue;
|
|
4787
4798
|
if (event.parentId === event.eventId) {
|
|
@@ -5453,6 +5464,8 @@ function runTraceChecks(input, options = {}) {
|
|
|
5453
5464
|
};
|
|
5454
5465
|
}
|
|
5455
5466
|
|
|
5467
|
+
exports.ATTRIBUTION_CONFIDENCES = ATTRIBUTION_CONFIDENCES;
|
|
5468
|
+
exports.ATTRIBUTION_CONFIDENCE_RANK = ATTRIBUTION_CONFIDENCE_RANK;
|
|
5456
5469
|
exports.PROGRAMMATIC_DIAGNOSTIC_SPECS = PROGRAMMATIC_DIAGNOSTIC_SPECS;
|
|
5457
5470
|
exports.buildTraceFacts = buildTraceFacts;
|
|
5458
5471
|
exports.createBaselineRegressionRule = createBaselineRegressionRule;
|
|
@@ -5489,6 +5502,7 @@ exports.evaluateTraceContractRead = evaluateTraceContractRead;
|
|
|
5489
5502
|
exports.explainTraceContract = explainTraceContract;
|
|
5490
5503
|
exports.extractToolArgumentPayload = extractToolArgumentPayload;
|
|
5491
5504
|
exports.formatProgrammaticDiagnostic = formatProgrammaticDiagnostic;
|
|
5505
|
+
exports.isAttributionConfidence = isAttributionConfidence;
|
|
5492
5506
|
exports.lintTraceContract = lintTraceContract;
|
|
5493
5507
|
exports.projectLogicalEvents = projectLogicalEvents;
|
|
5494
5508
|
exports.resolveCanonicalToolName = resolveCanonicalToolName;
|