agent-inspect 6.31.20 → 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-GFQPPNSF.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"
@@ -1730,7 +1750,7 @@ function attemptIdOf2(event) {
1730
1750
  const value = workflowFor2(event).attemptId;
1731
1751
  return typeof value === "string" && value.trim() !== "" ? value.trim() : void 0;
1732
1752
  }
1733
- function hasDuplicateAttemptIds2(members) {
1753
+ function hasDuplicateAttemptIds(members) {
1734
1754
  const seen = /* @__PURE__ */ new Set();
1735
1755
  for (const event of members) {
1736
1756
  const id = attemptIdOf2(event);
@@ -1826,7 +1846,7 @@ function evaluateRecoveryOperations(events, operations) {
1826
1846
  }
1827
1847
  for (const [operationKey, members] of groups) {
1828
1848
  const ordered = sortByTime2(members);
1829
- if (hasDuplicateAttemptIds2(members)) {
1849
+ if (hasDuplicateAttemptIds(members)) {
1830
1850
  findings.push(
1831
1851
  fail3(
1832
1852
  "contract.retry.operations.duplicate-attempt-id",
@@ -5318,5 +5338,5 @@ function runTraceChecks(input, options = {}) {
5318
5338
  }
5319
5339
 
5320
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 };
5321
- //# sourceMappingURL=chunk-GFQPPNSF.mjs.map
5322
- //# sourceMappingURL=chunk-GFQPPNSF.mjs.map
5341
+ //# sourceMappingURL=chunk-4CDX5GDS.mjs.map
5342
+ //# sourceMappingURL=chunk-4CDX5GDS.mjs.map