agent-inspect 6.14.0 → 6.14.2

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 (76) hide show
  1. package/CHANGELOG.md +22 -6
  2. package/README.md +47 -45
  3. package/docs/DEMO-SCRIPT.md +2 -2
  4. package/docs/GOLDEN-PATH.md +18 -18
  5. package/docs/KNOWN-ISSUES.md +2 -1
  6. package/docs/SUPPORT-LEVELS.md +2 -2
  7. package/docs/TRACE-CONTRACTS.md +13 -3
  8. package/package.json +15 -6
  9. package/packages/cli/dist/{chunk-MEO2Z3KE.mjs → chunk-AACUXCHT.mjs} +205 -35
  10. package/packages/cli/dist/chunk-AACUXCHT.mjs.map +1 -0
  11. package/packages/cli/dist/index.cjs +265 -35
  12. package/packages/cli/dist/index.cjs.map +1 -1
  13. package/packages/cli/dist/index.mjs +59 -6
  14. package/packages/cli/dist/index.mjs.map +1 -1
  15. package/packages/cli/dist/{src-6VZNGIF6.mjs → src-ABTS4GO4.mjs} +3 -3
  16. package/packages/cli/dist/{src-6VZNGIF6.mjs.map → src-ABTS4GO4.mjs.map} +1 -1
  17. package/packages/core/dist/advanced.cjs +156 -19
  18. package/packages/core/dist/advanced.cjs.map +1 -1
  19. package/packages/core/dist/advanced.d.cts +17 -9
  20. package/packages/core/dist/advanced.d.ts +17 -9
  21. package/packages/core/dist/advanced.mjs +6 -6
  22. package/packages/core/dist/checks.cjs +108 -18
  23. package/packages/core/dist/checks.cjs.map +1 -1
  24. package/packages/core/dist/checks.d.cts +4 -4
  25. package/packages/core/dist/checks.d.ts +4 -4
  26. package/packages/core/dist/checks.mjs +1 -1
  27. package/packages/core/dist/{chunk-CTA6XNDP.mjs → chunk-5N2OBM7S.mjs} +3 -3
  28. package/packages/core/dist/{chunk-CTA6XNDP.mjs.map → chunk-5N2OBM7S.mjs.map} +1 -1
  29. package/packages/core/dist/chunk-AK5EN4U2.mjs +174 -0
  30. package/packages/core/dist/chunk-AK5EN4U2.mjs.map +1 -0
  31. package/packages/core/dist/{chunk-BS2QCAJX.mjs → chunk-BHMXLDLK.mjs} +110 -20
  32. package/packages/core/dist/chunk-BHMXLDLK.mjs.map +1 -0
  33. package/packages/core/dist/{chunk-UOPVGCOB.mjs → chunk-NXQF73EC.mjs} +3 -3
  34. package/packages/core/dist/{chunk-UOPVGCOB.mjs.map → chunk-NXQF73EC.mjs.map} +1 -1
  35. package/packages/core/dist/{chunk-LFWZEO2L.mjs → chunk-SGL4JGCD.mjs} +3 -3
  36. package/packages/core/dist/{chunk-LFWZEO2L.mjs.map → chunk-SGL4JGCD.mjs.map} +1 -1
  37. package/packages/core/dist/{context-BHAgRjOe.d.cts → context-Ca5yK8Cs.d.cts} +3 -3
  38. package/packages/core/dist/{context-Blyjb5my.d.ts → context-D6cS4XIL.d.ts} +3 -3
  39. package/packages/core/dist/diff.d.cts +3 -3
  40. package/packages/core/dist/diff.d.ts +3 -3
  41. package/packages/core/dist/exporters.d.cts +3 -3
  42. package/packages/core/dist/exporters.d.ts +3 -3
  43. package/packages/core/dist/exporters.mjs +1 -1
  44. package/packages/core/dist/{index-CmXMS-MF.d.cts → index-BY6XZ5aG.d.cts} +3 -3
  45. package/packages/core/dist/{index-Bu_vOjql.d.ts → index-D9HBequ_.d.ts} +3 -3
  46. package/packages/core/dist/index.d.cts +6 -6
  47. package/packages/core/dist/index.d.ts +6 -6
  48. package/packages/core/dist/{inspect-event-DVg84S4v.d.cts → inspect-event-DRthdZlf.d.cts} +9 -0
  49. package/packages/core/dist/{inspect-event-DVg84S4v.d.ts → inspect-event-DRthdZlf.d.ts} +9 -0
  50. package/packages/core/dist/{log-config-BG1WmWf2.d.cts → log-config-CFlIJHTf.d.cts} +1 -1
  51. package/packages/core/dist/{log-config-Ck0aT_Ou.d.ts → log-config-OZRfpHED.d.ts} +1 -1
  52. package/packages/core/dist/logs.cjs +95 -15
  53. package/packages/core/dist/logs.cjs.map +1 -1
  54. package/packages/core/dist/logs.d.cts +3 -3
  55. package/packages/core/dist/logs.d.ts +3 -3
  56. package/packages/core/dist/logs.mjs +2 -2
  57. package/packages/core/dist/{persisted-inspect-event-ChE7pGb7.d.ts → persisted-inspect-event-BVucFVrP.d.ts} +1 -1
  58. package/packages/core/dist/{persisted-inspect-event-d-mSP8kd.d.cts → persisted-inspect-event-CVZWZldL.d.cts} +1 -1
  59. package/packages/core/dist/persisted.cjs +95 -15
  60. package/packages/core/dist/persisted.cjs.map +1 -1
  61. package/packages/core/dist/persisted.d.cts +5 -5
  62. package/packages/core/dist/persisted.d.ts +5 -5
  63. package/packages/core/dist/persisted.mjs +3 -3
  64. package/packages/core/dist/readers.cjs +95 -15
  65. package/packages/core/dist/readers.cjs.map +1 -1
  66. package/packages/core/dist/readers.d.cts +2 -2
  67. package/packages/core/dist/readers.d.ts +2 -2
  68. package/packages/core/dist/readers.mjs +3 -3
  69. package/packages/core/dist/{types-MuwXSJ4b.d.ts → types--ainI31J.d.ts} +1 -1
  70. package/packages/core/dist/{types-BLX3tiOW.d.cts → types-UnrNaTo2.d.cts} +1 -1
  71. package/packages/core/dist/writers.d.cts +2 -2
  72. package/packages/core/dist/writers.d.ts +2 -2
  73. package/packages/cli/dist/chunk-MEO2Z3KE.mjs.map +0 -1
  74. package/packages/core/dist/chunk-BS2QCAJX.mjs.map +0 -1
  75. package/packages/core/dist/chunk-T5MASTIW.mjs +0 -94
  76. package/packages/core/dist/chunk-T5MASTIW.mjs.map +0 -1
@@ -6047,6 +6047,23 @@ function projectLogicalEvents(events) {
6047
6047
  }
6048
6048
  }
6049
6049
  if (!remapped) {
6050
+ if (originalParentId === event.eventId) {
6051
+ diagnostics.push({
6052
+ code: "AI_LOGICAL_SELF_PARENT_REMOVED",
6053
+ message: `Removed self-parent edge on ${event.eventId}.`,
6054
+ eventIds: [event.eventId]
6055
+ });
6056
+ const { parentId: _drop, ...rest } = event;
6057
+ normalized.push({
6058
+ ...rest,
6059
+ projection: {
6060
+ ...event.projection,
6061
+ parentNormalized: true,
6062
+ originalParentId
6063
+ }
6064
+ });
6065
+ continue;
6066
+ }
6050
6067
  if (!logicalById.has(originalParentId) && !logicalByRawId.has(originalParentId)) {
6051
6068
  const mapping = event.attributes?.parentMapping;
6052
6069
  const unresolved = mapping === "unresolved" || event.attributes?.parentUnresolved === true || event.attributes?.unresolvedParent === true || // LangGraph/framework scaffolding sentinel labels are not event ids.
@@ -6062,6 +6079,23 @@ function projectLogicalEvents(events) {
6062
6079
  normalized.push(event);
6063
6080
  continue;
6064
6081
  }
6082
+ if (nextParent === event.eventId) {
6083
+ diagnostics.push({
6084
+ code: "AI_LOGICAL_SELF_PARENT_REMOVED",
6085
+ message: `Removed self-parent edge on ${event.eventId} (was ${originalParentId}).`,
6086
+ eventIds: [event.eventId]
6087
+ });
6088
+ const { parentId: _drop, ...rest } = event;
6089
+ normalized.push({
6090
+ ...rest,
6091
+ projection: {
6092
+ ...event.projection,
6093
+ parentNormalized: true,
6094
+ originalParentId
6095
+ }
6096
+ });
6097
+ continue;
6098
+ }
6065
6099
  diagnostics.push({
6066
6100
  code: "AI_LOGICAL_PARENT_REMAPPED",
6067
6101
  message: `Remapped parent ${originalParentId} \u2192 ${nextParent} for ${event.eventId}.`,
@@ -6135,6 +6169,73 @@ function summarizeSemanticParity(events) {
6135
6169
  };
6136
6170
  }
6137
6171
 
6172
+ // packages/core/src/safety/sensitive-key.ts
6173
+ function normalizeSensitiveKey(value) {
6174
+ return value.toLowerCase().replace(/[^a-z0-9_]/g, "");
6175
+ }
6176
+ var NON_CREDENTIAL_TOKEN_CONFIG_KEYS = new Set(
6177
+ [
6178
+ "tokens",
6179
+ "max_tokens",
6180
+ "min_tokens",
6181
+ "ls_max_tokens",
6182
+ "token_count",
6183
+ "token_limit",
6184
+ "token_budget",
6185
+ "input_tokens",
6186
+ "output_tokens",
6187
+ "total_tokens",
6188
+ "cached_tokens",
6189
+ "prompt_tokens",
6190
+ "completion_tokens"
6191
+ ].map(normalizeSensitiveKey)
6192
+ );
6193
+ var DEFAULT_CREDENTIAL_SENSITIVE_KEYS = [
6194
+ "authorization",
6195
+ "cookie",
6196
+ "token",
6197
+ "access_token",
6198
+ "accesstoken",
6199
+ "auth_token",
6200
+ "authtoken",
6201
+ "refresh_token",
6202
+ "refreshtoken",
6203
+ "id_token",
6204
+ "idtoken",
6205
+ "bearer_token",
6206
+ "bearertoken",
6207
+ "api_token",
6208
+ "apitoken",
6209
+ "apikey",
6210
+ "api_key",
6211
+ "password",
6212
+ "secret",
6213
+ "email"
6214
+ ];
6215
+ function isTokenCredentialKey(normalized) {
6216
+ if (NON_CREDENTIAL_TOKEN_CONFIG_KEYS.has(normalized)) return false;
6217
+ if (normalized === "token") return true;
6218
+ if (normalized.endsWith("tokens")) return false;
6219
+ return normalized.endsWith("token");
6220
+ }
6221
+ function isCredentialSensitiveKey(key, sensitiveKeys = DEFAULT_CREDENTIAL_SENSITIVE_KEYS) {
6222
+ if (!key) return false;
6223
+ const normalized = normalizeSensitiveKey(key);
6224
+ if (!normalized) return false;
6225
+ if (NON_CREDENTIAL_TOKEN_CONFIG_KEYS.has(normalized)) return false;
6226
+ for (const sensitive of sensitiveKeys) {
6227
+ const s = normalizeSensitiveKey(sensitive);
6228
+ if (!s) continue;
6229
+ if (s === "token") {
6230
+ if (isTokenCredentialKey(normalized)) return true;
6231
+ continue;
6232
+ }
6233
+ if (normalized === s) return true;
6234
+ if (normalized.endsWith(`_${s}`) || normalized.startsWith(`${s}_`)) return true;
6235
+ }
6236
+ return false;
6237
+ }
6238
+
6138
6239
  // packages/core/src/checks/index.ts
6139
6240
  var SEVERITY_RANK = {
6140
6241
  error: 0,
@@ -6152,16 +6253,7 @@ var CONFIDENCE_RANK = {
6152
6253
  correlated: 2,
6153
6254
  explicit: 3
6154
6255
  };
6155
- var DEFAULT_SENSITIVE_KEYS = [
6156
- "authorization",
6157
- "cookie",
6158
- "token",
6159
- "apikey",
6160
- "api_key",
6161
- "password",
6162
- "secret",
6163
- "email"
6164
- ];
6256
+ var DEFAULT_SENSITIVE_KEYS = DEFAULT_CREDENTIAL_SENSITIVE_KEYS;
6165
6257
  var DEFAULT_RAW_CONTENT_KEYS = [
6166
6258
  "body",
6167
6259
  "headers",
@@ -6583,9 +6675,7 @@ function hasRedactionMarker(value, markers) {
6583
6675
  return markers.some((marker) => value.includes(marker)) || /^\[HASH:[A-Za-z0-9_-]+\]$/.test(value);
6584
6676
  }
6585
6677
  function isSensitiveKey(key, sensitiveKeys) {
6586
- if (!key) return false;
6587
- const normalized = normalizedKey(key);
6588
- return sensitiveKeys.some((sensitive) => normalized.includes(normalizedKey(sensitive)));
6678
+ return isCredentialSensitiveKey(key, sensitiveKeys);
6589
6679
  }
6590
6680
  function isRawContentKey(key, forbiddenKeys) {
6591
6681
  if (!key) return false;
@@ -6908,7 +6998,7 @@ function createToolUsageRule(options) {
6908
6998
  }
6909
6999
  }
6910
7000
  const forbidden = new Set(options.forbidden ?? []);
6911
- const allowed = options.allowed ? new Set(options.allowed) : void 0;
7001
+ const allowed = options.allowed?.length ? new Set(options.allowed) : void 0;
6912
7002
  for (const event of tools) {
6913
7003
  const name = toolName(event);
6914
7004
  if (forbidden.has(name)) {
@@ -6944,9 +7034,9 @@ function createLlmUsageRule(options) {
6944
7034
  evaluate(context) {
6945
7035
  const llms = finishedEvents(context, "LLM");
6946
7036
  const findings = [];
6947
- const allowedModels = options.allowedModels ? new Set(options.allowedModels) : void 0;
6948
- const allowedProviders = options.allowedProviders ? new Set(options.allowedProviders) : void 0;
6949
- const finishReasons = options.finishReasons ? new Set(options.finishReasons) : void 0;
7037
+ const allowedModels = options.allowedModels?.length ? new Set(options.allowedModels) : void 0;
7038
+ const allowedProviders = options.allowedProviders?.length ? new Set(options.allowedProviders) : void 0;
7039
+ const finishReasons = options.finishReasons?.length ? new Set(options.finishReasons) : void 0;
6950
7040
  if (options.maxCalls !== void 0 && llms.length > options.maxCalls) {
6951
7041
  findings.push(
6952
7042
  failFinding(
@@ -7895,6 +7985,20 @@ function traceEventsToPersistedInspectEvents(events, options) {
7895
7985
  function inc(map, key) {
7896
7986
  map[key] = (map[key] ?? 0) + 1;
7897
7987
  }
7988
+ function confidenceRank(confidence) {
7989
+ switch (confidence) {
7990
+ case "unknown":
7991
+ return 0;
7992
+ case "heuristic":
7993
+ return 1;
7994
+ case "correlated":
7995
+ return 2;
7996
+ case "explicit":
7997
+ return 3;
7998
+ default:
7999
+ return 0;
8000
+ }
8001
+ }
7898
8002
  function computeRunStatus(events) {
7899
8003
  let runTerminal;
7900
8004
  let sawRunEvent = false;
@@ -7915,6 +8019,84 @@ function computeRunStatus(events) {
7915
8019
  }
7916
8020
  return hasRunning ? "running" : "ok";
7917
8021
  }
8022
+ function linkNodesVisibilityFirst(nodes) {
8023
+ let selfParentCount = 0;
8024
+ let unresolvedParentCount = 0;
8025
+ let normalizedEdgeCount = 0;
8026
+ let cycleCount = 0;
8027
+ const pending = [];
8028
+ for (const node of nodes.values()) {
8029
+ const parentId = node.event.parentId;
8030
+ if (!parentId) continue;
8031
+ if (parentId === node.event.eventId) {
8032
+ selfParentCount += 1;
8033
+ normalizedEdgeCount += 1;
8034
+ continue;
8035
+ }
8036
+ if (!nodes.has(parentId)) {
8037
+ unresolvedParentCount += 1;
8038
+ continue;
8039
+ }
8040
+ pending.push({
8041
+ childId: node.event.eventId,
8042
+ parentId,
8043
+ childTimestamp: node.event.timestamp,
8044
+ childConfidence: node.event.confidence
8045
+ });
8046
+ }
8047
+ pending.sort((a, b) => {
8048
+ const conf = confidenceRank(b.childConfidence) - confidenceRank(a.childConfidence);
8049
+ if (conf !== 0) return conf;
8050
+ return a.childTimestamp - b.childTimestamp;
8051
+ });
8052
+ const parentOf = /* @__PURE__ */ new Map();
8053
+ for (const edge of pending) {
8054
+ parentOf.set(edge.childId, edge.parentId);
8055
+ let cursor = edge.parentId;
8056
+ const seen = /* @__PURE__ */ new Set([edge.childId]);
8057
+ let cyclic = false;
8058
+ while (cursor) {
8059
+ if (seen.has(cursor)) {
8060
+ cyclic = true;
8061
+ break;
8062
+ }
8063
+ seen.add(cursor);
8064
+ cursor = parentOf.get(cursor);
8065
+ }
8066
+ if (cyclic) {
8067
+ parentOf.delete(edge.childId);
8068
+ cycleCount += 1;
8069
+ normalizedEdgeCount += 1;
8070
+ }
8071
+ }
8072
+ for (const [childId, parentId] of parentOf) {
8073
+ nodes.get(parentId).children.push(nodes.get(childId));
8074
+ }
8075
+ const roots = [];
8076
+ for (const node of nodes.values()) {
8077
+ if (!parentOf.has(node.event.eventId)) {
8078
+ roots.push(node);
8079
+ }
8080
+ }
8081
+ const assignDepth = (n, depth, stack) => {
8082
+ if (stack.has(n.event.eventId)) return;
8083
+ n.depth = depth;
8084
+ stack.add(n.event.eventId);
8085
+ for (const c of n.children) assignDepth(c, depth + 1, stack);
8086
+ stack.delete(n.event.eventId);
8087
+ };
8088
+ for (const r of roots) assignDepth(r, 0, /* @__PURE__ */ new Set());
8089
+ return {
8090
+ roots,
8091
+ summary: {
8092
+ rootCount: roots.length,
8093
+ selfParentCount,
8094
+ cycleCount,
8095
+ unresolvedParentCount,
8096
+ normalizedEdgeCount
8097
+ }
8098
+ };
8099
+ }
7918
8100
  var TreeBuilder = class {
7919
8101
  constructor(options) {
7920
8102
  void options?.config;
@@ -7932,20 +8114,7 @@ var TreeBuilder = class {
7932
8114
  for (const e of sorted) {
7933
8115
  nodes.set(e.eventId, { event: e, children: [], depth: 0 });
7934
8116
  }
7935
- const roots = [];
7936
- for (const node of nodes.values()) {
7937
- const parentId = node.event.parentId;
7938
- if (parentId && nodes.has(parentId)) {
7939
- nodes.get(parentId).children.push(node);
7940
- } else {
7941
- roots.push(node);
7942
- }
7943
- }
7944
- const assignDepth = (n, depth) => {
7945
- n.depth = depth;
7946
- for (const c of n.children) assignDepth(c, depth + 1);
7947
- };
7948
- for (const r of roots) assignDepth(r, 0);
8117
+ const { roots, summary } = linkNodesVisibilityFirst(nodes);
7949
8118
  const confidenceBreakdown = {
7950
8119
  explicit: 0,
7951
8120
  correlated: 0,
@@ -7973,7 +8142,8 @@ var TreeBuilder = class {
7973
8142
  metadata: {
7974
8143
  totalEvents: sorted.length,
7975
8144
  confidenceBreakdown,
7976
- kinds
8145
+ kinds,
8146
+ relationshipSummary: summary
7977
8147
  }
7978
8148
  });
7979
8149
  }
@@ -11045,6 +11215,6 @@ function renderGateReport(result, options = {}) {
11045
11215
  return renderGateSummaryMarkdown(result);
11046
11216
  }
11047
11217
 
11048
- export { COHORT_METRIC_IDS, DEFAULT_SUITE_ARTIFACTS_DIR, EVIDENCE_FORMAT_VERSION, EVIDENCE_HTML_FILENAME, EVIDENCE_MANIFEST_FILENAME, Redactor, TraceDirectory, TraceReadError, TreeBuilder, aggregateBundleSafeStatus, aggregateSessionCheckResults, analyzeCohort, applyProfileMetadataCaps, assertBundlePathContained, assertEvidenceRelativePath, buildActivitySummary, buildBundleMetadata, buildBundleSummaryMarkdown, buildEvidenceCausalFailureViewHtml, buildEvidenceCiPackage, buildEvidenceCircuitViewHtml, buildEvidenceContractsViewHtml, buildEvidenceDiffViewHtml, buildEvidenceHtmlShell, buildEvidenceManifest, buildEvidenceOutcomesViewHtml, buildEvidenceProvenanceViewHtml, buildEvidenceSafetyViewHtml, buildEvidenceTimelineViewHtml, buildEvidenceToolsLlmViewHtml, buildEvidenceTreeViewHtml, buildLocalExplanation, buildPlaceholderArtifact, buildRunSummary, buildRunTimeline, buildRunWhatSummary, buildSessionIndex, buildTraceStats, buildZipArchive, bundleFailsOnSafety, bundleRunAssetRelativePath, collectTraceSchemaVersions, compactAttributes, createBaselineRegressionRule, createLlmUsageRule, createMaxStepDurationRule, createObservedOutcomeRule, createRequireCompletedRule, createRunDepthRule, createRunDurationRule, createRunStatusRule, createSafetyOversizedAttributeRule, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createStallDetectionRule, createStructureCycleRule, createStructureOrphanRule, createStructureParallelWidthRule, createStructureRelationshipRule, createToolUsageRule, defaultBundleOutputPath, defaultSuiteConfigTemplate, diffRuns, diffTraceEvents, enrichSessionRunRecord, escapeHtml, escapeMarkdown, extractMetadata, extractOutcomesFromTraceEvents, filterMetasBySessionScope, filterTraces, flattenTree, formatDuration2 as formatDuration, formatTimestamp, gateHasThresholds, getIndent, getTraceFilePath, inferEvidenceFileRole, isAgentInspectTrace, isPersistedInspectEvent, loadSessionRunRecords, loadSuiteConfig, loadTraceMetadataList, manualTraceEventsToComparableRun, nanoid, normalizeBundleOutputPath, openTrace, parseCohortMetricList, parseDuration, parseDurationFilter, parseGateList, parseTraceJsonl, persistedInspectEventsToTraceEvents, renderActivitySummaryHuman, renderCohortReport, renderErrorLine, renderGateReport, renderObservedOutcomesHtml, renderObservedOutcomesMarkdown, renderRunDiff, renderRunWhat, renderStepLine, renderSuiteReport, renderTimeline, renderTraceStats, resolveBundleRunIds, resolveRedactionProfile, resolveSuiteTemplate, resolveTraceDir, runGate, runSuite, runTraceChecks, safeString, sanitizeBundleRunId, searchTraces, serializeEvidenceManifest, sha256Hex, stableJson, summarizeObservedOutcomes, summarizeSemanticParity, traceEventToPersistedInspectEvent, truncateName, truncateStringForProfile, validateEvent, validateSuiteConfig, verifyEvidenceDirectory, zeroKinds };
11049
- //# sourceMappingURL=chunk-MEO2Z3KE.mjs.map
11050
- //# sourceMappingURL=chunk-MEO2Z3KE.mjs.map
11218
+ export { COHORT_METRIC_IDS, DEFAULT_SUITE_ARTIFACTS_DIR, EVIDENCE_FORMAT_VERSION, EVIDENCE_HTML_FILENAME, EVIDENCE_MANIFEST_FILENAME, Redactor, TraceDirectory, TraceReadError, TreeBuilder, aggregateBundleSafeStatus, aggregateSessionCheckResults, analyzeCohort, applyProfileMetadataCaps, assertBundlePathContained, assertEvidenceRelativePath, buildActivitySummary, buildBundleMetadata, buildBundleSummaryMarkdown, buildEvidenceCausalFailureViewHtml, buildEvidenceCiPackage, buildEvidenceCircuitViewHtml, buildEvidenceContractsViewHtml, buildEvidenceDiffViewHtml, buildEvidenceHtmlShell, buildEvidenceManifest, buildEvidenceOutcomesViewHtml, buildEvidenceProvenanceViewHtml, buildEvidenceSafetyViewHtml, buildEvidenceTimelineViewHtml, buildEvidenceToolsLlmViewHtml, buildEvidenceTreeViewHtml, buildLocalExplanation, buildPlaceholderArtifact, buildRunSummary, buildRunTimeline, buildRunWhatSummary, buildSessionIndex, buildTraceStats, buildZipArchive, bundleFailsOnSafety, bundleRunAssetRelativePath, collectTraceSchemaVersions, compactAttributes, createBaselineRegressionRule, createLlmUsageRule, createMaxStepDurationRule, createObservedOutcomeRule, createRequireCompletedRule, createRunDepthRule, createRunDurationRule, createRunStatusRule, createSafetyOversizedAttributeRule, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createStallDetectionRule, createStructureCycleRule, createStructureOrphanRule, createStructureParallelWidthRule, createStructureRelationshipRule, createToolUsageRule, defaultBundleOutputPath, defaultSuiteConfigTemplate, diffRuns, diffTraceEvents, enrichSessionRunRecord, escapeHtml, escapeMarkdown, extractMetadata, extractOutcomesFromTraceEvents, filterMetasBySessionScope, filterTraces, flattenTree, formatDuration2 as formatDuration, formatStepLabel, formatTimestamp, gateHasThresholds, getIndent, getTraceFilePath, inferEvidenceFileRole, isAgentInspectTrace, isPersistedInspectEvent, loadSessionRunRecords, loadSuiteConfig, loadTraceMetadataList, manualTraceEventsToComparableRun, nanoid, normalizeBundleOutputPath, openTrace, parseCohortMetricList, parseDuration, parseDurationFilter, parseGateList, parseTraceJsonl, persistedInspectEventsToTraceEvents, renderActivitySummaryHuman, renderCohortReport, renderErrorLine, renderGateReport, renderObservedOutcomesHtml, renderObservedOutcomesMarkdown, renderRunDiff, renderRunWhat, renderStepLine, renderSuiteReport, renderTimeline, renderTraceStats, resolveBundleRunIds, resolveRedactionProfile, resolveSuiteTemplate, resolveTraceDir, runGate, runSuite, runTraceChecks, safeString, sanitizeBundleRunId, searchTraces, serializeEvidenceManifest, sha256Hex, stableJson, summarizeObservedOutcomes, summarizeSemanticParity, traceEventToPersistedInspectEvent, truncateName, truncateStringForProfile, validateEvent, validateSuiteConfig, verifyEvidenceDirectory, zeroKinds };
11219
+ //# sourceMappingURL=chunk-AACUXCHT.mjs.map
11220
+ //# sourceMappingURL=chunk-AACUXCHT.mjs.map