agent-inspect 6.31.19 → 6.31.21

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.
@@ -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-2RSTU3OZ.mjs';
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-4CDX5GDS.mjs';
2
2
  import './chunk-77UZIMMD.mjs';
3
3
  import './chunk-EOXUEQB6.mjs';
4
4
  import './chunk-VLVCLAPB.mjs';
@@ -1318,13 +1318,33 @@ function classifyRetryAttempt(event, priorOrdered, allMembers) {
1318
1318
  }
1319
1319
  return { kind: "unknown", reason: "ambiguous attempt identity" };
1320
1320
  }
1321
- function hasDuplicateAttemptIds(members) {
1322
- const seen = /* @__PURE__ */ new Set();
1321
+ function redeliveryFingerprint(event) {
1322
+ const workflow = workflowFor(event);
1323
+ const stableEventId = (event.eventId ?? "").replace(/:\d+$/, "");
1324
+ return JSON.stringify({
1325
+ stableEventId,
1326
+ runId: event.runId,
1327
+ kind: event.kind,
1328
+ name: event.name,
1329
+ status: event.status,
1330
+ operationId: workflow.operationId ?? null,
1331
+ attemptId: workflow.attemptId ?? null,
1332
+ attemptNumber: workflow.attemptNumber ?? null,
1333
+ retryOf: workflow.retryOf ?? null
1334
+ });
1335
+ }
1336
+ function hasConflictingAttemptIdReuse(members) {
1337
+ const byAttempt = /* @__PURE__ */ new Map();
1323
1338
  for (const event of members) {
1339
+ if (event.kind !== "TOOL" && event.kind !== "LLM") continue;
1324
1340
  const id = attemptIdOf(event);
1325
1341
  if (!id) continue;
1326
- if (seen.has(id)) return true;
1327
- seen.add(id);
1342
+ const fingerprints = byAttempt.get(id) ?? /* @__PURE__ */ new Set();
1343
+ fingerprints.add(redeliveryFingerprint(event));
1344
+ byAttempt.set(id, fingerprints);
1345
+ }
1346
+ for (const fingerprints of byAttempt.values()) {
1347
+ if (fingerprints.size > 1) return true;
1328
1348
  }
1329
1349
  return false;
1330
1350
  }
@@ -1341,11 +1361,11 @@ function evaluateRetrySafetyRules(events, rules, _runEvidence) {
1341
1361
  }
1342
1362
  if (rules.maxAttempts !== void 0) {
1343
1363
  for (const [operationId, members] of byOperation) {
1344
- if (hasDuplicateAttemptIds(members)) {
1364
+ if (hasConflictingAttemptIdReuse(members)) {
1345
1365
  findings.push(
1346
1366
  fail2(
1347
1367
  "contract.retry.duplicate-attempt-id",
1348
- `Operation ${operationId} has duplicate attemptId values.`,
1368
+ `Operation ${operationId} has conflicting attemptId reuse (distinct executions).`,
1349
1369
  members.slice(0, 4).map(eventEvidence),
1350
1370
  "unique attemptId",
1351
1371
  "duplicate"
@@ -1594,6 +1614,13 @@ function errorCodeOf(event) {
1594
1614
  const code = nested.code;
1595
1615
  if (typeof code === "string" && code.trim() !== "") return code.trim();
1596
1616
  }
1617
+ const meta = attrs2.metadata;
1618
+ if (meta && typeof meta === "object") {
1619
+ for (const key of ["errorCode", "code"]) {
1620
+ const value = meta[key];
1621
+ if (typeof value === "string" && value.trim() !== "") return value.trim();
1622
+ }
1623
+ }
1597
1624
  return void 0;
1598
1625
  }
1599
1626
  function argumentDigestOf(event) {
@@ -1723,7 +1750,7 @@ function attemptIdOf2(event) {
1723
1750
  const value = workflowFor2(event).attemptId;
1724
1751
  return typeof value === "string" && value.trim() !== "" ? value.trim() : void 0;
1725
1752
  }
1726
- function hasDuplicateAttemptIds2(members) {
1753
+ function hasDuplicateAttemptIds(members) {
1727
1754
  const seen = /* @__PURE__ */ new Set();
1728
1755
  for (const event of members) {
1729
1756
  const id = attemptIdOf2(event);
@@ -1819,7 +1846,7 @@ function evaluateRecoveryOperations(events, operations) {
1819
1846
  }
1820
1847
  for (const [operationKey, members] of groups) {
1821
1848
  const ordered = sortByTime2(members);
1822
- if (hasDuplicateAttemptIds2(members)) {
1849
+ if (hasDuplicateAttemptIds(members)) {
1823
1850
  findings.push(
1824
1851
  fail3(
1825
1852
  "contract.retry.operations.duplicate-attempt-id",
@@ -5311,5 +5338,5 @@ function runTraceChecks(input, options = {}) {
5311
5338
  }
5312
5339
 
5313
5340
  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 };
5314
- //# sourceMappingURL=chunk-2RSTU3OZ.mjs.map
5315
- //# sourceMappingURL=chunk-2RSTU3OZ.mjs.map
5341
+ //# sourceMappingURL=chunk-4CDX5GDS.mjs.map
5342
+ //# sourceMappingURL=chunk-4CDX5GDS.mjs.map