agent-inspect 6.14.2 → 6.16.0

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +14 -6
  2. package/README.md +2 -2
  3. package/docs/API.md +19 -3
  4. package/package.json +2 -2
  5. package/packages/cli/dist/{chunk-AACUXCHT.mjs → chunk-LFSBMUCD.mjs} +115 -10
  6. package/packages/cli/dist/chunk-LFSBMUCD.mjs.map +1 -0
  7. package/packages/cli/dist/index.cjs +126 -10
  8. package/packages/cli/dist/index.cjs.map +1 -1
  9. package/packages/cli/dist/index.mjs +4 -4
  10. package/packages/cli/dist/index.mjs.map +1 -1
  11. package/packages/cli/dist/{src-ABTS4GO4.mjs → src-5J2HPOJ3.mjs} +3 -3
  12. package/packages/cli/dist/{src-ABTS4GO4.mjs.map → src-5J2HPOJ3.mjs.map} +1 -1
  13. package/packages/core/dist/advanced.cjs +114 -7
  14. package/packages/core/dist/advanced.cjs.map +1 -1
  15. package/packages/core/dist/advanced.d.cts +2 -2
  16. package/packages/core/dist/advanced.d.ts +2 -2
  17. package/packages/core/dist/advanced.mjs +3 -2
  18. package/packages/core/dist/advanced.mjs.map +1 -1
  19. package/packages/core/dist/checks.cjs +115 -6
  20. package/packages/core/dist/checks.cjs.map +1 -1
  21. package/packages/core/dist/checks.d.cts +16 -6
  22. package/packages/core/dist/checks.d.ts +16 -6
  23. package/packages/core/dist/checks.mjs +2 -1
  24. package/packages/core/dist/chunk-FWK3Q3OJ.mjs +56 -0
  25. package/packages/core/dist/chunk-FWK3Q3OJ.mjs.map +1 -0
  26. package/packages/core/dist/{chunk-5N2OBM7S.mjs → chunk-HT54OLPE.mjs} +53 -6
  27. package/packages/core/dist/chunk-HT54OLPE.mjs.map +1 -0
  28. package/packages/core/dist/{chunk-BHMXLDLK.mjs → chunk-NF4ZHNTC.mjs} +63 -9
  29. package/packages/core/dist/chunk-NF4ZHNTC.mjs.map +1 -0
  30. package/packages/core/dist/index-B259NKkH.d.cts +102 -0
  31. package/packages/core/dist/index-B9ZGvUVL.d.ts +102 -0
  32. package/packages/core/dist/{index-D9HBequ_.d.ts → index-BsCcOKxy.d.ts} +1 -1
  33. package/packages/core/dist/{index-BY6XZ5aG.d.cts → index-Xk9X-yjY.d.cts} +1 -1
  34. package/packages/core/dist/readers.cjs +108 -3
  35. package/packages/core/dist/readers.cjs.map +1 -1
  36. package/packages/core/dist/readers.d.cts +27 -78
  37. package/packages/core/dist/readers.d.ts +27 -78
  38. package/packages/core/dist/readers.mjs +2 -1
  39. package/packages/cli/dist/chunk-AACUXCHT.mjs.map +0 -1
  40. package/packages/core/dist/chunk-5N2OBM7S.mjs.map +0 -1
  41. package/packages/core/dist/chunk-BHMXLDLK.mjs.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { extractOutcomesFromPersistedEvents, outcomesMatchingStatus } from './chunk-VFO76UH3.mjs';
2
+ import { formatProgrammaticDiagnostic } from './chunk-FWK3Q3OJ.mjs';
2
3
 
3
4
  // packages/core/src/checks/logical-events.ts
4
5
  function isRecord(value) {
@@ -198,7 +199,10 @@ function projectLogicalEvents(events) {
198
199
  if (originalParentId === event.eventId) {
199
200
  diagnostics.push({
200
201
  code: "AI_LOGICAL_SELF_PARENT_REMOVED",
201
- message: `Removed self-parent edge on ${event.eventId}.`,
202
+ message: formatProgrammaticDiagnostic(
203
+ "AI_TRACE_RELATIONSHIP_SELF_PARENT",
204
+ `Removed self-parent edge on ${event.eventId}.`
205
+ ),
202
206
  eventIds: [event.eventId]
203
207
  });
204
208
  const { parentId: _drop, ...rest } = event;
@@ -230,7 +234,10 @@ function projectLogicalEvents(events) {
230
234
  if (nextParent === event.eventId) {
231
235
  diagnostics.push({
232
236
  code: "AI_LOGICAL_SELF_PARENT_REMOVED",
233
- message: `Removed self-parent edge on ${event.eventId} (was ${originalParentId}).`,
237
+ message: formatProgrammaticDiagnostic(
238
+ "AI_TRACE_RELATIONSHIP_SELF_PARENT",
239
+ `Removed self-parent edge on ${event.eventId} (was ${originalParentId}).`
240
+ ),
234
241
  eventIds: [event.eventId]
235
242
  });
236
243
  const { parentId: _drop, ...rest } = event;
@@ -316,7 +323,45 @@ function summarizeSemanticParity(events) {
316
323
  diagnostics: projection.diagnostics
317
324
  };
318
325
  }
319
- function buildTraceFacts(events) {
326
+ var TRACE_FACTS_INPUT_NOT_NORMALIZED = formatProgrammaticDiagnostic(
327
+ "AI_TRACE_FACTS_INPUT_NOT_NORMALIZED"
328
+ );
329
+ function isTraceReadResult(input) {
330
+ if (typeof input !== "object" || input === null || Array.isArray(input)) {
331
+ return false;
332
+ }
333
+ const record = input;
334
+ return Array.isArray(record.events) && Array.isArray(record.runs) && typeof record.format === "string" && Array.isArray(record.warnings);
335
+ }
336
+ function looksLikeRawV01TraceEvents(input) {
337
+ if (!Array.isArray(input) || input.length === 0) return false;
338
+ const first = input[0];
339
+ if (typeof first !== "object" || first === null) return false;
340
+ const row = first;
341
+ return typeof row.event === "string" && (row.schemaVersion === "0.1" || row.eventId === void 0);
342
+ }
343
+ function isPersistedInspectEventArray(input) {
344
+ if (!Array.isArray(input)) return false;
345
+ if (input.length === 0) return true;
346
+ const first = input[0];
347
+ if (typeof first !== "object" || first === null) return false;
348
+ const row = first;
349
+ return typeof row.eventId === "string" && (row.schemaVersion === "0.2" || row.schemaVersion === "1.0" || row.schemaVersion === "0.1") && typeof row.event !== "string";
350
+ }
351
+ function resolveTraceFactsEvents(input) {
352
+ if (isTraceReadResult(input)) {
353
+ return input.events;
354
+ }
355
+ if (looksLikeRawV01TraceEvents(input)) {
356
+ throw new TypeError(TRACE_FACTS_INPUT_NOT_NORMALIZED);
357
+ }
358
+ if (isPersistedInspectEventArray(input)) {
359
+ return input;
360
+ }
361
+ throw new TypeError(TRACE_FACTS_INPUT_NOT_NORMALIZED);
362
+ }
363
+ function buildTraceFacts(input) {
364
+ const events = resolveTraceFactsEvents(input);
320
365
  const projection = projectLogicalEvents(events);
321
366
  const toolsByName = /* @__PURE__ */ new Map();
322
367
  const llmEvents = [];
@@ -591,7 +636,13 @@ function resolveSelectedRun(input, runId) {
591
636
  if (input.read.runs.length === 0) {
592
637
  return {
593
638
  diagnostics: [
594
- diagnostic("AI_CHECK_RUN_SELECTION_REQUIRED", "No runs are available for checks.")
639
+ diagnostic(
640
+ "AI_CHECK_RUN_SELECTION_REQUIRED",
641
+ formatProgrammaticDiagnostic(
642
+ "AI_TRACE_CONTRACT_RUN_SELECTION_REQUIRED",
643
+ "No runs are available for checks."
644
+ )
645
+ )
595
646
  ]
596
647
  };
597
648
  }
@@ -599,7 +650,7 @@ function resolveSelectedRun(input, runId) {
599
650
  diagnostics: [
600
651
  diagnostic(
601
652
  "AI_CHECK_RUN_SELECTION_REQUIRED",
602
- "Multiple runs are available; select a run before executing checks."
653
+ formatProgrammaticDiagnostic("AI_TRACE_CONTRACT_RUN_SELECTION_REQUIRED")
603
654
  )
604
655
  ]
605
656
  };
@@ -1480,7 +1531,7 @@ function createStructureCycleRule() {
1480
1531
  findings.push(
1481
1532
  failFinding(
1482
1533
  "structure.cycle",
1483
- "Trace contains a parentId cycle.",
1534
+ formatProgrammaticDiagnostic("AI_TRACE_RELATIONSHIP_CYCLE"),
1484
1535
  cycle.map((item) => eventEvidence(item, "parentId")),
1485
1536
  "acyclic parentId graph",
1486
1537
  cycle.map((item) => item.eventId).sort()
@@ -2320,7 +2371,10 @@ function evaluateTraceContract(input, contract, options = {}) {
2320
2371
  ...options.runId !== void 0 ? { runId: options.runId } : {}
2321
2372
  });
2322
2373
  }
2374
+ function evaluateTraceContractRead(read, contract, options = {}) {
2375
+ return evaluateTraceContract({ read }, contract, options);
2376
+ }
2323
2377
 
2324
- export { buildTraceFacts, createBaselineRegressionRule, createDecisionRule, createGuardrailRule, createLlmUsageRule, createMaxStepDurationRule, createObservedOutcomeRule, createRequireCompletedRule, createRetrievalRule, createRunDepthRule, createRunDurationRule, createRunEventCountRule, createRunStatusRule, createSafetyOversizedAttributeRule, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createStallDetectionRule, createStructureCycleRule, createStructureIncompleteRule, createStructureOrphanRule, createStructureParallelWidthRule, createStructureRelationshipRule, createToolFailureRule, createToolOrderingRule, createToolUsageRule, defineTraceContract, evaluateTraceContract, projectLogicalEvents, resolveCanonicalToolName, runTraceChecks, summarizeSemanticParity };
2325
- //# sourceMappingURL=chunk-BHMXLDLK.mjs.map
2326
- //# sourceMappingURL=chunk-BHMXLDLK.mjs.map
2378
+ export { buildTraceFacts, createBaselineRegressionRule, createDecisionRule, createGuardrailRule, createLlmUsageRule, createMaxStepDurationRule, createObservedOutcomeRule, createRequireCompletedRule, createRetrievalRule, createRunDepthRule, createRunDurationRule, createRunEventCountRule, createRunStatusRule, createSafetyOversizedAttributeRule, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createStallDetectionRule, createStructureCycleRule, createStructureIncompleteRule, createStructureOrphanRule, createStructureParallelWidthRule, createStructureRelationshipRule, createToolFailureRule, createToolOrderingRule, createToolUsageRule, defineTraceContract, evaluateTraceContract, evaluateTraceContractRead, projectLogicalEvents, resolveCanonicalToolName, runTraceChecks, summarizeSemanticParity };
2379
+ //# sourceMappingURL=chunk-NF4ZHNTC.mjs.map
2380
+ //# sourceMappingURL=chunk-NF4ZHNTC.mjs.map