agent-inspect 6.31.17 → 6.31.19
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/COMPARE.md +1 -1
- package/package.json +2 -2
- package/packages/cli/dist/{chunk-USZJEEME.mjs → chunk-NALE36AJ.mjs} +154 -31
- package/packages/cli/dist/chunk-NALE36AJ.mjs.map +1 -0
- package/packages/cli/dist/index.cjs +208 -32
- package/packages/cli/dist/index.cjs.map +1 -1
- package/packages/cli/dist/index.mjs +58 -6
- package/packages/cli/dist/index.mjs.map +1 -1
- package/packages/cli/dist/{src-EY4EY456.mjs → src-IZIVBMCO.mjs} +3 -3
- package/packages/cli/dist/{src-EY4EY456.mjs.map → src-IZIVBMCO.mjs.map} +1 -1
- package/packages/core/dist/advanced.cjs +72 -4
- package/packages/core/dist/advanced.cjs.map +1 -1
- package/packages/core/dist/advanced.mjs +3 -3
- package/packages/core/dist/checks.cjs +86 -29
- package/packages/core/dist/checks.cjs.map +1 -1
- package/packages/core/dist/checks.mjs +1 -1
- package/packages/core/dist/{chunk-GTA6SNDK.mjs → chunk-2RSTU3OZ.mjs} +88 -31
- package/packages/core/dist/chunk-2RSTU3OZ.mjs.map +1 -0
- package/packages/core/dist/{chunk-NJUSSJX3.mjs → chunk-EIP5CNEL.mjs} +68 -2
- package/packages/core/dist/chunk-EIP5CNEL.mjs.map +1 -0
- package/packages/core/dist/exporters.cjs +54 -2
- package/packages/core/dist/exporters.cjs.map +1 -1
- package/packages/core/dist/exporters.mjs +54 -2
- package/packages/core/dist/exporters.mjs.map +1 -1
- package/packages/core/dist/readers.cjs +66 -0
- package/packages/core/dist/readers.cjs.map +1 -1
- package/packages/core/dist/readers.mjs +1 -1
- package/packages/cli/dist/chunk-USZJEEME.mjs.map +0 -1
- package/packages/core/dist/chunk-GTA6SNDK.mjs.map +0 -1
- package/packages/core/dist/chunk-NJUSSJX3.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { buildTraceFacts, createBaselineRegressionRule, createDecisionRule, createGuardrailRule, createLlmUsageRule, createMaxStepDurationRule, createObservedOutcomeRule, createRequireCompletedRule, createRetrievalRule, createRunDepthRule, createRunDurationRule, createRunEventCountRule, createRunStatusRule, createSafetyOversizedAttributeRule, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createStallDetectionRule, createStepOrderingRule, createStructureCycleRule, createStructureIncompleteRule, createStructureOrphanRule, createStructureParallelWidthRule, createStructureRelationshipRule, createToolFailureRule, createToolOrderingRule, createToolUsageRule, defineTraceContract, deriveFailureFacts, deriveRelationshipFacts, evaluateToolArgumentValue, evaluateTraceContract, evaluateTraceContractRead, explainTraceContract, extractToolArgumentPayload, lintTraceContract, resolveJsonPointer, resolveTraceContractScope, runTraceChecks, summarizeSemanticParity, workflowMetadataForRun } from './chunk-
|
|
1
|
+
export { buildTraceFacts, createBaselineRegressionRule, createDecisionRule, createGuardrailRule, createLlmUsageRule, createMaxStepDurationRule, createObservedOutcomeRule, createRequireCompletedRule, createRetrievalRule, createRunDepthRule, createRunDurationRule, createRunEventCountRule, createRunStatusRule, createSafetyOversizedAttributeRule, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createStallDetectionRule, createStepOrderingRule, createStructureCycleRule, createStructureIncompleteRule, createStructureOrphanRule, createStructureParallelWidthRule, createStructureRelationshipRule, createToolFailureRule, createToolOrderingRule, createToolUsageRule, defineTraceContract, deriveFailureFacts, deriveRelationshipFacts, evaluateToolArgumentValue, evaluateTraceContract, evaluateTraceContractRead, explainTraceContract, extractToolArgumentPayload, lintTraceContract, resolveJsonPointer, resolveTraceContractScope, runTraceChecks, summarizeSemanticParity, workflowMetadataForRun } from './chunk-2RSTU3OZ.mjs';
|
|
2
2
|
import './chunk-77UZIMMD.mjs';
|
|
3
3
|
import './chunk-EOXUEQB6.mjs';
|
|
4
4
|
import './chunk-VLVCLAPB.mjs';
|
|
@@ -28,7 +28,7 @@ function extractSessionWorkflowMetadata(record) {
|
|
|
28
28
|
assignString("conversationId", record.conversationId);
|
|
29
29
|
assignString("groupId", record.groupId);
|
|
30
30
|
assignString("parentGroupId", record.parentGroupId);
|
|
31
|
-
assignString("retryOf", record.retryOf);
|
|
31
|
+
assignString("retryOf", record.retryOf ?? record["agent_inspect.retry_of"]);
|
|
32
32
|
assignString("retryReason", record.retryReason);
|
|
33
33
|
assignString("handoffFrom", record.handoffFrom);
|
|
34
34
|
assignString("handoffTo", record.handoffTo);
|
|
@@ -41,8 +41,8 @@ function extractSessionWorkflowMetadata(record) {
|
|
|
41
41
|
assignString("toolCallId", record.toolCallId);
|
|
42
42
|
assignString("mcpToolCallId", record.mcpToolCallId);
|
|
43
43
|
assignString("linkedStepId", record.linkedStepId);
|
|
44
|
-
assignString("operationId", record.operationId);
|
|
45
|
-
assignString("attemptId", record.attemptId);
|
|
44
|
+
assignString("operationId", record.operationId ?? record["agent_inspect.operation_id"]);
|
|
45
|
+
assignString("attemptId", record.attemptId ?? record["agent_inspect.attempt_id"]);
|
|
46
46
|
assignString("fallbackOf", record.fallbackOf);
|
|
47
47
|
assignString("idempotencyKey", record.idempotencyKey);
|
|
48
48
|
assignString("correlationId", record.correlationId);
|
|
@@ -53,7 +53,9 @@ function extractSessionWorkflowMetadata(record) {
|
|
|
53
53
|
out.attempt = attempt;
|
|
54
54
|
found = true;
|
|
55
55
|
}
|
|
56
|
-
const attemptNumber = finitePositiveInt(
|
|
56
|
+
const attemptNumber = finitePositiveInt(
|
|
57
|
+
record.attemptNumber ?? record["agent_inspect.attempt_number"]
|
|
58
|
+
);
|
|
57
59
|
if (attemptNumber !== void 0) {
|
|
58
60
|
out.attemptNumber = attemptNumber;
|
|
59
61
|
found = true;
|
|
@@ -1238,24 +1240,35 @@ function attemptIdOf(event) {
|
|
|
1238
1240
|
return typeof value === "string" && value.trim() !== "" ? value : void 0;
|
|
1239
1241
|
}
|
|
1240
1242
|
function countOperationAttempts(members) {
|
|
1241
|
-
const
|
|
1242
|
-
|
|
1243
|
-
)
|
|
1244
|
-
|
|
1245
|
-
|
|
1243
|
+
const identified = /* @__PURE__ */ new Set();
|
|
1244
|
+
let unidentified = 0;
|
|
1245
|
+
for (const event of members) {
|
|
1246
|
+
if (event.kind !== "TOOL" && event.kind !== "LLM") continue;
|
|
1247
|
+
const id = attemptIdOf(event);
|
|
1248
|
+
if (id !== void 0) {
|
|
1249
|
+
identified.add(id);
|
|
1250
|
+
continue;
|
|
1251
|
+
}
|
|
1252
|
+
unidentified += 1;
|
|
1253
|
+
}
|
|
1254
|
+
if (identified.size > 0) {
|
|
1255
|
+
return identified.size + unidentified;
|
|
1246
1256
|
}
|
|
1247
|
-
const
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
const
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1257
|
+
const numbered = /* @__PURE__ */ new Set();
|
|
1258
|
+
let unnumbered = 0;
|
|
1259
|
+
for (const event of members) {
|
|
1260
|
+
if (event.kind !== "TOOL" && event.kind !== "LLM") continue;
|
|
1261
|
+
const num = attemptNumberOf(event);
|
|
1262
|
+
if (num !== void 0) {
|
|
1263
|
+
numbered.add(num);
|
|
1264
|
+
continue;
|
|
1255
1265
|
}
|
|
1256
|
-
|
|
1266
|
+
unnumbered += 1;
|
|
1267
|
+
}
|
|
1268
|
+
if (numbered.size > 0) {
|
|
1269
|
+
return numbered.size + unnumbered;
|
|
1257
1270
|
}
|
|
1258
|
-
return
|
|
1271
|
+
return unnumbered;
|
|
1259
1272
|
}
|
|
1260
1273
|
function classifyRetryAttempt(event, priorOrdered, allMembers) {
|
|
1261
1274
|
const workflow = workflowFor(event);
|
|
@@ -1530,8 +1543,42 @@ function eventEvidence2(event) {
|
|
|
1530
1543
|
function eventTime2(event) {
|
|
1531
1544
|
return event.startedAt ?? event.timestamp ?? "";
|
|
1532
1545
|
}
|
|
1546
|
+
function parseComparableMs(value) {
|
|
1547
|
+
if (!value) return void 0;
|
|
1548
|
+
const parsed = Date.parse(value);
|
|
1549
|
+
return Number.isFinite(parsed) ? parsed : void 0;
|
|
1550
|
+
}
|
|
1551
|
+
function consumerStartMs(event) {
|
|
1552
|
+
return parseComparableMs(event.startedAt) ?? parseComparableMs(event.timestamp);
|
|
1553
|
+
}
|
|
1554
|
+
function resultAvailableMs(event) {
|
|
1555
|
+
const started = parseComparableMs(event.startedAt) ?? parseComparableMs(event.timestamp);
|
|
1556
|
+
const endedRaw = event.endedAt;
|
|
1557
|
+
const endedPresent = endedRaw !== void 0 && endedRaw !== null && String(endedRaw).trim() !== "";
|
|
1558
|
+
if (endedPresent) {
|
|
1559
|
+
const ended = parseComparableMs(typeof endedRaw === "string" ? endedRaw : String(endedRaw));
|
|
1560
|
+
if (ended === void 0) return void 0;
|
|
1561
|
+
if (started !== void 0 && ended < started) return void 0;
|
|
1562
|
+
return ended;
|
|
1563
|
+
}
|
|
1564
|
+
if (event.durationMs !== void 0) {
|
|
1565
|
+
if (!Number.isFinite(event.durationMs) || event.durationMs < 0) {
|
|
1566
|
+
return void 0;
|
|
1567
|
+
}
|
|
1568
|
+
if (started !== void 0) {
|
|
1569
|
+
return started + event.durationMs;
|
|
1570
|
+
}
|
|
1571
|
+
return void 0;
|
|
1572
|
+
}
|
|
1573
|
+
return parseComparableMs(event.timestamp);
|
|
1574
|
+
}
|
|
1533
1575
|
function sortByTime2(events) {
|
|
1534
|
-
return [...events].sort((a, b) =>
|
|
1576
|
+
return [...events].sort((a, b) => {
|
|
1577
|
+
const aMs = consumerStartMs(a) ?? 0;
|
|
1578
|
+
const bMs = consumerStartMs(b) ?? 0;
|
|
1579
|
+
if (aMs !== bMs) return aMs - bMs;
|
|
1580
|
+
return eventTime2(a).localeCompare(eventTime2(b));
|
|
1581
|
+
});
|
|
1535
1582
|
}
|
|
1536
1583
|
function errorCodeOf(event) {
|
|
1537
1584
|
if (typeof event.error?.code === "string" && event.error.code.trim() !== "") {
|
|
@@ -1599,13 +1646,20 @@ function sameArguments(left, right) {
|
|
|
1599
1646
|
}
|
|
1600
1647
|
return { ok: true };
|
|
1601
1648
|
}
|
|
1649
|
+
var UNEVALUABLE_WRITE_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
1650
|
+
"TIMEOUT",
|
|
1651
|
+
"ETIMEDOUT",
|
|
1652
|
+
"UNKNOWN_COMPLETION",
|
|
1653
|
+
"DEADLINE_EXCEEDED"
|
|
1654
|
+
]);
|
|
1602
1655
|
function isUnevaluableWriteCompletion(event) {
|
|
1603
1656
|
if (event.status === "running" || event.status === "unknown") return true;
|
|
1604
1657
|
const attrs2 = event.attributes ?? {};
|
|
1605
1658
|
if (attrs2.timeout === true) return true;
|
|
1659
|
+
if (attrs2.unknownCompletion === true) return true;
|
|
1606
1660
|
if (attrs2.completionState === "unknown" || attrs2.completionState === "timeout") return true;
|
|
1607
1661
|
const code = errorCodeOf(event)?.toUpperCase();
|
|
1608
|
-
if (code
|
|
1662
|
+
if (code && UNEVALUABLE_WRITE_ERROR_CODES.has(code)) {
|
|
1609
1663
|
return true;
|
|
1610
1664
|
}
|
|
1611
1665
|
return false;
|
|
@@ -1653,14 +1707,17 @@ function collectExplicitReferences(event) {
|
|
|
1653
1707
|
return refs;
|
|
1654
1708
|
}
|
|
1655
1709
|
function llmReferencesTool(llm, toolEvent, requireExplicit) {
|
|
1656
|
-
if (
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1710
|
+
if (llm.runId !== toolEvent.runId) return false;
|
|
1711
|
+
if (requireExplicit) {
|
|
1712
|
+
const refs = collectExplicitReferences(llm);
|
|
1713
|
+
const toolCallId = workflowFor2(toolEvent).toolCallId;
|
|
1714
|
+
const hasRef = refs.has(toolEvent.eventId) || toolCallId !== void 0 && refs.has(toolCallId);
|
|
1715
|
+
if (!hasRef) return false;
|
|
1716
|
+
}
|
|
1717
|
+
const resultMs = resultAvailableMs(toolEvent);
|
|
1718
|
+
const consumerMs = consumerStartMs(llm);
|
|
1719
|
+
if (resultMs === void 0 || consumerMs === void 0) return false;
|
|
1720
|
+
return resultMs <= consumerMs;
|
|
1664
1721
|
}
|
|
1665
1722
|
function attemptIdOf2(event) {
|
|
1666
1723
|
const value = workflowFor2(event).attemptId;
|
|
@@ -5254,5 +5311,5 @@ function runTraceChecks(input, options = {}) {
|
|
|
5254
5311
|
}
|
|
5255
5312
|
|
|
5256
5313
|
export { buildTraceFacts, createBaselineRegressionRule, createDecisionRule, createGuardrailRule, createLlmUsageRule, createMaxStepDurationRule, createObservedOutcomeRule, createRequireCompletedRule, createRetrievalRule, createRunDepthRule, createRunDurationRule, createRunEventCountRule, createRunStatusRule, createSafetyOversizedAttributeRule, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createStallDetectionRule, createStepOrderingRule, createStructureCycleRule, createStructureIncompleteRule, createStructureOrphanRule, createStructureParallelWidthRule, createStructureRelationshipRule, createToolFailureRule, createToolOrderingRule, createToolUsageRule, defineTraceContract, deriveFailureFacts, deriveRelationshipFacts, evaluateToolArgumentValue, evaluateTraceContract, evaluateTraceContractRead, explainTraceContract, extractSessionWorkflowMetadata, extractToolArgumentPayload, lintTraceContract, resolveJsonPointer, resolveTraceContractScope, runTraceChecks, sessionKeyForRun, summarizeSemanticParity, workflowMetadataForRun };
|
|
5257
|
-
//# sourceMappingURL=chunk-
|
|
5258
|
-
//# sourceMappingURL=chunk-
|
|
5314
|
+
//# sourceMappingURL=chunk-2RSTU3OZ.mjs.map
|
|
5315
|
+
//# sourceMappingURL=chunk-2RSTU3OZ.mjs.map
|